ایمان ریحانیان

دست خط یک برنامه نویس

ایمان ریحانیان

دست خط یک برنامه نویس

ایمان ریحانیان

زکات علم یاد دادن آن به دیگران است، کمک کنیم که علم گسترش یابد.

طبقه بندی موضوعی

۵ مطلب در شهریور ۱۳۹۱ ثبت شده است

سلام

 

بالاخره امروز بعد از چندین روز کار سخت تونستم مطلبی بنویسم، مطلب امروز مربوط به یک عکس بسیار زیبا که اصطلاحا به آن Infographic (داده نمایی) میگویند مربوط میشه، حتما تا الان با سیستم های مختلفی کار کرده ایم و هرکس تجربه خاصی در این زمینه داره بعضی ها ویندوز را بهترین سیستم عامل از لحاظ تعامل با کاربر میدانند و بعضی ها لینوکس را از لحاظ کارایی و قدرت سیستم عامل بهتری میدانند ولی تعامل کاربری آنرا پایین تر میدانند و  کسانی که Mac کار کرده اند تجربه متفاوت تری دارند و Mac را هم از لحاظ زیبایی و تعامل با کاربر و هم از لحاظ قدرت از سیستم عامل های دیگر بالاتر میدانند.

سیستم عامل لینوکس روزبروز در حال توسعه و پیشرفت است که در انواع نسخه های مختلف توزیع میشود و میتوان یکی از دلایل آنرا متن باز بودن آن دانست و اینکه از سراسر دنیا برنامه نویسان مختلفی آنرا توسعه میدهند و  تعداد برنامه ها و نرم افزار هایی که تحت سیستم عامل لینوکس وجود دارد بیشمار میباشد.

به نظر من سیستم عامل لینوکس نسبت به گذشته بسیار تغییر کرده است و بسیاری از حرف هایی که شنیده میشود مربوط به باورهای اشتباهی است که وجود دارد و به نظرم ارزش یکبار امتحان کردن و لذت بردن از این سیستم عامل محبوب را دارد.

 

۰ موافقین ۰ مخالفین ۰ ۲۸ شهریور ۹۱ ، ۱۸:۳۸
ایمان ریحانیان

سلام

 

شاید بروز بودن و به قول برنامه نویس ها Update بودن اطلاعات دغدغه مهم برای تمام رشته ها و  برنامه نویس ها باشد تا حدی که میتوان این دغدغه را قسمت مهمی از تخصص یک برنامه نویس دانست، همچنین با رشد لحظه ای دانش مخصوصا در زمینه تکنولوژی و برنامه نویسی این امر بسیار حیاتی و سخت تر میشود، یعنی به همان اندازه که اطلاعات قبلی مورد استفاده قرار میگیرد باید اطلاعات جدید را آموخت و هر روز نسبت به اطلاعات جدید آموخته شده تصمیم گرفت، روشهای مختلفی برای بروزرسانی کردن اطلاعات وجود دارد، مثل انجمن های مرتبط، تالارهای گفتگو، وبلاگ ها، پادکست ها و ...

مدتی است که چندین پادکست مناسب برای جاوا را دنبال میکنم که به نظرم پادکست های خوبی هستند، که آنها را در این پست قرار میدهم، امیدوارم که مطلب مفید واقع شود.

 

The Java Posse

 

 

The Java Spotlight Podcast

 

 

Java Pub House

 

 

Sun Developer Network

 

 

IBM Developer Works

 

 

InformIT

۱ موافقین ۱ مخالفین ۰ ۲۵ شهریور ۹۱ ، ۱۵:۱۵
ایمان ریحانیان

سلام

 

در این پست میخواهم در مورد دو نوع مولفه (Component) در Swing که در برای ساخت برنامه های گرافیکی تحت سیستم عامل در جاوا استفاده میشود بنویسم،

در Swing جاوا دو نوع مولفه وجود دارد : مولفه های سنگین وزن (Heavyweight Component) و مولفه های سبک وزن (Lightweight Component)، مولفه های سنگین وزن قبل از معرفی swing برای ساخت برنامه های گرافیکی دسکتاپی استفاده میشد و Swing مخلوطی از مولفه های سنگین وزن و سبک وزن میباشد.
مولفه های سنگین وزن (Heavyweight Component) : مولفه های گرافیکی هستند مانند JFrame،JDialog و JWindow که از مولفه های گرافیکی سیستم برای نمایش استفاده میکند و وابسته به سیستم عامل مورد استفاده است پس در سیستم عامل های مختلف شکل ظاهری نمایش آنها متفاوت است و تمام مولفه های AWT سنگین وزن میباشند.
مولفه های سبک وزن (Lightweight Component) : این گروه از مولفه ها آنهایی هستند که از کتابخانه های سیستم عامل برای ساخت و نمایش کامپوننت های گرافیکی استفاده نمیکنند. و مستقیما از Java2D برای نمایش اشکار گرافیکی استفاده میکنند به همین دلیل شکل ظاهری آنها مستقل از سیستم عامل میباشد و به نسبت کارایی بیشتری دارند مثلا میتوان آنها را با هم ترکیب کرد و ظاهر آنها را تغییر داد و تنظیمات مختلفی را به آنها اعمال کرد، از جمله این مولفه ها میتوان به مولفه های Swing به غیر از چند مورد که در بالا اشاره شد، اشاره کرد.

۰ موافقین ۰ مخالفین ۰ ۲۳ شهریور ۹۱ ، ۱۰:۲۲
ایمان ریحانیان

بعد از خواندن از یک فایل متنی به وسیله جاوا میتوان همان برنامه را با اندکی تغییر به برنامه ای برای نوشتن متن در یک فایل تبدیل کرد، که شبه برنامه زیر این کار را انجام میدهد :

 

class FileWriter {
    public static void main(String args[]) {
        try {
            FileOutputStream fstream = new FileOutputStream("textfile.txt");

            DataOutputStream out = new DataOutputStream(fstream);
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(out));
            bw.write("blog.reihanian.com");

            bw.flush();
            out.close();
            fstream.close();
        } catch (Exception e) {
            System.err.println("Error: " + e.getMessage());
        }
    }
}

در خط اول کلاس FileOutputStream اتصالی با فایل متنی مورد نظر بر قرار میکند و چون قرار است داده ای در این فایل نوشته بشود در صورت پیدا نکردن فایل مورد نظر آنرا میسازد و خطا رخ نمیدهد و با استفاده از این کلاس فقط میتوان داده ها را بصورت بایت (byte) ذخیره کرد.
کلاس DataOutputStream داده ها را برای تبدیل از متغییر های اولیه (primitive data type) به متغییر های برای استفاده در انواع output stream مانند FileOutputStream که از ساختار پلتفرم جدا است تبدیل میکند.
با استفاده از کلاس OutputStreamWriter میتوان داده ها از نوع کاراکتری به داده ها از نوع بایت (byte) تبدیل کرد.
در قسمت بعد با استفاده از کلاس BufferedWriter میتوان داده ها در buffer نوشت، که برای نوشتن داده ها از متد write استفاده شده است.
پس از نوشتن متن مورد نظر در buffer میتوان با استفاده از متد flush داده ها را از buffer به فایل منتقل کرد.
پس از آن بترتیب کلاس های DataOutputStream و FileOutputStream را میبندیم تا اتصال ایجاد شده با منبع خارجی از بین برود و داده ها در فایل ذخیره بشوند.
کل مجموعه کد در بلوک try - catch قرار دارد که اگر خطایی رخ داد ، خطا شناسایی شود.

۱ موافقین ۰ مخالفین ۰ ۲۱ شهریور ۹۱ ، ۱۵:۱۱
ایمان ریحانیان

معمولا در برنامه نویسی برای هر کاری چندین راه حل مختلف وجود دارد که در همین مورد هم مطرح است، برای خواندن متن از یک فایل چندین راه حل وجود دارد که من یکی از آنها را اینجا توضیح میدهم.

 

import java.io.*;
class FileRead
{
 public static void main(String args[])
  {
  try{
 
  FileInputStream fstream = new FileInputStream("textfile.txt");
 
  DataInputStream in = new DataInputStream(fstream);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String strLine;
 
  while ((strLine = br.readLine()) != null)   {
 
  System.out.println (strLine);
  }
 
  in.close();
    }catch (Exception e){
  System.err.println("Error: " + e.getMessage());
  }
  }
 

اگر برنامه بالا را اجرا کنید شروع به خواندن از فایلی به نام textfile با پسوند txt میکند، که به توضیح آن میپردازم.
کلاس FileInputStream یکی از کلاس هایی است که با استفاده از آن میتوان به منبعی خارج از برنامه دسترسی پیدا کرد.
کلاس DataInputStream کلاسی است که با استفاده از آن میتوان داده ها را بصورت داده ابتدایی (Primitive Data Type) و بصورت مستقل از ساختار پلتفرم از هر Input Stream مانند FileInputStream خواند.
در خط بعدی کلاس InputStreamReader مانند پلی داده های باتی را به داده هایی از نوع کاراکتر تبدیل میکند.
در خط بعدی کلاس BufferedReader داده های کاراکتری را برای دسترسی بهتر و سریعتر buffer میکند.
و در نهایت با استفاده از حلقه while داده ها را از buffer بصورت خطی میخواند و آنها را در متغییر strLine ذخیره میکند و در console برنامه چاپ میکند.
و در انتها اتصال ایجاد شده به منبع خارجی را میبندد.
کل مجموعه کد در بلوک try - catch قرار دارد که اگر خطایی رخ داد ( مثلا منبع ارجاع داده شده textfile وجود نداشته باشد)، خطا شناسایی شود.
۳ موافقین ۰ مخالفین ۰ ۲۱ شهریور ۹۱ ، ۱۱:۲۷
ایمان ریحانیان