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

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

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

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

۶ مطلب با موضوع «برنامه نویسی» ثبت شده است

با سلام 

چند سالی هست (از سال 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 ) استفاده نمایید. 

 

سلام 

امروز چند قطعه کد جالب در مورد ساخت یک وب سرور همانند 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. مولوی می‌فرماید که "هر کسی کو دور ماند از اصل خویش // باز جوید روزگار وصل خویش" همچین حکایتی داریم خلاصه .

با عرض سلام 

امروز یه قسمت از فریم‌ورک 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>
تا بعد ;-)

به نام خدا 

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

  • چک باز بودن پورت 25 (پورت 25 ، پورت پیش فرض ارسال ایمیل یا همان SMTP هست)
  • تبدیل نامه ، عنوان و ضمیمه به یک سری کد
  • Auth کردن یا همان تایید کاربر از طریق سرور
  • نوشتن بر روی پورت 
  • ...
حالا به جای این همه کار میشه یک تابع ساده نوشت و این همه کار را در یک خط انجام داد! (مثل php مثلاً با تابع mail). خب این یک مثال بود برای اینکه بگم یک خط به جای چندین خط !

هدف بعدی که دارم اینه که کاربر به جای اینکه چندین زبان رو بلد باشه فقط کافیه یک زبان را چندین بار بلد باشه (مثل شعار کتاب های گاج D:) . همین طراحی یک سایت دینامیک را در نظر بگیرید! ... شما باید چنین چیز هایی را بلد باشید

  • HTML
  • CSS
  • JavaScript
  • PHP
  • MySQL
  • Ajax
  • ...
خوب میشه کاری کرد که طرف حداقل زبان ها را بلد باشه! 

تنها نگرانیم الان اپن سورس یا کلوز سورس بودن محصول‌ام هست. مانده‌ام که چه کنم؟ سرویسی مانند AppEngine گوگل باشم یا جی‌کوئری ؟! ... 

باز در این مورد خواهم نوشت و این شروع یک داستان بلند است ...  

به نام خدا

حتما اگر کاربر معمولی ویندوز باشید حتماً نام Command Prompt (با نام اختصاری cmd) را شنیده‌اید. خیلی‌ها این قسمت را یک شبه داس می‌بینند! اکثر کاربرد آن هم که شاید با آن ها داشته باشند اموری مانند:

  •  گرفتن IP(های) کامپیوتر (با فرمان ipconfig)
  •  گرفتن ping (با فرمان ping)
  • چک اتصال پورت و IP با فرمان Talnet
  • گاهی هم اجزای برنامه‌های Consoleیی.
  • کار با دایرکتوری‌ها 
  • و...

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

کسانی هم که لینوکس کار میکنند حتما با مفهومی به نام Terminal آشنا هستند که از نظر کارایی کاملا شبیه همان Command Prompt ویندوز است و کارهای زیادی از قبلی نصب ، حذف ، تنظیم و مدیریت برنامه‌ها را انجام میدهد و در واقع هسته یک سیستم عامل لینوکسی است. 

خب به یک سری از کارهای Command Prompt اشاره کردیم ولی باز از نظر کاربران ویندوز این امکانات نسبت به کرنل‌های لینوکسی کم بود.بنابراین شرکت ماکروسافت روی به ساختن یک کنسول قوی‌تر نمود.

PowerShell

Microsoft PowerShell ، یک کنسول خط فرمانی است که کارهای زیادی را می‌تواند انجام دهد که بعضاً نسبت به خود CMD بیشتر و هم کوتاه‌تر (بهینه‌تر) است. قابلیت اتصال به Active Directory ، Exchange  و SharePoint ، قابلیت اضافه و حذف کاربران ، قابلیت نوشتن تابع و اجرای آن و... همگی از ویژگی‌های این خط فرمان است.

PowerShell در سیستم عامل های 7 , 8 , 2008 , 2008R2 , 2012 به راحتی قابل یافتن است و به طور کلی در هر سیستم عاملی که بر روی آن قابلیت نصب فریم ورک net. باشد قابل اجرا است. یک راه اجرای آن رفتن به قسمت Run و تایپ کلمه Powershell است.

Powershell قدرت به کار گیری آن در برنامه‌های نوشته شده با net. نیز است و می توان از آن به صورت یک API استفاده کرد. و از آن بسیار استفاده کرد (خود من خیلی باهاش دارم کار میکنم ;-) )

چند وقت پیش یک کتاب عالی در این مورد از شرکت ماکروسافت داخل اینترنت پیدا کردم که توسط انتشارات ماکروسافت Microsoft Press انتشار یافته بود. این کتاب را برایتان آپلود کردم. امیدوارم خوشتان بیاد ;)

Powershell ebook

دریافت فایل (با حجم حدوداً 4 مگابایت)


پانوشت: فک کنم واسه مطلب اول بد نبود!

پانوشت بعدی: عیدتون مبارک باشه.