DevTwitter | توییت برنامه نویسی – Telegram
DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
358 videos
6 files
4.1K 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
این مقاله جالب در مورد ده تا سوال راجع به promise ها توی جاوااسکریپت هست
https://medium.com/frontend-canteen/can-you-answer-this-senior-level-javanoscript-promise-interview-question-69f7b6ffc2e7

سطح سوالات بالاس و تقریبا سوالات مصاحبه‌س همشون

@DevTwitter | <ممد کاکل به سر/>
👍18🔥2
اگر یک developer ساده مثل من هستید و هر از گاهی مجبورید پروژهای خودتون رو روی سرور دیپلوی کنید این چندتا کامند داکر به دردتون میخوره(دراصل برای خودم درست کردم که فراموش نکنم)

https://gist.github.com/mthri/fc0a594cb3d4ed06fc6b6c117e819a1c

@DevTwitter | <Amir Motahari/>
32👍13🤣8
سرعت پروژه‌تون رو با php opcode ببرید بالا

https://inspector.dev/php-opcode-improve-application-performance-without-changing-your-code/

@DevTwitter | <لادویا/>
🤣26👍123👎3
بعد سه بار خوندن کتاب You Don't Know JS شروع کردم به خلاصه کردنش و تو گیتهابم به اشتراک گذاشتم. ممنون میشم چکش کنید و اگه نظری داشتید بهم بگی و لطف کنید اگه خوشتون اومد یه ستاره بدید بهش

4 جلدش رو کامل خلاصه کردم و مشغول خلاصه کردن دو جلد آخرشم.

https://github.com/Masoud-z/You-Dont-Know-JS-summary

@DevTwitter | <Masoud/>
👍7222🔥7🤣4
یه مقایسه‌ی کوچیک و باحال از ‌Kotlin، Swift و فلاتر

@DevTwitter
35👎21🤣9👍6
بیش از ۵ ماه شده که دارم روی ریپوی دیزاین پترن ها کار می کنم. توی آپدیت جدید چندتا دیزاین پترن جدید اضافه شد. ممنون که با استار دادن بهش باعث میشین که ادامه بدم.
نکاتی که تو این ریپو هست:
- توضیح به همراه پیاده سازی و دیاگرام
- پیاده سازی بَد پرکتیس
‏- تست نویسی برای همه پترن ها
- مثال هایی که در دنیای واقعی پیش میاد (اکثرا برای خودم پیش اومده و قبلا مشابهش رو پیاده سازی کردم)
- و داکیومنت کامل برای نحوه اجرا و توسعه

https://github.com/vahidvdn/realworld-design-patterns

@DevTwitter | <Vahid/>
👍27🔥7
‏یه متن بلندبالا برای یادگیری گیت و دستوراتش
و یه خلاصه خفن برای یادگیری سریع markdown نوشتم وسط مریضی
دوست داشتین نگاهی بندازین
https://github.com/AmiinGholami/MyInternship

@DevTwitter | <Amiin Gholami/>
👍305
مدل‌های Llama، واقعاً بهترین مدل‌های اپن سورس هستن و برای ساخت محصول خیلی مناسبن. آخرین ورژن این مدل، Llama 3.2 هست و 4 مدل مختلف داره:

مدل‌ 1B و 3B برای دستگاه‌های Edge
مدل‌ 11B و 90B که مالتی‌مدل هستن

دوره زیر در مورد این مدل‌ها رو از دست ندید.

https://www.deeplearning.ai/short-courses/introducing-multimodal-llama-3-2/

@DevTwitter | <Reza Jafari/>
👍19🤣2
اون زمان چون همه سایت‌ها http بودن میتونستن همچین صفحه‌ای رو نمایش بدن، یه جوری مثل این بود که انگار شما نامه بزنی به دوستت، ولی شرکت پست نامه رو تحویل نده و خودش نامتو جواب بده.
این به لطف https عوض شد، دیگه نتونستن از این کارا بکنن.

@DevTwitter | <Soroush Ahmadi/>
🤣179👎13👍7🔥3
به نظرم بعد از یادگیری یک زبان، مهم ترین فاکتوری که میتونه شما رو از برنامه نویس مبتدی به لول بعدی ببره، رعایت کردن best practice های اون زبانه.
سایت زیر که البته ورژن پی دی اف هم داره، تو فصل اول این بست پرکتیس ها رو توضیح داده. خیلی خوشم اومد واقعا!
https://github.com/rust-unofficial/patterns

@DevTwitter | <Soroush Sardashti/>
👍296🤣2
#بدرد

یه سری سایتا آتیش زدن به مالشون
پس تو هم تا میتونی بمالشون (ازشون تشکر کن)

ارائه دهنده های هاست رایگان (نه صرفا سی پنل و دایرکت ادمین):
- Netlify
- Firebase
- Github
- InfinityFree
- Wix
- 000WebHost
- Google Cloud Hosting
- AwardSpace
- versal
- Freehostia
- FreeHosting
- Searge
- Render
- Glitch
- Fleek
- Begin
- InfinityFree
- ByetHost
- HyperPHP
- FreeWebHostingArea

@DevTwitter
👍53👎266🤣3
دوره رایگان پایتون با این تفاوت که این دوره در دو بخش توسط کمپانی سیسکو لانچ و منتشر شده

Python Essentials 1
https://netacad.com/courses/python-essentials-1?courseLang=en-US

Python Essentials 2
https://netacad.com/courses/python-essentials-2?courseLang=en-US

@DevTwitter | <Amir/>
👍23👎3
‏بتونم امروز تو وقت خالیم بخش اول این پروژه شخصی رو تموم کنم. هدف اینه که فایل .torrent بگیره و دانلودش کنه. بعد magnet link رو هم بهش اضافه میکنم. یوزر دیتابیس رو با diesel هندل میکنم و در نهایت با tauri یه اپ دسکتاپ برای دانلود تورنت باید بشه ازش در آورد.
https://github.com/Soroushsrd/Torrs

@DevTwitter | <Soroush Sardashti/>
🔥19👍7🤣31
بچه ها من با react و express یدونه برنامه تبدیل عکس به PDF نوشتم برای فان، کلا UI و  پرفورمنسش باحال شده ، خودکار هم بعد 30 ثانیه لینک دانلود expire میشه و فایل ها پاک میشن ، اگه دوست داشتید توی github بهش استار بدید و خودتونم استفاده کنید ،چیز کاربردیه

https://github.com/Mehranlip/XImage-to-PDF

@DevTwitter | <Mehran/>
👍47🔥12👎8
خیلی وسوسه انگیزه ولی چرا نباید از فیلدهای جیسون در پایگاه‌های داده رابطه‌ای مانند PostgreSQL و MySQL برای داده‌های تراکنشی استفاده کرد؟

به دلایل زیر:

١) کاهش کارایی جستجو و عملکرد:
جستجو و فیلتر کردن داده‌ها در یک فیلد JSON به طور کلی کندتر از جستجو در جداول ساختاریافته است. برای داده‌های تراکنشی که نیاز به جستجوهای سریع و مکرر دارند، کار با فیلدهای JSON می‌تواند منجر به کاهش کارایی شود. این به دلیل عدم امکان استفاده کامل از ایندکس‌های کارآمد درون فیلدهای JSON است.

۲) فرم ها:
پایگاه داده‌های رابطه‌ای بر اساس طراحی ساختاریافته جداول با کلیدهای اصلی و خارجی استوار هستند تا بتوان روابط بین داده‌ها را بهینه مدیریت کرد. استفاده از فیلدهای JSON می‌تواند به ایجاد داده‌های غیر نرمال (Denormalized) منجر شود، که این امر مدیریت و به‌روزرسانی داده‌ها را پیچیده‌تر می‌کند و می‌تواند منجر به ناسازگاری داده‌ها شود.

۳) مشکل در صحت داده‌ها (Data Integrity):
در جداول ساختاریافته، می‌توان محدودیت‌هایی مانند نوع داده و روابط بین جداول را تعریف کرد که صحت داده‌ها را تضمین کند. در JSON، این نوع کنترل‌ها به طور ذاتی وجود ندارد و داده‌ها به صورت آزاد وارد می‌شوند، که می‌تواند منجر به ورود داده‌های نادرست یا ناسازگار شود.

۴) گزارش گیری:
بسیاری از ابزارهای گزارش‌گیری و تحلیلی به داده‌های ساختاریافته نیاز دارند. داده‌های ذخیره شده به صورت JSON نیاز به تجزیه و تبدیل به قالب‌های ساختاریافته دارند، که این کار اضافه‌ای است و ممکن است بر سرعت و کارایی تحلیل داده‌ها تأثیر منفی بگذارد.

۵) افزایش پیچیدگی مدیریت تراکنش‌ها:
مدیریت تراکنش‌ها و قفل‌گذاری داده‌ها (locking) برای فیلدهای JSON در برخی موارد پیچیده‌تر می‌شود. همچنین اگر بخواهید چندین مقدار درون یک فیلد JSON را همزمان به‌روزرسانی کنید، ممکن است کنترل نسخه‌گذاری و سازگاری داده‌ها دشوارتر شود.

‏۶) مشکل در ایندکس‌گذاری کارآمد:
اگرچه PostgreSQL و MySQL قابلیت ایندکس‌گذاری محدود روی فیلدهای JSON را فراهم می‌کنند، اما این ایندکس‌ها در مقایسه با ایندکس‌های سنتی روی جداول ساختاریافته به اندازه کافی کارآمد نیستند و ممکن است در حجم‌های بزرگ داده باعث کاهش عملکرد شوند.


چکار باید کرد؟

۱- استفاده ترکیبی از فیلدهای رابطه‌ای و فیلد JSON
۲- ایجاد جداول مرتبط برای داده‌های غیرساختاریافته با این شرط که حجم جیسون شما محدوده
۳- ایندکس‌ فیلد JSON (فقط در صورت استفاده)
۴ - طرحی برای تبدیل و مهاجرت تدریجی
۵ - استفاده از NoSQL در کنار پایگاه داده رابطه‌ای


چکار نباید کرد؟

۱- ذخیره کل داده‌های مهم در فیلد JSON
۲- عدم استفاده از ایندکس‌گذاری برای فیلد JSON
۳- استفاده از JSON به جای نرمال‌سازی داده‌ها
۴- نادیده گرفتن نیازهای گزارش‌گیری و تحلیلی
۵- استفاده از JSON برای داده‌هایی که اغلب تغییر می‌کنند
۶- عدم در نظر گرفتن تراکنش‌ها و قفل‌گذاری مناسب
۷- ذخیره‌سازی داده‌های حجیم به صورت JSON
۸- عدم طراحی برای مهاجرت به ساختارهای بهتر
۹- عدم استفاده از ابزارها و توابع مناسب برای کار با JSON

خلاصه:
با توجه به این نکات، برای داده‌های تراکنشی که نیاز به عملکرد سریع، جستجوهای مکرر، و یکپارچگی داده دارند، بهتر است از جداول ساختاریافته با طرح‌های نرمال استفاده شود و JSON را تنها در مواردی به کار برد که نیاز به انعطاف‌پذیری زیاد در ساختار داده‌ها دارید، مانند ذخیره‌سازی داده‌های غیرساختاریافته یا لاگ‌های پیچیده.
درصورت نیاز اجتناب ناپذیر مطمئن باشید که با برنامه این کار رو انجام می‌دهید در غیر اینصورت خبر بدی دارم براتون‏، به زودی مشکل پرفرمنس جدی خواهید داشت و کسب و کارتون با ریسک جدی روبرو خواهد شد. اگر هزینه برای شما مطرح نیست از گزینه هایی مثل Cassandra همینطور Google Bigtable به راحتی رد نشید.

@DevTwitter | <Mohammad Javidan Darugar/>
👍35👎11
450 تا سیستم دیزاین برای ML و LLM

یکی از منابع خوب برای ارتقای کارمون اینه که ببینیم حرفه ای های این حوزه چطوری کار میکنن، کد میزنن و اصلا فکر میکنن.. مهم ترین بخش همین فکر کردنه..

https://www.evidentlyai.com/ml-system-design

@DevTwitter | <Sam92/>
18👍9👎1
دیشب که ما خواب بودیم، OpenAI به صورت خیلی سوسکی، فریمورک‌‌اش رو برای Mutli-Agentic systems رو معرفی کرد.

نکته جالب اینکه به نظرم توی نگاه اول یه چیزی بین LangGraph و ell هست.

گفتن که پروژه در مرحله experimental هست.
https://github.com/openai/swarm

@DevTwitter | <Von Datawarehausen/>
👍13🤣11👎2
حاصل یک هفته مریضی شد این چهارتا پروژه که هرچهارتاش رو پابلیک کردم الان و میتونین ببینین و بخونین و حتی تکملیش کنین و توی رزومه خودتون داشته باشینش
اینجا توضیحات کامل و لینک هاش رو گذاشتم که بتونین راحت تر دسترسی داشته باشین(هفته یک پوشه ۲)

https://github.com/AmiinGholami/MyInternship

@DevTwitter | <Amiin Gholami/>
👍47🤣119👎8
یه چیت شیت کوچیک برای git

@DevTwitter
32👍15🔥1
قراره توی نسخه‌های بعد مرورگر کروم امکان استفاده از سوکت TCP و UDP اضافه بشه

wicg.github.io/direct-sockets/

@DevTwitter | <Ali Shirvani/>
👍39👎4
تجربه کارایی بینظیر با Laravel Octane و Swoole در Docker!

همه ما به عنوان توسعه‌دهنده دنبال راهکارهایی هستیم که برنامه‌هامون سریعتر، بهینه‌تر و مقیاس‌پذیرتر باشن. خبر خوب اینه که Laravel Octane همراه با Swoole دقیقاً همین کار رو انجام میده!
این ترکیب نه تنها سرعت برنامه‌تون رو چند برابر میکنه، بلکه کارایی و قابلیت‌های آن رو هم به طور قابل توجهی افزایش میده.

لاراول اکتان (Laravel Octane) یه پکیج برای بهینه‌سازی عملکرد لاراوله که با استفاده از سرورهای پیشرفته مثل Swoole و RoadRunner، برنامه‌تون رو در حافظه نگه میداره. یعنی هر بار که یه درخواست جدید میاد، لازم نیست کل برنامه از اول بارگذاری بشه. نتیجه؟ سرعت بالاتر و پاسخگویی بهتر به کاربران!


اما Swoole چطور کار میکنه؟
حالا بیایم بیشتر در مورد Swoole صحبت کنیم، چون موضوع اصلی اینجاست.
افزونه Swoole یه Extension برای PHP هست که با زبان C پیاده‌سازی شده و امکانات فوق‌العاده‌ای ارائه میده. بیاین چندتا از قابلیت‌هاش رو مرور کنیم:
1. پردازش همزمان (Concurrency): Swoole امکان اجرای چندین درخواست رو همزمان و بدون افت سرعت فراهم میکنه. این یعنی برنامه‌تون میتونه به تعداد بیشتری از کاربران خدمت بده بدون اینکه دچار لگ یا کندی بشه.
2. استفاده از Coroutine ها : با استفاده از Coroutineها، Swoole میتونه عملیاتهای ورودی/خروجی (I/O) رو به‌صورت غیرهمزمان و بدون مسدودسازی اجرا کنه. این ویژگی باعث میشه برنامه‌تون به شدت سریعتر باشه.
3. وب‌سوکت‌ها و HTTP/2: Swoole از پروتکلهای پیشرفته مثل وبسوکت و HTTP/2 پشتیبانی میکنه، که یعنی میتونید برنامه‌های Real-time با کارایی بالا بسازید.
4. بهینه‌سازی منابع: Swoole مصرف حافظه و CPU رو به شدت کاهش میده و برنامه‌تون رو بهینه‌تر و اقتصادی‌تر میکنه. این یعنی با منابع کمتر، میتونید عملکرد بهتری داشته باشید.


چرا ترکیب Laravel Octane و Swoole عالیه؟
1. سرعت بارگذاری بالا: برنامه‌تون تا ۱۰ برابر سریعتر اجرا میشه.
2. کاهش مصرف منابع: مصرف RAM و CPU به طرز چشمگیری کاهش پیدا میکنه و این یعنی شما میتونید بیشتر با منابع کمتر کار کنید.
3. پشتیبانی از قابلیت‌های پیشرفته: مثل وب‌سوکت‌ها که برای برنامه‌های Real-time فوقالعاده‌ان.
4. پایداری بیشتر: برنامه‌تون در حافظه نگهداری میشه، یعنی نیاز به ریستارت مداوم ندارید.
5. افزایش ظرفیت سرویس‌دهی: میتونید تعداد زیادی از درخواستها رو به‌صورت همزمان مدیریت کنید بدون افت عملکرد.

تجربه شخصی من:
تو چندتا از پروژه‌های اخیرم، از ترکیب Laravel Octane و Swoole همراه با Docker استفاده کردم. کارایی و سرعت به شکل قابل توجهی بهتر شد، زمان پاسخدهی به شدت کاهش پیدا کرد و باعث افزایش Performance برنامه ها شد.

@DevTwitter | <Amir Mohammad Sanjari/>
👍30🤣9👎5🔥5