تبليغاتX
دانشجویان فناوری اطلاعات تهران جنوب
تشکر نامه
اين يک تشکر - البته نه چندان خشک و خالي - از استاد وحدت است . لطفاً سعي نکنيد - به زور هم که شده - کوچکترين انتقاد و خداي نکرده بي احترامي از آن بيرون بکشيد . براي يک بار هم که شده ، نوشته ي حقير را صاف و ساده بخوانيد . لطفاً !

"استاد" - "دانشجو" - "کلاس" - "احترام متقابل"

من امروز از حرکت غيرمنتظره و استادانه ي استاد وحدت ، از خود بي خود شده ، سر در گريبان برده و از دانشگاه فراري شدم . چه ، پياله ي ذهنم گنجايش درسي که امروز گرفتم را نداشت و سرريز شد . تا من باشم ديگر در دکّان پياله فروش ، خسّت به خرج ندهم .
زين پس مرا در صف قيام کنندگان در برابر استاد خواهيد ديد . متشکرم استاد !


ًٌٍُُُِِّْ
2 نوشته شده در  پنجشنبه سوم آبان 1386ساعت 19:27  توسط سروش شریف  | 

[عنوان ندارد]

ما :

تنها سکوت را مي شکنيم . مي گوييم ، هر چه باشد ، به اميد فرسودن آوايي ، فرسودن سري ، يا بي اميد ، بي دليل . اما پايان خواهد يافت ، يا نفس بند خواهد آمد که چه بهتر ، سکوت خواهد شد . آيا سکوتي هست ؟  نه نه ، در سکوت نمي شود دانست ، هيج وقت نخواهيم دانست . اما حداقلش بيرون رفتن از اينجا که هست ، نيست ؟ نمي دانيم .

آيا بايد ناتواني هايمان را ارج بگذاريم ؟  يا پنهان کنيم ؟ توانايي هايمان را چه ؟
بيان مي کنيم ...
 تمامش خالي ، تمامش وسوسه انگيز است .

هميشه بعد از گفتن ، نوبت شنيدن است . قائده ي گفتگو هم همين است . ما تنها سکوت را مي شکنيم ، بي هيچ مکثي براي تفکر ...

 

من :

اشتباهم اين است که سعي مي کنم فکر کنم ، يکي از اشتباهاتم . اين طور که هستم بعيد است بتوانم ، حتي به همين منوال . اگر اين طور است کاش باز هم باز شوند و مرا ببلعند ، اين کلمه هاي کوچک . ولي آرام تر حرف مي زنم ، هر سال کمي آرام تر . شايد . کند تر هم ، هر سال کمي کندتر . شايد . اما نه از روي تعقل ، از تنگي نفس .


تو :

تو نمي خواهي بشنوي . تو نمي خواهي فکر کني . تو امّا مي داني . تو حداقل مي تواني سبيلت را تاب بدهي . "تو" يک دشنام است ؟!

2 نوشته شده در  یکشنبه یکم مهر 1386ساعت 16:50  توسط سروش شریف  | 

متن هایی برای هیچ

درخت عرعر دانشگاه ما

 

 

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

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

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

خاطره ای دور ، دور از خاطرات آخرین ، ممکن است ، پاها انگار هنوز کار می کنند . حیف که امید مرده است . نه . چطور آن بالا آدم امید داشت ، هر از چند گاهی . چه امیدهای رنگ به رنگی .

دست بردار ، می خواستم بگویم از همۀ این ها دست بردار . راهش همین است . نمی دانم ، من اینجایم ، همین را می دانم و بس ، و اینکه این هنوز من نیستم ، همین است و باید آن را ساخت . هیج جا نه تنی هست ، نه راهی برای مردن .

 

 

2 نوشته شده در  سه شنبه چهارم مهر 1385ساعت 15:52  توسط سروش شریف  | 

سرشار از ناکامی

سرشار از ناکامی *

 

از بخت بد ماست که باید اولین دوره ی IT تهران جنوب باشیم . موقعیتی که ابتدا ، آن را یک فرصت می پنداشتیم ، هر روز گریبانمان را بیشتر می فشارد . به اواخر ترم رسیده ایم اما هنوز تلفن گروهمان را وصل نکرده اند ! وارد این بحث تکراری نشویم بهترست ... کافیست سری به رئیس گروه بزنید و حالش را بپرسید !

... سر ها در گریبان است
 کسی سر بر نیارد کرد پاسخ گفتن و دیدار یاران را .
نگه جز پیش پا را دید نتواند...

ترم اول در سردرگمی کامل سپری شد . نه از فناوری اطلاعات چیزی فهمیدیم و نه خواستیم مثل نرم افزاری ها باشیم . شاید همان " فناوری و اطلاعات " باشیم ** !
برای جبران ضعف ناشی از "بد درس دادن" (!) مبانی ، دانشجوی دکترای کامپیوتر و البته مدیر گروه واحد کرج را برایمان آوردند . جلسه ی اول در خاطر همه ی ما هست ؛ ترازهای بالای بچه ها چه وسوسه های قشنگی را در سر استاد سرشار مان پروراند . " از برق نگاهتون می خونم که باهوشید ! " php / C++ / Java   ... واقعآ قشنگ بود .  
اما هر جلسه که می گذشت ، به تعداد چرت زنان افزوده می شد . کار به آنجا رسید که استاد علنآ گفت : " حیف وقتی که من برای شما صرف می کنم ! " مشکل از کجاست ؟ از آزمون دانشگاه آزاد اسلامی است که تراز بالا در آن ، هیچ معنا و مفهومی ندارد ؟ از مسئولین - البته محترم - دانشگاه است که با گروه همکاری نمی کنند هیچ ، چوب هم لای چرخش می گزارند ؟ یا از رئیس گروه نجیبمان است که توان مقابله با این جو و مشکلات را ندارد ؟ یا از استاد است که نمی داند چگونه دانشجویان را سر شوق بیاورد ، بیاموزد و دانشجو پرورد ؟ شاید هم از ماست که فقط ادعا داریم ؛ هیچ نمی دانیم و تلاش هم نمی کنیم بدانیم...
متأسفم ... آینده از آن ما نیست...

...که سپهر ما مرده یا زنده ، به تابوت ستبرِ ظلمت نُه توی مرگ اندود ، پنهان است.

 

 

* در زبان فارسی سوم دبیرستان خواندیم که این عبارت غلط است!
** به پرینت خود مراجعه فرمائید .

2 نوشته شده در  سه شنبه دوم خرداد 1385ساعت 20:56  توسط سروش شریف  | 

(3-OOP) سطوح دسترسی

Access Modifiers :

 

ما می تونیم با اضافه کردن Modifier ها به ابتدای تعریف یک Class یا Member ، نوع دسترسی به اون رو تعیین کنیم ، انواع Modifier ها در C# عبارتند از :

 

1Public : به نهادهای خارج از namespace اجازه می دهد که به member های Class دسترسی پیدا کنند.

2 – Private : Method ها و متغیرها فقط در داخل همان Class در دسترس هستند.

3 – Protected : Code رو فقط در همان Class و Subclass هایی که ازش مشتق شده اند قابل دیدن می کند.

4 – Internal : قابل دسترسی برای فایل های اسمبلی

5 – Protected Internal : قابل دسترسی برای فایل های اسمبلی و SubClass های کلاس

 

Instantiating Classes :

 

راحت ترین راه برای فهمیدن اینکه چجوری Class را در کدمان استفاده کنیم ، اینه که Class رو به عنوان نوع جدیدی از متغیرها تصور کنیم. ما قبلا با Variable Type های از پیش تعیین شده (int/float/...) کار کردیم. با تعریف کردن کلاس Authenticator ، در واقع ما به Compiler گفته ایم که یه Type جدید از متغیرها داریم ، به نام Authenticator . عبارت تعریفی Class ، همه ی چیزهایی که Compiler باید بدونه تا این Variable Type رو تجزیه و تحلیل کنه رو شامل می شه . ( همانطوری که می دونه Double از اعداد اعشاری در فرمت خاصی تشکیل شده ) در اینجا ما به Compiler گفتیم که متغیر Authenticator شامل String می شه و به ما اجازه بده تا Method های IsPasswordCorrect و ChangePassword رو فراخوانی کنیم.

ساختن متغیر (یک object) توسط کاربر رو Instantiating می گن . چون در واقع ما یک object instance ساخته ایم. Instance ، یک نمود ساده و خاص object است . بنابراین ما می تونیم Authenticator object رو درست مثل یک متغیر استفاده کنیم . مثال زیر رو ببینین :

 

  

کلاس MainEntryPoint مثل کلاس Authenticator می تونه member های خودش رو داشته باشه (Fieldها Method ها و ....) ما این رو واسه این انتخاب کردیم که متد Main رو در داخلش قرار بدیم ، اینجوری کلاس Authenticator می تونه سرجای خودش بشینه و در برنامه ی دیگه ای هم جداگانه استفاده بشه ( با Copy-Paste کردن!)

Syntax C# لازم دونسته که حتما یه Main Class داشته باشیم.

 

                                    Authenticator myAccess = new Authenticator();

 

حالا ما یک object Authenticator جدید درست کردیم . ( نگران new ="  " نباشین چون مربوط به Syntax  است! ) اینجوری هم می شه نوشت :

 

                                                Authenticator myAccess;

 

( البته به این شکل object ای درست نمی شه و فقط یک Reference به اون object ایجاد می شه )

برای فراخوانی یک Method خاص از یک object از (.) استفاده می کنیم :

 

                             done = myAccess.ChangePassword(“”, “MyNewPassword”);

 

حالا ما متد ChangePassword رو در object myAccess فراخوانی کردیم و خروجی رو داخل متغیر بولی done ریختیم . حواستون باشه که این غلطه و Compile Error می ده :

 

                                   string myAccessPassword = myAccess.password;

 

Password field ، Private بوده بنابراین Code های بیرون Authenticator بهش دسترسی ندارن . اگر Public اش می کردیم ، اون وقت کار می کرد و خروجی Password می رفت تو متغیری از جنس String .

یادتون باشه که اگه از بیرون کلاس به member هاش دسترسی دارین ، می تونین مستقیما واردش کنین.

 

فهمیدین ؟ تا اینجا ما در کدمان هیچ چیز جدیدی ارائه ندادیم و فقط خواستیم قوانین کوچکی از Class ها رو بگیم . در قسمت بعد از Using Static member ها خواهیم گفت .

 

2 نوشته شده در  شنبه دوم اردیبهشت 1385ساعت 11:28  توسط سروش شریف  | 

(1-OOP) اصول Object Oriented Programming

 

از این پس سلسله مباحث آموزشی "از دانشجو به دانشجو" خواهیم داشت !!! هرکس چیزی بلده می تونه بیاد به بقیه هم یاد بده !


 

اصول Object Oriented Programming :

 

معمولا وقتی می خواهیم زبان جدیدی یاد بگیریم ، عمده ی وقتمان صرف یادگیری Syntax آن زبان می شود ؛ چه جوری متغیر تعریف کنیم ، چجوری روند اجرایی برنامه رو کنترل کنیم و ... با این وجود ، برای نوشتن یک Code خوب ، باید اصول و متدولوژی آن زبان را بلد باشیم. در برنامه هایی که از OOP استفاده می کنند ( مثل C# و ... ) ، باید بلد باشیم از ویژگی های OOP استفاده کنیم .

در OOP ما می خواهیم به راحتی تکه برنامه هایی قابل نگهداری و استفاده مجدد بنویسیم که می توانند مجموعا کارهای بسیار پیچیده ای را انجام دهند، با این وجود ساختار کلی یک برنامه ی Object Oriented با معادل عادی آن (Procedural Programming ) تفاوت بسیار دارد.

در اینجا به توضیح ماهیت Object خواهیم پرداخت و سپس از Inheritance (وراثت) خواهیم گفت که در واقع قلب OOP است. OOP متد بسیار قدرتمندیه . باهاش آشنا که بشید ، از خودتون می پرسید چجوری قبلا بدون اون Code می نوشتید ؟!

 

Object چیست ؟

در زندگی روزمره هرچیزی که به عنوان یک قطعه مادی شناخته می شود ، یک Object است. یک Object می تواند یک ماشین باشد، یک خونه، یک مداد یا یک تراول چک ! ما این مفهوم رو گسترش می دیم ؛ DataBase ، کامپیوتر و حتی شهر هم Object هستند ! این جوری فکر کردن نه تنها این توانایی را به ما می ده که دنیای واقعی را مدل سازی کنیم ، بلکه به وسیله ی اون ما می توانیم برنامه های بزرگ را به تکه های کوچک قابل مدیریت تجزیه کنیم .

ایده ی اصلی این نگرش از جعبه ی سیاه اومده ؛ در زندگی Object های زیادی هستند که شما از آنها استفاده می کنید ، اما مکانیزمشان را نمی دونید ؛ مثل رادیوی ماشین ، اکثر مردم نمی دونن که رادیوی ماشین چجوری کار می کنه اما می دونن چه کاری می کنه و چجوری ازش استفاده کنن ، از این گذشته می تونن اون رو کامل در بیارن و یکی یکی سر جاش بذارن . جعبه ی سیاه می گه : "بین کاری که چیزی انجام می ده و چجوری انجام می ده تفاوت هست ! " درضمن دوتا Object می تونن کار یکسانی رو به شکلهای مختلف انجام بدن.

طبعا جایگزینی یک Object با Object دیگه، اثراتی هم داره . رادیوهای ماشین شاید دکمه ها و Switch های مختلفی داشته باشن ، صداها را با کیفیت های مختلفی پخش کنن ، اما عملکرد اصلیشون یکیه . نکته ی مهم دیگر اینه که "رابط کاربر" همچنان بدون تغییره ( شما رادیوی ماشین را مثل بقیه ی وسایل برقی ماشین به برق وصل می کنید .)

اگر چیزهایی که تا الان گفتم رو فهمیده باشین ، کلیات OOP رو متوجه شده اید ، چون OOP اجرای این مفهوم ها در برنامه نویسی است ؛ شکستن هر برنامه به چندین تکه و طراحی کردن هر تکه برای اجرای بخش خاصی در برنامه ، به این می گن Object !

اگر به اینجوری برنامه نوشتن فکر کنید متوجه فواید بسیار آن خواهید شد ؛ معماری برنامه ها ملموس تر و قابل فهم تر خواهد شد. برنامه نوشتن آسان تر خواهد شد ، تیم های برنامه نویسی راحت تر کار می کنند ؛ هر کدوم از برنامه نویس ها روی یک Object کار می کنن . همه ی آنچه باید بدونن اینه که هر Object چه کاری رو انجام می ده و چجوری می شه بهش دسترسی پیدا کرد.

 

در قسمت بعدی در مورد" Object در برنامه نویسی" حرف خواهیم زد .

2 نوشته شده در  جمعه نوزدهم اسفند 1384ساعت 22:27  توسط سروش شریف  |