Forwarded from صرفا جهت اطلاع برنامهنویسان
🎓 دنیس ریچی که بود و چه کرد؟
🔹 دنیس ریچی یکی از افسانههای دنیای برنامهنویسی بود؛ کسی که زبان برنامهنویسی C و سیستمعامل Unix رو ساخت و پایههای دنیای مدرن نرمافزار رو بنا گذاشت. در دهه 1970 وقتی بقیه هنوز درگیر زبانهای سطح پایین بودن، ریچی با ذهنی فوقالعاده خلاق، زبانی ساخت که هم به سختافزار نزدیک بود، هم برای انسانها قابل فهم. این زبان، مادر بسیاری از زبانهای محبوب امروزه است (مثل Python، Java، C++).
اون آدمی نبود که دنبال شهرت باشه؛ برعکس، خیلی سادهزیست، بیحاشیه و فروتن بود. برخلاف تاثیر عظیمی که گذاشته بود، کمتر ازش شنیده میشه چون اهل خودنمایی نبود. جملهای ازش هست که خیلی معروفه:
بعد از فوتش در سال 2011 خیلیها گفتن دنیا یکی از بیادعاترین ولی تأثیرگذارترین ذهنهاشو از دست داده. واقعاً هم همینطوره؛ دنیس ریچی مثل پایههای ساختمونه: دیده نمیشه، اما همه چی روش ساخته شده.
#programmers
〰️〰️〰️〰️〰️〰️〰️
@programming_tips
🔹 دنیس ریچی یکی از افسانههای دنیای برنامهنویسی بود؛ کسی که زبان برنامهنویسی C و سیستمعامل Unix رو ساخت و پایههای دنیای مدرن نرمافزار رو بنا گذاشت. در دهه 1970 وقتی بقیه هنوز درگیر زبانهای سطح پایین بودن، ریچی با ذهنی فوقالعاده خلاق، زبانی ساخت که هم به سختافزار نزدیک بود، هم برای انسانها قابل فهم. این زبان، مادر بسیاری از زبانهای محبوب امروزه است (مثل Python، Java، C++).
اون آدمی نبود که دنبال شهرت باشه؛ برعکس، خیلی سادهزیست، بیحاشیه و فروتن بود. برخلاف تاثیر عظیمی که گذاشته بود، کمتر ازش شنیده میشه چون اهل خودنمایی نبود. جملهای ازش هست که خیلی معروفه:
"Unix is basically a simple operating system, but you have to be a genius to understand the simplicity."
(یونیکس یه سیستمعامل سادهست، اما باید نابغه باشی تا سادگیشو بفهمی!)
بعد از فوتش در سال 2011 خیلیها گفتن دنیا یکی از بیادعاترین ولی تأثیرگذارترین ذهنهاشو از دست داده. واقعاً هم همینطوره؛ دنیس ریچی مثل پایههای ساختمونه: دیده نمیشه، اما همه چی روش ساخته شده.
#programmers
〰️〰️〰️〰️〰️〰️〰️
@programming_tips
👍5❤4
Forwarded from آموزش برنامه نویسی فلاتر Flutter
قابلیت Agent Mode محیط برنامه نویسی VSCode برای کاربران در دسترس قرار گرفت.
با این قابلیت میتونید به MCP Server متصل بشید و انجام خیلی از کارهارو به Agent AI بسپرید
این ویدیو پیشنهاد میکنم حتما ببینید
https://youtu.be/dutyOc_cAEU?si=MBgENcL2_AW1dliS
#فلاتر #برنامه_نویسی
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
با این قابلیت میتونید به MCP Server متصل بشید و انجام خیلی از کارهارو به Agent AI بسپرید
این ویدیو پیشنهاد میکنم حتما ببینید
https://youtu.be/dutyOc_cAEU?si=MBgENcL2_AW1dliS
#فلاتر #برنامه_نویسی
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
YouTube
VS Code Agent Mode Just Changed Everything
Ever wished your code editor could write your app, talk to your database, and even follow documentation like a real dev? Same.
In this video, I'll show you how to use agent mode, MCP Servers and PRD documents to build an entire app complete with database.…
In this video, I'll show you how to use agent mode, MCP Servers and PRD documents to build an entire app complete with database.…
👍3
Flutter Zone | فلاتر و دارت
Mini Player
ولی خیلی کمال گرایی هیچی راضیت نمیکنه!!! 🤣🤣
واسه یه دونه موزیک پلیر ساده یه ماهه دارم UI عوض میکنم.
واسه یه دونه موزیک پلیر ساده یه ماهه دارم UI عوض میکنم.
🤣4
Forwarded from sasan safari
🎯 انوتیشن pragma('vm\:entry-point')@ در فلاتر چه کاربردی داره؟
اگه با فلاتر کار میکنی و دنبال اجرای آلارم، بکگراند تسک یا نوتیف زمانبندیشده هستی، حتماً به این خط برخوردی:
اما دقیقاً این چی کار میکنه؟ چرا لازمه؟ ⬇️
به Dart VM میگه:
> «این تابع رو نگهدار! حتی اگه فک میکنی هیچجا استفاده نشده.»
---
📦 کجا لازمه؟
وقتی تابع قراره:
✅ توسط
✅ توی isolate جدا اجرا شه
✅ یا بعد از ریاستارت گوشی بالا بیاد
✅ حتی توی
---
🚫 بدون این خط، Dart ممکنه اون تابع رو تو مرحله build حذف کنه (به خاطر tree-shaking)
و نتیجهش؟
⛔️ آلارم اجرا نمیشه
⛔️ هیچ نوتیفی نمیاد
⛔️ هیچ اروری هم نمیبینی!
---
✍️ مثال واقعی:
---
📌 پس اگر داری با:
* AlarmManager
* isolate
* background task
* native callbacks
کار میکنی، یادت نره این خط رو اضافه کنی ✅
---
🧠 نکتهی طلایی آخر:
> این annotation فقط برای توابعیه که **از مسیر اصلی اپ صدا زده نمیشن**، اما توی پسزمینه قراره اجرا شن.
---
برای رفقات بفرست 💙
#Flutter #AndroidAlarmManager #BackgroundExecution #Dart
@sasansafari_dev1400
اگه با فلاتر کار میکنی و دنبال اجرای آلارم، بکگراند تسک یا نوتیف زمانبندیشده هستی، حتماً به این خط برخوردی:
@pragma('vm:entry-point')
اما دقیقاً این چی کار میکنه؟ چرا لازمه؟ ⬇️
به Dart VM میگه:
> «این تابع رو نگهدار! حتی اگه فک میکنی هیچجا استفاده نشده.»
---
📦 کجا لازمه؟
وقتی تابع قراره:
✅ توسط
AndroidAlarmManager
اجرا بشه✅ توی isolate جدا اجرا شه
✅ یا بعد از ریاستارت گوشی بالا بیاد
✅ حتی توی
native callback
یا background fetch
---
🚫 بدون این خط، Dart ممکنه اون تابع رو تو مرحله build حذف کنه (به خاطر tree-shaking)
و نتیجهش؟
⛔️ آلارم اجرا نمیشه
⛔️ هیچ نوتیفی نمیاد
⛔️ هیچ اروری هم نمیبینی!
---
✍️ مثال واقعی:
@pragma('vm:entry-point')
Future<void> startFastingCallback() async {
// اجرای آلارم برای شروع فست
}
---
📌 پس اگر داری با:
* AlarmManager
* isolate
* background task
* native callbacks
کار میکنی، یادت نره این خط رو اضافه کنی ✅
---
🧠 نکتهی طلایی آخر:
> این annotation فقط برای توابعیه که **از مسیر اصلی اپ صدا زده نمیشن**، اما توی پسزمینه قراره اجرا شن.
---
برای رفقات بفرست 💙
#Flutter #AndroidAlarmManager #BackgroundExecution #Dart
@sasansafari_dev1400
👍6
Forwarded from آموزش برنامه نویسی فلاتر Flutter
چگونه سرعت اجرای وب اپلیکیشن فلاتر را افزایش دهیم؟ راهکارهای عملی
▫️ فریمورک فلاتر به دلیل ساخت اپلیکیشنهای زیبا و کامپایل شده به صورت Native در پلتفرمهای مختلف شناخته شده است، و نسخه وب آن نیز این قابلیت را به مرورگر میآورد.
با این حال، یک مشکل رایج در وب اپلیکیشن های فلاتر زمان بارگذاری اولیه است.
🌐 چگونه سرعت اجرای وب اپلیکیشن فلاتر را افزایش دهیم؟
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
▫️ فریمورک فلاتر به دلیل ساخت اپلیکیشنهای زیبا و کامپایل شده به صورت Native در پلتفرمهای مختلف شناخته شده است، و نسخه وب آن نیز این قابلیت را به مرورگر میآورد.
با این حال، یک مشکل رایج در وب اپلیکیشن های فلاتر زمان بارگذاری اولیه است.
🌐 چگونه سرعت اجرای وب اپلیکیشن فلاتر را افزایش دهیم؟
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
👍4
Forwarded from IranCoderz (Farid Ghaderi)
This media is not supported in your browser
VIEW IN TELEGRAM
مایکروسافت دیشب از Copilot Agent رونمایی کرد. با این آپدیت، کوپایلت از یک دستیار به یک برنامهنویس تبدیل میشه و میتونید تو گیتهاب بهش ایشو اساین کنید که بره انجامش بده.
همچنین کوپایلت از با آنالیز ریپازیتوریهای شما، استایل کد زدن شما رو کامل آنالیز میکنه و با همون سبک براتون کد میزنه.
🆔 @IranCoderz | 👩💻🧑💻
همچنین کوپایلت از با آنالیز ریپازیتوریهای شما، استایل کد زدن شما رو کامل آنالیز میکنه و با همون سبک براتون کد میزنه.
🆔 @IranCoderz | 👩💻🧑💻
👍3
Forwarded from آموزش برنامه نویسی فلاتر Flutter
This media is not supported in your browser
VIEW IN TELEGRAM
یکی از ویژگی های جدید DevTools قابلیتی به اسم Property Editor هست این امکان و به شما میده که بصورت ویژوال مقادیر ویجت هارو تغییر بدید و نتیجه و ببینید
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
⚜️اولین مرجع فارسی فلاتر @flutter_learn_ir
👍3❤1
Forwarded from Pure Coder (Mohammad Taheri)
🔥Flutter & Layerd Architecture
✅فلاتر از یک معماری لایه ای یا به عبارتی Layerd Architecture استفاده میکنه.
✅توی این لایه ها foundation کف کف قرار میگیره و همه ی لایه های دیگه میتونن بهش دسترسی داشته باشن و لایه های material و cupertino بالای بالا قرار میگیرن.
✅برای مثال لایه ی Widgets نسبت به rendering توی سطح بالاتری قرار میگیره و میتونه از rendering استفاده کنه ولی rendering به widgets دسترسی نداره. به همین شکل material و cupertino به widgets دسترسی دارن ولی widgets به اونا دسترسی نداره.
✅اصول معماری لایه ای توی فلاتر اینجوری چیده نشده که هر لایه فقط و فقط به لایه ی زیری خودش دسترسی داشته باشه. بلکه یکم چفت و بست ها شل تر هست و هر لایه میتونه به همه ی لایه های زیرین خودش دسترسی پیدا کنه. البته این شل بودن ایراد نیست و نیاز توسعه بوده.
⚠️پ.ن: فریمورک ها هم باید معماری داشته باشن و روی اصول جلو برن. وگرنه از هم میپاشن.
پ.ن: همه ی پوشه های توی تصویر نماینده ی یک لایه ی مجزا نیستن.
@purecoder_ir
✅فلاتر از یک معماری لایه ای یا به عبارتی Layerd Architecture استفاده میکنه.
✅توی این لایه ها foundation کف کف قرار میگیره و همه ی لایه های دیگه میتونن بهش دسترسی داشته باشن و لایه های material و cupertino بالای بالا قرار میگیرن.
✅برای مثال لایه ی Widgets نسبت به rendering توی سطح بالاتری قرار میگیره و میتونه از rendering استفاده کنه ولی rendering به widgets دسترسی نداره. به همین شکل material و cupertino به widgets دسترسی دارن ولی widgets به اونا دسترسی نداره.
✅اصول معماری لایه ای توی فلاتر اینجوری چیده نشده که هر لایه فقط و فقط به لایه ی زیری خودش دسترسی داشته باشه. بلکه یکم چفت و بست ها شل تر هست و هر لایه میتونه به همه ی لایه های زیرین خودش دسترسی پیدا کنه. البته این شل بودن ایراد نیست و نیاز توسعه بوده.
⚠️پ.ن: فریمورک ها هم باید معماری داشته باشن و روی اصول جلو برن. وگرنه از هم میپاشن.
پ.ن: همه ی پوشه های توی تصویر نماینده ی یک لایه ی مجزا نیستن.
@purecoder_ir
❤4