Blog Comments

اضافه شدن بخش نظرات

خب بالاخره بخش کامنت ها هم به هر دو وبلاگ فعلی و وبلاگ انگلیسی اضافه شد. بخشی از این قضیه که چرا تا حالا چنین چیزی در این وب سایت وجود نداشت مربوط میشه به مقاومت من، مقداری سخت گیر بودن راجع به سیستم های کامنت گذاری مرسوم و بلاخره مسایل فنی. از آنجائی که در فیدبک هائی که به شکل مستمر از سوی دوستان گرامی دریافت می کردم قضیه کامنت، بحث و تبادل نظر از اولویت بالائی برخوردار بود بالاخره با صرف زمان واقعا زیاد به آنچه که خواسته خوانندگان این وبلاگ و خودم بود رسیدم. بخشی از داستان این تلاش ها و راه حلش رو که یک نرم افزار کد باز به نام Discourse هست رو اینجا توضیح دادم. این نرم افزار توسط Jeff Atwood خالق وب سایت های Stack Overflow و مجموعه Stack Exchange توسعه داده شده که در وبلاگ خودش با نام Coding Horror هم استفاده میشه.

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

لطفا نظرات و پیشنهادات خود رو با من از طریق بخش کامنت ها در میان بگذارید. سعی می کنم تا جائی که مقدور باشه نظرات فنی و غیر فنی رو جهت بهتر شدن کیفیت مطالب اعمال کنم.

منتظر مطالب جدید باشید!

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


FreeBSD یا Linux مسئله این است؟

FreeBSD در مقابل LinuxFreeBSD در مقابل Linux

قبل از پرداختن به تفاوت های میان FreeBSD و GNU/Linux بایستی خاطر نشان شد که بیش از هر چیز شباهت های زیادی میان این دو وجود دارد. در واقع هر دوی آن ها توسط سازمان های غیرانتفاعی مختص خود با یک هدف مشترک توسعه می یابند: قابل اتکاترین سیستم عامل با بیشترین قابلیت استفاده.

در سومین مقاله از سری آموزشی FreeBSD، با تفاوت های FreeBSD و GNU/Linux آشنا خواهیم شد. توصیه می شود پیش از مطالعه این مقاله قسمت های اول و دوم این سری را مطالعه نمائید.

هشدار: این مقاله بر اساس تجربیات و نظرات شخصی نگارنده در کار با هر دو سیستم عامل، به رشته تحریر در آمده است. لذا، از آنجا که بحث مقایسه مطرح است ممکن است برخی از افراد با نظرات مطرح شده در این مقاله موافق نباشند. شایان ذکر است که تصمیم گیری و برداشت نهائی از مطالب بر عهده خواننده خواهد بود.

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


آموزش نحوه ی نصب Unreal Engine 4

A Boy and His KiteA Boy and His Kite

قبلا در مقاله ای مفصل به شرح تاریخچه Unreal Engine پرداخته و سپس با برخی از مفاهیم و کلیات آن آشنا شدیم. حال نوبت به نصب آن می رسد. نصب این Game Engine و ابزارهای آن بسیار ساده می باشد. اما، دلایلی همچون: نصب آنلاین، فایل های حجیم، دسترسی کند برخی از کاربران به اینترنت و در نهایت تحریم های بین اللملی، ممکن است برخی از کاربران ایرانی را جهت دریافت این نرم افزار با مشکل مواجه کند. لذا علاوه بر نصب UE4، اقدام به ارایه راهکاری مناسب و کم هزینه جهت دریافت آن در چنین شرایطی می نمائیم.

در پایان این مقاله، قادر به انجام موارد ذیل خواهید بود:

  • ساخت یک حساب کاربری نزد شرکت Epic Games (البته اگر در حال حاضر چنین حساب کاربری ندارید)
  • دریافت و راه اندازی برنامه نصب به نام Epic Game Launcher
  • ورود به Epic Game Launcher با حساب کاربری تان
  • نصب Unreal Engine
  • اجرای Unreal Engine

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


FreeBSD چیست؟ یک نمای کلی از سیستم عامل FreeBSD

Beastie The BSD Daemon / Mascot

'Beastie' The BSD Daemon / Mascot (a near homophone of the letters B-S-D pronounced slurred together)

FreeBSD چیست؟ پاسخ کوتاه: FreeBSD یک سیستم عامل مدرن و پیشرفته جهت استفاده در سرورها، کامپیوترهای شخصی، لپ تاپ ها و دستگاه های Embedded به همراه پشتیبانی از پلتفرم های گسترده می باشد که توسط هواداران آن به شکل داوطلبانه برای بیش از سه دهه در دست توسعه بوده است. قابلیت های پیشرفته آن در زمینه شبکه، امنیت و ذخیره سازی، آن را به انتخاب اول برخی از پرترافیک ترین وب سایت ها، همچنین دستگاه ها و سیستم های فراگیر شبکه (فایروال ها و روترها) و ذخیره سازی داده (NAS/SAN) نموده است. این سیستم عامل توسط کمپانی ها، ISP ها، دانشگاه ها، موسسات تحقیقاتی، دانشجویان، دانش آموزان و کاربران خانگی در سراسر دنیا به منظور کار و امور تحقیقاتی مورد استفاده قرار می گیرد.

در دومین مقاله از سری آموزشی FreeBSD، در قالب دسته ای از پرسش و پاسخ با ماهیت، برخی مفاهیم، ویژگی ها و اهداف FreeBSD آشنا خواهیم شد.

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


مقدمه ای بر موتور ساخت بازی Unreal Engine 4

صفحه بارگذاری Unreal Engine 4 Editorصفحه بارگذاری Unreal Engine 4 Editor

علیرغم حضور نام های بزرگی مانند CryEngine از شرکت Crytek و سایرین در دنیای بازی، بدون شک Unreal Engine موفق ترین موتور بازی سازی AAA تا به امروز می باشد. با ظهور مارکت های جدیدی مانند Valve Steam, Apple App Store, Google Play و سایر بازارهای از این دست در دنیای بازی های کامپیوتری، فرصت های بسیاری جهت درخشش توسعه دهندگان مستقل در دنیای بازهای کامپیوتری ایجاد شد. قطعا یکی از عوامل موفقیت توسعه دهندگان مستقل در این بازارهای نوظهور موتور بازی سازی Unity بود که برای چند سال سلطان بی چون و چرای دنیای Indie بود. این موتور بازی سازی بدلیل سهولت یادگیری و استفاده، همچنین قابلیت تولید خروجی برای پلتفرم های مختلف شامل دسکتاپ، موبایل و کنسول در ازای پرداخت مبلغی نسبتا معقول، داشتن فروشگاه Asset که باعث کاهش هزینه توسعه بازی ها توسط توسعه دهندگان می شد، از محبوب ترین موتورهای بازی سازی نزد تولیدکنندگان مستقل می باشد. لذا شرکت Epic سازنده موتور بازی سازی Unreal Engine ابتدا با عرضه UDK که بر اساس موتور Unreal Engine 3 توسعه داده شده بود و سپس باز نمودن و عرضه کد Unreal Engine 4 بر روی GitHub که قبلا با مبلغ بسیار گزافی فقط در اختیار آنهائی که این شرکت Licensees می نامید قرار داشت، گام بزرگی به سوی تسخیر بخشی از بازار بازی های مستقل نهاد.

در این سری از مقالات به آموزش ساخت بازی با استفاده از Unreal Engine 4 برای پلتفرم های مختلف Destkop, Mobile و Web خواهیم پرداخت. در اولین مقاله از این سری، به شناخت Unreal Engine 4، مختصری تاریخچه و توضیح مفاهیم آن می پردازیم.

جهت دنبال نمودن این دوره آموزشی نیازی به هیچگونه آشنائی مقدماتی با ساخت بازی های کامپیوتری نخواهد بود.

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


سری آموزشی توسعه بازی های کامپیوتری و C++

سری آموزشی توسعه بازی های کامپیوتری و C++سری آموزشی توسعه بازی های کامپیوتری و C++ - منبع تصویر: ویکی پدیا

پس از شروع سری آموزشی FreeBSD، تصمیم بر این شد که همزمان سری آموزشی توسعه بازی رو راه اندازی کنم. از آنجائی که من Game Engine های مبتنی بر C++ رو ترجیح میدم و بر موتورهای بازی Unreal Engine 4 و Cocos2d-x تسلط دارم دو دوره مجزای بازی سازی رو با هر یک از این Game Engine ها در این بلاگ شروع می کنم. ممکنه بعدها سرکی هم به OGRE و Godot (بخوانید گِدو، نام این Engine از نمایشنامه Waiting for Godot گرفته شده) بکشیم. اما در حال حاضر فقط Cocos2d-x و Unreal Engine 4.

چون که کار با Cocos2d-x نیازمند C++11 هست در یک سری آموزشی دیگر به شکل همزمان، C++11/14 رو هم به زبان ساده و Beginner Friendly آموزش خواهم داد. به لطف Blueprints Visual Scripting که نسخه مدرن تر Kismet در Unreal Engine 3 و UDK یا همان Unreal Development Kit هست کار با Unreal Engine 4 ابدا نیازمند C++11 نخواهد بود. اما با در نظر گرفتن کارائی 10 برابری C++ نسبت به Blueprints بلد بودن C++11 کمک می کنه که شما حداکثر کارائی رو از UE4 بهره برداری کنید.

در این سری آموزشی شما توانائی تولید بازی برای پلتفرم های Windows, Mac OS X, Linux, Android, iOS و HTML5 رو به دست خواهید آورد.

در طول هرسه دوره فرض بر این خواهد بود که مخاطب هیچ دانش قبلی از برنامه نویسی با C++ و یا بازی سازی نداره. بنابراین تمام سعی من این خواهد بود که به زبان ساده مفاهیم رو انتقال بدم.

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


تاریخچه FreeBSD

نمودار سیر تکاملی سیستم عامل های Unix و شبه Unixنمودار سیر تکاملی سیستم عامل های یونیکس و شبه یونیکس - منبع تصویر: ویکی پدیا

اگر از یک سیستم عامل آزاد و کد باز استفاده می نمائید، به احتمال قریب به یقین مبتنی بر گنو و هسته لینوکس می باشد. اما باید بدانید این پلتفرم های کد باز و آزاد نه تنها اولین نرم افزارها در نوع خود نبوده، حتی حرفه ای ترین و یا موفق ترین نرم افزارهای کد باز تجاری شده در نوع خود نیز محسوب نخواهند شد. در هر سه این موارد Berkeley Software Distribution یا به اختصار BSD از GNU/Linux پیشی می گیرد. حال سوال اصلی اینجاست که چرا BSD در اکوسیستم نرم افزارهای آزاد به حاشیه رانده شده است، در حالی که توزیع های مختلف GNU/Linux گوی سبقت را از آن ربوده اند؟

در سه قسمت اول از سری آموزش های FreeBSD در ابتدا به تاریخچه آن خواهیم پرداخت. در قسمت دوم اقدام به بررسی ماهیت و ویژگی های آن نموده و با ساختار و مفاهیم آن آشنا خواهیم شد. و در نهایت در قسمت سوم آن را با GNU/Linux مقایسه می نماییم. پس از این سه قسمت در مقالات بعدی اقدام به نصب و راه اندازی FreeBSD جهت استفاده در Server به همراه نصب سرویس های مختلف از جمله Web Server, FTP Server, Mail Server, DNS Server و … جهت استفاده در محیط های Production می نمائیم. در کنار آن به نصب و پیکربندی FreeBSD در Desktop جهت Web Browsing, Multimedia و … خواهیم پرداخت. همچنین اقدام به توضیح مفاهیم یونیکس از ابتدا می نمائیم. در ادامه این مقاله به قسمت اول، تاریخچه FreeBSD خواهیم پرداخت.

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


There and Back Again

شروعی دوباره

خب، تا اونجائی که من خاطرم هست فکر می کنم آخرین پستی که من توی بلاگ فارسی ام نوشتم 6 یا 7 سال پیش بوده. در واقع در اون زمان ابدا وبلاگی وجود نداشت و من یک وب سایت خیلی ساده داشتم متشکل از چند تا صفحه که با زبان برنامه نویسی Perl نوشته شده بود. یکی از اون صفحات صفحه مختص مقالات بود که بازدید کننده ها می تونستن پست های این وبلاگ رو در قالب فایل های نرم افزار Macromedia FlashPaper دریافت و مطالعه کنند.

وب سایت قدیمی من نوشته شده در Perlوب سایت قدیمی من نوشته شده در Perl

پس از آشنائی من با مفهوم Static Generator ها در نهایت تصمیم گرفتم که تمامی مقالات رو با صرف مقداری زمان تبدیل کنم به پست های Octopress در قالب Markdown که برای اولین بار لذت فوق العاده وبلاگ نویسی رو با این نرم افزار تجربه کردم و بعدها با مهاجرت به Hexo که وبلاگ فعلی هست. در تمامی این مدت من هر از چندگاهی مقاله ای در دیگر وبلاگم به زبان انگلیسی منتشر کردم که این اولین پست فارسی من در تمامی این دوران هستش.

خب جهت جلوگیری از گزافه گوئی سخن رو کوتاه میکنم و می رسیم به هدف از راه اندازی مجدد این وبلاگ. از طرفی، خوب یا بد، من به معنای واقعی کلمه مشهورم به Jack of All Trades بودن و از طرف دیگه علاقه و شوق وافری دارم به یادگیری و یاد دادن. از اونجائی که من سال هاست تدریس رو کنار گذاشتم این وبلاگ رو فرصتی می بینیم جهت ارضای این نیاز درونی.

چیزهای زیادی هست که دوست دارم در موردشون بنویسم، اما از اونجائی که در وب فارسی منابع آموزشی فراوان هست در حال حاضر ترجیح میدم راجع به موضوعاتی بنویسم که منابع آموزشی زیادی در وب فارسی برای اون ها وجود نداره. انتخاب اول من برای وبلاگ فارسی ام FreeBSD هست. متاسفانه علیرغم اینکه به شخصه کمابیش 10 سال هست که ازFreeBSD هم به عنوان سیستم عامل Desktop و هم Server استفاده میکنم هیچ منبع آموزشی فارسی رو در این مورد مشاهده نمی کنم. از طرف دیگه خیلی از اطرافیانم به یادگیری این سیستم عامل ابراز علاقه میکنن، پس فرصت رو غنیمت می شمارم و اولین سری از آموزش های FreeBSD برای Server و Desktop رو به شکل مستمر و پایسته در این جا قرار میدم.

انتخاب بعدی می تونه ساخت بازی و آموزش موتورهای بازی سازی Cocos2d-x و Unreal Engine 4 باشن که پس از راه اندازی سری FreeBSD سعی می کنم با برنامه مشخص اینجا قرار بگیره. در نهایت تاپیک سومی که دوست دارم در موردش بنویسم ابزارهای توسعه ISO C++11/14، کتابخانه Boost و در نهایت CMake هست که جزو ابزارهای مورد علاقه من جهت توسعه نرم افزار برای Desktop, Web و Mobile هستن.

امیدوارم که کیفیت پست های آینده مورد قبولتون باشه. پس منتظر آموزش های جدید باشید و در تلگرام این وبلاگ رو دنبال کنید.

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