تولید کننده آموزش و محصولات مبتنی بر برنامه نویسی مدرن

۲۶ مطلب با کلمه‌ی کلیدی «c++» ثبت شده است

پرسشگران بی پاسخ

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

شیر گفت : چون با خر بحث میکنی و توقع داری بفهمه


خلاصه می‌شناسم کسانی رو که تمام مدتی که من مشغول برنامه‌نویسی بودم مشغول این بودند که ببینند کدوم زبان بهتره و البته بعضیهاشون هنوزم دنبال جواب سوالشونند و شروع نکردند کار رو ...
ببینید همیشه به توازنی بین بحث کردن و بحث نکردن برقرار کنید بعضی وقتا انجام کار به چند روش هزینه میبره خب باید با دلایل منطقی بحث کرد اما بعضی وقتا بجای بحث میشه کار رو انجام داد و اجازه داد نتیجه حرف بزنه یا حتی توی موقعیت های دیگه که قطعا خودتون متوجه شدید که بحث کردن فقط داره شما رو از هدف دور میکنه و نمیذاره کار پیش بره پس شاید بهتره خیلی وقتا بحث رو کنار بذاریم و دست به کد بشیم.
البته الان در حال بحث با کسی نبودم برداشت شخصی نکنید چون من خیلی وقتا وقتی با کسی بحث میکنم پست میزنم که جواب اونو بدم ولی الان واقعا با کسی در حال بحث نبودم یه ایمیل از کوئرا برام اومد که یکی باز در مورد این که چرا باید سی پلاس پلاس کار کنه سوال کرده بود بعد یاد رفقایی افتادم که بعد از 4 سال سوال کردن الان مشغول سایت زدن با ASP هستند 😄
موفق باشید.

۰۱ ارديبهشت ۹۸ ، ۱۴:۵۳ ۱ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

ماکرو برای تعریف یک استرینگ با مقدار اولیه نام کلاس در خود کلاس

یک قطعه کد کوچک برای تعریف یک متغیر از نوع std::string توی کلاس که با اسم کلاس مقدار دهی اولیه شده :

 

 

۲۳ فروردين ۹۸ ، ۱۷:۲۵ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

معرفی کتابخانه Serio

کتابخانه Serio  یک کتابخانه برای serialization در سی پلاس پلاس است که از کانتینرهای سی پلاس پلاس و دیگر تایپ‌ها و همچنین کلاس‌ها و استراکت‌ها پشتیبانی می‌کند و در مقایسه با کتابخانه libnop گوگل هم از سرعت بیشتری برخوردار است و هم پشتیبانی تایپ‌های بیشتری انجام می‌دهد.

لینک گیتهاب کتابخانه Serio

۰۷ فروردين ۹۸ ، ۱۹:۳۳ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

سی پلاس پلاس بعد از کنسول

با سلام

پیرو سوالی که امشب یه خانم محترم از بنده پرسیدند لازم دونستم یک سری توضیحات رو در قالب یک پست منتشر کنم.

سوال ایشون این بود که :

سلام
میخاستم منو در مورد ساخت یک برنامه کامل با سی پلاس راهنمایی کنید
برای مثال
یک نرم افزار مدیریت کتاب برای کتابخانه
چطوری چنین نرم افزاری با سی پلاس بسازیم تا دیگران درکامپیوترشون نصبش کنن و استفاده کنن
و مثل بقیه ظاهر زیبایی هم داشته باشه
من سی پلاس بلدم ولی فقط درکنسول کارکردم
ممنون میشم راهنمایی کنید
سپاس

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

ادامه مطلب...
۲۲ بهمن ۹۷ ، ۲۳:۱۴ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

مروری بر پایگاه داده NOSQL

یک مطلب آماده کرده بودم برای NOSQL برای رفقای شرکت منتشر میکنم شما دوستان هم استفاده کنید.

لینک دانلود pdf مروری بر پایگاه‌های داده NOSQL

موفق باشید.

۰۷ بهمن ۹۷ ، ۲۰:۳۱ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

معرفی منابع آموزشی boost.asio

با سلام خدمت دوستان عزیز

در این پست تصمیم دارم چندین منبع آموزشی برای boost.asio را برای شما معرفی کنم :

منابع رسمی boost.asio برای فراگیری

  1. Overview
  2. Using Boost.Asio
  3. Tutorial
  4. C++11 Examples
  5. Networking TS compatibility

سه کتاب موجود برای یادگیری boost.asio

  1. Boost.Asio C++ Network Programming
  2. Boost.Asio C++ Network Programming - Second Edition
  3. Boost.Asio C++ Network Programming Cookbook

دوره ویدئویی آشنایی با boost

دوستان دقت داشته باشید یاد گرفتن boost دیگه تقریبا برای همه واجبه چون کم کم داره قسمت‌های مختلفش با تغییرات کمی به اصل سی پلاس پلاس اضافه میشه و بهتره قبل از این که تمامش به سی پلاس پلاس اضافه بشه شما اون رو یاد گرفته باشید تا بعد از اضافه شدنش مشکلی با کار کردن باهاش نداشته باشید مثلا filesystem توی استاندارد 2017 به سی پلاس پلاس اضافه شد و همینطور any و optional و خیلی چیزای دیگه تا جایی که میدونم توی استاندارد 2020 قراره بخش شبکه (Network) هم اضافه بشه .

موفق و پیروز باشید.

۰۲ آذر ۹۷ ، ۱۱:۵۸ ۱ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

دانلود نسخه افلاین سی پلاس پلاس ویژوال استدیو (2 و خورده ای گیگ)

با سلام

همانطور که اطلاع دارید نسخه 2017 ویژوال استدیو با توجه به ابزار های بی‌کاربرد و کم کاربردی مانند ابزار های برنامه نویسی زبان‌های شارپ دار مانند F# و B# و c# و ... حجم بسیار بالایی دارد که دانلود و نصب آن را به شدت سخت کرده .

اما راهی وجود دارد که توسط یکی از دوستان به بنده معرفی شد و میتوان با این راه یک نسخه سبک و کم حجم و صد البته افلاین و قابل نصب بر روی سیستم با حجم دو گیگ و اندی دانلود کرد :

 

برای دانلود فایل و اطلاعات بیشتر میتوانید به لینک زیر از سایت رسمی خود ویژوال استدیو مراجعه کنید :

Create an offline installation of Visual Studio 2017

موفق باشید.

۰۴ مهر ۹۷ ، ۲۲:۱۰ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

هزار و یک نکته در سی پلاس پلاس نکته سوم (کلمه کلیدی noreturn)

کلمه کلیدی noreturn برای مشخص کردن این نکته که تابع مقداری به صدا زننده باز نمیگرداند استفاده می‌شود. دقت کنید باز نگرداندن مقدار با برگرداندن مقدار void تفاوت دارد. این کلمه کلیدی برای توابعی که هیچ مقداری به صدا زننده فراخوانی نمی‌کنند استفاده می‌شود. ( مانند توابعی که برنامه را می‌بندند یا توابعی که حاوی حلقه بینهایت هستند یا توابعی که throw exceptions می‌کنند.

استفاده از این کلمه کلیدی به کامپایلر کمک می‌کند تا بهینه‌سازی هایی را انجام دهد و همینطور هشدارهای بهتری تولید کند.برای مثال اگر تابع f مقداری بازگشت ندهد و از کلمه کلیدی noreturn استفاده کنید کامپایلر میتواند در کد

f();

g();

به شما در مورد اجرا نشدن تابع g هشدار دهد و همینطور کامپایلر متوجه می‌شود که نباید برای فراموش کردن استفاده از کلمه کلیدی return برای بازگشت دادن مقدار هشداری بدهد.

مثال استفاده :

 

۰۹ شهریور ۹۷ ، ۱۲:۰۳ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

بررسی پرفورمنس ایتم سفارشی برای QML

با سلام در این پست قصد دارم توضیحی در مورد QtQuick Custom Item Performance بدم و بعد نقدی بر روش استفاده از ساخت ایتم از سی پلاس پلاس برای کیو ام ال داشته باشم .

در این پست توضیح داده که اگر بخوایم یک ایتم کاستوم بکشیم سه راه پیش رو داریم و بعد به روش های زیر اشاره کرده :

  1. کشیدن با استفاده از اوپن جی ال و QQuickItem ( یا استفاده از یک ایتم داخلی )

  2. کشیدن با استفاده از QPainter و QQuickPaintedItem

  3. کشیدن با canvas

ادامه مطلب...
۰۱ شهریور ۹۷ ، ۰۱:۳۳ ۲ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

بهترین زبان دنیا

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

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

ولی من نمیخوام این بررسی رو توی این پست انجام بدم چون من تسلط به تمامی حوزه ها و تمامی زبان ها ندارم و این کار یک کار خیلی تخصصی و زمانبر هست .

من توی این پست میخوام در مورد حوزه هایی که توشون کار کردم یا دوست دارم کار کنم و یا در موردشون تحقیق کردم و با افرادی که در اون حوزه کار میکردند آشنا هستم صحبت کنم .

ادامه مطلب...
۱۶ خرداد ۹۷ ، ۱۵:۱۸ ۱ نظر موافقین ۱ مخالفین ۰
بهنام صباغی