جستجوی این وبلاگ

۱۳۸۹ مهر ۲۹, پنجشنبه

لوا جلسه اول





بدون هیچ مقدمه ای در لینوکس پس از نصب زبان لوآ خط فرمان را اجرا کنید سپس دستور lua را وارد کنید .
همانطور که مشاهده می کنید بعد از وارد کردن دستور lua وارد پوسته لوآ می شوید و حالا شما می توانید کد هایتان را بنویسید . این دستور اطلاعاتی نیز به ما می دهد مانند اینکه نسخه لوآ 5.14 است و مربوط به سال 2008 . خوب بگذارید از این پوسته به عنوان یک ماشین حساب استفاده کنید. حالا به تصویر زیر توجه کنید :
کار دستور print چاپ بر روی صفحه نمایش است . هر چیزی که در بین پرانتز های دستور print قرار داشته باشد یا عینا یا پس از جایگزینی چاپ میشود .

print( 5 + 3)
این دستور به لوا می گوید که مقدار 5 را به 3 جمع کن و نتیجه را به تابع پرینت بده و تابع پرینت موظف است مقدار خروجی را بر روی صفحه نمایش چاپ کند ؟ در خط بعد نتیچه که مقدار 8 است چاپ شده است

a = 5
b = 3
اما این دو خط . در خط اول متغییری با نام a را تعریف کرده ایم سپس مقدار 5 را a قرار داده ایم . در خط بعدی نیز متغییری به نام b تعریف کرده ایم و مقدار ۳ را در آن قرار داده ایم . به این دلیل به تعریفات متغییر می گوییم که ممکن است در طول برنامه مقدار این متغییر ها تغییر کند . مثلا فرض کنید دستورات زیر :
a = 5
b = 3
print( a + b) -------> 8

b = 4
print( a + b ) -------> 9
ابتدا مقدار b عدد 3 بود بنابراین مقدار a + b نیز 8 خواهد شد اما در خط بعد من مقدار b را 4 قرار دادم پس دیگر مقدار b عدد ۳ نیست بلکه ۴ است و نتیجه a + b نیز 9 خواهد شد .

عملگرهای ریاضی در زبان لوآ .
  • عملگر * بخوانید ضرب . کارش ضرب دو چیز است . مثلا a * b به معنی این است که a را در b ضرب کن
  • عملگر / بخوانید تقسیم . کارش تقسیم دو چیز است . مثلا a / b به معنی این است که a را بر b تقسیم کن
  • عملگر + بخوانید جمع . کارش جمع دو چیز است . مثلا a + b به معنی این است a را با b جمع کن .
  • عملگر - بخوانید تفریق . کارش تفریق دو چیز است . مثلا a - b یعنی b را از a کم کن
  • عملگر % بخوانید باقیمانده . کارش تقسیم دو چیز بر هم و گرفتم باقیمانده است مثلا خروجی دستور زیر توجه کندی :
print ( 10 % 3) ------> 1
واضع است که باقیمانده تقسیم 10 بر 3 برابر با یک است .

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

تا بحال ما اعداد را خودمان دستی وارد کردیم بگذارید این بار کاربر اعداد را وارد کند.
حالا بررسی می کنیم ببینیم چه اتقاقی افتاد :
a = io.read()
یعنی بخوان از ورودی و بریز در متغیر a به همین راحتی . بعد از این دستور لوآ منتظر می ماند که کاربر یک عدد را وارد کند که من عدد 12 را وارد کنم . و برای خواندن مقدار b از ورودی نیز به همین شکل استفاده کردیم و در آخر مقدار a را با b جمع کردم.

مشق شب : 8 متغییر تعریف کنید سپس سعی کنید با استفاده از مقداردهی اولیه و استفاده از خواند مقداری که کاربر وارد می کند اعمال چهار گانه ریاضی به اضافه باقیمانده را محاسبه کنید .

ما بیشتر از یک در صدیم

Nosotros > 1%

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

۱۳۸۹ مهر ۲۳, جمعه

Lua جلسه صفر



از حالا سعی می کنم که یکم مطالب وبلاگ رو بهتر کنم البته من وبلاگ نویس نیستم و زیاد هم علاقه ای ندارم ولی سعی خودمون رو خواهیم کرد . همانجوری که از عنوان موضوع مشخص هست قراره من یک سری مطالب آموزشی در باره یک چیزی به نام لوآ قرا بدم . اما این lua چیست . لوا یک زبان برنامه نویسی اسکریپتی هست . یک زبان اسکریپتی که کد هاش خیلی شبیه زبان C هست . اما این زبان چه فایده ای داره ؟ اصلا چرا استفاده میشه ؟ چرا تا حالا اسمش رو کم شنیدیم ؟
لوآ زبانی هست که کاربرد زیادی در صنعت بازی سازی داره . تقریبا کمتر بازی رو میشه پیدا کرد که از لوآ استفاده نکنه . نمونه اش Word of Warcraft معروف هست . بزارید این مطلب رو با چند سوال به پایان برسونیم .

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

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

3- لوآ رو از کجا دریافت کنم ؟
اگر از لینوکس استفاده می کنید به احتمال زیاد لوآ در مخازن توزیع شما هست . اگر از ویندوز استفاده می کنید از این آدرس لوآ رو دانلود کنید.

4- دیگه به چه چیزهایی نیاز داریم ؟
یک ویرایشگر (Editor) . من از Gvim استفاده می کنم . تمام اینها بستگی به شما داره . ولی بطور پیش فرض توی گنوم از gedit و توی kde از kate می تونید استفاده کنید و توی ویندوز هم فکر کنم notepad++ خوب باشه ولی من روی gvim توضیح می دم .

5- تنظیم gvim برای استفاده از lua ؟
تنظیم خاصی نداره ولی بزارید چند تا کار انجام بدیم . gvim یا vim رو اجرا کنید . برای استفاده از vim می تونید از دستور vim در ترمینال استفاده کنید بعد از اجرا شدن دستورات زیر را اجرا کنید :
set ai:
توضیح : این دستور تورفتگی رو فعال می کنه خیلی ساده یعنی auto indention رو فعال کن . حالا می خوام به vim بگم هر تورفتگی به اندازه 4 باشد یعنی هر وقت کلید Tab رو فشار دادم 4 واحد تورفتگی اجرا کنه خیلی سادست :
set tabstop=4:

حالا می خوام به vim بفهمونم که کدهای من رو به صورت رنگی نشون بده :
syn on:
معلوم هست فکر کنم . یعنی syntax on .

برای ساخت و ذخیره فایلی با نا مhello.lua دستور زیر را وارد می کنیم :
w hello.lua:
حالا اگر بخوام این فایل رو توی یک پوشه بانام /try/lua دخیره کنم اینجوری میشه :
w try/lua/hello.lua:
6-آیا می توانم کدها را کپی کنم در یک ادیتور و استفاده کنم ؟
خیر . شما باید خودتان کدها را وارد کنید . بهترین روش برای یادگیری یک زبان برنامه نویسی نوشتن کدها و اشتباهات زیاد است .

7- مطالب چگونه منتشر خواهند شد ؟
هفته ای دو یا سه جلسه و آخر هفته ها به وبلاگ اضافه خواهد شد .



۱۳۸۹ مهر ۲۲, پنجشنبه

کافی نت دانشگاه با طعم لینوکس

مدیر گروه کامپیوتر ما که از قضا استاد ساختمان داده ما هم هست کارشناس ارشد هوش مصنوعی و یکی از استفاده کنندگان لینوکس البته ایشون برنامه نویس ویندوز هم هستند ( به دلیل اقتضای جو نرم افزاری از نوع مایکروسافتی در حال حاضر ) . ایشون قراره روز دوشنبه کارگاهی رو با عنوان Linux vs Windows اجرا کنند روزی که موضوع رو مطرح کرد اساسی مایکروسافت رو برد زیر سوال و همش تاکید می کرد که شما دانشجوهای ای تی نباید فقط از ویندوز استفاده کنید با وجود اینکه بهترین نیست گرون ترین هم هست و از طرف دیگه تاکید میکرد که باید با سیستم های لینوکس و مک هم کار کرد به هر حال دانشجوهای امروز پیام آوران فردای اطلاعات کشور هستند بنابراین حضور همگی در کارگاه اجباری هست . من هم از خدا خواسته گفتم که سی دی و دی وی دی ها رو تهیه می کنم و در کارگاه بین بچه ها پخش می کنم ایشون علاوه بر اینکه از نظر من خوششون اومد تاکید کرد که بهتره کافی نت و کارگاههای کامپیوتر هم روشون لینوکس نصب بشه اصلا بجای اینکه سی و ساختمان داده در سی رو توی Turbo C درس بدم توی لینوکس درس می دم .( اینجاست که باید بگی منو این همه خوشبختی مهاله ) . فکرش رو می کنم توی دانشگاه ما netbeans و vi و gedit و gcc جایگزین Turbo C میشه کلی حال می کنم احتمالا دانشگاه ام ای تی هم باید بیاد از ما یاد بگیره :) . امیدوارم دوباره روزی برسه که شیراز لاگ رو سرپا کنیم . پیشنهاد من به دانشجو ها این هست که اول ترم یک تی شرت لینوکسی فکنم اونی که توی سی تو هست تی شرت سفیده تاثیرش بیشتره بپوشند و هر استادی که گفت مثلا می خوایم C# درس بدم بگید استاد ما با این مشکل داریم نمیشه مثلا php استفاده کنیم البته قبلش هم چند نفری رو باید اغفال کرد فوقش استاد میگه نه . تجربه بعدی هم این بود که برای استفاده از کافی نت دانشگاه حتما باید username/ password داشته باشی دقیقا قضیه علمیش رو نمی دونم ولی وقتی از یک سی دی لایو تا حالا با سابایون ، پارسیکس ، اوبونتو امتحان کردم خودش روی شبکه خودش رو کانفیک میکنه و می تونی از اینترنت استفاده کنی اینجوری میشه که با معرفی این روش به همکلاسی ها کم کم بدون اینکه بدون لینوکس چی هست ازش استفاده می کنند و یاد میگیرند از فایرفاکس ، پیجین و فارسی کردن صفحه کلید استفاده کنند و فایل های دانلودیشون روی فلش مموری ذخیره کنند این آخری ها یکیشون یاد گرفته بود که یک ایزو رو توی یکی از درایو ها قایم کنه و با ویرچوال باکس اجرا کنه و هر وقت مسئول کافی نت میومد می گفت من دارم از ویندوز استفاده می کنم :) . فکنم همه چی خوب داره پیش میره بهر حال فکنم اگر روحیه گنویی داشته باشید می تونید خودتون خیلی چیزا رو توی دانشگاه تغییر بدید دانشگاه خودش تغییر نخواهد کرد .

۱۳۸۹ مهر ۱۴, چهارشنبه

اندر احوالات من ، لینوکس ، سی شارپ

یک روزی این نوشته مجید رو خوندم . اون موقع گفتم عجب ! . خوشبختانه ترمی که زبان C رو داشتیم استادمون لینوکس کار بود و دشمن سر سخت ویندوز مایکروسافت بنابراین من راحتی بیشتری باهاش داشتم . اکثر مطالب رو یاد می گرفتم و مشکلاتم در رابطه با سی در لینوکس باهاش مطرح می کردم و خیلی ترم هیجان انگیزی شده بود و من هم خیلی خوشحال و راضی بود. خوشبختانه ترم بعد هم که ساختمان داده ها بود بازم هم یک استاد لینوکس کار خوب اصولا چون من زیادی مثبت فکر می کنم همش چیزای مثبت به طرفم میاد . اما مشکل امن از درس طراحی صفحات وب شروع شد . استاد می خواست زبان C# رو شروع کنه و حالا خودتون حال من رو حساب کنید . از اینکه یک زبان دیگه قرار بود یاد بگیرم ناراحت نبودم از این ناراحت بودم که دوباره باید دست به دامن ویندوز حالا چه نصب از طریق مجازی یا در کنار لینوکس یا حتی استفاده از مونو البته خود ریچالد استالمن در این صفحه هم گفته که از مونو استفاده نکنید . با این وجود به استاد اسرار کردم که بجای زبانی مثل C# زبانی مثل PHP رو شروع کنه (اخ اگر میشد) استاد گفت آقای اهتمام برادر من بزار من امتحان کنم ببینم بچه ها چقدر C بلد هستند اگر سی رو خوب بلد بودند C# اگر هم نه PHP ولی آخرش من نفهمیدم چی شد که ایشون شروع به آموزش C# کردند . به هر حال باز ما رو مجبور کردند مجبور کردند مجبور کردند مجبور کردند مجبور کردند که کاری رو که دوست نداریم انجام بدیم . از همه بدتر من نمی دونم چه اسراری داریم به جعفرنژاد قمی . ساختمان داده = جعفرنژاد قمی ، سی شارپ = جعفرنژاد قمی ،‌ سیستم عامل = جعفرنژاد قمی ، سی = جعفرنژاد قمی ، سی پلاس پلاس = جفعرنژاد مقی ، سی پی یو = جعفرنژاد قمی ، ام پی تری = جعفرنژاد قمی ، آشپزی بدون گوشت = جعفرنژاد قمی . خدا رو شکر جناب جعفرنژاد قمی مرهمت فرمودند و التافشون رو نصیب این جانبان کردند هنوز طرف لینوکس بطور تخصصصصصصصصصصصی نیومدند . (البته شاید هم اومند من کتابی از ایشون ندیدم ) . ولی آخرش به این نتیجه رسیدم که بیخیال خیلی چیزا توی دانشگاه اصلا چرا بگیم دانشگاه بگیم یک شعبه فعال از مایکروسافت و بعد از کلی فکر کردن و دنبال چاره به این نتیجه رسیم که یک آهنگ از Modern Talking بزارم به نام :
You Can Win , If You Want

۱۳۸۹ مهر ۹, جمعه

فیلم سینتل به همراه زیرنویس

دیشب فیلم سینتل منتشر شد . فکنم حدودای ساعت 9:30 دقیقه بود . توی کانال blender.ir هم جشن گرفته بودیم به مناسبت انتشار فیلم . وقتی دانلودش کردم و یک دور نگاه کردم دیدم زیر نویس انگلیسی هم داره بنابراین زیر نویس رو به فارسی ترجمه کردم البته این اولین زیر نویس کردن بود که انجام می دادم زیاد سعی نکردم مبتنی بر متن باشه و سعی کردم بیشتر روی فیلم ست بشه . برای دانلودش کافیه از این لینک دانلود کنید . فیلم خیلی خوب شده و انتظارات رو برآورده کرده .