منبع اصلی نوشتار زیر در این لینک قرار دارد

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

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

منبع اصلی نوشتار زیر در این لینک قرار دارد

تعمیر زیرنویس‌های فارسی در گنو/لینوکس

یکی از خوبیای گنو/لینوکس اینه که هر کاری بخوای می‌تونی توش انجام بدی و برای انجامش حتما چندین راه وجود داره. چند روز پیش می‌خواستم یه فیلم نگاه کنم و رفتم زیرنویسشو دانلود کردم که چشتون روز بد نبینه، دیدم فایلش خرچنگ‌قورباغه‌س. رفتم یکی دیگه دانلود کردم و دیدم بازم همون مشکل. پس دست به […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

باز هم پایتون: اسکریپت GitGet برای جستجو و دانلود از GitHub

python

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

مراحل کار خیلی ساده بود چون سایت گیت‌هاب API فوق‌العاده کارآمدی رو در اختیار برنامه‌نویس‌ها قرار داده. اسکریپت رو با پایتون نوشتم و مراحل کار رو براتون می‌نویسم.

پایتون زبانیه که به سرعت می‌تونید یادش بگیرید و شروع به برنامه‌نویسی کنید. با تشکر از مستندات عالی پایتون نیازی به هیچ دوره یا کلاسی هم نیست.

ادامه مطلب
ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش برنامه‌نویسی Ruby – بخش اول

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

همونطور که توی پست قبلیم گفتم، دارم برنامه‌نویسی Ruby یاد می‌گیرم فقط از روی کنجکاوی و قدرت انجام مقایسه درست بین زبان‌های برنامه‌نوسی مختلف.

خب برای شروع می ریم ببینیم ویکی‌پدیا در موردش چی گفته: 

  • روبی یک زبان برنامه‌نویسی انعطاف‌پذیر، پویا و شی‌گرا است. (درست مثل PHP و Python)
  • روبی شیوه‌های نگارشی پرل و اسمال‌تاک را با هم در خود دارد.(خب با هیچ کدوم از اینا کار نکردم)
  • زبان روبی در سال‌های میانی دهه ۱۹۹۰ توسط یوکیهیرو ماتسوموتو در ژاپن اختراع شد
  • از برنامه‌نوسی تابعی و شی‌گرا پشتیبانی می‌کند. (مثل همون دوتایی که بالا گفتم)
  • روبی یک زبان برنامه‌نوسی تفسیری‌ است. (یعنی کامپایل نمی‌شه و در هنگام اجرا توسط مفسر تفسیر میشه
خب توضیحات خوبی بود و آدم می‌دونه که با چی سر و کار داره. حالا می‌ریم سراغ اولیت تکه کد که معمولا مثال Hello World بهترین گزینه‌ست.
print "hello world"
یا 
puts "hello world"
خب بیاییم همین دو خط بالا رو تفسیر کنیم:
– برای چاپ رشته و یا هرچیزی در خروجی می‌تونیم از توابع print یا puts استفاده کنیم. هر جفتشون کارشون یکیه ولی تنها فرقشون اینه که puts مقدارش رو توی یم خط جدید چاپ می‌کنه.
– همونطور که مشاهده‌ کردید، مانند python، برای پایان خط لازم نیست ما semicolon بذاریم.
– رشته را در میان دو ” ” قرار میدیم که این مورد تو اکثر زبان‌های برنامه‌نویسی مشترکه.
انواع داده‌ای در Ruby، مثل بقیه زبان‌های برنامه‌نویسیه و تفاوت خاصی نداره با بقیه و از همه چی پشتیبانی می‌کنه.
تعریف متغیرها توی روبی قوانین خاصی داره مثلا متغیرها باید به صورت lowercase تعریف بشن و اگه نام متغیر بیشتر از یه بخش بود با _ از همه جدا بشن بخش‌ها. یعنی نام متغیر باید snake_case باشه. همچنین نوع متغیر به صورت داینامیک بسته به مقدارش تغییر می‌کنه. مثال زیر را ببینید:
my_variable = 100 #int
my_variable = "morteza" #string
user_name = "morilog" #string
همونطور که توی کد دیدید، متغیر my_variable ابتدا دارای مقدار 100 بود که نوعش میشه عدد صحیح و بعدش همون متغیر نوعش به string تغییر پیدا کرد. انواه آرایه هم به صورت زیر تعریف میشه:
my_array = [1, 2 ,3 4 ,5] #آرایه یک بعدی از اعداد
my_array = [["morteza", "parvini", 24], ["php", "python", "ruby"]] #آرایه چندبعدی
برای کامنت‌گذاری در کد به صورت یک‌خطی از # استفاده می‌کنیم. (تو کد بالا نمونه‌ش هست) و برای کامنت‌گذاری چندخطی به روش زیر عمل می‌کنیم:
=begin
اینجا یه سری کامنت قرار می‌گیره
تو این خط هم شاید یه چیزایی نوشته بشه
همینطور تو این خط
=end
برای چاپ مقدار یک متغیر داخل یک رشته به این روش عمل می‌کنیم:
my_name = "morteza"
puts "my name is #{myname}" #خروجی: my name is morteza
فقط کافیه که نام متغیر را بین #{} قرار بدیم و تمام.
فکر می‌کنم تا همینجا بسه واسه مقدماتش. تو پست‌های بعدی در مورد ساختارهای کنترلی و شرطی صحبت خواهم کرد.

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

شروع یادگیری چیزایی که بلد نیستم مثل Ruby

2-3 روز پیش تصمیم گرفتم روزانه حداقل 2-3 ساعت صرف یادگیری چیزایی که بلد نیستم بکنم. خب برای همینم یه لیست ازشون تهیه کردم که به شکل زیره:

خب همونطور که دیدید حجم مطالبی که می‌خوام یاد بگیرم خیلی زیاده و نمیشه همه‌شو با هم یاد گرفت و باید کم‌کم یادشون گرفت. خب برای شروع با Backbone شروع کردم به کار کردن و مثل همیشه یادگیری طی انجام یه پروژه واقعی رو بیشتر دوست دارم.  یه سری کتاب خوندم و یه چندروزی هم داکیومنت‌هاش جلوم باز بود.(کلا عادت ندارم چیزیو حفظ کنم. مخصوصا تو برنامه‌نویسی که معمولا داکیومنت‌های اون زبون برنامه‌نویسی جلوم بازه اگر چه ممکنه خیلی کم ازشون استفاده کنم). تو بخش‌هایی از پروژه‌ای که در حال انجامش بودم ازش استفاده کردم و کلیاتش اومد دستم ولی خب زیاد وقت نداشتم که عمیق بشم توش و اینکه دوست دارم فریمورک‌های دیگه رو هم امتحان کنم مثل AngularJs.
بعد از Backbone رفتم سراغ زبان برنامه‌نویسی Ruby. منبعم برای یادگیریو Codecademy انتخاب کردم چون هم با کلیات ش آشنا می‌شدم و هم اینکه دست به کد می‌شدم. «دست به کد شدن برای یادگیری برنامه‌نویسی بهترین روشه»(مریلاگ). خلاصه رفتم سراغش و  با سینتکس، دستورات کنترلی، متغیرها، دستورات شرطی و متغیرهاش آشنا شدم و به نظرم زبان خیلی راحتیه و کد زدن باهاش خیلی حال میده دقیقن مثل پایتون.
سعی می‌کنم تو مطالب بعدی، چیزایی رو که یاد گرفتمو اینجا به اشتراک بذارم تا هم برای خودم مرور بشه و هم به یادگار بمونه.
*اگه وقت کنم می‌خوام بلاگو ببرم روی یه هاست شخصی و با دامین شخصی ولی تا اون موقع اینجا می‌نویسم.

ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

کارگاه‌های آموزشی پایتون و لینوکس گروه کاربران لینوکس کرج

اگر این هفته به برنامه دانشگاه امیر کبیر نمی‌رسین، می تونین هفته بعد سراغ کارگاه‌های آموزشی پایتون و لینوکس گروه کاربران کرج هم برین. روز بیست و پنجم کارگاه لینوکس است و روز بیست و ششم کارگاه پایتون. آزاده و رایگان و خوشحال. زمان کارگاه لینوکس: ۲۵ اردیبهشت ۱۳۹۳ ساعت ۱۰ زمان کارگاه پایتون: ۲۶ […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

خطای KeyError در پایتون

در پایتون و هنگام کار با نوع داده‌ی دیکشنری (dictionary) اگر کلیدی که مقدار اون رو در‌خواست دادیم وجود نداشته باشه خطای KeyError دریافت می‌کنیم: [crayon-5590c50f8a0ff038219205/] طبیعی هست که این خطا باعث می‌شه که اجرای برنامه با مشکل مواجه بشه. حالا سؤالی که پیش میاد این هست که: I) برای جلوگیری از این مشکل چی […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

منبع اصلی نوشتار زیر در این لینک قرار دارد

تابع print و پایتون۳

در نسخه‌ی ۳ زبان پایتون دستور print به تابع ()print تغییر پیدا کرده و برای استفاده از اون باید آرگومان‌ها رو همانند بقیه توابع داخل پرانتز براش ارسال کنیم. امّا این همه‌ی تغییرات نیست، اگر با زبان C و اقوام ایشون کد زده باشید حتماً می‌دونید که می‌شه با دستور printf مکان‌نما رو انتهای خط […] ادامه مطلب

منبع اصلی نوشتار زیر در این لینک قرار دارد

اجرای اسکریپت پایتون در زمینه (به عنوان سرویس) در هنگام بوت

زمانی که میخواین پروژه ای رو انجام بدین باید چند تا فاکتور کلی رو همیشه درنظر داشته باشین.برای مثال باید تا حدی که ممکن بود سرعت رو بالا ببرید.روی امنیت کار کنید و… چند وقت پیش پروژه ای (تحت وب)داشتم که مجبور شدم کلی کد بنویسم که کمی هم به سرور فشار میاورد و باعث … ادامه مطلب