DevTwitter | توییت برنامه نویسی
23.6K subscribers
4.36K photos
357 videos
6 files
4.1K links
توییت های برنامه نویسی و طراحی وب :)

@dvtwi

Hashtags:
devtwitter.t.me/5

DevBooks Channel:
https://t.me/+AYbOl75CLNYxY2U0

Github:
https://github.com/DevTwitter

X:
https://x.com/devtwittir
Download Telegram
بین تسک هام ؛
یک پروژه جدید پوش کردم توی گیت هابم، اگر دارید Go یاد میگیرید و نیاز به پروژه های کوچیک و ساده دارید و میخواید مفهوم کد رو بدونید، میتونه مفید باشه براتون
اگر هم قابل بود، Star کنید چون قرار بیشتر بزارم
https://github.com/MisaghMomeniB/Task-Tracker-CLI-Go

@DevTwitter | <Misagh Momeni Bashusqeh/>
👍42🤣12👎53
پنج ساله که برای برنامه ریزی کردن از پلتفورم Notion استفاده میکنم.
مجموعه ای از تمپلیت هایی که بسیار ازشون استفاده کردم و خیلی کمکم کرده ن رو اینجا به اشتراک گذاشتم:
https://www.notion.so/@jasmine_1997

@DevTwitter | <Birdy/>
👎48👍9🤣65
این را نیم‌نگاهی به آن داشته باشید!
ابزار Darkflare، ترافیک TCP را به‌صورت HTTPS در آورده و از طریق CDNهایی مثل Cloudflare عبور می‌دهد.
اینگونه ترافیک از طریق زیرساخت‌های رمزنگاری‌شده CDN منتقل شده و از محدودیت‌های شبکه‌ای عبور می‌کنید!

https://github.com/doxx/darkflare

@DevTwitter | <Vahid Nameni/>
👍34👎1
یه پکیج ساده و سبک برای Context نوشتم یسری قابلیات گذاشتم مثل بایند کردن مقدار ها و جداسازی کانتکس ها داخل جاوا اسکریپت و همینطور میتونین کانتینر ایجاد کنین برای هندلر هاتون که یک سری داده رو منتقل کنید توی فضای خاص
بنچ مارک و یه اسکریپت دیباگ هم داخل پکیج هست که میتونیم از نظر پرفرمنس بررسیش کنید
و همینطور باعث افتخاره اگه موردی بود داخل گیتهاب پروژه بگین.

لینک پکیج:
npmjs.com/package/the-context-js

@DevTwitter | <madman/>
12👍2
پیاده سازی معماری میکروسرویس در express

با استفاده از پکیج http-proxy-middleware میتونید میکروسرویس هاتون رو پروکسی کنید به سرویس اصلی

به این صورت که 3 تا پروژه ی جداگانه میسازید (user, product, main)
و توی user, product میاید endpoint های مختلف خودتون رو پیاده سازی میکنید

و توی main با استفاده از http-proxy-middleware اون دوتا سرویس رو وصل میکنید به پروژه اصلی

http://localhost:3000/users/getAll
http://localhost:3000/products/getAll

@DevTwitter | <Arash Altafi/>
18👍14🔥3🤣3
اولین بتای Tailwind 4.0 به صورت عمومی منتشر شد.

بریم یه نگاه اولیه داشته باشیم که توی نسخه ۴ چه اتفاقاتی افتاده و آینده‌ی این فریمورک فوق العاده محبوب قراره چه شکلی باشه.

پرفورمنس عالی: این نسخه با بیلدهایی در حد میکروثانیه قراره حسابی سریع باشه. بیلد کامل (full build) تا ۵ برابر و بیلد های incremental بیش از ۱۰۰ برابر سریع تر شدن.

ابزار سرخود: خیلی از ابزار های مورد نیاز برای کارایی مثل import handling و prefixing به صورت داخلی و built in درون خود tailwind قرار داده شدن و دیگه نیازی به کتابخونه های مجزا نداریم.

کانفیگ با طعم css: دیگه لازم نیست برای کاستوم کردن و انجام تنظیمات tailwind با یه فایل جاوااسکریپتی سر و کله بزنیم بلکه تنظیمات و کانفیگ ها به صورت CSS-first قراره انجام بشن.

طراحی شده برای وب مدرن: همون طور که احتمالا مستحضر هستید، خیلی از چیزایی که قبلا با ترفند های مختلف توی محیط وب پیاده شون میکردیم، الان دیگه به صورت native توسط مرورگر ها استاندارد و پیاده سازی شدن؛ از popover ها گرفته تا wide-gamut colors، تیم tailwind نسخه جدید رو برای و بر اساس وب مدرن پیاده سازی کردن.

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

@DevTwitter | <Abolfazl Baghlani/>
👍44🔥62
چگونه یک سیستم رزرو بلیت هواپیما با معماری Event-Driven و Saga پیاده‌سازی کنیم؟

تو این مقاله توضیح دادم چطور با ترکیب Event-Driven Architecture، RabbitMQ و Saga Pattern تونستم سیستم‌های رزرو بلیت هواپیما رو به یه سطح دیگه ببرم. اگه دنبال معماری‌های مقیاس‌پذیر و پایدار هستی، حتماً این مطلب رو بخون!

لینک مقاله

@DevTwitter | <mostafa jafarzadeh/>
👎175👍5
چالش روزانه یک سرور:
امروز با یک مشکل عجیب روبرو شدم! سرور ما ناگهان از دسترس خارج شد و خطای ۵۰۳ می‌داد. بعد از بررسی، فهمیدم که حجم سرور پر شده!

با دستور 𝚍̲𝚞̲ ̲–̲𝚑̲𝚍̲𝟷̲ متوجه شدم یکی از پروژه‌ها، که به نظر ساده می‌رسید، حجم عظیمی از سرور را گرفته بود. پس از بررسی دقیق‌تر دیدم که پوشه دیتابیس بیش از حد بزرگ شده است. دلیل؟ فایل‌های 𝗕𝗶𝗻𝗮𝗿𝘆 𝗟𝗼𝗴 که به صورت خودکار ذخیره شده بودند ولی هیچ وقت پاک نشده بودند.

چطور مشکل را حل کردم؟
فایل‌ها را به صورت دستی پاک کردم.
و با اضافه کردن --𝘴𝘬𝘪𝘱-𝘭𝘰𝘨-𝘣𝘪𝘯 در تنظیمات 𝗗𝗼𝗰𝗸𝗲𝗿 𝗖𝗼𝗺𝗽𝗼𝘀𝗲، از ذخیره شدن این لاگ‌ها جلوگیری کردم.

درس‌هایی که گرفتم:
همیشه به فضای ذخیره‌سازی سرور دقت کنید.
اگر به 𝗕𝗶𝗻𝗹𝗼𝗴 نیاز ندارید، آن را غیرفعال کنید یا پاک‌سازی خودکار تنظیم کنید.

@DevTwitter |<Reza Parsian/>
🔥53👍36🤣5
داشتم دنبال شل PHP میگشتم که سرور پاک نکنه!
پیدا نکردم!

از این به عنوان ابزار بررسی و ریویو کد و در نهایت کد نویسی شل خودم استفاده کردم!

تبدیل تهدید به فرصت و از این چیزا!
https://github.com/pheditor/pheditor

@DevTwitter | <exploitio/>
1👍11🔥6🤣6
تو این ویدئو بیش از 100 سوال مصاحبه‌ی Frontend رو باهم حل کنیم و هر کدوم رو به زبان ساده توضیح میدیم.

لینک بخش 1:
aparat.com/v/hhg6aj9

لینک بخش 2:
aparat.com/v/kqk4t98

نمونه‌ی کوچیکی از سوالاتی که بررسی میکنیم:
1. مفهوم Hoisting چیه و چه زمانی اتفاق میفته؟
2. مفهوم Closure چیه و چه زمانی ایجاد میشه؟
3. مفهوم Event Loop چیه و چطور کار میکنه؟
4. مفهوم Callback Hell چیه و چجوری میشه رفعش کرد؟
5. مفهوم Specificity تو CSS چیه و چجوری کار میکنه؟
6. مفهوم Virtual DOM چیه و چرا React ازش استفاده میکنه؟
7. مفهوم HOC یا HOF چیه و چه کاربردی داره؟
8. مفهوم Memoization چیه و چجوری به کار میره؟
9. مفهوم Pure Function چیه و کجا استفاده میشه؟
10. تفاوت Mutable و Immutable چیه؟
11. تفاوت defer و async چیه؟
12. تفاوت em و rem چیه و هر کدوم کجا باید استفاده شه؟
13. چرا NaN مساوی با NaN نیست؟
14. از 'use strict' در JavaScript چه استفاده‌ای میشه؟


@DevTwitter | <Bijan Eisapour/>
👍29🤣53
سلام و درود
ری اکت روتر ۷ (react router 7) بالاخره ریلیز شد ،
و تغییرات بزرگی رو توی خودش جای داده
و زین پس نه تنها میشه به عنوان یک لایبری برای هندل کردن روتینگ بهش نگاه کرد ، بلکه با توجه به قابلیت های جدیدی که بهش اضافه شده میتونه نقش یک فریمورک برای هندل کردن ssr رو هم به عهده بگیره

سعی میکنم بعد ازینکه داکیومنتشو کامل خوندن یه پست درباره ی قابلیت های جدیدش بذارم

برای منکه شخصا از نکست خوشم نمیومد خبر خوبی بود

https://remix.run/blog/react-router-v7
https://reactrouter.com/home

@DevTwitter | <Amir Abbas Dakhily/>
🔥29👍11👎4
کدت رو بنویس و دیگه نگران تست نوشتن نباش، من می‌نویسم برات!
این شعار هوش مصنوعی جدیدی هستش به اسم Celp که در مقام یک دستیار تمام عیار در کنارتونه و دیگه شما رو از شر دغدغه تست نوشتن‌های روزمره راحت می‌کنه

https://www.celp.ai

@DevTwitter | <Mohammadreza Hajian/>
👍455🔥5🤣5
ساختاربندی پروژه‌ها در Golang
یکی از چالش‌هایی که اوایل یادگیری Golang باهاش دست‌وپنجه نرم می‌کردم، ساختاربندی درست پروژه‌ها بود. راستش چون از Laravel به Golang مهاجرت کرده بودم، برام سخت بود. Laravel یه ساختار آماده و چارچوب مشخص داره، ولی اینجا باید خودم دست به کار می‌شدم و انتخاب می‌کردم.
امروز داشتم یه سری مقاله تو Medium می‌خوندم که به یه مطلب خیلی خوب برخوردم. تو این مقاله چندتا از ساختارهای محبوب پروژه تو Golang معرفی شده بودن و به ساده‌ترین شکل ممکن درباره ویژگی‌ها و کاربردهاشون توضیح داده بود. ساختارهایی مثل:
- Clean Architecture
- CQRS
- Hexagonal Architecture
- Monorepo Structure
- ...
از خوندنش واقعاً لذت بردم و گفتم با شما هم به اشتراک بذارم.
لینک مقاله:
https://medium.com/@smart_byte_labs/organize-like-a-pro-a-simple-guide-to-go-project-folder-structures-e85e9c1769c2

چند نکته که باید حتماً در نظر بگیرید:
1- اسم فولدرها رو با توجه به نیاز خودتون انتخاب کنید.
لازم نیست دقیقاً مثل این مقاله عمل کنید. هر اسمی که به تیم شما کمک کنه راحت‌تر بفهمه داخل اون فولدر چه خبره، گزینه درستیه!
2- ساختارها رو می‌تونید ترکیب کنید.
مثلاً من خودم ترکیب Monorepo، Clean Architecture، Hexagonal Architecture و CQRS رو خیلی دوست دارم و معمولاً ازش استفاده می‌کنم.
3- سم‌ها باید کاربرد فولدر رو مشخص کنن.
اصلاً نیازی نیست که حتماً از کلمات رایج مثل controller استفاده کنید. چیزی رو انتخاب کنید که برای پروژه‌تون مناسب‌تره.
امیدوارم این مقاله به دردتون بخوره. اگر تجربه خاصی تو این زمینه دارید یا از ساختارهای دیگه‌ای استفاده می‌کنید، خوشحال می‌شم تجربیاتتون رو بشنوم!

@DevTwitter | <Adel Hadadi/>
👍27🤣15
احتمالاً توی پروژه‌هاتون که نیاز به درگاه پرداخت داشتید، کلی اذیت شدید (مخصوصاً برای گرفتن merchant_id) و می‌خواستید سرتون رو بکوبید به دیوار

حالا چرا اینارو میگم؟
من یه پکیج پایتونی توسعه دادم که همین مشکلات رو براتون حل کنه


توی این پکیج از درگاه پرداخت Zibal Co استفاده شده و کلی ساده‌سازی کردم که کار باهاش فوق‌العاده راحت باشه. فیچرهای اصلی که برای درگاه پرداخت نیاز دارید پیاده شده و همین‌طور:
- ارور هندلینگ قوی
- لاگینگ حرفه‌ای
- و مثال‌های آماده برای استفاده

این پکیج توی هر برنامه پایتونی ( از جمله فریم ورک ها) قابل استفاده‌ست و دردسری براتون ایجاد نمی‌کنه.
اگر هم علاقه دارید، خوشحال می‌شم به پروژه کانتربیوتر بشید و فیچرهای جدید یا درگاه‌های دیگه اضافه کنید.

https://github.com/Mohammad222PR/zibal-payment
https://pypi.org/project/zibal-payment/

@DevTwitter | <Mohammad Eslami/>
38👍11🤣9👎3
This media is not supported in your browser
VIEW IN TELEGRAM
نگارش ۶.۷ وردپرس اجازه میده تا هر فونت دلخواهی رو آپلود و اون رو برای هر بخشی که دوست داریم تنظیم کنیم.

در عرض ۲ دقیقه، فونت «ساحل» بدون افزونه و بدون فسفرسوزی نصب و تنظیم شد:

@DevTwitter | <Yaser Shahi/>
👍45🤣32👎4
This media is not supported in your browser
VIEW IN TELEGRAM
مینی‌پروژه‌ای جذاب با استفاده از React-Leaflet و داده‌های GeoJSON طراحی و پیاده‌سازی کردم!
در این پروژه:
تمامی استان‌ها به‌صورت جداگانه با داده‌های GeoJSON نمایش داده می‌شوند.
با کلیک روی مرکز هر استان، مستقیماً به شهر آن منتقل می‌شوید.
با استفاده از سرویس OSRM و قابلیت Polyline، مسیر بین مراکز دو استان به زیبایی ترسیم می‌شود.
استفاده از سه نمای مختلف نقشه برای تجربه‌ای متنوع و پویا.
بهره‌گیری از آیکون‌های سفارشی برای زیبایی و شخصی‌سازی بهتر نقشه.
برای دیدن این پروژه می‌توانید به لینک زیر مراجعه کنید:
leafletshokri.netlify.app
همچنین سورس کد پروژه در گیت‌هاب موجود است:
https://github.com/Amirhosien82/leaflet

@DevTwitter | <AmirHosein Shokri/>
👍70🔥83👎3
چند وقت پیش توی یکی از پروژه‌ های شرکت لازم شد که از یه date picker استفاده کنم. از اونجایی که خود پروژه با compose توسعه داده شده بود و خودمم حوصله نداشتم اونو پیاده کنم، گفتم بگردم یه لایبرری پیدا کنم که date picker رو با خود compose پیاده کرده باشه.

یکم گشتم چیزی پیدا نکردم که به دلم بشینه و از همه مهمتر قابلیت شخصی سازی داشته باشه که بشه با UI خود پروژه تطبیق داد.

اونجا بود که گفتم بشینم براش یه لایبرری بنویسم که هم خودم ازش استفاده کنم و هم بقیه اگه به کارشون اومد ازش استفاده کنن.

لایبرری رو توی گیتهاب گذاشتم که میتونید ازش استفاده کنید (نحوه استفادش رو هم توضیح دادم)، امیدوارم که کمکتون کنه.

لینک ریپازیتوری پروژه:
https://github.com/rezarasuolzadeh/pickers

@DevTwitter | <Reza Rasuolzadeh/>
👍77🔥16
وبسایت SoBrief یه سایت خفن پر از خلاصه کتابای رایگانه، بدون نیاز به ثبت‌نام و به ۴۰ زبان مختلف !
کلی امکانات مثل ترجمه کتابها به فارسی، بوکمارک و لیست‌های محبوب داره.
خلاصه‌ی کتابارو تو ۱۰ دقیقه بخون و حالشو ببر!
https://sobrief.com

@DevTwitter | <محمد زمانی/>
👍32🔥12👎72
تجسم داده (Data Visualization) ارائه داده‌ در قالب بصری، استفاده از نمودار و نقشه‌ برای بیان یک داستان معنادار از اطلاعات.
سایت
https://100.datavizproject.com
از یک مجموعه داده (DataSet) تعداد ۱۰۰ مصورسازی (Visualization) انجام داده

@DevTwitter | <MehrdadLinux/>
👍9🔥3🤣1