کتاب سی پلاس پلاس، چگونگی برنامه نویسی

با سلام.

دوستانی که در دانشگاه آزاد تهران مرکزی، با استاد سید ابراهیمی کلاس داشتند، ایشون این کتاب رو معرفی کردند به عنوان مرجع درسی. من هم نسخه «فارسی» و PDF شده این کتاب رو برای شما اینجا قرار میدم تا دانلود کنید.

همچنین، این پست سنجاق شده تا دانشجویان و علاقمندان محترم بتونن دریافتش کنند 🙂

 

دانلود از این لینک

Share

مدل تجاری نرم افزار آزاد

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

اصلا نرم افزار آزاد چی هست؟

به نقل از ویکیپدیا :

نرم‌افزار آزاد (به انگلیسی: Free software) نرم‌افزاری است که به‌همراه کد منبع توزیع شده و با قوانینی منتشر می‌شود که آزادی استفاده، مطالعه، ویرایش و انتشار مجددِ کاربران را تضمین می‌کند.[۱][۲] نرم‌افزارهای آزاد معمولاً با همکاریبرنامه‌نویس‌های داوطلب به‌عنوان یک پروژه به‌وجود می‌آیند.

نرم‌افزارهای آزاد با نرم‌افزارهای مالکیتی (مانند مایکروسافت ویندوز) که آزادی کاربر در استفاده، مطالعه، ویرایش یا انتشار مجدد را در درجه‌های مختلف محدود می‌کنند، متفاوت است. این محدودیت‌ها با در نظر گرفتن مجازات‌هایی قانونی برای کاربرانی که قوانین آن‌ها را نقض می‌کنند، به‌وجود می‌آیند. نرم‌افزارهای مالکیتی عموماً به صورت بسته‌های اجراپذیرباینری و بدون دسترسی به کد منبع فروخته می‌شوند که جلوی ویرایش و وصله‌کردن نرم‌افزار توسط کاربر را می‌گیرد و او را برای به‌روزرسانی و پشتیبانی به شرکت نرم‌افزاری تولید کننده وابسته می‌کنند. نرم‌افزارهای آزاد از نرم‌افزاری‌های رایگان که برای استفاده، از کاربر پولی دریافت نمی‌کنند، نیز متفاوت‌اند. این نوع نرم‌افزارها نیز معمولاً تمامی حقوق نرم‌افزار را برای تولیدکنندهٔ آن محفوظ داشته و جلوی مهندسی معکوس، ویرایش و یا توزیع مجدد توسط کاربر را می‌گیرند.[۳] بنابراین موضوع اصلی نرم‌افزار آزاد، موضوع آزادی است و نه قیمت آن: کاربران آزادند که هر چه می‌خواهند با نرم‌افزار انجام دهند. این آزادی شامل انتشار مجدد نرم‌افزار به‌صورت رایگان و یا با سود نیز می‌شود.[۴] یعنی نرم‌افزار آزاد می‌تواند به صورت رایگان و یا در ازای دریافت مبلغی پول در اختیار کاربر قرار بگیرد.

خب این تعریف نرم افزار آزاد. خوشبختانه، ویکیپدیای فارسی در این زمینه هم بسیار خوب عمل میکنه، چرا که آزاد کارهای ایرانی یکی از بنیادی ترین ادیتورهای این دایرة المعارف آزاد هستند.

آیا میتونیم نرم افزار آزاد رو بفروشیم؟

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

آیا میشه یک فورک از یک نرم افزار آزاد رو تجاری کرد؟

از اونجا که مفهوم تجاری معمولا با مفهوم کدبسته یکی دونسته میشه، باید به مجوز نگاه کرد. اما فرض کنید من فایرفاکس رو ادیت کنم، و تعدادی فیچر بهش اضافه کنم. بدون تغییر مجوز بخوام به قیمت 5000 تومن بفروشمش، اینطوری میشه (البته باز هم باید به مجوز نگاه کرد). مثلا هسته لینوکس، یک نمونه بسیار کامل از نرم افزار آزاد هست که داره تجاری هم استفاده میشه. سیستم عاملی مثل آندروید، و یا حتی همین ردهت انترپرایز، دارند ازش به خوبی و خوشی استفاده میکنن.

درآمد نرم افزار آزاد چگونه هست و از چه راه هایی میشه درآمد کسب کرد؟

درامد شما، بسته به نوع نرم افزاری که ساختید، میتونه متغیر باشه. مثلا ممکنه یک نفر سالی یک ریال هم درنیاره، ولی کسی روزی صد هزار تومان، درامد خالصش از همین «نرم افزار آزاد» محترم باشه! اما عمده راه های کسب در آمد :

  • دونیشن
  • فروش پشتیبانی
  • فروش محصول بصورت فیزیکی

هستند.

من حرفم کاملا تموم شده، البته اینجا این بحث رو تموم نمیکنم و بعدها هم در موردش مینویسم.

Share

چالش توسعه و سهم من

از معرفی چالشی موسوم به IranDevChallenge که در واقع چالش توسعه ایران یا به صورت دقیق تر، چالش توسعه دهنده های ایرانی هست، مدت نسبتا زیادی میگذره. این رو بگم که آغازگر این چالش آرش بود، و آرش خودش رو به چالش کشید. من گفته بودم که باید مدتی فکر کنم و بعد بگم که چه چیزی میخوام عرضه کنم. در این چالش قرار هست که یک سرویس تحت وب یا به عبارتی همون Web Application رو طراحی و تولید کنیم  و شش ماه وقت داریم. یعنی اگر از امروز، یکم مهر 1393 شروع کنیم، یکم فروردین 1394 پروژه باید آماده باشه. البته میشه طور دیگه به قضیه نگاه کرد، پروژه ممکنه بیش تر از شش ماه طول بکشه، ولی با کیفیت بیشتر انجام بشه.

من خودم رو در حوزه موبایل به چالش میکشم. مدتها پیش، من دامنه پاسارگاد موبایل رو تهیه کردم. تا شاید بتونم یه فروم موبایلی روش نصب کنم. چیزی که بسیار کم هست 😀 . خب، حتما از اسمایلی به کار رفته فهمیدید که نه، اصلا هم کم نیست و خب چه کاریه؟ از طرفی مدیریت ایران بی اس دی هست، و در چند فروم دیگر هم فعالیت زیادی دارم و تگ های متنوع. پس چرا یک فروم جدید؟ اواسط بهمن ماه 1392 بود که تصمیم گرفتم یک اپ استور آنلاین برای iOS درست کنم، که تبلیغ شدن سیبچه در تلویزیون باعث شد که از این کار هم پشیمون بشم. آخرش که چی؟ یک رقیب سرسخت که پر از نرم افزار کرک هست و ادعا میکنه قانونی داره اپلیکیشن ها رو توزیع میکنه (البته در مورد اون دسته اپ هایی که برنامه نویس ها میفرستن، قانونیه ولی بعید میدونم OpenVPN یا Instagram خودشون اپلیکشن رو در سیبچه گذاشته باشن). و پشتیبانی هم داره.

پس نتیجه چی شد؟

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

بیشتر توضیح بده، متوجه منظورت نشدم!

خب، F-Droid میگرده نرم افزارهایی که مجوز آزاد دارند، مثل GPL, Apache, LGPL, … رو پیدا میکنه، و درون مارکت خودش قرار میده. یا برنامه نویسی که اپلیکشن رو نوشته، اپ رو درون اف-دروید قرار میده تا دوستانی که نیاز دارند، دانلودش کنن و لذت ببرن. حالا، من تصمیم دارم همین رو بصورت فارسی ایجاد کنم ولی با تفاوت عمده 🙂

چه تفاوتی؟

خب، پاسارگاد موبایل، روی تلفن همراه شما نصب نمیشه. شما بواسطه مرورگرتون بازش میکنید. همچنین، برنامه نویس ملزم به قرار دادن لینکی به سورس برنامش خواهد بود، احتمالا درخواست میکنیم تا برنامه ها روی GitHub قرار بگیرن و لینکی به گیتهاب داده بشه. در پاسارگاد، برنامه نویس برنامه رو میفروشه و من هم یک سهمی از برنامه نویس دریافت میکنم (البته میشه سیستم اپلی کرد که برنامه نویس حق عضویت پرداخت کنه، ولی ترجیح میدم درصدی از هر فروش رو بردارم). و این ها تفاوتهای پاسارگاد موبایل با F-Droid هست.

آیا سرویس های جانبی هم راه اندازی خواهی شد؟

مطمئنا پاسارگاد موبایل، یک انجمن خواهد داشت که به سوالات کاربران پاسخ بده، و همچنین یک وبلاگ که اخبارش و اخبار دنیای فناوری رو به اطلاع کاربران برسونه.

من سعی میکنم هر از گاهی در مورد پاسارگاد موبایل و عمل کردش، مطلبی بنویسم و شما رو در جریان پیشرفت کار قرار بدم :).

موفق باشید.

Share

چالشی برای زندگی بهتر

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

خب، ایده رو باید چجوری پرداخت؟ یه مطلب خیلی قدیمی توی وبلاگ خودم هست، و میگه چرا ایده های ما مسخره هستند. همه میتونن ایده پرداز باشن، ولی یکی از خواص جوامع بزرگ اینه که «همه لازم نیست یه چیزی رو بدونن» یا «همه لازم نیست متخصص امری باشن». خیلی خوب، اگر دوست دارید ایده پرداز خوبی باشید از مسخره شدن نترسید و به IranDevChallenge بپیوندید.

من خودم اعلام کردم که در این چالش شرکت میکنم. یعنی خودم رو به چالش میکشم و سرویسی رو پیاده میکنم. حالا سرویس چطوری قراره پیاده بشه؟ (البته راه طولانی هست و مطمئنا دهنم هم در کنار این سرویس، سرویس میشه 😀 ) من هنوز ایدم رو نتونستم به طور کامل بپزم. در واقع ایده من داره قل های اول رو میزنه و هر وقت به جوش اومد باید بنویسم، رسم کنم، سرچ کنم و پیاده سازی کنم، چون اصولا ما اول چیزی که در ذهن داریم رو می نویسیم ، بعدش شکل مورد نظرمون رو رسم میکنیم به تحقیق و سرچ کردن در موردش میپردازیم، و بعد پیاده سازی میکنیم. در واقع چندین مرحله رو میگذرونیم و بعد میرسیم به اون چیزی که در ذهن میساختیم.

موفق باشید!

Share

تبریک بی نظیر عید توسط یک زندانی :) (شعری از رسول یونان)

2014-09-08 11.04.30

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

اصلاح میکنم، رسول یونان یکی از شعرای ایرانی معاصر هست 🙂

متن نامه :

اینجا گوشه زندان به تو فکر میکنم
میدانی چقدر دوستت دارم؟
میدانستی من تنها کسی هستم
که از پشت میله های زندان
چیزی را بیش از آزادی دوست دارد؟…
«رسول یونان»
دوسِت دارم
بهار مبارک

 

Share

شماره چهارم رادیو بی اس دی

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

میتونید از طریق این لینک برسید به جایی که میشه رادیو رو دانلود نمود!

Share

میکروکرنل و حماسه گنو

این پست برای من جالب بود که در اون پرسیده شده بود چرا گنو اینقدر روی هسته هرد (HURD) اصرار می کنه و به توسعه سایر هسته هایی که ساختار میکرو یا هیبرید دارن کمک نمیکنه؟

اول من چند تا اشکال پیدا کردم توی متن، مینیکس مجوز BSD-alike داره و نه BSD. مجوز BSD مجوز قدیمی و دو بندی هست و الان مجوزهای BSD-alike مثل NetBSD, Simplified BSD و Apache و امثالهم جاشون رو گرفتند. مینیکس هم تحت مجوز NetBSD منتشر میشه (ظاهرا تانن باوم خیلی NetBSD رو دوست داره 😀 ).

دومین مشکل، مجوز Haiku بود، چون گفته شده که مجوز هایکو جی پی ال هست، ولی اینطور نیست و مجوز هایکو LGPL هست که میتونه بسته بشه. درست مثل خود بی اس دی.
از این بحثا بگذریم، مجوز بی اس دی میتونه عوض هم بشه. یعنی اگر یکی اومد و هک های خودش رو روی مینیکس اعمال کرد، میتونه محصول نهایی رو با مجوز جدیدی ارائه بده.
خب اما بحث این پست اینه که «کم دونستن» به مراتب بدتر و زیانبار تر از ندونستن هست،حالا این که یک بحث ساده است و به کسی لطمه ای نمیزنه، ولی هستن «خود پزشک پندار» هایی که با خوندن چهارتا پست تو فسیبوک دارو تجویز میکنن و … .

Share

کتاب جدید اوبونتو برای تازه واردها

خب، خیلی از خوانندگان این وبلاگ میدونن اوبونتو چیه و چی کار میکنه. اوبونتو در کل سیستم عامل ساده ای هست، ولی همین سادگی باعث میشه که خیلی ویژگی های این سیستم عامل قدرتمند، به چشم نیاد. بچه های وبسایت آزاد راه که یکی از بهترین منابع لینوکسی و در کل اوپن سورس فارسی هم محسوب میشه، کتابی تحت عنوان «اوبونتو برای تازه واردها» منتشر کردند. این کتاب الکترونیکی هست و به صورت PDF قابل دریافت و خواندن هست. همچنین به گفته وبسایت خود کتاب، نسخه ePub هم در حال انتشار هست (یک امتیاز مثبت برای ساسان، نوا و احمد، چرا که ePub به خوبی با اکثر دستگاه های هندست، مثل اکثر گوشی های موبایل و تبلت ها سازگار هست).

خب، من این کتاب رو دانلود کردم و فهرستش رو خوندم، هنوز خودش رو نخوندم (یه بار یه کتاب فروش به من گفت که کتاب خوب از فهرستش مشخص میشه). در این کتاب همه چیز به خوبی آموزش داده شده (با توجه به فهرستش + کتاب اوبونتو ۱۲.۰۴) پس مشکلی برای تازه کار ها نخواهد بود.

برای این که این کتاب رو به اشتراک بگذارید این پست آزاد راه رو میتونید جاهای مختلف به اشتراک بگذارید. البته، این هم وبسایت خود کتاب هست و میتونید کتاب رو دانلود کنید و لینک دانلودش رو هم به بقیه بدید :).

 

Share

پروپاگاندای پلنگ صورتی

اگر به پست های من دقت کنید، متوجه خواهید شد که عنوانها معمولا یک جنبه طنز گونه دارند ولی خود مطلب طنز نیست یا یک طنز بسیار ضعیفه. به عقیده من، عنوان طنز آمیز حتی برای یک مطلب کاملا جدی، میتونه جذابیتش رو چند برابر کنه. به این کار میگیم «تبلیغات». تبلیغ، هیچوقت بد نیست. اما باید جاش رو دونست. مثلا، بدترین نوع تبلیغ، Pop up هایی هستند که در یک سایت (مثلاً سایت دانلود موسیقی) با کلیک روی یک لینک، باز میشن و مزاحمت ایجاد میکنن.

تبلیغ، میتونه برای هرچیزی باشه. گونه ای خیلی خیلی خاص از تبلیغ هست، که رنگ و بوی سیاسی و اجتماعی به خودش میگیره، و بهش گفته میشه «پروپاگاندا». پروپاگاندا به هر شکل و هرچیزی میتونه باشه. مثلا، پروپاگاندای آلمان و آمریکا و … در جنگ دوم جهانی. آلمان، پروپاگانداهای نژاد پرستانه و ضد کمونیستی، آمریکا نمایش دادن آلمان و ژاپن و … در شکل موش و جانوران موذی و … . پروپاگاندا، نوعی درگیری لفظی هم هست، اما بیشتر جنبه دولتی و سیاسی داره تا جنبه اجتماعی.

پروپاگاندا به چه شکل هایی خودش رو نشون میده؟

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

خب، پس مستقیم چی میشه؟ مستقیم میشه مثل «پوسترهای یهود ستیزانه آلمان نازی» یا «عموسام شما را میخواهد» که رسما و مستقیما توسط دولت خاصی ارائه میشه. مثل :

که در این پروپاگاندا، ایالت آلاسکا، یک تله مرگبار برای ژاپن ترسیم شده و ژاپن رو تنها به شکل یک موش به تصویر کشیده.

این هم مطلبی که قولش رو در شبکات اجتماعی داده بودم، در مورد پروپاگاندا!

موفق باشید!

Share

داستان لینوکس، کتابی که باید بر بستر اینترنت خواند.

فکر کنم اکثر خواننده های وبلاگ من، حداقل کسانی که از طریق فرومهای اوبونتو و … با وبلاگ من آشنا شدند، لینوس تروالدز رو بشناسند، کسی که دوست داشت سیستم عامل خودش رو بنویسه و این کار رو هم کرد و نام سیستم عاملش شد لینوکس، و این لینوکس الان یکی از ایمن ترین و پر کاربر ترین سیستم عاملهای جهان هست که در قالب «توزیع ها» خود نمایی میکنه! توزیع هایی مثل دبیان، آندروید، اوبونتو، ردهت انترپرایز و …! کلی تفاوت بصری، اما یکسان در هسته!

جادی رو هم اکثرا میشناسید، وبلاگ نویسی که نثر قشنگی داره و البته یک صدای گرم، پادکست «رادیوگیک» رو میخونه و من هم معمولا وبلاگش رو دنبال میکنم :).

کتاب Just For Fun (فقط برای تفریح) یک اتوبیوگرافی (خودزندگی نامه یا حسب حال نامه) به قلم شخص لینوس هست، و توسط جادی ترجمه شده. زمانی که جادی نتونسته از طریق قانونیش، کتاب رو منتشر کنه، تصمیم گرفته تا اون رو آنلاین منتشر کنه :

من سال ها پیش کتاب Just For Fun که مربوط به زندگی لینوس توروالدز و نوشته شدن لینوکس است رو ترجمه کردم ولی ارشاد بهش مجوز چاپ نداد. حالا تصمیم گرفتم آنلاین برای بقیه بذارمش و اینجا آپلودش کردم: www.LinuxStory.ir . خوشحالم می شم بخونین و به دیگران معرفی کنین چون به نظرم نشون دهنده بخشی از فرهنگی است که لینوکس زاده اونه.

منبع هم حرف جادی در فروم اوبونتو هست.

خوندن این کتاب آسونه! تنها نیاز دارید تا به اینترنت دسترسی داشته باشید و بتونید اسکرول کنید! یا یک نرم افزار PDF خوان داشته باشید!

این هم لینک داستان لینوکس!

Just_for_Fun_cover

 

Share

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