نوشته‌های یک برنامه‌نویس

کمی هم به زبان انسان ها متن بنویسم تا برای کامپیوترها به زبان های خودشان!

نوشته‌های یک برنامه‌نویس

کمی هم به زبان انسان ها متن بنویسم تا برای کامپیوترها به زبان های خودشان!

به نام خدا 

شرکت هوایپیمایی ترکیش را شاید همه ما بشناسیم و دلیل شناخت آن وجود پرواز های بسیار زیاد به سمت کشور همسایه ، ترکیه ، می‌باشد. قابل ذکر است که این شرکت هواپیمایی خود بهترین خط هوایی اروپا شناخته شده است و در میان رقبای اروپایی خود همانند KLM , British, Lufthansa , air float و ... بهترین شدن ، مشکلات و پشتکار خاص خود را می طلبد. 

تبلیغ زیر یکی از تیزر های تلویزیونی این شرکت هواپیمایی است ... 

برای دیدن بزرگتر تصویر، بر روی عکس کلیک کنید

برای دانلود کامل زیر اینجا را کلیک کنید.


اما در ظاهر این تبلیع کوچک 1 دقیقه‌ای ویدئویی که احتمال میدهم در هواپیمای ایرباس A340 یا A330 در کلاس بیزینس گرفته شده باشد ، نکته جالبی هم وجود دارد. برای دیدن این نکات به ادامه مطلب رجوع فرمایید . 

با سلام 

چند سالی هست (از سال 2002) که ماکروسافت با فناوری ASP که مخفف Active Server Page وارد بازار صفحات پویا (Dynamic) وب شده است. بعد از آن با ادغام فناوری دات‌نت و ASP ، فناوری جدیدی به نام Asp.net را به وجود آورد که در آن فرم های تحت وب با زبان های VB و #C قابل برنامه نویسی بودند و توسعه می یافتند. 

چند سالی است که ماکروسافت گرایش خود به سمت معماری چند لایه MVC (که مخفف Model-view-Control است)  آورده است. در این معماری بر خلاف وب فرم ها دیگر برنامه نویسان برای هر صفحه تنها در یک شی کدنویسی نمیکنند و با توجه به موقعیت و لایه کد های خود را مینویسند. 

در واقع در این مدل ما حداقل 3 لایه داریم. لایه اول که با درخواست کاربر شروع میشود لایه کنترل است. در این لایه ورودی ها و درخواست کاربر برای ما معین میشود. در لایه مدل ما با توجه به نیاز کاربر اطلاعات خود را می سازیم (یا به نوعی به دست می آورم) و در لایه ویو ما قالب خود را با دیتا ها خروجی ترکیب و تحویل کاربر میدهیم. 

برای شروع با ماکروسافت MVC می توانید از سایت خود این شرکت ( http://www.asp.net/mvc ) استفاده کنید و همچنین می توانید از مثال MVC Music Store (که شامل کدها یک پروژه به صورت کامل + PDF آموزشی ) از این سایت ( http://mvcmusicstore.codeplex.com ) استفاده نمایید. 

 


به نام خدا

شاید این پست به نظرتون تبلیغاتی بیاد و شاید فکر کنید این مطلب کمی اغراق آمیز. اما این مطالب حرفهای من است ...

هنوز زمان زیادی از به وجود آمدن شاخه ای به نام MBA زیاد نگذشته است. علی الخصوص در ایران. در ابتدا باید عارض شوم که این علم از نظر من جز محدود علم هایی است که در دانشگاه ها تدریس نشود بهتر است! دلیل آن هم بسیار پیچیده نیست. این علم مخصوص صنعت است و کسانی باید وارد آن شوند که در صنعت هستند نه این که تبحر فوق العاده در درس خواندن داشته باشند. قصد توهین و جسارت به قشر خاصی ندارم اما از نظر من و بیشتر کسانی که در صنعت هستند (چه ایرانی و چه خارجی) کسانی که در دانشگاه ها نمرات 20 پشت سر هم ردیف میکنند بیشتر به درد کارمندی می خورند تا مدیریت اجرایی. البته این حرف چیزی از تنبلی های خودم در مورد درس خواندن کم نمیکند.

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

خب یکم بعد فکر کردم آیا خودمم میتونم در این کلاس ها شرکت کنم؟! منی که هنوز دانشجو هستم. هزینه بسیار سنگینی برای یک جوان 21 ساله داشت. با صحبتی که با دوستانم در موسسسه ماهان داشتم توانستم با 3 سال سابقه کاری (که در واقعیت خیلی بیشتر از این هاست) وارد این مدرسه بازرگانی بشوم. در ابتدا گرایش ها 4 گانه بود و چیزی غیر از این نبود. گرایش مالی ، بازاریابی ، تجارت بین الملل و منابع انسانی. گرایش ها باید در ترم سوم انتخاب میشدند. من هم بیشتر به بحث مارکتینگ و بازار یابی خواستم روی بیاورم. 

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

شاید جز محدود و اولین کسانی باشم که در ایران این گرایش MBA را دارند و از این بابت خیلی خوشحال هستم.


سلام 

امروز چند قطعه کد جالب در مورد ساخت یک وب سرور همانند IIS ، Apache ، nginx با زبان روبی پیدا کردم.البته نه با قدرت این نرم‌افزارها! بلکه خیلی ساده تر. 

به زودی یک کتاب خوب روبی را آپلود و اگر وقت شد یکم بیشتر در مورد صحبت میکنم.

و حالا کدها با کمی توضیح .... 

  • ساخت وب سروری که تنها به شما Hello World میگوید :-)   (البته در آدرس localhost:2000 و یا IP address: 127.0.0.1:2000)

require "socket"

webserver = TCPServer.new('localhost', 2000)
while (session = webserver.accept)
  session.write(Time.now)
  session.print("Hello World!")
  session.close
end


  • وب سروری که قابلیت نمایش دایرکتوری (فولدر) سرور را نیز دارا میباشد.
ادامه در "ادامه مطلب"

سلام 

از دیشب تصمیم گرفتم باز کمی C بخوانم و باهاش کد بنویسم. دلیلش هم این است که NET. همیشه و هرجا در دسترس نیست! 


پا نوشت :

  1. این باعث حذف NET. در زندگی نیست چون از همین راه آب باریکه معروف کار میکنه.
  2. متاسفانه کار با C مشکل است و NET. ما را خیلی خیلی تنبل کرده بود.
  3. مولوی می‌فرماید که "هر کسی کو دور ماند از اصل خویش // باز جوید روزگار وصل خویش" همچین حکایتی داریم خلاصه .

به نام خدا 

حدود یک سالی هست که احساس می‌کنم کمی از زندگی اون طور که باید ، جا موندم. البته ناگفته نماند که در این مدت یک سری پیشرفت‌های شخصی مثل کلاس های MBA (مدیریت نوین ، اقتصاد کاربردی ، حسابداری و ...) ، یا مثلا پیدا کردن یک سری تکنولوژی‌های نرم افزاری خاص (درایورهای مجازی ، تبدیل دیتا ، فارسی سازی و...) و همین جدیداً شبیه سازی سخت افزارها و طراحی و اجرا میکروکنترلرها دست یافتم اما باز فکر میکنم عقبم. و تنها عقب ماندگی من این روزها دانشگاه‌ست.  

واقعاً بعضی وقت‌ها میخوام مثل استیو جابز و بیل گیتس و این همه آدم معروف تو کامپیوتر از این دانشگاه بزنم بیرون اگر چه امید به روزی که من در این زمینه معروف(!) یا مطرح(!) شوم زیاد نیست... تنها مشکل من شاید این باشد که حرف این دروس به نظر قدیمی و خشک را ندارم و شاید مشکلم نداشتن یک هدف مشخص خاص است. شاید برنامه ریزی 5 ساله‌ام داره بهم میخوره. همه استادا (غیر دانشگاهی) بر برنامه ریزی 1 - 2 و 5 ساله تاکید دارند و من هر روز نقشه راهم عوض میشه. باید دنبال یک راه جدید بگردم.


خدایا چنان کن سرانجام کار ... که تو خوشنود باشی و ما رستگار  

با عرض سلام 

امروز یه قسمت از فریم‌ورک GearCloud را در خدمتتان قرار می‌دهم. این قسمت در بخش UI و مربوط به ساخت خودکار کدهای HTML است.


view = UI()
view.Tag('div',(('class','MyDiv1'),('id','MyID1')))
view.Tag('p',(('class','MyDiv2'),('id','MyID2')))
view.EndTag()
view.EndTag()
view.Tag('span',(('class','MyDiv3'),('font','Tahoma')))
view.EndTag()
print view.ToHtml()
با این کد نسبتاً ساده(!) چنین کدی کامپایل میگردد...

<div class="MyDiv1" id="MyID1" >
<p class="MyDiv2" id="MyID2" ></p>
</div>
<span class="MyDiv3" font="Tahoma" ></span>
تا بعد ;-)

به نام خدا

در سایت ویکی‌پدیا یک مقاله برای کن‌ست ایجاد کردم و به طور کلی کن‌ست را معرفی کردم. به امید خدا و احتمالاً بعد از امتحانات ترم مطالبی در این مورد منتشر خواهم کرد. چون فعلاً مثلاً و گاهاً میخوام درس بخونم. 

در کن‌ست ها مهم‌ترین بحث ، بحث الکترونیک است. اگر چه در کودکی و خردسالی زیاد با انواع مدارها و کیت‌ها کار کردم ولی باز نیاز به یک دوره کلی دارم. مخصوصاً با ورود AVR به این مبحث و بازشدن برنامه‌نویسی به الکترونیک فکر میکنم کار ساده‌تر شده است.

مسابقه ایران‌کن‌ست 2013 به هر حال در راه است و امیدوارم کن‌ست من بتواند در این مسابقه شرکت کند. 

 

به نام خدا

خب این هفته که در حال رفتن به سوی آن هستیم دارای چند اتفاق مهم است. 

اول از همه اینکه قرار است از یکجای بسیار مهم برای من جوابی بیاید. این جواب در زندگی من سرنوشت‌ساز خواهد بود. در مورد اینکه این جای مهم کجا هست و چه خواهد شد ؛ حتماً بعداً صحبت خواهم کرد.

دوم اینکه باید کم‌کم لابه‌لای دروس دانشگاه را باز کنم و نگاهی بر این 14 واحد بیاندازم. با این اوضاف فشرده‌ی کاری باید درس‌ها را خواند تا دیگر طعم شیرین مشروطی را نچشم.

سوم در این هفته قصد دارم اگه خدا بخواد یک آموزشی تصویری در وبلاگ بگذارم. باور کنید کار دشواری است ولی انجامش حتمی‌ست.

چهارم هم اینکه تا اخر هفته وام خودرو من معلوم می‌شود. ایشالا که جواب OK باشد.

و دست اخر اینکه دوست دارم بخش کتابخانه را پر از کتب برنامه‌نویسی کنم. شاید روزی یک کتاب ...!  


به نام خدا

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

به هر حال وقتی حرف از اقتصاد مقاومتی می‌شود (که نقل بسیاری از محافل اقتصادی و سیاسی است) ، منظور اقتصادی است که در برابر چنین بحران‌ها بتواند مقاومت کند و قیمت تمام شده اجناس و کالا مصرفی بیشتر نشود. 

خب در صنعت نرم‌افزاری کشور از آنجا که "حقوق معنوی سازنده" یا همان CopyRight اصلاً رعایت نمی‌شود و قیمت نرم افزار از رایگان تا چندهزار دلاری در بازار ایران 1000 تومان است (که تنها دلیل گرانی افزایش نرخ CD یا DVD است) ما مشکل چندانی نمیبینم. فقط هزینه برنامه‌نویسان و دست اندر کاران و هزینه های ثابت (برگه ، جوهر پرینتر ، CD ، قطعات مصرفی و ... ) بالا میرود که باعث گرانی نرم‌افزارهای ایرانی میشود.

اما در صنعت سخت‌افزاری متاسفانه کشور ما نسبت به صنعت نرم‌افزاری ضعیف است. خب به هر حال سخت افزار خط تولیدی همانند نرم افزار که به سادگی تکثیر می‌شود ندارد ولی قابلیتهای خاصی را در این بازار می‌توان ذکر کرد.

این نکته هم از قلم نیافتد که منظور ما از تولید سخت افزار تولید 100 درصد جنس ایرانی در ابتدای کار نیست. در واقع منظور من از سخت افزار تهیه قطعاتی است که با مواد اولیه ارزان قابل دسترس است و به جای اینکه ما پول تمام شده یک دستگاه کاملا مونتاژ شده را بدهیم تنها پول قطعات آن را بدهیم. در این صورت ما به چند هدف خاص می‌رسیم:

  1. کار آفرینی
  2. تولید شغل و افزایش اشتغال (این با مورد اول تفاوت دارد!)
  3. افزایش مهارت 
  4. کاهش هزینه بها تمام شده
  5. مقاومت بیشتر در برابر بحران‌های بازار
  6. تولید علم و پیشرفت عملی 
خب اینها مواردی بود که میتوان به سادگی حدس زد. اما چگونه تولید کنیم؟ 
شاید بر خلاف نظر بسیاری از مردم تولید سخت افزار کار سخت ، کسل کننده و طاقت فرسایی باشد. در جواب باید گفت کار با سخت افزار به دلیل ملموس بودن آن شیرین تر است. 
سخت افزارها با یک کامپیوتر داخلی (که بسیاری ان ها را به نام IC میشناسند) کار میکنند و تنها کافی است یک یا چند میکروکنترلر (یا میکروپروسسور) را برنامه‌نویسی و قطعات جانبی را با سیم به هم وصل کنیم! به همین سادگی.
وقتتون را نگیرم تنها خواستم کمی در این مورد صحبت کنم .در بعد بیشتر در مورد میکروکنترلرها و تولید سخت افزار خواهم نوشت.