Forwarded from Gopher Academy
🔵 عنوان مقاله
Learn Go with Tests: An Online Book for Learning TDD with Go
🟢 خلاصه مقاله:
منبع مورد بحث در طی سال گذشته چندین بار بهروزرسانی شده و همچنان منبعی فوقالعاده برای فهم مبانی و موضوعات پیشرفتهتر نظیر بازتابی و جنریکها میباشد. این منبع با ارائه راهنماییهای جامع و قابل فهم، از اصول اولیه تا سطوح پیچیدهتر را پوشش داده و مورد استفاده قرار میگیرد و با بهروزرسانیهای دقیق، همواره مرتبط و کارآمد باقی مانده است.
🟣لینک مقاله:
https://golangweekly.com/link/171847/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Learn Go with Tests: An Online Book for Learning TDD with Go
🟢 خلاصه مقاله:
منبع مورد بحث در طی سال گذشته چندین بار بهروزرسانی شده و همچنان منبعی فوقالعاده برای فهم مبانی و موضوعات پیشرفتهتر نظیر بازتابی و جنریکها میباشد. این منبع با ارائه راهنماییهای جامع و قابل فهم، از اصول اولیه تا سطوح پیچیدهتر را پوشش داده و مورد استفاده قرار میگیرد و با بهروزرسانیهای دقیق، همواره مرتبط و کارآمد باقی مانده است.
🟣لینک مقاله:
https://golangweekly.com/link/171847/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
quii.gitbook.io
Learn Go with Tests | Learn Go with tests
Forwarded from DevTwitter | توییت برنامه نویسی
Forwarded from کانال مهرداد لینوکس
💔 خداحافظ Clear Linux عزیز👋🏻
توزیع لینوکس Clear Linux مبتنی بر x86_64
که توسط Intel با هدف یک سیستم عامل فوقالعاده سریع، سبک، و بهینهشده برای سختافزارهای Intel وحداکثر کارایی را از سختافزار توسعه داده میشد.
متوقف شد
✍🏻این توزیع out-of-the-box برای performance موارد زیر بود
بوت سریعتر
اجرای سریعتر برنامهها
مصرف بهینه CPU
استفاده از ویژگیهای پیشرفته CPUهای Intel (مانند AVX512)
اگر نمیدانید out-of-the-box بودن یک توزیع چیست پست قبلی خودم را بخوایند
🗓 اینتل در حال تغییر تمرکز سرمایهگذاری و منابع خود در حوزهی نرمافزارهای متنبازه
به نظر میرسه قصد داره روی ابزارهای کمحجمتر یا پروژههای کلانتری شاید مثل:
oneAPI
AI/ML frameworks
ابزارهای مخصوص توسعهدهندگان ابری یا کلانداده
وقت بزاره باید دید
❓ چرا Intel این پروژه را به توزیعهای دیگر منتقل نکرد؟
همگرایی تکنولوژیک ساده نبود
Clear Linux ساختار بسیار خاص خودش را داشت:
سیستم بستهبندی اختصاصی (swupd)
بوت فوقسریع با systemd بهینهشده
معماری جداگانه برای bundleها
پچها و تنظیمات خاص در کرنل، glibc، و toolchain
منبع بیانه
@MehrdadLinuxchannel
توزیع لینوکس Clear Linux مبتنی بر x86_64
که توسط Intel با هدف یک سیستم عامل فوقالعاده سریع، سبک، و بهینهشده برای سختافزارهای Intel وحداکثر کارایی را از سختافزار توسعه داده میشد.
متوقف شد
✍🏻این توزیع out-of-the-box برای performance موارد زیر بود
بوت سریعتر
اجرای سریعتر برنامهها
مصرف بهینه CPU
استفاده از ویژگیهای پیشرفته CPUهای Intel (مانند AVX512)
اگر نمیدانید out-of-the-box بودن یک توزیع چیست پست قبلی خودم را بخوایند
🗓 اینتل در حال تغییر تمرکز سرمایهگذاری و منابع خود در حوزهی نرمافزارهای متنبازه
به نظر میرسه قصد داره روی ابزارهای کمحجمتر یا پروژههای کلانتری شاید مثل:
oneAPI
AI/ML frameworks
ابزارهای مخصوص توسعهدهندگان ابری یا کلانداده
وقت بزاره باید دید
❓ چرا Intel این پروژه را به توزیعهای دیگر منتقل نکرد؟
همگرایی تکنولوژیک ساده نبود
Clear Linux ساختار بسیار خاص خودش را داشت:
سیستم بستهبندی اختصاصی (swupd)
بوت فوقسریع با systemd بهینهشده
معماری جداگانه برای bundleها
پچها و تنظیمات خاص در کرنل، glibc، و toolchain
منبع بیانه
@MehrdadLinuxchannel
Forwarded from Linuxor ?
اگه تا حالا تلاش کردی شغل ریموت پیدا کنی و فقط به یه سری فرم طولانی و نتیجه صفر رسیدی این ریپو یه از لیست شرکتای ریموتدوست تا تاکتیک مصاحبه رو جمع کرده (خارج ایران).
github.com/lukasz-madon/awesome-remote-job
@Linuxor
github.com/lukasz-madon/awesome-remote-job
@Linuxor
Forwarded from tiivik️
⭕️ابزار Darkdump جستجوی اطلاعات در دارکنت
📌این سرویس به کاربر اجازه میدهد تا یک عبارت جستجو وارد کند و سپس جمعآوری دادهها را از سایتهای onion مرتبط با آن عبارت انجام میدهد.
📌در فرآیند اسکن، Darkdump سعی میکند دادههای زیر را استخراج کند: ایمیلها، فرادادهها (متادیتا)، کلمات کلیدی، تصاویر، اطلاعات شبکههای اجتماعی و غیره.
🆔@tiivik
📌این سرویس به کاربر اجازه میدهد تا یک عبارت جستجو وارد کند و سپس جمعآوری دادهها را از سایتهای onion مرتبط با آن عبارت انجام میدهد.
📌در فرآیند اسکن، Darkdump سعی میکند دادههای زیر را استخراج کند: ایمیلها، فرادادهها (متادیتا)، کلمات کلیدی، تصاویر، اطلاعات شبکههای اجتماعی و غیره.
🆔@tiivik
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
با نکاتی که بالاتر تو پیامام بهتون گفتم دیگه امکان اینکه به پروژه اول و تجربه اولتون نرسید خیلی کمه (ولی همچنان اگه مشکلی هست من پشتتون هستم)
ولی وقتی میرسید به پروژه اول
این موارد باعث استرس میشه براتون:
ترس از شکست خوردن
فشار برای اثبات خودت
نابلدی با ابزارها و تکنولوژیها
ابهام در خواستهها یا نیازمندیها
ترس از سوال پرسیدن
کمالگرایی
فشار زمانی و ددلاین
ترس از نظر بقیه
نبود تجربه در شکستن تسکها
عدم اطمینان به تصمیمات فنی
کوتاه مختصر مفید و درجه یک برا همشون راه حل بدم بهتون:
ولی وقتی میرسید به پروژه اول
این موارد باعث استرس میشه براتون:
ترس از شکست خوردن
فشار برای اثبات خودت
نابلدی با ابزارها و تکنولوژیها
ابهام در خواستهها یا نیازمندیها
ترس از سوال پرسیدن
کمالگرایی
فشار زمانی و ددلاین
ترس از نظر بقیه
نبود تجربه در شکستن تسکها
عدم اطمینان به تصمیمات فنی
کوتاه مختصر مفید و درجه یک برا همشون راه حل بدم بهتون:
Forwarded from Frontend with Erfun👨🏻💻 (Erfun Ghodoosi)
جواب و راه حل برای تک تک مشکلات بالا 👆🏻
ویس کاملا یهویی و بدون برنامه ریزی قبلی.
کاملا صادقانه از دل تجربه هام😁❤️
ویس کاملا یهویی و بدون برنامه ریزی قبلی.
کاملا صادقانه از دل تجربه هام😁❤️
Forwarded from DevTwitter | توییت برنامه نویسی
تو ۳ روز اول، SmartStepper بیش از ۴۰ تا روی GitHub گرفت!
چند روز پیش SmartStepper v2 رو منتشر کردم — یه پکیج کوچک برای ساختن فرمهای چندمرحلهای هوشمند در React.
خیلی زودتر از چیزی که فکر میکردم مورد توجه قرار گرفت و تو ۳ روز اول، به ۴۰ تا ستاره رسید.
چرا فکر میکنم این اتفاق مهمه؟
- چون جامعه توسعهدهنده ها به یه مشکل جدی در فرمهای چندمرحلهای واکنش نشون دادن:
پیچیدگی مدیریت مرحلهها، اعتبارسنجیها، و جداسازی UI از logic.
- چون باعث شد بفهمم حتی یه ابزار ساده، اگه درست طراحی بشه و نیاز واقعی رو حل کنه، میتونه دیده بشه.
- و چون بهم انگیزه داد که مسیر اوپنسورس رو جدیتر دنبال کنم.
این SmartStepper یه کانفیگ مرکزی میگیره که orchestration، validation و view رو کنترل میکنه.
سورسکد:
https://github.com/Miladxsar23/smartstepper
دمو:
https://codesandbox.io/p/sandbox/g8g8c7
@DevTwitter | <Milad Shirian/>
چند روز پیش SmartStepper v2 رو منتشر کردم — یه پکیج کوچک برای ساختن فرمهای چندمرحلهای هوشمند در React.
خیلی زودتر از چیزی که فکر میکردم مورد توجه قرار گرفت و تو ۳ روز اول، به ۴۰ تا ستاره رسید.
چرا فکر میکنم این اتفاق مهمه؟
- چون جامعه توسعهدهنده ها به یه مشکل جدی در فرمهای چندمرحلهای واکنش نشون دادن:
پیچیدگی مدیریت مرحلهها، اعتبارسنجیها، و جداسازی UI از logic.
- چون باعث شد بفهمم حتی یه ابزار ساده، اگه درست طراحی بشه و نیاز واقعی رو حل کنه، میتونه دیده بشه.
- و چون بهم انگیزه داد که مسیر اوپنسورس رو جدیتر دنبال کنم.
این SmartStepper یه کانفیگ مرکزی میگیره که orchestration، validation و view رو کنترل میکنه.
سورسکد:
https://github.com/Miladxsar23/smartstepper
دمو:
https://codesandbox.io/p/sandbox/g8g8c7
@DevTwitter | <Milad Shirian/>
Forwarded from فَرازُم
این دوستمون یه ابزاری ساخته که پروکسی از کانال های مختلف جمع میکنه و اگه سالم باشن تو کانال قرار میده:
@faraz_proxy
@faraz_proxy
Forwarded from Linuxor ?
ابزار Nushell فقط یه ترمینال شیک نیست، یه data shell هم هست. مثلاً میتونی خروجی یه دستور رو بهجای متن ساده به جدول تبدیل کنی، روش query بزنی، یا مستقیم به فرمت CSV/JSON/PARQUET خروجی بگیری.
این یعنی اگه با log، فایلهای دیتا، یا خروجی API سروکار داری، خیلی وقتا دیگه نیاز به Python و jq نداری.
nushell.sh
@Linuxor
این یعنی اگه با log، فایلهای دیتا، یا خروجی API سروکار داری، خیلی وقتا دیگه نیاز به Python و jq نداری.
nushell.sh
@Linuxor
Forwarded from a pessimistic researcher (Kc)
یا حتی اینو
( در مورد این مقاله یه پست قبلا نوشتم بخونید)
( در مورد این مقاله یه پست قبلا نوشتم بخونید)
Forwarded from DevTwitter | توییت برنامه نویسی
چطور در معماری میکروسرویس، از ناهماهنگی بین دیتابیس و Message Broker جلوگیری کنیم؟
یکی از چالشهای رایج در میکروسرویسها، تضمین هماهنگی داده (Data Consistency) بین عملیات دیتابیس و ارسال پیام (Event) است.
سناریوی آشنای مشکلساز:
سرویس
1. سفارش جدید در دیتابیس ذخیره میشود. (موفق)
2. قرار است یک رویداد
نتیجه: سفارش در سیستم ثبت شده، اما به دلیل قطعی موقت در Message Broker، ایمیل تأیید هرگز ارسال نمیشود! این یعنی یک ناهماهنگی جدی در سیستم.
راهحل: الگوی Outbox Pattern
الگوی Outbox یک راهحل زیبا و قابل اعتماد برای این مشکل است. به جای ارسال مستقیم پیام، آن را در یک جدول به نام
چرا این روش کار میکند؟
چون ذخیره سفارش و ذخیره پیام در جدول `outbox`، هر دو در یک تراکنش اتمیک (Atomic Transaction) انجام میشوند. این یعنی یا هر دو با هم موفق میشوند یا هر دو با هم شکست میخورند. به این ترتیب، هیچ رویدادی گم نخواهد شد!
سپس، یک پردازشگر پسزمینه (Message Relay) مسئول خواندن پیامها از جدول
من یک پیادهسازی تقریبا کاملی از این الگو انجام دادهام
میتونید در پروژه خودتون استفاده کنید. اگر پیشنهادی در راستای کامل تر شدنش دارید خوشحال میشم در میان بذارید.
مشاهده پروژه در گیتهاب:
https://github.com/mahdim1000/templates-spring-outbox-pattern
@DevTwitter | <Mahdi M./>
یکی از چالشهای رایج در میکروسرویسها، تضمین هماهنگی داده (Data Consistency) بین عملیات دیتابیس و ارسال پیام (Event) است.
سناریوی آشنای مشکلساز:
سرویس
سفارش (Order) را در نظر بگیرید:1. سفارش جدید در دیتابیس ذخیره میشود. (موفق)
2. قرار است یک رویداد
OrderCreated به Kafka یا RabbitMQ ارسال شود تا سرویس نوتیفیکیشن به کاربر ایمیل بزند. (ناموفق)نتیجه: سفارش در سیستم ثبت شده، اما به دلیل قطعی موقت در Message Broker، ایمیل تأیید هرگز ارسال نمیشود! این یعنی یک ناهماهنگی جدی در سیستم.
راهحل: الگوی Outbox Pattern
الگوی Outbox یک راهحل زیبا و قابل اعتماد برای این مشکل است. به جای ارسال مستقیم پیام، آن را در یک جدول به نام
outbox در همان دیتابیس و داخل همان تراکنش ذخیره میکنیم.چرا این روش کار میکند؟
چون ذخیره سفارش و ذخیره پیام در جدول `outbox`، هر دو در یک تراکنش اتمیک (Atomic Transaction) انجام میشوند. این یعنی یا هر دو با هم موفق میشوند یا هر دو با هم شکست میخورند. به این ترتیب، هیچ رویدادی گم نخواهد شد!
سپس، یک پردازشگر پسزمینه (Message Relay) مسئول خواندن پیامها از جدول
outbox و ارسال مطمئن آنها به Message Broker است.من یک پیادهسازی تقریبا کاملی از این الگو انجام دادهام
میتونید در پروژه خودتون استفاده کنید. اگر پیشنهادی در راستای کامل تر شدنش دارید خوشحال میشم در میان بذارید.
مشاهده پروژه در گیتهاب:
https://github.com/mahdim1000/templates-spring-outbox-pattern
@DevTwitter | <Mahdi M./>
Forwarded from Linuxor ?
اگه خواستی بفهمی یه زبان رو واقعا فهمیدی یا نه باید بتونی توش ماژول و کتابخونه بسازی! توی پایتون ساختن کتابخونه ممکنه برای تازه کار ها گیج کننده باشه راهکارش اینه که بیان از ابزاری مثل Poetry استفاده کنن که کار رو براشون راحت تر میکنه مثلا دیگه نیاز نیست با setup.py و MANIFEST.in و بقیه قصهها درگیر شی یا اینکه چطوری پکیج رو توی PyPI مستندات Poetry رو بخونید همهچی دستتون میآد :
python-poetry.org/docs
@Linuxor
python-poetry.org/docs
@Linuxor
Forwarded from Unlocking Software Verification
CAV 2025
Computer Aided Verification
Deadline : 31 January
Conference : 21 - 25 July
Location : Zagreb, Croatia
websire : https://conferences.i-cav.org/2025/
#conference #CAV
Computer Aided Verification
Deadline : 31 January
Conference : 21 - 25 July
Location : Zagreb, Croatia
websire : https://conferences.i-cav.org/2025/
#conference #CAV
Forwarded from a pessimistic researcher (Kc)
آقا اگر از اصحاب کسی CAV رو شرکت میکنه، من و مهیار از فردا تا شنبه هفته دیگه زاگرب هستیم و اگر دوست داشت میتونیم با هم یه سری به واینلند بزنیم :)