انتشار کتاب روبی

مدتی بود که داشتم در این تاپیک در فروم اوبونتو برای آموزش زبان روبی رو مینوشتم. این زبان، زبانی بود که مدت نسبتا زیادی بهش علاقه داشتم و خب شکر خدا یادش هم گرفتم. حالا، کتاب کارش تمام شده. کتاب حدود ۵۴ صفحه داره و در قالب یک PDF نوشته شده. تا حد امکان سعی کردم ساده توضیح بدم که تازه کارها هم بتونن به خوبی این زبان رو یاد بگیرن.
سر فصل های کتاب :

  • مقدمه
  • پایه ها و مقدمات روبی
  • انواع داده ها و متغیرها، ثابت ها و عملگرها
  • آرایه ها و هش ها
  • ساختارهای کنترلی
  • حلقه های تکرار
  • توابع
  • کلاس ها و شی گرایی

کتاب هم از این نشانی در دسترس هست.

Share

انقلاب جاوااسکریپت

بدون شک، همه شما با سه زبانی که یک توسعه دهنده وب باید بلد باشد آشنا هستید. حتی اگر با ترکیب و نحو این زبان ها آشنا نباشید، نام آنها برایتان آشناست. زبانهای HTML, CSS و Javascript . در ابتدا لازمه که ذکر کنم، اچ تی ام ال و سی اس اس زبان «برنامه نویسی» نیستند. HTML تنها یک زبان Mark up هست و CSS هم یک زبان Style Sheet یا شیوه نامه به حساب میاد. در واقع، کسی که CSS مینویسه، داره برای تگ های HTML خواصی رو در نظر میگیره و پیاده سازی میکنه. مثلا همین وبلاگ و فونتی که لود میکنه، درون CSS اش نوشته شده. اما جاوااسکریپت، جاوااسکریپت یک زبان برنامه نویسی است که هم Client Side (سمت کاربر) و هم Server Side (سمت کارگزار) میشه ازش استفاده کرد. این زبان هم، از جمله زبان هایی بود که به شدت در مقابلش مقاومت میکردم، اما این زبان از اون دسته زبانهایی به شمار میاد که تا درگیرش نشید، چیزی ازش یاد نمیگیرید. خب در این مطلب، چندین قطعه کد از این زبان قرار میدم و روش استفاده ازش درون فایل HTML رو هم توضیح میدم. برای آشنایی بهتر با جاوااسکریپت میتونید ارائه توحید ارسطو در تهران لاگ رو بخونید (اون هم به همین نام انقلاب جاوااسکریپت بود 😀 )

سینتکس زبان

این زبان، یک سینتکس ساده داره و میشه گفت اگر با زبانهای شبه C (مثل جاوا، سی شارپ و … ) کار کرده باشید، به سادگی میتونید به جاوااسکریپت هم مهاجرت کنید و درونش کد بزنید. برنامه زیر، یک Hello World ساده در این زبان هست :

document.write("Hello, World");

یا میتونید به این شکل هم برنامه فوق رو بنویسید :

var string = "Hello, World";

document.write(string);

همونطور که دیدید، این زبان خیلی سادست و یادگیریش میتونه در چند ساعت و با پیاده سازی مثال، صورت بگیره (مثلا کد آکادمی از شما میخواد یک بازی سنگ، کاغذ، قیچی بنویسید و … ). همچنین میتونید پنجره های Pop-up هم با جاوااسکریپت ایجاد کنید :

alert(string);

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

var age = prompt("How old are you?");

if (age > 0 && age <= 120) {
   if (age < 18){
      document.write("You're not at legal age");
    } else {
       document. write("You're at legal age");
     }
 } else {
   document.write("The age you have entered, is invalid");
}

این برنامه دو ساختار کنترلی رو درون خودش جای داده، و یکی چک میکنه عدد وارد شده بزرگتر از صفر، و کوچک تر مساوی ۱۲۰ باشه. یعنی اگر کسی توی prompt تولید شده توسط این برنامه، سن خودش رو منفی وارد کنه و یا بالاتر از ۱۲۰ سال وارد کنه، با ارور مواجه میشه. ولی اگر سن بین ۰ تا ۱۲۰ باشه، چک میکنه که اگر کوچکتر از ۱۸ بود بگه «شما در سن قانونی نیستید» و اگر نبود، پیغام بده «شما در سن قانونی هستید».
همونطور که دیدید، این زبان سینتکس خیلی خوبی داره و در مورد حلقه ها و ... هم به همین منوال هرچی که در زبانی مثل جاوا بلدید، این جا هم به کارتون میاد .

استفاده در HTML

برای استفاده از جاوااسکریپت در یک وب پیج دو راه داریم :

راه اول : اسکریپت نوشته شده رو درون یک فایل js ذخیره کنیم و بدین شکل صداش کنیم :

Screenshot from 2015-03-01 12:10:19

و راه دوم نوشتن اسکریپت درون تگ script هست .

و به این شکل میتونید از برنامه نویسی به زبان جاوااسکریپت، لذت ببرید.

بعد از یادگیری چه کنیم؟

بعد از یادگیری میتونید فرمورک هایی که برای جاوااسکریپت موجودند رو تست کنید و ببینید توی چه زمینه ای میخواید فعالیت کنید. مثلا، Cordova یا PhoneGap برای موبایل، QtQuick برای کیوت نوشتن و ... .

موفق باشید.

Share

ملاقات با سی شارپ

قبل تر، خیلی خیلی در مقابل یادگیری سی شارپ، مقاومت میکردم. یکی از مشکلاتی که اکثر کتابهای سی شارپ موجود داشتند، این بود که برنامه نویسی رو با نقاشی اشتباه گرفته بودند . در واقع، این که بیایم در یک کتابی که مدعی حرفه ای بودن سطح آموزش هست، از اینکه چطور یک Button رو در محیط گرافیکی به کمک ماوس بکشیم، حرف بزنیم، نشون میده میخوایم یک حیطه خیلی خاص رو به کاربر یاد بدیم. عمده این کتابها هم طوری هستن که کاربر خیلی خیلی زود، ازش دلزده میشه (یکیش خودم 🙂 ). خب اولین باری که تلاش کردم سی شارپ رو یاد بگیرم اول دبیرستان بودم. دقیقا ۴ سال پیش همین موقع ها! و خب کتابی که تهیه کردم همونطور بود و با نوشتن دو سه تا برنامه ساده چقدر ذوق زده شدم و فلان و بهمان. از این حرف ها بگذریم، الان که ترم دوم دانشگاه هستم، توفیق اجباری شده تا در سی شارپ رو یاد بگیرم (لفظ توفیق به کار برده شد تا بگم که یادگیری همیشه خوبه، حتی اگر چیزی که داری یاد میگیری، بی کاربرد یا حتی مزخرف باشه) و خب با سینتکس سی شارپ آشنا شدم. امروز تصمیم گرفتم چندین خط کد بزنم. پس بیاید در این کد زدن ها با من همسفر بشید.

سی شارپ در لینوکس

زیاد روده درازی نمی کنم، قصد اسکرین شات گذاشتنم ندارم (:D) ، ولی خب برای استفاده از این زبان در لینوکس کد زیر رو اجرا کنید :

sudo apt-get install monodevelop

بعد از نصب میتونید monodevelop رو اجرا کنید و از کد زدن با سی شارپ لذت ببرید 🙂

اولین برنامه من

در اولین برنامه سعی کردم به چاپ یک رشته احمقانه (مثل Hello World و …) بسنده نکنم. هر کانسپتی از C و ++C داشتم رو پیاده کردم. توی این کد هم کلاس ایجاد کردم، هم تابع نوشتم، هم از کاربر ورودی گرفتم، هم از حلقه تکرار استفاده کردم و … ! در واقع هرچه میدانستم پیاده کردم بدون هیچ مشکلی هم کار کرد (البته ناگفته نماند که خیلی جاهاش رو هم کمک گرفتم!) . این کد من بعد از یکی دو ساعت کار با سی شارپ :

using System;

namespace HelloWorld
{
	class Test
	{
		public static int Method(int a){
			return a;
		}
	}

	class MainClass
	{
		public static void Message(){
			Console.WriteLine ("Welcome to My Program!");
		}
		public static int SimpleFunction(int a){
			return a;
		}
		public static void Main (string[] args)
		{
			Message (); 
			Console.Write ("Enter a value: ");
			int j = Convert.ToInt32 (Console.ReadLine ());
			int i;
			for (i = 0; i<= j; i++) {
				Console.WriteLine (i);
			}
			Console.WriteLine (Test.Method(i));
		}
	}
}

جمع بندی و نکات حائز اهمیت

اگر زبانهایی مثل C یا ++C رو بلدید، دنبال سی شارپ هم بیاید، ضرر نمی کنید. فقط یک زبان C-like که تا حد زیادی با جاوا ترکیب شده رو تجربه میکنید. تجربه سی شارپ با مونو هم تجربه جالبیه! اما خب حس قشنگی نیست که فایل exe روی لینوکس اجرا بشه (مثل شتر سواری روی سطح اقیانوس میمونه یه جورایی!) ، ولی خب یادگیری هیچوقت بد نیست. بخصوص اگر مجبور باشید و درسی مثل برنامه سازی پیشرفتتون، در گرو این زبان باشه ((((: .

Share