Forwarded from نوشتههای ترمینالی
یک مطلب چند قسمتی خوب برای مدیریت مموری در زبانهای برنامهنویسی مختلف
https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd
https://dev.to/deepu105/demystifying-memory-management-in-modern-programming-languages-ddd
DEV Community
🚀 Demystifying memory management in modern programming languages
Let us take a look at how modern programming languages manage memory.
Forwarded from DevTwitter | توییت برنامه نویسی
تجربهام در مدیریت ۶۰ میلیون ردیف داده روی Excel: از محدودیتهای Laravel تا بازگشت به قدرت Python
در یکی از پروژههای اخیر، با سیلی از اطلاعات — ۶۰ میلیون ردیف داده در قالب 70 فایل Excel — روبرو شدم.
در ابتدا، بهصورت بومی در Laravel تلاش کردم با استفاده از Seeder، Chunking و صفها (Queues) عملیات واردسازی را انجام دهم. اما:
مصرف شدید حافظه باعث کرش مداوم سیستم میشد.
زمان اجرای طولانی حتی برای بخشهای کوچک، سایر فرایندهای سیستم را مختل میکرد.
با وجود پیادهسازی بهینهسازیهای معمول (مثل تنظیم batch size مناسب، استفاده از حافظه اشتراکی و مانیتورینگ صفها)، همچنان گلوگاههای جدی وجود داشت.
در نهایت تصمیم گرفتم ابزار را عوض کنم: انتقال به Python و pandas.
خواندن هر فایل Excel بهصورت Streaming با read_excel و تعیین انواع ستونها از قبل
پردازش دادهها روی DataFrameها با استفاده از توابع برداری (Vectorized Operations)
ذخیرهسازی نهایی دادهها در فرمتهای بهینه (مثل Parquet) قبل از واردسازی به پایگاه داده
نتیجه؟
کاهش ۸۰٪ زمان پردازش
پایداری کامل بدون نیاز به افزایش رم سرور
قابلیت مقیاسپذیری با توزیع کار روی چندین ماشین یا سرویس ابری
درسهای آموخته شده
پایبندی مطلق به یک فریمورک، همیشه بهترین مسیر نیست.
در مواجهه با حجمهای بزرگ داده، گاهی استفاده از زبان یا ابزار تخصصیتر (مثل Python/pandas) راهگشاتر است.
ارزش تسلط بر چند اکوسیستم و انعطاف در انتخاب فناوری، کمتر از تسلط صرف بر یک چارچوب نیست.
@DevTwitter | <erfan katoziyan/>
در یکی از پروژههای اخیر، با سیلی از اطلاعات — ۶۰ میلیون ردیف داده در قالب 70 فایل Excel — روبرو شدم.
در ابتدا، بهصورت بومی در Laravel تلاش کردم با استفاده از Seeder، Chunking و صفها (Queues) عملیات واردسازی را انجام دهم. اما:
مصرف شدید حافظه باعث کرش مداوم سیستم میشد.
زمان اجرای طولانی حتی برای بخشهای کوچک، سایر فرایندهای سیستم را مختل میکرد.
با وجود پیادهسازی بهینهسازیهای معمول (مثل تنظیم batch size مناسب، استفاده از حافظه اشتراکی و مانیتورینگ صفها)، همچنان گلوگاههای جدی وجود داشت.
در نهایت تصمیم گرفتم ابزار را عوض کنم: انتقال به Python و pandas.
خواندن هر فایل Excel بهصورت Streaming با read_excel و تعیین انواع ستونها از قبل
پردازش دادهها روی DataFrameها با استفاده از توابع برداری (Vectorized Operations)
ذخیرهسازی نهایی دادهها در فرمتهای بهینه (مثل Parquet) قبل از واردسازی به پایگاه داده
نتیجه؟
کاهش ۸۰٪ زمان پردازش
پایداری کامل بدون نیاز به افزایش رم سرور
قابلیت مقیاسپذیری با توزیع کار روی چندین ماشین یا سرویس ابری
درسهای آموخته شده
پایبندی مطلق به یک فریمورک، همیشه بهترین مسیر نیست.
در مواجهه با حجمهای بزرگ داده، گاهی استفاده از زبان یا ابزار تخصصیتر (مثل Python/pandas) راهگشاتر است.
ارزش تسلط بر چند اکوسیستم و انعطاف در انتخاب فناوری، کمتر از تسلط صرف بر یک چارچوب نیست.
@DevTwitter | <erfan katoziyan/>
Forwarded from DevTwitter | توییت برنامه نویسی
این وبسایت پره از پروژههای واقعی با لاراول. دفعه بعد که یکی گفت «کی دیگه لاراول استفاده میکنه؟»، فقط لینک رو بندازین تو صورتش و لبخند بزنین!
https://builtwithlaravel.com/
@DevTwitter | <Milwad Khosravi/>
https://builtwithlaravel.com/
@DevTwitter | <Milwad Khosravi/>
Forwarded from Dev Dastan
➖➖➖➖➖➖
➖➖➖➖➖➖
#softwareEngineering
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevTwitter | توییت برنامه نویسی
چند روزیه دارم ابزارها مختلف AI رو برای پیادهسازی یک پروژه ساده بررسی میکنم و تا حالا سه ابزار زیر به ترتیب با اختلاف خیلی خوب بودن:
https://bolt.new
https://v0.dev
Gemini professional 2.5
پروژه ویرایشگر مارکداون: https://alirho.github.io/parsiNegar
@DevTwitter | <Alireza/>
https://bolt.new
https://v0.dev
Gemini professional 2.5
پروژه ویرایشگر مارکداون: https://alirho.github.io/parsiNegar
@DevTwitter | <Alireza/>
Forwarded from DevTwitter | توییت برنامه نویسی
یه نکته خفن جنگویی
برای جستجوی تماممتن (Full-Text Search) نیازی به Elasticsearch ندارین!
خیلی راحت میتونید با قابلیت سرچ روی PostgreSQL جستجوی پیشرفته بسازید، با رتبهبندی نتایج و حتی ساپورت غلطهای املایی!
مثال سادهش توی تصویر
چرا این روش خوبه؟
چون مستقیماً روی دیتابیس کار میکنه، سریع و سبکه.
لازم به ذکره برای پروژه های کوچیک تا متوسط گزینه بسیار مناسبیه.
@DevTwitter | <Amir Mohammad Yaghoubi/>
برای جستجوی تماممتن (Full-Text Search) نیازی به Elasticsearch ندارین!
خیلی راحت میتونید با قابلیت سرچ روی PostgreSQL جستجوی پیشرفته بسازید، با رتبهبندی نتایج و حتی ساپورت غلطهای املایی!
مثال سادهش توی تصویر
چرا این روش خوبه؟
چون مستقیماً روی دیتابیس کار میکنه، سریع و سبکه.
لازم به ذکره برای پروژه های کوچیک تا متوسط گزینه بسیار مناسبیه.
@DevTwitter | <Amir Mohammad Yaghoubi/>