🎄 DevTwitter | توییت برنامه نویسی – Telegram
🎄 DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.37K photos
358 videos
6 files
4.11K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://news.1rj.ru/str/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
آقا من یدونه اسکریپت تحت cli نوشتم برای وریفای کردن iso سیستم عامل ، بهتون انواع هش هارو نشون میده (SHA-256, SHA-512, MD5) بعدش استراکچر خود فایل iso رو برسی میکنه و دست آخر صحت فایل رو ، هر نوع iso هم ساپورت میکنه،اگه دوست داشتید استفاده کنید و استار بدید
https://github.com/Mehranlip/ISOHashVerifier

@DevTwitter | <Mehran/>
30👍8🤣7👎3
توافق روی نام گذاری ها از نون شب واجب تره!!
یه جمله جالب توی کتاب clean code دیدم که نوشته بود، زمانی که میخواید توابع یا متغیرهاتون رو نامگذاری کنید اون قدر حساسیت به خرج بدید که انگار دارید برای یک نوزاد تازه به دنیا اومده اسم انتخاب میکنید.
یک نکته که داخل تیم هم خیلی مهمه اینه که برای یک مفهوم، از چند ورب مختلف استفاده نشه. مثلا برای ایجاد کردن فرضا محصول میشه همه ورب های add, create, insert, make, ... رو استفاده کرد. برای اینکه ابهام و سردرگمی پیش نیاد همیشه سعی کنید توی پروژتون برای همه entity ها از یک ورب یکسان استفاده کنید و این رو توی تیمتون هم باهم توافق کنید که همه از اون ورب استفاده کنن.
این مساله به ظاهر کوچیک خیلی خیلی مهمه لطفا رعایت کنید.

@DevTwitter | <Pouya Farshidnia/>
👍125🔥72👎1
This media is not supported in your browser
VIEW IN TELEGRAM
سرعت زبان‌های برنامه‌نویسی در اجرای ۱ میلیارد حلقه‌ی تو در تو

@DevTwitter
👍68🤣39👎21🔥2
امروز با
https://github.com/browser-use/browser-use
قدری ور رفتم. شبیه جادو بود

دنیا هر روز داره جالب تر میشه
رسیدیم به فصل AI Agent

@DevTwitter | <straxico/>
🔥27👍7🤣3👎1
این نکته در مورد لاراول خیلی جالب بود.
یه تنظیم کوچیک که می‌تونه نجات بخش باشه.
https://www.youtube.com/shorts/nz4aoRiZNOM

@DevTwitter | <Mohsen Shabanian/>
🤣15👍7🔥2
چطور با استفاده از custom casts در لاراول داده‌ها را به شکل دلخواه درآوریم؟

لینک مقاله

@DevTwitter | <Reza Annabestani/>
👍25🤣7
یک برنامه‌نویس با تجربه به این 17 مورد توجه می‌نماید:

0- عاشق کدی که نوشتی نشو، همیشه باید سعی کنی بهترش کنی
1- در شرایط اورژانسی می‌فهمی پیچیدگی الکی درست کردن چطوری پاره می‌کند
2- هر روش و تکنولوژی بالاخره مزایا و معایب خودش را دارد و قطعاً هر چیزی Trade-off های خودش را دارد - حواست باشد، بهترینی وجود ندارد
3- هر خط کدی که می‌نویسی برای کسی یا جایی یک سرمایه است - شاید هم برای خودت
4- همه می‌گن کدهای بقیه کثافت است
5- بیخودی Dependency ایجاد نکنید
6- درست کد بنویسید، دعوا و درگیری و متوجه نشدن کم می‌شود
7- حالا یکم Comment بنویسید، جای دوری نمی‌رود، ولی کد خودش باید کامنت خودش باشد
8- سر یاد گرفتن چیزهای جدید مقاومت نکنید، لازم است
9- از Code Review نترسید، سبب انتشار و Share شدن دانش می‌گردد
10- همیشه maintainability را در نظر داشته باشید - شما در حال سیمان‌ریزی و ایجاد یک چیزی که هرگز دست نخورد نیستید
11- جایی لازم بود، کمک بگیرید
12 - اصل مشکل را در کد حل کنید نه فقط یک جنبه از خطا را
13- هیچ پروژه و برنامه‌ای خلاص نخواهد شد، همیشه هست
14- زمان‌بندی دادن با قول دادن و قسم خوردن یکی نیست، فقط یک احتمال است
15- طراحی و مهندسی سیستم را همان ابتدا مستند سازی کنید
16- پروژه را بدهید بیرون سریع، بعد آرام آرام با یک برنامه مشخص کاملش کنید

@DevTwitter | <Ali Kolahdoozan/>
1👍113🤣126🔥2
توی یه پست تازه توی Medium درباره تست‌های Benchmark توی Go نوشتم.
توی این پست، یه توضیح کامل و کاربردی دادم که تست‌های Benchmark دقیقاً چیا هستن و کجا به درد می‌خورن. برای درک بهتر موضوع، یه تست ساده هم برای محاسبه فاکتوریل نوشتیم و نتایج رو بررسی کردیم.

https://medium.com/@debug-ing/benchmark-testing-in-go-a-practical-guide-2900e008ce43

@DevTwitter | <Mahdi Mohammadi/>
👍22🤣6👎3
برای اجرای لینوکس روی سیستم عامل های دیگه مثل هلو ( برای کاربرد آموزش )

1. نصب داکر:
https://docs.docker.com/desktop/setup/install/windows-install/

2. سری اول بعد تموم شدن نصب داکر و اجرای نرم افزار داکر دستور:
docker pull ubuntu
که میاد کانتینر ابونتور رو دانلود میکنه

3.بعد دانلود توی عکسی که میدم دکمه اجرا رو بزنی تا لینوکس اجرا شه

4.در در آخر دستور زیر رو میزنی تا ترمینال داکر اجرا شه:
docker attach container-id
شناسه کانتینتر هم توی عکس علامت زدم

@DevTwitter | <Alireza Babaei/>
🤣41👍12👎61
چطوری به متدهای Policy توی لاراول متغیر ارسال کنیم؟
داخل متد authorize کلاس Gate بعد از اینکه اسم متد متناظر توی policy رو پاس دادیم در قالب یک آرایه، اول مدلمون رو پاس میدیم و بعد متغیری که مدنظرمون هست. اینجوری میتونیم اون متغیر رو داخل متد policy داشته باشیم. مثال:
توی عکس های زیر، من میخوام آرایه ای از آیدی های کاربران رو بگیرم و همشون رو حذف کنم، اما میخوام در صورتی که آیدی شماره ۱ بین آیدی های انتخاب شده باشه، اجازه حذف داده نشه و خطای ۴۰۳ برگردونه. پس آرایه آیدی هارو پاس میدم به policy و اونجا چک میکنم، اگر آیدی ۱ داخل آرایه نبود، true برگردونه و اجازه عملیات رو صادر کنه.
عکس اول داخل کنترلر جایی که از Gate پالیسی رو فرا میخونیم. و عکس دوم داخل UserPolicy هست. (نحوه فراخونی policy توی لاراول ۱۱ کمی عوض شده)

@DevTwitter | <Pouya Farshidnia/>
15🤣11👍7🔥1
دانشگاه استنفورد ابزاری به نام STORM رو ساخته که با کمک هوش مصنوعی می‌تونه در لحظه صدها سایت و مقاله مرتبط با موضوع شما رو اسکن کنه و یه مقاله خلاصه ازش بسازه و بهتون بده.

https://storm.genie.stanford.edu/

@DevTwitter | <Hanieh Khalesi/>
38👍13🔥4👎2
This media is not supported in your browser
VIEW IN TELEGRAM
اولین لپ‌تاپ رول‌شونده جهان با قیمت ۳۵۰۰ دلار معرفی شد

لنوو سرانجام در نمایشگاه CES 2025 از اولین لپ‌تاپ رول‌شونده جهان با نام ThinkBook Plus Gen 6 رونمایی کرد. به گفته لنوو، عرضه این محصول در سه‌ماهه اول سال ۲۰۲۵ آغاز می‌شود و قیمت آن نیز ۳۵۰۰ دلار خواهد بود. اگرچه با قیمت بالایی روبه‌رو هستیم، اما شاید نمایشگر ثانویه که از نوع OLED است بتواند این قیمت بالا را توجیه کند.

لنوو ThinkBook Plus Gen 6 به یک نمایشگر OLED منعطف با موتورهای کوچک در لولاها مجهز شده است که می‌توانند نمایشگر را باز کرده یا آن را به سمت پایین حرکت دهند. در نگاه اول شاید این محصول شبیه به یک لپ‌تاپ ۱۴ اینچی معمولی به نظر برسد، اما با فشاردادن یک دکمه مخصوص، نمایشگر دوم شروع به بازشدن می‌کند و اندازه نمایشگر را به ۱۶.۸۷ اینچ و رزولوشن آن را به ۲۰۰۰ در ۲۳۵۰ پیکسل ارتقا می‌دهد.

از دیگر مشخصات این لپ‌تاپ می‌توان به پردازنده Core Ultra 7 سری ۲ اینتل، ۱ ترابایت SSD و ۳۲ گیگابایت رم اشاره کرد. همچنین این محصول تنها ۲ پورت تاندربولت ۴ و جک هدفون دارد.

@DevTwitter | <Digiato/>
👍326🤣5🔥4
چگونه در محیط توسعه لاراول تمام کوئری‌ها را مشاهده کنیم؟
اگر در حال استفاده از محیط توسعه هستید (مثل .env با APP_ENV=local)، می‌توانید به سادگی کوئری‌ها را مشاهده کنید. برای این کار، باید در فایل .env خط زیر را اضافه کنید:
DB_DEBUG=true

کاربرد : در محیط توسعه، می‌توانید به راحتی تمام کوئری‌ها را مشاهده کنید تا روند اجرای آن‌ها را بررسی کنید.


@DevTwitter | <mahdi kavousi/>
26👍10🤣8🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
2025 سال ایجنت های هوش مصنوعی است!

اکنون پلتفرم Runner H از محصول جدید خود پرده برداشت؛
بدون هیچ بهانه ای با ایجنت این AI، ایدهای خود را تبدیل به واقعیت کنید!
اکنون این ایجنت در حالت "لیست انتظار" است می‌توانید از لینکی که در ادامه آمده به اولین کاربران دارای دسترسی تبدیل شوید:
https://www.runnerh.com/

@DevTwitter | <Gratomic AI Bot/>
18👍11🔥5🤣4
This media is not supported in your browser
VIEW IN TELEGRAM
خیلی ها ازم میپرسن که یک نقشه راه خوب برای یادگیری AI معرفی کنم. همیشه میگم یک جواب ثابت نداره و بستگی به اینکه چه مسیرشغلی ای را میخواهید انتخاب کنید، فرق میکنه.
اما در حال حاضر یکی از بهترین شغل ها AI Engineer هست. و یکی از بهترین وب سایتها که در مورد کلی شغل، از جمله این، مسیر راه معرفی کرده
roadmap .sh هست.
خوبیش اینه که میتونید کلیک کنید روی موضوعات مختلف را اطلاعات بیشتر بگیرید.
Link: https://roadmap.sh/ai-engineer

@DevTwitter | <Mehdi Allahyari/>
👍296👎5🤣4
دو منبع فنی که OpenAI برای آمادگی برای مصاحبه‌های شغلیش پیشنهاد کرده:

1. Deep Learning Book⁠: https://deeplearningbook.org
2. Spinning Up in Deep RL: https://spinningup.openai.com/en/latest/

@DevTwitter | <Hadi/>
🤣14🔥8👍6
دوره لیسانس دوست داشتم مسیر یادگیری هم رشته‌ای‌هام رو ببینم و یک ایده کلی ازش داشته باشم. اینجا یه سری از کتاب‌هایی که اون دوره خونده بودم و برام تاثیر گذارتر بودن رو نوشتم

https://amiremohamadi.github.io/posts/cs-roadmap/

@DevTwitter | <AMIR/>
26👎14👍5🔥3
چرا ردیس این‌قدر سریع کار می‌کنه؟
ردیس یه دیتابیس در حافظه است که سرعت خیلی بالایی داره. حالا بیاید ببینیم چرا این‌قدر سریع هست.
۱. داده‌ها تو 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/>
👍43👎74🤣3
اینم یک TUI برای گیت‌هاب. خیلی جالبه

https://github.com/dlvhdr/gh-dash

@DevTwitter | <ArashM/>
🔥17👎3👍2