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
خیلی وقت بود میخواستم این ویدیو رو بگیرم. روزی که من Python گذاشتم کنار و حرفه ای شروع به کد زدن JavaScript و NodeJS کردم همیشه هروقت باکسی بحث برنامه نویسی میشد من این رو میگفتم که جای یک چیزی مثل Context Manager مثل پایتون در اکوسیستم JavaScript  واقعا خالی هست. وقتی TypeScript ورژن 5.2 منتشر شد و این syntax رو برای بار اول دیدم واقعا خوشحال شدم
async function main() {
    using resource1 = getResource()
    await using resource2 = await getResource()
}

در این ویدیو به Explicit Resource Management در زبان های برنامه نویسی cpp و golang و python میکنیم. با یک پترن خیلی قدیمی به اسم RAII پترن آشنا میشیم و در نهایت میرسیم به ارتباط RAII پترن در C++ در TypeScript .
https://youtu.be/N0akLbvhShE?si=f623-vxXz-brA4ag

@DevTwitter | <Iman Hosseini/>
👍32🤣174👎1
اگه یه وقتی پروژه ی qt با پایتون داشتین و خواستین از داکر استفاده کنین این ریپویی که درست کردم کمک تون می کنه.
قسمت دیزاینر رو هم توی داکر هاب قرار دادم که باز هم راحت تر باشید

https://github.com/zaaferani/pyqt-docker

@DevTwitter | <حسن زعفرانی/>
👍145👎5🔥1
اگه نمیخواید خیلی کانفیگ های mysql رو تغییر بدید وقتی دارید بین سرور ها cross database، جوین کوعری میزنید تو لاراول ، joinSub() رو استفاده کنید. کار کثیفیه ولی چون DB layer کار نمیکنید این راه حل مناسبیه. وگر نه توی mysql میتونید از فیچر Federated Storage Engine استفاده کنید.

اپروچ های مختلف برای این کار. تو خود mysql و laravel. البته درستش اینه که شما همه این ها رو Store Procedure کنید و تو app layer فقط اون ها رو کال کنید.

البته بگم این کار خیلی تمیز ترم میشه تو PostgreSQL که فیچرش میشه
‏FWD (foreign data wrapper)
‏که البته پیشنهاد من اینه که کلا از postgres برای این مدل query ها استفاده کنید.

@DevTwitter | <iman/>
👍185
نیاز به ocr داشتم که از زبان فارسی و انگلیسی بصورت همزمان پشتیبانی کنه، رسیدم به این ریپازیتوری که به راحتی کارم را راه انداخت و حتی زبان شخمی چینی هم ساپورت می کنه.

https://github.com/thiagoalessio/tesseract-ocr-for-php

@DevTwitter | <Reza275/>
👍32🤣113👎2
رفقا سلام
هشتمین اپیزود پادکست کیبوردکست منتشر شد

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

https://youtu.be/47X-fOX-WR4

@DevTwitter | <Shahriar/>
13🤣12👍3🔥1
برای شروع یادگیری FPGA و کمی سرگرم شدن باهاش اگه دوست ندارید یا امکان پرداخت هزینه‌ش رو ندارید می‌تونید از این پروژه استفاده کنید و بدون هیچ سخت‌افزار خاصی FPGA یاد بگیرید.

https://github.com/os-fpga/Virtual-FPGA-Lab

@DevTwitter | <سج‌آد/>
👍19🤣2
اگر برنامه نویس سی شارپ هستین، و علاقه به یادگیری Rust دارین، بهترین جا برای شروع از اینجاست.
خوبیش اینه که توسط کسایی نوشته شده که خودشون برنامه نویس سی شارپ بودن و شروع به یادگیری کردن و همه چیز با مقایسه با C# نوشته شده.

https://microsoft.github.io/rust-for-dotnet-devs/latest/

@DevTwitter | <Imun/>
👍31🤣7👎63
ابزاری رایگان برای حذف فایل‌های تکراری، تصاویر و ویدیوهای مشابه (حتی با رزولوشن متفاوت)، فایل‌های نامعتبر، پوشه‌های خالی، فایل‌هایی که محتواش با پسوندش همخوانی نداره. متن‌بازه. کراس‌پلتفرمه. سریعه. از الگوریتم‌های مختلفی پشتیبانی می‌کنه. نسخهٔ CLI هم داره.
github.com/qarmin/czkawka

@DevTwitter | <Ayub Kokabi/>
🔥23👍102
شرکت Wireable آمده که یک کتابخانه کامپوننت به نام FluxUI برای لایو وایر و آلپاین ساخته است. اما بخش پر ماجرا اینکه در قسمت تعرفه این کتابخانه کل امکاناتی که بکار بگیریم, ۶۴۹ دلار در نظر گرفته است. این تعرفه پشمای برنامه نویسان و توسعه دهندگان ریخت و چرا تعرفه اش آنقدر زیاده.

حالا یک برنامه نویس برزیلی آمده با یه حرکت گاز انبری کتابخانه کامپوننت WireUI که مشابه همین FluxUI رو رایگان منتشر کرد که خلاصه به شرکت Wireable (ببخشیدا) کیر زد و حالا می توانیم از WireUI به جای FluxUI رایگان در پروژه ها استفاده کنیم.

کتابخانه پولی FluxUI :

https://fluxui.dev/
https://github.com/livewire/flux

کتابخانه رایگان WireUI :

https://wireui.dev/
https://github.com/wireui/wireui

@DevTwitter | <Raymond Baghumian/>
🤣46👍18👎5🔥3
ابزار Rememberall: ابزار متن‌باز حافظه بلندمدت برای LLM ها، با این ابزار مکالمات پیوسته دارید، همیشه به اطلاعات قبلی دسترسی دارید و امنیت بالایی را تجربه می‌کنید؛ ایده‌آل برای توسعه‌دهندگان و کاربران حرفه‌ای است.

https://github.com/wrannaman/rememberall

@DevTwitter | <Diss Obedience/>
🔥22👍6
ری‌اکت ۱۹ بالاخره اومد و من امروز فرصت کردم یه سری از تغییراتش رو ببینم و تست کنم. خلاصه چند تا از ویژگی‌های جدید و جالبش رو اینجا براتون می‌نویسم که قراره واقعاً نحوه کدنویسی‌مون رو تغییر بده:

- هوک use: حالا می‌تونیم مستقیماً تو رندر با پرامیس‌ها کار کنیم! دیگه خبری از استفاده‌های پیچیده از useEffect و لودینگ‌های دستی نیست. هر جا پرامیس داشته باشیم، use میاد به کمکمون.

- اکشن‌های سمت سرور: خیلی باحاله! دیگه نیازی نیست برای هر فرم یا دکمه، API جدا تعریف کنیم. مستقیماً تابع سمت سروری که می‌خوایم رو به عنوان اکشن به فرم میدیم و کار تمومه.

- آپدیت خوشبینانه: با هوک useOptimistic می‌تونیم UI رو سریع آپدیت کنیم، حتی قبل از اینکه جواب سرور بیاد! یعنی کاربر معطل نمی‌مونه و همه چی روان‌تر پیش می‌ره.

- کامپوننت‌های سمت سرور: حالا می‌تونیم بدون نگرانی از کامپوننت‌های سمت سرور استفاده کنیم که یعنی سرعت لود بیشتر و سئوی بهتر.

- خداحافظی با PropTypes: تایپ‌اسکریپت رسماً شده راه‌حل اصلی تایپ‌چکینگ. اگه هنوز از PropTypes استفاده می‌کنید، وقتشه به hashtag#تایپ‌اسکریپت مهاجرت کنید!

- مدیریت فرم‌ها: با هوک جدید useFormStatus، مدیریت وضعیت فرم‌ها خیلی ساده‌تر شده. وضعیت لودینگ، خطاها و موفقیت رو راحت می‌تونیم کنترل کنیم.

- متادیتای صفحه: دیگه نیازی به کتابخونه‌های اضافی برای مدیریت متادیتا نیست. مستقیم توی کامپوننت می‌تونیم متاتگ‌ها رو تعریف کنیم و React اون‌ها رو مدیریت می‌کنه.

- بهبود Suspense: لودینگ‌ها خیلی هوشمندتر شدن. React سریع‌تر فالبک رو نشون میده و همزمان بقیه قسمت‌ها رو هم رندر می‌کنه.

- رف به عنوان پراپ: دیگه می‌تونیم مستقیماً از ref به عنوان پراپ استفاده کنیم و دیگه نیازی به forwardRef نداریم. کد تمیزتر و خوانایی بیشتر.

- خداحافظی با API‌های قدیمی: خیلی از API‌های قدیمی مثل render و findDOMNode رفتن کنار. حالا همه چی مدرن‌تر و بهینه‌تر شده.

نکته طلایی مهاجرت: قبل از پریدن به نسخه ۱۹، حتماً اول به ۱۸.۳.۱ مهاجرت کنید! این نسخه بهتون هشدار میده که کجاها ممکنه با نسخه ۱۹ به مشکل بخورید.

در کل، به نظر میاد ری‌اکت ۱۹ قراره تجربه توسعه رو بهتر کنه، مخصوصاً با قابلیت‌های جدید سمت سرور و بهینه‌سازی‌های عملکردی که اضافه شده‌اند.

@DevTwitter | <AmirMohammad Sakizadeh/>
👍35🤣30🔥84
هنوزم یکی از بهترین منابع برای آشنایی و یادگیری با مباحث مهندسی امنیت، حساب می شود!
مفاهیم بیان شده، کمک می کند تقریبا هر چیزی را که مد نظر داریم، آن را بتوانیم امن کنیم.
https://github.com/veeral-patel/how-to-secure-anything

@DevTwitter | <Vahid Nameni/>
18👍13
یه Arena Allocator برای C/Cpp نوشتم که کراس پلتفرمه و قابلیت اینو داره که از چندین Buffer برای مدیریت درخواست‌های بیشتر استفاده کنه
https://github.com/thehxdev/libarena

@DevTwitter | <Hossein/>
🔥16👍7
معماری‌های نرم‌افزاری در حوزه برنامه‌نویسی بسیار متنوع هستند و هر کدام با تمرکز بر اهداف، نیازها و شرایط خاصی به‌کار می‌روند.
در این پست، تعدادی از معماری‌های پرکاربرد را میگم و توضیح می‌دهم که روی چه حوزه‌ای متمرکزند، کجا استفاده از آن‌ها مناسب هست و کجا بهتر استفاده نشه.

—————————————————
معماری لایه‌ای (Layered Architecture)

تمرکز:تفکیک مسئولیت‌ها بر اساس لایه‌های منطقی (Presentation، Business، Data Access).

استفاده ش: سیستم‌های کلاسیک سازمانی که ساختار ساده و قابل پیش‌بینی می‌خوان؛ وقتی که تیم توسعه با رویکرد سنتی آشنا و نیاز به شفافیت بین لایه‌ها داریم

کجا استفاده نکنیم:
در پروژه‌هایی که نیازمند مقیاس‌پذیری بالا یا تغییرات مداوم هستند و همچنین در مواردی که ساختار سیستم بسیار پیچیده و وابستگی‌ها زیاد است. چون افزایش تعداد لایه‌ها گاهی انعطاف را کم می‌کنه.

—————————————————
معماری سرویس‌گرا(Service Oriented Architecture - SOA)

تمرکز: ارائه سرویس‌های مستقل که از طریق رابط‌های استاندارد با هم تعامل می‌کنند.
کجا استفاده کنیم:
در سازمان‌هایی که سرویس‌های مختلفی دارند و می‌خوان اونها رو در سیستم‌های متفاوت به اشتراک بزارن. خوراک یکپارچه‌سازی سیستم‌های مجزا و ایجاد قابلیت تعامل بین بخش‌های مختلف سازمان هست.

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


—————————————————
معماری مایکروسرویس (Microservices Architecture)
تمرکز:
تقسیم سیستم به سرویس‌های کوچک، مستقل و قابل استقرار جداگانه که از طریق APIهای سبک (مثل rest api) با هم در ارتباطند
کجا استفاده کنیم:
در سیستم‌هایی با مقیاس بزرگ که نیاز به انتشار و تغییرات سریع دارند، تیم‌های توسعه جداگانه روی بخش‌های مختلف کار می‌کنن و بخش‌های مختلف سیستم باید به شکل مستقل مقیاس‌پذیر باشن. ولی مواظب باشین که تعدادش یهو نره بالا که از اونور(نگهداریش) به دردسر میفتین
کجا استفاده نکنیم:
در پروژه‌های کوچک یا تیم‌های کم تجربه که نگه‌داشت و هماهنگی بین تعداد زیاد سرویس‌های مستقل می‌تواند سخت باشه. همچنین اگر نیازمندی‌ها ساده است و تغییرات کم هستند، مایکروسرویس می‌تواند پیچیدگی غیرضروری ایجاد کند


—————————————————
معماری رویداد-محور (Event-Driven Architecture)
تمرکز:
تبادل اطلاعات و واکنش سرویس‌ها بر اساس Eventها و پردازش ناهمزمان.
کجا استفاده کنیم:
در سیستم‌هایی که رویدادها و اتفاقات به صورت لحظه‌ای رخ میدن، نیاز به پاسخ آنی و مقیاس‌پذیری بالا دارن (مثل سیستم‌های IoT، بازی‌های آنلاین، پردازش تراکنش‌های لحظه‌ای).
کجا استفاده نکنیم:
در سیستم‌هایی که روابط همزمان، قوی و فرآیندهای خطی و ساده دارند و افزایش پیچیدگی به واسطه پیام‌ها و صف‌ها ارزش افزوده‌ای ندارد. کلا هرجایی که حرف از stream و online بودن معنی نداره

—————————————————
معماری تمیز (Clean Architecture)،
شش ضلعی (Hexagonal) یا پیازی (به قول یکی از بچه ها پوست پیازی) (Onion)

تمرکز:
جداسازی منطق کسب‌وکار از جزئیات زیرساختی و رابط کاربری، تا بشه منطق اصلی را مستقل از تکنولوژی‌ها و فریم‌ورک‌ها نگه داشت. البته تو جزئیات باهم تفاوت هایی دارن
کجا استفاده کنیم:
در پروژه‌های بلندمدت و پیچیده که پایداری منطق کسب‌وکار مهم است و ممکن است نیاز باشد فناوری‌های زیرساختی طی زمان تغییر کنند. یعنی مثلا یهو از SQL Server بخواین سوییچ کنین به mongoDb بی دلیل!:)
کجا استفاده نکنیم:
در پروژه‌های سریع و کوچک با نیازهای ساده که ایجاد این سطح از انتزاع ممکنه زمانی که دارین را هدر بده و پیچیدگی غیرضروری اضافه کنه یه چیزی درست کردین هی کپی پیست نکنین تو پروژه های مختلف همچین کاری از یه جایی به بعد شمارو تبدیل میکنه به کدنویس نه برنامه نویس
@DevTwitter | <MahDi/>
👍45👎85
دوره پیشرفته جاوا اسکریپت به شما کمک می‌کند تا مفاهیم پیچیده و پیشرفته این زبان محبوب را درک کنید و مهارت خود را به سطح جدیدی ببرید. این دوره شامل موضوعاتی مانند Generators، Iterators، Maps، و پروژه‌های عملی است که دانش تئوری را به کاربرد عملی متصل می‌کند.

مشاهده دوره در کانال نیکول وب:

https://youtube.com/playlist?list=PLbZbuOkDeba8zDIG2GleE6bVQ8AbW2APN&feature=shared

@DevTwitter | <Mohammadreza/>
👍24👎2🤣2
چند وقتی درگیر راه اندازی یه کلاستر ELK بودم و برای نگهداری snapshot ها باید از minio استفاده می کردیم.
یه ریپو درست کردم که براتون یه کلاستر الستیک با nginx و minio بالامیاره و می تونین ازش استفاده کنین

https://github.com/zaaferani/elk-nginx-s3

@DevTwitter | <حسن زعفرانی/>
👍17🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
برای اضافه کردن کد به سایت، به جای نصب افزونه، می‌تونیم از روش استاندارد وردپرس یعنی Child Theme استفاده کنیم. افزونه یکبارمصرف Child Theme Configurator می‌تونه «پوستهٔ فرزند» بسازه و تنظیمات پوسته فعلی رو کامل انتقال بده و بعدش هم میشه حذفش کرد!
https://wordpress.org/plugins/child-theme-configurator/

@DevTwitter | <Yashar Shahi/>
10👍10🤣9
کاش شرکت ما هم تعطیل بود فردا
کونمون یخ زد خداوکیلی

@DevTwitter
🤣202👍27🔥104
‏در حالی که استفاده از تکنولوژی وب قدیمی «HTTP/1.x» در دنیا به ۲۹.۹ درصد رسیده هنوز اما چند کشور نیمی از اتصالاتشون با این تکنولوژی هست.
(ایران، ایرلند، هنگ کنگ و چین.)
برای ایران ۸۷.۶ درصد.

@DevTwitter | <Soroush Ahmadi/>
🤣86👍12👎4