Bardiaism – Telegram
Bardiaism
903 subscribers
140 photos
162 videos
7 files
214 links
سعی میکنم از تجربیات و مطالعات جدیدم که بنظرم جالب میاد اینجا بنویسم.
ایمیل:
bardia.daneshvar@gmail.com
Download Telegram
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت دهم - Event Loop

در این قسمت درباره مفهوم Event Loop و کلاس‌های مرتبطش در Qt صحبت میکنیم و توضیح میدیم که چه کاربردها و استفاده‌هایی داره و چه نکاتی رو باید موقع استفاده ازشون رعایت کنیم.

لینک ویدیو در یوتیوب:
https://youtu.be/pmo0_c-DBOw

@Bardiaism
👍41👏1
Media is too big
VIEW IN TELEGRAM
آموزش برنامه‌نویسی پیشرفته - قسمت سی‌ام - استفاده از لایبرری‌ها و ساختن پلاگین

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

لینک ویدیو در یوتیوب:
https://youtu.be/SBt5yCdS7b0

@Bardiaism
👍51
Media is too big
VIEW IN TELEGRAM
شبکه غیرمتمرکز Nostr

تو این ویدیو درباره Nostr صحبت میکنم و توضیح میدم که چی هست و چه مزایا و معایبی نسبت به شبکه‌های غیرمتمرکز دیگه داره.

لینک ویدیو در یوتیوب:
https://youtu.be/8gyQ7oPH6Jo

@Bardiaism
👌3
Media is too big
VIEW IN TELEGRAM
چطوری پردازش‌هارو موقع روشن شدن استیم‌دک اتوماتیک اجرا کنیم

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

لینک ویدیو در یوتیوب:
https://youtu.be/gWgto_eawXQ

@Bardiaism
👍3
۵ تا تمرین الگوریتمی برای بچه‌هایی که تازه دارن الگوریتم نویسی رو یاد میگیرن.

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

در نهایت میتونید اجراشون کنید ببینید که چکار انجام میدن و آیا حدستون درست هست یا نه.

از آسون به سخت مرتبط شدن.
آخرین الگوریتم سخت‌ترین الگوریتمه.
کدها با پایتون نوشته شده. اما از امکانات خاص پایتون تا جایی که میشده استفاده نکردم که همه بتونن کدهارو متوجه بشن.

@Bardiaism
💘3👍2
Bardiaism
چطوری پردازش‌هارو موقع روشن شدن استیم‌دک اتوماتیک اجرا کنیم تو این ویدیو یاد میدم که چطوری تنظیم کنید پردازش‌هایی موقع روشن شدن استیم‌دک اتوماتیک اجرا بشن و اینطوری تنظیمات، سرویس‌ها، پروکسی یا حتی وی‌پی‌انتون رو بصورت اتوماتیک موقع روشن شدم استیم‌دک فعال…
در ادامه این ویدیو. اگر میخواهید nekoray رو توی systemd اضافه کنید که همیشه خود به خود تو پس‌زمینه سیستم‌عاملتون اجرا بشه، تنظیمات systemd اون به این صورت میشه:
[Unit]
Denoscription=Nekoray Core
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=deck
Group=deck
WorkingDirectory=/home/deck/Programs/nekoray
ExecStart=/home/deck/Programs/nekoray/nekoray
Restart=always
Environment=USER=root HOME=/home/deck PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/home/deck/Programs/nekoray/ QT_QPA_PLATFORM=offscreen

[Install]
WantedBy=multi-user.target

حتما حواستون باشه آدرس /home/deck/Programs/nekoray/ مرتبط با سیستم منه و شما باید آدرس جایی که کلاینت خودتون نصب کردید رو بذارید.

نکته این تنظیم چیه؟
نکته‌ش اینه که ما داریم یک اپلیکیشن GUI دار رو کلک میزنیم بهش و بدون GUI اجراش میکنیم.

چطوری؟
کیوتی یک آپشن داره به اسم QT_QPA_PLATFORM که میتونید بهش بگید رابط کاربری اپلیکیشن رو کجا رندر کنه و آیا رندر کنه یا نه. وقتی اون رو میذارید روی offscreen درواقع رندر نمیکنه و برنامه میتونه تو پس‌زمینه اجرا بشه.

پی‌نوشت:
- حتما حواستون باشه تو nekoray از منو گزینه‌ی remember last profile و از تو تنظیمات http listen port رو فعال کنید.

@Bardiaism
👌6👍1
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت یازدهم - QThread

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

لینک ویدیو در یوتیوب:
https://youtu.be/vY_9BCx-_XU

@Bardiaism
4❤‍🔥1
Forwarded from Bardia Play
Media is too big
VIEW IN TELEGRAM
همه چی درباره بازی روی لینوکس

تو این ویدیو درباره گیم روی لینوکس و صحبت میکنم و توضیح میدم که چی شد این همه بازی اومدن روی لینوکس و چطوری بازی‌های مطرح مثل GTA و Assassin's Creed و God of War رو روی لینوکس اجرا کنیم و از تجربه بازی روی لینوکس لذت ببریم

لینک ویدیو در یوتیوب:
https://youtu.be/EC3h-B3A--c

@Bardia_Play
6👍1👌1
Forwarded from Bardia Play
Media is too big
VIEW IN TELEGRAM
همه چی درباره درایورهای اپن‌سورس و غیراپن‌سورس انویدیا برای لینوکس

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

لینک ویدیو در یوتیوب:
https://youtu.be/bjfb7LRbjmU

@Bardia_Play
👌3👍1
Media is too big
VIEW IN TELEGRAM
همه چیز درباره محاسبه و اعلام قیمت در کار پروژه‌ای

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

لینک ویدیو در یوتیوب:
https://youtu.be/OHYmwgOQRuU

@Bardiaism
61
Forwarded from Bardia Play
Media is too big
VIEW IN TELEGRAM
روی لینوکس بازی کنیم یا ویندوز؟

تو این ویدیو درباره مزایا و معایب بازی روی لینوکس صحبت میکنیم و بررسی میکنیم که آیا بعد از این همه مدت تلاش جامعه آزاد و توسعه‌دهنده‌های لینوکس و همینطور ولو (استیم) در کنارشون، آیا لینوکس به آمادگی لازم رسیده که گیمرها همه سوییچ کنن بهش؟ یا هنوز زوده و باید صبر کنیم؟

لینک ویدیو در یوتیوب:
https://youtu.be/9I4tccWg04U

@Bardia_Play
🔥4
Media is too big
VIEW IN TELEGRAM
چطوری کرنل لینوکس رو کامپایل کنیم؟

داشتم کرنل لینوکس رو کامپایل میکردم، با خودم فکر کردم بهتره دوربین رو روشن کنم و باهم کامپایلش کنیم.

لینک ویدیو در یوتیوب:
https://youtu.be/ZE036C7CY5Q

@Bardiaism
54👍1👌1
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت دوازدهم - Network Requests

در این قسمت درباره ماژول نتورک کیوت صحبت میکنیم و یاد میدیم چطوری به کمک این ماژول روی پروتوکل http ریکوئست ارسال کنیم و جواب اونو بگیرید و اگر json هست خروجی اون رو parse کنید.
این ماژول شامل کلاس‌های سطح پایین‌تر مثل tcp و udp هم میشه که در ویدیوهای بعدی درباره اون‌ها توضیح خواهم داد.

لینک ویدیو در یوتیوب:
https://youtu.be/dnDv5uAcl_Q

@Bardiaism
1👍3🤝1
Media is too big
VIEW IN TELEGRAM
چرا هزینه ساعتی فریلنسری از هزینه استخدامی بیشتره؟

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

لینک ویدیو در یوتیوب:
https://youtu.be/IzQObgWB1-A

@Bardiaism
3👌5👍1👨‍💻1
Media is too big
VIEW IN TELEGRAM
صاحب سورس‌کدها کیه و آیا سورس‌کد رو به کارفرما بدیم یا نه؟

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

لینک ویدیو در یوتیوب:
https://youtu.be/8Sh4IHHQOXI

@Bardiaism
2👍31🆒1
کیوت ۶.۸ که LTS یا Long time support هست منتشر شد

🔹 مهم‌ترین تغییرات این نسخه پشتیبانی arm روی همه پلتفرم‌ها هست. با کامل شدن این امکان کیوت ۶.۸ میتونه علاوه بر مک و لینوکس که قبلا پشتیبانی میشد، روی ویندوز arm هم کامپایل بشه.

🔹 علاوه بر اون پشتیبانی از Apple Vision Pro و Meta Quest 3 و یک سری دستگاه دیگه هم بهش اضافه شده که میتونید برنامه‌هاتونو به این دستگاه‌ها هم پورت کنید.

🔹 همینطور برای نسخه‌های آخر اندروید، مک و آی‌او‌اس بهینه شده تا بهتر روی این سیستم‌عامل‌ها کار کنه و با آخرین امکاناتشون هماهنگ باشه.

🔹 از طرفی در این نسخه امکاناتی اضافه شده که شما میتونید فریم‌ورک رو موقع کامپایل طوری کامپایل کنید که حجم کمتری بگیره و استفاده از منابعش کمتر بشه (احتمالا با حذف قابلیت‌هایی که نیاز ندارید)

🔹 ماژول QtGraph هم تغییراتی داشته تا پشتیبانی از داده‌های سه‌بعدی رو بصورت کامل پشتیبانی کنه.

🔹 ماژول Multimedia تغییراتی برای بهبود عملکرد و همینطور API داشته و از طرفی روی لینوکس پشتیبانی از Wayland به کلاس‌هایی مثل QScreenCapture اضافه شده.

🔹 به ماژول Qt Quick افکت‌ها و امکانات بیشتری برای برای کار با SVG ها اضافه شده.
از طرفی روی Qt Quick Controls بهینه‌سازی‌ها و تغییراتی اعمال شده که با کامپیوترهای دسکتاپ هماهنگی بیشتری داشته باشه.
ناگفته نمونه که از مشکلات بزرگ Qt Quick همیشه این بوده که برای کار با دستگاه‌های تاچ بخصوص اندروید و آی‌او‌اس طراحی شده و روی دسکتاپ‌ها مثل Widget ها هیچوقت نتونست به اون عملکرد ایده‌آلش برسه. برای همین تو هر نسخه‌ی جدید که منتشر میشه Qt تغییرات و بهینه‌سازی‌های زیادی برای Qt Quick در جهت بهبود عملکرد روی دسکتاپ‌ها اعمال میکنه.

🔹 ماژول جدیدی به Qt اضافه شده تحت نام XR Module. من باهاش کار نکردم و خیلی در موردش نخوندم، ولی بصورت کلی برای کار و پشتیبانی از دیوایس‌های VR و XR هست و بنظر میاد کیوت هم تصمیم گرفته به سمت این دیوایس‌ها بره و پشتیبانی از این دیوایس‌هارو به فریم‌ورکش اضافه کنه. احتمالا باید ماژول جذابی باشه.

🔹 بهینه‌سازی‌های نمایشی در Qt Quick 3D جهت بهبود نمایش سایه‌ها و متریال‌ها انجام شده.

🔹 به ماژول Network قابلیتی اضافه شده که دیگه میتونه روی local socket (منظور localhost نیست) ریکوئست‌های http ارسال کنه که باید امکان جالبی باشه.
از طرفی قابلیت send DNS over TLS به این ماژول اضافه شده و ابزارهای Qt GRPC و Qt Protobuf هم که قبلا پشتیبانی میشدن، پشتیبانیشون کامل شده و تمامی امکاناتشون تو این نسخه پشتیبانی میشه.
به علاوه یک سری بهینه‌سازی‌های عملکردی.

🔹 در ماژول Core هم تغییراتی اعمال شده مثل اضافه شدن کلاس QChronoTimer که از std::chrono بخ عنوان بک‌اندش اضافه میکنه.
همچنین کلاس‌های QString و QByteArray و QList و QHash بهینه‌سازی‌هایی داشتند.
همینطور برای اون‌ها که روی اندروید کدهاشونو میخوان اجرا کنن سری کلاس‌هایی تحت عنوان QtJniTypes اضافه شده که بهشون کمک میکنه راحت‌تر از داده‌های جاوایی و اندرویدی توی کدهاشون استفاده کنن.

🔹 ماژول‌های دیگه مثل Qt Gui و Qt SQL و Qt WebEngine و ... بهینه‌سازی‌ها و تغییرات جزیی‌تر داشتند که بصورت کامل میتونید توی release note نسخه بخونید:
https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.8.0/release-note.md

لینک خبر انتشار:
https://www.qt.io/blog/qt-6.8-released

@Bardiaism
1👍9
Media is too big
VIEW IN TELEGRAM
آموزش Qt6 - قسمت سیزدهم - ابزارهای ذخیره‌سازی

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

لینک ویدیو در یوتیوب:
https://youtu.be/7LS8dURF3Rg

@Bardiaism
10❤‍🔥1