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 Linuxor ?
تورینگ توی مقاله جنجالیش توی سال 1950 که اولین مقاله درباره هوش داشتن ماشین ها بود باید تفکر خشک عمومی رو عوض می‌کرد ؛

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

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


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

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

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

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

#مولانا | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
httptap: View HTTP/HTTPS Requests Made by Any Linux Program

🟢 خلاصه مقاله:
این متن درباره یک ردیاب HTTP محدود به فرایند و مبتنی بر زبان برنامه‌نویسی Go است که بدون نیاز به دسترسی‌های ریشه (root) قابل اجرا است. این ابزار فقط از فضاهای نام شبکه‌ای در لینوکس پشتیبانی می‌کند و قابلیت رمزگشایی ترافیک TLS را دارد به این ترتیب که یک مرکز احراز هویت (CA) را بلافاصله و به‌صورت خودکار تولید می‌کند. این ویژگی‌ها ردیاب را ابزاری مفید برای عیب‌یابی یا بررسی ارتباطات خارجی نرم‌افزارها و وابستگی‌های آن‌ها فراهم می‌آورد، که ممکن است بدون اطلاع کاربر، اطلاعاتی را به خارج منتقل کنند.

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


👑 @gopher_academy
بسته به نوعِ کاری که می‌خواهید انجام دهید (حذفِ نویز، رفعِ تاری، رنگی‌کردن، بازسازیِ چهره ...) و نوعِ تصویر، بهترین مدل می‌تونه متفاوت باشه. هیچ مدلِ واحدِ ایده‌آلی برایِ همهٔ کاربردها وجود نداره. این سایت بیش از ۸۰۰ مدل رو با هم مقایسه کرده.
phhofm.github.io/upscale/

@DevTwitter | <Ayub Kokabi/>
Forwarded from DevOps Labdon
پادکست نیمچه برنامه نویس:
این پادکست به شکل روان و داستانی موضوعاتی را در حوزه‌ی دواپس و برنامه نویسی روایت می‌کند.
مثلا در چند اپیزود اخیر به روایت و بررسی کالبدشکافی داون تایم شرکت های بزرگ پرداخته است.
اپیزود های کوتاه و جذاب این پادکست به صورت هفتگی منتشر می‌شوند.


می‌توانید کانال این پادکست را در کست‌باکس دنبال کنید:
https://castbox.fm/vh/6294201

👑 @DevOps_Labdon
Forwarded from Go Casts 🚀
بهتره برنامه گولنگی که مینویسید بتونه از panicهای احتمالای recover کنه خودش رو، چون اگه recover نشه برنامه crash میکنه و باعث میشه کل functionalityهای سرویس (برنامه) بره رو هوا. البته اگه مثلا روی kuber باشید یا با docker-compose باشه یا حتی daemon باشه میتونید restart کنید بصورت خودکار برنامه رو، اما خب اگه اون تیکه از برنامه که داره panic میکنه در hot path باشه خیلی زود مجدد مشکل بوجود میاد.

یه نکته مهمی که در مورد goroutineها وجود داره اینه که اگه شما روی goroutine اصلی (parent) مکانیزم recover در نظر بگیرید تاثیری روی goroutine ساخته شده child نداره و اگه child به هر دلیلی panic کنه ریکاور نمیشه.

خب حالا سوال پیش میاد که ما باید روی هر goroutineی که در برنامه میسازیم یا همون اصطلاحا spawn میشه مکانیزم recover در نظر بگیریم؟
جواب واضحی براش ندارم ولی چند تا نکته دارم که فکر میکنم کمک کنه.
یکی اینکه روی پروسه های long-runningتون حتما panic recover بذارید، مثلا اگه http server دارید معمولا خودشون یه recover middleware دارن فریمورک ها که میشه فعالش کرد.
اگه مثلا یه goroutine دارید که broker consumer هست خوبه که panic recover داشته باشه.
اگه جایی استفاده پیچیده از channelها دارید که confidence ندارید روی فهم communicationشون، چون روی close شدن panic میکنه بهتره recover داشته باشید.

در مورد goroutineهایی که lifetime کوتاهی دارن مثلا قراره یه sms ارسال کنه یا یه http request بزنه لازم نیست تنظیم بشه احتمالا. ولی بهتره یه سری اصول رو کلا رعایت کنید که از panic پرهیز بشه، مثلا تا جایی که میشه و لازم نیست از pointer استفاده نکنید…

این مقاله کوتاه یه تیکه کد آماده کرده که panic رو راحت تر ریکاور کنید در توابع مختلف
Recover panics in all Goroutines you start
https://dev.ribic.ba/recover-panics-goroutines/

نکته آخری هم که دارم اینه که استفاده از panic recover نباید به عنوان یه practice عمومی همه جا استفاده بشه، وجود panic احتمالی نشانه ای برای وجود باگ در پیاده سازی ست که بهتره ریشه موضوع و مشکل پیدا بشه و حل بشه، داشتن ریکاور صرفا برای اینه که تا زمان پیدا کردن مشکل سیستم بصورت reliable کارش رو ادامه بده.

تو تابع panic recover بهتره به اندازه کافی لاگ و متریک خوب بذارید که زودتر مشکل رو پیدا کنید.

@gocasts
#Java

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

@DevTwitter | <Mori/>
این پکیج رو ساختم و روی npm پابلیش کردم
پکیج cli دم دستی و باحالیه

میتونید استراکچر کل فایل و ها و فولدر ها رو در یک ساختار درختی داشته باشید برای درک ساختار پروژه/دایکتوری

نیازی به نصب هم نیست و میتونید مستقیما با npx استفاده کنید
https://github.com/mohammadkhakshoor/tree-lens

@DevTwitter | <Mohammad, The DevOne/>
Forwarded from Python Hints
۹ تا ازون اسکلا رو اینجا هم داریم 🤣😂🤣

تعداد اسکلا داره میره بالا ۴۴ تا شد 🤣😂🤣
Forwarded from Future Pulse Persian
📚 معرفی دو کتاب عالی در زمینه ساختمان داده و الگوریتم‌ها

اگر به دنبال منابع قوی برای یادگیری ساختمان داده‌ها (Data Structures) و الگوریتم‌ها (Algorithms) هستید، این دو کتاب را از دست ندهید:👇

🔵https://skybooks.ir/products/Grokking-Algorithms

Table of Contents

1. Introduction to algorithms
2. Selection sort
3. Recursion
4. Quicksort
5. Hash tables
6. Beadth-first search
7. Trees
8. Balanced trees
9. Dijkstra’s algorithm
10. Greedy algorithms
11. Dynamic programming
12. k-nearest neighbors
13. where to go next

🔵https://skybooks.ir/products/Grokking-Data-Structures

Table of Contents

1. Introducing data structures: Why you should learn about data structures
2. Static arrays: Building your first data structure
3. Sorted arrays: Searching faster, at a price
4. Big-O notation: A framework for measuring algorithm efficiency
5. Dynamic arrays: Handling dynamically sized datasets
6. Linked lists: A flexible dynamic collection
7. Abstract data types: Designing the simplest container—the bag
8. Stacks: Piling up data before processing it
9. Queues: Keeping information in the same order as it arrives
10. Priority queues and heaps: Handling data according to its priority
11. Binary search trees: A balanced container
12. Dictionaries and hash tables: How to build and use associative arrays
13. Graphs: Learning how to model complex relationships in data
Forwarded from Sudoer (Morteza Bashsiz)
سناریو شماره ۱۱ - کوشته شدن پراسس بخاطر کمبود مموری

توی این سناریو متوجه میشیم که سرویس انجینکسمون بخاطر کمبود مموری کوشته میشه

https://youtu.be/koSXviSHvCY
Forwarded from Sudoer (Morteza Bashsiz)
سناریو شماره ۱۰ - افت پرفورمنس بخاطر DNS

توی این ویدیو یه سرویس API داریم که پرفورمنسش افت داشته. توی بررسی‌ها متوجه شدیم که دلیلش عدم پاسخگویی درست DNS هست

https://youtu.be/TGSugQt2fXg
این اپ به طرز عجیبی حجم ویدئو رو کم می‌کنه
کیفیت هم می‌شه تقریبا بدون افت درنظر گرفت، توی این مدت چندتا اپ مختلف مثل vlc و HandBreak رو تست کردم و CompressO با اختلاف شاهکار بود
برای همه پلتفرم‌ها در دسترسه
https://github.com/codeforreal1/compressO

@DevTwitter | <Hosse!n :)/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
Zog: 'Next Gen' Schema Validation for Go

🟢 خلاصه مقاله:
مقاله‌ای که اشاره شده به معرفی دو کتابخانه برنامه‌نویسی، Zod و Zog، می‌پردازد. Zod، کتابخانه‌ای محبوب برای اعتبارسنجی طرح‌های داده به صورت پویا در زبان برنامه‌نویسی TypeScript است. از سوی دیگر، Zog نسخه‌ای مشابه با Zod است که برای زبان Go توسعه یافته تا امکان تعریف و اجرای اعتبارسنجی‌ها بر روی مقادیر و ساختارها را فراهم آورد. هر دو کتابخانه به توسعه‌دهندگان امکان می‌دهند تا اصول و قواعد اعتبارسنجی را برای داده‌ها تعریف کنند و از صحت آن‌ها در زمان اجرای برنامه اطمینان حاصل نمایند. برای دسترسی به کدها و پروژه‌های مربوط به این کتابخانه‌ها، به مخزن GitHub آنها ارجاع داده شده است. این کتابخانه‌ها به ویژه برای توسعه‌دهندگانی که به دنبال راه‌حل‌های موثر برای اعتبارسنجی داده‌ها در برنامه‌های خود هستند، مفید هستند.

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


👑 @gopher_academy
Forwarded from Agora (Alireza Azadi)
و این سایت بامزه که تو مقاله هم بهش اشاره شده، پدیده‌هایی رو لیست کرده که بدون اینکه هیچ ربطی به هم داشته باشن، شبیه به هم رفتار می‌کنن و همبستگی دارن. هدفش یادآوری اینه که correlation is not causation. این خطاییه که وقتی با کمبود اطلاعات یه پدیده رو تحلیل می‌کنیم، دچارش می‌شیم؛ خطایی که خیلی بیشتر از اون چیزی که به‌نظر میاد، رایجه.
#website


اگر این سایتو باز کنید برگی براتون نمیمونه 🙂‍↔️

استفاده کن و لذت ببر ؛)

musicforprogramming.net

🚀 @CoolyCode
هر موقع بحث پیش میاد و حرفی راجع به رفتار برنامه‌نویس‌های تازه‌کار می‌زنی، یکی از یه سوراخی میاد بیرون میگه «شما فکر می‌کنید کی‌اید که صلاحیت نظر دادن دارید؟»
فقط به «تاریخ» این شل اسکریپتی که برای FreeBSD نوشتم نگاه کنید دستتون میاد :))

https://github.com/prp-e/JabirOS-compile

@DevTwitter | <Mohammadreza Haghiri/>