Dev Perfects – Telegram
Dev Perfects
41 subscribers
9.23K photos
1.26K videos
468 files
13K links
بخوام خیلی خلاصه بگم
این کانال میاد مطالب کانالای خفن تو حوزه تکنولوژی و برنامه نویسی رو جمع میکنه

پست پین رو بخونید
https://news.1rj.ru/str/dev_perfects/455


ارتباط:
https://news.1rj.ru/str/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Accio
Average Iranian online shop:
Forwarded from یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 همین طور می ببینید ۷۵ نفر شرکت کردند و بیشترین دوره ای که رای آورد سایت شرکت با لاراول است.

دوستمون آقای @mir_alix میگه بهتره پروژه فروشگاهی باشه و پروژه شرکتی چالش خاصی نداره!

درسته که چالش خاصی نداره اما هدفم اینکه تازه کارها دوره مبتدی و متوسطه ببینند و بعد بروند سراغ پروژه پیچیده تر که با دیزاین پترن ها سروکار دارند.

پس دو هفته دیگه ضبط دوره سایت شرکتی با لاراول شروع می کنیم.

صفحات تعریف شده شامل سربرگ - اسلایدر - خدمات ما - درباره ما - نمونه کارها - وبلاگ -تماس با ما - مشتریان ما و پا برگ خواهد بود.

@TheRaymondDev
👎1
Forwarded from Geek Alerts
Media is too big
VIEW IN TELEGRAM
گیت‌هاب کوپایلت یه Agent روی VSCode داده، یه دستیار خودمختار که عملا بخش‌های زیادی از وظایف کدنویسی رو انجام میده. میتونه توی نوشتن کد، تکمیل یا ویرایش چندین فایل کدنویسی به صورت همزمان کمکتون کنه، ارورهای کد رو براتون پیدا و اصلاح میکنه.

میشه از بین مدل‌هاش O3-mini رو هم انتخاب کرد.

برای استفاده ازش باید VS Code Insiders رو دانلود کنید و تو تنظیمات GitHub Copilot Chat حالت agent mode رو روشن کنید.

بعدش برید تو پنل Copilot Edits جایی که مدل رو انتخاب می‌کنید، اون بالا یه گزینه هست که نوشته Edit بذاریدش رو Agent و تمام.

https://code.visualstudio.com/insiders/
blog
@geekalerts
Forwarded from Accio
Here is my understanding of what is UDP hole-punching and how does UDP Peer-to-Peer connection work

As you may know our devices are behind a NAT process when trying to access the internet. Meaning multiple devices on the same private network (e.g your local wifi) will have the same public IP address while on the internet. So in order for the router to know which packet is destined to which device, there must be a translation table that has records like: (DestinationAddr, DestinationPort, LocalAddr, LocalPort). You can find out more about NAT here

The problem is now clear. If we wanted a Peer-to-Peer connection, clients would have no idea of each others NAT tables hence no idea of where they should send their packets to. In fact there is not even a suitable record in their NATs for this procedure.

That's when a third server (S in picture) comes into play. S should be exposed to both A and B, meaning it should have a public UDP port open for sending/receiving packets and the rest goes as follows:

1. A and B will attempt to send UDP packets to S, hence they would have a record in their router's NAT table for an open UDP port

2. S will aid to exchange A and B's public address and port

3. Both A and B will now attempt to send a UDP packet to each other without using S and in doing so they would add another entry to their NAT tables. Bear in mind if a packet is received without any packet sent first, it will be dropped. Since the NAT entry is not initiated yet but it does not matter since it will be initiated when sending one anyways

4. After all said and done, A,B can freely send packets to each other via UDP

TCP hole punching works about the same but for UDP it's simpler since it's connection-less
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۹۵۸

گر بکشندم نگردم از عشق توباز
زیرا که ز چنگ ما برون شد آواز
گویند مرا سرت ببریم به گاز
پیراهن عمر خود چه کوته چه دراز

#مولانا | گنجور
📍@iipoem
اگر یوتوب برای شماهم روی فلان دقیقه هنوز گیر می‌کنه می‌تونید از ترکیب مسمومی که توی این پست میگم استفاده کنید.

چقدر مسموم؟ خیلی مسموم
proxychains -q yt-dlp -g videolink --cookies-from-browser firefox

قبلا درباره تنظیم پروکسی‌چینز و همینطور yt-dlp گفتم. خروجی دستور بالا به شما یک لینک مستقیم از اون ویدئو رو می‌ده که بعد می‌تونید بندازیدش جلوی mpv و ویدئو یوتوب برای شما پخش بشه.

proxychains -q mpv output


@SohrabContents
Forwarded from Linuxor ?
مدت ها قبل یه تیکه از کد خودم رو که تو چند تا حالت فرعی بد کار می‌کرد و ممکن بود باگ بخوره رو با کد جدید عوض کردم؛

بعد تازه داشتم دوباره ریفکتور می‌کردم گفتم این چه کد چرتیه و برش گردوندم به همون اولی که باگی بود در صورتی که کد خوبه همون بود !

همیشه وقتی کد تمیزی رو تغییر می‌دین بالاش کامنت کنید که فلان روش فلان باگو می‌ده برای همین این روش رو نوشتم، که بعدا دوباره کسی برش نگردونه به کد باگی چون تفکر اغلب برنامه نویس ها شبیه به همه، به این کار توی مهندسی نرم افزار می‌گن نگهداری Decision History که باعث می‌شه توی آینده اشتباهی رو مثل من دوباره تکرار نکنید.


@Linuxor
Forwarded from یک برنامه نویس تنبل (  MΞ)
🔶 دانلود کتاب های پولی

یکی از سایتایی که کتابهای پولی رو میتونید رایگان دریافت کنید zlib هستش ولی سایتای فیک زیادی براش زدن ربات زیر رو استارت بزنید میتونید هر دفعه که دامینشون فیلتر میشه پیدا کنید:
@la3tknightarchive_bot

بعدی سایت Library Genesis:
https://libgen.is

از کانالای ایرانی هم این کانال زحمت میکشن و تا الان چیزی حدود ۱میلیون pdf رو قرار دادن:
@BOOKzMA

@TheRaymondDev
اینطور که معلومه یوتوب الآن به بعضی کاربرها تبلیغ های یک ساعته رو نشون میده :)))


این همه گوگل با کروم و غیره اومد ادبلاکر هارو مسدود کرد که تهشم شد این.

https://www.makeuseof.com/hour-long-unskippable-youtube-ads/


جدای از این‌ها، وقتشه جایگزین های یوتوب رو مثل #پیرتوب و #آدسی رو یک نگاهی بهشون بندازید، با اینکه پیرتوب مدل‌ درآمدزایی نداره ولی به علت وجود فدیورس یکی از بهترین پلتفرم‌های اشتراک گذاری رایگان ویدئو بدون تبلیغات و چرت و پرت‌های اضافه است.



@SohrabContents
Forwarded from Linuxor ?
یه جایگزین خوب برای دستور cat

ابزار bat یه میتونه یه جایگزین خوب برای cat باشه البته فقط توی کامپیوتر شما نه توی لینوکس !!! چون لینوکس یکی از اهدافش اینه ساده باشه.

ابزار bat میتونه syntax اکثر فایل ها رو بفهمه و اونارو رنگی کنه و باعث خوانایی بیشتر اونا بشه

ابزار bat به راحتی میتونه با دستور tail ترکیب بشه برای مثال

tail -f /var/log/pacman.log | bat --paging=never -l log

میتونید لاگ های pacman رو به صورت سینتکس هایلایت ببینید.


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

برای این کار باید متغیر محیطی MANPAGER رو تعریف کنید :

export MANPAGER="sh -c 'col -bx | bat -l man -p'" man 2 select

(اگه دبیان بیس هستید بجای bat بنویسید batcat)

🐧 @Linuxor
در آپدیت جدید #oblivionDesktop تغییراتی اعمال شد تا قبل از اینکه اعلان فالس پازیتیو آنتی‌ویروس‌ها برطرف بشه، فایل Warp-Plus رو به‌طور خودکار (درصورتی که بهش مجوز بدین) در لیست استثناهای ویندوز دیفندر یا بیت‌دیفندر قرار بده.

👉 github.com/bepass-org/oblivion-desktop/releases

🔍 ircf.space/software
@ircfspace
1
الان نمونه پیرتوب هم دارن

https://video.kompektiva.org


@SohrabContents
Forwarded from RandRng
حدود ۲ سال پیش این موقع یک پروژه بکند رو کار کردیم که همون زمان ۲ قسمت داشت (من مدیر تیم توسعه دهنده این پروژه بودم).

بخشی از پروژه که با Fastapi زده شده بود و بخش دیگری که قرار بود با Django شروع بشه.

توی شروع خیلی استاندارد سازی و داینامیک بودن پروژه مدنظرم بود، برای همین دوتا از تصمیماتی که گرفتم این‌ها بود :

۱- تمامی تست‌ها؛ با پکیج requests باشه.
۲- همه‌ی endpointهای مربوط به create, update بجای بررسی مستقیم با دیتابیس از طریق درخواست دیتا با Get detail بررسی بشه که درست توی دیتابیس هست یا نه.

اون زمان سر این ۲تا خیلی جنگیدم، که تغییر نکنه و حتماً رعایت بشه.

امروز مدیرعامل شرکت برای یک پروژه دیگر باهام تماس گرفت؛ توی meet ایی که داشتیم، مدیر فنی وقتی متوجه شد اون پروژه کار من بوده شاید بیش از ۱۰۰ بار تشکر کرد.

چرا ؟
چون پروژه از FastApi, Django رفته بود روی Golang و بجای Postgres‌ایی که سمت خودشون باشه از Self-Hosted database های شرکت کارفرما استفاده شده بود.

تصمیم اولم کمک کرده بود با وجود زمان کوتاه برای جابجایی به Golang و فشار شرکت کارفرما مبنی بر سرعت بخشیدن به قضیه.
نیازی به تغییر تست‌ها نداشته باشند (۹۰٪ هیچی رو تغییر ندادند ولی دقیقش رو نپرسیدم).

و تصمیم دوم؛ باعث شده بود بتونند به راحتی دیتابیس عوض کنند، یا حتی کدهای دپلوی شده رو تست بیگرند.

توی @pyhints قبلاً اشاره کردم به این موضوع؛ خواستم دوباره بگم که اگر درآینده تغییر فریمورک یا ابزار می‌بینید توی Integration Test ها تا جایی که می‌شه تست‌هارو از ابزارها و فریمورک جدا کنید.
Forwarded from Linuxor ?
تورینگ توی مقاله جنجالیش توی سال 1950 که اولین مقاله درباره هوش داشتن ماشین ها بود باید تفکر خشک عمومی رو عوض می‌کرد ؛

خیلی قشنگ می‌دونست خیلیا بخاطر اعتقادشون حاضر نیستن قبول کنن که ماشین می‌تونه هوش داشته باشه بخاطر همین اولین اعتراضی که مطرح کرد و جوابشو داد The Theological Objection یا اعتراض الهیاتی بود که در جواب افرادی بود که می‌گفتن خدا فقط به انسان قدرت تفکر داده و ماشین روح نداره، پس نمی‌تونه فکر کنه؛

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


@Linuxor
اگر تحت تاثیر ویژگی developer-specific ویندوز سرور 2025 به اسم Dev Drive که از فناوری ReFS (که در سرور 2012 معرفی و از ویندوز ۸ به دسکتاپ اضافه شده) قرار گرفته اید

در مورد ZFS و BTRFS بیشتر مطالعه کنید😏
🤬و سر لایسنس ZFS هم به Oracle فحش بدید

اگر علاقه داشتید یک زمانی در موردش مینویسم
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۷۴

نور فلکست این تن خاکی ما
رشک ملک آمدست چالاکی ما
گه رشک برد فرشته از پاکی ما
گه بگریزد دیو ز بی باکی ما

#مولانا | گنجور
📍@iipoem