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

پست پین رو بخونید
https://t.iss.one/dev_perfects/455


ارتباط:
https://t.iss.one/HidenChat_Bot?start=936082426
Download Telegram
Forwarded from Linuxor ?
پشت صحنه قرارداد های میلیاردی شرکت های بزرگ

@Linuxor
Forwarded from جادی | Jadi
این تحقیق می‌گه که تونستن در همه موجودات زنده (انسان‌ها،‌ موش‌ها و گیاهان) نور بسیار ضعیفی رو ببینن. در واقع می‌گه همه موجودات زنده نور بسیار کمی در طیف مرئی برای انسان منتشر می‌کنن که بعد از مرگ خاموش می‌شه و [حداقل ] در گیاهان با استرس و صدمه خوردن تغییر می‌کنه.

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

https://pubs.acs.org/doi/10.1021/acs.jpclett.4c03546
Forwarded from GitHub Trending Daily
🔥 New GitHub Trending Repositories 🔥

Found 11 new trending repositories:

1. capnweb by cloudflare
📝 JavaScript/TypeScript-native, low-boilerplate, object-capability RPC system
💻 TypeScript | 1,704 | 🌟 Today: 326
🔗 Link
2. RAG-Anything by HKUDS
📝 "RAG-Anything: All-in-One RAG Framework"
💻 Python | 5,525 | 🌟 Today: 122
🔗 Link
3. ultralytics by ultralytics
📝 Ultralytics YOLO 🚀
💻 Python | 46,026 | 🌟 Today: 49
🔗 Link
4. istio by istio
📝 Connect, secure, control, and observe services.
💻 Go | 37,347 | 🌟 Today: 7
🔗 Link
5. Dolphin by bytedance
📝 The official repo for “Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting”, ACL, 202...
💻 Python | 6,428 | 🌟 Today: 457
🔗 Link
6. cai by aliasrobotics
📝 Cybersecurity AI (CAI), the framework for AI Security
💻 Python | 4,212 | 🌟 Today: 99
🔗 Link
7. solana by solana-labs
📝 Web-Scale Blockchain for fast, secure, scalable, decentralized apps and marketplaces.
💻 Rust | 14,480 | 🌟 Today: 2
🔗 Link
8. siyuan by siyuan-note
📝 A privacy-first, self-hosted, fully open source personal knowledge management software, written in t...
💻 TypeScript | 37,712 | 🌟 Today: 75
🔗 Link
9. django by django
📝 The Web framework for perfectionists with deadlines.
💻 Python | 85,150 | 🌟 Today: 22
🔗 Link
10. system-design-101 by ByteByteGoHq
📝 Explain complex systems using visuals and simple terms. Help you prepare for system design interview...
💻 Star | 76,829 | 🌟 Today: 126
🔗 Link
11. exo by exo-explore
📝 Run your own AI cluster at home with everyday devices 📱💻 🖥️
💻 Python | 31,199 | 🌟 Today: 32
🔗 Link

🔘 @github_trending_daily
ممکنه پیش بیاد که روی چندین پروژه در سیستم خودتون کار کنید، برای سویچ کردن و مدیریت سریع تر آنها در ترمینال یه ابزار خیلی ساده نوشتم گفتم اینجا هم بزارم که شاید بکار دوستان هم اومد

فرایندش اینه که بعد از نصب، دستور (opener aap) رو در ترمینال میزنی
نام پوشه پروژه رو بهش میدی، اونم میره در مسیر home یوزر، سرچ میکنه (Recursive Search) و پروژه رو با مسیرش پیدا میکنه

و بعدش زبان توسعه اونو ازت میخواد (طبق لیستی از زبان های ارائه شده، انتخابش میکنی)

و در نهایت انتخاب ادیتور رو ازت میخواد (کد ادیتور های نصب شده روی سیستم رو پیدا میکنه و لیست میکنه) و بعدش ذخیرش میکنه

بعد از انتخاب یه ادیتور، همونو برای اون پروژه در نظر میگیره و برای بار دوم دیگه نیازی به سلکت مجدد نیست و تنها با دستور کوتاه (o- project-name) پروژه رو باز میکنی

حذف پروژه هایی که به این ابزار معرفی می کنی ربطی به پروژه اصلی نداره

این ابزار opener_cli نسخه لینوکس هست و با node.js نوشته شده
https://github.com/NorouziMilad/opener

@DevTwitter | <YouVsYs/>
Forwarded from یه شعر (Poem Bot)
حافظ | غزلیات | غزل شمارهٔ ۲۴۳

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

#حافظ | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
the WebAssembly 3.0 standard is now 'live'

🟢 خلاصه مقاله:
** استاندارد WebAssembly 3.0 رسماً منتشر شده و هم‌اکنون در اکثر مرورگرهای مدرن در دسترس است. این نسخه با افزودن قابلیت‌هایی مانند garbage collection، tail calls و exception handling تمرکز خود را بر بهبود بلندمدت interoperability گذاشته و هدفش آسان‌تر شدن ادغام با زبان‌ها و ابزارهای مختلف است. پشتیبانی استاندارد از GC مسیر زبان‌های با runtime مدیریت‌شده را هموارتر می‌کند، حجم باینری‌ها را کاهش می‌دهد و راه‌اندازی را سریع‌تر می‌سازد؛ در عین حال tail calls کارایی الگوهای بازگشتی را بالاتر می‌برد و exception handling مدیریت خطا را ساخت‌یافته‌تر می‌کند. WebAssembly 3.0 با حفظ backward compatibility اجازه می‌دهد باینری‌های فعلی بدون تغییر اجرا شوند و ابزارها به‌تدریج قابلیت‌های جدید را پشتیبانی کنند.

#WebAssembly #Wasm30 #Browsers #Interoperability #GarbageCollection #TailCalls #ExceptionHandling #WebStandards

🟣لینک مقاله:
https://golangweekly.com/link/174640/web


👑 @gopher_academy
Forwarded from Linuxor ?
خسته ام مثل StackOverFlow که از ترسش رفته پشته کلادفلر اونقدری که این باتای هوش مصنوعی کراولش کردن :)


@Linuxor
Forwarded from Go Casts 🚀
سازنده Redis در جواب توییتی که نوشته بود تکنولوژی ای رو نام ببرید که quality خیلی زیادی داره و hype کمی داره، از ruby language design نام برده بود.

دلایل مختلفی برای این قضیه وجود داره من چندتا شو سعی میکنم ذکر کنم.
یکی اینکه آقای Matsumoto سازنده Ruby اولویت ش برای طراحی زبان رو productive بودن برنامه نویس ها در نظر گرفته بود و نه speed و چیزای دیگه..
به عبارتی developer happiness با کم کردن confusion در کدنویسی

زبان Ruby یک زمان کاملا Object-Oriented هست. اما فرق میکنه با اون چیزی که از OOP میدونیم..
یکی از نکات جالب طراحی Ruby وفاداری ش به تعریف OOP از آقای Alan Kay هست که در SmalTalk هم طراحی شده.
در تعریف آقای Alan Kay هر object با objectهای دیگه از طریق message passing ارتباط برقرار میکنه و نه از طریق method callها.

این چیزی هست که در زبان ruby هم طراحی شده. در ruby شما send message میکنی به object و اون object میتونه تصمیم بگیره که به پیام شما پاسخ بده و یا نده.

یکی دیگه از ایده های Alan Kay برای oop که به objectها انعطاف بیشتری میده تغییر رفتار objectها در runtime هست.

نکته کلیدی ای که در مورد OOP از نظر آقای Kay وجود داره که در Ruby هم پیاده سازی شده اینه که رفتار یا behaviour که معمولا از طریق interface تعریف میشه به object وابسته ست و نه class.

تعریف مرسومی که ما از OOP تو ذهن داریم رفتار وابسته به class هست. چیزی که در java و cpp هم خیلی رایجه.
اما تعریفی که آقای Kay از oop داره و در ruby هم پیاده سازی شده رفتار وابسته به object هست ونه class.
تعریف آقای Kay اگه درست رعایت بشه باعث میشه اصل composition over inheritance رعایت بشه. اصلی که مهمه و زبان های دیگه مثل گولنگ هم خیلی این مورد رو بهش اهمیت دادن.

آقای Kay معتقده که
behavioral composition is often better than deep inheritance hierarchies


یادگیری یه زبانی مثل ruby کمک میکنه که اصول oop آقای Kay رو بهتر متوجه بشیم و ذهنیتمون کاملا متفاوت بشه نسبت به OOPی که زبان های java و cpp به ما تحمیل کردن...


@gocasts
ابزار diff برای چک کردن تفاوت خط به خط تغییرات فایل استفاده می‌شه. اما نمی‌تونه سینتکس رو بفهمه اومدن یه ابزار ساختن که سینتکس رو می‌فهمه و تغییرات رو توی سطح سینتکس بهتون نشون می‌ده!

نصب :
https://github.com/Wilfred/difftastic

@DevTwitter | <Nimo/>
Forwarded from Sadra Codes
تقریبا ۶ ماهه که سرباز ارتشم. راجع به خدمت و تداخلش با کار، هر سوال، ابهام یا نگرانی دارین بپرسین تا طبق جایگاهی که دارم، راهنمایی کنم. 🫶
Forwarded from Gopher Academy
🔵 عنوان مقاله
Why I Ditched Docker for Podman (And You Should Too)

🟢 خلاصه مقاله:
مهاجرت از Docker به Podman برای من بیشتر یک انتخاب عملی بود تا بحث سلیقه؛ به‌ویژه در جریان‌های کاری مرتبط با Go که در Golang Weekly هم زیاد دیده می‌شود. دلیل اصلی، معماری ساده‌تر و امن‌تر Podman است: بدون daemon و با اجرای rootless به‌صورت پیش‌فرض، پس سطح حمله و دردسرهای دسترسی کاهش می‌یابد و سرویس پرامتیازِ دائمی لازم نیست. مهاجرت هم کم‌اصطکاک است؛ چون Podman با CLI و فرمت OCI سازگار است و دستورات رایج مثل podman build/run عملاً جایگزین مستقیم می‌شوند. برای Compose، ابزار Podman Compose و برای رابط گرافیکی، Podman Desktop وجود دارد؛ روی macOS و Windows هم podman machine تجربه‌ای سبک و قابل‌اتکا می‌دهد. ادغام بومی با systemd، مدیریت لاگ‌ها و قابلیت‌هایی مثل pods و podman generate kube، راه را برای استفاده در CI/CD و حتی انتقال به Kubernetes هموار می‌کند. در پروژه‌های Go، ساخت چندمرحله‌ای، ایمیج‌های کم‌حجم، و mountهای rootless بدون مشکل دسترسی، چرخه توسعه و تست را سریع و قابل‌اعتماد می‌کند. هرچند تفاوت‌هایی مثل مسیر socket و جزئیات volumes نسبت به Docker وجود دارد، اما راهکارهای روشن و مستندی برایشان هست. نتیجه: اگر Docker جواب‌گو است، خوب؛ اما Podman در اکثر سناریوهای روزمره توسعه و CI تجربه‌ای امن‌تر، ساده‌تر و سازگار ارائه می‌دهد.

#Podman #Docker #Containers #DevOps #Go #GolangWeekly #Kubernetes #Security

🟣لینک مقاله:
https://golangweekly.com/link/174075/web


👑 @gopher_academy
Forwarded from محتوای آزاد سهراب (Sohrab)
یک لایه داشتیم برای apt روی پارچ که مستقیم میومد و ترجمه می‌کرد دستورات apt رو.

متاسفانه اون صرفاً یک عادت بد رو توی کاربران نگه می‌داشت و کسی دیگه پک‌من رو یاد نمی‌گرفت.

یک لایه جدید نوشتم که دستور معادل رو به کاربر می‌گه، یک لینک از ویکی نشون میده و در نهایت هم میگه می‌خوای من برات اجراش کنم؟


@SohrabContents
Forwarded from Python Hints
چیزایی که شخصا خیلی باهاشون مشکل دارم :

۳- وقتی این NewType هیچ runtime چکی نمیده؛ چه فرقی بین
email: Email
email: str

هست؟ استفاده از اسم متغییر درست به توسعه دهنده بعدی به درستی می‌فهمونه که باید ایمیل استفاده کنه و نه چیز دیگری

اینجا باید ترجیح بدید که Email رو تبدیل به یک کلاس کنید که validation های مختلف خودش رو هم حتما داشته باشه!

۴- احساس امنیت کاذب؛ توی مورد ۱ به این موضوع اشاره کردم!
حالا بخش بدتر این قضیه کجاس ؟ دولوپرهای حواس‌پرت به mypy تکیه می‌کنند که دولپر دیگری از کدشون سواستفاده نکنه بجای اینکه دقیقا پارامتر ورودی رو بررسی کنند و اگر ایمیل ولید نیست ارور برگردونند.

۵- توی پایتون NewType چون قوانین نامگذاری شبیه به Class داره و البته که Syntax Highlight هم مثل کلاس می‌بینه باعث سردرگمی میشه!
کلاس بدون رفتار ؟
اینم موردی دیگه و یک anti-pattern دیگه

در نهایت :
NewType
چیز بدی نیست؛ جو گیری بده. وقتی سورس کد بزرگ هست و شما این موضوع رو بیش از حد پیش بردید اتفاقات قشنگی نخواهد افتاد.
دقت کنید این موارد حتی توی زبان‌های کامپایلری و lowlevel هم قفل هست.

خلاصه که هرچیزی رو در جای درست خودش استفاده کنید؛ این مورد یک فیچر هست توی پایتون که قطعا استفاده خواهد شد ولی بهتره درجای درست و برای مفهوم درست استفاده بشه!
کل صحبت نویسنده کتاب هم همین بوده که سعی کردم با مثال توضیح بدم.
‏برای یادگیری C++ دارم (گشاد گشاد) یه mini grep می نویسم. اینو میذارم اینجا که تنبلی کردم دچار شرم بشم بشینم کاملش کنم
فقط نمیدونم طبق داکیومنت grep ببرمش جلو یا از صفر مال خودمو بنویسم
https://github.com/hamedtahmasebi/mini-grep-cpp

@DevTwitter | <Hamedooo/>
Forwarded from Python Hints
image_2025-09-25_13-16-32.png
1.2 MB
نسخه با کیفیت تصویر
Forwarded from Linuxor ?
اوراکل مشغول خودستایی کردنه؛ توی معرفی جاوای 25 اون رو زبان اول دنیا توصیف کرده 🎀


@Linuxor
Forwarded from Python Hints
پرسیدید چرا نویسنده می‌گه این مورد appalling هست؟ با اینکه بنظر رفتار خیلی خوبی میاد.

من یک نمونه کد زدم که نشون بدم چرا بد هست این رفتار؛ توی این حالت من بیش از حد سخت گرفتم و همه چیز NewType هست (یا یک رفتاری رو نباید دنبال کنید یا کل کد باید یک استاندارد رو رعایت کنه)

اولین و مهمترین نکته :
توجه کنید نویسنده همین رفتار یعنی تعریف مداوم تایپ جدید برای نوع داده‌های اصلی رو بد می‌دونه!
اینکه بجای str, bool, int تایپ جدید تعریف کنید که پارامتر ورودی شما بهتر بنظر برسه!


حالا بررسی کنیم خود ایرادات وارده رو:

۱- تعریف نوع داده‌ای جدید هیچ عملکرد بهتری برای runtime بهم نمیده!
خیلی از افرادی که اینکار رو می‌کنند برای فرار از تست کردن کدها؛ فرار از نوشتن ولیدیشن؛ فرار از چک کردن پارامتر‌های ورودی و ... اینکار رو می‌کنند! این چیزی هست که شخصا بسیار توی این مدل کد زدن دیدم (قطعا هستند افرادی که اینطوری عمل نمی‌کنند ولی خب من ندیدم)

۲- خط ۹۱ کد رو ببینید؛ هرجایی از کدم که بخوام یک str یا ... رو برای این توابع استفاده کنم حتما باید توی NewType ایی که تعریف کردم بذارمش!

ادامه پست بعدی:
Forwarded from Agora (Alireza)
بین سال‌های ۹۱ تا ۹۳ مشتری مجله‌ی دنیای بازی بودم. تنها مجله‌ی بازی که اون موقع سراغ داشتم. در کنار سایت‌هایی مثل پردیس‌گیم و گیم‌فا سورس اصلی من و رفیقام (علی و محمد که اولی الان پزشکه و دومی هم آلمانه و توی فولکس واگن مشغوله) بود برای خوندن راجع‌به بازی‌ها. مجله رو من می‌گرفتم و بین زنگ‌ها یا سر کلاسا کنار هم که می‌نشستیم می‌خونیم.

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

اینجا میتونید یه سری به آرشیوشون بزنید.
Forwarded from Gopher Academy
🔵 عنوان مقاله
How Fast is Go? Simulating Millions of Particles on a Smart TV

🟢 خلاصه مقاله:
این مقاله با اجرای یک شبیه‌سازی بزرگ روی یک Smart TV نشان می‌دهد Go در عمل چقدر سریع است. نتیجه اصلی: شبیه‌سازی ۲.۵ میلیون ذره با نرخ ۶۰ فریم‌برثانیه و هم‌زمان ارسال داده با ۳۰ فریم‌برثانیه به بیش از ۳۰۰ کلاینت (و احتمالاً تا حدود هزار) ممکن شده است. ترکیب کار محاسباتی سنگین و ارسال شبکه هم‌زمان، توان Go در مدیریت بارهای بلادرنگ و استفاده مؤثر از همزمانی را نشان می‌دهد. با بهینه‌سازی تخصیص حافظه و استفاده از الگوهای همزمانی Go، تأثیر GC کم و تأخیر قابل‌پیش‌بینی باقی مانده و سیستم روی دستگاهی محدود مثل Smart TV نیز پایدار عمل می‌کند.

#Go #Golang #Performance #Concurrency #RealTime #SmartTV #Simulation #Scalability

🟣لینک مقاله:
https://golangweekly.com/link/174646/web


👑 @gopher_academy
برنامه نویس خوش ذوق که برای هر ریلیز از کاور یه انیمه استفاده کرده
https://github.com/panjf2000/ants/releases

@DevTwitter | <Mdhesari/>
Forwarded from محتوای آزاد سهراب (Sohrab)
اینکه در توسعه #نرم‌افزارآزاد افراد توسعه دهنده رو با پشتیبانی ۲۴/۷ اشتباه می‌گیرن، از این سرچشمه می‌گیره که جا نیفتاده که توسعه دهنده ای که داره وقتش رو پای این نرم‌افزار می‌ذاره هیچ پولی دریافت نمی‌کنه، هیچ وظیفه‌ای در قبال پشتیبانی از اون نرم‌افزار هم نداره.

دراصل پشتیبانی یک نرم‌افزارآزاد از هرگونه‌ای باید به دست #جامعه اون ابزار صورت بگیره.

-----------------------

https://github.com/sundarnagarajan/licenses/blob/057b7ff5ddf6d2624f5920d79d4d96415a037e38/GPL-3.txt#L565


۱۵. سلب مسئولیت از ضمانت
هیچ‌گونه ضمانتی برای این برنامه وجود ندارد، تا جایی که قوانین قابل اجرا اجازه می‌دهند. مگر در مواردی که به‌طور کتبی خلاف آن ذکر شده باشد، دارندگان کپی‌رایت و/یا سایر طرف‌ها، برنامه را «همان‌طور که هست» بدون هیچ‌گونه ضمانتی ارائه می‌کنند؛ چه ضمانت صریح و چه ضمنی، از جمله (و نه محدود به) ضمانت ضمنی قابلیت فروش یا انطباق برای یک هدف خاص. تمام ریسک مربوط به کیفیت و عملکرد برنامه بر عهده شماست. اگر برنامه معیوب باشد، شما مسئول تمام هزینه‌های لازم برای سرویس‌دهی، تعمیر یا اصلاح آن خواهید بود.



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



@SohrabContents