Forwarded from محتوای آزاد سهراب
ما توی CoreUtils یک دستوری داریم به اسم ] که احتمالاً خیلیها دیده باشیدش و نمیدونید چیه.
دستور ] که به عنوان test نیز شناخته میشه، یکی از دستورات پایهای در GNU Coreutils هستش که برای ارزیابی عبارات شرطی استفاده میشه. این دستور به شما امکان این رو میده تا شرایط مختلفی را بررسی کنید، مثل وجود فایلها، مقایسه رشتهها و مقایسه اعداد.
چرا نوشته شده همچین چیزی؟
دستور ] به منظور سادهسازی و تسهیل نوشتن اسکریپتهای پوستهٔ (Shell Scripts) طراحی شده. با استفاده از این دستور، کاربر میتونه به راحتی شرایط مختلف را بررسی کنه و بر اساس نتایجشون، جریان اجرای برنامه را کنترل بکنه. این موضوع به ویژه توی اسکریپتهای خودکارسازی و مدیریت سیستم بسیار مفید هستش.
چطور میشه ازش استفاده کرد؟
من یک مثال ساده از عملکردش رو براتون توی این شلاسکریپت زیر میارم:
پ.ن: gt یعنی greater than
اگر این چیزی که من نوشتم رو اجرا کنید، میبینید که اولین شرط اجرا میشه چون منطقاً عدد ۱۰ از عدد ۵ بزرگتره، بنابراین شرط دوم که
نادیده گرفته میشه و اجرا نمیشه :)
از اینجا میتونید کدمنبع (سورسکد) این دستور رو در زبان C و از اینجا هم در Rust بخونید.
@SohrabContents
دستور ] که به عنوان test نیز شناخته میشه، یکی از دستورات پایهای در GNU Coreutils هستش که برای ارزیابی عبارات شرطی استفاده میشه. این دستور به شما امکان این رو میده تا شرایط مختلفی را بررسی کنید، مثل وجود فایلها، مقایسه رشتهها و مقایسه اعداد.
چرا نوشته شده همچین چیزی؟
دستور ] به منظور سادهسازی و تسهیل نوشتن اسکریپتهای پوستهٔ (Shell Scripts) طراحی شده. با استفاده از این دستور، کاربر میتونه به راحتی شرایط مختلف را بررسی کنه و بر اساس نتایجشون، جریان اجرای برنامه را کنترل بکنه. این موضوع به ویژه توی اسکریپتهای خودکارسازی و مدیریت سیستم بسیار مفید هستش.
چطور میشه ازش استفاده کرد؟
من یک مثال ساده از عملکردش رو براتون توی این شلاسکریپت زیر میارم:
num1=10
num2=5
[ "$num1" -gt "$num2" ] && echo "$num1 is greater than $num2"
[ "$num2" -gt "$num1" ] && echo "$num2 is greater than $num1"
پ.ن: gt یعنی greater than
اگر این چیزی که من نوشتم رو اجرا کنید، میبینید که اولین شرط اجرا میشه چون منطقاً عدد ۱۰ از عدد ۵ بزرگتره، بنابراین شرط دوم که
[ "$num2" -gt "$num1" ] && echo "$num2 is greater than $num1"
نادیده گرفته میشه و اجرا نمیشه :)
از اینجا میتونید کدمنبع (سورسکد) این دستور رو در زبان C و از اینجا هم در Rust بخونید.
@SohrabContents
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
🔶 یه مشکلی که گیت هاب دارد که اگر از خود مخزن مستقیم فایل ها ویرایش کنید و کامیت کنید و بعد از مدتی کامیت دوم با دستورات گیت در ترمینال بزنید با خطا مواجه میشید.
خطای زیر:
با دستور
@TheRaymondDev
خطای زیر:
To https://github.com/Rayiumir/TaskLaravel.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/Rayiumir/TaskLaravel.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
با دستور
git push -f origin main فلگ -f مجبورید کامیت قبلی رو پاک کنید تا بتوانید کامیت جدید ثبت کنید.@TheRaymondDev
Forwarded from Saeed
کانال ما:
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Linuxor ?
خلاصه امروز توییتر کامیونیتی برنامه نویسی و کامپیوتر :
یه نفر یه توییت زده بود که "من از ۱۰ سالگی دارم کد نویسی میکنم تا ۲۵ سالگیم نتونستم با برنامه نویسی ماشین بخرم.
دوستم یه بوتیک تو ۱۸ سالگی زد الان ۲۷ سالشه هم خونه و چندتا ماشین داره."
اکثرا به صورت حمله بهش گفته بودن که مشکل خودته و بی عرضگیته، اما واقعیت ممکنه شما حتی بیشتر از این هام کار کنید و برنامه نویس و تکنیکالی خفن تر بشین و ببینید یهو هیچ پولی در نمیارین، پول صرفا با مفید بودن خروجیتون در ارتباطه به پتانسیل درونیتون هیچ ربطی نداره و ممکنه این پناسیل شما جای درست استفاده بشه خروجی خیلی قوی و پول زیادی بده ...
پس هیچ وقت از تکنیکالی خفن تر کردن خودتون و بالا بردن پتانسیلتون پشیمون نشین، اگه پول هم بخواین بعدا با چند تا جابجایی جای درست خودتونو پیدا میکنین و اون کاغذم بدست میارین و باهاش خودتونو باد میزنین.
@Linuxor
یه نفر یه توییت زده بود که "من از ۱۰ سالگی دارم کد نویسی میکنم تا ۲۵ سالگیم نتونستم با برنامه نویسی ماشین بخرم.
دوستم یه بوتیک تو ۱۸ سالگی زد الان ۲۷ سالشه هم خونه و چندتا ماشین داره."
اکثرا به صورت حمله بهش گفته بودن که مشکل خودته و بی عرضگیته، اما واقعیت ممکنه شما حتی بیشتر از این هام کار کنید و برنامه نویس و تکنیکالی خفن تر بشین و ببینید یهو هیچ پولی در نمیارین، پول صرفا با مفید بودن خروجیتون در ارتباطه به پتانسیل درونیتون هیچ ربطی نداره و ممکنه این پناسیل شما جای درست استفاده بشه خروجی خیلی قوی و پول زیادی بده ...
پس هیچ وقت از تکنیکالی خفن تر کردن خودتون و بالا بردن پتانسیلتون پشیمون نشین، اگه پول هم بخواین بعدا با چند تا جابجایی جای درست خودتونو پیدا میکنین و اون کاغذم بدست میارین و باهاش خودتونو باد میزنین.
@Linuxor
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
اگه خیلی لبه تکنولوژی زندگی میکنید و معماری مایکروسرویس و سرورلس براتون جالب بوده حتما یه نگاه به مفهوم تازه functionless بندازید. حذف برنامه نویسی جایی که واقعا کد زدن لازم نیست از اهداف این روشه
@DevTwitter | <مر آرام/>
@DevTwitter | <مر آرام/>
Forwarded from Gopher Academy
🔵 عنوان مقاله
Master the Fullstack
🟢 خلاصه مقاله:
این مقاله به بررسی مسیر یادگیری جامعی پرداخته که به شما کمک میکند تا تواناییهای خود را در زمینه سرورها گسترش دهید. در این مسیر، شما با نحوه ساخت APIها، بنای ظروف (کانتینرها)، استقرار کد، راهاندازی سرورها و موارد دیگر آشنا خواهید شد. از مراحل ابتدایی شامل طراحی و پیادهسازی APIهایی که به عنوان پل ارتباطی بین کاربر نهایی و پایگاهداده عمل میکنند، گرفته تا پیشرفتهترین موضوعات مانند ساخت و مدیریت کانتینرها برای بهبود دپلومانسی موثر و کاربردی، همه و همه در این مقاله به تفصیل شرح داده شدهاند. همچنین، شامل اطلاعاتی درخصوص انتخاب صحیح سختافزار و نرمافزار لازم برای بهینهسازی عملکرد سرور نیز میشود و با تکیه بر آخرین فناوریها و ابزارهای موجود، راههایی برای تسهیل مدیریت و نگهداری سرورها ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/163963/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Master the Fullstack
🟢 خلاصه مقاله:
این مقاله به بررسی مسیر یادگیری جامعی پرداخته که به شما کمک میکند تا تواناییهای خود را در زمینه سرورها گسترش دهید. در این مسیر، شما با نحوه ساخت APIها، بنای ظروف (کانتینرها)، استقرار کد، راهاندازی سرورها و موارد دیگر آشنا خواهید شد. از مراحل ابتدایی شامل طراحی و پیادهسازی APIهایی که به عنوان پل ارتباطی بین کاربر نهایی و پایگاهداده عمل میکنند، گرفته تا پیشرفتهترین موضوعات مانند ساخت و مدیریت کانتینرها برای بهبود دپلومانسی موثر و کاربردی، همه و همه در این مقاله به تفصیل شرح داده شدهاند. همچنین، شامل اطلاعاتی درخصوص انتخاب صحیح سختافزار و نرمافزار لازم برای بهینهسازی عملکرد سرور نیز میشود و با تکیه بر آخرین فناوریها و ابزارهای موجود، راههایی برای تسهیل مدیریت و نگهداری سرورها ارائه میدهد.
🟣لینک مقاله:
https://golangweekly.com/link/163963/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Frontendmasters
Fullstack to Backend Learning Path - Expand Your Abilities to the Server and Master the Fullstack
Set up servers, create APIs, and deploy your code to the world by learning the full stack.
Forwarded from محتوای آزاد سهراب
خب توی این قسمت یک نیمنگاهی انداختیم به این که چطور میتونیم پوستهٔ بش رو شخصیسازی کنیم.
تماشا از یوتوب
تماشا از پیرتوب
@SohrabContents
تماشا از یوتوب
تماشا از پیرتوب
@SohrabContents
Forwarded from Ninja Learn | نینجا لرن
لایه ۴: لایه انتقال (Transport Layer) 🚛
لایه Transport یکی از مهمترین بخشهای مدل OSI هست که وظیفه مدیریت انتقال داده بین دستگاهها و اطمینان از ارتباط پایدار و مؤثر رو بر عهده داره. این لایه تضمین میکنه که دادهها به درستی به مقصد برسن، ترتیبشون حفظ بشه، و در صورت وجود خطا، اصلاح بشن.
وظایف اصلی لایه انتقال ✅
📦 تقسیمبندی دادهها (Segmentation):
وقتی اپلیکیشنی قصد ارسال داده داره، این دادهها به قطعات کوچکتری به نام سگمنت تقسیم میشن. هر سگمنت یک هدر مخصوص داره که شامل اطلاعاتی مثل شماره ترتیبی و آدرس پورت میشه.
🧩 بازسازی دادهها (Reassembly):
در مقصد، لایه انتقال سگمنتها رو با استفاده از شماره ترتیبی که در هدرشون ذخیره شده، به ترتیب کنار هم قرار میده و داده اصلی رو بازسازی میکنه.
⚠️ کنترل خطا (Error Control):
لایه انتقال با استفاده از تکنیکهایی مثل Checksum صحت دادهها رو بررسی میکنه. اگه خطایی در دادهها تشخیص داده بشه، درخواست ارسال مجدد سگمنت انجام میشه.
🚦 کنترل جریان (Flow Control):
وقتی فرستنده سریعتر از گیرنده داده ارسال میکنه، ممکنه گیرنده دچار مشکل بشه. لایه انتقال سرعت ارسال رو با استفاده از Sliding Window تنظیم میکنه.
🔗 مدیریت ارتباط (Connection Management):
لایه انتقال میتونه ارتباط رو به دو صورت Connection-Oriented (مانند TCP) یا Connectionless (مانند UDP) مدیریت کنه. در ارتباطات Connection-Oriented، قبل از ارسال دادهها یک ارتباط پایدار برقرار میشه.
پروتکلهای کلیدی در لایه انتقال
TCP (Transmission Control Protocol):
💡 TCP یک پروتکل Connection-Oriented و Reliable هست که برای ارتباطات حساس به دقت استفاده میشه.
ویژگیهای کلیدی:
ارتباط مبتنی بر اتصال:
SYN: درخواست اتصال از فرستنده.
SYN-ACK: پاسخ گیرنده.
ACK: تأیید فرستنده.
شمارهگذاری سگمنتها:
🔢 TCP به هر سگمنت یک شماره منحصربهفرد اختصاص میده تا دادهها در مقصد به درستی بازسازی بشن.
کنترل جریان:
با استفاده از Sliding Window، TCP حجم دادهای که میتونه ارسال بشه رو تنظیم میکنه.
کنترل خطا:
با استفاده از Checksum و Acknowledgment صحت دادهها بررسی و تضمین میشه.
UDP (User Datagram Protocol):
⚡ UDP یک پروتکل Connectionless و Unreliable هست که برای ارتباطات سریع طراحی شده.
ویژگیهای کلیدی:
بدون اتصال:
UDP دادهها رو بدون ایجاد ارتباط پایدار ارسال میکنه.
بدون تضمین تحویل:
❌ اگه دادهای گم بشه یا خراب بشه، UDP هیچ تضمینی برای ارسال مجدد نداره.
سرعت بالا:
چون کنترل جریان یا تصحیح خطا نداره، سرعت انتقال بالاتره.
🎛 پورتها و شمارهگذاری در لایه انتقال
پورتها اعدادی ۱۶بیتی هستن که ارتباط بین اپلیکیشنها و دستگاهها رو مدیریت میکنن.
پورتهای شناختهشده (Well-Known Ports):
📌 این پورتها اعداد بین ۰ تا ۱۰۲۳ هستن و به پروتکلهای معروف اختصاص داده شدن.
HTTP: پورت 80
HTTPS: پورت 443
FTP: پورت 21
پورتهای رجیسترشده (Registered Ports):
🔒 اعداد بین ۱۰۲۴ تا ۴۹۱۵۱ که برای اپلیکیشنهای خاص رزرو میشن.
پورتهای داینامیک (Dynamic Ports):
🔄 اعداد بین ۴۹۱۵۲ تا ۶۵۵۳۵ که برای ارتباطات موقت استفاده میشن.
جمعبندی ✍
لایه Transport نقش حیاتی در تضمین انتقال دادهها بین دستگاهها داره. انتخاب پروتکل مناسب به نیازهای اپلیکیشن شما بستگی داره:
TCP برای ارتباطات حساس به دقت.
UDP برای ارتباطات حساس به سرعت.
➖➖➖➖➖➖➖➖➖
لایه Transport یکی از مهمترین بخشهای مدل OSI هست که وظیفه مدیریت انتقال داده بین دستگاهها و اطمینان از ارتباط پایدار و مؤثر رو بر عهده داره. این لایه تضمین میکنه که دادهها به درستی به مقصد برسن، ترتیبشون حفظ بشه، و در صورت وجود خطا، اصلاح بشن.
وظایف اصلی لایه انتقال ✅
📦 تقسیمبندی دادهها (Segmentation):
وقتی اپلیکیشنی قصد ارسال داده داره، این دادهها به قطعات کوچکتری به نام سگمنت تقسیم میشن. هر سگمنت یک هدر مخصوص داره که شامل اطلاعاتی مثل شماره ترتیبی و آدرس پورت میشه.
🧩 بازسازی دادهها (Reassembly):
در مقصد، لایه انتقال سگمنتها رو با استفاده از شماره ترتیبی که در هدرشون ذخیره شده، به ترتیب کنار هم قرار میده و داده اصلی رو بازسازی میکنه.
⚠️ کنترل خطا (Error Control):
لایه انتقال با استفاده از تکنیکهایی مثل Checksum صحت دادهها رو بررسی میکنه. اگه خطایی در دادهها تشخیص داده بشه، درخواست ارسال مجدد سگمنت انجام میشه.
🚦 کنترل جریان (Flow Control):
وقتی فرستنده سریعتر از گیرنده داده ارسال میکنه، ممکنه گیرنده دچار مشکل بشه. لایه انتقال سرعت ارسال رو با استفاده از Sliding Window تنظیم میکنه.
🔗 مدیریت ارتباط (Connection Management):
لایه انتقال میتونه ارتباط رو به دو صورت Connection-Oriented (مانند TCP) یا Connectionless (مانند UDP) مدیریت کنه. در ارتباطات Connection-Oriented، قبل از ارسال دادهها یک ارتباط پایدار برقرار میشه.
پروتکلهای کلیدی در لایه انتقال
TCP (Transmission Control Protocol):
💡 TCP یک پروتکل Connection-Oriented و Reliable هست که برای ارتباطات حساس به دقت استفاده میشه.
ویژگیهای کلیدی:
ارتباط مبتنی بر اتصال:
فرآیند Three-Way Handshake شامل مراحل زیره:
SYN: درخواست اتصال از فرستنده.
SYN-ACK: پاسخ گیرنده.
ACK: تأیید فرستنده.
شمارهگذاری سگمنتها:
🔢 TCP به هر سگمنت یک شماره منحصربهفرد اختصاص میده تا دادهها در مقصد به درستی بازسازی بشن.
کنترل جریان:
با استفاده از Sliding Window، TCP حجم دادهای که میتونه ارسال بشه رو تنظیم میکنه.
کنترل خطا:
با استفاده از Checksum و Acknowledgment صحت دادهها بررسی و تضمین میشه.
UDP (User Datagram Protocol):
⚡ UDP یک پروتکل Connectionless و Unreliable هست که برای ارتباطات سریع طراحی شده.
ویژگیهای کلیدی:
بدون اتصال:
UDP دادهها رو بدون ایجاد ارتباط پایدار ارسال میکنه.
بدون تضمین تحویل:
❌ اگه دادهای گم بشه یا خراب بشه، UDP هیچ تضمینی برای ارسال مجدد نداره.
سرعت بالا:
چون کنترل جریان یا تصحیح خطا نداره، سرعت انتقال بالاتره.
🎛 پورتها و شمارهگذاری در لایه انتقال
پورتها اعدادی ۱۶بیتی هستن که ارتباط بین اپلیکیشنها و دستگاهها رو مدیریت میکنن.
پورتهای شناختهشده (Well-Known Ports):
📌 این پورتها اعداد بین ۰ تا ۱۰۲۳ هستن و به پروتکلهای معروف اختصاص داده شدن.
HTTP: پورت 80
HTTPS: پورت 443
FTP: پورت 21
پورتهای رجیسترشده (Registered Ports):
🔒 اعداد بین ۱۰۲۴ تا ۴۹۱۵۱ که برای اپلیکیشنهای خاص رزرو میشن.
پورتهای داینامیک (Dynamic Ports):
🔄 اعداد بین ۴۹۱۵۲ تا ۶۵۵۳۵ که برای ارتباطات موقت استفاده میشن.
جمعبندی ✍
لایه Transport نقش حیاتی در تضمین انتقال دادهها بین دستگاهها داره. انتخاب پروتکل مناسب به نیازهای اپلیکیشن شما بستگی داره:
TCP برای ارتباطات حساس به دقت.
UDP برای ارتباطات حساس به سرعت.
#⃣ #network
➖➖➖➖➖➖➖➖➖
🥷 CHANNEL | GROUP
Forwarded from Philocode
این ابزار برای دانلود از Youtube عالیه!
https://github.com/yt-dlp/yt-dlp
https://github.com/yt-dlp/yt-dlp
GitHub
GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader
A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
دنبال یادگیری دیزاین پترن هستی؟ اونم فارسی؟ اونم اکثر زبان ها مثل پایتون، پی اچ پی و..؟
بیا بگیر برو جوان ایرانی:
https://github.com/3lf/design-patterns-for-humans
@DevTwiiter | <Milwad Khosravi/>
بیا بگیر برو جوان ایرانی:
https://github.com/3lf/design-patterns-for-humans
@DevTwiiter | <Milwad Khosravi/>
Forwarded from mnr tech
در خیلی مواقع ممکنه شما به عنوان برنامه نویس پروژه ها و ریپو های زیادی روی سیستمتون داشته باشین. حالا فرض کنید میخواین سیستم عاملتون رو عوض کنید و خوب قطعا این ریپو ها رو توی گیت دارین ولی چیزی که توی گیت نیست فایل های env هست. اگر تعداد پروژه ها زیاد باشه (مثلا در مورد خودم شاید حدود ۵۰ تا پروژه داشته باشم) کپی و انتقال فایل های env سخت میشه.
با کمک اسکریپت زیر میتونید دایرکتوری پروژه هاتون رو به صورت تو در تو بررسی کنید و هر فایل env رو با توجه به ساختار دایرکتوری والد کپی کنید.
کافیه یک فایل بش بسازین کدهای بالا رو توش بنویسید، آدرس های مورد نظر رو تنظیم کنید و فایل بش رو اجرا کنید.
با کمک اسکریپت زیر میتونید دایرکتوری پروژه هاتون رو به صورت تو در تو بررسی کنید و هر فایل env رو با توجه به ساختار دایرکتوری والد کپی کنید.
#!/bin/bash
# دایرکتوری پروژهها
SOURCE_DIR="$HOME/prj" # مسیر دایرکتوری اصلی را اینجا تغییر دهید
# دایرکتوری مقصد
DEST_DIR="$HOME/env_backups"
# بررسی وجود دایرکتوری مقصد
mkdir -p "$DEST_DIR"
# جستجوی فایلهای .env و کپی با حفظ ساختار دایرکتوری
find "$SOURCE_DIR" -type f -name ".env" | while read -r env_file; do
# مسیر نسبی فایل .env نسبت به دایرکتوری اصلی
relative_path="${env_file#$SOURCE_DIR/}"
# مسیر مقصد با ساختار دایرکتوری
dest_path="$DEST_DIR/$relative_path"
# ایجاد دایرکتوریهای والد
mkdir -p "$(dirname "$dest_path")"
# کپی فایل به مقصد
cp "$env_file" "$dest_path"
echo "Copied: $env_file -> $dest_path"
done
echo "Backup completed. All .env files are copied to $DEST_DIR."
کافیه یک فایل بش بسازین کدهای بالا رو توش بنویسید، آدرس های مورد نظر رو تنظیم کنید و فایل بش رو اجرا کنید.
Forwarded from 🎄 یک برنامه نویس تنبل (The Lazy 🌱 Raymond)
Forwarded from Gopher Academy
🔵 عنوان مقاله
betteralign 0.6: Make Your Programs Use Less Memory.. Maybe
🟢 خلاصه مقاله:
این مقاله به ابزاری جدید میپردازد که با هدف کاهش مصرف حافظه در زبان برنامهنویسی Go طراحی شده است. این ابزار، که یک شاخه از ابزار fieldalignment موجود در Go است، از طریق بازآرایی فیلدهای موجود در ساختارها (structs) کار میکند. تفاوتهای اصلی این ابزار با نسخه اصلی شامل عدم بررسی فایلهای تولیدی یا تست، پرش از ساختارهایی که به صورت خاص مشخص شدهاند یا دارای فیلدهای ناشناس هستند، و نگهداشتن کامنتها در کد است. این بهبودها به منظور افزایش تجربه توسعهدهندگان (DX) ارائه شده است. استفاده از این ابزار میتواند به توسعهدهندگان کمک کند تا با بازسازی ساختارها، بهینهسازی مصرف حافظه را در برنامههای خود اعمال کنند.
🟣لینک مقاله:
https://golangweekly.com/link/163987/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
betteralign 0.6: Make Your Programs Use Less Memory.. Maybe
🟢 خلاصه مقاله:
این مقاله به ابزاری جدید میپردازد که با هدف کاهش مصرف حافظه در زبان برنامهنویسی Go طراحی شده است. این ابزار، که یک شاخه از ابزار fieldalignment موجود در Go است، از طریق بازآرایی فیلدهای موجود در ساختارها (structs) کار میکند. تفاوتهای اصلی این ابزار با نسخه اصلی شامل عدم بررسی فایلهای تولیدی یا تست، پرش از ساختارهایی که به صورت خاص مشخص شدهاند یا دارای فیلدهای ناشناس هستند، و نگهداشتن کامنتها در کد است. این بهبودها به منظور افزایش تجربه توسعهدهندگان (DX) ارائه شده است. استفاده از این ابزار میتواند به توسعهدهندگان کمک کند تا با بازسازی ساختارها، بهینهسازی مصرف حافظه را در برنامههای خود اعمال کنند.
🟣لینک مقاله:
https://golangweekly.com/link/163987/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - dkorunic/betteralign: Make your Go programs use less memory (maybe)
Make your Go programs use less memory (maybe). Contribute to dkorunic/betteralign development by creating an account on GitHub.
Forwarded from Milad Nouri(ツ) میلاد نوری
75836 Document.pdf
3.7 MB
شرکت ارتباطات زیرساخت، یک گزارش از حملههای DDos به زیرساختهای ایران در پاییز ۱۴۰۳ را منتشر کرده است.
🔗 فایل پیدیاف این گزارش پیوست شده است.
📈 خلاصه این گزارش (حملههای DDoS از یک مهر تا سی آذر ۱۴۰۳):
- تعداد حملهها: به صورت میانگین روزانه ۶۳۵ حمله، مجموعا ۵۷,۲۱۸ حمله
- حجم حملهها: میانگین ۳۶.۴۳ گیگابایت بر ثانیه و مجموعا ۱۲.۵۸ پتابایت در کل پاییز
- میانگین مدت زمان حملهها: ۴دقیقه و ۳۷ ثانیه
- طولانیترین حمله: ۴ روز و ۹ ساعت و ۵۰ دقیقه
- بیشترین تعداد حمله همزمان: ۱۴۸ حمله
- منابع حملهها: ۶۴ درصد حملات از ۱۰ کشور، بیش از ۱۵ درصد از روسیه، سپس اندونزی (۱۰٪) و اوکراین (۵٪)
- روشها: از هر ۱۰۰ حمله ۳۵ حمله (۳۵٪) از طریق شبکه دستگاههای آلوده (Bot Pool)
- هدفهای با بیشترین حملهها:
- ۱۸٪: شرکتهای اینترنت سیار
- ۱۷٪: کسبوکارهای اینترنتی
- ۱۴٪: شرکتهای اینترنت ثابت
- مقاصد پرحمله: ۵۰۰ مقصد بیش از ۲۵۰ بار مورد حمله قرار گرفتند.
- حملههای کوتاه و کمحجم: بیشترین حملات در محدوده زیر ۲ گیگابایت بر ثانیه و کمتر از ۵ دقیقه
- سرویسهای آسیبپذیر: اپراتورهای همراه، کسبوکارهای اینترنتی، اپراتورهای ثابت و درگاههای خدمات آنلاین
*توضیح DDoS: حملهای سایبری که با ارسال ترافیک کاذب، سرویسها و وبسایتها را مختل میکند و مانع ارایه خدمات به کاربرهای واقعی میشود.
⚠️ نقش دستگاههای آلوده: بسیاری از این حملات با استفاده از دستگاههای آلوده کاربران و بدون اطلاع آنها انجام شده است.
اطلاعات و آمار کاملتر رو میتوانید در نسخه پیدیاف پیوست شده بخوانید.
⚠️ نتیجه کلی: فیلترینگ گسترده و نصب اپلیکیشنهای فیلترشکن مختلف توسط کاربرها (به ناچار)، نقش مهمی در در افزایش این حملات داشته است و دستگاه کاربرهای زیادی بدون اینکه بدانند، در این حملهها مشارکت دارد!
🖥 @MiladNouriChannel
- تعداد حملهها: به صورت میانگین روزانه ۶۳۵ حمله، مجموعا ۵۷,۲۱۸ حمله
- حجم حملهها: میانگین ۳۶.۴۳ گیگابایت بر ثانیه و مجموعا ۱۲.۵۸ پتابایت در کل پاییز
- میانگین مدت زمان حملهها: ۴دقیقه و ۳۷ ثانیه
- طولانیترین حمله: ۴ روز و ۹ ساعت و ۵۰ دقیقه
- بیشترین تعداد حمله همزمان: ۱۴۸ حمله
- منابع حملهها: ۶۴ درصد حملات از ۱۰ کشور، بیش از ۱۵ درصد از روسیه، سپس اندونزی (۱۰٪) و اوکراین (۵٪)
- روشها: از هر ۱۰۰ حمله ۳۵ حمله (۳۵٪) از طریق شبکه دستگاههای آلوده (Bot Pool)
- هدفهای با بیشترین حملهها:
- ۱۸٪: شرکتهای اینترنت سیار
- ۱۷٪: کسبوکارهای اینترنتی
- ۱۴٪: شرکتهای اینترنت ثابت
- مقاصد پرحمله: ۵۰۰ مقصد بیش از ۲۵۰ بار مورد حمله قرار گرفتند.
- حملههای کوتاه و کمحجم: بیشترین حملات در محدوده زیر ۲ گیگابایت بر ثانیه و کمتر از ۵ دقیقه
- سرویسهای آسیبپذیر: اپراتورهای همراه، کسبوکارهای اینترنتی، اپراتورهای ثابت و درگاههای خدمات آنلاین
*توضیح DDoS: حملهای سایبری که با ارسال ترافیک کاذب، سرویسها و وبسایتها را مختل میکند و مانع ارایه خدمات به کاربرهای واقعی میشود.
اطلاعات و آمار کاملتر رو میتوانید در نسخه پیدیاف پیوست شده بخوانید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 🎄 DevTwitter | توییت برنامه نویسی
اگه دوست دارید یادبگیرید چطور agent های خودتون را درست کنید و دیپلوی کنید، کمپانی HuggingFace یک دوره رایگان گذاشته. این دوره از یادگیری مفاهیم اصلی شروع میشه و بعد کار با فریمورک های مختلف مثل langchain و llamaIndex و Smolagents را یاد میدن. و آخر هم که چندین مثال واقعی استفاده از agent ها را یاد میگیرید. به نظر میاد که certificate هم میدن (که البته به نظر من دادن یا ندادن اون اصلا مهم نیست!). یکی از بهترین دوره های کاربردی میتونه باشه!
تو این لینک برید و ثبت نام کنید.
https://huggingface.us17.list-manage.com/subscribe?u=7f57e683fa28b51bfc493d048&id=9ed45a3ef6
@DevTwiiter | <Mehdi Allahyari/>
تو این لینک برید و ثبت نام کنید.
https://huggingface.us17.list-manage.com/subscribe?u=7f57e683fa28b51bfc493d048&id=9ed45a3ef6
@DevTwiiter | <Mehdi Allahyari/>
Forwarded from Go Casts 🚀
آفر از هف هشتاد 🔥 (فیدبک در تصویر)
دوستمون از هف هشتاد آفر گرفته و در نهایت هم در یه شرکت دیگه استخدام شد (آفر یه شرکت دیگه رو بصورت دورکاری قبول کرد)
همانطور که در فیدبک مشخصه، ترکیب دوره + تیمسازی تلاش میکنه در ابعاد مختلف به شما کمک کنه هم در مهندسی نرم افزار، طراحی سیستم، برنامه نویسی بکند و همچنین برنامه نویسی گولنگ تجربه های مفیدی رو کسب کنید
خرید از سایت با تخفیف ۵۰ درصد
https://gocasts.ir
همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434
تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
@gocasts
دوستمون از هف هشتاد آفر گرفته و در نهایت هم در یه شرکت دیگه استخدام شد (آفر یه شرکت دیگه رو بصورت دورکاری قبول کرد)
همانطور که در فیدبک مشخصه، ترکیب دوره + تیمسازی تلاش میکنه در ابعاد مختلف به شما کمک کنه هم در مهندسی نرم افزار، طراحی سیستم، برنامه نویسی بکند و همچنین برنامه نویسی گولنگ تجربه های مفیدی رو کسب کنید
خرید از سایت با تخفیف ۵۰ درصد
https://gocasts.ir
همه چیز در مورد دوره و تیمسازی در این پست توضیح داده شده
https://news.1rj.ru/str/gocasts/434
تو این پست هم میتونید فیدبک های دوره و تیمسازی و استخدام بچه هارو بخونید
https://news.1rj.ru/str/gocasts/441
دوستانی که در خرید دوره تردید دارند میتونن برای مشاوره کوتاه تلفنی، فرم زیر رو پر کنند که باهاشون تماس بگیرم
https://survey.porsline.ir/s/ATeQL4b4
@gocasts
Forwarded from Go Casts 🚀
اینجا میتونید فیدبک های مختلفی نسبت به دوره و تجربه استخدام بچه ها رو بخونید.
فیدبک از پروسه مصاحبه و استخدام در اسنپ ۳ نقطه🔥
https://news.1rj.ru/str/gocasts/392
فیدبک آقا سیاوش عزیز که چند سالی هست به آلمان مهاجرت کرده و golang developer هست
https://news.1rj.ru/str/gocasts/325
گزارش استخدام ۵ نفر از دوستان تیمسازی و دوره که بعضی شون از طرف gocasts معرفی شدند
https://news.1rj.ru/str/gocasts/383
فیدبک محمد جان با بیش از ۴ سال سابقه به عنوان software developer در سرویس «کارنامه» از زیرمجموعه های هزاردستان
https://news.1rj.ru/str/gocasts/344
فیدبک آقای فراهانی VP of Engineering از شرکت OzoneCard نسبت به استخدام یکی از بچه ها
https://news.1rj.ru/str/gocasts/431
فیدبک تیمسازی
https://news.1rj.ru/str/gocasts/562
آفر از هف هشتاد
https://news.1rj.ru/str/gocasts/611
استخدام ایمان جان
https://news.1rj.ru/str/gocasts/550
فیدبک نسبت به کیفیت ساختار کد دوره نسبت به کدهای واقعی شرکت
https://news.1rj.ru/str/gocasts/385
آیا کیفیت دوره ویدیویی با بوتکمپ متفاوته؟ (فیدبک مهدی جان که در بوتکمپ شرکت نکرده و دوره ویدیویی رو دیده)
https://news.1rj.ru/str/gocasts/296
مهدی جان و اولین کار گولنگی!
https://news.1rj.ru/str/gocasts/319
فیدبک آقای کاظمی و استخدام در ایرانیکارت
https://news.1rj.ru/str/gocasts/436
فیدبک مصاحبه mock طراحی سیستم
https://news.1rj.ru/str/gocasts/588
فیدبک خانم جباری که در اسنپ تاکسی مشغول به کار هستند
https://news.1rj.ru/str/gocasts/295
فیدبک عرفان جان با بیش از ۴ سال سابقه برنامه نویسی نسبت به دوره
https://news.1rj.ru/str/gocasts/362
فیدبک امیرحسین جان نسبت به دوره و تجربه پروسه استخدام
https://news.1rj.ru/str/gocasts/416
فیدبک یکی از دوستانی که در بوتکمپ شرکت کردند در مورد ویدیوهای معماری نرم افزار
https://news.1rj.ru/str/gocasts/286
فیدبک سینا جان پس از استخدام
https://news.1rj.ru/str/gocasts/447
فیدبک محمدمهدی جان پس از استخدام
https://news.1rj.ru/str/gocasts/448
فیدبک نسبت به کیفیت آموزش
https://news.1rj.ru/str/gocasts/491
با ما بپّر، یه جایی قُلابت گیر میکنه!
https://news.1rj.ru/str/gocasts/529
فیدبک یکی از دوستان نسبت به دوره
https://news.1rj.ru/str/gocasts/541
تعداد مشارکت کنندگاه دوره از ۵۰۰ نفر گذشت 🔥
https://news.1rj.ru/str/gocasts/572
@gocasts
#فیدبک
#feedback
#دوره
#استخدام
فیدبک از پروسه مصاحبه و استخدام در اسنپ ۳ نقطه🔥
https://news.1rj.ru/str/gocasts/392
فیدبک آقا سیاوش عزیز که چند سالی هست به آلمان مهاجرت کرده و golang developer هست
https://news.1rj.ru/str/gocasts/325
گزارش استخدام ۵ نفر از دوستان تیمسازی و دوره که بعضی شون از طرف gocasts معرفی شدند
https://news.1rj.ru/str/gocasts/383
فیدبک محمد جان با بیش از ۴ سال سابقه به عنوان software developer در سرویس «کارنامه» از زیرمجموعه های هزاردستان
https://news.1rj.ru/str/gocasts/344
فیدبک آقای فراهانی VP of Engineering از شرکت OzoneCard نسبت به استخدام یکی از بچه ها
https://news.1rj.ru/str/gocasts/431
فیدبک تیمسازی
https://news.1rj.ru/str/gocasts/562
آفر از هف هشتاد
https://news.1rj.ru/str/gocasts/611
استخدام ایمان جان
https://news.1rj.ru/str/gocasts/550
فیدبک نسبت به کیفیت ساختار کد دوره نسبت به کدهای واقعی شرکت
https://news.1rj.ru/str/gocasts/385
آیا کیفیت دوره ویدیویی با بوتکمپ متفاوته؟ (فیدبک مهدی جان که در بوتکمپ شرکت نکرده و دوره ویدیویی رو دیده)
https://news.1rj.ru/str/gocasts/296
مهدی جان و اولین کار گولنگی!
https://news.1rj.ru/str/gocasts/319
فیدبک آقای کاظمی و استخدام در ایرانیکارت
https://news.1rj.ru/str/gocasts/436
فیدبک مصاحبه mock طراحی سیستم
https://news.1rj.ru/str/gocasts/588
فیدبک خانم جباری که در اسنپ تاکسی مشغول به کار هستند
https://news.1rj.ru/str/gocasts/295
فیدبک عرفان جان با بیش از ۴ سال سابقه برنامه نویسی نسبت به دوره
https://news.1rj.ru/str/gocasts/362
فیدبک امیرحسین جان نسبت به دوره و تجربه پروسه استخدام
https://news.1rj.ru/str/gocasts/416
فیدبک یکی از دوستانی که در بوتکمپ شرکت کردند در مورد ویدیوهای معماری نرم افزار
https://news.1rj.ru/str/gocasts/286
فیدبک سینا جان پس از استخدام
https://news.1rj.ru/str/gocasts/447
فیدبک محمدمهدی جان پس از استخدام
https://news.1rj.ru/str/gocasts/448
فیدبک نسبت به کیفیت آموزش
https://news.1rj.ru/str/gocasts/491
با ما بپّر، یه جایی قُلابت گیر میکنه!
https://news.1rj.ru/str/gocasts/529
فیدبک یکی از دوستان نسبت به دوره
https://news.1rj.ru/str/gocasts/541
تعداد مشارکت کنندگاه دوره از ۵۰۰ نفر گذشت 🔥
https://news.1rj.ru/str/gocasts/572
@gocasts
#فیدبک
#feedback
#دوره
#استخدام
Telegram
Go Casts 🚀
استخدام در اسنپ ۳ نقطه🔥
توضیحات تصویر
گام 0: خرید دوره و ابراز امیدواری برای استخدام در اسنپ 🙂
گام 1: همراهی از مرحله اصلاح رزومه🎬
گام 2: ارائه توصیه به فرد برای بهبود روند مصاحبه🪄
گام 3: ایجاد انگیزه برای پیش بردن پروسه های مصاحبه🤜
گام 4: شنیدن خبر…
توضیحات تصویر
گام 0: خرید دوره و ابراز امیدواری برای استخدام در اسنپ 🙂
گام 1: همراهی از مرحله اصلاح رزومه🎬
گام 2: ارائه توصیه به فرد برای بهبود روند مصاحبه🪄
گام 3: ایجاد انگیزه برای پیش بردن پروسه های مصاحبه🤜
گام 4: شنیدن خبر…
Forwarded from Linuxor ?
ایدِمپُتِنس Idempotence توی نرمافزار به عملیاتی گفته میشه که صرفنظر از تعداد دفعات اجراش، نتیجه یکسانی تولید میکنه.
مثلا دستور زیر رو ببینید
chmod 777 file
این یه دستور ایدِمپُتِنس هستش یعنی اگه یکبار اجرا بشه دفه های بعدی هم اجراش کنید خطا نمیده که بگه این قبلا 777 بوده، توی API ها مثلا پرداخت هم میتونین بجای اینکه برگردونید این تراکنش نامعتبره برگردونید این تراکنش با فلان اطلاعات انجام شده؛ یا مثلا اگه چیزی خواستین توی دیتابیس آپدیت کنید و وجود نداشت میتونین اونو اینسرتش کنید و خطا بر نگردونید.
@Linuxor
مثلا دستور زیر رو ببینید
chmod 777 file
این یه دستور ایدِمپُتِنس هستش یعنی اگه یکبار اجرا بشه دفه های بعدی هم اجراش کنید خطا نمیده که بگه این قبلا 777 بوده، توی API ها مثلا پرداخت هم میتونین بجای اینکه برگردونید این تراکنش نامعتبره برگردونید این تراکنش با فلان اطلاعات انجام شده؛ یا مثلا اگه چیزی خواستین توی دیتابیس آپدیت کنید و وجود نداشت میتونین اونو اینسرتش کنید و خطا بر نگردونید.
@Linuxor
Forwarded from Armon technical logs (armon Taheri)
من این کتاب رو میخوام مطالعه کنم و ویس هر میزانی که بخونم رو اینجا میذارم