30345
توییت های برنامه نویسی و طراحی وب :) @dvtwi Hashtags: devtwitter.t.me/5 DevBooks Channel: https://t.me/+AYbOl75CLNYxY2U0 Github: https://github.com/DevTwitter X: https://x.com/devtwittir
بهترین روش برای احراز هویت در ریاکت با JWT
توکن ها رو کجا ذخیره کنیم که بهترین حالت ممکن باشه؟! در این جا مقایسهای از روشهای ذخیرهسازی به همراه یه روند گامبهگام برای پیادهسازی بهترین روش برای احراز هویت ایمن تو ریاکت براتون آورده شده !
@DevTwitter | <Bahador Khajehmiri/>
محدودیتهای LLMها مثل ChatGPT و Claude اذیتتون میکنه؟
خب راه اولش اینه برید سراغ مدلهای فاقد سانسور. ولی اونا هم یه لولی از سانسور رو معمولا همراه خودشون دارند (بخصوص در پلتفرم عمومی). پس چاره چیه؟
ایناهاش:
https://github.com/elder-plinius/L1B3RT4S
پرامپتهایی برای قفلشکنی LLMهای مختلف!
@DevTwitter | <Muhammadreza Haghiri/>
پروژه استریملیت برای استخراج زیرنویس ویدیوهای یوتیوب که رایگان هم هست قرار دادم روی گیت هاب :)
فقط برای دریافت زیرنویس ها باید از فیلترشکن استفاده کنید !
پروژه با استریمیلت نوشته شده !
https://github.com/alipyth/youtube_trasncribe
@DevTwitter | <Mr.J/>
فرق بین Heap Memory و Stack Memory در جاواسکریپت؟
دیروز با یکی از شرکت ایرانی مصاحبه رفتم فارغ از یه
سری سوالات تکراری مباحثی مانند hoisting closure , type vs interface , prototype , hook ها و... از heap و stack مموری ازم پرسیدن و همچنین مدیرت درست heap در جاوااسکریپت!
۱ - استک مموری
- پشته (Stack) در JS برای ذخیره متغیرهای مقدار (Primitive Values) و فراخوانی توابع استفاده میشود.
- هر تابعی که فراخوانی شود، یک Stack Frame (قاب پشته) دریافت میکند که شامل متغیرهای محلی و پارامترهای آن تابع است.
- تخصیص حافظه در استک سریع و خودکار است.
۲ - هیپ مموری
- حافظه هیپ (Heap) برای ذخیره اشیاء (Objects) و دادههای غیر اولیه (Non-Primitive) استفاده میشود.
- حافظه در هیپ داینامیک تخصیص داده میشود و Garbage Collector آن را مدیریت میکند که هندل کردن این بر عهده برنامه نویس هست.
نکته مهم: هنگامی که یک شیء یا آرایه ساخته میشود، مقدار آن در Heap Memory ذخیره شده و آدرس (Reference) آن در Stack Memory قرار میگیرد.
خب نکته مهم دیگر این هست که اگر برنامه نویس داده زیادی را در heap ذحیره کند باید حتما بعد از استفاده مموری را آزاد کند تا سیستم دچار Memory Leak نشود که روش آزاد سازی هم به این شکل هست که اگر دیگر نیازی به داده ندارید، مقدار null یا undefined را به متغیر اختصاص دهید تا ارجاع از بین برود و یا میتونید از WeakMap استفاده کنید که خود به خود ارجاع های بدون استفاده را حذف میکند.
@DevTwitter | <Alireza Majdi/>
اگر از AI برای تولید محتوا مخصوصاً محتوای متنی استفاده میکنید، نیازه که Humanize بشه. این سایتStealthGPT یکی از بهترین سایتهای کمکی برای انسانی و بهینه کردن محتواهای تولید شده با AI هست.
Link: https://stealthgpt.ai
@DevTwitter | <Saman Faegh/>
یه ابزار کاربردی برای تولید skeleton برای فرانتکارها !
دستی میشه هر ساختاری که نیازه با هر اندازهای طراحی کرد و کدش رو تحویل گرفت.
https://skeletonreact.com
@DevTwitter | <Abbas Ebadian/>
یکی از قابلیتهایی که Full-Text در MySQL دارد، امکان تعریف stopwords برای جلوگیری از بزرگ شدن ایندکس و افزایش کیفیت نتایج جستجو است.
ما میتونیم با حذف کلماتی مانند حروف اضافه، افعال رایج و حتی کلمات نامناسب، ایندکس بهینه داشته باشیم.
برای این کار کافیه، جدولی با یک ستون به نام value بسازیم و اون رو با استفاده از آپشن innodb_ft_server_stopword_table به MySQL معرفی کنیم.
دیکشنریهای آمادهی زیادی برای stopwords در اینترنت وجود داره که میشه ازشون استفاده کرد.
یکی از دیکشنریهای Open Source که میشه ازش استفاده کرد، پروژهی زیر است:
https://github.com/kharazi/persian-stopwords
بعد از اعمال تغییرات در stopwords، باید ایندکس Full-Text را مجدداً ایجاد کنید تا تغییرات اعمال شود.
@DevTwitter | <Hamoon Mohammadian Pour/>
این پروژه ، یک جعبه ابزار برای ساخت agent با استفاده از LangGraph ، FastAPI و Streamlit بر بستر پایتون و داکر هست:
https://github.com/JoshuaC215/agent-service-toolkit
@DevTwitter | <Ehsan Azhdari/>
پروژه eliza یک فریم ورک برای توسعه AI Agent هست که سهم بازار و کامیونیتی بزرگی داره ، به راحتی به Discord ، Twitter و Telegram وصل میشه ، مدلهای Llama، OpenAI و Grok رو ساپرت میکنه:
https://elizaos.github.io/eliza/
@DevTwitter | <Ehsan Azhdari/>
NeoPaste
یه ابزار خفن برای مدیریت کلیپبورده! باهاش میتونی متنها و عکسهای کپیشده پیست کنی. حتی میتونی فرمت عکسها رو عوض کنی.
دیگه لازم نیست فایلهات تو یه جای پیشفرض ذخیره بشه؛ هرچی رو تو همون پوشهای که کار میکنی، سیو میکنه.
https://github.com/ArioMoniri/NeoPaste
@DevTwitter | <Ario/>
تا به حال به این فکر کردید که SQL کوعری ای که به MySQL ارسال میکنیم چه مراحلی رو سپری میکنه تا اجرا بشه و نتیجه رو به ما برگردونه؟ من در دیاگرام زیر این مراحل رو براتون کشیدم و بزودی طبق همین دیاگرام میگم که چطور سرعت اجرا شدن کوعری رو زیاد و مراحل رو کمتر کنیم .
@DevTwitter | <Hamideh Alaee/>
متاسفانه از پریروز گوگل شروع به بن کردن اکانت های ایرانیها کرده و این واقعا تاسف باره! تو این پست یه نگاهی میندازیم به جایگزینهای رایگان و Self_hosted برای Google_Analytics
شماره 1 - Matomo (پیشنهادی)
- اپن سورس و مشابه Google Analytics
- نصب روی سرور شخصی
- دارای امکانات پیشرفته و کامل
matomo.org
شماره 2 - Umami
- سبک، ساده و بدون نیاز به کوکی
- نصب آسان با Node.js
- حریم خصوصی محور
https://github.com/umami-software/umami
شماره 3 - Plausible (نسخه رایگان Self-hosted)
- اپن سورس و بسیار سبک
- مناسب برای سایتهای کوچک و متوسط
plausible.io
شماره 4 - PostHog
- ابزار پیشرفته برای تحلیل رفتار کاربران
- قابلیت Heatmaps و Session Recording
posthog.com
@DevTwitter | <Ali Salehi/>
تا حالا شده که بخواین خیلی سریع استایل کدهاتون رو مرتب کنید ؟
اینجاست که Laravel Pint به کمکتون میاد این پکیج از ابتدا توی پروژه لاراول هست و نیازی نیست نصب کنیدش و کانفیگ خاصی هم نمیخواد
میتونید با اجرا کردن یه دستور کار رو در بیارین :
./vendor/bin/pint
دیدن خطاهای استایلی فایل ها بدون هیچ تغییری در کد :
./vendor/bin/pint --test
دیدن خطاهای استایلی فایل ها با جزئیات بیشتر
./vendor/bin/pint --test -v
@DevTwitter | <abolfazl hadipour/>
هنوزم دارید احراز هویت رو از صفر مینویسید؟ بسه واقعا
احراز هویت کاربر، یه بخش حیاتی ولی گاهاً خستهکننده توی پروژههای برنامهنویسیه. چقدر زمان و انرژی صرف ساختن سیستم ثبتنام، ورود، بازیابی رمز عبور و ... میکنید؟ وقتشه یه راه حل هوشمندانه رو بشناسید که تمرکزتون رو برمیگردونه به جایی که واقعاً باید باشه: کدنویسی ویژگیهای خفن پروژه!
معرفی Clerk.com:
یه پلتفرم فوقالعادهست که تمام پیچیدگیهای مربوط به احراز هویت و مدیریت کاربران رو براتون هندل میکنه. دیگه نیازی نیست درگیر ساخت فرمهای پیچیده، مدیریت توکنها، احراز هویت دو مرحلهای و کلی دردسر دیگه باشید. Clerk.com این امکان رو بهتون میده که به سادگی و با چند خط کد، یه سیستم احراز هویت امن و مدرن رو به اپلیکیشنهاتون اضافه کنید.
چرا Clerk.com برای برنامهنویسها عالیه؟
سرعت و سهولت یکپارچهسازی: با کتابخانههای آماده برای فریمورکها و زبانهای برنامهنویسی محبوب، خیلی سریع میتونید Clerk.com رو به پروژهتون اضافه کنید.
امنیت بالا: دیگه نگران آسیبپذیریهای امنیتی مربوط به احراز هویت نباشید. Clerk.com با رعایت بهروزترین استانداردهای امنیتی، خیال شما رو راحت میکنه.
رابط کاربری قابل تنظیم: ظاهر صفحات ورود و ثبتنام رو مطابق با برند و طراحی اپلیکیشنتون شخصیسازی کنید.
پشتیبانی از روشهای مختلف احراز هویت: ورود با ایمیل، شماره تلفن، حسابهای شبکههای اجتماعی و ...
مدیریت آسان کاربران: داشبورد کاربری ساده و قدرتمند برای مدیریت کاربران و تنظیمات مربوط به اونها.
صرفهجویی در زمان و هزینه: با استفاده از Clerk.com، دیگه نیازی به صرف زمان و منابع برای توسعه و نگهداری سیستم احراز هویت اختصاصی ندارید.
به نظر من، اگه یه برنامهنویس هستید که دنبال یه راه حل حرفهای و کارآمد برای مدیریت احراز هویت میگردید، Clerk.com قطعاً ارزش بررسی داره.
https://clerk.com/
@DevTwitter | <Alireza Fakhar/>
چرا ردیس اینقدر سریع کار میکنه؟
ردیس یه دیتابیس در حافظه است که سرعت خیلی بالایی داره. حالا بیاید ببینیم چرا اینقدر سریع هست.
۱. دادهها تو RAM ذخیره میشن
اولین دلیل سرعت ردیس اینه که همه دادهها در حافظه RAM ذخیره میشن، نه روی دیسک. این یعنی وقتی یه درخواست میاد، ردیس نیازی نداره که دادهها رو از روی هارد دیسک بخونه، چون همه چیز داخل حافظهس. خواندن از RAM خیلی سریعتر از دیسکه. علاوه بر این، ردیس از ساختارهای دادهای ساده مثل hash tables، linked lists و skip lists استفاده میکنه که همین سادگی باعث میشه خیلی سریعتر از دیتابیسهای دیگه عمل کنه.
۲. فقط یک رشته برای همه درخواستها
حالا شاید این سوال پیش بیاد که چرا ردیس از فقط یه thread استفاده میکنه؟ معمولاً فکر میکنیم استفاده از چندین thread میتونه سرعت رو بیشتر کنه، اما در دیتابیسهای دیگه، این کار باعث درگیری و کندی میشه، چون چند thread ممکنه با هم دسترسی به دادهها رو به اشتراک بذارند و قفلگذاری بشه. اما ردیس با استفاده از تنها یک thread این مشکل رو حل کرده و خیلی سریعتر عمل میکنه.
۳. مدیریت درخواستها با I/O Multiplexing
حالا بریم سراغ یکی از بخشهای جالب ردیس که معمولاً خیلی مورد توجه قرار نمیگیره، ولی درواقع دلیل اصلی سرعت بالای ردیسه: I/O Multiplexing. این تکنیک به ردیس این امکان رو میده که بتونه با یه thread تعداد زیادی درخواست رو بهطور همزمان مدیریت کنه. حالا شاید بپرسید: چطور ممکنه؟
در دیتابیسهای معمولی، وقتی چندین درخواست به سیستم میرسه، معمولاً هر درخواست برای پردازش نیاز به یه thread جداگانه داره. این یعنی سیستم باید چندین thread رو بهصورت همزمان اجرا کنه و این باعث میشه که هم سرعت کاهش پیدا کنه و هم مصرف منابع بیشتر بشه.
اما ردیس با استفاده از I/O Multiplexing این مشکل رو حل کرده. این تکنیک به ردیس این امکان رو میده که فقط با یک thread بتونه همه درخواستها رو مدیریت کنه. چطور؟ اینطور که ردیس از یه مکانیسم پیچیده برای مدیریت ورودی و خروجی (I/O) استفاده میکنه. وقتی درخواستها به سیستم میرسه، ردیس بهطور موقت اونها رو نگه میداره و به محض اینکه منابع آزاد بشه، جواب میده. به این ترتیب ردیس میتونه با یه thread چندین درخواست رو بهطور همزمان پردازش کنه بدون اینکه منتظر بشه یا منابع رو قفل کنه.
این کار باعث میشه که ردیس از نظر سرعت و کارایی خیلی بهتر از سیستمهایی باشه که از چندین thread برای پردازش درخواستها استفاده میکنن. در واقع I/O Multiplexing به ردیس این امکان رو میده که بهطور همزمان و با کمترین میزان تأخیر، چندین درخواست رو پردازش کنه و این یعنی سرعت بالا و پاسخدهی سریع.
در نهایت، این تکنیک به ردیس اجازه میده که در مقیاس بزرگ، حتی با تعداد زیادی درخواست هم عملکرد خودش رو حفظ کنه و به طور موثر منابع رو مدیریت کنه. این یعنی هیچ وقت ردیس از پس بار سنگین درخواستها برنمیاد و همیشه سریع و کارآمد باقی میمونه.
در نهایت، این ویژگیها باعث میشه که ردیس سریعترین و کارآمدترین گزینه برای کار با دادهها باشه، به خصوص برای برنامههایی که نیاز به پاسخدهی سریع دارن.
@DevTwitter | <Reza Annabestani/>
نوبتی هم باشه نوبته اینه که پی سختی رو به تنمون بمالیم و تغییر و بپذیریم ، تعصبات بی حساب کتاب رو بزاریم کنار و بریم به سمت واقعیت و اینده جدید
قبل این که cursor رو نصب کنم و استفاده کنم
واقعا برام سخت بود و جبهه داشتم که وا مگه میشه VS Code رو که روش از دستیار Genie استفاده میکردم رو بزارم کنار و بیام یه ادیتور دیگه نصب کنم!!
تا اینکه به پیشنهاد دوستم این کارو کردم و نصبش یکم عجیب پیش رفت و اخرش بووووووم !
cursor نصب بودن VS Code رو روی سیستم من تشخیص داد و همه تنظیماتم رو حتی تا تم و اکستنشن هایی که داشتم رو شناسایی کرد و روی خود cursor نصب کرد
حالا من یه ادیتور که فتوکپی VS Code هست ولی با AI یه integrate خیلی خوب داره ، دارم
و تو این مدت که ازش استفاده کردم واقعا سرعت رو تو توسعه افزایش داده
خلاصه اینکه الکی تعصب نداشته باشیم ، منم از کم عقلیم بود
@DevTwitter | <Fariborz Shalghooni/>
سورسای این دوتا پروژه رو چک کردم، منبع زیبایی برای یادگیری tcp و زبون C عه:
پروژه ی onload:
https://github.com/Xilinx-CNS/onload
پروژه ی tcp direct:
https://github.com/Xilinx-CNS/tcpdirect
@DevTwitter | <Abolfazl/>
چند وقت پیش توی یکی از پروژهها نیاز داشتیم از تقویم فارسی همراه با
روزهای تعطیل رسمی استفاده کنیم. بعد از بررسی چندین کتابخانه و API مختلف، دیدم بیشترشون از دادههای هاردکد شده استفاده میکنن و اطلاعات کاملی ندارن.
همین موضوع باعث شد که پروژه Persian Calendar رو توسعه بدم.
- دادههای تقویم بهصورت داینامیکه، ۱۰ سال گذشته و ۱۰ سال آینده رو پوشش میده و هر ماه بهروز میشه.
- هم میتونید بهصورت API ازش استفاده کنید و هم به شکل یه NuGet Package.
مستندات:
persian-calendar.ir
لینک NuGet:
https://www.nuget.org/packages/Persian-Calendar
تکنولوژیهای استفادهشده:
Front-end: Angular
Back-end: .NET
Database: MongoDB
@DevTwitter | <Ariyan Rahmani/>
این ویدئو در مورد Laravel Cloud خیلی جالب بود. یه جاهایی کار رو خیلی راحت میکنه ولی ممکن هست کلی دردسر هم داشته باشه.
https://www.youtube.com/watch?v=BxJ-quAMh9o
@DevTwitter | <Mohsen Shabanian/>
مایکروسافت یه دوره ی رایگان گذاشته برای یادگیری AI Agentها...
تمرکزش روی استفاده از تکنولوژی های مایکروسافته، مثال های متعددی داره و فریم ورکهای مختلفی رو برای ساخت ایجنت معرفی کردن...
https://github.com/microsoft/ai-agents-for-beginners/tree/main
@DevTwitter | <Sam92/>
اگه همیشه درگیر حل کردن کانفلیکتهای تکراری توی Git هستی، git rerere میتونه نجاتت بده!
این دستور باعث میشه Git یاد بگیره که کانفلیکتهایی که قبلاً حل کردی رو، توی آینده خودش برات حل کنه.
من اولش فکر میکردم این قابلیت ممکنه مشکلساز بشه، ولی وقتی چند بار روی یه فیچر کار میکردم و مجبور بودم مرتب rebase کنم، فهمیدم که چقدر وقتم رو ذخیره میکنه. یه بار حل کن، همیشه استفاده کن.
کجا کاربردیه؟
- وقتی مرتب روی یه فیچر کار میکنی و چند بار merge یا rebase انجام میدی.
- وقتی توی یه تیم کار میکنی و دائم کانفلیکتهای مشابه رو حل میکنی.
توضیحات بیشتر اینجاست:
https://git-scm.com/docs/git-rerere
@DevTwitter | <shahin behzadrad/>
مرورگر کروم داره روی یه چیزی به اسم «توابع CSS» کار میکنه که یه جورایی منطق وارد CSS میشه، یعنی الان CSS ها بیشتر برای توصیف ظاهر هستن، نه برای محاسبه و تصمیمگیری. با این توابع ولی میشه شرطبذاری، محاسبه کنی و قوانین خاص اجرا کنی.
مثلا الان وقتی کلی CSS نوشته شده، اگه بخوایم یه سری ویژگیهارو تغییر بدیم مثلا رنگها مجبوریم تمام CSS هارو ویرایش کنیم ولی توی توابع میتونی یه جا تعریفش کنی و جاهای دیگه صداش کنی. خروجی میشه CSS فوقالعاده کمتر و سرعت بیشتر توی نوشتن و ویرایش کدهای CSS.
از طرفی با نسخهی پیشرفتهتری از سایتها روبرو میشیم که به مراتب داینامیکتر عمل میکنن.
بعد میتونید مجموعهای از توابع رو بسازی (یه جورایی یه کتابخونه ساختی) و توی پروژههای بعدیت ازشون استفاده کنی.
فعلا این ویژگی تو نسخهی آزمایشی Chrome Canary اضافه شده
میشه پیشبینی کرد همین امسال به کروم اصلی هم اضافه بشه، از اونجایی که بیشتر سهم بازار مرورگرها در اختیار کروم هست و مابقی هم مرورگرهای کروم بیس هستن میشه انتظار داشت از سال آینده توابع CSS به شکل گسترده استفاده بشه.
@DevTwitter | <Geek Alerts/>
فکر کردی اجرای مدلهای LLaMA و بقیه به صورت لوکال هنر محسوب میشه؟ فکر کردی کار کردن با ابزارهای Inference LLM و دادن دیتا بهشون کار بزرگیه؟ نه عزیز، کار خفن اینه که خودت مدل لوکال رو روی دیتای خودت Train کنی!
https://github.com/hiyouga/LLaMA-Factory
@DevTwitter | <Diss Obedience/>
سم آلتمان، مدیرعامل OpenAI، اخیراً فاش کرده که شرکت از سرویس اشتراکی ChatGPT Pro با قیمت ۲۰۰ دلار در ماه ضرر میکند، چون کاربران بیشتر از حد انتظار از این سرویس استفاده میکنن.
با اینکه OpenAI تا حالا حدود ۲۰ میلیارد دلار سرمایه جمع کرده، هنوز به سوددهی نرسیده. پیشبینی شده که سال گذشته حدود ۵ میلیارد دلار ضرر کردن، در حالی که درآمدشون ۳.۷ میلیارد دلار بوده.
آلتمان ابراز اطمینان کرده که OpenAI میتونه هوش مصنوعی عمومی (AGI) بسازه و گفته تمرکز جدید شرکت روی دستیابی به هوش فوقالعاده (superintelligence) هست.
با این حال، هزینههای سنگین برای آموزش و اجرای مدلهای پیشرفته هوش مصنوعی، چالشهای مالی بزرگی برای OpenAI ایجاد کرده.
شراکت OpenAI با مایکروسافت، که ۱۳ میلیارد دلار در این شرکت سرمایهگذاری کرده، شامل توافقیه که ۲۰٪ از درآمد OpenAI به مایکروسافت میرسه و این موضوع هم روی سوددهی تأثیر گذاشته.
کمپانی OpenAI انتظار داره تا سال ۲۰۲۹ به سوددهی برسه، ولی شرایط مالی فعلی نشون میده که شرکتهای هوش مصنوعی برای ترکیب نوآوری و مدلهای کسبوکار پایدار، با چالشهای جدی روبهرو هستن.
Link: https://techcrunch.com/2025/01/05/openai-is-losing-money-on-its-pricey-chatgpt-pro-plan-ceo-sam-altman-says/
@DevTwitter | <Mehdi Allahyari/>
نسخه جدید Laravel 11.37 منتشر شده و چندتا ویژگی جذاب و کاربردی بهش اضافه شده که میشه گفت تا حدودی کاربردی هستن
۱ - اضافه شدن Trait Dumpable برای Uri
با استفاده از این trait که به تابع dd() همزمان دسترسی داریم که میتونه debug رو برای ساخت Uri ها راحتتر کنه (البته این trait برای Eloquent ها هم وجود داره).
۲ - اضافه شدن تابع is() به کلاس Str
ویژگی جالبی میده و از نوشتن کد های طولانی جلوگیری کرده در واقع برسی میکنه که ورودی اول شبیه به ورودی دوم هستش یا نه که ویژگی های مختلفی داره مثل استفاده کردن از * یا استفاده کردن از ? یا برسی بزرگ و کوچک بودن حروف لاتین بقیه ویژگی ها رو میتونید از منبع همین پست برسی کنید.
۳ - اضافه شدن چندتا Eloquent Relation Methods
اگر بخواهیم شرط های تو در تو بنویسیم با استفاده از ارتباط ها باید از انواع مختلف where استفاده کنیم که یکی از این مدل ها whereDoesntHave هستش مدل مبدا یک یک ارتباط یک به چند داره رو در نظر میگیره و به عنوان مثال هر کاربر میتونه چندین نظر برای محصولات ذخیره کنه و داخل تابع whereDoesntHave میشه این مورد رو اضافه کرد و روی هر نظر هم یک شرط قرار داد به عنوان مثال نظراتی رو برگردون که تایید شدن یا تاریخ ساخت اون ها قبل از یک ماه هستش حالا لاراول اومده یک کلاس جدید قرار داده که خیلی کوتاه تر بشه این موضوع رو هندل کرد یعنی با استفاده از تابع whereDoesntHaveRelation برای دیدن مثال و جزئیات به منبع اخر همین پست را مطالعه کنید.
یک تابع دیگه هم مثل whereDoesntHaveRelation برای ارتباط ها از نوع polymorphic قرار داده (اگر با ارتباط های polymorphic اشنایی ندارید منبع زیر میتونه کمکتون کنه) که اسم تابع مورد نظر whereMorphDoesntHaveRelation هستش
چندتا ویژگی دیگه هم وجود داره و فیکس های مختلفی وجود داره که از منابع زیر میتونید مطالعه کنید.
منبع مربوط به ویژگی های نسخه 11.37
https://laravel-news.com/laravel-11-37-0
@DevTwitter | <Sina Nayebzadeh/>
#Python
ما میتونیم Alien Invasion رو بهتر از همیشه کنیم!
خیلی از شماها توی کامنتهای یوتیوب و دیسکورد ازم خواسته بودید فضایی برای یادگیری بیشتر، کار روی پروژهها و کسب تجربه در برنامه نویسی فراهم کنم.
منتظر دریافت و ریویو pull request های شما هستم!
https://github.com/MatinAfzal/Alien-invasion
@DevTwitter | <Matin Afzal Asr/>
@DevTwitter | <Mojtaba Allahkarimi/>
یه موضوعی درباره PHP نسخه 8 که فکر کنم بهش کم توجهی شد JIT باشه.
چی هست حالا؟
همه ما میدونیم که PHP یک زبانی تفسیری (interpreted) هست، اما این به چه معناست؟
هر وقت که شما قطعه کدی رو اجرا میکنید، چه یک کد کوتاه و ساده باشه.. و چه یک وب اپلیکیشن کامل.. این پروسه از طریق interpreter یا مفسر PHP صورت میگیره
کار این مفسر ها بسیار ساده ست: کدهای PHP رو میگیرند.. تفسیر میکنند و نتایج رو بر میگردونند.
این پروسه به طور معمول برای تمام زبان های تفسیری اتفاق میفته. در بعضی از زبان ها ممکنه که برخی از این مراحل حذف بشه; اما در نهایت ایده و روال کلی کار همینه.
حالا اگه یه کد تکراری داشته باشیم که ده بار استفاده شده چی؟
یعنی هر بار دوباره میاد تفسیرش میکنه؟
در حالت عادی بله. اما وقتی JIT میاد وسط جلوی این کار گرفته میشه.
در اینجا JIT میاد یه بار تفسیرش میکنه بعد تبدیلش میکنه به کد ماشین. اینجا سرعت میره بالا
اینطوری پردازش های ما بهینه میشه
یه بنچمارکم از این ویژگی ببینیم:
تا میای استراحت کنی، شنبه میشه🗿
@luvablee
اینم یک TUI برای گیتهاب. خیلی جالبه
https://github.com/dlvhdr/gh-dash
@DevTwitter | <ArashM/>
دوره لیسانس دوست داشتم مسیر یادگیری هم رشتهایهام رو ببینم و یک ایده کلی ازش داشته باشم. اینجا یه سری از کتابهایی که اون دوره خونده بودم و برام تاثیر گذارتر بودن رو نوشتم
https://amiremohamadi.github.io/posts/cs-roadmap/
@DevTwitter | <AMIR/>