🚀 مقایسهی Content Hashes و Distribution Hashes در داکر
چرا داکر از هشها استفاده میکنه؟
داکر قبل و بعد از هر عملیات push و pull هشها رو مقایسه میکنه تا مطمئن بشه دادهها در انتقال از طریق شبکه، دستکاری نشدن. اما یک چالش جالب وجود داره!
معمای فشردهسازی
داکر برای بهینهسازی پهنای باند و فضا، دادهها رو فشردهسازی و ذخیره میکنه. در نتیجه، هشهای قبل و بعد از انتقال متفاوت خواهند بود!
✨ راهحل داکر: دو هش متفاوت
🔘 Content Hash: مربوط به لایههای فشردهنشده
🚀 Distribution Hash: مربوط به لایههای فشردهشده
داکر موقع push/pull از Distribution Hash برای تایید یکپارچگی دادهها استفاده میکنه، و به همین دلیله که گاهی هشها در خروجیهای CLI و registry متفاوت به نظر میرسند.
🤯 شما هم با این تفاوت هشها در داکر مواجه شدید؟
#داکر #دواپس #کانتینر #DevOps #Docker #امنیت_اطلاعات #فناوری_اطلاعات #هش_امنیتی #مهندسی_نرم_افزار #توسعه_نرم_افزار #سیستم_عامل #DevOpsIran #Do
چرا داکر از هشها استفاده میکنه؟
داکر قبل و بعد از هر عملیات push و pull هشها رو مقایسه میکنه تا مطمئن بشه دادهها در انتقال از طریق شبکه، دستکاری نشدن. اما یک چالش جالب وجود داره!
معمای فشردهسازی
داکر برای بهینهسازی پهنای باند و فضا، دادهها رو فشردهسازی و ذخیره میکنه. در نتیجه، هشهای قبل و بعد از انتقال متفاوت خواهند بود!
✨ راهحل داکر: دو هش متفاوت
🔘 Content Hash: مربوط به لایههای فشردهنشده
🚀 Distribution Hash: مربوط به لایههای فشردهشده
داکر موقع push/pull از Distribution Hash برای تایید یکپارچگی دادهها استفاده میکنه، و به همین دلیله که گاهی هشها در خروجیهای CLI و registry متفاوت به نظر میرسند.
🤯 شما هم با این تفاوت هشها در داکر مواجه شدید؟
#داکر #دواپس #کانتینر #DevOps #Docker #امنیت_اطلاعات #فناوری_اطلاعات #هش_امنیتی #مهندسی_نرم_افزار #توسعه_نرم_افزار #سیستم_عامل #DevOpsIran #Do
👌2
📌 از رویا تا واقعیت؛ ساخت یک مزرعه ماینینگ با ۱۰۰ Raspberry Pi 5 🖥💰
🔧 بخش اول: اسمبلینگ و زیرساخت
—100 عدد Raspberry Pi 5 (ترجیحاً نسخه 8GB RAM)
-کارت microSD پرسرعت یا SSD برای هر Pi
—منبع تغذیه متمرکز 5V/500A (یک پاور بزرگ به جای ۱۰۰ آداپتور)
—سوییچ شبکه گیگابیتی با بیش از ۱۰۰ پورت (یا چند تا لینکشده)
—رک یا شلف برای چینش منظم + فنهای رک و فیلتر گردوغبار
💻 بخش دوم: راهاندازی نرمافزار
—نصب Raspberry Pi OS Lite روی همه Piها
—استفاده از Ansible برای اجرای همزمان فرمانها روی تمام Piها
—نصب ماینر مناسب(RandomX برای Monero (xmrig)) یا (Yescrypt یا SHA-256T برای پروژههای آموزشی)
{{{{خروجی ماین مستقیماً به یک کیفپول امن (Ledger یا کیفپول نرمافزاری) واریز میشه}}}}
📱 بخش سوم: اپ موبایلی مدیریت فارم
—نمایش دما، CPU Usage، و هشریت هر Pi
—کنترل خاموش/روشن از راه دور
—گزارش مصرف برق و درآمد
—اتصال به API نرمافزار ماینر مثل xmrig --api
بکاند: Python FastAPI یا Node.js
فرانت اپ موبایل: Flutter یا React Native
#ماینینگ #RaspberryPi #رزبری_پای #رمزارز #کریپتو #CryptoMining #FarmMining #دیجیتال #Blockchain #بلاکچین #ماینر #Miner #XMR #Monero #CPUmining #IoT #مزرعه_ماینینگ #دستگاه_ماینر #MiningFarm #TechProject #شبکه #کولینگ #MiningLife #MiningSetup #CryptoFarm #هش_ریت #ClusterComputing #CryptoProjects #MiningTips
🔧 بخش اول: اسمبلینگ و زیرساخت
—100 عدد Raspberry Pi 5 (ترجیحاً نسخه 8GB RAM)
-کارت microSD پرسرعت یا SSD برای هر Pi
—منبع تغذیه متمرکز 5V/500A (یک پاور بزرگ به جای ۱۰۰ آداپتور)
—سوییچ شبکه گیگابیتی با بیش از ۱۰۰ پورت (یا چند تا لینکشده)
—رک یا شلف برای چینش منظم + فنهای رک و فیلتر گردوغبار
💻 بخش دوم: راهاندازی نرمافزار
—نصب Raspberry Pi OS Lite روی همه Piها
—استفاده از Ansible برای اجرای همزمان فرمانها روی تمام Piها
—نصب ماینر مناسب(RandomX برای Monero (xmrig)) یا (Yescrypt یا SHA-256T برای پروژههای آموزشی)
{{{{خروجی ماین مستقیماً به یک کیفپول امن (Ledger یا کیفپول نرمافزاری) واریز میشه}}}}
📱 بخش سوم: اپ موبایلی مدیریت فارم
—نمایش دما، CPU Usage، و هشریت هر Pi
—کنترل خاموش/روشن از راه دور
—گزارش مصرف برق و درآمد
—اتصال به API نرمافزار ماینر مثل xmrig --api
بکاند: Python FastAPI یا Node.js
فرانت اپ موبایل: Flutter یا React Native
#ماینینگ #RaspberryPi #رزبری_پای #رمزارز #کریپتو #CryptoMining #FarmMining #دیجیتال #Blockchain #بلاکچین #ماینر #Miner #XMR #Monero #CPUmining #IoT #مزرعه_ماینینگ #دستگاه_ماینر #MiningFarm #TechProject #شبکه #کولینگ #MiningLife #MiningSetup #CryptoFarm #هش_ریت #ClusterComputing #CryptoProjects #MiningTips
💯2
⚠️ چطور npm میتونه بدون خبر کد شما رو تغییر بده؟
شاید براتون پیش اومده که هیچ تغییری توی کد نزده باشید ولی بعد از یک npm install، پروژهتون دیگه مثل قبل کار نکنه!
علتش میتونه همین باشه:
در فایل package.json وقتی از نمادهای ^ (caret) یا ~ (tilde) استفاده میکنید، npm موقع نصب به طور خودکار آخرین نسخهی patch یا minor پکیج رو میگیره.
این یعنی حتی بدون تغییر دستی dependency، ممکنه کد شما به نسخهای جدید از یک کتابخانه متصل بشه.
گاهی باگهای غیرمنتظره باعث بیثبات شدن بیلدها می شوند.
@TryCodeBox
#JavaScript #NPM #SoftwareDevelopment
شاید براتون پیش اومده که هیچ تغییری توی کد نزده باشید ولی بعد از یک npm install، پروژهتون دیگه مثل قبل کار نکنه!
علتش میتونه همین باشه:
در فایل package.json وقتی از نمادهای ^ (caret) یا ~ (tilde) استفاده میکنید، npm موقع نصب به طور خودکار آخرین نسخهی patch یا minor پکیج رو میگیره.
این یعنی حتی بدون تغییر دستی dependency، ممکنه کد شما به نسخهای جدید از یک کتابخانه متصل بشه.
گاهی باگهای غیرمنتظره باعث بیثبات شدن بیلدها می شوند.
@TryCodeBox
#JavaScript #NPM #SoftwareDevelopment
❤5
راهنمای جالبی برای بهتر Prompt نوشتن برای AI BOT ها تا بتونن به دستیارهای بهتری برای شما تبدیل بشن
https://addyo.substack.com/p/the-prompt-engineering-playbook-for
#Prompt #Engineering #AI #Article #Programmer #Ask #MVP #Best #Practice
https://addyo.substack.com/p/the-prompt-engineering-playbook-for
#Prompt #Engineering #AI #Article #Programmer #Ask #MVP #Best #Practice
💯3
کتاب طراحی مراحل، دانش طراحی مراحل برای بازیهای ویدیویی سهبعدی را به شیوهای قابل فهم، بهروز و انتقادی گردآوری کرده است. این کتاب برای طراحان با هر سطح تجربه و موتور بازیسازی مناسب است.
https://book.leveldesignbook.com
#Game #Design #Level #Book #3D #Engine #Experience #Gamification
https://book.leveldesignbook.com
#Game #Design #Level #Book #3D #Engine #Experience #Gamification
💯3❤1
درس جدید huggingFace برای MCP که مدرک هم میده تهش. درسهای دیگه هم داره که قبلا share کردم. غافل نشید از اینا :)
https://huggingface.co/mcp-course
#MCP #AI #Course #Huggine #Face #HF #HuggingFace #Free #Interactive #Practical #Tutorial
https://huggingface.co/mcp-course
#MCP #AI #Course #Huggine #Face #HF #HuggingFace #Free #Interactive #Practical #Tutorial
❤5
مایکروسافت اخیرا یک کتابخانه پایتون به نام MarkItDown منتشر کرده که ابزاری کاربردی برای تبدیل فایلهای مختلف (فایلهای پاورپوینت، پیدیاف، ورد، اکسل و...) به Markdown است.
این موضوع برای تجزیه و تحلیل متون داخل فایلها بسیار کاربردیست.
این کتابخانه در حال حاضر از pdf، پاورپوینت (pptx.)، ورد (.docx)، اکسل (xlsx.)، تصاویر (متادیتای EXIF و OCR)، فایل صوتی (متادیتای EXIF و رونویسی گفتار)، HTML (به خصوص در مورد ویکیپدیا و...) و برخی از سایر فرمتهای مبتنی بر متن مثل csv, json, xml پشتیبانی میکند.
شروع استفاده از این ابزار بسیار سریع و راحت است:
🔗 مشاهده در GitHub
برای درک بهتر کاربرد آن میتوانید از دمویی که یک برنامهنویس خارجی در آدرس زیر قرار داده استفاده کنید:
https://msftmd.replit.app
@TryCodeBox
#Python #library
این موضوع برای تجزیه و تحلیل متون داخل فایلها بسیار کاربردیست.
این کتابخانه در حال حاضر از pdf، پاورپوینت (pptx.)، ورد (.docx)، اکسل (xlsx.)، تصاویر (متادیتای EXIF و OCR)، فایل صوتی (متادیتای EXIF و رونویسی گفتار)، HTML (به خصوص در مورد ویکیپدیا و...) و برخی از سایر فرمتهای مبتنی بر متن مثل csv, json, xml پشتیبانی میکند.
شروع استفاده از این ابزار بسیار سریع و راحت است:
from markitdown import MarkItDown
markitdown = MarkItDown()
result = markitdown.convert("test.xlsx")
print(result.text_content)
🔗 مشاهده در GitHub
برای درک بهتر کاربرد آن میتوانید از دمویی که یک برنامهنویس خارجی در آدرس زیر قرار داده استفاده کنید:
https://msftmd.replit.app
@TryCodeBox
#Python #library
💯5
from scapy.all import *
# اسکن پورت 80 با SYN
pkt = IP(dst="192.168.1.1") / TCP(dport=80, flags="S")
resp = sr1(pkt, timeout=1)
if resp and resp[TCP].flags == "SA":
print("پورت 80 بازه!")
ایرادات این کد را پیدا کنید .
@TryCodeBox
💯5
نوشتن اسکریپتهای bash بدون ShellCheck مثل رانندگی بدون آینه است.
این ابزار دقیقاً نقش همون آینه رو داره؛ ایرادای سینتکس، استفاده خطرناک از متغیرها، و حتی مسائل امنیتی رایج رو درمیاره. هر sysadmin یا devops حرفهای باید ازش استفاده کنه، مخصوصاً توی automation و CI/CD.
www.shellcheck.net
@TryCodeBox
این ابزار دقیقاً نقش همون آینه رو داره؛ ایرادای سینتکس، استفاده خطرناک از متغیرها، و حتی مسائل امنیتی رایج رو درمیاره. هر sysadmin یا devops حرفهای باید ازش استفاده کنه، مخصوصاً توی automation و CI/CD.
www.shellcheck.net
@TryCodeBox
💯4
Medium
Switching from OOP to Functional Programming
Why functional programming is so hard?
در مورد functional programming مطلب خیلی جالبی بود
https://medium.com/@olxc/switching-from-oop-to-functional-programming-4187698d4d3
@TryCodeBox
https://medium.com/@olxc/switching-from-oop-to-functional-programming-4187698d4d3
@TryCodeBox
🔥4
زیر کاپوت گیت چه خبره؟
اسلاید های یک ارائه خوب ولی قدیمی از جزییات کارکرد گیت
https://github.com/techgaun/git-internals/blob/master/README.md
این اسلایدها هم هست که جذاب تر و طولانی تره ولی به نظرم بالایی مختصر مفید تر بود
https://www.slideshare.net/slideshow/git-internals-187357386/187357386
اسلاید های یک ارائه خوب ولی قدیمی از جزییات کارکرد گیت
https://github.com/techgaun/git-internals/blob/master/README.md
این اسلایدها هم هست که جذاب تر و طولانی تره ولی به نظرم بالایی مختصر مفید تر بود
https://www.slideshare.net/slideshow/git-internals-187357386/187357386
GitHub
git-internals/README.md at master · techgaun/git-internals
An overview of git internals. Contribute to techgaun/git-internals development by creating an account on GitHub.
💯4
این که میگن کوزهگر از کوزه شکسته آب میخوره راست میگن همیشه ما توسعه دهنده ها هیچ وقت به قدری بیکار نمیشیم که یه پنل خوب مدیریتی برای خودمون درست کنیم همیشه برای مدیریت داریم با فایل های کانفیگ ور میریم اما واسه مشتری حتی تم روز و شب و سرچ های نرم RealTime هم میزاریم
👍2
☕️ کندی اپلیکیشنهای Java در Docker و راهحل آن
یک تیم توسعهدهنده گزارش داد که اجرای اپلیکیشنهای Java در محیط Docker باعث کاهش چشمگیر کارایی و کندی تا ۱۰ برابر شده است. بررسیها نشان داد علت این مشکل به نحوهی مدیریت منابع در Docker برمیگردد.
بهطور پیشفرض، Docker تمام منابع CPU و RAM میزبان را در اختیار کانتینر قرار نمیدهد. در نتیجه، JVM قادر به شناسایی دقیق میزان منابع موجود نیست و تنظیمات حافظه و Garbage Collector را نادرست انجام میدهد.
✅ برای حل این مشکل از فلگهای زیر در JVM استفاده کنید
-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
با این تنظیمات، JVM محدودیتهای cgroup را شناسایی کرده و منابع را به درستی مدیریت میکند. پس از اعمال این تغییرات، سرعت و کارایی اپلیکیشنها به حالت عادی باز می گردد
https://medium.com/javarevisited/docker-made-our-java-apps-10x-slower-until-we-fixed-this-one-thing-d2cc8fcbea07
@TryCodeBox
#Docer #Java
یک تیم توسعهدهنده گزارش داد که اجرای اپلیکیشنهای Java در محیط Docker باعث کاهش چشمگیر کارایی و کندی تا ۱۰ برابر شده است. بررسیها نشان داد علت این مشکل به نحوهی مدیریت منابع در Docker برمیگردد.
بهطور پیشفرض، Docker تمام منابع CPU و RAM میزبان را در اختیار کانتینر قرار نمیدهد. در نتیجه، JVM قادر به شناسایی دقیق میزان منابع موجود نیست و تنظیمات حافظه و Garbage Collector را نادرست انجام میدهد.
✅ برای حل این مشکل از فلگهای زیر در JVM استفاده کنید
-XX:+UnlockExperimentalVMOptions
-XX:+UseCGroupMemoryLimitForHeap
با این تنظیمات، JVM محدودیتهای cgroup را شناسایی کرده و منابع را به درستی مدیریت میکند. پس از اعمال این تغییرات، سرعت و کارایی اپلیکیشنها به حالت عادی باز می گردد
https://medium.com/javarevisited/docker-made-our-java-apps-10x-slower-until-we-fixed-this-one-thing-d2cc8fcbea07
@TryCodeBox
#Docer #Java
👍4
https://kilocode.ai
یه ابزار اوپن سورس که میتونید به کمکش از هوش مصنوعی حین کد زدن استفاده کنید یه جورایی رقیب cursor و cline محسوب میشه.
@TryCodeBox
#AI #Tools #Coding #VSCode #IDE #Editor #GPT #Kilo
یه ابزار اوپن سورس که میتونید به کمکش از هوش مصنوعی حین کد زدن استفاده کنید یه جورایی رقیب cursor و cline محسوب میشه.
@TryCodeBox
#AI #Tools #Coding #VSCode #IDE #Editor #GPT #Kilo
💯3
YouTube
The Story of Python and how it took over the world | Python: The Documentary
This is the story of the world's most beloved programming language: Python. What began as a side project in Amsterdam during the 1990s became the software powering artificial intelligence, data science and some of the world’s biggest companies. But Python's…
✔️ مستند پایتون منتشر شد!
بالاخره مستند رسمی پایتون با عنوان
Python: The Documentary | An origin story
منتشر شد!
این مستند داستان شکلگیری پایتون رو روایت میکنه؛ از ایدهی اولیهی خیدو فن روسوم در دهه ۹۰ میلادی تا تبدیل شدن به یکی از پرکاربردترین زبانهای دنیا در هوش مصنوعی، وب، دیتا و هزاران پروژهی دیگه.
توی این مستند چهرههای سرشناس کامیونیتی پایتون مثل Guido van Rossum، Travis Oliphant، Barry Warsaw و خیلیهای دیگه حضور دارن.
بخشهای جذابی مثل "Zen of Python" هم بررسی میشه.
انتشار رسمی این مستند در تاریخ ۲۸ اوت ۲۰۲۵ بوده و الان به صورت رایگان قابل مشاهدهست.
لینک تماشا در یوتیوب:
https://youtu.be/GfH4QL4VqJ0?si=KOs9QrvwFq9BlGlR
@TryCodeBox
بالاخره مستند رسمی پایتون با عنوان
Python: The Documentary | An origin story
منتشر شد!
این مستند داستان شکلگیری پایتون رو روایت میکنه؛ از ایدهی اولیهی خیدو فن روسوم در دهه ۹۰ میلادی تا تبدیل شدن به یکی از پرکاربردترین زبانهای دنیا در هوش مصنوعی، وب، دیتا و هزاران پروژهی دیگه.
توی این مستند چهرههای سرشناس کامیونیتی پایتون مثل Guido van Rossum، Travis Oliphant، Barry Warsaw و خیلیهای دیگه حضور دارن.
بخشهای جذابی مثل "Zen of Python" هم بررسی میشه.
انتشار رسمی این مستند در تاریخ ۲۸ اوت ۲۰۲۵ بوده و الان به صورت رایگان قابل مشاهدهست.
لینک تماشا در یوتیوب:
https://youtu.be/GfH4QL4VqJ0?si=KOs9QrvwFq9BlGlR
@TryCodeBox
💯2
بعد از اینکه وبسایتتون رو بالا اوردین این چک لیست فرانت رو چک کنید و مشکلاتش رو فیکس کنید، قبلا مشابهش رو گذاشته بودم اما این بخش javanoscript هم داره
github.com/thedaviddias/Front-End-Performance-Checklist
@TryCodeBox
github.com/thedaviddias/Front-End-Performance-Checklist
@TryCodeBox
GitHub
GitHub - thedaviddias/Front-End-Performance-Checklist: 🎮 The only Front-End Performance Checklist that runs faster than the others
🎮 The only Front-End Performance Checklist that runs faster than the others - thedaviddias/Front-End-Performance-Checklist
💯2
This media is not supported in your browser
VIEW IN TELEGRAM
یه عده اومدن توی 20 ساعت با زبان Go یه بازی مار تحت پروتکل ssh ساختن با کلید های WASD میتونید حرکت کنید، ایده کلیش جالبه میشه چیزاهای دیگه هم پیاده کرد :
ssh sshtron.zachlatta.com
سورس کدش اگه خواستین خودتون بسازیدش :
github.com/zachlatta/sshtron
@TryCodeBox
ssh sshtron.zachlatta.com
سورس کدش اگه خواستین خودتون بسازیدش :
github.com/zachlatta/sshtron
@TryCodeBox
💯3
ابزار Husky یه پروژخ سبک و باحاله که hookهای گیت رو به زبون ساده مدیریت میکنه. مثلاً قبل از commit یه چکلیست از دستورای npm مثل eslint یا prettier اجرا میکنه، بدون اینکه خودت یادت بره.
مثلاً میتونی تو pre-commit بنویسی: npm run lint && npm test تا قبل از هر commit هم کدت بررسی شه، هم تستا رد شن.
typicode.github.io/husky/get-started.html
@TryCodeBox
مثلاً میتونی تو pre-commit بنویسی: npm run lint && npm test تا قبل از هر commit هم کدت بررسی شه، هم تستا رد شن.
typicode.github.io/husky/get-started.html
@TryCodeBox
typicode.github.io
Get started | Husky
Git hooks made easy
💯2
Forwarded from Try Hack Box
⭕️ دیگر کانال ها و شبکه های اجتماعی ما را دنبال کنید :
💠 کانال های تلگرام ما
🔶 آموزش تست نفوذ و Red Team
🆔 @TryHackBox
🔶 رودمپ های مختلف
🆔 @TryHackBoxOfficial
🔶 داستان های هک
🆔 @TryHackBoxStory
🔶 آموزش برنامه نویسی
🆔 @TryCodeBox
🔶 رادیو زیروپاد ( پادکست ها )
🆔 @RadioZeroPod
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
👥 گروه های پرسش و پاسخ
🔷 هک و امنیت
🆔 @TryHackBoxGroup
🔷 برنامه نویسی
🆔 @TryCodeBoxGroup
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔴 اینستاگرام :
🔗 http://www.instagram.com/TryHackBox
🔵 یوتیوب :
🔗 https://youtube.com/@tryhackbox
🟠 گیت هاب ما :
🔗 https://github.com/TryHackBox/
💠 کانال های تلگرام ما
🔶 آموزش تست نفوذ و Red Team
🆔 @TryHackBox
🔶 رودمپ های مختلف
🆔 @TryHackBoxOfficial
🔶 داستان های هک
🆔 @TryHackBoxStory
🔶 آموزش برنامه نویسی
🆔 @TryCodeBox
🔶 رادیو زیروپاد ( پادکست ها )
🆔 @RadioZeroPod
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
👥 گروه های پرسش و پاسخ
🔷 هک و امنیت
🆔 @TryHackBoxGroup
🔷 برنامه نویسی
🆔 @TryCodeBoxGroup
➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
🔴 اینستاگرام :
🔗 http://www.instagram.com/TryHackBox
🔵 یوتیوب :
🔗 https://youtube.com/@tryhackbox
🟠 گیت هاب ما :
🔗 https://github.com/TryHackBox/
💯2