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 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 اولین وظایفی که تعریف کردیم که اینکه تم قدیمی TaskPire را به تم جدید (Preline UI) تغییر دهیم و پنل کاربری را باز طراحی کنیم.

@TheRaymondDev
Forwarded from 🎄 یک برنامه نویس تنبل (Lazy 🌱)
🔶 اولین وظایفی که تعریف کردیم که اینکه تم قدیمی TaskPire را به تم جدید (Preline UI) سازمانی تغییر دهیم و پنل کاربری را باز طراحی کنیم.

@TheRaymondDev
Forwarded from Linuxor ?
سایت دیوار گویا هک شده !

وقتی سرچ می‌کنید خرید فلش دیوار یا مثلا خرید بخاری یا خرید هر چیزی تایتل سایت یه سایت چینی 新华网 می‌اره (که یه سایت خبری چینیه)

با پشتیبانی دیوار متاسفانه نتونستم تماس بگیرم ولی گویا عامل هک رو برطرف کردن چون این متن 新华网 داخل element های سایتشون نیست. همچنین با Agent گوگل هم درخواست رو شبیه سازی کردم و چیزی ندیدم یعنی این متن ایندکس شده از قبله و عامل هک احتمالا برطرف شده. امیدوارم که همینطور بوده باشه و برطرف شده باشه اگر توضیحات فنی در این باره دارید یا در دیوار مشغول توسعه هستید توضیحاتتون رو ارائه کنید به صورت عمومی منتشرش کنیم تا این اتفاق برای بقیه کسب و کار ها تکرار نشه.



@Linuxor
Forwarded from AiSegaro 👾
Media is too big
VIEW IN TELEGRAM
🚨🤯 پرونده‌های ۱۱ سپتامبر: از پنهان‌کاری تا تئوری توطئه! برج ۷ چرا فروریخت؟ چه کسی از حمله سود برد و چرا آوارها به آسیا منتقل شدند؟! ✈️

🎥قسمت چهارم

این قسمت چهارم از مستند افشاگرانه "پرونده‌های ۱۱ سپتامبر"، به بررسی جنجالی‌ترین تئوری‌های توطئه پیرامون حملات ۱۱ سپتامبر می‌پردازد. تاکر کارلسون در این اپیزود، سوالات بدون پاسخ کمیسیون ۹/۱۱ درباره فروریختن ساختمان ۷ (WTC 7) بدون برخورد هواپیما، انتقال فوری آوارها به خارج از کشور، و همچنین وجود معاملات سهام "پوت آپشن" لحظاتی قبل از حملات را زیر ذره‌بین می‌برد. آیا دولت آمریکا عامدانه زمینه را برای رشد تئوری‌های توطئه فراهم کرد؟

📽 زیرنویس فارسی
🧠 مناسب برای همه، چه مبتدی چه حرفه‌ای
🌐 ترجمه این ویدیو با وب‌سایت isega.ro انجام شده — حتماً سر بزن!
📌 برای دیدن قسمت‌های بعدی کانال رو دنبال کن:
📺🌐 @AiSegaro
🚀 هر روز یک قدم نزدیک‌تر به آینده‌ای هوشمند!
📤 بازنشر آزاد با ذکر منبع 🙏❤️
Forwarded from  (امیرحسین پناهےفر)
چند هفته پیش، موقع کار با Go به یه deadlock کلاسیک برخوردم :)
fatal error: all goroutines are asleep - deadlock

حرف های متین در رابطه با deadlock و semaphore به همراه این تجربه من، باعث شد کمی کنجکاوی کنم...

فرض کن یه workload داری که حدود %90 زمانش صرف I/O-bound tasks میشه و فقط %10 CPU-bound داره.
اگر برای هر task یه thread جدا بسازی، بیشتر threadها بلاک میشن و CPU عملاً idle میمونه. حتی ساختن هزاران thread هم باعث memory overhead، frequent context switch و cache eviction میشه و در نهایت throughput واقعی پایین میاد.

اینجا داشتم به مدل event-driven / async I/O فکر میکردم که فوق‌العاده جواب میده فقط با چند thread واقعی میتونی هزاران task I/O-bound رو همزمان مدیریت کنی. وقتی یه task منتظر I/O هست، thread میره سراغ task بعدی و CPU بلاک نمیشه. تو node.js با libuv یا Rust با tokio یا هر مدل event-loop، تمام I/Oها تو event queue باقی میمونن و وقتی آماده شدن، callback یا future اجرا میشه. نتیجه؟ high throughput، low memory footprint، predictable tail latency و تقریباً هیچ deadlock کلاسیکی رخ نمیده D:

برای CPU-bound tasks، اگر تعداد taskها بدون محدودیت باشه، oversubscription اتفاق میفته و frequent context switch باعث میشه throughput واقعی پایین بیاد. استفاده از Worker Pool یا semaphore، concurrency رو کنترل میکنه و CPU همیشه نزدیک %100 utilization کار میکنه.

نکته کلیدی درباره deadlock و race condition: deadlock اینه وقتی رخ میده که taskها منتظر هم باشن مدل event-driven این مشکل رو تقریباً حذف میکنه. اما race condition روی shared state هنوز ممکنه، که با atomic operation یا mutex-like constructs میشه کنترلش کرد.

پی‌نوشت: از go سر یه چیزاش بدم میاد ولی خب، از طرفی بعضی وقتا دوسش دارم :))
اَحپِف‌اِیْسم 🍋
Forwarded from  (امیرحسین پناهےفر)
دیروز با حسین درباره‌ی ایده‌ی اجرای یک معماری ۳ تا مستر و ۲ تا رپلیکا با mysql صحبت میکردیم.
هدف این بود که high availability و read scalability رو هم‌زمان داشته باشیم ولی هرچی جلوتر رفتیم، چالش‌های جذابی رو فهمیدیم. D:

چیز هایی که یادم مونده رو باهاتون به اشتراک میذارم.

در باب Split-Brain وقتی سه مستر داری، quorum حیاتی میشه.
اگر یکی از نودها از cluster جدا بشه و هر دو طرف خودشون رو «اصلی» فرض کنن، داده split میشه.
حتی Group Replication با majority vote هم اگه latency بالا باشه، ممکنه از sync quorum بیفته.

وقتی Replication در سطح binlog روی TCP انجام میشه، و هر میلی‌ثانیه تأخیر میتونه باعث افزایش replication lag بشه.
در WAN setups، packet loss باعث time drift در replication queue میشه و consistency به هم میریزه.

نکته مهم async replicas در لحظه‌ی failover، تضمین ACID ندارن.
ممکنه replication thread هنوز ناهماهنگ باشه.
راه‌حل هایی که بعد صحبت مون بررسی کردم semi-sync یا binlog position fencing هنگام switchover بودن

تشخیص لحظه‌ی سقوط نود باید سریع باشه، ولی نه اونقدر سریع که false positive بده.
,واسه ProxySQL health-checkها باید با grace period تنظیم کرد تا transient network glitch باعث promotion اشتباه نشه.

من برام atomic بکاپ از قبل گفت و گو مون خیلی منو به فکر برد که گزینه ای که مطرح کردم LVM snapshot بودش ولی بدون coordination با replication، snapshot ممکنه نیمه‌نوشته بشه.

در رابطه با چالش async replication بین replica ها باعث write skew میشه.
یعنی یک query ممکنه داده‌ای رو بخونه که در replica هنوز sync نشده.

در سطح اپیکیشن واسه مایگریشن اشاره کردیم وقتی چند مستر داری باید idempotent و deterministic باشه.
که من liquibase رو به وسط آوردم که باید state-aware باشه در غیر این صورت دو نود همزمان schema conflict میزنن

من واسه تست سیستم در سطح web api به k6 اشاره کردم تا تست رو به real DB hook بشه تا latency propagation رو دیده شه و برای DB-level، replication lag و lock contention توی متریک‌ های Prometheus قابل دیدن باشه.

واسه DR plan به نظرم باید با off-site snapshot replication کار کنه...
به خاطر همین DRBD یا minio برای block-level mirror یا snapshot sync گزینه‌ های انتخابیم بودن.

واسه coordination و auto election در multi-master، consensus layer به Raft اشاره شد که برای خود من خیلی جذابه. در رابطه با انتخابات election latency ممکنه تا چند ثانیه طول بکشه اگر در اون زمان write انجام بشه میتونه inconsistency بشه.

و پایان گفت و گو مون حسین به Write-Ahead Log نتفلكس اشاره کرد قبل از replication log نوشته میشه تا durability حفظ بشه. لینک استوری مدیومی که برام فرستاد رو میذارم اگه دوست داشتید مطالعه کنید.

و در آخر عرضی نیست :)
اَحپِف‌اِیْسم 🍋
Forwarded from یه شعر (Poem Bot)
مولانا | دیوان شمس | رباعیات | رباعی شمارهٔ ۵۷۶

بخشای بر آن بنده که خوابش نبود
بخشای بر آن تشنه که آبش نبود
بخشای که هر کاو نکند بخشایش
در پیش خدا هیچ ثوابش نبود

#مولانا | گنجور
📍@iipoem
Forwarded from Gopher Academy
🔵 عنوان مقاله
The “10x” Commandments of Highly Effective Go

🟢 خلاصه مقاله:
** مقاله با تمثیلی شوخ‌طبعانه، «ده فرمان» برای توسعه‌دهندگان Go ارائه می‌کند؛ نه چیزِ تازه، بلکه ده راهنمای کلی و کاربردی برای نوشتن کد ساده، خوانا و قابل نگه‌داری. محورهای اصلی شامل سادگی و خوانایی، اینترفیس‌های کوچک، مدیریت صریح خطا، همزمانی قابل پیش‌بینی با goroutine و channel، سازمان‌دهی درست پکیج‌ها، تست و بنچمارک، مستندسازی و بهینه‌سازی مبتنی بر اندازه‌گیری است. هر اصل با نمونه‌های عملی در GoLand همراه شده: استفاده از inspections برای شناسایی کد غیر‌ idiomatic، refactor به سمت اینترفیس‌های کوچک، الگوهای آماده برای error handling، اجرای تست و بنچمارک، دیباگ همزمانی، یکپارچه‌سازی linters و پروفایلینگ برای سنجش کارایی. برچسب «10x» فقط کمکی برای به‌خاطر سپردن است؛ پیام اصلی این است که با تکیه بر عادت‌های درست و بهره‌گیری از GoLand، انجام کار درست آسان‌تر می‌شود.

#Go #Golang #GoLand #SoftwareEngineering #BestPractices #Testing #Refactoring #Productivity

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


👑 @gopher_academy
حالا برنامه سازی پیشرفته رو با سی‌شارپ نمی‌دونم کجای دلم بذارم.
مشکلم سی‌شارپ نیستا، مشکلم اون ویندوز فرمه :)))

امیدوارم جی‌تی‌کی قبول کنن ازم.

https://github.com/gircore/gir.core

@DevTwitter | <Sohrab Behdani/>
پروژه PINCE یک ابزار مهندسی معکوس روی GDB هستش که تمرکز اصلیش روی بازی هاست.

قابلیت هایی شبیه به CheatEngine داره از جمله: اسکن مموری، مشاهده و تغییر مقدار متغیرها، دیباگ کردن، Code Injection، قابلیت تعامل با GDB و قابلیت توسعه از طریق فایلهای so.

https://github.com/korcankaraokcu/PINCE

@DevTwitter | <OnHexGroup/>
یک pipeline واحد برای همه چیز در Kubernetes!
‏Fatih Koç توی این پست نشون میده چطور با OpenTelemetry می‌تونیم لاگ، متریک و تراس رو در یک مسیر جمع کنیم و از alert تا root cause فقط چند ثانیه فاصله بگیریم.
اگر با observability و incident response سر و کار داری، این مقاله رو از دست نده 👇

🔗 Building a Unified OpenTelemetry Pipeline in Kubernetes


#DevOps
#kubernetes
#byteforge
@byteforge_chan 🛸



https://fatihkoc.net/posts/opentelemetry-kubernetes-pipeline
Forwarded from Go Casts 🚀
عبور از ۱۰۰۰ مشارکت کننده 🔡

خیلی خیلی ممنون از اعتماد و همراهی تون ❤️

ان شاءالله که بتونیم جواب اعتمادتون به GoCasts رو بدیم.

۵۰ درصد + ۱.۵ میلیون تومان تخفیف به همین مناسبت تقدیم به شما
کد تخفیف
G1000

دوره +‌ تیمسازی بکند و گولنگ Go Casts
خرید از سایت
https://gocasts.ir

همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://t.iss.one/gocasts/434

تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://t.iss.one/gocasts/441

دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4


@gocasts
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Gopher Academy
🔵 عنوان مقاله
Subtest Grouping in Go

🟢 خلاصه مقاله:
این مقاله از Golang Weekly توضیح می‌دهد چگونه با استفاده از T.Run در بسته testing می‌توان زیر‌آزمون‌ها را گروه‌بندی کرد تا تست‌های بزرگ و Table-Driven خواناتر، قابل نگهداری‌تر و قابل فیلترشدن شوند. با نام‌گذاری سلسله‌مراتبی مثل "Parser/Valid" یا "Auth/Admin/Permissions" می‌توان با go test -run فقط یک گروه یا یک مورد خاص را اجرا کرد و همان الگو برای Benchmarks با B.Run نیز کاربرد دارد. مزیت دیگر این الگو، مدیریت ساده‌تر Setup/Teardown با تکیه بر Closure و t.Cleanup و همچنین امکان موازی‌سازی امن با t.Parallel است. مقاله بر نام‌های شفاف، پرهیز از وضعیت مشترک قابل تغییر، گروه‌های منسجم، و استفاده از t.Helper برای ساده‌سازی تأکید می‌کند؛ ضمن اینکه خروجی ساخت‌یافته تست‌ها با -json و ابزارها/IDEها به‌خوبی یکپارچه می‌شود و عیب‌یابی و سرعت توسعه را بهبود می‌دهد.

#Go #Golang #Testing #Subtests #GoTesting #GolangWeekly #SoftwareTesting

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


👑 @gopher_academy
Forwarded from Linuxor ?
توضیحات یکی از بچه های دیوار در رابطه با این اتفاق


@Linuxor
Forwarded from Mr Python | مستر پایتون (حسین)
🟣 اسمبلی x86 - قسمت 12 : حالت های آدرس دهی 8086

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

Aparat : https://www.aparat.com/v/doydpzf
Youtube : https://youtu.be/m7hnZgot5uw

🆔 : @MrPythonBlog | BOOST
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
میدونیم قهوه ی نوشیدنی سلیقه ایه،
یکی طعم تلخ و سنگین می‌خواد، یکی عطر ملایم و شیرین. ما فکر کردیم چرا هر کس ترکیب خودش رو نسازه؟

ویژگی جدید سایت قهوه گنو: 🥳
می‌تونی دانه‌ها، درصدها و خاستگاه های مورد علاقه‌ت رو خودت انتخاب کنی و ترکیب مخصوص خودت رو بسازی: 👇

🌐 https://gnu.coffee/shop/my-coffee-blend


یا اگه اهل تست طعم‌های خاص هستی،
قهوه‌های ترکیبی ما رو امتحان کن تا طعم های خاص تر رو‌ تجربه کنی 😎 👇


🌐 https://gnu.coffee/product-category/blended-coffee


ارتباط با ما:
@gnu_coffee
قابلیت جدید OpenAI در ChatGPT: دسترسی مستقیم به داده‌های شرکتی از Slack، Google Drive و GitHub! پاسخ‌های دقیق‌تر و شفاف‌تر با تمرکز بر امنیت.

https://venturebeat.com/ai/openai-launches-company-knowledge-in-chatgpt-letting-you-access-your-firms

@DevTwitter | <sam/>
Forwarded from Ninja Learn | نینجا لرن (Mohammad)
مغزم نمیمغزه برای پست
Forwarded from Gopher Academy
🔵 عنوان مقاله
the results of its latest 'State of Developer Ecosystem Report'

🟢 خلاصه مقاله:
خلاصه تازه‌ترین State of Developer Ecosystem Report نشان می‌دهد Go در شاخص Language Promise Index رتبه چهارم و در فهرست "languages developers want to adopt next" رتبه نخست را کسب کرده است. این نتایج از رشد چشمگیر و علاقه بالای توسعه‌دهندگان به Go حکایت دارد؛ زبانی ساده، سریع و مناسب برای کارهای cloud-native، microservices و زیرساخت که انتظار می‌رود حضورش در پروژه‌های واقعی و مسیرهای یادگیری و استخدام بیشتر شود.

#Go #golang #DeveloperEcosystem #DeveloperSurvey #ProgrammingLanguages #LanguageTrends #SoftwareEngineering

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


👑 @gopher_academy
بهترین نکته در مورد
ChatGpt Atlas
که بمیرم هم نصب نمی‌کنم بعنوان کسی که هم AI کار کرده هم امنیت.

از مشکلات، privacy و امنیتش بگذرم این بود که!

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

جانم؟
مگه سم‌آلتمن و ... نبودند گفتند با این نسخه می‌شه کارهای software engineer هارو انجام داد؟
خب الان دوتا سوال دارم:

۱- برای توسعه ۴ تا فیچر احمقانه که نمونه کدهای ورژن ساده‌اش همه جا هست، چرا تیم توسعه دهنده تشکیل دادید؟

۲- اگر انقدر نتایج روی آنچه خود تیم openai تسک‌های واقعی software engineering اسم می‌ذاره خوب هست!
چرا یک fork از chromium گرفتید که حالا به هر دلیلی بدنامی chrome رو دنبال خودش داره ؟

آها شاید openai پول کافی برای شارژ تعداد توکن مورد نیاز جهت توسعه این محصول رو نداره، بازم زود قضاوت کردم.


شارلاتان تر از سم آلتمن دنیا به خودش ندیده؛ آدمای درست رو دنبال کنید که openai رو ساختند :

John Schulman, Ilya Sutskever, Dario Amodei, ...

و تورو به اعتقاداتتون دست بردارید از این سوالا که من تازه برنامه‌نویسی رو شروع کنم، بنچمارک جدید مدل فلان شده ۹۰٪ نمی‌دونم ....

ازین پیاما به من ندید!
بکشید بیرون از اینستاگرام!
👍1
اگر یه ویجت سبک و ساده میخواهید که ترافیک و سرعت رفت و آمد اطلاعات و همچنین مصرف cpu و RAM رو توی تسکبار ویندوز نشون بده با کوچیک ترین مصرف منابع ممکن از trafficMonitor استفاده کنید:
https://github.com/zhongyang219/TrafficMonitor

@DevTwitter | <Mr.../>