Forwarded from Database Labdon
🔵 عنوان مقاله
1. Life Altering Postgres Patterns
🟢 خلاصه مقاله:
مقالهای که بررسی شده حاوی دوازده نکته و بینش کلیدی است که نویسنده از تجربیات واقعی خود در زمینه برنامهنویسی و مدیریت پایگاه داده به دست آورده است. این نکات شامل استفاده از UUID به عنوان کلیدهای اصلی، نحوه نامگذاری جداول، استفاده از اسکیماها و دیدگاهها (views) میباشد. نویسنده تاکید دارد که این توصیهها بر پایه تجربیات سخت و عملی او شکل گرفتهاند و میتوانند به عنوان راهنمایی مفید برای توسعهدهندگان نرمافزار عمل کنند. این مقاله نه تنها نکات تخصصی و فنی مرتبط با مسائل فناوری اطلاعات را پوشش میدهد، بلکه به چگونگی بهینهسازی کار با پایگاه دادهها و افزایش کارایی در زمینه برنامهنویسی نیز میپردازد. این راهنماییها برای هر توسعهدهندهای که به دنبال بهبود مهارتهای خود در این زمینه است، ارزشمند است.
🟣لینک مقاله:
https://postgresweekly.com/link/171599/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
1. Life Altering Postgres Patterns
🟢 خلاصه مقاله:
مقالهای که بررسی شده حاوی دوازده نکته و بینش کلیدی است که نویسنده از تجربیات واقعی خود در زمینه برنامهنویسی و مدیریت پایگاه داده به دست آورده است. این نکات شامل استفاده از UUID به عنوان کلیدهای اصلی، نحوه نامگذاری جداول، استفاده از اسکیماها و دیدگاهها (views) میباشد. نویسنده تاکید دارد که این توصیهها بر پایه تجربیات سخت و عملی او شکل گرفتهاند و میتوانند به عنوان راهنمایی مفید برای توسعهدهندگان نرمافزار عمل کنند. این مقاله نه تنها نکات تخصصی و فنی مرتبط با مسائل فناوری اطلاعات را پوشش میدهد، بلکه به چگونگی بهینهسازی کار با پایگاه دادهها و افزایش کارایی در زمینه برنامهنویسی نیز میپردازد. این راهنماییها برای هر توسعهدهندهای که به دنبال بهبود مهارتهای خود در این زمینه است، ارزشمند است.
🟣لینک مقاله:
https://postgresweekly.com/link/171599/web
➖➖➖➖➖➖➖➖
👑 @Database_Academy
❤2
Forwarded from omid trade 360
🔵 عنوان مقاله
Aave TVL 50% greater than Revolut's (1 minute read)
🟢 خلاصه مقاله:
مقاله حاضر، به بررسی و مقایسه Aave و Revolut میپردازد که دو سازمان مالی در عرصههای متفاوت هستند. Aave، یک پلتفرم وام دهی غیرمتمرکز است که بر بستر بلاکچین فعالیت میکند، در حالی که Revolut یک شرکت فناوری مالی است که خدمات بانکی و تبدیل ارز را ارائه میدهد. بر اساس این مقاله، میزان کل ارزش قفلشده (TVL) در Aave، تقریباً 50 درصد بیشتر از داراییهای تحت مدیریت (AUM) در Revolut است. این تفاوت عمده ارزش نشاندهنده پذیرش گستردهتر و اعتماد بیشتر به پلتفرمهای مالی بلاکچین مانند Aave در مقابل روشهای سنتیتر مدیریت دارایی است که توسط شرکتهایی مانند Revolut انجام میشود. این خلاصه برجسته کردن این تفاوت اساسی میان دو مدل تجاری و نقش تکنولوژیهای نوین در تحول عرصه مالی را در بر دارد.
🟣لینک مقاله:
https://threadreaderapp.com/thread/1931735079098921341.html?utm_source=tldrcrypto
➖➖➖➖➖➖➖➖
👑 @omidtrade360
Aave TVL 50% greater than Revolut's (1 minute read)
🟢 خلاصه مقاله:
مقاله حاضر، به بررسی و مقایسه Aave و Revolut میپردازد که دو سازمان مالی در عرصههای متفاوت هستند. Aave، یک پلتفرم وام دهی غیرمتمرکز است که بر بستر بلاکچین فعالیت میکند، در حالی که Revolut یک شرکت فناوری مالی است که خدمات بانکی و تبدیل ارز را ارائه میدهد. بر اساس این مقاله، میزان کل ارزش قفلشده (TVL) در Aave، تقریباً 50 درصد بیشتر از داراییهای تحت مدیریت (AUM) در Revolut است. این تفاوت عمده ارزش نشاندهنده پذیرش گستردهتر و اعتماد بیشتر به پلتفرمهای مالی بلاکچین مانند Aave در مقابل روشهای سنتیتر مدیریت دارایی است که توسط شرکتهایی مانند Revolut انجام میشود. این خلاصه برجسته کردن این تفاوت اساسی میان دو مدل تجاری و نقش تکنولوژیهای نوین در تحول عرصه مالی را در بر دارد.
🟣لینک مقاله:
https://threadreaderapp.com/thread/1931735079098921341.html?utm_source=tldrcrypto
➖➖➖➖➖➖➖➖
👑 @omidtrade360
Threadreaderapp
Thread by @lemiscate on Thread Reader App
@lemiscate: People are largely unaware that the AAVE TVL is approximately 50% larger than Revolut’s AUM. (According to their 2024 annual report) Current active loan size of Aave is also larger than all Revolut savin...…
Forwarded from Linux Labdon
من از ابزارهایی که ساده هستند، بیشتر استقبال میکنم. ابزارهایی مثل insomnia و Postman گاهی اوقات برای استفاده من که اغلب امنیتی هست overkill است. گاهی حتی با curl کارم راه میافتد.
ابزار http://voiden.md را امروز دیدم و سبک متفاوتی دارد.
شاید آزمایش آن ایده بدی نباشد.
<VAHID NAMENI/>
ابزار http://voiden.md را امروز دیدم و سبک متفاوتی دارد.
شاید آزمایش آن ایده بدی نباشد.
<VAHID NAMENI/>
voiden.md
Voiden.md — The Offline, Git-Native API Workspace
Redefining how developers work with APIs. One Git-native, composable workspace. Offline-first. Markdown-powered. Developer-loved.
👍3❤2🍾1
Forwarded from AI Labdon
👤 در سرور آزمایشی تلگرام، یک بات رسمی شناسایی شده که سن کاربران را از طریق اسکن چهره و بدون نیاز به مدارک بررسی میکند.
احتمال دارد این روش در آینده برای دسترسی به برخی قابلیتهای خاص تلگرام مورد استفاده قرار گیرد.
🔞 جزئیات بیشتر درباره قابلیت «تأیید سن از طریق چهره» در تلگرام:
— تلگرام در حال راهاندازی سیستمی برای تأیید سن از طریق چهره است تا دسترسی به محتوای ۱۸+ در کانالها و گروهها را کنترل کند.
— این قابلیت ابتدا در انگلستان فعال میشود، زیرا طبق قانون جدید، سایتها و اپلیکیشنهایی که محتوای محدودشده منتشر میکنند، موظف به تأیید سن کاربران هستند. احتمال دارد این ویژگی بهزودی برای سایر کشورها نیز اعمال شود.
— محدوده سنی قابل تشخیص بین ۱۸ تا ۹۰ سال است.
— فقط چهره واقعی شما قابل قبول است — عکس یا تصویر از فرد، قابل شناسایی و مردود خواهد شد.
— نیازی به ارائه هیچ مدرکی نیست.
— دستگاه شما لازم نیست قابلیت Face ID داشته باشد.
— عکس چهرهی شما در تلگرام ذخیره نمیشود و این سیستم فقط با ایدی کد هر شخص کار میکند.
قابلیت تأیید سن با چهره در تلگرام فعلاً برای جلوگیری از دسترسی نوجوانان به محتوای +18 فعال شده، تا ذهن آنها در سنین حساس رشد، گرفتار تحریک زودهنگام و اعتیاد به دپامین کاذب نشود.
هدف این است که نوجوانان با ذهنی آزاد، سالم و توانمند وارد مسیر یادگیری و جامعه شوند، نه با ذهنی فرسوده و محدودشده به لذتهای زودگذر.
در آینده ممکن است این سیستم به مدیران اجازه دهد تا افراد زیر ۱۸ سال را از ارسال پیامهای توهینآمیز یا شرکت در بحثهای حساس مثل سیاست محدود کنند.
احتمال دارد این روش در آینده برای دسترسی به برخی قابلیتهای خاص تلگرام مورد استفاده قرار گیرد.
🔞 جزئیات بیشتر درباره قابلیت «تأیید سن از طریق چهره» در تلگرام:
— تلگرام در حال راهاندازی سیستمی برای تأیید سن از طریق چهره است تا دسترسی به محتوای ۱۸+ در کانالها و گروهها را کنترل کند.
— این قابلیت ابتدا در انگلستان فعال میشود، زیرا طبق قانون جدید، سایتها و اپلیکیشنهایی که محتوای محدودشده منتشر میکنند، موظف به تأیید سن کاربران هستند. احتمال دارد این ویژگی بهزودی برای سایر کشورها نیز اعمال شود.
— محدوده سنی قابل تشخیص بین ۱۸ تا ۹۰ سال است.
— فقط چهره واقعی شما قابل قبول است — عکس یا تصویر از فرد، قابل شناسایی و مردود خواهد شد.
— نیازی به ارائه هیچ مدرکی نیست.
— دستگاه شما لازم نیست قابلیت Face ID داشته باشد.
— عکس چهرهی شما در تلگرام ذخیره نمیشود و این سیستم فقط با ایدی کد هر شخص کار میکند.
قابلیت تأیید سن با چهره در تلگرام فعلاً برای جلوگیری از دسترسی نوجوانان به محتوای +18 فعال شده، تا ذهن آنها در سنین حساس رشد، گرفتار تحریک زودهنگام و اعتیاد به دپامین کاذب نشود.
هدف این است که نوجوانان با ذهنی آزاد، سالم و توانمند وارد مسیر یادگیری و جامعه شوند، نه با ذهنی فرسوده و محدودشده به لذتهای زودگذر.
در آینده ممکن است این سیستم به مدیران اجازه دهد تا افراد زیر ۱۸ سال را از ارسال پیامهای توهینآمیز یا شرکت در بحثهای حساس مثل سیاست محدود کنند.
❤3🕊2
Forwarded from AI Labdon
🔥چطور از این عکسا درست کنیم؟! به راحتی
📰وارد ChatGPT بشید و پرامپت زیر رو بهش بدید ، توی پرامپت باید مشخص کنید این عکسو واسه چه کشوری ایجاد کنه ؛)
A Close-Up Photograph Of A Large Map, All Landmarks Set On A Vintage (IRAN) Map Background Write The County Name With Capital Letters. As A Miniature 3D Landscape Is Sculpted Sand, Featuring Of Most Iconic And Famous Landmarks And Architectural From Same Country famous landmark (Azadi Tower and Milad Tower)
• And 3D Tiny Small Autumn Trees And Leaves Surround The Landmarks, Creating A Surreal, Cozy, Atmosphere.
📰وارد ChatGPT بشید و پرامپت زیر رو بهش بدید ، توی پرامپت باید مشخص کنید این عکسو واسه چه کشوری ایجاد کنه ؛)
A Close-Up Photograph Of A Large Map, All Landmarks Set On A Vintage (IRAN) Map Background Write The County Name With Capital Letters. As A Miniature 3D Landscape Is Sculpted Sand, Featuring Of Most Iconic And Famous Landmarks And Architectural From Same Country famous landmark (Azadi Tower and Milad Tower)
• And 3D Tiny Small Autumn Trees And Leaves Surround The Landmarks, Creating A Surreal, Cozy, Atmosphere.
🍾1
Forwarded from Bardia & Erfan
🤖 علاقهمند به دنیای هوش مصنوعی هستی؟
دنبال میکنی که چطور AI داره دنیا رو متحول میکنه؟
پس جای درستی اومدی!
🎯 در کانال ما هر روز:
🔍 جدیدترین اخبار و دستاوردهای دنیای AI
🧠 تحلیل تخصصی در حوزه یادگیری ماشین، دیپ لرنینگ و مدلهای زبانی
💼 بررسی کاربردهای هوش مصنوعی در پزشکی، صنعت، آموزش، امنیت و اقتصاد
🛠 معرفی ابزارها، دورهها و منابع یادگیری
📈 بررسی ترندها و آینده فناوریهای مرتبط با هوش مصنوعی
همهی اینها به زبان ساده، خلاصه و قابل فهم برای همه علاقهمندان — از مبتدی تا حرفهای
👇👇👇👇👇
https://t.me/ai_labdon
دنبال میکنی که چطور AI داره دنیا رو متحول میکنه؟
پس جای درستی اومدی!
🎯 در کانال ما هر روز:
🔍 جدیدترین اخبار و دستاوردهای دنیای AI
🧠 تحلیل تخصصی در حوزه یادگیری ماشین، دیپ لرنینگ و مدلهای زبانی
💼 بررسی کاربردهای هوش مصنوعی در پزشکی، صنعت، آموزش، امنیت و اقتصاد
🛠 معرفی ابزارها، دورهها و منابع یادگیری
📈 بررسی ترندها و آینده فناوریهای مرتبط با هوش مصنوعی
همهی اینها به زبان ساده، خلاصه و قابل فهم برای همه علاقهمندان — از مبتدی تا حرفهای
👇👇👇👇👇
https://t.me/ai_labdon
❤1
🔵 عنوان مقاله
🔒 The FIPS 140-3 Go Cryptographic Module
🟢 خلاصه مقاله:
استاندارد FIPS 140 مرتبط با پیادهسازیهای رمزنگاری، بخصوص در بخشهایی که با دولت آمریکا در ارتباط هستند، مهم است و الزامی به حساب میآید. بیشتر توسعهدهندگان شاید نیازی به نگرانی درباره این استاندارد نداشته باشند، اما درک و پیادهسازی آن برای توسعهدهندگان گو میتواند فرصتهای جدیدی را فراهم کند. این مقاله به بررسی عمیق پشتیبانی گو از FIPS 140 میپردازد و دانشی کلیدی را برای توسعه دهندگانی که با دولت آمریکا کار میکنند، ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/171844/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
🔒 The FIPS 140-3 Go Cryptographic Module
🟢 خلاصه مقاله:
استاندارد FIPS 140 مرتبط با پیادهسازیهای رمزنگاری، بخصوص در بخشهایی که با دولت آمریکا در ارتباط هستند، مهم است و الزامی به حساب میآید. بیشتر توسعهدهندگان شاید نیازی به نگرانی درباره این استاندارد نداشته باشند، اما درک و پیادهسازی آن برای توسعهدهندگان گو میتواند فرصتهای جدیدی را فراهم کند. این مقاله به بررسی عمیق پشتیبانی گو از FIPS 140 میپردازد و دانشی کلیدی را برای توسعه دهندگانی که با دولت آمریکا کار میکنند، ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/171844/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
go.dev
The FIPS 140-3 Go Cryptographic Module - The Go Programming Language
Go now has a built-in, native FIPS 140-3 compliant mode.
❤3
ویندوز XP برگشت... اونم توی مرورگر شما!
اگه دلتون برای ویندوز XP تنگ شده، یه پروژه جالب به اسم Win32.run منتشر شده که محیط کامل XP رو مستقیماً تو مرورگر اجرا میکنه!
از صفحه بوت و فایلاکسپلورر گرفته تا Paint و حتی برنامههای قدیمی - همهچی شبیه نسخه واقعی کار میکنه!
این پروژه با استفاده از تکنولوژیهای Svelte و Tailwind ساخته شده و یه شبیهساز واقعیه، نه صرفاً یه پوسته نمایشی.
امتحانش کن! فقط سرچ کن :
Win32.run
#RoidBest
اگه دلتون برای ویندوز XP تنگ شده، یه پروژه جالب به اسم Win32.run منتشر شده که محیط کامل XP رو مستقیماً تو مرورگر اجرا میکنه!
از صفحه بوت و فایلاکسپلورر گرفته تا Paint و حتی برنامههای قدیمی - همهچی شبیه نسخه واقعی کار میکنه!
این پروژه با استفاده از تکنولوژیهای Svelte و Tailwind ساخته شده و یه شبیهساز واقعیه، نه صرفاً یه پوسته نمایشی.
امتحانش کن! فقط سرچ کن :
Win32.run
#RoidBest
❤2
🔵 عنوان مقاله
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
❤3👍2
Forwarded from Software Engineer Labdon
چطور در معماری میکروسرویس، از ناهماهنگی بین دیتابیس و Message Broker جلوگیری کنیم؟
یکی از چالشهای رایج در میکروسرویسها، تضمین هماهنگی داده (Data Consistency) بین عملیات دیتابیس و ارسال پیام (Event) است.
سناریوی آشنای مشکلساز:
سرویس سفارش (Order) را در نظر بگیرید:
1. سفارش جدید در دیتابیس ذخیره میشود. (موفق)
2. قرار است یک رویداد OrderCreated به Kafka یا RabbitMQ ارسال شود تا سرویس نوتیفیکیشن به کاربر ایمیل بزند. (ناموفق)
نتیجه: سفارش در سیستم ثبت شده، اما به دلیل قطعی موقت در Message Broker، ایمیل تأیید هرگز ارسال نمیشود! این یعنی یک ناهماهنگی جدی در سیستم.
راهحل: الگوی Outbox Pattern
الگوی Outbox یک راهحل زیبا و قابل اعتماد برای این مشکل است. به جای ارسال مستقیم پیام، آن را در یک جدول به نام outbox در همان دیتابیس و داخل همان تراکنش ذخیره میکنیم.
چرا این روش کار میکند؟
چون ذخیره سفارش و ذخیره پیام در جدول
سپس، یک پردازشگر پسزمینه (Message Relay) مسئول خواندن پیامها از جدول outbox و ارسال مطمئن آنها به Message Broker است.
<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 است.
<Mahdi M./>
❤9
شروع یک پروژه Go همیشه با یک سؤال مهم همراهه:
ساختار پروژه رو چطور طراحی کنیم؟
یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
<Abbas Pourhadi/>
ساختار پروژه رو چطور طراحی کنیم؟
یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که خوندنش میتونه توی این مورد بهمون کمک کنه:
https://www.alexedwards.net/blog/11-tips-for-structuring-your-go-projects
<Abbas Pourhadi/>
❤8
Gopher Academy
شروع یک پروژه Go همیشه با یک سؤال مهم همراهه: ساختار پروژه رو چطور طراحی کنیم؟ یکی از چالشهای اولیه در پروژههای گولنگ، انتخاب یک ساختار ماژولار، خوانا و مقیاسپذیره. الکس ادواردز در مقالهی زیر، ۱۱ نکته کاربردی برای ساختاردهی پروژههای Go مطرح کرده که…
🧭 راهنمای ساختاربندی پروژههای Go
1. ساختار را بر اساس نیاز پروژه انتخاب کنید
سبکهای ساختاری بسته به نوع پروژه (CLI، کتابخانه، وباپ/میکروسرویس) متفاوت است و «یک ساختار برتر» وجود ندارد .
2. کارآمدی مهمتر از کمال
هدف این باشد که ساختار پروژه قابل فهم، قابل تغییر و قابل نگهداری باشد؛ نه لزوماً کامل و بینقص .
3. از روی عادت به ساختار زبانهای دیگر نقل رعایت نکنید
اGo فلسفهٔ ساده خود را دارد؛ تقلید ساختار Django یا Rails ممکن است منجر به سردرگمی شود .
4. هر پوشه=هر package
ایجاد فولدر فقط به دلیل نظم ظاهری اشتباه است. فقط هنگامی package بسازید که منطق مستقلی بخواهید .
5. با یک skeleton استاندارد شروع کنید
پروژههای کوچک: همهٔ فایلها در روت
main.go, foo.go, bar.go
وقتی پکیجهای داخلی نیاز بود:
internal/foo/foo.go
main.go
پروژههای بزرگتر با چند executable:
cmd/app1/, cmd/app2/, internal/, go.mod, README.md
6. اجازه دهید ساختار با رشد پروژه تغییر کند
نیاز به تغییر ساختار را با توسعه واقعی پروژه شناسایی کنید؛ نه از ابتدا همهچیز را طراحی کنید .
7. اگر بلاتکلیف هستید، با دو فایل شروع کنید
فقط go.mod و main.go؛ باقی را با نیاز واقعی اضافه کنید .
8. موارد مرتبط را در کنار هم نگه دارید
توابع کمکی، typeها و متدها مرتبط را نزدیک هم نگه دارید تا خوانایی بیشتر شود .
9. اندازه فایل مهم نیست، تا وقتی درست است
فایلهای بزرگ ایرادی ندارند، مگر اینکه واقعا نگهداری را سخت کنند .
10. پکیجسازی فقط وقتی لازم باشد
پکیجهای خیلی کوچک یا کماهمیت اضافه نکنید؛ مگر برای استفاده مجدد یا جداسازی لایهها .
11. به علائم هشدار توجه کنید
مشکل در پیدا کردن کد
تغییرات کوچک توزیعشده در کل پروژه
پیچیدگی در debugging
وابستگیهای دورانی و مشکل در error handling
→ وقت بازنگری ساختار است .
⚡ جمعبندی
هدف: ساختاری موثر، خوانا، و قابل نگهداری.
روش:
1. شروع ساده،
2. استفاده از ساختار پیشنهادی (مثل پوشههای cmd/, internal/)،
3. اجازه دهید پروژه رشد کند و ساختار با آن عینا وفق پیدا کند.
هشدار: وقتی احساس کردید ساختار کارآمد نیست، فکری برای بازطراحی آن بکنید.
https://t.me/addlist/QtXiQlynEJwzODBk
1. ساختار را بر اساس نیاز پروژه انتخاب کنید
سبکهای ساختاری بسته به نوع پروژه (CLI، کتابخانه، وباپ/میکروسرویس) متفاوت است و «یک ساختار برتر» وجود ندارد .
2. کارآمدی مهمتر از کمال
هدف این باشد که ساختار پروژه قابل فهم، قابل تغییر و قابل نگهداری باشد؛ نه لزوماً کامل و بینقص .
3. از روی عادت به ساختار زبانهای دیگر نقل رعایت نکنید
اGo فلسفهٔ ساده خود را دارد؛ تقلید ساختار Django یا Rails ممکن است منجر به سردرگمی شود .
4. هر پوشه=هر package
ایجاد فولدر فقط به دلیل نظم ظاهری اشتباه است. فقط هنگامی package بسازید که منطق مستقلی بخواهید .
5. با یک skeleton استاندارد شروع کنید
پروژههای کوچک: همهٔ فایلها در روت
main.go, foo.go, bar.go
وقتی پکیجهای داخلی نیاز بود:
internal/foo/foo.go
main.go
پروژههای بزرگتر با چند executable:
cmd/app1/, cmd/app2/, internal/, go.mod, README.md
6. اجازه دهید ساختار با رشد پروژه تغییر کند
نیاز به تغییر ساختار را با توسعه واقعی پروژه شناسایی کنید؛ نه از ابتدا همهچیز را طراحی کنید .
7. اگر بلاتکلیف هستید، با دو فایل شروع کنید
فقط go.mod و main.go؛ باقی را با نیاز واقعی اضافه کنید .
8. موارد مرتبط را در کنار هم نگه دارید
توابع کمکی، typeها و متدها مرتبط را نزدیک هم نگه دارید تا خوانایی بیشتر شود .
9. اندازه فایل مهم نیست، تا وقتی درست است
فایلهای بزرگ ایرادی ندارند، مگر اینکه واقعا نگهداری را سخت کنند .
10. پکیجسازی فقط وقتی لازم باشد
پکیجهای خیلی کوچک یا کماهمیت اضافه نکنید؛ مگر برای استفاده مجدد یا جداسازی لایهها .
11. به علائم هشدار توجه کنید
مشکل در پیدا کردن کد
تغییرات کوچک توزیعشده در کل پروژه
پیچیدگی در debugging
وابستگیهای دورانی و مشکل در error handling
→ وقت بازنگری ساختار است .
⚡ جمعبندی
هدف: ساختاری موثر، خوانا، و قابل نگهداری.
روش:
1. شروع ساده،
2. استفاده از ساختار پیشنهادی (مثل پوشههای cmd/, internal/)،
3. اجازه دهید پروژه رشد کند و ساختار با آن عینا وفق پیدا کند.
هشدار: وقتی احساس کردید ساختار کارآمد نیست، فکری برای بازطراحی آن بکنید.
https://t.me/addlist/QtXiQlynEJwzODBk
👍7❤2🍾2
🔵 عنوان مقاله
Kubernetes Best Practices 2025: Comprehensive White Paper
🟢 خلاصه مقاله:
مقالهای در مورد بهبود امنیت، قابلیت اطمینان و کنترل هزینه در کلاسترهای Kubernetes با استفاده از راهنماییهای عملی بر اساس تجربیات واقعی ارائه شده است. در بخش امنیت، تاکید بر سیاستهای شبکه، بروزرسانیهای منظم و مکانیزمهای دسترسی امن است. برای قابلیت اطمینان، طراحی برای مقابله با شکست و استفاده از استراتژیهایی مانند خودترمیمی و استقرار در چندین منطقه پیشنهاد شده است. نیز، کنترل هزینهها از طریق بهینهسازی استفاده از منابع و پیادهسازی سیستمهای کارآمد لاگبرداری و نظارت تأکید شده است. این راهکارها به کاربران Kubernetes کمک میکنند تا امنیت، قابلیت اطمینان و کفایت هزینه در کلاسترهای خود را بهبود بخشند.
🟣لینک مقاله:
https://golangweekly.com/link/171853/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Kubernetes Best Practices 2025: Comprehensive White Paper
🟢 خلاصه مقاله:
مقالهای در مورد بهبود امنیت، قابلیت اطمینان و کنترل هزینه در کلاسترهای Kubernetes با استفاده از راهنماییهای عملی بر اساس تجربیات واقعی ارائه شده است. در بخش امنیت، تاکید بر سیاستهای شبکه، بروزرسانیهای منظم و مکانیزمهای دسترسی امن است. برای قابلیت اطمینان، طراحی برای مقابله با شکست و استفاده از استراتژیهایی مانند خودترمیمی و استقرار در چندین منطقه پیشنهاد شده است. نیز، کنترل هزینهها از طریق بهینهسازی استفاده از منابع و پیادهسازی سیستمهای کارآمد لاگبرداری و نظارت تأکید شده است. این راهکارها به کاربران Kubernetes کمک میکنند تا امنیت، قابلیت اطمینان و کفایت هزینه در کلاسترهای خود را بهبود بخشند.
🟣لینک مقاله:
https://golangweekly.com/link/171853/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Fairwinds
Kubernetes Best Practices Resource
Get the updated Kubernetes best practices whitepaper for advice on Kubernetes security, reliability, efficiency, policy and monitoring.
❤5
Graceful Goroutine Shutdowns in Go: A Practical Guide
https://dev.to/jones_charles_ad50858dbc0/graceful-goroutine-shutdowns-in-go-a-practical-guide-2b9a
https://dev.to/jones_charles_ad50858dbc0/graceful-goroutine-shutdowns-in-go-a-practical-guide-2b9a
DEV Community
Graceful Goroutine Shutdowns in Go: A Practical Guide
Hey there, Go developer! If you’ve been writing Go for a year or two, you’re probably comfy with...
نسخه ۱.۷.۰ پکیج env منتشر شد 🥳:
https://github.com/nasermirzaei89/env
چرا این پکیج رو نوشتم؟
- چون تقریبا همیشه اپلیکیشنهام درون Dockerfile قرار میگیره و صرفا گرفتن کانفیگ از متغیرهای محیطی کافیه
- به جای فقط متغیر رشتهای نوع های دیگه رو هم میخونه، از جمله bool، عدد، اسلایس...
توی نسخه جدید چی شده؟
- پکیج testify با چندتا تابع دستنویس جایگزین شده تا این کتابخونه Zero Dependency بشه
ای کسانی که از کتابخونه های بزرگ کانفیگ استفاده میکنید
ترکیب این کتابخونه و
github.com/joho/godotenv
بینظیره 😎
اما مثلا وقتی از
github.com/spf13/viper
استفاده میکنید با خودش نزدیک ۲۰ تا دیپندنسی داره، دیگه خود دانید 🫠
https://github.com/nasermirzaei89/env
چرا این پکیج رو نوشتم؟
- چون تقریبا همیشه اپلیکیشنهام درون Dockerfile قرار میگیره و صرفا گرفتن کانفیگ از متغیرهای محیطی کافیه
- به جای فقط متغیر رشتهای نوع های دیگه رو هم میخونه، از جمله bool، عدد، اسلایس...
توی نسخه جدید چی شده؟
- پکیج testify با چندتا تابع دستنویس جایگزین شده تا این کتابخونه Zero Dependency بشه
ای کسانی که از کتابخونه های بزرگ کانفیگ استفاده میکنید
ترکیب این کتابخونه و
github.com/joho/godotenv
بینظیره 😎
اما مثلا وقتی از
github.com/spf13/viper
استفاده میکنید با خودش نزدیک ۲۰ تا دیپندنسی داره، دیگه خود دانید 🫠
🔥6❤2👍1🕊1🍾1
🔵 عنوان مقاله
cpuid 2.3: CPU Feature Identification for Go
🟢 خلاصه مقاله:
این مقاله راهنمایی عملی برای تعیین مشخصات فنی پردازنده مرکزی کامپیوتر (CPU) است که شامل تعداد هستههای فیزیکی و منطقی، خانواده پردازنده، و جزئیات مشابه میباشد. این راهنما از پردازندههای معماریهای x86/x64 و ARM64 پشتیبانی میکند و برای کاربرانی که به اطلاعات دقیق فنی سیستم خود نیاز دارند بسیار مفید است.
🟣لینک مقاله:
https://golangweekly.com/link/171864/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
cpuid 2.3: CPU Feature Identification for Go
🟢 خلاصه مقاله:
این مقاله راهنمایی عملی برای تعیین مشخصات فنی پردازنده مرکزی کامپیوتر (CPU) است که شامل تعداد هستههای فیزیکی و منطقی، خانواده پردازنده، و جزئیات مشابه میباشد. این راهنما از پردازندههای معماریهای x86/x64 و ARM64 پشتیبانی میکند و برای کاربرانی که به اطلاعات دقیق فنی سیستم خود نیاز دارند بسیار مفید است.
🟣لینک مقاله:
https://golangweekly.com/link/171864/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - klauspost/cpuid: CPU feature identification for Go
CPU feature identification for Go. Contribute to klauspost/cpuid development by creating an account on GitHub.
❤2🎉2👍1
Forwarded from Linux Labdon
لینوکس بالاخره از مرز ۵٪ در آمریکا عبور کرد!
▪️طبق آمار StatCounter، برای اولین بار سهم سیستمعاملهای لینوکسی در آمریکا از ۵٪ گذشت؛ اتفاقی که خیلیها منتظرش بودن!
▫️پایان پشتیبانی ویندوز 10
▫️سیاستهای آزاردهنده مایکروسافت
▫️و البته محبوبیت دیوانهوار Steam Deck
+ همه اینا باعث شدن کاربرا کمکم از ویندوز دل بکنن و برن سراغ دنیای آزاد لینوکس.
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
▪️طبق آمار StatCounter، برای اولین بار سهم سیستمعاملهای لینوکسی در آمریکا از ۵٪ گذشت؛ اتفاقی که خیلیها منتظرش بودن!
▫️پایان پشتیبانی ویندوز 10
▫️سیاستهای آزاردهنده مایکروسافت
▫️و البته محبوبیت دیوانهوار Steam Deck
+ همه اینا باعث شدن کاربرا کمکم از ویندوز دل بکنن و برن سراغ دنیای آزاد لینوکس.
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
🍾7🎉2🕊1 1
Forwarded from Software Engineer Labdon
برنامهنویس لهستانی هوش مصنوعی OpenAI را در ماراتن کدنویسی شکست داد
https://digiato.com/artificial-intelligence/human-programmer-beats-openais-custom-ai-in-10-hour-marathon
https://digiato.com/artificial-intelligence/human-programmer-beats-openais-custom-ai-in-10-hour-marathon
دیجیاتو
برنامهنویس لهستانی هوش مصنوعی OpenAI را در ماراتن کدنویسی شکست داد
برنامهنویس ۴۲ ساله لهستانی موفق شد در یک ماراتن ۱۰ ساعته کدنویسی مدل هوش مصنوعی پیشرفته و سفارشی OpenAI را شکست دهد.
🔥8
🔵 عنوان مقاله
pproftui: A Terminal-Based Diagnostic Tool for pprof Data
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، رویکردی نوین در پروفایلینگ نرمافزار ارائه میدهد که تمرکز را از نمایش دادههای بصری به تعامل مستقیم با کدی که فعالیتهای تحت نظر را رانده معطوف میکند. این روش به توسعهدهندگان این امکان را میدهد که به سرعت و به طور مؤثر مشکلات مربوط به عملکرد را شناسایی و رفع کنند. همچنین، امکان مشاهدهی لحظهای پروفایل و مقایسهی نتایج نسخههای مختلف کد در زمان واقعی فراهم میآید که میتواند به بهبود مستمر و افزایش کارایی کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/171858/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
pproftui: A Terminal-Based Diagnostic Tool for pprof Data
🟢 خلاصه مقاله:
مقالهای که مورد بررسی قرار گرفته، رویکردی نوین در پروفایلینگ نرمافزار ارائه میدهد که تمرکز را از نمایش دادههای بصری به تعامل مستقیم با کدی که فعالیتهای تحت نظر را رانده معطوف میکند. این روش به توسعهدهندگان این امکان را میدهد که به سرعت و به طور مؤثر مشکلات مربوط به عملکرد را شناسایی و رفع کنند. همچنین، امکان مشاهدهی لحظهای پروفایل و مقایسهی نتایج نسخههای مختلف کد در زمان واقعی فراهم میآید که میتواند به بهبود مستمر و افزایش کارایی کمک کند.
🟣لینک مقاله:
https://golangweekly.com/link/171858/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - Oloruntobi1/pproftui: A terminal-based diagnostic tool for Go pprof data
A terminal-based diagnostic tool for Go pprof data - Oloruntobi1/pproftui
❤4