Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
مهم ترین تفاوت بین برنامهنویس حرفهای و مبتدی، "طرز فکرشه" 🥶
وقتی باگ میخوری دو واکنش وجود داره
یه برنامه نویس خوب ... 👨💻
چطوری این ذهنیت رو باید بسازیم ❓
🗣️ یه برنامهنویس حرفهای، مثل یه معمار فکر میکنه، نه مثل یه بنّا. بهترین برنامهنویسها، کمتر کد میزنن و بهتر فکر میکنن.
برنامه نویسای حرفه ای "قبل از کدنویسی" فکر میکنن. ✅
وقتی باگ میخوری دو واکنش وجود داره
مبتدی: سریع میپره توی کد --> کجاشُ اشتباه نوشتم؟
حرفهای: یک قدم عقب میره --> فرضیاتم چی بودن؟ کدومش ممکنه غلط باشه؟
یه برنامه نویس خوب ... 👨💻
➊ اول مسئله رو دقیق تحلیل میکنه
➋ ابزار مناسب رو انتخاب میکنه
➌ با کمترین و بهینهترین کد، بهترین راهحل رو میسازه
چطوری این ذهنیت رو باید بسازیم ❓
➊ قبل از کدنویسی، بنویس دقیقاً چی میخوای بسازی
➋ سادهترین حالت مسئله رو اول حل کن
➌ همیشه از خودت بپرس: راه بهتری نیست؟
🗣️ یه برنامهنویس حرفهای، مثل یه معمار فکر میکنه، نه مثل یه بنّا. بهترین برنامهنویسها، کمتر کد میزنن و بهتر فکر میکنن.
#️⃣ #programming #tips
🧑💻 @CoolyCode
Forwarded from Linuxor ?
طراحای وب وقتی دارن یه وبسایت میسازن ممکنه فراموش کنن بعضی تگ ها رو بزارن یا یه سری کارا کنن که در نهایت منجر به این میشه پرفورمنس وبسایت بیاد پایین این سایت 88 تا آیتم رو به صورت چک لیست درست کرده که میتونین برین از روش دونه دونه مشکلات وبسایتتون رو چک کنید
frontendchecklist.io
@Linuxor
frontendchecklist.io
@Linuxor
Forwarded from 🎄 یک برنامه نویس تنبل ( MΞ)
🔶 آموزش نصب n8n بر روی سرور و ایجاد اتوماسیون ساده تلگرام
https://www.youtube.com/watch?v=d6RzGhpV1Vg
@TheRaymondDev
https://www.youtube.com/watch?v=d6RzGhpV1Vg
@TheRaymondDev
YouTube
n8n رو روی سرور خودتون نصب کنین و با کریپتو و تلگرام یه اتوماسیون ساده بسازین
این روزها از n8n زیاد میشنویم؛ سیستمی برای ساخت فلوهای اتوماسیونی با کلی اتصال به چیزهای مختلف. ولی روی سایت خودش برای استفاده ازش لازمه ۲۵ دلار در ماه بدیم که کار رو سخت میکنه.
توی این ویدئو نگاهی داریم به این ابزار خیلی باحال و میبینین که اولا چطوری…
توی این ویدئو نگاهی داریم به این ابزار خیلی باحال و میبینین که اولا چطوری…
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰 انقلابی در سیستم مدیریت Swap لینوکس!
🔹در یکی از بزرگترین تغییرات چند سال اخیر، ۲۷ پچ جدید و بزرگ توسط Kairui Song از Tencentبرای زیرسیستم Swap لینوکس ارائه شده که مدیریت سنتی swap را متحول میکند. این پچها با معرفی ساختار نوینی به نام Swap Tables، عملکرد را ۲۰ تا ۳۰٪ بهبود دادهاند و مصرف حافظه را بهطور چشمگیری کاهش دادهاند.
هدف اصلی: جایگزینی و سادهسازی ساختارهای متنوع و پراکندهی قبلی مثل swap cache، swap maps و swap cgroup maps.
🔧 ویژگیهای کلیدی:
🔸 ساختار جدید Swap Table
🔸یک ساختار داده واحد برای انجام سه وظیفه: کش، نقشه Swap، و مدیریت cgroup.
🔸 کاهش مصرف حافظه
🔸اندازه هر ورودی از ۱۲ بایت → ۱۰ بایت کاهش یافته.
🔸 تخصیص پویا:Swap فقط در صورت نیاز تخصیص داده میشود. حافظه آزادنشده یا Idle memory یا Unused memory آزادتر میماند.
🔸سازگار با: شاخههای mm-stable و mm-unstable کرنل لینوکس.
📌 مهمترین تغییرات فنی:
🔸 معماری Table-Driven : مدیریت مدرن، سادهسازی ساختار، حذف تعریفهای قدیمی و پیچیده.
🔸 بهبود همگامسازی و قفلگذاری :استفاده از قفلهای جدید فولیو، کاهش Lock Contention در سیستمهای چند هستهای.
فولیو (Folio) در کرنل لینوکس به مجموعهای از صفحات حافظه گفته میشود که به صورت یکجا مدیریت میشوند
🔸 رفع مشکلات قبلی :حذف مسیرهای مبهم، متغیرهای منسوخ مثل SWAP_HAS_CACHE و COUNT_CONTINUED.
🔸حذف کدهای قدیمی و پیچیده مربوط به سواپ که باعث مبهم بودن جریان کاری و مدیریت سواپ شده بودند.
🔸حذف مسیریابیها و دورزدنهای پیچیده مانند bypass سواپ کش برای SWP_SYNCHRONOUS_IO.
🔸استفاده از قفلهای دقیقتر و ریزتر (cluster lock) به جای الگوریتمهای پیچیده قدیمی که باعث بهبود عملکرد و کاهش تداخل روی دیسکهای HDD شده است.
🔸یکپارچهسازی مسیرهای خواندن و نوشتن (swap in/out) و هماهنگسازی بهتر با حافظه موقت.
🔸فعالسازی mTHP swap-in برای بارهای کاری بیشتر و حذف محدودیتهای قبلی.
🔸بهبود خواندن پیشدستی (read ahead) و کاهش تکهتکه شدن mTHP.
🔹 مزایای نهایی:
🔸 کاهش چشمگیر مصرف RAM در سیستمهای بزرگ
🔸 افزایش چشمگیر عملکرد برای بارهای کاری سنگین
🔸 آماده برای توسعههای آینده مانند NVMe و تعامل هوشمند با cgroups
🔸 سادهسازی نگهداری در هسته اصلی لینوکس
📚 سورس اصلی این تغییرات:
github.com/ryncsn/linux/tree/kasong/devel/swap-table
https://www.spinics.net/lists/kernel/msg5684904.html
📌نویسنده: حسین سیلانی
اخبار و آموزش های بیشتر در کانال:
https://t.iss.one/linuxtnt
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
🔹در یکی از بزرگترین تغییرات چند سال اخیر، ۲۷ پچ جدید و بزرگ توسط Kairui Song از Tencentبرای زیرسیستم Swap لینوکس ارائه شده که مدیریت سنتی swap را متحول میکند. این پچها با معرفی ساختار نوینی به نام Swap Tables، عملکرد را ۲۰ تا ۳۰٪ بهبود دادهاند و مصرف حافظه را بهطور چشمگیری کاهش دادهاند.
هدف اصلی: جایگزینی و سادهسازی ساختارهای متنوع و پراکندهی قبلی مثل swap cache، swap maps و swap cgroup maps.
🔧 ویژگیهای کلیدی:
🔸 ساختار جدید Swap Table
🔸یک ساختار داده واحد برای انجام سه وظیفه: کش، نقشه Swap، و مدیریت cgroup.
🔸 کاهش مصرف حافظه
🔸اندازه هر ورودی از ۱۲ بایت → ۱۰ بایت کاهش یافته.
🔸 تخصیص پویا:Swap فقط در صورت نیاز تخصیص داده میشود. حافظه آزادنشده یا Idle memory یا Unused memory آزادتر میماند.
🔸سازگار با: شاخههای mm-stable و mm-unstable کرنل لینوکس.
📌 مهمترین تغییرات فنی:
🔸 معماری Table-Driven : مدیریت مدرن، سادهسازی ساختار، حذف تعریفهای قدیمی و پیچیده.
🔸 بهبود همگامسازی و قفلگذاری :استفاده از قفلهای جدید فولیو، کاهش Lock Contention در سیستمهای چند هستهای.
فولیو (Folio) در کرنل لینوکس به مجموعهای از صفحات حافظه گفته میشود که به صورت یکجا مدیریت میشوند
🔸 رفع مشکلات قبلی :حذف مسیرهای مبهم، متغیرهای منسوخ مثل SWAP_HAS_CACHE و COUNT_CONTINUED.
🔸حذف کدهای قدیمی و پیچیده مربوط به سواپ که باعث مبهم بودن جریان کاری و مدیریت سواپ شده بودند.
🔸حذف مسیریابیها و دورزدنهای پیچیده مانند bypass سواپ کش برای SWP_SYNCHRONOUS_IO.
🔸استفاده از قفلهای دقیقتر و ریزتر (cluster lock) به جای الگوریتمهای پیچیده قدیمی که باعث بهبود عملکرد و کاهش تداخل روی دیسکهای HDD شده است.
🔸یکپارچهسازی مسیرهای خواندن و نوشتن (swap in/out) و هماهنگسازی بهتر با حافظه موقت.
🔸فعالسازی mTHP swap-in برای بارهای کاری بیشتر و حذف محدودیتهای قبلی.
🔸بهبود خواندن پیشدستی (read ahead) و کاهش تکهتکه شدن mTHP.
🔹 مزایای نهایی:
🔸 کاهش چشمگیر مصرف RAM در سیستمهای بزرگ
🔸 افزایش چشمگیر عملکرد برای بارهای کاری سنگین
🔸 آماده برای توسعههای آینده مانند NVMe و تعامل هوشمند با cgroups
🔸 سادهسازی نگهداری در هسته اصلی لینوکس
📚 سورس اصلی این تغییرات:
github.com/ryncsn/linux/tree/kasong/devel/swap-table
https://www.spinics.net/lists/kernel/msg5684904.html
📌نویسنده: حسین سیلانی
اخبار و آموزش های بیشتر در کانال:
https://t.iss.one/linuxtnt
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
GitHub
GitHub - ryncsn/linux at kasong/devel/swap-table
Linux kernel source tree. Contribute to ryncsn/linux development by creating an account on GitHub.
Forwarded from Gopher Academy
🔵 عنوان مقاله
New Experimental 'Green Tea' Garbage Collector
🟢 خلاصه مقاله:
مقالهای پیشنهادی با معرفی یک الگوریتم جمعآوری زباله (GC) جدید و مبتنی بر اسپن، که "آگاه از حافظه" بوده و برای اشیاء کوچک ساخته شده است، بهمنظور بهبود موقعیت مکانی و زمانی در سیستمهای مدرن چند CPU توسط بهرهگیری بهتر از توپولوژیهای حافظه و سلسلهمراتب کش مطرح شده است. نتایج اولیه بنچمارکها مخلوط هستند، اما هنوز روزهای اولیهاند. شما اکنون میتوانید با استفاده از ابزار gotip آن را امتحان کنید و قرار است به عنوان یک آزمایش اختیاری در Go 1.25 عرضه شود.
🟣لینک مقاله:
https://golangweekly.com/link/169212/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
New Experimental 'Green Tea' Garbage Collector
🟢 خلاصه مقاله:
مقالهای پیشنهادی با معرفی یک الگوریتم جمعآوری زباله (GC) جدید و مبتنی بر اسپن، که "آگاه از حافظه" بوده و برای اشیاء کوچک ساخته شده است، بهمنظور بهبود موقعیت مکانی و زمانی در سیستمهای مدرن چند CPU توسط بهرهگیری بهتر از توپولوژیهای حافظه و سلسلهمراتب کش مطرح شده است. نتایج اولیه بنچمارکها مخلوط هستند، اما هنوز روزهای اولیهاند. شما اکنون میتوانید با استفاده از ابزار gotip آن را امتحان کنید و قرار است به عنوان یک آزمایش اختیاری در Go 1.25 عرضه شود.
🟣لینک مقاله:
https://golangweekly.com/link/169212/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
runtime: green tea garbage collector · Issue #73581 · golang/go
Green Tea 🍵 Garbage Collector Authors: Michael Knyszek, Austin Clements Updated: 15 August 2025 This issue tracks the design and implementation of the Green Tea garbage collector. As of the last up...
Forwarded from Panic Dev (Hessam)
چرا لاراول sail استفاده نکنیم ...
اگر شما هم با تعداد متعددی پروژه همزمان کار میکنید یا بین پروژه های لاراولی زیاد سوئیچ میشید .
اجرا همزمان پروژه ها با sail منابع زیادی میطلبه یا باید یکی رو down کنید بعد یکی رو up یا کانفیگ و پورت متفاوت برای هرکدوم روی env ست کنید .
ولی از همه مهم تر که من دیروز باهاش برخورد کردم
اشغال فضای زیادی دیسک هست .
برای هر پروژه لاراولی که بخواید با sail اون رو راه اندازی کنید
از اول یه image براش بیلد میشه و دوباره تمام کانتیر های mysql , redis و ... براش از اول ساخته میشه .
مسئله اول ،اون سردرد موقع هر بار بیلد و pull که به جای خودش
ولی در این بین کلی image دارید هر بار به اضافه کلی volume
من وقتی دیروز فضای دیکسم به شدت پر شده بود امدم تمیز کاری کنم
وقتی یه docker prune زدم ۴۵ گیگ فضا ازاد شد!
اینجا بود که فهمیدم برای دولوپری که تو تمام پروژه ها تمام enviroment اش تقریبا یکی هست
خیلی زیاد داره فضا و اینترنت مصرف میشه .
خوب به این فک کردم بریم سراغ جایگزین .
همونطور که میدونید هستن ابزار هایی مثل herd , longhorn , valet که یا برای ویندوز یا قشر پولدار خانواده اپل
و چیز به درد بخوری پیدا نکردم که یکبار اجرا بشه و تمام پروژه ها رو ساپورت کنه . و همش در حال سوئیچ نباشم .
در اخر به این نتیجه رسیدم باید برگردم به خودم یه چیزی بزنم .
که تهش شد این ریپازیتوری ساده .
https://github.com/mohaphez/larasaur
شما با استفاده از این یه پوشه دارید به اسم
بعد داخلش یه فولدر میسازید
بعد یه
این تمام کامند هایی که نیاز دارید بهتون میده
حالا پروژه هاتون میره داخل پوشه
مثلا با این ساختار
همه چی امادست
اول یه دستور up میزنید
که بیلد اولیه گرفته بشه و سرویس ها بیاد بالا
بعد داخل هر پروژه که دارید یا جدید میسازید داخل خود مسیرش مثلا
یه دستور
میزنید این براتون یه کانفیگ nginx میسازه میندازه برای داکر و یه دامین با پسوند
مثلا این میشه
و تمام
کلا بعد از این دیگه هر چی پروژه میسازید یه addsite میزنید و یه دستور restart
بعد همه چی امادست .
هم روی محیط ایزولست هم در مصرف اینترنت و وقت صرفه جویی شده هم فضای کمتری میگیره
هم روی سیستمتون نیاز به نصب دپندسی های زیادی ندارید برای راه اندازی lamp
گذاشتم شاید به درد شما هم خورد .
الان فقط زمانی سراغ sail میرم که پروژه واقعا محیط متفاوت خاصی بخواد مثل php 7.4
@panicdev
اگر شما هم با تعداد متعددی پروژه همزمان کار میکنید یا بین پروژه های لاراولی زیاد سوئیچ میشید .
اجرا همزمان پروژه ها با sail منابع زیادی میطلبه یا باید یکی رو down کنید بعد یکی رو up یا کانفیگ و پورت متفاوت برای هرکدوم روی env ست کنید .
ولی از همه مهم تر که من دیروز باهاش برخورد کردم
اشغال فضای زیادی دیسک هست .
برای هر پروژه لاراولی که بخواید با sail اون رو راه اندازی کنید
از اول یه image براش بیلد میشه و دوباره تمام کانتیر های mysql , redis و ... براش از اول ساخته میشه .
مسئله اول ،اون سردرد موقع هر بار بیلد و pull که به جای خودش
ولی در این بین کلی image دارید هر بار به اضافه کلی volume
من وقتی دیروز فضای دیکسم به شدت پر شده بود امدم تمیز کاری کنم
وقتی یه docker prune زدم ۴۵ گیگ فضا ازاد شد!
اینجا بود که فهمیدم برای دولوپری که تو تمام پروژه ها تمام enviroment اش تقریبا یکی هست
خیلی زیاد داره فضا و اینترنت مصرف میشه .
خوب به این فک کردم بریم سراغ جایگزین .
همونطور که میدونید هستن ابزار هایی مثل herd , longhorn , valet که یا برای ویندوز یا قشر پولدار خانواده اپل
و چیز به درد بخوری پیدا نکردم که یکبار اجرا بشه و تمام پروژه ها رو ساپورت کنه . و همش در حال سوئیچ نباشم .
در اخر به این نتیجه رسیدم باید برگردم به خودم یه چیزی بزنم .
که تهش شد این ریپازیتوری ساده .
https://github.com/mohaphez/larasaur
شما با استفاده از این یه پوشه دارید به اسم
projects مثلا بعد داخلش یه فولدر میسازید
dev-env و فایل های این ریپازیتوری میره داخلش بعد یه
bash install-dev-shortcuts.sh
این تمام کامند هایی که نیاز دارید بهتون میده
حالا پروژه هاتون میره داخل پوشه
projects مثلا با این ساختار
~/projects/
├── dev-env/
├── x/
│ ├── a-laravel/
│ └── b-laravel/
├── y/
│ ├── c-laravel/
│ └── v-laravel/
└── z/
├── h-old-laravel/
└── b-new-laravel/
همه چی امادست
اول یه دستور up میزنید
up
که بیلد اولیه گرفته بشه و سرویس ها بیاد بالا
بعد داخل هر پروژه که دارید یا جدید میسازید داخل خود مسیرش مثلا
cd ~/projects/a-laravel
یه دستور
addsite
میزنید این براتون یه کانفیگ nginx میسازه میندازه برای داکر و یه دامین با پسوند
.local میسازه مثلا این میشه
a-laravel.local
و تمام
کلا بعد از این دیگه هر چی پروژه میسازید یه addsite میزنید و یه دستور restart
بعد همه چی امادست .
هم روی محیط ایزولست هم در مصرف اینترنت و وقت صرفه جویی شده هم فضای کمتری میگیره
هم روی سیستمتون نیاز به نصب دپندسی های زیادی ندارید برای راه اندازی lamp
گذاشتم شاید به درد شما هم خورد .
الان فقط زمانی سراغ sail میرم که پروژه واقعا محیط متفاوت خاصی بخواد مثل php 7.4
@panicdev
Forwarded from DevTwitter | توییت برنامه نویسی
یه پکیج پایتون جمعوجور نوشتم که باهاش میتونید خیلی راحت حالت maintenance رو روی اپ FastAPI تون فعال/غیرفعال کنید.
ساده راهاندازی میشه، منعطفه، میتونید بعضی اندپوینتها exclude یا فورس کنید و ریسپانسهای سفارشی برگردونید.
گیتهاب:
https://github.com/msamsami/fastapi-maintenance
@DevTwitter | <Mehdi/>
ساده راهاندازی میشه، منعطفه، میتونید بعضی اندپوینتها exclude یا فورس کنید و ریسپانسهای سفارشی برگردونید.
گیتهاب:
https://github.com/msamsami/fastapi-maintenance
@DevTwitter | <Mehdi/>
Forwarded from Geek Alerts
اروپا برای اپل قانونی گذاشت که باید به برنامهها اجازه بده سیستم پرداخت خارجی داشته باشن، اپل هم مجبور شد این رو اجرا کنه ولی به معنی تلافی نکردن نیست، الان هر برنامهای که سیستم پرداخت خارجی اضافه کرده باشه اپل یه هشدار با آیکن قرمز تو صفحه نصبش نمایش میده که این برنامه امن نیست یا حریمخصوصی نداره. این هشدار رو هم جوری نمایش میده که شما احساس کنید اون بازی یا برنامه رو نباید نصب کنید.
🔗 mjtsai
🤓 @geekalerts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from Linuxor ?
دنبال ابزار مانیتورینگ بودید netdata رو امتحان کنید، اونقدری امکانات داره تو داشبوردش آدم تو داشبوردش گم میشه
نسخه Demo جهت تست :
app.netdata.cloud/spaces/netdata-demo
نصب
learn.netdata.cloud/docs/netdata-agent/installation/
@Linuxor
نسخه Demo جهت تست :
app.netdata.cloud/spaces/netdata-demo
نصب
learn.netdata.cloud/docs/netdata-agent/installation/
@Linuxor