برنامه نویس C++، عاشق یونیکس، و توسعه‌دهنده بازی در موتور بازی سازی آنریل انجین ۴ که هرگز از یادگیری چیزهای جدید خسته نمی شه.

و . . . یه INFP که هیچ وقت بزرگ نمیشه!

شروعی دوباره

خب، تا اونجائی که من خاطرم هست فکر می کنم آخرین پستی که من توی بلاگ فارسی ام نوشتم 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++1114، کتابخانه Boost و در نهایت CMake هست که جزو ابزارهای مورد علاقه من جهت توسعه نرم افزار برای Desktop, Web و Mobile هستن.

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

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

توزیع شما نا امن است: اوبونتو

مقاله ی حاضر پیش از این در شماره ی ۲.۵ مجله ی Snoop – اردیبهشت ماه ۱۳۸۸ – به چاپ رسیده است.
یادآور می شویم مقاله حاضر حاصل ترجمه کامل مقاله ای از Ronald McCarty تحت عنوان Your Distro is Insecure: Ubuntu است که در تاریخ ۱۳ آوریل ۲۰۰۹ در وب سایت linux-mag.com انتشار یافته است.


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

Ronald McCarty دوشنبه ۱۳ آوریل ۲۰۰۹

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

مبهم سازی کد در .NET و Java

چكیده

در این مقاله به بررسی چگونگی تولید٬ کامپایل و اجرای نرم افزارهای مبتنی بر .NET و Java در مقایسه با نرم افزارهای تولید شده با زبان های برنامه نویسی سنتی به علاوه تشریح کامل ساختار آن می پردازیم. همچنین به بحث پیرامون چگونگی Reverse Enginering و Decompile این دست از نرم افزارها خواهیم پرداخت.

در پایان راه کارهائی را جهت مقابله با موضوعات مطرح شده ارائه می نمائیم.

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

توسعه پروژه های C++ مبتنی بر Qt با استفاده از Eclipse

C++ Qt Development using Eclipse

C++ Qt Development using Eclipse

چكیده

در این مقاله به بحث پیرامون C++/Qt خواهیم پرداخت و همزمان با مفاهیم اولیه Qt آشنا خواهیم شد. همچنین با IDE قدرتمند Eclipse و پیکربندی آن جهت استفاده در کد نویسی C++/Qt, C/C++, Perl, Python/Jython, Ruby و هر زبان برنامه نویسی دیگری آشنا خواهیم شد.

در پایان نحوه نصب و پیکربندی Qt به همراه کامپایلر پیش فرض آن یعنی GCC Compiler را جهت کار با Eclipse مورد بررسی قرار می دهیم.

به دلیل تسلط نگارنده بر Mac OS X و Windows تمامی مقاله پیرامون Leopard و XP Professioanl x86 می باشد و نصب نرم افزارهای مورد نظر در لینوکس و سایر سیستم های عامل موردنظر را به مخاطب مقاله واگذار می نماییم.

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

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

طراحی و بكارگیری كیبورد فارسی مستقل از سیستم عامل

چكیده

در این مقاله اقدام به طراحی و پیاده سازی كیبورد فارسی مستقل از سیستم عامل با قابلیت به كارگیری به صورت مجزا برای هر یك از آیتم های فرم موردنظر می پردازیم.

همچنین كد موردنظر به صورت تابعی جهت بكارگیری آسان تر ارائه خواهد شد.

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

چه زماني گوگل به وب سايت شما سركشي مي كند

چكیده

در اين مقاله شاهد تحليل نحوه ي سركشي گوگل به يك وب سايت جهت استخراج اطلاعاتي مانند صفحه ي درخواست شده توسط گوگل، تشخيص اينكه صفحه در كدام سرور گوگل ذخيره شده است به علاوه ي زمان دسترسي گوگل به آن صفحه خواهيم بود.

همچنين اين اطلاعات با ارسال ايميلي در اختيار مدير وب سايت قرار خواهد گرفت.

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

ساخت لینك های دانلود متفاوت برای كاربران سایت

چكیده

در این مقاله به بررسی و ارائه راهكاری جهت تولید لینك های اختصاصی دانلود فایل برای هر كاربر – آنهم بصورت موقتی و یك بار مصرف – در یك وب سایت می پردازیم. این لینك ها به صورت مستقیم نبوده ولی توسط هر مرورگر یا نرم افزار مدیریت دانلودی قابل دانلود می باشند.

در این مقاله از Perl و ASP.NET بهمراه C# استفاده خواهیم نمود. دلیل این انتخاب تسلط نگارنده بر زبان های فوق می باشد.

بدیهی است این مفاهیم در اكثر زبان های تحت سرور یكسان بوده و برای انتقال كد به سایر زبان ها كافی است با مفاهیم كار با فایل ها و تنظیم پاسخ های سرور به مرورگر یا كلاینت آشنائی داشته باشید.

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

معرفی و بررسی پلاتفرم های ساخت بازی و انیمیشن کامپیوتری

چكیده

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

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