آرشیو March 2008

اوبونتوی من هم رسید

با تعریف های زیاد دوستان از سیستم عامل جدید با نام اوبونتو و همچنین وسوسه های که تیم فارسی اوبونتو برای من ایجاد کرده بود ، تقریبا 30 روز پیش در سایت رسمی اوبونتو ، من سفارش اوبونتو را ثبت کردم.این سفارش شامل 2 عدد سی دی بود. یک نسخه 32 بیتی و یک نسخه 64 بیتی اوبونتو.

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

 ubuntu_01.jpg

این تصویری که می بینید مربوط به پشت بسته پستی است.


ادامه " اوبونتوی من هم رسید " »


طراحی نرم افزار Scoreboard

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

پیشنهاد های زیادی رد و بدل شد. از تعویض سالن گرفته تا لغو مسابقات. ای کاهش هیچ وقت تو این جلسه حرف نزده بودم! این وسط هم من یک پیشنهادی دادم. طراحی نرم افزار Scoreboard توسط خودمون!!! همه یک لحظه سکوت کردن ، بعد یکی سری شروع کردن به رد کردن این راهکار. یکی گفت نمی شه ، یکی دیگه می گفت اصلا حرفش رو نزن ، اون یکی می گفت ما که وقتش رو نداریم. اما من روی این مسئله پافشاری کردم. دبیر انجمن هم که می خواست این مسئله تموم بشه رو به من کرد و گفت : چرا خودت برنامه اون رو طراحی نمی کنی؟ من هم در راستای ضایع کردن مخالفان فرضیه خودم ، بدون فوت وقت پیشنهاد رو قبول کردم.

اول چند گزینه در نوع طراحی سیستم داشتم: تک کاربره ، چند کاربره شبکه ای از نوع سیمی ، چند کاربره از نوع شبکه ای بی سیم. چند انتخاب در باره نرم افزار برنامه نویسی داشتم: Visual Basic , C++ , Delphi و... روش نمایش امتیازات هم 2 حالت بیشتر نداشت: نمایش خروجی مانیتور ، نمایش خروجی گرافیکی برنامه. با وضعیتی که موجود بود و همچنین مدت زمان بسیار کم ، تصمیم گرفتم این نرم افزار رو به صورت تک کاربره و با Microsoft Visula Studio 2005 طراحی کنم. نحوه نشان دادن امتیازات هم به صورت نمایش خروجی مانیتور بود.

بلاخره پس از 2 روز ، کار برنامه نویسی و طراحی گرافیکی ، آزمایش و خطایابی نرم افزار تموم شد. اساس کار این برنامه این طور بود که کاربر در اول هر مسابقه اطلاعات دو تیم را وارد می کنه و بعد از تایید اطلاعات توسط خود کاربر صفحه اصلی Scoreboard به صورت گرافیکی نمایش داده می شه. خروجی کارت گرافیک رو به یک دیتا پروژکتور متصل می کنن تا اطلاعات دو تیم بر روی پرده نمایش داده بشه. تصویری که در زیر مشاهده می کنید مربوط به صفحه اصلی Scorebord است که اینجا به صورت آزمایش نشون دادم.Scoreboard_01.jpg


ادامه " طراحی نرم افزار Scoreboard " »


دغدغه های یک برنامه نویس

يك شب پاي اينترنت نشسته بودم و بدون هدف مشخصي، به انگيزه يافتن يك خبر، مقاله يا سورس كد جالب در سايت‌هاي مختلف پرسه مي‌زدم. گه‌گاه چيز جالبي پيدا مي‌كردم، ولي چون بي‌حوصله بودم، آن صفحه را فقط روي كامپيوتر ذخيره مي‌كردم تا بعد بخوانم. همين‌طور مشغول وبگردي بودم كه به تدريج در افكار خودم غرق شدم. چشمانم به مانيتور بود، ولي ذهنم آنجا نبود. احساس كردم مقداري ناراحت و دلخورم. بعد خوب كه فكر كردم، ديدم علتش اين است كه يك دنيا سورس‌كد، مقاله و منبع مجاني درباره برنامه‌نويسي پيشرفته وجود دارد كه من نمي‌توانم طرفش بروم. چرا؟ چون بعضي از آن ها ساختار پيچيده‌اي دارند و بازخواني و فراگرفتن آن‌ها، وقت زيادي مي‌طلبد كه من ندارم. از طرفي، حتي اگر وقت كافي براي مطالعه و يادگيري اين سورس‌كدهاي پيچيده بگذارم، چگونه مي‌توانم آن‌ها را پايه و اساس پروژه‌هاي بعدي خودم قرار دهم؟

من به تنهايي چگونه مي‌توانم از پس چنين پروژه‌هاي سنگيني برآيم؟ در خيلي از سايت‌ها حرف‌هايي درباره Versioning ،Enterprise Library، متدهاي تست نرم‌افزار، متدولوژي طراحي ديتابيس، مدل سازي نرم‌افزار، مستندسازي كد و از همه مهم‌تر، كار تيمي مطرح شده است. وقتي من حتي يك برنامه‌نويس ديتابيس دم دستم نيست، سخت‌گيري در جداسازي هرچه بيشتر لايه دسترسي به داده‌ها از Business Layer و لايه نمايش در مدل شي‌ء گرايي، چه معنايي دارد؟ به نظرم اين بيشتر نوعي ايده‌آلسيم است. وقتي در نود درصد پروژه‌ها بايد هم تحليلگر سيستم باشم، هم برنامه‌نويس، هم طراح اينترفيس باشم، هم طراح ديتابيس، هم تست كنم، هم اشكال زدايي، و هم دستآخر، شال و كلاه كنم بروم جلوي مغازه مشتري و براي گرفتن چك تسويه حساب پروژه چانه بزنم، اساسا ًOOP چه معنايي دارد؟

آيا شما هم يك برنامه‌نويس تنها هستيد؟ از شما سؤالي دارم. پاسخش را به من نگوييد. به خودتان بگوييد. واقعاً چقدر خودتان را متعهد به رعايت اصولي مي‌دانيد كه فوايدش بيشتر در كار تيمي ظاهر مي‌شود نه كار انفرادي؟ راستش را بگوييد. شما هم كثيف كدنويسي مي‌كنيد؟!


ادامه " دغدغه های یک برنامه نویس " »