Forwarded from Linuxor ?
منظور از min توی اسم فایل های جاوااسکریپتی مرورگر چیه؟ مثلا jquery.min.js
Anonymous Quiz
14%
نسخه minimum ولی دارای امکانات اصلی
9%
نسخه main است ولی دیگه بد خلاصش کردن شده min
56%
نسخه minified شده و حذف کاراکتر های اضافی جهت افزایش سرعت دانلود
20%
نسخه minimal هست فقط ماژول مورد نیاز توشه و بقیه ماژول ها توی فایل های min دیگه وجود داره
Forwarded from DevTwitter | توییت برنامه نویسی
ردیس در فرانتاند: چرا و چگونه؟
ردیس معمولاً به عنوان یک پایگاه داده در حافظه برای بکاند استفاده میشود، اما آیا در فرانتاند هم کاربرد دارد؟ بله! در اینجا چند مورد از نقشهای Redis در توسعه فرانتاند را بررسی میکنیم:
- کَشینگ سمت کلاینت: اگر از Next.js یا Nuxt.js استفاده میکنید، میتوانید از Redis برای سرعتبخشیدن به درخواستهای API و کاهش زمان لود صفحات بهره ببرید.
مدیریت Websockets :در اپلیکیشنهای چت، اعلانها یا داشبوردهای بلادرنگ، Redis Pub/Sub میتواند پیامها را بهسرعت بین کاربران همگامسازی کند.
مدیریت نشستها (Session Management): برای اپلیکیشنهایی که از احراز هویت استفاده میکنند، ذخیره سشنها در Redis سرعت و مقیاسپذیری را بهبود میبخشد.
ریت لیمیت (Rate Limithing & Throttling): در فرانتاند، برای جلوگیری از درخواستهای بیش از حد به API، میتوان از Redisبرای مدیریت نرخ درخواستها استفاده کرد.
نتیجهگیری: اگرچه Redis یک ابزار سمت سرور است، اما در بهینهسازی تجربه کاربری و افزایش سرعت فرانتاند نقش مهمی دارد.
@DevTwitter | <Soheil Seyyedi/>
ردیس معمولاً به عنوان یک پایگاه داده در حافظه برای بکاند استفاده میشود، اما آیا در فرانتاند هم کاربرد دارد؟ بله! در اینجا چند مورد از نقشهای Redis در توسعه فرانتاند را بررسی میکنیم:
- کَشینگ سمت کلاینت: اگر از Next.js یا Nuxt.js استفاده میکنید، میتوانید از Redis برای سرعتبخشیدن به درخواستهای API و کاهش زمان لود صفحات بهره ببرید.
مدیریت Websockets :در اپلیکیشنهای چت، اعلانها یا داشبوردهای بلادرنگ، Redis Pub/Sub میتواند پیامها را بهسرعت بین کاربران همگامسازی کند.
مدیریت نشستها (Session Management): برای اپلیکیشنهایی که از احراز هویت استفاده میکنند، ذخیره سشنها در Redis سرعت و مقیاسپذیری را بهبود میبخشد.
ریت لیمیت (Rate Limithing & Throttling): در فرانتاند، برای جلوگیری از درخواستهای بیش از حد به API، میتوان از Redisبرای مدیریت نرخ درخواستها استفاده کرد.
نتیجهگیری: اگرچه Redis یک ابزار سمت سرور است، اما در بهینهسازی تجربه کاربری و افزایش سرعت فرانتاند نقش مهمی دارد.
@DevTwitter | <Soheil Seyyedi/>
Forwarded from TorhamDev | تورهام 😳
کار ساعتی، قاتل برنامهنویس
این روزها دارم دنبال یک کار جدید میگردم و یکی از دلایل اصلیش هم ساعتی شدن شرکتیه که در حال حاضر داخلش کار میکنم :)
ولی بزارید براتون توضیح بدم که چرا کار ساعتی بده و چرا باید ازش دوری کنید
کار ساعتی یعنی به مقدار ساعتی که دارید کد میزنید بهتون پول میدیم، یعنی هرچی بیشتر کد بزنید بیشتر پول میگیرید، بعضیها میگن خوب عالیه که من کل روز کار میکنم یک عالمه هم پول میگیرم D:
ولی یک سری مشکلات وجود داره، شاید شیوه کار ساعتی برای یک برنامهنویس تازه کار که داره همزمان یاد میگیره خیلی خوب باشه ولی برای کسی که راهش رو رفته و کل ماجرا کاری که میخواد انجام بده رو میدونه مثل زهر میمونه.
چرا؟
چون اگر فلان تسک رو سریع انجام بده پول کمتری میگیره
چون اگه فلان تسک تمیز انجام بده پول کمتری میگیره
چون اگه وقت تلف کنه پول بیشتری میگیره
چون اگه تنبلی کنه و کد کثیف بزنه پول بیشتری میگیره
چون اگه کد کثیف بزنه، بعدا دیباگش بیشتر طول میکشه و بیشتر پول میگیره؟
کار ساعتی باعث میشه شما در نهایت یادبگیرید که ارزش دانش شما هیچ هستش و فقط زمان شما مهم هست. و اینکه اگر تسکها تموم بشه شما پولی درنمیارید تا تسک جدید بهتون بدن.
آها راستی اگه یک روز مریض شدید هم خبری از پول نیست :)
البته تمام اینها رو بعد حدود ۳ سال ساعتی کار کردن میگم.
@TorhamDevCH
این روزها دارم دنبال یک کار جدید میگردم و یکی از دلایل اصلیش هم ساعتی شدن شرکتیه که در حال حاضر داخلش کار میکنم :)
ولی بزارید براتون توضیح بدم که چرا کار ساعتی بده و چرا باید ازش دوری کنید
کار ساعتی یعنی به مقدار ساعتی که دارید کد میزنید بهتون پول میدیم، یعنی هرچی بیشتر کد بزنید بیشتر پول میگیرید، بعضیها میگن خوب عالیه که من کل روز کار میکنم یک عالمه هم پول میگیرم D:
ولی یک سری مشکلات وجود داره، شاید شیوه کار ساعتی برای یک برنامهنویس تازه کار که داره همزمان یاد میگیره خیلی خوب باشه ولی برای کسی که راهش رو رفته و کل ماجرا کاری که میخواد انجام بده رو میدونه مثل زهر میمونه.
چرا؟
چون اگر فلان تسک رو سریع انجام بده پول کمتری میگیره
چون اگه فلان تسک تمیز انجام بده پول کمتری میگیره
چون اگه وقت تلف کنه پول بیشتری میگیره
چون اگه تنبلی کنه و کد کثیف بزنه پول بیشتری میگیره
چون اگه کد کثیف بزنه، بعدا دیباگش بیشتر طول میکشه و بیشتر پول میگیره؟
کار ساعتی باعث میشه شما در نهایت یادبگیرید که ارزش دانش شما هیچ هستش و فقط زمان شما مهم هست. و اینکه اگر تسکها تموم بشه شما پولی درنمیارید تا تسک جدید بهتون بدن.
آها راستی اگه یک روز مریض شدید هم خبری از پول نیست :)
البته تمام اینها رو بعد حدود ۳ سال ساعتی کار کردن میگم.
@TorhamDevCH
Forwarded from Geek Alerts
متا هم الان میخواد یه چیزی مثل Community Notes ایکس داخل فیسبوک/اینستاگرام/تردز بزنه، روالش هم مثل قبله یعنی همه میتونن مشارکت داشته باشن یادداشت بذارن و یادداشتی که بیشترین رای رو بگیره زیر اون پست نمایش داده بشه.
متا میگه فردی که میخواد نوت بفرسته باید حداقل ۶ ماه عضویت و ۱۸ سال سن داشته باشه.
دیگه با موسسههای بررسی صحبت اطلاعات همکاری نمیکنیم چون قبلا این کارو میکرد و نقدهای زیادی بهش بود که تبدیل شده به یه سوشال ضد آزادی بیان. البته سیستم Community Notes بدون نقد هم نیست مثلا یکی از ملاکهاش گذاشتن منبع هست که میدونیم بسیاری از سایتها با اینکه بازدید بالایی دارن و یا حتی ممکنه سایت خبری رسمی باشن اما ممکنه اطلاعاتشون درست نباشه یا جهتگیری خاصی داشته باشن.
🔗 digitaltrends
🤓 @geekalerts
متا میگه فردی که میخواد نوت بفرسته باید حداقل ۶ ماه عضویت و ۱۸ سال سن داشته باشه.
دیگه با موسسههای بررسی صحبت اطلاعات همکاری نمیکنیم چون قبلا این کارو میکرد و نقدهای زیادی بهش بود که تبدیل شده به یه سوشال ضد آزادی بیان. البته سیستم Community Notes بدون نقد هم نیست مثلا یکی از ملاکهاش گذاشتن منبع هست که میدونیم بسیاری از سایتها با اینکه بازدید بالایی دارن و یا حتی ممکنه سایت خبری رسمی باشن اما ممکنه اطلاعاتشون درست نباشه یا جهتگیری خاصی داشته باشن.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from LinNews (Benyamin)
نسخه جدید Mesa منتشر شد.
#Mesa #Vulkan #RDNA4 #OpenGL #OpenCL
@LinNews | @LinAcademy
#Mesa #Vulkan #RDNA4 #OpenGL #OpenCL
در تغییرات نسخه 25 شاهد اضافه شدن پشتیبانی گرافیک های RDNA4 هستیم.منبع خبر
اکنون RadeonSI Gallium3D (OpenGL) که توسط amd نگه داری میشود و درایور RADV (Vulkan) که توسط valve نگه داری میشود پشتیبانی بهتری دارند.
علاوه بر این، Mesa یک آپدیت API در دسامبر معرفی کرده بود که در آن پشتیبانی Vulkan 1.4 برای RADV اضافه شد.
سایر درایورهای Mesa Vulkan نیز پشتیبانی Vulkan 1.4 را دریافت کردهاند.
یکی از تغییرات جدید برای AMD اضافهشدن بکاند کامپایلر ACO است ، ACO بهصورت پیشفرض برای پردازندههای گرافیکی قدیمی که قبل از معماری RDNA معرفی شدند و که با درایور های RadeomSI Gallium3D کار میکنند است ، که میتواند به عنوان یک جایگزین برای کامپایلر AMDGPU LLVM باشد.
همچنین شاهد یک پشتیبانی آزمایشی از طرف AMD برای ارسال مستقیم وظایف به GPU ها با کنارگذاشتن درایورها برای بهبود عملکرد (در میکروکرنل ها) و سبک شدن پردازش درایور هااست
همچنین، شامل بهبودهای مختلفی در Zink
(OpenGL روی Vulkan)
و افزونههای Vulkan که توسط ARM Mali PanVK پشتیبانی میشوند،
پشتیبانی بهتر Qualcomm Adreno Vulkan با Turnip،
بهینهسازی های بسیار Intel Xe2 برای سری Lunar Lake و Battlemage
اکنون درایور Intel ANV Vulkan نیز رمزگشایی ویدیو AV1 و قابلیت های جدید دیگری را پشتیبانی میکند.
در آخر باید گفت که Mesa 25.0 بهبود های بسیاری (به خصوص برای درایور های گرافیک AMD و Intel) داشته است.
@LinNews | @LinAcademy
Forwarded from DevTwitter | توییت برنامه نویسی
چطور میتوانیم تراکنشهای پایگاه داده در Django رو به صورت یکپارچه و بدون دردسر مدیریت کنیم؟
در دنیای برنامهنویسی، گاهی اوقات با مجموعهای از عملیات پایگاه داده روبهرو میشویم که باید همگی به طور موفقیتآمیز انجام شوند یا اصلاً انجام نشوند. دکوراتور atomic در Django دقیقاً برای همین موقعیت طراحی شده است. در این مقاله به بررسی مزایا و کاربردهای این دکوراتور میپردازیم.
دکوراتور atomic چیست؟
دکوراتور atomic در Django ابزاری قدرتمند برای مدیریت تراکنشهای پایگاه داده است که به شما این امکان را میدهد که مجموعهای از عملیات پایگاه داده را به صورت یک تراکنش واحد اجرا کنید. این ویژگی به شما کمک میکند تا از مشکلاتی همچون ناسازگاری دادهها و تراکنشهای ناقص جلوگیری کنید.
قابلیتها و کاراییهای دکوراتور atomic:
مدیریت تراکنشها
اصلیترین وظیفه atomic، مدیریت تراکنشهای پایگاه داده است. با قرار دادن تابع یا view خود در داخل این دکوراتور، تمامی عملیات پایگاه داده در آن بخش به صورت یک تراکنش واحد اجرا میشوند.
جلوگیری از ناسازگاری دادهها
اگر در حین انجام عملیات پایگاه داده، خطایی رخ دهد، atomic تضمین میکند که هیچ تغییری در پایگاه داده اعمال نشود و تمامی تغییرات به حالت قبلی برمیگردند. این کار از ایجاد ناسازگاری در دادهها جلوگیری میکند.
افزایش عملکرد
در برخی موارد، استفاده از atomic میتواند عملکرد برنامه را بهبود دهد. با کاهش تعداد تماسهای متوالی به پایگاه داده، میتوان سرعت اجرای عملیات را افزایش داد.
کنترل دقیقتر
شما میتوانید سطح انزوا (Isolation) تراکنشها را نیز مشخص کنید. این ویژگی به شما امکان میدهد که دقیقاً کنترل کنید که تراکنشها چگونه اجرا شوند و از تداخل آنها جلوگیری کنید.
ویژگیهای کلیدی دکوراتور atomic
Atomicidad:
تمام عملیات داخل یک بلوک کد یا view یا به طور کامل انجام میشود یا اصلاً انجام نمیشود.
Isolation:
سطح انزوای تراکنشها را تعیین میکند تا از تداخل تراکنشها با یکدیگر جلوگیری شود.
Durability:
تغییرات اعمال شده در پایگاه داده پس از خرابی سیستم یا قطع برق، باقی میمانند.
ACID Properties:
دکوراتور atomic به چهار ویژگی اساسی یعنی Atomicity, Consistency, Isolation و Durability مجهز است که در طراحی برنامههای پایدار و قابل اعتماد بسیار موثر است.
موارد استفاده رایج:
انتقال وجه
در سیستمهای مالی برای جلوگیری از خطاهای احتمالی هنگام انتقال وجه بین حسابها.
ثبت سفارش
در فروشگاههای آنلاین برای اطمینان از ثبت کامل سفارش و جلوگیری از ثبت سفارشهای ناقص.
مدیریت موجودی
در سیستمهای انبارداری برای بهروزرسانی موجودی کالاها به طور دقیق و جلوگیری از مغایرتها.
مزایای استفاده از atomic
کاهش خطاهای پایگاه داده: با مدیریت دقیق تراکنشها، احتمال خطاهای ناشی از عملیات ناقص کاهش مییابد.
افزایش امنیت دادهها: جلوگیری از ناسازگاری دادهها موجب حفظ امنیت اطلاعات کاربران میشود.
بهبود عملکرد: در برخی سناریوها، استفاده از atomic میتواند عملکرد کلی برنامه را بهبود بخشد.
نکات مهم
از atomic در مواقعی که نیاز به یکپارچگی عملیات پایگاه داده دارید استفاده کنید.
توجه داشته باشید که استفاده بیرویه از atomic ممکن است منجر به کاهش عملکرد برنامه شود.
در صورت نیاز به کنترل دقیقتر بر تراکنشها، میتوانید از پارامترهای مختلف این دکوراتور استفاده کنید.
@DevTwitter | <Sobhan Hassanzadeh/>
در دنیای برنامهنویسی، گاهی اوقات با مجموعهای از عملیات پایگاه داده روبهرو میشویم که باید همگی به طور موفقیتآمیز انجام شوند یا اصلاً انجام نشوند. دکوراتور atomic در Django دقیقاً برای همین موقعیت طراحی شده است. در این مقاله به بررسی مزایا و کاربردهای این دکوراتور میپردازیم.
دکوراتور atomic چیست؟
دکوراتور atomic در Django ابزاری قدرتمند برای مدیریت تراکنشهای پایگاه داده است که به شما این امکان را میدهد که مجموعهای از عملیات پایگاه داده را به صورت یک تراکنش واحد اجرا کنید. این ویژگی به شما کمک میکند تا از مشکلاتی همچون ناسازگاری دادهها و تراکنشهای ناقص جلوگیری کنید.
قابلیتها و کاراییهای دکوراتور atomic:
مدیریت تراکنشها
اصلیترین وظیفه atomic، مدیریت تراکنشهای پایگاه داده است. با قرار دادن تابع یا view خود در داخل این دکوراتور، تمامی عملیات پایگاه داده در آن بخش به صورت یک تراکنش واحد اجرا میشوند.
جلوگیری از ناسازگاری دادهها
اگر در حین انجام عملیات پایگاه داده، خطایی رخ دهد، atomic تضمین میکند که هیچ تغییری در پایگاه داده اعمال نشود و تمامی تغییرات به حالت قبلی برمیگردند. این کار از ایجاد ناسازگاری در دادهها جلوگیری میکند.
افزایش عملکرد
در برخی موارد، استفاده از atomic میتواند عملکرد برنامه را بهبود دهد. با کاهش تعداد تماسهای متوالی به پایگاه داده، میتوان سرعت اجرای عملیات را افزایش داد.
کنترل دقیقتر
شما میتوانید سطح انزوا (Isolation) تراکنشها را نیز مشخص کنید. این ویژگی به شما امکان میدهد که دقیقاً کنترل کنید که تراکنشها چگونه اجرا شوند و از تداخل آنها جلوگیری کنید.
ویژگیهای کلیدی دکوراتور atomic
Atomicidad:
تمام عملیات داخل یک بلوک کد یا view یا به طور کامل انجام میشود یا اصلاً انجام نمیشود.
Isolation:
سطح انزوای تراکنشها را تعیین میکند تا از تداخل تراکنشها با یکدیگر جلوگیری شود.
Durability:
تغییرات اعمال شده در پایگاه داده پس از خرابی سیستم یا قطع برق، باقی میمانند.
ACID Properties:
دکوراتور atomic به چهار ویژگی اساسی یعنی Atomicity, Consistency, Isolation و Durability مجهز است که در طراحی برنامههای پایدار و قابل اعتماد بسیار موثر است.
موارد استفاده رایج:
انتقال وجه
در سیستمهای مالی برای جلوگیری از خطاهای احتمالی هنگام انتقال وجه بین حسابها.
ثبت سفارش
در فروشگاههای آنلاین برای اطمینان از ثبت کامل سفارش و جلوگیری از ثبت سفارشهای ناقص.
مدیریت موجودی
در سیستمهای انبارداری برای بهروزرسانی موجودی کالاها به طور دقیق و جلوگیری از مغایرتها.
مزایای استفاده از atomic
کاهش خطاهای پایگاه داده: با مدیریت دقیق تراکنشها، احتمال خطاهای ناشی از عملیات ناقص کاهش مییابد.
افزایش امنیت دادهها: جلوگیری از ناسازگاری دادهها موجب حفظ امنیت اطلاعات کاربران میشود.
بهبود عملکرد: در برخی سناریوها، استفاده از atomic میتواند عملکرد کلی برنامه را بهبود بخشد.
نکات مهم
از atomic در مواقعی که نیاز به یکپارچگی عملیات پایگاه داده دارید استفاده کنید.
توجه داشته باشید که استفاده بیرویه از atomic ممکن است منجر به کاهش عملکرد برنامه شود.
در صورت نیاز به کنترل دقیقتر بر تراکنشها، میتوانید از پارامترهای مختلف این دکوراتور استفاده کنید.
@DevTwitter | <Sobhan Hassanzadeh/>
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
اوبونتو ۲۴.۰۴.۲ LTS منتشر شد: با هسته لینوکس ۶.۱۱ و پشته گرافیکی Mesa 24.2
این نسخه نقطهای عمدتاً بهعنوان مجموعهای از وصلههای امنیتی و بهروزرسانیهای نرمافزاری منتشر شده از آگوست ۲۰۲۴ طراحی شده است و هدف آن، نصبهای جدید است. کاربرانی که از اوبونتو ۲۴.۰۴ LTS یا ۲۴.۰۴.۱ LTS استفاده میکنند، تنها نیاز به بهروزرسانی سیستم خود دارند.
این نسخه نقطهای عمدتاً بهعنوان مجموعهای از وصلههای امنیتی و بهروزرسانیهای نرمافزاری منتشر شده از آگوست ۲۰۲۴ طراحی شده است و هدف آن، نصبهای جدید است. کاربرانی که از اوبونتو ۲۴.۰۴ LTS یا ۲۴.۰۴.۱ LTS استفاده میکنند، تنها نیاز به بهروزرسانی سیستم خود دارند.
Forwarded from Syntax | سینتکس (Daimon)
تو این ریپازیتوری، میتونید لیستی از workflow های از قبل تنظیم شده رو ببینید، کدهاشو بخونید و ازش استفاده کنید.
https://github.com/actions/starter-workflows/
دوست دارید در خصوص گیتهاب اکشن پست های بیشتری بذاریم؟ تو پروژه هاتون از گیتهاب اکشن استفاده می کنید؟
#github #workflow
@Syntax_fa
https://github.com/actions/starter-workflows/
دوست دارید در خصوص گیتهاب اکشن پست های بیشتری بذاریم؟ تو پروژه هاتون از گیتهاب اکشن استفاده می کنید؟
#github #workflow
@Syntax_fa
Forwarded from Out of Distribution (Mahdi)
سایت بسیار خوبیه در مقایسه llmها با هم از نظر معیارهای مختلف (کیفیت و سرعت و هزینه و ....):
https://artificialanalysis.ai/
https://artificialanalysis.ai/
Forwarded from GaiaTrader$! (Ml WAVE🌊)
📌درک عمیق منطق کدنویسی و فلسفهی پشت آن، یک فرآیند تکاملی است که نیاز به ترکیب دانش فنی، تفکر منطقی، و حتی نوعی نگاه فلسفی به مسئله دارد. برای اینکه این موضوع را کاملاً حرفهای و در عین حال دوستانه و جذاب توضیح بدهم، بیایید با یک نگاه متفاوت به این مسیر بپردازیم.
۱. کدنویسی یک زبان است، آن را مانند یک زبان انسانی یاد بگیر!
💻همانطور که وقتی یک زبان جدید را یاد میگیری، ابتدا با واژگان، سپس گرامر و در نهایت با سبک بیان و نوشتن آشنا میشوی، کدنویسی هم همین مسیر را دارد. ابتدا باید سینتکس زبان را یاد بگیری (لغات و عبارات آن)، سپس ساختارهای منطقی (گرامر) و در نهایت الگوهای طراحی و معماری کد (سبک نوشتاری).
اما چیزی که باعث میشود یک نویسندهی خوب در زبانهای انسانی بدرخشد، فهم عمیق از ساختارها، تاریخچهی زبان، و فلسفهی آن است. در کدنویسی هم همین اصل برقرار است!
۲. الگوریتمها، شعرهای پنهان دنیای منطقاند!
🎗تصور کن یک الگوریتم مانند یک شعر کلاسیک است، هر بیت آن (خط کد) به زیبایی در کنار بیت دیگر قرار میگیرد تا یک معنی بزرگتر را منتقل کند. این همان چیزی است که باعث میشود الگوریتمهای خوب، زیبا، کارآمد و تمیز باشند. وقتی یک برنامهنویس حرفهای به الگوریتمی نگاه میکند، مانند خواندن یک شعر قوی، از هماهنگی خطوط، ارتباط بین بخشها، و تأثیرگذاری آن روی مسئله لذت میبرد.
🥇پس برای درک عمیقتر، الگوریتمها را نه فقط بهعنوان یک ابزار حل مسئله، بلکه بهعنوان یک اثر هنری ریاضی ببین که باید آن را درک کنی و حتی از آن لذت ببری.
۳. برنامهنویسی، هنر ترجمهی ایدهها به واقعیت است!
🥇شاید عجیب باشد، اما کدنویسی چیزی بیشتر از نوشتن یک سری خطوط پشت سر هم است. برنامهنویسی یک هنر ترجمه است؛ ترجمهی ایدهها و انتظارات به واقعیت دیجیتال. مهارت در این کار به این معنی است که نهتنها کد را بنویسی، بلکه قبل از نوشتن، مسئله را بشکافی، راهحلهای مختلف را در ذهن بررسی کنی، و سپس به بهینهترین، زیباترین و کارآمدترین راه برسید.
🥇در اینجا، تفکر طراحی نرمافزار مهم میشود؛ اینکه قبل از اینکه انگشتانت روی کیبورد حرکت کنند، مغزت باید بهترین مسیر را ترسیم کرده باشد!
۴. فلسفهی کدنویسی: چرا پشت پرده را ببینی؟
🥇کدنویسی صرفاً یک مهارت فنی نیست، بلکه پشت آن یک فلسفهی عمیق نهفته است. چرا؟
🏅چون تمام سیستمهایی که در دنیا وجود دارند، بر پایهی منطق و تفکر انسان ساخته شدهاند. وقتی برنامهنویسی میکنی، در واقع در حال خلق جهانهای جدید از جنس منطق و داده هستی.
🎖یک برنامهنویس واقعی، فقط به یادگیری سینتکس و حل مسائل سطحی اکتفا نمیکند؛ بلکه همیشه در جستجوی این است که بفهمد چرا یک راهحل بهتر است؟ چرا این الگوریتم سریعتر است؟ چرا معماری نرمافزار باید به این شکل باشد؟
این دقیقاً جایی است که تو را از یک کدنویس معمولی به یک معمار نرمافزار تبدیل میکند.
۵. سادگی و مینیمالیسم؛ روح برنامهنویسی حرفهای!
🎖بزرگترین اشتباهی که بسیاری از توسعهدهندگان مرتکب میشوند، اضافهگویی در کد است!
یک کد عالی، مثل یک جملهی کوتاه و پرمعناست؛ نه پیچیده و نه مبهم.
🏅«سادگی» همیشه نهایت ظرافت و قدرت است. هر چه در کدنویسی بیشتر پیشرفت کنی، میبینی که چطور میتوانی همان راهحلها را با کدهای کوتاهتر، واضحتر و زیباتر بنویسی.
۶. آزمایش، خطا، و شکست = مسیر موفقیت!
🎖اگر فکر میکنی که یک برنامهنویس حرفهای از روز اول بدون خطا کدنویسی میکرده، سخت در اشتباهی! بهترین توسعهدهندگان، کسانی هستند که بارها شکست خوردهاند، باگهای وحشتناک پیدا کردهاند، و بارها مجبور شدهاند از اول شروع کنند!
🏅پس هرگز از اشتباهاتت نترس. هر باگ، یک درس جدید برای درک عمیقتر منطق برنامهنویسی است.
۷. همیشه یاد بگیر و عمیقتر شو!
🏅دنیای برنامهنویسی مثل یک اقیانوس بیانتها است؛ هرچقدر جلوتر بروی، عمق بیشتری برای کشف کردن پیدا میکنی. اگر میخواهی در کار خود به نهایت موفقیت برسی، باید همیشه به این فکر کنی که چگونه بهتر بفهمم؟ چگونه بهتر طراحی کنم؟ چگونه مفاهیم را عمیقتر درک کنم؟
🏆راز اصلی پیشرفت، ذهنی است که هیچوقت از یادگیری خسته نشود.
🎗نتیجهگیری : کدنویسی یک مسیر فکری است، نه فقط یک مهارت !
برای اینکه به موفقیت واقعی در برنامهنویسی برسی، باید به آن به چشم یک مسیر فکری نگاه کنی. وقتی برنامهای مینویسی، در حال پیادهسازی یک مدل از جهان هستی هستی؛ این کار فقط یک سری "if" و "loop" نیست، بلکه یک هنر، علم، و فلسفهی ذهنی است که هرچه در آن عمیقتر شوی، درک بهتری از دنیای اطرافت خواهی داشت.
حالا بلند شو، یک چای خوب بریز، لپتاپت را باز کن، و با نگاه جدیدی به کدنویسی، شروع کن به خلق چیزهایی که دنیا را تغییر میدهند!
#مهم
#پیشنهادی
#note_wave
#ml_wave
#gaia_information
@codingrealm
۱. کدنویسی یک زبان است، آن را مانند یک زبان انسانی یاد بگیر!
💻همانطور که وقتی یک زبان جدید را یاد میگیری، ابتدا با واژگان، سپس گرامر و در نهایت با سبک بیان و نوشتن آشنا میشوی، کدنویسی هم همین مسیر را دارد. ابتدا باید سینتکس زبان را یاد بگیری (لغات و عبارات آن)، سپس ساختارهای منطقی (گرامر) و در نهایت الگوهای طراحی و معماری کد (سبک نوشتاری).
اما چیزی که باعث میشود یک نویسندهی خوب در زبانهای انسانی بدرخشد، فهم عمیق از ساختارها، تاریخچهی زبان، و فلسفهی آن است. در کدنویسی هم همین اصل برقرار است!
۲. الگوریتمها، شعرهای پنهان دنیای منطقاند!
🎗تصور کن یک الگوریتم مانند یک شعر کلاسیک است، هر بیت آن (خط کد) به زیبایی در کنار بیت دیگر قرار میگیرد تا یک معنی بزرگتر را منتقل کند. این همان چیزی است که باعث میشود الگوریتمهای خوب، زیبا، کارآمد و تمیز باشند. وقتی یک برنامهنویس حرفهای به الگوریتمی نگاه میکند، مانند خواندن یک شعر قوی، از هماهنگی خطوط، ارتباط بین بخشها، و تأثیرگذاری آن روی مسئله لذت میبرد.
🥇پس برای درک عمیقتر، الگوریتمها را نه فقط بهعنوان یک ابزار حل مسئله، بلکه بهعنوان یک اثر هنری ریاضی ببین که باید آن را درک کنی و حتی از آن لذت ببری.
۳. برنامهنویسی، هنر ترجمهی ایدهها به واقعیت است!
🥇شاید عجیب باشد، اما کدنویسی چیزی بیشتر از نوشتن یک سری خطوط پشت سر هم است. برنامهنویسی یک هنر ترجمه است؛ ترجمهی ایدهها و انتظارات به واقعیت دیجیتال. مهارت در این کار به این معنی است که نهتنها کد را بنویسی، بلکه قبل از نوشتن، مسئله را بشکافی، راهحلهای مختلف را در ذهن بررسی کنی، و سپس به بهینهترین، زیباترین و کارآمدترین راه برسید.
🥇در اینجا، تفکر طراحی نرمافزار مهم میشود؛ اینکه قبل از اینکه انگشتانت روی کیبورد حرکت کنند، مغزت باید بهترین مسیر را ترسیم کرده باشد!
۴. فلسفهی کدنویسی: چرا پشت پرده را ببینی؟
🥇کدنویسی صرفاً یک مهارت فنی نیست، بلکه پشت آن یک فلسفهی عمیق نهفته است. چرا؟
🏅چون تمام سیستمهایی که در دنیا وجود دارند، بر پایهی منطق و تفکر انسان ساخته شدهاند. وقتی برنامهنویسی میکنی، در واقع در حال خلق جهانهای جدید از جنس منطق و داده هستی.
🎖یک برنامهنویس واقعی، فقط به یادگیری سینتکس و حل مسائل سطحی اکتفا نمیکند؛ بلکه همیشه در جستجوی این است که بفهمد چرا یک راهحل بهتر است؟ چرا این الگوریتم سریعتر است؟ چرا معماری نرمافزار باید به این شکل باشد؟
این دقیقاً جایی است که تو را از یک کدنویس معمولی به یک معمار نرمافزار تبدیل میکند.
۵. سادگی و مینیمالیسم؛ روح برنامهنویسی حرفهای!
🎖بزرگترین اشتباهی که بسیاری از توسعهدهندگان مرتکب میشوند، اضافهگویی در کد است!
یک کد عالی، مثل یک جملهی کوتاه و پرمعناست؛ نه پیچیده و نه مبهم.
🏅«سادگی» همیشه نهایت ظرافت و قدرت است. هر چه در کدنویسی بیشتر پیشرفت کنی، میبینی که چطور میتوانی همان راهحلها را با کدهای کوتاهتر، واضحتر و زیباتر بنویسی.
۶. آزمایش، خطا، و شکست = مسیر موفقیت!
🎖اگر فکر میکنی که یک برنامهنویس حرفهای از روز اول بدون خطا کدنویسی میکرده، سخت در اشتباهی! بهترین توسعهدهندگان، کسانی هستند که بارها شکست خوردهاند، باگهای وحشتناک پیدا کردهاند، و بارها مجبور شدهاند از اول شروع کنند!
🏅پس هرگز از اشتباهاتت نترس. هر باگ، یک درس جدید برای درک عمیقتر منطق برنامهنویسی است.
۷. همیشه یاد بگیر و عمیقتر شو!
🏅دنیای برنامهنویسی مثل یک اقیانوس بیانتها است؛ هرچقدر جلوتر بروی، عمق بیشتری برای کشف کردن پیدا میکنی. اگر میخواهی در کار خود به نهایت موفقیت برسی، باید همیشه به این فکر کنی که چگونه بهتر بفهمم؟ چگونه بهتر طراحی کنم؟ چگونه مفاهیم را عمیقتر درک کنم؟
🏆راز اصلی پیشرفت، ذهنی است که هیچوقت از یادگیری خسته نشود.
🎗نتیجهگیری : کدنویسی یک مسیر فکری است، نه فقط یک مهارت !
برای اینکه به موفقیت واقعی در برنامهنویسی برسی، باید به آن به چشم یک مسیر فکری نگاه کنی. وقتی برنامهای مینویسی، در حال پیادهسازی یک مدل از جهان هستی هستی؛ این کار فقط یک سری "if" و "loop" نیست، بلکه یک هنر، علم، و فلسفهی ذهنی است که هرچه در آن عمیقتر شوی، درک بهتری از دنیای اطرافت خواهی داشت.
حالا بلند شو، یک چای خوب بریز، لپتاپت را باز کن، و با نگاه جدیدی به کدنویسی، شروع کن به خلق چیزهایی که دنیا را تغییر میدهند!
#مهم
#پیشنهادی
#note_wave
#ml_wave
#gaia_information
@codingrealm
Forwarded from DevTwitter | توییت برنامه نویسی
جالبه بدونید hello, world
اولین بار در کتابی با عنوان "The C Programming Language" نوشته برایان کرنیگان و دنیس ریچی در سال 1978 استفاده شد و از آن زمان به بعد به عنوان یک تمرین ابتدایی در بسیاری از زبانهای برنامهنویسی محبوبیت پیدا کرد.
من هم زمانی که برای اولین بار این کلمه رو بعد از کامپایل برنامه توسط استاد دانشگاهم دیدم به معنای واقعی کلمه به دنیای جدید با زبان های مختلف سلام کردم :)
@DevTwitter | <Mohammad Goroohi/>
اولین بار در کتابی با عنوان "The C Programming Language" نوشته برایان کرنیگان و دنیس ریچی در سال 1978 استفاده شد و از آن زمان به بعد به عنوان یک تمرین ابتدایی در بسیاری از زبانهای برنامهنویسی محبوبیت پیدا کرد.
من هم زمانی که برای اولین بار این کلمه رو بعد از کامپایل برنامه توسط استاد دانشگاهم دیدم به معنای واقعی کلمه به دنیای جدید با زبان های مختلف سلام کردم :)
@DevTwitter | <Mohammad Goroohi/>
Forwarded from Curious Geek ⚡️
Tehran ICT / Golestan ICT
این کامیونیتی در راستای کانکشن سازی بین فعالان حوزه تکنولوژی از جمله
1- Software Engineer
2- DevOps & SRE
3- AI Engineer & Data Engineer
4- Computer Scientist & Data Analyst
5- Frontend & Backend Developer
6- Cloud Architect
ها هستش ، ما منحصرا و متعصبانه حامی هیچ جریانی نیستیم ، هر کدوم از اعضا ممکنه دیدگاه خودشون رو داشته باشن.
اصلی ترین هدف این کامیونیتی شکستن دیوار های بین حوزه های مختلف در راستای شکل گیری ایده و تیم های نوست.
تلاش بر اینه جَو کامیونیتی ها دوستانه و غیر رسمی باقی بمونه.
در حال حاضر این کامیونیتی در گرگان شکل گرفته و در تهران اولین رویدادش برگزار شده.
خوشحال میشیم شما هم پیشمون باشید 😊
🔗 Tehran ICT / Golestan ICT
🆔 @Hiradsajde
این کامیونیتی در راستای کانکشن سازی بین فعالان حوزه تکنولوژی از جمله
1- Software Engineer
2- DevOps & SRE
3- AI Engineer & Data Engineer
4- Computer Scientist & Data Analyst
5- Frontend & Backend Developer
6- Cloud Architect
ها هستش ، ما منحصرا و متعصبانه حامی هیچ جریانی نیستیم ، هر کدوم از اعضا ممکنه دیدگاه خودشون رو داشته باشن.
اصلی ترین هدف این کامیونیتی شکستن دیوار های بین حوزه های مختلف در راستای شکل گیری ایده و تیم های نوست.
تلاش بر اینه جَو کامیونیتی ها دوستانه و غیر رسمی باقی بمونه.
در حال حاضر این کامیونیتی در گرگان شکل گرفته و در تهران اولین رویدادش برگزار شده.
خوشحال میشیم شما هم پیشمون باشید 😊
🔗 Tehran ICT / Golestan ICT
🆔 @Hiradsajde
Forwarded from Milwad Khosravi | میلاد خسروی
Numberبا استفاده از این کلاس شما میتونید عملیات هایی که روی اعداد انجام میدید رو باهاش انجام بدید.
در مثال شما میبینید که ب استفاده از این کلاس، ما اومدیم و کار
number_format رو به صورت خیلی راحت و براساس هر کشور انجام دادیم#لاراول #آموزشی
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from محتوای آزاد سهراب
کازمیک آلفا ۶ هم منتشر شد 🤑
https://blog.system76.com/post/cosmic-alpha-6-big-leaps-forward
هرچند هنوز زیاد کار داره تا قابل استفاده بشه.
@SohrabContents
https://blog.system76.com/post/cosmic-alpha-6-big-leaps-forward
هرچند هنوز زیاد کار داره تا قابل استفاده بشه.
@SohrabContents
Please open Telegram to view this post
VIEW IN TELEGRAM
System76 Blog
COSMIC Alpha 6: Big Leaps Forward
New accessibility features, workspaces polish, desktop icons, and more!
Forwarded from LearnPOV | لرن پی او وی (Mohammad hossein)
اصول SOLID چین دقیقا ⁉️
درواقع SOLID یه سری اصول مهم توی برنامهنویسی شیءگراست هستش که کمک میکنه کدهای تمیز، قابل تغییر و کماشکال بنویسیم.
➊ اصل مسئولیت واحد
➋ اصل باز/بسته
➌ اصل جایگزینی لیسکوف
➍ اصل تفکیک اینترفیسها
➎ اصل وارونگی وابستگی
➖➖➖➖➖➖➖➖➖
درواقع SOLID یه سری اصول مهم توی برنامهنویسی شیءگراست هستش که کمک میکنه کدهای تمیز، قابل تغییر و کماشکال بنویسیم.
➊ اصل مسئولیت واحد
Single Responsibility Principle
هر کلاس فقط باید یک کار انجام بده.
✅ چرا ؟ اگه یه کلاس چند کار مختلف انجام بده، تغییر توی یک بخش ممکنه بقیه قسمتها رو هم خراب کنه.
🎯 مثال: فرض کن یه کلاس داریم که هم سفارش ثبت میکنه، هم فاکتور صادر میکنه، هم ایمیل ارسال میکنه! اگه فقط بخش ایمیل نیاز به تغییر داشته باشه، ممکنه کل سیستم بهم بریزه. بهتره هر کار رو به کلاس مخصوص خودش بسپاریم.
➋ اصل باز/بسته
OCP - Open/Closed Principle
کد باید برای تغییر بسته، ولی برای توسعه باز باشه.
✅ چرا؟ اگه مجبور باشیم برای اضافه کردن یه قابلیت، کدهای قدیمی رو تغییر بدیم، ممکنه یه جای دیگه خراب بشه.
🎯 مثال: فرض کن یه کلاس داریم که تخفیف رو روی فاکتور اعمال میکنه. اگه بخوایم یه نوع جدید تخفیف اضافه کنیم، نباید توی کلاس قبلی دست ببریم. بهجاش یه کلاس جدید برای نوع جدید تخفیف میسازیم که به سیستم اضافه بشه، بدون اینکه چیزی خراب بشه.
➌ اصل جایگزینی لیسکوف
LSP - Liskov Substitution Principle
کلاسهای فرزند باید بدون مشکل جایگزین کلاس والد بشن.
✅ چرا؟ اگه یه کلاس فرزند بهدرستی جای والد خودش رو نگیره، برنامه رفتار غیرمنتظرهای پیدا میکنه.
🎯 مثال: فرض کن یه سیستم پرداخت داریم که روشهای مختلفی مثل کارت بانکی و کیف پول رو پشتیبانی میکنه. اگه یه متد "پرداخت()" توی والد باشه، همه کلاسهای فرزند باید بتونن درست ازش استفاده کنن. حالا اگه یه روش پرداخت مثل "پرداخت با امتیاز" اضافه کنیم که امکان پرداخت نصفهنیمه داره، کل سیستم ممکنه به مشکل بخوره!
➍ اصل تفکیک اینترفیسها
ISP - Interface Segregation Principle
اینترفیسها نباید متدهای اضافی داشته باشن.
✅ چرا؟ اگه یه کلاس مجبور بشه متدهایی رو پیادهسازی کنه که بهش نیاز نداره، کد بههمریخته و پیچیده میشه.
🎯 مثال:
فرض کن یه اینترفیس داریم به اسم Device که متدهای پرینت، اسکن و فکس داره. حالا یه کلاس داریم برای یه پرینتر ساده که فقط پرینت میکنه، ولی مجبور میشه متدهای اسکن و فکس رو هم پیادهسازی کنه، در حالی که بهشون نیازی نداره. بهتره اینترفیس رو به چند بخش جدا تقسیم کنیم.
➎ اصل وارونگی وابستگی
DIP - Dependency Inversion Principle
ماژولهای اصلی نباید مستقیم به جزئیات وابسته باشن، بلکه به اینترفیسها وابسته باشن.
✅ چرا؟ اگه یه بخش از سیستم وابسته به یه کلاس خاص باشه، هر تغییری توی اون کلاس میتونه باعث خرابی کل سیستم بشه.
🎯 مثال: فرض کن یه سیستم گزارشگیری داریم که دادهها رو از یه دیتابیس خاص مثل MySQL میگیره. اگه یه روز بخوایم به PostgreSQL یا MongoDB مهاجرت کنیم، کل کدهای گزارشگیری باید تغییر کنن. ولی اگه وابستگیها به یه اینترفیس Database باشه، میتونیم دیتابیس رو عوض کنیم، بدون اینکه به کدهای اصلی دست بزنیم.
#WhatsThat #SOLID
𝗖𝗛𝗔𝗡𝗡𝗘𝗟 | 𝗚𝗥𝗢𝗨𝗣
➖➖➖➖➖➖➖➖➖
Forwarded from Linuxor ?
ترجیح شرکت ها به گیتهاب های کویری بجای گیتهاب های سرسبز برای استخدام!
برای استخدام شدن گاهی مهارتها و تجربه شما اهمیت کمتری نسبت به این داره که چقدر شبیه تیم فعلی یا نظر مدیر منابع انسانی هستید. بیشتر شرکت ها به تناسب شما و روابطتون با تیم توجه میکنن.
این یعنی بیشتر به مفید بودن شما برای خودشون اهمیت میدن نه اون 20k استار گیتهابتون در واقع دنبال نابغه نیستن یه حد معمولی بدونید و بتونید براشون کار کنید کافیه.
@Linuxor
برای استخدام شدن گاهی مهارتها و تجربه شما اهمیت کمتری نسبت به این داره که چقدر شبیه تیم فعلی یا نظر مدیر منابع انسانی هستید. بیشتر شرکت ها به تناسب شما و روابطتون با تیم توجه میکنن.
این یعنی بیشتر به مفید بودن شما برای خودشون اهمیت میدن نه اون 20k استار گیتهابتون در واقع دنبال نابغه نیستن یه حد معمولی بدونید و بتونید براشون کار کنید کافیه.
@Linuxor
Forwarded from DevTwitter | توییت برنامه نویسی
یه ریپازیتوری گیتهاب راهاندازی کردم که بهترین منابع یادگیری جاوا رو با تمرکز روی سیستم دیزاین، معماری نرمافزار و امنیت جمعآوری کنیم. شامل کتابها، دورههای ویدیویی، مقالات، نمونهکدها و نکات کاربردی.
https://github.com/Parsa-Parvizi/Java-Toturial
@DevTwitter | <Parsa-py/>
https://github.com/Parsa-Parvizi/Java-Toturial
@DevTwitter | <Parsa-py/>