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

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

معرفی منابع آموزشی 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

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

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

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

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

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

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

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

انتشار پروژه جدید مثال‌های QML در گیتهاب

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

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

اینم یک فیلم کوتاه ازش :

 

 

لینک پروژه در Github

موفق باشید .

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

انتشار کتابخانه سبک برای log در c plus plus

یک کتابخانه ساده برای log در c++‎ که تمرکز بر سادگی استفاده دارد . در آینده قابلیت های دیگر اضافه خواهد شد اما اولین اولویت من ساده نگه داشتن این کتابخانه برای استفاده در پروژه‌های کوچک است .

 

لینک کتابخانه FLog در گیتهاب
۱۰ بهمن ۹۶ ، ۰۱:۱۸ ۱ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

انتشار قسمت نوزدهم آموزش Qml به زبان فارسی استفاده از canvas در qml

قسمت نوزدهم از سری آموزش‌های QtQml با موضوع canvas در QML منتشر شد . امیدوارم که این آموزش مفید واقع بشود .

در این آموزش ابتدا به پایه canvas و آموزش مقدماتی پرداخته شده و بعد با معرفی داکیومنت و توابع موجود و همینطور توضیحات و مثالی در مورد پویا کردن نقاشی‌های این ابزار و در انتها معرفی یک منبع عالی برای مثال‌های canvas به پایان رسید .

صلواتی بفرستید برای سلامتی و تعجیل در فرج آقا امام زمان (عج) .

ویدئو در ادامه مطالب :

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

انتشار مثال رابط کاربری با qml در گیتهاب

یک مثال ساده از طراحی راب کاربری در qml منتشر کردم که توش چندین کنترل رو یه مقداری کاستوم کردم و بهشون نور و یا میشه گفت سایه پس زمینه اضافه کردم و در انتها یک صفحه لاگین ساده که از بلور و دکمه سایه دار استفاده کردم رو نوشتم و عکس و کد رو میتونید توی گیتهاب ببینید .

لینک گیتهاب مثال

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

انتشار قسمت هجدهم آموزش Qml به زبان فارسی(ارتباط بین qml و cpp ) قسمت دوم

با سلام خدمت دوستان آتش به اختیار

این هم قسمت هجدهم از سری آموزش های Qt-Qml که توی اون روش تعبیه کردن یک شی از کلاسی که از QObject به ارث میبره رو آموزش دادم و همینطور نحوه تعبیه و استفاده کردن Qml در ویجت‌ها رو توضیح دادم امیدوارم مفید باشه براتون و شهدا از ما راضی باشند .

 

 

 

لینک آپارات ویدئو  

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