Forwarded from Laravel News
Screen is a terminal renderer written in pure PHP https://laravel-news.com/solo-screen
Laravel News
Screen is a terminal renderer written in pure PHP - Laravel News
Screen is a terminal renderer written in pure PHP. It powers Solo for Laravel and can be used to build rich text-based user interfaces in any PHP application.
Forwarded from Laravel News
How to Get Hired and Hire Better with Dave Hicking https://laravel-news.com/how-to-get-hired-and-hire-better-with-dave-hicking
Laravel News
How to Get Hired and Hire Better with Dave Hicking - Laravel News
We sat down with Dave Hicking to talk about LaraJobs' new section of articles and videos to help you advance your career and improve your hiring processes.
Forwarded from DevTwitter | توییت برنامه نویسی
سلام به همه . یکی دیگه از راه ها برای سیستم احراز هویت (Authentication) کاربران اینه که ما به جز jwt بیایم از یک سری کتابخونه استفاده کنیم . این مطلب درباره آشنایی با Clerk و تجربه استفاده از این کتابخونس
خب Clerk چیه :
یه ابزار فوقالعادهست برای اضافه کردن ویژگیهایی مثل ورود، ثبتنام، مدیریت پروفایل و حتی احراز هویت دو مرحلهای (2FA) به برنامهها. همهچی رو ساده و سریع میکنه، بدون اینکه نیاز باشه خودت رو درگیر کدنویسیهای پیچیده بکنی
چرا باید ازش استفاده کنیم :
-سادگی این کتابخونه که فقط با چند خط کد، همهچی آماده میشه
-امنیت بالایی داره و دیگه نگران مسائل امنیتی نیستم
-قابلیتهای پیشرفته مثل لاگین با شبکههای اجتماعی گرفته تا مدیریت کاربران، همهچی تو Clerk وجود داره
-داکیومنتهای عالی و روانی داره هر سوالی داشته باشی به راحتی جوابش رو پیدا میکنی
کجاها استفاده میشه؟
ابزار Clerk فقط محدود به Next.js نیست میتونید ازش توی:
-فریمورکهای Frontend مثل React, Vue.js, Svelte
-فریمورکهای Backend مثل Node.js, Express.js, NestJS
-اپلیکیشنهای موبایل با React Native
دیگه وقتتون رو برای ساخت سیستم احراز هویت از صفر تلف نکنید! Clerk همهچی رو براتون آماده کرده. اگه تو هم میخوای پروژههات رو سریعتر و حرفهایتر جلو ببری، Clerk رو امتحان کن. مطمئنم مثل من جذبش میشی
@DevTwitter | <Soheil Seyyedi/>
خب Clerk چیه :
یه ابزار فوقالعادهست برای اضافه کردن ویژگیهایی مثل ورود، ثبتنام، مدیریت پروفایل و حتی احراز هویت دو مرحلهای (2FA) به برنامهها. همهچی رو ساده و سریع میکنه، بدون اینکه نیاز باشه خودت رو درگیر کدنویسیهای پیچیده بکنی
چرا باید ازش استفاده کنیم :
-سادگی این کتابخونه که فقط با چند خط کد، همهچی آماده میشه
-امنیت بالایی داره و دیگه نگران مسائل امنیتی نیستم
-قابلیتهای پیشرفته مثل لاگین با شبکههای اجتماعی گرفته تا مدیریت کاربران، همهچی تو Clerk وجود داره
-داکیومنتهای عالی و روانی داره هر سوالی داشته باشی به راحتی جوابش رو پیدا میکنی
کجاها استفاده میشه؟
ابزار Clerk فقط محدود به Next.js نیست میتونید ازش توی:
-فریمورکهای Frontend مثل React, Vue.js, Svelte
-فریمورکهای Backend مثل Node.js, Express.js, NestJS
-اپلیکیشنهای موبایل با React Native
دیگه وقتتون رو برای ساخت سیستم احراز هویت از صفر تلف نکنید! Clerk همهچی رو براتون آماده کرده. اگه تو هم میخوای پروژههات رو سریعتر و حرفهایتر جلو ببری، Clerk رو امتحان کن. مطمئنم مثل من جذبش میشی
@DevTwitter | <Soheil Seyyedi/>
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 نرم افزار NanaZip متن باز جایگزین مناسب WinRAR برای ویندوز
https://github.com/M2Team/NanaZip
#ویندوز
@TheRaymondDev
https://github.com/M2Team/NanaZip
#ویندوز
@TheRaymondDev
GitHub
GitHub - M2Team/NanaZip: The 7-Zip derivative intended for the modern Windows experience
The 7-Zip derivative intended for the modern Windows experience - M2Team/NanaZip
Forwarded from Laravel News
Eloquent Fill and Insert Method in Laravel 12.6 https://laravel-news.com/laravel-12-6-0
Laravel News
Eloquent Fill and Insert Method in Laravel 12.6 - Laravel News
The Laravel team released v12.6.0, which includes an Eloquent fillAndInsert() method, a URI path segments helper, a Password appliedRules() method, and more.
Forwarded from Geek Alerts
میدونستید گوگل لنز متن روی عکس رو هم براتون استخراج میکنه؟ کافیه توی مرورگر کروم روی یه عکس کلیک راست کنید و گزینه search with google lense رو بزنید.
این ویژگی از زبان فارسی هم پشتیبانی میکنه و حتی امکان ترجمه متن استخراج شده رو هم بهتون میده، در هر کجا که گوگللنز وجود داشته باشه مثل کروم یا اپ گوگل میتونید ازش استفاده کنید.
🤓 @geekalerts
این ویژگی از زبان فارسی هم پشتیبانی میکنه و حتی امکان ترجمه متن استخراج شده رو هم بهتون میده، در هر کجا که گوگللنز وجود داشته باشه مثل کروم یا اپ گوگل میتونید ازش استفاده کنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from کانال مهرداد لینوکس
🔥 هدف سیستم عامل مخفی گوگل Fuchsia OS چیست ؟
✅ سیستمعامل متنباز (open source) شرکت گوگل که برخلاف Android و Chrome OS، بر پایهی لینوکس نیست.
از سال ۲۰۱۶ به طور مخفیانه توسعه داده شده
🗓 از کرنل اختصاصی به نام "Zircon" استفاده میکنه. این کرنل بر خلاف لینوکس که یک monolithic kernel هست، به عنوان یک microkernel مدرن طراحی شده.
اگر میخواهید مقایسهٔ هستههای یکپارچه (monolithic) و ریزهستهها (microkernel) بدانید قبلا در موردش نوشتم
✳️ سیستم عامل Fuchsia طوری طراحی شده که بتونه روی انواع معماریها و دستگاهها اجرا بشه، از موبایل گرفته تا IoT و حتی دسکتاپ.
💠 برای اجرا و تست از شبیهسازی به نام FEMU (Fuchsia Emulator) یا QEMU میتوانید استفاده کنید یا روی Raspberry Pi 4 نصب کنید
✨ نسخهی گرافیکی Fuchsia (Workstation) (با Flutter ساخته شده). به نظرم جالب توجه بود
جالبه که سیستم عامل dahliaOS بر اساس این سیستم عامل نوشته شده
و ساده ترین راه برای تست این سیستم عامل هم سایت خودشان است اینجا دمو بببیند
⁉️هدف گوگل چیه؟ نمیدونیم نظر شما ؟!
سایت منبع
@MehrdadLinuxchannel
✅ سیستمعامل متنباز (open source) شرکت گوگل که برخلاف Android و Chrome OS، بر پایهی لینوکس نیست.
از سال ۲۰۱۶ به طور مخفیانه توسعه داده شده
🗓 از کرنل اختصاصی به نام "Zircon" استفاده میکنه. این کرنل بر خلاف لینوکس که یک monolithic kernel هست، به عنوان یک microkernel مدرن طراحی شده.
اگر میخواهید مقایسهٔ هستههای یکپارچه (monolithic) و ریزهستهها (microkernel) بدانید قبلا در موردش نوشتم
✳️ سیستم عامل Fuchsia طوری طراحی شده که بتونه روی انواع معماریها و دستگاهها اجرا بشه، از موبایل گرفته تا IoT و حتی دسکتاپ.
💠 برای اجرا و تست از شبیهسازی به نام FEMU (Fuchsia Emulator) یا QEMU میتوانید استفاده کنید یا روی Raspberry Pi 4 نصب کنید
✨ نسخهی گرافیکی Fuchsia (Workstation) (با Flutter ساخته شده). به نظرم جالب توجه بود
جالبه که سیستم عامل dahliaOS بر اساس این سیستم عامل نوشته شده
و ساده ترین راه برای تست این سیستم عامل هم سایت خودشان است اینجا دمو بببیند
⁉️هدف گوگل چیه؟ نمیدونیم نظر شما ؟!
سایت منبع
@MehrdadLinuxchannel
Forwarded from DevTwitter | توییت برنامه نویسی
امروز از سر بیکاری یه ریپازتوری جدید زدم و توش دارم به صورت دوره ای دارم دارکر فایل + کامپوز های سرویس های مهم رو با کانفیگ (best practice) درست میزارم
+ دوست داشتید یه سری بهش بزنید و اگر خواستید میتونید بهش سرویس های بیشتری اضافه کنید ;)
https://github.com/alisharify7/preconfigured-docker-compose
لیست سرویس های فعلی که داکر فایل هاشون موجود هست:
- teleport
- mysql
- redis + redisUI
- postgres + pgadmin
- mosquito MQTT
- sqlserver
- nginx proxy manager
- jira atlasian
- kong-gateway
@DevTwitter | <Ali-Sharify/>
+ دوست داشتید یه سری بهش بزنید و اگر خواستید میتونید بهش سرویس های بیشتری اضافه کنید ;)
https://github.com/alisharify7/preconfigured-docker-compose
لیست سرویس های فعلی که داکر فایل هاشون موجود هست:
- teleport
- mysql
- redis + redisUI
- postgres + pgadmin
- mosquito MQTT
- sqlserver
- nginx proxy manager
- jira atlasian
- kong-gateway
@DevTwitter | <Ali-Sharify/>
Forwarded from کانال مهرداد لینوکس
❌ شرکت Apple در macOS Sequoia ابزار openrsync را جایگزین rsync کرد
میخواهید بدونید چرا ؟ نوآوری ؟ خلاقیت ؟ راحتی کاربر؟ 😏
⚠️میخواهد مجوز GPLv3 دور بزنه😈
✅ قبلا اینجا گفتم ابزار rsync ابزاری برای انتقال و همگامسازی فایلها در سیستمهای مبتنی بر یونیکسه
🗓 نسخه 2.6.9 که از سال 2006 در macOS هست که با مجوز GPLv2 منتشر شده اما نسخههای جدیدتر rsync تحت مجوز GPLv3 😎
اپل با مجوز GPLv3 مشکل داره چون :
🗓 از نظر قانونی باید اجازه بده کاربر نسخه تغییر دادهشدهی rsync رو هم روی macOS اجرا کنه.
🗓 ملزم به انتشار سورسکد کامل و ابزارهای ساخت (Build Scripts) Rsync میشه
🗓 چون GPLv3 با DRM (Digital Rights Management) های زیاد اپاستور اپل مشکل داره.
@MehrdadLinuxchannel
میخواهید بدونید چرا ؟ نوآوری ؟ خلاقیت ؟ راحتی کاربر؟ 😏
⚠️میخواهد مجوز GPLv3 دور بزنه😈
✅ قبلا اینجا گفتم ابزار rsync ابزاری برای انتقال و همگامسازی فایلها در سیستمهای مبتنی بر یونیکسه
🗓 نسخه 2.6.9 که از سال 2006 در macOS هست که با مجوز GPLv2 منتشر شده اما نسخههای جدیدتر rsync تحت مجوز GPLv3 😎
اپل با مجوز GPLv3 مشکل داره چون :
🗓 از نظر قانونی باید اجازه بده کاربر نسخه تغییر دادهشدهی rsync رو هم روی macOS اجرا کنه.
🗓 ملزم به انتشار سورسکد کامل و ابزارهای ساخت (Build Scripts) Rsync میشه
🗓 چون GPLv3 با DRM (Digital Rights Management) های زیاد اپاستور اپل مشکل داره.
یادتونه باشه تصمیم اپل بیشتر از اینکه فنی باشه، یه تصمیم حقوقی برای حفظ کنترل کامل روی اکوسیستمشه
با کنار گذاشتن GPLv3، اپل مجبور نیست چیزی رو "باز" کنه که نمیخواد 👻
@MehrdadLinuxchannel
Forwarded from Geek Alerts
جایزه Breakthrough به «اسکار علم» معروف هست، شش تا جایزه داره در رشتههای علوم زیستی، فیزیک بنیادی و ریاضیات که هر کدوم ۳ میلیون دلار ارزش دارن.
جایزه ریاضی به نام مریم میرزاخانی هست، اسم جایزش میشه Maryam Mirzakhani New Frontiers Prize یا جایزه مرزهای نو مریم میرزاخانی. هم ادای احترام به این ریاضیدان بزرگ ایرانی هست و هم اینکه جایزه به زنان ریاضیدان داده میشه.
این جایزه امسال به دنیس گایتسگوری برای نقش محوری خودش در اثبات حدس هندسی لنگلندز (geometric Langlands conjecture) رسید، گایتسگوری بخش زیادی از ۳۰ سال گذشته رو به حدس هندسی لنگلندز اختصاص داده، بلاخره سال ۲۰۲۴ به کمک همکارانش اثبات کامل رو که شامل بیش از ۸۰۰ صفحه در ۵ مقاله بود، منتشر کردن.
🔗 breakthroughprize
🤓 @geekalerts
جایزه ریاضی به نام مریم میرزاخانی هست، اسم جایزش میشه Maryam Mirzakhani New Frontiers Prize یا جایزه مرزهای نو مریم میرزاخانی. هم ادای احترام به این ریاضیدان بزرگ ایرانی هست و هم اینکه جایزه به زنان ریاضیدان داده میشه.
این جایزه امسال به دنیس گایتسگوری برای نقش محوری خودش در اثبات حدس هندسی لنگلندز (geometric Langlands conjecture) رسید، گایتسگوری بخش زیادی از ۳۰ سال گذشته رو به حدس هندسی لنگلندز اختصاص داده، بلاخره سال ۲۰۲۴ به کمک همکارانش اثبات کامل رو که شامل بیش از ۸۰۰ صفحه در ۵ مقاله بود، منتشر کردن.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 در نسخه ۱.۰.۴ ویژگی ترجمه فینگلیش و عربگلیش به خاطر نامفهوم بودن آن حذف شد و خود زبانی که نوشته می شود در slug بدون کم و کاستی ثبت می شوند. این ویژگی باعث می شوند که slug های آن SEO-friendly شوند.
https://github.com/Rayiumir/laravel-slugable
#لاراول
@TheRaymondDev
https://github.com/Rayiumir/laravel-slugable
#لاراول
@TheRaymondDev
Forwarded from DevTwitter | توییت برنامه نویسی
سلام به همه امروز میخوایم باهم پکیج Multer رو بیشتر بشناسیم که یکی بهترین از راه ها برای آپلود فایل توی Node.js هست، حالا فرقی نداره که بخوای تصویر، ویدیو یا هر نوع فایل دیگهای رو بفرستی، Multer کارتو راحت میکنه.
خیلی از ما یه جایی نیاز داشتیم که مثلا کاربر تصویر پروفایل آپلود کنه یا بخوایم تو یه فرم، یه سری فایل رو از کاربر بگیریم. Multer این کارو بدون دردسر برامون انجام میده.
مزایای Multer چیه :
۱-پشتیبانی از آپلود چند فایل همزمان
۲-امکان ذخیره فایل در حافظه یا روی دیسک
۳-مدیریت نوع فایل و محدودیت حجم
۴-قابل ترکیب با Cloud Storage
چه نوع فایل هایی رو میتونیم با Multer ارسال کنیم :
۱-عکسها (PNG, JPG, GIF)
۲-ویدیوها (MP4, AVI, MOV)
۳-فایلهای PDF و اسناد و حتی فایل های ZIP
پکیج Multer فقط مخصوص عکس نیست! اگه یه پروژهای داری که توش کاربر باید ویدیو آپلود کنه، بدون دردسر ویدیو رو دریافت و پردازش میکنه. ولی چون ویدیوها حجم بیشتری دارن یادت باشه که محدودیت سایز براش بزاری و برای ذخیره سازی از فضای ابری استفاده کنی.
@DevTwitter | <Soheil Seyyedi/>
خیلی از ما یه جایی نیاز داشتیم که مثلا کاربر تصویر پروفایل آپلود کنه یا بخوایم تو یه فرم، یه سری فایل رو از کاربر بگیریم. Multer این کارو بدون دردسر برامون انجام میده.
مزایای Multer چیه :
۱-پشتیبانی از آپلود چند فایل همزمان
۲-امکان ذخیره فایل در حافظه یا روی دیسک
۳-مدیریت نوع فایل و محدودیت حجم
۴-قابل ترکیب با Cloud Storage
چه نوع فایل هایی رو میتونیم با Multer ارسال کنیم :
۱-عکسها (PNG, JPG, GIF)
۲-ویدیوها (MP4, AVI, MOV)
۳-فایلهای PDF و اسناد و حتی فایل های ZIP
پکیج Multer فقط مخصوص عکس نیست! اگه یه پروژهای داری که توش کاربر باید ویدیو آپلود کنه، بدون دردسر ویدیو رو دریافت و پردازش میکنه. ولی چون ویدیوها حجم بیشتری دارن یادت باشه که محدودیت سایز براش بزاری و برای ذخیره سازی از فضای ابری استفاده کنی.
@DevTwitter | <Soheil Seyyedi/>
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 ساخت آپ موبایل اندروید یا IOS با NativePHP
https://www.youtube.com/watch?v=BHqivPOIgzU
#لاراول
@TheRaymondDev
https://www.youtube.com/watch?v=BHqivPOIgzU
#لاراول
@TheRaymondDev
YouTube
Turn @LaravelPHP apps into NATIVE Android apps!
https://nativephp.com/mobile
Sign up today to claim your spot! As soon as android comes out early access pricing ends.
Sign up today to claim your spot! As soon as android comes out early access pricing ends.
Forwarded from دستاوردهای یادگیری عمیق(InTec)
بالاخره
Grok نسخه اندروید هم منتشر شد.Forwarded from Woland's Linux Journal (Woland)
Concurrency و Parallelism دو مفهوم کلیدی در برنامهنویسی هستند که به نحوه اجرای همزمان وظایف اشاره دارند، اما تفاوتهای مهمی بین آنها وجود دارد.
▎Concurrency (همزمانی)
Concurrency به توانایی یک سیستم برای مدیریت چندین کار به طور همزمان اشاره دارد. در این حالت، ممکن است که چندین کار به طور همزمان در حال اجرا نباشند، اما سیستم میتواند به صورت مؤثر بین آنها سوئیچ کند. در واقع، concurrency بیشتر به طراحی و ساختار برنامه مربوط میشود تا به اجرای واقعی.
▎Parallelism (موازیسازی)
Parallelism به اجرای همزمان چندین کار در زمان واقعی اشاره دارد. این مفهوم معمولاً در سیستمهایی با چندین هسته پردازشی (multi-core) مورد استفاده قرار میگیرد، جایی که میتوان چندین کار را به طور واقعی و همزمان اجرا کرد.
▎مثالها
▎مثال با C
در C، میتوان از کتابخانه pthread برای پیادهسازی concurrency و parallelism استفاده کرد.
Concurrency با استفاده از pthread:
در این مثال، سه وظیفه به طور همزمان ایجاد میشوند و هر کدام برای یک ثانیه اجرا میشوند. این مثال نشاندهنده concurrency است، زیرا وظایف به صورت همزمان مدیریت میشوند.
Parallelism با استفاده از pthread:
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، هر وظیفه میتواند بر روی هستهای جداگانه اجرا شود.
▎مثال با Go (Golang)
در Go، concurrency به سادگی با goroutines و channels پیادهسازی میشود.
Concurrency با استفاده از goroutines:
در این مثال، هر وظیفه به عنوان یک goroutine اجرا میشود. Go به طور خودکار مدیریت concurrency را انجام میدهد.
Parallelism با استفاده از goroutines:
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، Go میتواند آنها را بر روی هستههای مختلف اجرا کند.
▎نتیجهگیری
به طور خلاصه، concurrency به مدیریت همزمان وظایف اشاره دارد در حالی که parallelism به اجرای واقعی آنها در زمان واقعی مربوط میشود. هر دو مفهوم در طراحی برنامههای مدرن بسیار مهم هستند و زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای پیادهسازی آنها ارائه میدهند.
▎Concurrency (همزمانی)
Concurrency به توانایی یک سیستم برای مدیریت چندین کار به طور همزمان اشاره دارد. در این حالت، ممکن است که چندین کار به طور همزمان در حال اجرا نباشند، اما سیستم میتواند به صورت مؤثر بین آنها سوئیچ کند. در واقع، concurrency بیشتر به طراحی و ساختار برنامه مربوط میشود تا به اجرای واقعی.
▎Parallelism (موازیسازی)
Parallelism به اجرای همزمان چندین کار در زمان واقعی اشاره دارد. این مفهوم معمولاً در سیستمهایی با چندین هسته پردازشی (multi-core) مورد استفاده قرار میگیرد، جایی که میتوان چندین کار را به طور واقعی و همزمان اجرا کرد.
▎مثالها
▎مثال با C
در C، میتوان از کتابخانه pthread برای پیادهسازی concurrency و parallelism استفاده کرد.
Concurrency با استفاده از pthread:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
void* task(void* arg) {
printf("Task %d is running\n", *(int*)arg);
sleep(1); // شبیهسازی کار
printf("Task %d is done\n", *(int*)arg);
return NULL;
}
int main() {
pthread_t threads[3];
int task_ids[3] = {1, 2, 3};
for (int i = 0; i < 3; i++) {
pthread_create(&threads[i], NULL, task, &task_ids[i]);
}
for (int i = 0; i < 3; i++) {
pthread_join(threads[i], NULL);
}
return 0;
}
در این مثال، سه وظیفه به طور همزمان ایجاد میشوند و هر کدام برای یک ثانیه اجرا میشوند. این مثال نشاندهنده concurrency است، زیرا وظایف به صورت همزمان مدیریت میشوند.
Parallelism با استفاده از pthread:
#include <stdio.h>
#include <pthread.h>
#include <unistd.h>
void* task(void* arg) {
printf("Task %d is running\n", *(int*)arg);
sleep(1); // شبیهسازی کار
printf("Task %d is done\n", *(int*)arg);
return NULL;
}
int main() {
pthread_t threads[3];
int task_ids[3] = {1, 2, 3};
for (int i = 0; i < 3; i++) {
pthread_create(&threads[i], NULL, task, &task_ids[i]);
}
for (int i = 0; i < 3; i++) {
pthread_join(threads[i], NULL);
}
return 0;
}
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، هر وظیفه میتواند بر روی هستهای جداگانه اجرا شود.
▎مثال با Go (Golang)
در Go، concurrency به سادگی با goroutines و channels پیادهسازی میشود.
Concurrency با استفاده از goroutines:
package main
import (
"fmt"
"time"
)
func task(id int) {
fmt.Printf("Task %d is running\n", id)
time.Sleep(1 * time.Second) // شبیهسازی کار
fmt.Printf("Task %d is done\n", id)
}
func main() {
for i := 1; i <= 3; i++ {
go task(i) // ایجاد goroutine
}
time.Sleep(3 * time.Second) // صبر کردن برای اتمام همه goroutine ها
}
در این مثال، هر وظیفه به عنوان یک goroutine اجرا میشود. Go به طور خودکار مدیریت concurrency را انجام میدهد.
Parallelism با استفاده از goroutines:
package main
import (
"fmt"
"sync"
"time"
)
func task(id int, wg *sync.WaitGroup) {
defer wg.Done()
fmt.Printf("Task %d is running\n", id)
time.Sleep(1 * time.Second) // شبیهسازی کار
fmt.Printf("Task %d is done\n", id)
}
func main() {
var wg sync.WaitGroup
for i := 1; i <= 3; i++ {
wg.Add(1)
go task(i, &wg) // ایجاد goroutine
}
wg.Wait() // صبر کردن برای اتمام همه goroutine ها
}
در این مثال نیز، وظایف به صورت موازی اجرا میشوند و اگر سیستم دارای چندین هسته باشد، Go میتواند آنها را بر روی هستههای مختلف اجرا کند.
▎نتیجهگیری
به طور خلاصه، concurrency به مدیریت همزمان وظایف اشاره دارد در حالی که parallelism به اجرای واقعی آنها در زمان واقعی مربوط میشود. هر دو مفهوم در طراحی برنامههای مدرن بسیار مهم هستند و زبانهای برنامهنویسی مختلف ابزارهای متفاوتی برای پیادهسازی آنها ارائه میدهند.
Forwarded from DevTwitter | توییت برنامه نویسی
برای این که تعداد زیادی فایل شخصی رو بصورت ایمن دستهبندی کنم، بعد از ۳-۴ سال pcrypt رو آپدیت کردم. (پایتون رو راسط کردم)
طبق تستهای کمی که داشتم بهترین انتخاب (از نظر سرعت و حجم و ایمنی و پشتیبانی) برای آرشیو کردن استفاده از
Zip + AES(256) + Zstd
هستم.
https://github.com/pouriya/pcrypt
@DevTwitter | <آقا پوریا/>
طبق تستهای کمی که داشتم بهترین انتخاب (از نظر سرعت و حجم و ایمنی و پشتیبانی) برای آرشیو کردن استفاده از
Zip + AES(256) + Zstd
هستم.
https://github.com/pouriya/pcrypt
@DevTwitter | <آقا پوریا/>
Forwarded from Linuxor ?
سیستمهای توزیعشده برای مقیاسپذیری، تحمل خطا و دسترسی بالا حیاتیان، ولی چالشهایی مثل مدیریت وضعیت، خرابی و ارتباط دارن.
الگوهایی مثل Ambassador، Circuit Breaker، CQRS، Sharding، Sidecar، Pub/Sub، Leader Election و Event Sourcing راهحلن.
این مقاله همهشو ساده توضیح داده:
newsletter.systemdesigncodex.com/p/8-must-know-distributed-system-design
@Linuxor
الگوهایی مثل Ambassador، Circuit Breaker، CQRS، Sharding، Sidecar، Pub/Sub، Leader Election و Event Sourcing راهحلن.
این مقاله همهشو ساده توضیح داده:
newsletter.systemdesigncodex.com/p/8-must-know-distributed-system-design
@Linuxor
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱)
🔶 بازار سهام آمریکا، ۲٫۱ تریلیون دلار دیگر از دست رفت
https://x.com/WatcherGuru/status/1909241816248889571
#خبر
@TheRaymondDev
https://x.com/WatcherGuru/status/1909241816248889571
#خبر
@TheRaymondDev
X (formerly Twitter)
Watcher.Guru (@WatcherGuru) on X
JUST IN: 🇺🇸 Over $2.1 trillion wiped out from US stock market at open.
Forwarded from محتوای آزاد سهراب
Forwarded from مهندسی نرمافزار - Software Inside
#مطلب
What I Wish I Knew About Onboarding Effectively
https://eugeneyan.com/writing/onboarding/
زمانی که شرکتتون رو عوض میکنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان میکنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.
✴️ @software_inside - مهندسینرمافزار
What I Wish I Knew About Onboarding Effectively
https://eugeneyan.com/writing/onboarding/
زمانی که شرکتتون رو عوض میکنید و وارد یه شرکت جدید میشید باید یه فرایندی طی بشه تا شما با اون شرکت، کدهاش و فرهنگش آشنا بشید. به این فرایند میگن آنبوردینگ.
مطلب بالا نکات خیلی خوبی در همین مورد بیان میکنه که باعث میشه این فرایند رو بهتر بتونیم طی کنیم و توی شرکت جدید بهتر جا بیافتیم. اگر دارید آنبورد میشید یا قراره یه نفر دیگه رو آنبورد کنید این مطلب به شدت پیشنهاد میشه.
✴️ @software_inside - مهندسینرمافزار
eugeneyan.com
What I Wish I Knew About Onboarding Effectively
Mindset, 100-day plan, and balancing learning and taking action to earn trust.