Forwarded from Learn Security | آموزش امنیت
This media is not supported in your browser
VIEW IN TELEGRAM
گوشی، ریستارت، خاموش روشن کردن و...
〰〰〰〰〰
〰〰〰〰〰
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Ninja Learn | نینجا لرن
💎 حمله CSRF و چطوری ازش جلوگیری کنیم؟ 💎
امروز میخوایم در مورد یکی از حملات معروف تو دنیای وب، یعنی CSRF یا همون Cross-Site Request Forgery صحبت کنیم.
حالا CSRF چیه؟ 🤔
خب CSRF یه جور حملهست که هکر سعی میکنه با سوءاستفاده از سشن (session) کاربر، کارهایی رو به نمایندگی از کاربر انجام بده بدون اینکه اون کاربر خبر داشته باشه 😱. یعنی اگه کاربر توی یه سایت لاگین کرده باشه (مثل یه بانک یا شبکه اجتماعی) و بعد روی لینک یا دکمهای توی یه سایت دیگه کلیک کنه، هکر میتونه درخواستهایی رو به سایت اصلی (که کاربر لاگین کرده) بفرسته و کارهایی مثل انتقال پول یا تغییر اطلاعات کاربر رو انجام بده.
چجوری این حمله کار میکنه؟ 🎯
1️⃣ کاربر لاگین میکنه:
مثلا کاربر وارد حساب بانکی خودش میشه و یه سشن معتبر داره.
2️⃣ هکر یه لینک مخرب میسازه:
یه هکر توی یه سایت دیگه یه لینک یا فرم مخرب میسازه که درخواستهایی رو به حساب کاربر توی سایت بانکی ارسال میکنه.
3️⃣ کاربر روی لینک کلیک میکنه:
وقتی کاربر بدون اینکه خبر داشته باشه روی اون لینک کلیک میکنه، درخواست از طرف سشن کاربر به سرور سایت بانکی ارسال میشه.
4️⃣ هکر درخواستها رو اجرا میکنه:
سرور چون کاربر لاگین کرده، درخواست رو معتبر میدونه و اون کار انجام میشه (مثل انتقال پول، تغییر پسورد و...)
چجوری میشه جلوی CSRF رو گرفت؟ 🛡️
1️⃣ استفاده از CSRF Token
هر وقت کاربر یه فرم رو پر میکنه یا عملیاتی رو انجام میده، سرور یه توکن منحصربهفرد به فرم اضافه میکنه. این توکن رو سرور چک میکنه تا مطمئن بشه درخواست از طرف خود کاربر ارسال شده نه یه سایت دیگه. جنگو، فلکس و خیلی از فریمورکهای معروف به صورت پیشفرض از این مکانیزم پشتیبانی میکنن 🔑.
2️⃣ استفاده از روش POST به جای GET
برای درخواستهایی که نیاز به تایید کاربر دارن (مثل انتقال پول یا تغییر اطلاعات)، از POST استفاده کن، نه GET. توی درخواستهای GET دادهها توی URL قرار میگیرن که راحتتر میشه ازشون سوءاستفاده کرد. با POST درخواستها ایمنتر میشن 🛠️.
3️⃣ محدود کردن Referer Header
سرورها میتونن Referer header رو چک کنن تا مطمئن بشن که درخواستها از یه منبع قابل اعتماد (مثلاً همون سایت خودت) ارسال شدن نه از یه سایت دیگهای که هکرها توش لینک مخرب گذاشتن. اینجوری درخواستهای مشکوک رد میشن 🚫.
4️⃣ استفاده از Double Submit Cookies
یه راه دیگه برای جلوگیری از CSRF اینه که هم از کوکیها و هم از پارامترها استفاده کنی. توی این روش، یه کوکی حاوی CSRF token ارسال میشه و سرور مطمئن میشه که درخواست معتبره.
5️⃣ لاگاوت خودکار
اگه کاربر برای مدت زیادی هیچ فعالیتی توی سایت نداشت، اونو به صورت خودکار از سیستم خارج کن. اینجوری خطر CSRF کمتر میشه چون سشن کاربر خیلی طولانی باز نمیمونه ⏳.
جمعبندی ✅
فهمیدیم CSRF یه حمله جدیه که اگه درست ازش جلوگیری نشه، میتونه خیلی از اطلاعات حساس رو به خطر بندازه. با استفاده از CSRF Token، چک کردن Referer header و بقیه روشهایی که گفتیم، میتونی از اپلیکیشنهات در برابر این حمله محافظت کنی و امنیتشون رو بالا ببری 💪.
امید وارم مفید بوده باشه :)
@ninja_learn_ir
امروز میخوایم در مورد یکی از حملات معروف تو دنیای وب، یعنی CSRF یا همون Cross-Site Request Forgery صحبت کنیم.
حالا CSRF چیه؟ 🤔
خب CSRF یه جور حملهست که هکر سعی میکنه با سوءاستفاده از سشن (session) کاربر، کارهایی رو به نمایندگی از کاربر انجام بده بدون اینکه اون کاربر خبر داشته باشه 😱. یعنی اگه کاربر توی یه سایت لاگین کرده باشه (مثل یه بانک یا شبکه اجتماعی) و بعد روی لینک یا دکمهای توی یه سایت دیگه کلیک کنه، هکر میتونه درخواستهایی رو به سایت اصلی (که کاربر لاگین کرده) بفرسته و کارهایی مثل انتقال پول یا تغییر اطلاعات کاربر رو انجام بده.
چجوری این حمله کار میکنه؟ 🎯
1️⃣ کاربر لاگین میکنه:
مثلا کاربر وارد حساب بانکی خودش میشه و یه سشن معتبر داره.
2️⃣ هکر یه لینک مخرب میسازه:
یه هکر توی یه سایت دیگه یه لینک یا فرم مخرب میسازه که درخواستهایی رو به حساب کاربر توی سایت بانکی ارسال میکنه.
3️⃣ کاربر روی لینک کلیک میکنه:
وقتی کاربر بدون اینکه خبر داشته باشه روی اون لینک کلیک میکنه، درخواست از طرف سشن کاربر به سرور سایت بانکی ارسال میشه.
4️⃣ هکر درخواستها رو اجرا میکنه:
سرور چون کاربر لاگین کرده، درخواست رو معتبر میدونه و اون کار انجام میشه (مثل انتقال پول، تغییر پسورد و...)
چجوری میشه جلوی CSRF رو گرفت؟ 🛡️
1️⃣ استفاده از CSRF Token
هر وقت کاربر یه فرم رو پر میکنه یا عملیاتی رو انجام میده، سرور یه توکن منحصربهفرد به فرم اضافه میکنه. این توکن رو سرور چک میکنه تا مطمئن بشه درخواست از طرف خود کاربر ارسال شده نه یه سایت دیگه. جنگو، فلکس و خیلی از فریمورکهای معروف به صورت پیشفرض از این مکانیزم پشتیبانی میکنن 🔑.
2️⃣ استفاده از روش POST به جای GET
برای درخواستهایی که نیاز به تایید کاربر دارن (مثل انتقال پول یا تغییر اطلاعات)، از POST استفاده کن، نه GET. توی درخواستهای GET دادهها توی URL قرار میگیرن که راحتتر میشه ازشون سوءاستفاده کرد. با POST درخواستها ایمنتر میشن 🛠️.
3️⃣ محدود کردن Referer Header
سرورها میتونن Referer header رو چک کنن تا مطمئن بشن که درخواستها از یه منبع قابل اعتماد (مثلاً همون سایت خودت) ارسال شدن نه از یه سایت دیگهای که هکرها توش لینک مخرب گذاشتن. اینجوری درخواستهای مشکوک رد میشن 🚫.
4️⃣ استفاده از Double Submit Cookies
یه راه دیگه برای جلوگیری از CSRF اینه که هم از کوکیها و هم از پارامترها استفاده کنی. توی این روش، یه کوکی حاوی CSRF token ارسال میشه و سرور مطمئن میشه که درخواست معتبره.
5️⃣ لاگاوت خودکار
اگه کاربر برای مدت زیادی هیچ فعالیتی توی سایت نداشت، اونو به صورت خودکار از سیستم خارج کن. اینجوری خطر CSRF کمتر میشه چون سشن کاربر خیلی طولانی باز نمیمونه ⏳.
جمعبندی ✅
فهمیدیم CSRF یه حمله جدیه که اگه درست ازش جلوگیری نشه، میتونه خیلی از اطلاعات حساس رو به خطر بندازه. با استفاده از CSRF Token، چک کردن Referer header و بقیه روشهایی که گفتیم، میتونی از اپلیکیشنهات در برابر این حمله محافظت کنی و امنیتشون رو بالا ببری 💪.
#csrf #امنیت
Forwarded from Go Casts 🚀
از توییت یکی از بچه ها تو لینکدین یه مخزن رو دیدم که خیلی مفیده برای یادگیری علوم کامپیوتر، حتما چک کنید اگه علاقه دارید.
🎓 Path to a free self-taught education in Computer Science!
https://github.com/ossu/computer-science
@gocasts
🎓 Path to a free self-taught education in Computer Science!
https://github.com/ossu/computer-science
@gocasts
Forwarded from mnr tech
از این روش اگر استفاده کنید داکر درست میشه ولی git push و git pull کار نمیده دیگه. گفتم در جریان باشید تا سر فرصت بررسی کنم ببینم چطور باید این مشکل رو حل کرد.
Forwarded from LinFAQ (Reza)
#روزی_یک_نکته با دلاتو
دستهبندی: #آموزشی #کاربردی
#emacs #vterm #shell
خب برای اینکه bash با vterm هماهنگ کنیم باید چیکار کنیم؟
اول داخل bashrc کد زیر رو اضافه میکنیم:
خب تموم شد حالا الان اگه داخل vterm از cd استفاده کنید، مسیر کل ایمکس تغییر میکنه
@LinFAQ | @LinAcademy
دستهبندی: #آموزشی #کاربردی
#emacs #vterm #shell
خب برای اینکه bash با vterm هماهنگ کنیم باید چیکار کنیم؟
(بر اساس bash میگم، خودتون با بقیه شل ها مچش کنید)
اول داخل bashrc کد زیر رو اضافه میکنیم:
if [[ "$INSIDE_EMACS" = 'vterm' ]] \
&& [[ -n ${EMACS_VTERM_PATH} ]] \
&& [[ -f ${EMACS_VTERM_PATH}/etc/emacs-vterm-bash.sh ]]; then
source ${EMACS_VTERM_PATH}/etc/emacs-vterm-bash.sh
fi
خب تموم شد حالا الان اگه داخل vterm از cd استفاده کنید، مسیر کل ایمکس تغییر میکنه
Source
@LinFAQ | @LinAcademy
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
Forwarded from دستاوردهای یادگیری عمیق(InTec)
یک سری از افراد اومدند و پرامپتهایی رو منتشر کردند که عملکردی مشابه
مدلهایی بوده که تست شده و توی تمام موارد عملکرد بسیار بهتری نشون داده نسبت به پرامپتهای معمول بطور خلاصه اینطوری هست که شما ۵-۶ پرامپت رو آماده میکنی و جواب هر مرحله رو بعنوان
من روش ۵ مرحلهای رو با عملکرد بهتر دیدم پس همون رو میگم:
۱- آنالیز مسئله؛ توی این مرحله از مدل میخواید که سوال کاربر رو بطور کامل تحلیل کنه (البته بصورت خلاصه) و نکات مهمش رو بهتون بده.
۲- برنامهریزی استراتژی؛ با توجه به خروجی مرحله قبل از مدل میخواید که چندتا استراتژی مختلف برای حل این مسئله ارائه بده (۳-۵ مورد کار رو در میاره)
۳- انتخاب استراتژی؛ توی این مرحله از مدل میخواید یکی از استراتژیهای مرحله قبل رو انتخاب کنه (موردی که منطقیتر هست)
۴- اقدامات لازم؛ از مدل میخواید که با توجه له استراتژی و آنالیز مسئله قدم به قدم آنچه برای حل مسئله نیاز هست رو در بیاره و بنویسه.
۵- در نهایت پرامپت اصلی کاربر + اقدامات لازم برای حل مسئله رو بعنوان ورودی به مدل میدید و بهش میگید که برای حل مسئله این اقدامات رو دنبال کنه تا جواب نهایی رو بگیره.
مجموع این ۵ مورد کنار هم عملکرد مدلهای معمول موجود رو بسیار بسیار بهبود میده.
هزینه کمتری هم نسبت به
chatGpt o1 رو پیادهسازی میکنه و شاید باعث سورپرایز شما هم بشه اما واقعا این روش باعث شده نتایج بسیار بهتری داده بشه توسط مدلها؛ llama3.1, gemini flash, qwen2, chatGpt-4omini
مدلهایی بوده که تست شده و توی تمام موارد عملکرد بسیار بهتری نشون داده نسبت به پرامپتهای معمول بطور خلاصه اینطوری هست که شما ۵-۶ پرامپت رو آماده میکنی و جواب هر مرحله رو بعنوان
history برای مرحله بعدی ارسال میکنی.من روش ۵ مرحلهای رو با عملکرد بهتر دیدم پس همون رو میگم:
۱- آنالیز مسئله؛ توی این مرحله از مدل میخواید که سوال کاربر رو بطور کامل تحلیل کنه (البته بصورت خلاصه) و نکات مهمش رو بهتون بده.
۲- برنامهریزی استراتژی؛ با توجه به خروجی مرحله قبل از مدل میخواید که چندتا استراتژی مختلف برای حل این مسئله ارائه بده (۳-۵ مورد کار رو در میاره)
۳- انتخاب استراتژی؛ توی این مرحله از مدل میخواید یکی از استراتژیهای مرحله قبل رو انتخاب کنه (موردی که منطقیتر هست)
۴- اقدامات لازم؛ از مدل میخواید که با توجه له استراتژی و آنالیز مسئله قدم به قدم آنچه برای حل مسئله نیاز هست رو در بیاره و بنویسه.
۵- در نهایت پرامپت اصلی کاربر + اقدامات لازم برای حل مسئله رو بعنوان ورودی به مدل میدید و بهش میگید که برای حل مسئله این اقدامات رو دنبال کنه تا جواب نهایی رو بگیره.
مجموع این ۵ مورد کنار هم عملکرد مدلهای معمول موجود رو بسیار بسیار بهبود میده.
هزینه کمتری هم نسبت به
chatGpt-o1 دارهForwarded from محتوای آزاد سهراب
خیلی وقتا پیش اومده که لازم شده تا یک ایزوی ویندوز رو روی لینوکس بوتبل کنید.
برای این کار ۲ تا راه وجود داره، استفاده از ونتوی و استفاده از win2usb که من win2usb رو میخوام توی این پست توضیح بدم.
اول از هرچیزی باید برنامه windows2usb رو نصب کنید
بعد از نصب شدنش، اینطوری کار میکنه.
یکبار بنویسید windows2usb و بعد توی ترمینال یک خروجی به شما میده که در انتها لیست دستگاههایی که میشه ایزو رو روشون نوشت رو داده، بهتره قبل از اجرای این دستور usb متصل باشه.
بعد از دیدن آدرس usb در خروجی، با دستور زیر میتونید ایزو رو روش بنویسید:
توضیح دستور بالا
@SohrabContents
برای این کار ۲ تا راه وجود داره، استفاده از ونتوی و استفاده از win2usb که من win2usb رو میخوام توی این پست توضیح بدم.
اول از هرچیزی باید برنامه windows2usb رو نصب کنید
paru -S windows2usb
بعد از نصب شدنش، اینطوری کار میکنه.
یکبار بنویسید windows2usb و بعد توی ترمینال یک خروجی به شما میده که در انتها لیست دستگاههایی که میشه ایزو رو روشون نوشت رو داده، بهتره قبل از اجرای این دستور usb متصل باشه.
بعد از دیدن آدرس usb در خروجی، با دستور زیر میتونید ایزو رو روش بنویسید:
sudo windows2usb /dev/sdx /path/to/iso mbr|gpt
توضیح دستور بالا
/dev/sdx
آدرس usb شماست
mbr | gpt
گزینه mbr برای دستگاههایی با متد بوت لگسی (بایوس) هستش و GPT برای دستگاههای uefi
@SohrabContents
Forwarded from Accio
in-terminal shop to order coffee!
The idea of serving a TUI on ssh connection is just pretty cool
ssh terminal.shop
The idea of serving a TUI on ssh connection is just pretty cool
Forwarded from دستاوردهای یادگیری عمیق(InTec)
#موقت
میزان share پستهای کانال هنوز روی همون ۷۰-۱۲۰ هست مثل قبل؛
ولی :
۱- میزان private share بالای ۹۰٪ شده قبلاً زیر ۳۰٪ بود
۲- میزان public share از حدود ۷۰٪ به ۱۰٪ رسیده
در نهایت، خیلی کپی و پیست میبینم که دقیقاً متن پستها توی کانال و لینکدین و ... گذاشته میشه بدون منبع (این دسته اصلا مهم نیست)
ولی واقعاً چرا دیگه public share نمیکنید؟ این همه جمع کردن منابع برای استفاده شخصی چرا آخه ؟
بذارید باقی هم یاد بگیرند خب 😁😂
ازون بدتر هم reaction هست.
تعداد reaction این پست رو ببینید :
https://t.iss.one/pytens/1537
اصن به آدم انگیزه میده کار نکنه، بیاد بشینه پست بزنه فقط
بعد باقی پستهای حتی فنی و تخصصی رو هم ببنید.
میزان share پستهای کانال هنوز روی همون ۷۰-۱۲۰ هست مثل قبل؛
ولی :
۱- میزان private share بالای ۹۰٪ شده قبلاً زیر ۳۰٪ بود
۲- میزان public share از حدود ۷۰٪ به ۱۰٪ رسیده
در نهایت، خیلی کپی و پیست میبینم که دقیقاً متن پستها توی کانال و لینکدین و ... گذاشته میشه بدون منبع (این دسته اصلا مهم نیست)
ولی واقعاً چرا دیگه public share نمیکنید؟ این همه جمع کردن منابع برای استفاده شخصی چرا آخه ؟
بذارید باقی هم یاد بگیرند خب 😁😂
ازون بدتر هم reaction هست.
تعداد reaction این پست رو ببینید :
https://t.iss.one/pytens/1537
اصن به آدم انگیزه میده کار نکنه، بیاد بشینه پست بزنه فقط
بعد باقی پستهای حتی فنی و تخصصی رو هم ببنید.
Forwarded from Morteza Bashsiz مرتضی باشسیز (Morteza Bashsiz)
درود بر همه شما عزیزان
ویدیو شماره ۲ رو درست کردم و آپلود شد
توی این ویدیو تغییرات جدید رو توضیح دادم و اینکه بیشتر راجع به مشکلات موجود صحبت کردم و فایل کانفیگ رو توضیح دادم
سپاس فراوان
https://youtu.be/T8x8e221aQQ?si=B57QLBVJ5ZssA4gW
ویدیو شماره ۲ رو درست کردم و آپلود شد
توی این ویدیو تغییرات جدید رو توضیح دادم و اینکه بیشتر راجع به مشکلات موجود صحبت کردم و فایل کانفیگ رو توضیح دادم
سپاس فراوان
https://youtu.be/T8x8e221aQQ?si=B57QLBVJ5ZssA4gW
YouTube
ویدیو شماره ۲ - آپدیت جدید و توضیح مشکلات
توی این ویدیو تغییرات جدید رو توضیح دادم و اینکه بیشتر راجع به مشکلات موجود صحبت کردم و فایل کانفیگ رو توضیح دادم
Forwarded from Python Hints
پروژه شکن برای دور زدن تحریم خیلی خوب نیست (کندی زیاد)
رو اگر سر بزنید خیلی سرعت بهتری بهتون میده ولی بعضی وقتا اینم کند هست.
شب قبل داشتم
free.shecan.ir
که خود سایت شکن معرفی میکنه از
استفاده کردم؛ اشتباهی آدرس رو زدم ولی بعد دیدم سرعتش ۳-۴ برابر free.shecan.ir هست.
دیشب ازون مواردی بود که
خلاصه خواستم بگم
و همزمان ی نسخه پر سرعت هم معرفی کنم برای شکن
پ.ن: برای بستن تبلیغات هم
خیلی جوابه؛ اگر به سایتش هم سر بزنید نسخه
خوبی
سر درد نگیرید بخاطر تبلیغات درون برنامهای
و البته ترافیک اینترنت و
403.online
رو اگر سر بزنید خیلی سرعت بهتری بهتون میده ولی بعضی وقتا اینم کند هست.
شب قبل داشتم
llm روی آندروید اجرا میکردم؛ بجای free.shecan.ir
که خود سایت شکن معرفی میکنه از
dns.shecan.ir استفاده کردم؛ اشتباهی آدرس رو زدم ولی بعد دیدم سرعتش ۳-۴ برابر free.shecan.ir هست.
دیشب ازون مواردی بود که
403 کند شده بود. (خیلی کم پیش میاد ولی پیش میاد دیگه)خلاصه خواستم بگم
sub-domain های شکن رو اسکن کنید و لذت ببرید 😂و همزمان ی نسخه پر سرعت هم معرفی کنم برای شکن
پ.ن: برای بستن تبلیغات هم
noads.libredns.gr
خیلی جوابه؛ اگر به سایتش هم سر بزنید نسخه
ios هم داره بصورت پروفایل خوبی
dns اینه که میتونید همزمان کنارش vpn خودت رو هم داشته باشید.سر درد نگیرید بخاطر تبلیغات درون برنامهای
و البته ترافیک اینترنت و
vpn رو صرف دانلود تبلیغات احمقانه نکنید.Forwarded from Gopher Academy
🔵 عنوان مقاله
Gohalt: A General Purpose Throttling Library
🟢 خلاصه مقاله:
مقالهای که مد نظر قرار دارد، به بررسی استفاده از زبان برنامهنویسی Go در ساخت سیستمهای کنترلی مانند خط لولههای جریان محدود (throttling pipelines) و سیستمهای محدودسازی نرخ (rate limiters) میپردازد. نکته جالب توجه در این مقاله، استقبال نویسنده از لوگوی گوفر استفاده شده برای زبان Go است. همچنین، آپدیت و پشتیبانی Go از نسخه 1.22 در این مقاله مورد توجه قرار گرفته است که نشاندهنده قابلیت ارتقا و تطبیق پذیری این زبان با نسخههای جدید است. این موضوعات به خوبی توضیح داده شدهاند که چگونه میتوان از Go برای توسعه سیستمهای مدیریتی اثربخش تر و کارآمد استفاده کرد.
🟣لینک مقاله:
https://github.com/1pkg/gohalt
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Gohalt: A General Purpose Throttling Library
🟢 خلاصه مقاله:
مقالهای که مد نظر قرار دارد، به بررسی استفاده از زبان برنامهنویسی Go در ساخت سیستمهای کنترلی مانند خط لولههای جریان محدود (throttling pipelines) و سیستمهای محدودسازی نرخ (rate limiters) میپردازد. نکته جالب توجه در این مقاله، استقبال نویسنده از لوگوی گوفر استفاده شده برای زبان Go است. همچنین، آپدیت و پشتیبانی Go از نسخه 1.22 در این مقاله مورد توجه قرار گرفته است که نشاندهنده قابلیت ارتقا و تطبیق پذیری این زبان با نسخههای جدید است. این موضوعات به خوبی توضیح داده شدهاند که چگونه میتوان از Go برای توسعه سیستمهای مدیریتی اثربخش تر و کارآمد استفاده کرد.
🟣لینک مقاله:
https://github.com/1pkg/gohalt
➖➖➖➖➖➖➖➖
👑 @gopher_academy
GitHub
GitHub - 1pkg/gohalt: Gohalt 👮♀🛑: Fast; Simple; Powerful; Go Throttler library
Gohalt 👮♀🛑: Fast; Simple; Powerful; Go Throttler library - 1pkg/gohalt
Forwarded from Linuxor ?
یه توزیع Real Time از لینوکس داریم به اسم RTLinux که توی سیستم هایی که نیاز به پاسخگویی سریع و دقیق دارن استفاده میشه
توی صنعت خیلی از سیستم عامل های Real Time استفاده میشه، مثلا یه ماشین رو درنظر بگیرید که روی حالت رانندگی خودکاره این ماشین در لحظه داره اطلاعات محیط رو از سنسور های مختلفی که داره پردازش میکنه، یهو یه مانع جلوش ظاهر میشه این ماشین باید توی اون لحظه ترمز بگیره اصلا مهم نیست سیستم عامل چه فرایند دیگه ای رو داره اون لحظه اجرا میکنه
اگه سیستم عامل Real Time نباشه میگه حالا جناب سیستم ترمز یه لحظه صبر کن کار سنسور پردازش تصویر تموم شه بعد تو کارتو شروع کن، توی این تایم حیاتی ممکنه کلی اتفاق بد برای سرنشین های ماشین بیفته.
کرنل لینوکس برای استفاده عام ساخته شده و Real Time نیست اما RTLinux این ویژگی رو بهش اضافه میکنه.
🐧 @Linuxor
توی صنعت خیلی از سیستم عامل های Real Time استفاده میشه، مثلا یه ماشین رو درنظر بگیرید که روی حالت رانندگی خودکاره این ماشین در لحظه داره اطلاعات محیط رو از سنسور های مختلفی که داره پردازش میکنه، یهو یه مانع جلوش ظاهر میشه این ماشین باید توی اون لحظه ترمز بگیره اصلا مهم نیست سیستم عامل چه فرایند دیگه ای رو داره اون لحظه اجرا میکنه
اگه سیستم عامل Real Time نباشه میگه حالا جناب سیستم ترمز یه لحظه صبر کن کار سنسور پردازش تصویر تموم شه بعد تو کارتو شروع کن، توی این تایم حیاتی ممکنه کلی اتفاق بد برای سرنشین های ماشین بیفته.
کرنل لینوکس برای استفاده عام ساخته شده و Real Time نیست اما RTLinux این ویژگی رو بهش اضافه میکنه.
🐧 @Linuxor
Forwarded from Code Module | کد ماژول (genix)
دیزاین پترن Composite چیست؟ 🫵
الگوی طراحی Composite، یک الگوی طراحی structural هست که به شما امکان میده اشیاء رو در ساختارهای درخت مانند بنویسید تا سلسله مراتب بخشی از کل رو نشون بده. این به کلاینت(مشتری ها) اجازه میده تا با اشیاء و ترکیبات اشیا به طور یکنواخت رفتار کنن. به عبارت دیگه چه با یک شی منفرد و چه با گروهی از اشیا (کامپوزیت)، مشتریان میتونن به جای یکدیگر از اون ها استفاده کنن.
الگوی طراحی کامپوزیت چه مشکلاتی رو میتونه حل کنه؟ 🧸
* یک سلسله مراتب بخشی از کل باید نشان داده بشه تا کلاینت ها بتونن با اشیاء جزئی و کل به طور یکنواخت رفتار کنن.
* سلسله مراتب بخشی از کل، باید به عنوان ساختار درختی نشان داده بشه.
الگوی طراحی کامپوزیت چه راه حلی را توصیف می کند؟
* یک رابط کامپوننت یکپارچه برای اشیاء قسمت (برگ) و اشیاء کل (کامپوزیت) تعریف میکنین.
* اشیاء Leaf منفرد رابط Component رو مستقیماً پیاده سازی میکنن و اشیاء Composite درخواست ها رو به مؤلفه های فرزندشون ارسال میکنن.
شاید درکش در نگاه اول سخت باشه برای همین یک منوی رستوران رو تصور کنید، که با استفاده از الگوی طراحی کامپوزیت ارائه شده.
1. MenuItem (Interface): این رابط پایه هست که عملیات مشترک رو برای همه آیتم های منو تعریف میکنه. میتونه شامل متدهایی مثل «getName()»، «getPrice()» و «getDescription()» باشه.
2. Leaf (Concrete Class): این یک آیتم منوی واحد مثل "برگر" یا "سالاد" رو نشون میده. «MenuItem» رو پیادهسازی میکنه و پیادهسازیهای مشخصی رو برای متد های خود فراهم میکنه و جزئیات خاص اون آیتم رو برمیگردونه.
3. Composite (Concrete Class): این نشون دهنده یک دسته در منو مثل پیش غذاها هست. "MenuItem" رو پیاده سازی میکنه اما جزئیات خاص خود رو نداره. درعوض، فهرستی از مؤلفههای فرزند (سایر موارد «MenuItems» که میتونه هم «برگ» و هم دیگر اشیاء «کامپوزیت» باشن رو در خود داره. متد های رابط رو با تکرار از طریق مؤلفههای فرزند خود و تفویض تماس به روشهای مربوطه اجرا میکنه. برای مثال، «getPrice()» قیمت کل رو با جمع کردن قیمتهای همه اقلام فرزند خود محاسبه میکنه.
به صورت کلی این پترن هم مثل پترن های دیگه در شرایط خاص ممکنه کاربردی باشه. برای اطلاعات بیشتر به این مقالات مراجعه کنید:
- Article
- Article
- Article
#design_pattern
@CodeModule
الگوی طراحی Composite، یک الگوی طراحی structural هست که به شما امکان میده اشیاء رو در ساختارهای درخت مانند بنویسید تا سلسله مراتب بخشی از کل رو نشون بده. این به کلاینت(مشتری ها) اجازه میده تا با اشیاء و ترکیبات اشیا به طور یکنواخت رفتار کنن. به عبارت دیگه چه با یک شی منفرد و چه با گروهی از اشیا (کامپوزیت)، مشتریان میتونن به جای یکدیگر از اون ها استفاده کنن.
الگوی طراحی کامپوزیت چه مشکلاتی رو میتونه حل کنه؟ 🧸
* یک سلسله مراتب بخشی از کل باید نشان داده بشه تا کلاینت ها بتونن با اشیاء جزئی و کل به طور یکنواخت رفتار کنن.
* سلسله مراتب بخشی از کل، باید به عنوان ساختار درختی نشان داده بشه.
الگوی طراحی کامپوزیت چه راه حلی را توصیف می کند؟
* یک رابط کامپوننت یکپارچه برای اشیاء قسمت (برگ) و اشیاء کل (کامپوزیت) تعریف میکنین.
* اشیاء Leaf منفرد رابط Component رو مستقیماً پیاده سازی میکنن و اشیاء Composite درخواست ها رو به مؤلفه های فرزندشون ارسال میکنن.
شاید درکش در نگاه اول سخت باشه برای همین یک منوی رستوران رو تصور کنید، که با استفاده از الگوی طراحی کامپوزیت ارائه شده.
1. MenuItem (Interface): این رابط پایه هست که عملیات مشترک رو برای همه آیتم های منو تعریف میکنه. میتونه شامل متدهایی مثل «getName()»، «getPrice()» و «getDescription()» باشه.
2. Leaf (Concrete Class): این یک آیتم منوی واحد مثل "برگر" یا "سالاد" رو نشون میده. «MenuItem» رو پیادهسازی میکنه و پیادهسازیهای مشخصی رو برای متد های خود فراهم میکنه و جزئیات خاص اون آیتم رو برمیگردونه.
3. Composite (Concrete Class): این نشون دهنده یک دسته در منو مثل پیش غذاها هست. "MenuItem" رو پیاده سازی میکنه اما جزئیات خاص خود رو نداره. درعوض، فهرستی از مؤلفههای فرزند (سایر موارد «MenuItems» که میتونه هم «برگ» و هم دیگر اشیاء «کامپوزیت» باشن رو در خود داره. متد های رابط رو با تکرار از طریق مؤلفههای فرزند خود و تفویض تماس به روشهای مربوطه اجرا میکنه. برای مثال، «getPrice()» قیمت کل رو با جمع کردن قیمتهای همه اقلام فرزند خود محاسبه میکنه.
به صورت کلی این پترن هم مثل پترن های دیگه در شرایط خاص ممکنه کاربردی باشه. برای اطلاعات بیشتر به این مقالات مراجعه کنید:
- Article
- Article
- Article
#design_pattern
@CodeModule
Audio
رادیو جادی ۱۷۷ - باج قسطی؛ از راست در لینوکس تا استارلینک روی کشتی جنگی و تکنیک حمله جدید لازاروس
در شماره ۱۷۷ رادیو جادی بعد از بحث کنترل سلاحهای هستهای، باجگیرهایی رو میبینیم که باج رو قسط بندی کردن، کشف میکنیم که ظاهرا استارلینک همه جا هست و میبینیم چرا باید موقع مصاحبه برنامه نویسی دادن؛ محتاط تر باشیم و یه مقصر دیگه نابرابری رو کشف می کنیم: تیندر و دوستاش.
00:00 - رادیو گیک ۱۷۷ و گپی در مورد انگلیسی
02:10 - کناره گرفتن یکی از توسعهدهندگان راست در لینوکس
11:20 - معاهده عدم کنترل سلاحهای هستهای توسط هوش مصنوعی
15:38 - حمله هکرها به سیستم مالی و پرداخت غرامت
21:12 - استارلینک غیرمجاز روی کشتی جنگی آمریکا
23:37 - نوشته دورف در مورد دستگیری اش
29:24 - هکرهای لازاروس پشت مصاحبههای شغلی
32:50 - نقش آنلاین دیتینگ در نابرابری درآمدی
36:20 - بخش پایانی
39:50 - پیامهای آخر
https://youtu.be/4upXWmwlffE
#پادکست
در شماره ۱۷۷ رادیو جادی بعد از بحث کنترل سلاحهای هستهای، باجگیرهایی رو میبینیم که باج رو قسط بندی کردن، کشف میکنیم که ظاهرا استارلینک همه جا هست و میبینیم چرا باید موقع مصاحبه برنامه نویسی دادن؛ محتاط تر باشیم و یه مقصر دیگه نابرابری رو کشف می کنیم: تیندر و دوستاش.
00:00 - رادیو گیک ۱۷۷ و گپی در مورد انگلیسی
02:10 - کناره گرفتن یکی از توسعهدهندگان راست در لینوکس
11:20 - معاهده عدم کنترل سلاحهای هستهای توسط هوش مصنوعی
15:38 - حمله هکرها به سیستم مالی و پرداخت غرامت
21:12 - استارلینک غیرمجاز روی کشتی جنگی آمریکا
23:37 - نوشته دورف در مورد دستگیری اش
29:24 - هکرهای لازاروس پشت مصاحبههای شغلی
32:50 - نقش آنلاین دیتینگ در نابرابری درآمدی
36:20 - بخش پایانی
39:50 - پیامهای آخر
https://youtu.be/4upXWmwlffE
#پادکست
Forwarded from Yasha
اگه بازم توکن بفرستید تست کنم زودتر کار اسکریپت تموم میشه
@pesarrrak
@pesarrrak
Forwarded from Deep Devs | فرانت اند | بک اند | جاوااسکریپت | برنامه نویسی | برنامه نویسی وب (Mehrshad)
دوبله دوره ریکت رایگان شد و از dubdev.ir میتونید دسترسی داشته باشید...
نه ریسپانسیوه نه هیچی صرفا لینک فصل ها هستش، با سیستم برید راحت تر میتونید استفاده کنید
نه ریسپانسیوه نه هیچی صرفا لینک فصل ها هستش، با سیستم برید راحت تر میتونید استفاده کنید