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

مدتی بود که داشتم در این تاپیک در فروم اوبونتو برای آموزش زبان روبی رو مینوشتم. این زبان، زبانی بود که مدت نسبتا زیادی بهش علاقه داشتم و خب شکر خدا یادش هم گرفتم. حالا، کتاب کارش تمام شده. کتاب حدود ۵۴ صفحه داره و در قالب یک 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

تازه وارد مایکروسافت اینجاست!

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

 Product key: NKJFK-GPHP7-G8C3J-P6JXR-HQRJR 

نصب در Virtual Box

خب، من اولش تصمیم گرفتم که این نسخه از سیستم عامل رو توی ویرچوال باکس تست کنم، اما ویندوز خودش ارورهای متعددی داد که باعث شد نتونم این سیستم عامل رو با استفاده از ویرچوال باکس، نصب و تست کنم!

نصب در VMWare

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

بعد از نصب

بعد از اینکه عملیات نصب تموم شد، و ویندوز ریبوت کرد، دوباره پنجره ای باز شد و ازم خواست تا اطلاعات مربوط به اکانت مایکروسافت رو هم وارد کنم. وقتی واردش کردم، آخرین تنظیمات (مثل والپیپر و… ) که روی ویندوز ۸.۱ (که الان از روی لپتاپم حذف شده!) اعمال کرده بودم رو خوند و دسکتاپم رو با آخرین والپیپر قرار داده شده، بهم نشون داد :
Untitled

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

Untitled2

بعدش، رفتم سراغ سرچ این نسخه، این نسخه سرچ بهتر و سریع تری نسبت به ۸.۱ داره، و علاوه بر سرچ در خود ویندوز، در وب هم با استفاده از موتور جست و جوی bing ، سرچی رو برای شما انجام میده :
Untitled4

همونطور که دیدید، در قسمت Store هم برنامه هایی که اسم مشابه کلمه مورد نظر دارن پیشنهاد داده میشن، و در قسمت Web هم کلیدواژه های پرکاربردی که حاوی کلمه مورد نظر شما بودن، نشون داده میشن.

و اما عکس آخر، بدون شرح!
Untitled3

جمع بندی نهایی

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

Share

از حالا، پست ها در گوگل پلاس!

گوگل ، که یکی از بزرگترین کمپانی های دنیای تکنولوژی محسوب میشه، یک شبکه اجتماعی شناخته شده به اسم گوگل پلاس داره. من مدتی در این شبکه فعال بودم، ولی بعد رهاش کردم ، تا این که دوباره تصمیم گرفتم درونش فعالیت کنم، و خب افزونه جت پک هم این اجازه رو به من میده تا پست های وبلاگ رو اتوماتیک به شبکه های اجتماعی مختلف ارسال کنم. پس در نتیجه، با اتصال وبلاگ به گوگل پلاس، فعالیت خودم رو در گوگل پلاس رسما آغاز کردم. این هم آدرس گوگل پلاس خودم. (بر خلاف فیسبوک و توییتر، در گوگل پلاس صفحه جداگانه ای ایجاد نکردم).

Share

سوال، پیشنهاد و انتقاد، میتونید از الان شروع کنید!

یادتون هست قبلا برای بخش نوستالژی گفته بودم که یک ایمیل مجزا درست خواهم کرد؟ خب این کار رو کردم. البته نیازی بهش احساس نمیشه، ولی خب ترجیح دادم امور مرتبط با وبلاگ روی یک ایمیل با دامنه همین وبلاگ قرار بگیره!

خب دو تا راه ارتباطی ایمیلی :

۱. همین haghiri75 روی جیمیل

۲. me[at]haghiri75.com

و راه های ارتباطی دیگه :

۱. تلگرام (یوزرنیم : haghiri75)

۲. توییتر (اکانت haghiri75 که مربوط به این وبلاگه و اکانت prpe26 که اکانت خودم هست).

۳. فیسبوق! در فیسبوق هم این وبلاگ یک صفحه مخصوص به خودش داره که قبل تر گفتم. اگر تمایل دارید میتونید روی صفحه پست بدید، یا اینکه به صفحه پیام بفرستید!

۴. سایر راهها؟ اون ها دیگه مختص افرادی هستند که آشنایی نزدیک با من دارند 🙂

Share

رمزگشایی آنلاین MD5

در پست قبلی، تا تونستم راجع به پسوردهای ناامن (مثل ۱۱۱ و ۸۸۸۸ و ۱۲۳۴ و …) گفتم. اما این بار میخوام یه چیز بهتر معرفی کنم 🙂
شده تا حالا، از روی شیطنت (یا شایدم خباثت) ، قصد کرده باشید که دیتابیستون رو باز کنید و پسورد کاربرانتون رو بخونید؟ اما شکست خوردید. خب مشخصه. معمولا سیستم های مدیریت محتوا که برنامه نویس درست و حسابی پشتشون باشه، پسورد رو هش میکنن، حالا با MD5 یا چیزای دیگه. خب، کدی که برای شما معنی نداره، برای اون سیستم معنا داره. در واقع، اون سیستم رشته هش شده رو در دیتابیس شما ذخیره میکنه، وقتی کاربر پسورد خودش رو وارد میکنه (مثلا فرض کنیم پسورد @AB12342 هست) ، دوباره هش میشه و با اون چیزی که در دیتابیس قرار داره، تطبیقش میده. گاهی اوقات هم ممکنه دوستتون یه نامه بخواد بهتون بزنه و بخواد اذیتتون کنه ، اون رو هش میکنه و میفرسته!
برای شکستن این رمزها، میتونید از دکرپشن های آنلاین هم استفاده کنید. سایت MD5Online دقیقا این کارو براتون انجام میده 🙂
خوش باشید و بخندید و از رمزگشایی برای یادگیری استفاده کنید، نه اذیت کردن مردم! یا در جهت رفاه مردم (مثلا اگر پسورد دوستتون بعد از رمزگشایی ۱۱۱۱۱ در اومد، بهش بگید ناامنه 🙂 ).

بعدا نوشت : وبسایت قاتل هش هم چنین کاری رو میکنه 🙂
و نکته ای که یادم رفت بگم، اینه که این سایتها از توی یه دیکشنری چک میکنن و در لحظه پسوردی رو براتون نمیشکنن.
موفق باشید 🙂

Share

چه کار کنیم تا در صورت هک شدن، امنیتمان تامین باشد؟

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

نکاتی برای ادمین و طراح سایت

اول از همه، اگر قراره از اسکرپیت آماده استفاده کنید، نسخه های Null شده یا کرک شده به درد کار جدی نمیخورن! دلیلش هم پر واضحه، این اسکریپتها یه بلایی سرشون اومده و همین بلایی که کرکر سرشون آورده، میتونه کاملا باعث نابودی سایت شما، در صورت یک حمله حتی ساده بشه. نکته دوم، بعضی از اسکریپت ها به صورت پیشفرض امکان تنظیم پسورد رو دارن، مثلا تنظیم کنید پسورد حداقل ۸ کاراکتر باشه و … . اونهایی هم که ندارن، پلاگین ویژه این کار رو در اختیار کاربران میزارن، که میتونید یکی از همون پلاگین ها رو دریافت و نصب کنید (البته باز هم دقت کنید، یا پلاگینی رو استفاده کنید که خود توسعه دهنده ها ارائه کردند، یا اونی که توسعه دهنده های سرشناس و معتبر!). بهترین نمونه برای تامین امنیت پسورد، نصاب ویندوز سرور هست، که کاربر رو مجبور میکنه تا به شکل خاص پسورد گذاری کنه.
در آخر، اگر توانش رو ندارید که خودتون سیستم درست و حسابی طراحی کنید، یا اصلا سایت نزنید، یا از کسی کمک بگیرید که کارش تامین امنیته (یا این که خودتون یاد بگیرید و تست های لازم رو انجام بدید!).

کاربر ها چه کنند؟

خب اصولا کاربر ها مهمترین کاری که باید بکنند اینه که در وبگاه های ناشناس و نامعتبر عضو نشن ، اگر هم میخوان عضو شن، پسوردی متفاوت با اون چه که در ایمیل یا سایر اکانت ها استفاده میکنن، تعیین کنند. اگر هم دیدید که وبسایت مورد استفاده، حساسیتی روی این که شما چه پسوردی استفاده میکنید، نداره، بهتره بازم درش عضو نشید. قدم بعدی، پسورد و یوزرنیم رو دو عدد یا کلمه متفاوت انتخاب کنید. من در فایلی که هکر منتشر کرده، یوزرنیم هایی که با mehdi (یا Mehdi) شروع میشدند یا این یوزری که mehdi بود رو دیدم، و با خودم گفتم که بهتره که ببینم این یوزر، از چه پسوردی استفاده میکرده، کنجکاو شدم و با خودم گفتم که کلمه mehdi رو با استفاده از وبسایت OnlineMD5 هش کنم و توی این فایل دنبالش بگردم، بله! فوقع ما وقع! تعدادی از یوزرهایی که یوزرشون Mehdi بود یا با Mehdi شروع میشد، از پسورد mehdi استفاده میکردند! پسوردهای ناامنی مثل ۱۲۳۴۵۶ ، ۷۷۷۷ و ۱۱۱۱۱۱ هم به وفور در اون فایل مشاهده میشه. نکته دیگری که کاربر ها باید دقت کنن، این هست که سایتی که میخواید توش عضو شید، حتما یک ایمیل فعالسازی براتون بفرسته، وگرنه باز هم نمیشه به اون سایت اعتماد کرد، چون هکر میتونه با یک ایمیل fake یوزر بسازه و به راحتی شرارت کنه!
خب، من نکته دیگه ای به ذهنم نمیرسه، فعلا هم شاد باشید و بخندید تا هک بعدی!

Share

انتشار نسخه نهایی ۲.۱ جبیر برای پردازنده های ۶۴ بیت و کوبی برد

JabirOS for Cubieboard
بالاخره نسخه جدید هم منتشر کردیم!! نیازی به توضیح نیست، میتونید از این لینک نسخه ویژه کوبی رو دانلود کنید!
Screenshot from 2014-12-04 10:44:36
در مورد نسخه دسکتاپ هم بگم که این نسخه این بار روی KVM ساخته و تست شده و خب، این خودش یک پیشرفته :))
برای دریافت این نسخه هم میتونید به این لینک مراجعه کنید!

Share

فراز هایی از زبان برنامه نویسی Ruby

دو سه تا پست اخیر، تقریباً هیچ ربطی به موضوع مرسوم و معمول وبلاگ، یعنی کامپیوتر و تکنولوژی و …، نداشتند. خب، حالا تصمیم گرفتم تا در مورد زبان مورد علاقم، یعنی روبی مطلب بنویسیم! همونطور که میدونید، قبلاً هم منابعی برای یادگیری روبی معرفی کردم. این زبان، یک زبان اسکریپتی و ساده هست، و نحو مشابه پایتون داره (از نظر من، از پایتون آسون تره، ولی خب این فقط نظر منه 🙂 ).

کاربردها

روبی، میتونه برای نوشتن برنامه های روزمره، یا نوشتن backend وبسایت ها و … استفاده بشه. همچنین، برای ایجاد و انجام پروژه های سریع  و دم دستی هم بسیار بسیار خوب عمل میکنه، به طوری که خودم شخصا خیلی از مساله های ساده برنامه نویسی رو به کمک روبی، حل میکنم. روبی، امکانات بسیار خوبی برای  کار با متون و آرایه ها داره و از این جهت به زبان پرل نزدیکه. در واقع، در متن، میخوام روبی رو به همون شکلی که خودم یاد گرفتم، باز آموزی کنم 🙂

نصب روبی

برای نصب روبی، زحمت زیادی لازم نیست، اگر کاربر اوبونتو هستید، کافیه کد زیر رو در ترمینال اجرا کنید :

sudo apt-get install ruby

خب، با استفاده از کد فوق، روبی روی سیستم شما، نصب میشه. روبی یک شل اینتراکتیو داره که میتونید در اون، به صورت Real Time نتیجه دستوراتی که مینویسید رو ببینید. شل اینتراکتیو این زبان هم از طریق دستور irb قابل دسترسیه.

مثالهای ساده متنی

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

puts "Hello, World"

دستور بالا، دقیقا همون کار دستور زیر رو در زبان Go میکنه :

Println("Hello World")

خیلی خوب، یک سری مثال دیگه (با قرار دادن اسم خودم در متغیر name) :

name = "Muhammadreza"
puts name
puts name.reverse

که در خط اول، من اسم خودم رو به متغیر name نسبت دادم، در خط دوم خواستم اسمم رو چاپ کنه، و در خط سوم، اسمم رو برعکس چاپ کنه! (این برعکس چاپ کردن، میتونه خیلی وقتا، خیلی مفید باشه 🙂 ).

و مثالهای بیشتر …؟

متاسفانه، اینجا نمیتونم مثالهای بیشتری بیارم، ولی سعی میکنم بزودی هرچی از Ruby میدونم رو درون یک فایل PDF منتشر کنم تا همه کسانی که به این زبان علاقه دارند، بتونند در این زبان راه بیفتن.

موفق باشید!

Share

وبلاگ شخصی محمدرضا حقیری، برنامه‌نویس، گیک و یک شخص خوشحال