Forwarded from Gopher Academy
در برنامهنویسی، مفاهیم همزمان (Synchronous) و ناهمزمان (Asynchronous) به نحوه اجرای عملیاتها و تعامل با سیستم اشاره دارند. در ادامه، تفاوتهای کلیدی بین این دو نوع اجرای عملیات را بررسی میکنیم:
1. عملیات همزمان (Synchronous)
در عملیات همزمان، دستورات به ترتیب و یکی پس از دیگری اجرا میشوند. به این معنا که پردازش باید منتظر تکمیل یک عملیات شود تا عملیات بعدی آغاز شود.
ویژگیها:
ترتیب خطی: دستورات به صورت خطی و به ترتیب اجرا میشوند.
مسدودکننده: تا زمانی که یک عملیات به پایان نرسیده باشد، عملیات بعدی شروع نمیشود.
سادهتر: پیادهسازی و درک آن معمولاً سادهتر است.
مثال:
در یک برنامه همزمان، اگر تابعی برای خواندن دادهها از یک فایل داشته باشید، برنامه تا زمانی که خواندن کامل نشود، متوقف میشود و سپس ادامه پیدا میکند.
2. عملیات ناهمزمان (Asynchronous)
در عملیات ناهمزمان، عملیاتها به طور همزمان و مستقل از یکدیگر اجرا میشوند. این به این معناست که برنامه میتواند بدون منتظر ماندن برای تکمیل یک عملیات، به کار خود ادامه دهد.
ویژگیها:
غیرترتیبی: عملیاتها به صورت مستقل و غیرترتیبی اجرا میشوند.
غیرمسدودکننده: برنامه میتواند به انجام کارهای دیگر ادامه دهد در حالی که عملیاتهای دیگر در پسزمینه در حال اجرا هستند.
پیچیدهتر: پیادهسازی و مدیریت کد ناهمزمان میتواند پیچیدهتر باشد و نیاز به مدیریت مناسب اشتباهات و همزمانی دارد.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
1. عملیات همزمان (Synchronous)
در عملیات همزمان، دستورات به ترتیب و یکی پس از دیگری اجرا میشوند. به این معنا که پردازش باید منتظر تکمیل یک عملیات شود تا عملیات بعدی آغاز شود.
ویژگیها:
ترتیب خطی: دستورات به صورت خطی و به ترتیب اجرا میشوند.
مسدودکننده: تا زمانی که یک عملیات به پایان نرسیده باشد، عملیات بعدی شروع نمیشود.
سادهتر: پیادهسازی و درک آن معمولاً سادهتر است.
مثال:
در یک برنامه همزمان، اگر تابعی برای خواندن دادهها از یک فایل داشته باشید، برنامه تا زمانی که خواندن کامل نشود، متوقف میشود و سپس ادامه پیدا میکند.
2. عملیات ناهمزمان (Asynchronous)
در عملیات ناهمزمان، عملیاتها به طور همزمان و مستقل از یکدیگر اجرا میشوند. این به این معناست که برنامه میتواند بدون منتظر ماندن برای تکمیل یک عملیات، به کار خود ادامه دهد.
ویژگیها:
غیرترتیبی: عملیاتها به صورت مستقل و غیرترتیبی اجرا میشوند.
غیرمسدودکننده: برنامه میتواند به انجام کارهای دیگر ادامه دهد در حالی که عملیاتهای دیگر در پسزمینه در حال اجرا هستند.
پیچیدهتر: پیادهسازی و مدیریت کد ناهمزمان میتواند پیچیدهتر باشد و نیاز به مدیریت مناسب اشتباهات و همزمانی دارد.
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Forwarded from Ninja Learn | نینجا لرن
اونایی که هنوز سربازی نرفتن یه سر به پست آخرمون بزنن 😉
https://www.instagram.com/p/DADR31eIFbk/?igsh=ajNrbHltYzMxMHVu
https://www.instagram.com/p/DADR31eIFbk/?igsh=ajNrbHltYzMxMHVu
Forwarded from Linuxor ?
به شبکه ای که بتونه 12.5KiB رو با یه ضرب انتقال بده میگن Long Fat Network که یه شبکه با پهنای باند بالا و سرعت بالایی محسوب میشه
زمان قدیم کامپیوتری که توی این شبکه بود اگه ویندوز یا مک بود موقع اتصال به این شبکه کند عمل میکرد،که سال 2006 الگوریتم CUBIC به لینوکس اضافه شد و این الگوریتم در واقع باعث میشه توی زمان کوتاه تری سیستم عامل از حجم بیشتری از شبکه استفاده کنه
ویندوز و مک هم با یه تاخیر 7 8 ساله تازه فهمیدن قضیه چیه و این الگوریتم رو از روی لینوکس کپی کردن
🐧 @Linuxor
زمان قدیم کامپیوتری که توی این شبکه بود اگه ویندوز یا مک بود موقع اتصال به این شبکه کند عمل میکرد،که سال 2006 الگوریتم CUBIC به لینوکس اضافه شد و این الگوریتم در واقع باعث میشه توی زمان کوتاه تری سیستم عامل از حجم بیشتری از شبکه استفاده کنه
ویندوز و مک هم با یه تاخیر 7 8 ساله تازه فهمیدن قضیه چیه و این الگوریتم رو از روی لینوکس کپی کردن
🐧 @Linuxor
Forwarded from Ninja Learn | نینجا لرن
🌿 استفاده از پکیج dotenv در Node.js 🌿
امروز میخوایم در مورد پکیج dotenv توی Node.js صحبت کنیم. شاید برات سوال شده باشه که چطوری میشه اطلاعات حساس مثل API keyها، پسوردها و تنظیمات مهم رو بهصورت امن توی پروژه نگه داشت. اینجاست که dotenv میاد وسط و کار رو خیلی راحت میکنه! 😎
❓حالا dotenv چیه؟ 🤔
خب dotenv یه پکیجه که بهت اجازه میده اطلاعات حساس رو توی یه فایل به اسم .env ذخیره کنی. بهجای اینکه این اطلاعات رو مستقیم توی کدت بنویسی (که خیلی خطرناکه 😱)، میتونی توی فایل .env نگهشون داری و وقتی اپلیکیشن اجرا میشه، dotenv این مقادیر رو لود میکنه ومتغیرهای محیطی اضافه میکنه.
❓چرا باید از dotenv استفاده کنیم؟ 🔐
1⃣ امنیت بیشتر:
اطلاعات حساس رو مستقیم توی کدت نمینویسی
2⃣ سادگی در مدیریت تنظیماتات:
برای هر محیطی (مثل توسعه، تولید و تست) میتونی فایلهای .env جداگانه داشته باشی
3⃣ خوانایی بهتر کد:
وقتی اطلاعات حساس بیرون از کد اصلی باشه، کد تمیزتر و قابل نگهداریتر میشه.
❓ چطوری نصبش کنیم؟ 🛠️
نصب و استفاده از dotenv خیلی سادهست. اول با دستور زیر نصبش کن:
نحوه استفاده از dotenv 🚀
بعد از نصب، یه فایل .env توی پروژهات بساز و اطلاعات حساسی مثل API key، پسورد دیتابیس و بقیه تنظیمات رو توش ذخیره کن. مثلا:
حالا توی app.js (یا هر فایل اصلی پروژهات) باید dotenv رو لود کنی:
با این کار، dotenv تمام اطلاعات توی فایل .env رو لود میکنه و میتونی با استفاده از process.env بهشون دسترسی داشته باشی:
نکته مهم 🛑
هیچوقت فایل .env رو توی مخزن گیت (git) قرار نده! چون ممکنه اطلاعات حساسی مثل API keyهات لو بره. برای جلوگیری از این کار، فایل .env رو به .gitignore اضافه کن:
✅ جمعبندی:
پکیج dotenv خیلی به دردبخوره چون هم بهت کمک میکنه اطلاعات حساس رو به صورت امن مدیریت کنی و هم کدت تمیزتر و سازمانیافتهتر بشه. پس حتماً توی پروژههات ازش استفاده کن تا هم امنیت بالا بره هم تنظیمات محیطیت راحتتر مدیریت بشه. 😁
امید وارم مفید بوده باشه :)
@ninja_learn_ir
امروز میخوایم در مورد پکیج dotenv توی Node.js صحبت کنیم. شاید برات سوال شده باشه که چطوری میشه اطلاعات حساس مثل API keyها، پسوردها و تنظیمات مهم رو بهصورت امن توی پروژه نگه داشت. اینجاست که dotenv میاد وسط و کار رو خیلی راحت میکنه! 😎
❓حالا dotenv چیه؟ 🤔
خب dotenv یه پکیجه که بهت اجازه میده اطلاعات حساس رو توی یه فایل به اسم .env ذخیره کنی. بهجای اینکه این اطلاعات رو مستقیم توی کدت بنویسی (که خیلی خطرناکه 😱)، میتونی توی فایل .env نگهشون داری و وقتی اپلیکیشن اجرا میشه، dotenv این مقادیر رو لود میکنه ومتغیرهای محیطی اضافه میکنه.
❓چرا باید از dotenv استفاده کنیم؟ 🔐
1⃣ امنیت بیشتر:
اطلاعات حساس رو مستقیم توی کدت نمینویسی
2⃣ سادگی در مدیریت تنظیماتات:
برای هر محیطی (مثل توسعه، تولید و تست) میتونی فایلهای .env جداگانه داشته باشی
3⃣ خوانایی بهتر کد:
وقتی اطلاعات حساس بیرون از کد اصلی باشه، کد تمیزتر و قابل نگهداریتر میشه.
❓ چطوری نصبش کنیم؟ 🛠️
نصب و استفاده از dotenv خیلی سادهست. اول با دستور زیر نصبش کن:
npm install dotenv
نحوه استفاده از dotenv 🚀
بعد از نصب، یه فایل .env توی پروژهات بساز و اطلاعات حساسی مثل API key، پسورد دیتابیس و بقیه تنظیمات رو توش ذخیره کن. مثلا:
DB_HOST=localhost
DB_USER=root
DB_PASS=supersecret
حالا توی app.js (یا هر فایل اصلی پروژهات) باید dotenv رو لود کنی:
require('dotenv').config();با این کار، dotenv تمام اطلاعات توی فایل .env رو لود میکنه و میتونی با استفاده از process.env بهشون دسترسی داشته باشی:
const dbHost = process.env.DB_HOST;
const dbUser = process.env.DB_USER;
const dbPass = process.env.DB_PASS;
console.log(`Database: ${dbHost}, User: ${dbUser}`);
نکته مهم 🛑
هیچوقت فایل .env رو توی مخزن گیت (git) قرار نده! چون ممکنه اطلاعات حساسی مثل API keyهات لو بره. برای جلوگیری از این کار، فایل .env رو به .gitignore اضافه کن:
.env
✅ جمعبندی:
پکیج dotenv خیلی به دردبخوره چون هم بهت کمک میکنه اطلاعات حساس رو به صورت امن مدیریت کنی و هم کدت تمیزتر و سازمانیافتهتر بشه. پس حتماً توی پروژههات ازش استفاده کن تا هم امنیت بالا بره هم تنظیمات محیطیت راحتتر مدیریت بشه. 😁
#nodejs #js #dotenv
Forwarded from Ninja Learn | نینجا لرن
رفقا شرمنده چند روزی میشه که پست از ادامه کتاب نذاشتیم
هم سرمون شلوغ بود با کار و زندگی
هم من کسالت داشتم
از امشب ادامه کتابو استارت میزنیم ✌️
هم سرمون شلوغ بود با کار و زندگی
هم من کسالت داشتم
از امشب ادامه کتابو استارت میزنیم ✌️
Forwarded from Linux TV 🐧
از پروژه های جدید گیتهاب گرفته تا ۱۰ تا شرکت هاستینگ رایگان ، سورس های پابلیک رایگان و سایت های دارک وب و پروفایل و والپیپر و اخبار لینوکس🫶
تلویزیون بدون تبلیغ لینوکس 🐧
تازه تاسیس
@LinnuxTV
تلویزیون بدون تبلیغ لینوکس 🐧
تازه تاسیس
@LinnuxTV
Forwarded from 🎄 یک برنامه نویس تنبل (Raymond Dev)
🔶 اتفاقات دیروز لبنان نشان می دهند که هر وسیله ای می توان به قابلیت انفجار تبدیل کرد.
من مدتی مونتاژکار الکترونیک بودم که هر بار بردی که قطعه ریزی و تست می کردم که ولتاژهایی که بالا و پایین می شد یا قطعه ای که بهم چسیبده می ترکید و البته خطرناک هم بود چون قطعه ای ریزی مثل مقاومت پرت می شد و ممکنه چشم رو کور کند...
این همین چیزی که گفتم چنین مکانسیمی رو داره و کافیه دستگاه به قطعات قابل انفجار مجهز کنید و از راه دور با فرستادن پیغام به دستگاه کارشو بسازید.
چیز تازه ای نیست اما در جنگ باید همه جوانب رو در نظر بگیری که هر وسیله ای ممکن است بمب ساعتی باشد و بدون اینکه طرف آن را بداند.
@TheRaymondDev
من مدتی مونتاژکار الکترونیک بودم که هر بار بردی که قطعه ریزی و تست می کردم که ولتاژهایی که بالا و پایین می شد یا قطعه ای که بهم چسیبده می ترکید و البته خطرناک هم بود چون قطعه ای ریزی مثل مقاومت پرت می شد و ممکنه چشم رو کور کند...
این همین چیزی که گفتم چنین مکانسیمی رو داره و کافیه دستگاه به قطعات قابل انفجار مجهز کنید و از راه دور با فرستادن پیغام به دستگاه کارشو بسازید.
چیز تازه ای نیست اما در جنگ باید همه جوانب رو در نظر بگیری که هر وسیله ای ممکن است بمب ساعتی باشد و بدون اینکه طرف آن را بداند.
@TheRaymondDev
Forwarded from Gopher Academy
🔵 عنوان مقاله
Cryptography in Go: AES Encryption
🟢 خلاصه مقاله:
مقالهای که مطالعه کردهاید آخرین بخش از سه بخش برگرفته شده از کتاب جان درباره Go و رمزنگاری است. در این بخش، به چالشهایی در زمینه رمزنگاری و رمزگشایی با استفاده از AES در زبان برنامهنویسی Go پرداخته شده است. جان، مسائلی را در این زمینه مطرح کرده و سپس پاسخها و توضیحات مفصلی برای آنها ارائه داده است. این توضیحات شامل جزئیات فنی چگونگی استفاده از کتابخانههای AES و تکنیکهای موثر برای ایمنسازی فرایند رمزنگاری در Go میباشد. این بخش به خوانندگان کمک میکند تا درک بهتری از کاربرد AES در عملیات رمزنگاری با Go به دست آورند و از طریق مثالهای عملی، مهارتهای خود را در این زمینه تقویت کنند.
🟣لینک مقاله:
https://golangweekly.com/link/159856/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Cryptography in Go: AES Encryption
🟢 خلاصه مقاله:
مقالهای که مطالعه کردهاید آخرین بخش از سه بخش برگرفته شده از کتاب جان درباره Go و رمزنگاری است. در این بخش، به چالشهایی در زمینه رمزنگاری و رمزگشایی با استفاده از AES در زبان برنامهنویسی Go پرداخته شده است. جان، مسائلی را در این زمینه مطرح کرده و سپس پاسخها و توضیحات مفصلی برای آنها ارائه داده است. این توضیحات شامل جزئیات فنی چگونگی استفاده از کتابخانههای AES و تکنیکهای موثر برای ایمنسازی فرایند رمزنگاری در Go میباشد. این بخش به خوانندگان کمک میکند تا درک بهتری از کاربرد AES در عملیات رمزنگاری با Go به دست آورند و از طریق مثالهای عملی، مهارتهای خود را در این زمینه تقویت کنند.
🟣لینک مقاله:
https://golangweekly.com/link/159856/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Bitfield Consulting
Encrypting with AES — Bitfield Consulting
AES is an amazing, state-of-the-art encryption system, and it’s built right in to Go as part of the standard library. It’s also incredibly easy to use. Let’s see how!
Forwarded from LearnPOV | لرن پی او وی
#vim
اگر از ادیتور vim که قبل تر معرفی کردیم استفاده میکنید یا صرفا جهت علاقه خواستید یه سری بهش بزنید باید نحوه خروج از این محیط رو بدونید چون خیلیا هستند که واردش میشن و دیگه نمیتونن بیان بیرون ازش 😂
اول کلید Esc رو فشار بدید تا وارد حالت فرمان بشید و بعد
1️⃣ اگر تغییری ندادید یا نمیخواید که تغییرات ذخیره بشن کامند SHIFT+ZQ یا این شورت کات رو بزنید :
:q!
2️⃣ و اگر تغییراتی دادید داخل فایل ها و نیاز دارید که ذخیره کنید کامند SHIFT+ZZ یا این شورت کات رو بزنید :
:wq
🚀 @coolycode
Forwarded from Security Analysis
⭕️ عرض دوستانه خدمت برگزار کنندگان مسابقه ی CTF شاپرک CASH24 داشتیم.
معمولا وقتی مسابقه ی امنیت سایبری برگزار میشه ، یا تیم فنی امنیت اون شرکت یا تیم مستقل حتی باشه، بر اساس تجربیات خودشون چالش طراحی میکنند و این مسابقه از دیدگاه امثال ما که سالهاست توی مسابقات هستیم سطح تخصصی و سواد فنی تیم امنیت اون شرکت رو نشون میده.
شاپرک سطح تخصص تیم امنیتشون در همین حد بود که بیان چالشهای مسابقات قدیمی رو کپی و پیست کنند بدون هیچ گونه ایده ای و بدون هیچ تجربه ای همچین مسابقه ی بی کیفیتی رو برگزار کنند.
گاها یک جایی میاد از تیم های باسابقه ی برگزاری مسابقه کمک میگیره که چالش طراحی کنند و در پشتیبانی مسابقه همیاری کنند ، اما شاپرک حتی از نظر اخلاقی انقدر بی تخصص و بی کیفیت و بی علم بودن که اخلاقشون در همین حد بود که حتی شاید غرور داشتن نخواستن از جایی کمک بگیرند واسه برگزاری مسابقه و این خودش نمره منفی دیگه ای هست در کارنامه ی شاپرک.
امیدوارم این عزیزان که در Event برگزار شده دعوت شدند بخاطر علم و تخصصشون دعوت شده باشن نه بخاطر اینکه بلد باشن سرچ بزنند و Flag رو از رایت اپ های خارجی کپی پیست کنند تا رتبه خوب بیارن:)
نمونه این پست طرف توی کمتر یک ساعت اومد رنک های برتر قرار گرفت در حدی که فکر کنم ping میگرفت و توی پاسخ Flag دریافت میکرد:)
نوش جان ولی تمامی تیم هایی مثل ما که سالهاست توی مسابقه هستیم وقتی فهمیدیم شاپرک بلد نبوده مسابقه برگزار کنه و تخصص نداشتن که خودشون چالش امنیت طراحی کنند کنار کشیدیم و ادامه ندادیم.
امیدوارم برای دفعات بعدی اگر خواستن مسابقه برگزار کنند وسط مسابقه چالش بدون فلگ نیارن و تیم هایی خاص یهویی بدون فلگ امتیاز براشون ثبت نشه که ما اینها رو با مدرک فنی ثبت کردیم که در کارنامه تیم ها هم موندگار خواهد شد.
خلاصه که ایونت برگزار میکنید و دورهمی برای همدیگه نوشابه هم باز کنید چندتا خبرگزاری هم دعوت کنید بگید بودجه گرفتیم مسابقه کشوری برگزار کردیم و چندتا مدیر دولتی رو هم گول بزنید بگید خفنیم.
باشه مرسی نوشابه بعدی لطفا.
#CASH24 #شاپرک
@securation
معمولا وقتی مسابقه ی امنیت سایبری برگزار میشه ، یا تیم فنی امنیت اون شرکت یا تیم مستقل حتی باشه، بر اساس تجربیات خودشون چالش طراحی میکنند و این مسابقه از دیدگاه امثال ما که سالهاست توی مسابقات هستیم سطح تخصصی و سواد فنی تیم امنیت اون شرکت رو نشون میده.
شاپرک سطح تخصص تیم امنیتشون در همین حد بود که بیان چالشهای مسابقات قدیمی رو کپی و پیست کنند بدون هیچ گونه ایده ای و بدون هیچ تجربه ای همچین مسابقه ی بی کیفیتی رو برگزار کنند.
گاها یک جایی میاد از تیم های باسابقه ی برگزاری مسابقه کمک میگیره که چالش طراحی کنند و در پشتیبانی مسابقه همیاری کنند ، اما شاپرک حتی از نظر اخلاقی انقدر بی تخصص و بی کیفیت و بی علم بودن که اخلاقشون در همین حد بود که حتی شاید غرور داشتن نخواستن از جایی کمک بگیرند واسه برگزاری مسابقه و این خودش نمره منفی دیگه ای هست در کارنامه ی شاپرک.
امیدوارم این عزیزان که در Event برگزار شده دعوت شدند بخاطر علم و تخصصشون دعوت شده باشن نه بخاطر اینکه بلد باشن سرچ بزنند و Flag رو از رایت اپ های خارجی کپی پیست کنند تا رتبه خوب بیارن:)
نمونه این پست طرف توی کمتر یک ساعت اومد رنک های برتر قرار گرفت در حدی که فکر کنم ping میگرفت و توی پاسخ Flag دریافت میکرد:)
نوش جان ولی تمامی تیم هایی مثل ما که سالهاست توی مسابقه هستیم وقتی فهمیدیم شاپرک بلد نبوده مسابقه برگزار کنه و تخصص نداشتن که خودشون چالش امنیت طراحی کنند کنار کشیدیم و ادامه ندادیم.
امیدوارم برای دفعات بعدی اگر خواستن مسابقه برگزار کنند وسط مسابقه چالش بدون فلگ نیارن و تیم هایی خاص یهویی بدون فلگ امتیاز براشون ثبت نشه که ما اینها رو با مدرک فنی ثبت کردیم که در کارنامه تیم ها هم موندگار خواهد شد.
خلاصه که ایونت برگزار میکنید و دورهمی برای همدیگه نوشابه هم باز کنید چندتا خبرگزاری هم دعوت کنید بگید بودجه گرفتیم مسابقه کشوری برگزار کردیم و چندتا مدیر دولتی رو هم گول بزنید بگید خفنیم.
باشه مرسی نوشابه بعدی لطفا.
#CASH24 #شاپرک
@securation
Telegram
Security Analysis
داداش یه کم صبر کن میدونیم امنیت کار نیستی ولی اوسینت بلدی :))
بخدا ما هم دست داریم هم سرچ زدن رو خوب بلدیم😂
#شاپرک
#تقلب
#HADES
@securation
بخدا ما هم دست داریم هم سرچ زدن رو خوب بلدیم😂
#شاپرک
#تقلب
#HADES
@securation
Forwarded from Laravel News
Validate Console Command Input With the Command Validator Package https://laravel-news.com/validate-console-command-input-with-the-command-validator-package
Laravel News
Validate Console Command Input With the Command Validator Package - Laravel News
The Command Validator package by Andrea Marco Sartori makes validating the input of console commands a cinch using Laravel's beloved Validator. All the Laravel Validator rules you know and love work with this package!
Forwarded from LearnPOV | لرن پی او وی
اینم از کانال جدیدمون 😁
اگر دوست داشتید جوین بشید که قراره هر روز کلی پست جذاب و کاربردی بزاریم 🔥❤️
اگر دوست داشتید جوین بشید که قراره هر روز کلی پست جذاب و کاربردی بزاریم 🔥❤️
Forwarded from محتوای آزاد سهراب
Forwarded from Ninja Learn | نینجا لرن
Forwarded from ASafaeirad
Forwarded from محتوای آزاد سهراب