خواستم یه فضایی باشه که بتونم informal تر از LinkedIn و formal تر از 4chan و reddit حرفامُ بزنم این شد که اینجا استارت خورد :)
دیشب برای اولین بار Arch نصب کردم.
تجربه جالبیه اول اینکه ArchWiki خیلی جامع و بدرد بخوره البته که الان توی عصر AI به سر میبریم و...
برای کسایی که همنشینی با سیتمشون رو به اکثر فعالیتهای دیگه ترجیح میدن قطعا تجربه لذت بخشیه و حتی میتونه کلی چیزای مختلف و جدید راجع به Linux یاد بده و باعث میشه سیستمتون رو بهتر بشناسید ولی خب طبیعتا میتونه خیلی هم زمان بر باشه...
حس کردم که شاید برتری خاصی نسبت به باقی distro ها برای ricing و customization نداشته باشه... مگر در موارد خاص...
شخصا نتونستم خودم رو تصور کنم که ازش به عنوان main OS استفاده کنم حداقل نه تا آینده ای نامعلوم، بعد از کلی distro hopping دلم میخواد برگردم به Mint و بس بشینم و دیگه تکون نخورم! ولی حداقل تونستم برای چند ساعتی بگم "I use Arch btw"
تجربه جالبیه اول اینکه ArchWiki خیلی جامع و بدرد بخوره البته که الان توی عصر AI به سر میبریم و...
برای کسایی که همنشینی با سیتمشون رو به اکثر فعالیتهای دیگه ترجیح میدن قطعا تجربه لذت بخشیه و حتی میتونه کلی چیزای مختلف و جدید راجع به Linux یاد بده و باعث میشه سیستمتون رو بهتر بشناسید ولی خب طبیعتا میتونه خیلی هم زمان بر باشه...
حس کردم که شاید برتری خاصی نسبت به باقی distro ها برای ricing و customization نداشته باشه... مگر در موارد خاص...
شخصا نتونستم خودم رو تصور کنم که ازش به عنوان main OS استفاده کنم حداقل نه تا آینده ای نامعلوم، بعد از کلی distro hopping دلم میخواد برگردم به Mint و بس بشینم و دیگه تکون نخورم! ولی حداقل تونستم برای چند ساعتی بگم "I use Arch btw"
نمیدونم هنوزم هستش یا نه ولی توی دوره مدرسه رفتن ما یه کتاب بود به اسم گام به گام که به علاوه توضیح دروس و چیزای دیگه جواب تمرینات روهم داشت!
یادمه قبل از بعضی کلاس ها اونایی که گام به گام داشتن کتاب رو میذاشتن وسط و با چنتا از دوستاشون تند تند مینوشتن.
خلاصه که طبيعی بود با اون وضع تمرین نوشتن قرار نبود اون مفاهیم رو یاد بگیریم! صرفا موضوع رفع تکلیف بود و بس....
الانم اگه از AI به درستی استفاده نکنیم میتونه همین شکلی مشکل ساز شه.
مثلا چند وقت پیش Primeagen داشت از یه نفر (که یادم نیست کی) نقل میکرد که زمانی که با مشکلی توی کد مواجع میشی حداقل تا یه ربع در صورت حل نشدنش به AI مراجعه نکن لاگ ارور رو بخون و سعی کن خودت حلش کنی...
اره پیشرفت AI دروازه ای رو باز کرد که دیگه نمیشه بستش اما باید تمام تلاشمون رو کنیم که از ابزار ها هوشمندانه استفاده کنیم.
یادمه قبل از بعضی کلاس ها اونایی که گام به گام داشتن کتاب رو میذاشتن وسط و با چنتا از دوستاشون تند تند مینوشتن.
خلاصه که طبيعی بود با اون وضع تمرین نوشتن قرار نبود اون مفاهیم رو یاد بگیریم! صرفا موضوع رفع تکلیف بود و بس....
الانم اگه از AI به درستی استفاده نکنیم میتونه همین شکلی مشکل ساز شه.
مثلا چند وقت پیش Primeagen داشت از یه نفر (که یادم نیست کی) نقل میکرد که زمانی که با مشکلی توی کد مواجع میشی حداقل تا یه ربع در صورت حل نشدنش به AI مراجعه نکن لاگ ارور رو بخون و سعی کن خودت حلش کنی...
اره پیشرفت AI دروازه ای رو باز کرد که دیگه نمیشه بستش اما باید تمام تلاشمون رو کنیم که از ابزار ها هوشمندانه استفاده کنیم.
یادگرفتن زبان هایی که Manual memory management یاد نمیدن قبل از C مثل خوردن هله هوله قبل از یه وعده سالمه!
وقتی مزهاش زیر دندون بره سخت میشه بعدش وقت گذاشت برای یاد گرفتن یه سری اصول خسته کننده.
مثلا وقتی سعی میکنید به یه نفر راجع به Garbage Collector یاد بدید وقتی ذهنیت درستی راجع به Memory نداره طبیعیه که موضوع براش خوب جا نیفته چون Context خوب تعریف نشده...
مثل اینه که جواب یه سوال رو بدون تعریف کردن اون سوال یاد بدید...
وقتی مزهاش زیر دندون بره سخت میشه بعدش وقت گذاشت برای یاد گرفتن یه سری اصول خسته کننده.
مثلا وقتی سعی میکنید به یه نفر راجع به Garbage Collector یاد بدید وقتی ذهنیت درستی راجع به Memory نداره طبیعیه که موضوع براش خوب جا نیفته چون Context خوب تعریف نشده...
مثل اینه که جواب یه سوال رو بدون تعریف کردن اون سوال یاد بدید...
🔥1
قطعا در چند وقت اخیر بهترین پادکستی بوده که Released شده
https://youtu.be/tNZnLkRBYA8?si=QJEX4_Allndd4g2s
https://youtu.be/tNZnLkRBYA8?si=QJEX4_Allndd4g2s
YouTube
ThePrimeagen: Programming, AI, ADHD, Productivity, Addiction, and God | Lex Fridman Podcast #461
ThePrimeagen (aka Michael Paulson) is a programmer who has educated, entertained, and inspired millions of people to build software and have fun doing it.
Thank you for listening ❤ Check out our sponsors: https://lexfridman.com/sponsors/ep461-sb
See below…
Thank you for listening ❤ Check out our sponsors: https://lexfridman.com/sponsors/ep461-sb
See below…
میخوای Data Structure هارو جوری یاد بگیری که دیگه هیچوقت فراموش نکنی؟
با زبان C پیاده سازیش کن.
البته میشه از هر زبان دیگه ای استفاده کرد ولی C ترجیح خودمه.
فکر میکنم بعد از اینکه یبار یکی از ساختمان های دادهرو از صفر بسازی و براش عملیات های پایه ای رو تعریف کنی و با Time&Space Complexity هرکدوم آشنا شی برای همیشه توی حافظه میمونه.
اینم یه لیست از ساختمان داده هایی که خوبه بهشون مسلط باشی:
Stack, Queue, Graph, Tree, HashTable, LinkedList
با زبان C پیاده سازیش کن.
البته میشه از هر زبان دیگه ای استفاده کرد ولی C ترجیح خودمه.
فکر میکنم بعد از اینکه یبار یکی از ساختمان های دادهرو از صفر بسازی و براش عملیات های پایه ای رو تعریف کنی و با Time&Space Complexity هرکدوم آشنا شی برای همیشه توی حافظه میمونه.
اینم یه لیست از ساختمان داده هایی که خوبه بهشون مسلط باشی:
Stack, Queue, Graph, Tree, HashTable, LinkedList
"هیچوقت به input کاربر اعتماد نکن"
اگه به عنوان یه Developer همین یه جمله ساده رو رعایت کنی جلوی کلی از آسیب پذیری های رایج Web رو میگیری.
اگه به عنوان یه Developer همین یه جمله ساده رو رعایت کنی جلوی کلی از آسیب پذیری های رایج Web رو میگیری.
👏1
یکی از قدیمیترین آسیبپذیریهای وب SQLi هست.
خودش چند نوع اصلی داره، مثل:
In-band,Blind,Out-of-band
اصولاً به هر SQLi که در اون هم برای حمله هم برای تخلیه دیتا از یک کانال استفاده میشه In-band میگیم.
که In-band هم خودش دو حالت داره:
Error-Based, Union-Based
باهم Error-Based رو بررسی کنیم:
توی این مدل حمله، مهاجم اول یه نقطه ورود (Injection Point) آسیبپذیر پیدا میکنه. این نقطه میتونه هر جایی توی برنامه باشه که اطلاعات کاربر رو بدون چک کردن درست و حسابی یا پاکسازی، صاف میفرسته قاطی کوئریهای SQL. مثلاً پارامترهای URL، چیزایی که تو فرمهای HTML مینویسیم، هدرهای HTTP (مثل Cookie یا User-Agent)، یا حتی اطلاعاتی که تو JSON یا XML برای APIها میفرستیم.
وقتی که مهاجم نقطه تزریق رو پیدا کرد با فرستادن ورودیهای دستکاریشده کاری میکنه که پایگاه داده ارور بده. این ارورها جوری هستن که یه تیکههایی از اطلاعاتی که میخوایم یا حتی ساختار پایگاه داده رو توی خودِ متن ارور نشون میدن. مهاجم این کار رو میتونه با خراب کردن سینتکس کوئری (مثلا با اضافه کردن ' ) انجام بده، یا اینکه از متدها و دستورهای خاصی توی پایگاه داده استفاده کنه که اگه بهشون ورودی ناجور بدی یا مشکلی پیش بیاد، اطلاعات رو لو میدن. مثلاً سعی میکنه یه چیزی که رشته هست (مثل نتیجه یه سابکوئری) رو به زور تبدیل به عدد کنه، یا از متدهای کار با XML (مثل ExtractValue یا UpdateXML توی MySQL و چیزای شبیه به این تو بقیه پایگاهدادهها) با ورودیهای دستکاری شده که توش یه سابکوئری جاسازی کرده، استفاده میکنه.
اگه برنامه همچین اروری رو نشون بده، خب یعنی به SQLi مبتنی بر خطا آسیبپذیره!
البته اینکه ارور چقدر اطلاعات میده و چه شکلیه، به تنظیمات پایگاه داده و خود برنامه بستگی داره. بهترین حالت برای مهاجم اینه که ارورهای Verbose (یعنی پرحرف) بگیره که کلی جزئیات مثل نسخه پایگاه داده، اسم جدولها، ستونها یا حتی یه تیکه از خود کوئری رو بهش میده. اینم مهمه که بدونیم روشهای ارور درآوردن و شکل خود ارورها خیلی به نوع پایگاه دادهای که استفاده میشه (مثلاً MySQL، SQL Server، Oracle، PostgreSQL) ربط داره.
از اینجا به بعد، مهاجم با درست کردن و فرستادن کوئریهای آلوده و با برنامه، پله پله کل پایگاه داده رو شناسایی و به اصطلاح Enumerate میکنه. این Enumerate کردن معمولاً یعنی درآوردن نسخه پایگاه داده، کاربر فعلی، اسم پایگاهدادهها، بعدش جدولهای توی یه پایگاه داده، ستونهای توی اون جدولها، و آخر سر هم کش رفتن اطلاعات حساس از این ستونها. همه این اطلاعات رو هم از طریق همون پیامهای اروری که پایگاه داده میده، به دست میاره.
خودش چند نوع اصلی داره، مثل:
In-band,Blind,Out-of-band
اصولاً به هر SQLi که در اون هم برای حمله هم برای تخلیه دیتا از یک کانال استفاده میشه In-band میگیم.
که In-band هم خودش دو حالت داره:
Error-Based, Union-Based
باهم Error-Based رو بررسی کنیم:
توی این مدل حمله، مهاجم اول یه نقطه ورود (Injection Point) آسیبپذیر پیدا میکنه. این نقطه میتونه هر جایی توی برنامه باشه که اطلاعات کاربر رو بدون چک کردن درست و حسابی یا پاکسازی، صاف میفرسته قاطی کوئریهای SQL. مثلاً پارامترهای URL، چیزایی که تو فرمهای HTML مینویسیم، هدرهای HTTP (مثل Cookie یا User-Agent)، یا حتی اطلاعاتی که تو JSON یا XML برای APIها میفرستیم.
وقتی که مهاجم نقطه تزریق رو پیدا کرد با فرستادن ورودیهای دستکاریشده کاری میکنه که پایگاه داده ارور بده. این ارورها جوری هستن که یه تیکههایی از اطلاعاتی که میخوایم یا حتی ساختار پایگاه داده رو توی خودِ متن ارور نشون میدن. مهاجم این کار رو میتونه با خراب کردن سینتکس کوئری (مثلا با اضافه کردن ' ) انجام بده، یا اینکه از متدها و دستورهای خاصی توی پایگاه داده استفاده کنه که اگه بهشون ورودی ناجور بدی یا مشکلی پیش بیاد، اطلاعات رو لو میدن. مثلاً سعی میکنه یه چیزی که رشته هست (مثل نتیجه یه سابکوئری) رو به زور تبدیل به عدد کنه، یا از متدهای کار با XML (مثل ExtractValue یا UpdateXML توی MySQL و چیزای شبیه به این تو بقیه پایگاهدادهها) با ورودیهای دستکاری شده که توش یه سابکوئری جاسازی کرده، استفاده میکنه.
اگه برنامه همچین اروری رو نشون بده، خب یعنی به SQLi مبتنی بر خطا آسیبپذیره!
البته اینکه ارور چقدر اطلاعات میده و چه شکلیه، به تنظیمات پایگاه داده و خود برنامه بستگی داره. بهترین حالت برای مهاجم اینه که ارورهای Verbose (یعنی پرحرف) بگیره که کلی جزئیات مثل نسخه پایگاه داده، اسم جدولها، ستونها یا حتی یه تیکه از خود کوئری رو بهش میده. اینم مهمه که بدونیم روشهای ارور درآوردن و شکل خود ارورها خیلی به نوع پایگاه دادهای که استفاده میشه (مثلاً MySQL، SQL Server، Oracle، PostgreSQL) ربط داره.
از اینجا به بعد، مهاجم با درست کردن و فرستادن کوئریهای آلوده و با برنامه، پله پله کل پایگاه داده رو شناسایی و به اصطلاح Enumerate میکنه. این Enumerate کردن معمولاً یعنی درآوردن نسخه پایگاه داده، کاربر فعلی، اسم پایگاهدادهها، بعدش جدولهای توی یه پایگاه داده، ستونهای توی اون جدولها، و آخر سر هم کش رفتن اطلاعات حساس از این ستونها. همه این اطلاعات رو هم از طریق همون پیامهای اروری که پایگاه داده میده، به دست میاره.
🔥1
یکی از راههای خوب برای اینکه موقع چک کردن اخبار کمتر حواست پرت بشه استفاده از Feedly هست.
میتونی باهاش برای خودت Category مختلف از فیدهای شخصیسازیشده درست کنی و بدون اینکه پستهای نامربوط تمرکزت رو به هم بزنن اطلاعاتت رو به روز نگه داری.
مثلاً یه متخصص امنیت که سرش شلوغه میتونه همهی منابع خبری مورد نیازش رو توی یه فید جمع کنه.
یا مثلاً میشه یه فید برای خبرهای AI ساخت تا به موقع بدونیم قراره کدوم LLM شغلمون رو تصاحب کنه:)
میتونی باهاش برای خودت Category مختلف از فیدهای شخصیسازیشده درست کنی و بدون اینکه پستهای نامربوط تمرکزت رو به هم بزنن اطلاعاتت رو به روز نگه داری.
مثلاً یه متخصص امنیت که سرش شلوغه میتونه همهی منابع خبری مورد نیازش رو توی یه فید جمع کنه.
یا مثلاً میشه یه فید برای خبرهای AI ساخت تا به موقع بدونیم قراره کدوم LLM شغلمون رو تصاحب کنه:)
شاید تا حالا اسم Fail2Ban به گوشتون خورده باشه خودم امروز وقتی داشتم یه CTF انجام میدادم باهاش آشنا شدم.
این ابزار در واقع یه IPS به حساب میاد که کارش اینه جلوی حملاتی مثل Brute Force رو بگیره. مثلاً اگه یه نفر هی بخواد پسورد سرور شما رو حدس بزنه Fail2Ban میفهمه و IP اون شخص رو بلاک میکنه تا دیگه نتونه حمله کنه. خیلی ابزار باحالیه برای بالابردن امنیت سرور.
اما یه نکته خیلی مهم و خطرناک وجود داره که اگه اجازههای دسترسی (Permissions) فایلها و پوشهها در سطح سیستم عامل (OS) درست تنظیم نشن همین Fail2Ban که قراره جلوی حمله رو بگیره خودش میتونه تبدیل به یه راه برای Privilege Escalation (بالابردن سطح دسترسی از یه کاربر عادی به کاربر روت) بشه!
یعنی چی؟ یعنی اگه یه مهاجم بتونه به فایلهای تنظیمات Fail2Ban دسترسی پیدا کنه و اونا رو تغییر بده میتونه کاری کنه که Fail2Ban به جای محافظت یه کد مخرب رو با دسترسی روت اجرا کنه و در نهایت به مهاجم دسترسی کامل بده. این دیگه تقصیر خود Fail2Ban نیست بلکه برمیگرده به تنظیمات غلطی که در سطح OS روی پرمیشنها اعمال شده.
اگه دوست دارید دقیقتر بدونید چطور میشه از این نقطه ضعف استفاده کرد و Fail2Ban رو برای Privilege Escalation اکسپلویت کرد این مقاله رو حتماً بخونید.
https://juggernaut-sec.com/fail2ban-lpe
این ابزار در واقع یه IPS به حساب میاد که کارش اینه جلوی حملاتی مثل Brute Force رو بگیره. مثلاً اگه یه نفر هی بخواد پسورد سرور شما رو حدس بزنه Fail2Ban میفهمه و IP اون شخص رو بلاک میکنه تا دیگه نتونه حمله کنه. خیلی ابزار باحالیه برای بالابردن امنیت سرور.
اما یه نکته خیلی مهم و خطرناک وجود داره که اگه اجازههای دسترسی (Permissions) فایلها و پوشهها در سطح سیستم عامل (OS) درست تنظیم نشن همین Fail2Ban که قراره جلوی حمله رو بگیره خودش میتونه تبدیل به یه راه برای Privilege Escalation (بالابردن سطح دسترسی از یه کاربر عادی به کاربر روت) بشه!
یعنی چی؟ یعنی اگه یه مهاجم بتونه به فایلهای تنظیمات Fail2Ban دسترسی پیدا کنه و اونا رو تغییر بده میتونه کاری کنه که Fail2Ban به جای محافظت یه کد مخرب رو با دسترسی روت اجرا کنه و در نهایت به مهاجم دسترسی کامل بده. این دیگه تقصیر خود Fail2Ban نیست بلکه برمیگرده به تنظیمات غلطی که در سطح OS روی پرمیشنها اعمال شده.
اگه دوست دارید دقیقتر بدونید چطور میشه از این نقطه ضعف استفاده کرد و Fail2Ban رو برای Privilege Escalation اکسپلویت کرد این مقاله رو حتماً بخونید.
https://juggernaut-sec.com/fail2ban-lpe
Juggernaut Pentesting Blog - A blog to help others achieve their goals in Cyber Security.
Fail2Ban – Linux Privilege Escalation - Juggernaut-Sec
In this post, we will explore how an attacker can escalate privileges from a standard user to root by exploiting the Fail2Ban service (version 0.11.2).
ای بابا APT ها تنبل شدن خب چه کاریه چهارتا mac mini میگرفتید deepSeek رو self host میکردید دیگه😁
https://thehackernews.com/2025/06/openai-bans-chatgpt-accounts-used-by.html?m=1
https://thehackernews.com/2025/06/openai-bans-chatgpt-accounts-used-by.html?m=1
شاید خیلی ساده به نظر بیاد اما وقتی با مسألهای پیچیده سر و کار داری بهجای اینکه فقط توی ذهنت حلاجی کنی کاغذ و قلم دست بگیر و بخشی از بار Cognitive رو offload کن روی برگه.
این کار چندتا مزیت داره:
اول اینکه مثل این میمونه که یه تکه از ram مغزت رو آزاد کردی،
دوم اینکه از نظر علمی (dual coding theory) اگه همزمان با نوشته و تصویر کار کنی مسیرهای نورونی بیشتری فعال میشن و در نتیجه راحتتر الگوها رو توی مسأله پیدا میکنی،
سوم اینکه بهجای حل خطی و تکبعدی راحتتر میتونی dynamic approach داشته باشی،
چهارم اینکه با کشیدن دیاگرام فلوچارت یا مایندمپ میتونی جزئیات رو شفافتر ببینی و هیچ نکتهای جا نمونه،
پنجم اینکه این سبک کار باعث میشه حافظهت بهتر عمل کنه خطاهای ساده کمتر بشن و حتی برای تیمی که باهاش کار میکنی تفهیم ایدهها آسونتر باشه.
خودم زمانی از قدرت این موضوع آگاه شدم که ازش برای حل سوالات الگوریتمی leetcode استفاده کردم.
این کار چندتا مزیت داره:
اول اینکه مثل این میمونه که یه تکه از ram مغزت رو آزاد کردی،
دوم اینکه از نظر علمی (dual coding theory) اگه همزمان با نوشته و تصویر کار کنی مسیرهای نورونی بیشتری فعال میشن و در نتیجه راحتتر الگوها رو توی مسأله پیدا میکنی،
سوم اینکه بهجای حل خطی و تکبعدی راحتتر میتونی dynamic approach داشته باشی،
چهارم اینکه با کشیدن دیاگرام فلوچارت یا مایندمپ میتونی جزئیات رو شفافتر ببینی و هیچ نکتهای جا نمونه،
پنجم اینکه این سبک کار باعث میشه حافظهت بهتر عمل کنه خطاهای ساده کمتر بشن و حتی برای تیمی که باهاش کار میکنی تفهیم ایدهها آسونتر باشه.
خودم زمانی از قدرت این موضوع آگاه شدم که ازش برای حل سوالات الگوریتمی leetcode استفاده کردم.
موضوع قابل توجهیه که ساعتها بعد از آتش بس هنوز وضعیت اینترنت به حالت اولیه برنگشته، اونم در حالی که بمبارون و شلیک موشک تموم شده...
تاثیر اینترنت و ارتباطات دیجیتال روی موضوعات مختلف از سرفصل های امنیت داخلی گرفته تا موضوعات اجتماعی و آزادی مدنی...
امنیت سایبری در ایران چه از طرف شهروندان چه شرکت ها و صاحبین کسب و کار و چه ارکان حکومتی، نظامی و اطلاعاتی هیچوقت اونقدرا جدی گرفته نشده...
این دوازده روز تنها جایی که بی دفاع بود آسمون ایران نبود...
تاثیر اینترنت و ارتباطات دیجیتال روی موضوعات مختلف از سرفصل های امنیت داخلی گرفته تا موضوعات اجتماعی و آزادی مدنی...
امنیت سایبری در ایران چه از طرف شهروندان چه شرکت ها و صاحبین کسب و کار و چه ارکان حکومتی، نظامی و اطلاعاتی هیچوقت اونقدرا جدی گرفته نشده...
این دوازده روز تنها جایی که بی دفاع بود آسمون ایران نبود...
0xCyberDev
نمیدونم هنوزم هستش یا نه ولی توی دوره مدرسه رفتن ما یه کتاب بود به اسم گام به گام که به علاوه توضیح دروس و چیزای دیگه جواب تمرینات روهم داشت! یادمه قبل از بعضی کلاس ها اونایی که گام به گام داشتن کتاب رو میذاشتن وسط و با چنتا از دوستاشون تند تند مینوشتن. خلاصه…
Interesting read!
https://x.com/itsalexvacca/status/1935343874421178762?t=i-dE2-JniQ0HpOl7yZTAVQ&s=19
https://x.com/itsalexvacca/status/1935343874421178762?t=i-dE2-JniQ0HpOl7yZTAVQ&s=19
X (formerly Twitter)
Alex Vacca (@itsalexvacca) on X
BREAKING: MIT just completed the first brain scan study of ChatGPT users & the results are terrifying.
Turns out, AI isn't making us more productive. It's making us cognitively bankrupt.
Here's what 4 months of data revealed:
(hint: we've been measuring…
Turns out, AI isn't making us more productive. It's making us cognitively bankrupt.
Here's what 4 months of data revealed:
(hint: we've been measuring…
امشب داشتم دوباره Zero Days رو میدیدم، به نظرم حتی اگه علاقه خاصی نسبت به Cyber Security و... ندارید بازم دیدنش میتونه خیلی سرگرم کننده و مفید باشه.
https://m.imdb.com/noscript/tt5446858/
https://m.imdb.com/noscript/tt5446858/
IMDb
Zero Days (2016) ⭐ 7.7 | Documentary
1h 56m | PG-13
0xCyberDev
امشب داشتم دوباره Zero Days رو میدیدم، به نظرم حتی اگه علاقه خاصی نسبت به Cyber Security و... ندارید بازم دیدنش میتونه خیلی سرگرم کننده و مفید باشه. https://m.imdb.com/noscript/tt5446858/
یه جورایی به تِم این دو سه هفته اخیر هم میخوره...
فکر کنم توی Reddit بود که یبار یه نفر بهم گفت استفاده از nodejs برای ساخت back-end مثل حل یه پازله البته شاید بشه همین رو به همه زبان هایی که یجورایی Library Dependent هستن تعمیم داد...
خودم این موضوع رو جذاب میدونم و نقطه ضعف نمیبینمش البته که میتونه به نوع پروژه بستگی داشته باشه.
خودم این موضوع رو جذاب میدونم و نقطه ضعف نمیبینمش البته که میتونه به نوع پروژه بستگی داشته باشه.
تاحالا براتون پیش اومده توی سایتهای فروش کتاب با یه چیزی شبیه این isbn:9780061917806 مواجه بشید و ندونید چیه؟
این یه URN (Uniform Resource Name) هست که زیرمجموعه URI بهحساب میاد، درست مثل URLها که هر روز ازشون استفاده میکنیم، ولی به دلایلی خیلی کمتر شناخته شدهان...
همونطور که URLها محل قرارگیری یه منبع رو مشخص میکنن و به ما میگن از کجا میتونیم بهش دسترسی پیدا کنیم، URNها کاری به مکان ندارن و تمرکزشون روی هویت منبعه.
در مورد مثال ISBN، URN بهطور دقیق مشخص میکنه با چه کتابی طرفیم، بدون اینکه آدرس فیزیکی یا لینک دسترسی به اون کتاب رو نشون بده.
البته برای استفاده از URN نمیتونیم مثل URLها صرفا اونارو توی address bar مرورگر وارد کنیم، چون معمولا یا مرورگر نمیدونه چطور باید آدرس رو resolve کنه یا اون رو بهعنوان یه query در نظر میگیره.
به همین دلیل، برای خوندن URN از ابزارها و وبسایتهای مخصوص خودشون استفاده میکنیم. مثلا برای ISBNها میتونیم از سایت worldcat.org استفاده کنیم یا حتی از طریق خود گوگل و tab اختصاصی Books این کار رو انجام بدیم.
نمونههای دیگه URNها هم مثل ISSN، UUID و... وجود دارن که میتونید دربارهشون بیشتر بخونید!
راستی isbn بالا مربوط به کتابی از سهگانه مورد علاقه خودمه!!!
این یه URN (Uniform Resource Name) هست که زیرمجموعه URI بهحساب میاد، درست مثل URLها که هر روز ازشون استفاده میکنیم، ولی به دلایلی خیلی کمتر شناخته شدهان...
همونطور که URLها محل قرارگیری یه منبع رو مشخص میکنن و به ما میگن از کجا میتونیم بهش دسترسی پیدا کنیم، URNها کاری به مکان ندارن و تمرکزشون روی هویت منبعه.
در مورد مثال ISBN، URN بهطور دقیق مشخص میکنه با چه کتابی طرفیم، بدون اینکه آدرس فیزیکی یا لینک دسترسی به اون کتاب رو نشون بده.
البته برای استفاده از URN نمیتونیم مثل URLها صرفا اونارو توی address bar مرورگر وارد کنیم، چون معمولا یا مرورگر نمیدونه چطور باید آدرس رو resolve کنه یا اون رو بهعنوان یه query در نظر میگیره.
به همین دلیل، برای خوندن URN از ابزارها و وبسایتهای مخصوص خودشون استفاده میکنیم. مثلا برای ISBNها میتونیم از سایت worldcat.org استفاده کنیم یا حتی از طریق خود گوگل و tab اختصاصی Books این کار رو انجام بدیم.
نمونههای دیگه URNها هم مثل ISSN، UUID و... وجود دارن که میتونید دربارهشون بیشتر بخونید!
راستی isbn بالا مربوط به کتابی از سهگانه مورد علاقه خودمه!!!