</homeCode>
223 subscribers
87 photos
23 videos
6 files
50 links
Download Telegram
بیایید یک کابوس وحشتناک را تصور کنیم! 🤯
تصور کنید مدیر یک شرکت بزرگ هستید و وارد اتاق بایگانی می‌شوید. وسط اتاق، یک کوه بزرگ از کاغذ ریخته است؛ فاکتورهای فروش، رزومه کارمندان، لیست محصولات و شماره تماس مشتریان، همگی بدون هیچ نظمی در هم گره خورده‌اند.
حالا حسابدار از شما شماره تماس «علی» که هفته پیش خرید کرده را می‌خواهد. پیدا کردن این یک برگ کاغذ در آن کوه درهم‌وبرهم چقدر طول می‌کشد؟ احتمالا چند روز!

راه حل چیست؟

شما چند جعبه بزرگ و برچسب‌دار می‌آورید. روی یکی می‌نویسید «مشتریان»، روی دیگری «محصولات» و روی بعدی «فاکتورها». حالا تمام کاغذهای مربوط به مشتریان را در جعبه خودش می‌گذارید. از این به بعد، اگر اطلاعات علی را بخواهید، مستقیم به سراغ جعبه «مشتریان» می‌روید و در عرض چند ثانیه پیدایش می‌کنید.

🗂 حالا این چه ربطی به مونگو دی‌بی (MongoDB) دارد؟

دیتابیس یا پایگاه داده، دقیقا همان اتاق بایگانی شرکت شماست که قرار است اطلاعات اپلیکیشن یا سایت شما را نگه دارد.

در دیتابیس معروفی مثل مونگو دی‌بی (MongoDB)، ما اطلاعات را همینطوری روی هوا رها نمی‌کنیم. ما دقیقا از همان استراتژی «جعبه‌های برچسب‌دار» استفاده می‌کنیم.

به این جعبه‌های دسته‌بندی در زبان مونگو دی‌بی، کالِکشِن (Collection) می‌گویند.

به زبان خیلی ساده:
🏢 اتاق بایگانی شما: همان دیتابیس (Database) است.

📦 جعبه‌های دسته‌بندی: همان کالیکشن (Collection) هستند.

📄 کاغذهای داخل هر جعبه: اطلاعات شما (کاربران، محصولات و...) هستند.

وقتی شما یک اپلیکیشن فروشگاهی می‌سازید، در دیتابیس مونگوی خود یک کالیکشن برای «کاربرها» می‌سازید، یک کالیکشن جداگانه برای «محصولات» و یک کالیکشن دیگر برای «نظرات». اینطوری همه‌چیز مرتب، سریع و در دسترس باقی می‌ماند و مونگو دی‌بی دقیقا می‌داند برای پیدا کردن هر چیزی باید دستش را در کدام جعبه ببرد!

🎯 جمع‌بندی کنیم؟

کالیکشن در مونگو دی‌بی، هیچ چیز عجیب‌وغریبی نیست؛ فقط یک «پوشه» یا «جعبه» دیجیتال است که اطلاعاتِ هم‌نوع و شبیه به هم را درون خودش نگه می‌دارد تا دیتابیس ما تبدیل به یک اتاق شلوغ و بی‌نظم نشود.
❤5
🕵🏻‍♂️ روزی که کدهایمان هک شد، اما مدیرعامل به هکر پاداش داد!
تصور کنید هفته‌ها روی یک API بک‌اند یا یک رابط کاربری جذاب با ری‌اکت کار کرده‌اید. کدها بدون خطا دیپلوی می‌شوند و همه چیز روی سرور عالی کار می‌کند. تا اینکه یک ایمیل به شرکت می‌رسد: یک نفر با یک ترفند عجیب، فرم احراز هویت شما را دور زده است! اما این آدم اطلاعات کاربران را ندزدیده یا دیتابیس را پاک نکرده؛ فقط یک گزارش از نحوه نفوذش نوشته و در کمال تعجب، شرکت به جای شکایت، به او ۲۰۰۰ دلار پاداش داده است!

به این دنیای عجیب و جذاب، باگ بانتی (Bug Bounty) یا «شکار جایزه آسیب‌پذیری» می‌گویند.

🎯 اصلا باگ بانتی چیست؟

مثل فیلم‌های وسترن که کلانترها برای دستگیری مجرمان جایزه (Bounty) تعیین می‌کردند، اینجا هم شرکت‌های بزرگ تکنولوژی برای پیدا کردن باگ‌ها و حفره‌های امنیتی سیستمشان جایزه می‌گذارند. شما قبل از اینکه هکرهای کلاه‌سیاه (مجرمان) به سیستم نفوذ کنند، باگ را پیدا می‌کنید و پاداشش را می‌گیرید. به همین سادگی، به همین قانونی!

💼 آیا این یک شغل به حساب می‌آید؟

باگ بانتی در دسته امنیت سایبری (بخش امنیت تهاجمی یا Offensive Security) قرار می‌گیرد. اما ساختار آن شبیه به کارمندی از ۹ صبح تا ۵ عصر نیست.
شما اینجا یک فریلنسر امنیتی هستید. حقوق ثابت ندارید، اما ممکن است با پیدا کردن یک باگ خطرناک، درآمدی معادل چند ماه یا حتی چند سال یک برنامه‌نویس را در یک روز به جیب بزنید. خیلی‌ها آن را به عنوان شغل دوم و خیلی‌های دیگر به عنوان منبع درآمد اصلی و دلاری خود انتخاب می‌کنند.

🛠 برای شکارچی شدن چه مهارت‌هایی نیاز داریم؟
خبر خوب برای شما فرانت‌کارها، بک‌اندکارها و پایتون‌نویس‌ها این است که همین الان ۵۰ درصد مسیر را رفته‌اید! کسی که می‌داند یک سیستم چطور ساخته می‌شود، بهتر از هر کسی می‌فهمد چطور می‌توان آن را خراب کرد. برای شروع فقط باید کلاه «سازنده» را بردارید و کلاه «مخرب خلاق» را سرتان بگذارید:

آشنایی عمیق با وب: درک دقیق پروتکل‌های HTTP، نحوه کار مرورگرها و شبکه
.
شناخت آسیب‌پذیری‌ها (OWASP):
فرانت‌کارها: شما در درک حملات سمت کلاینت مثل XSS یا دستکاری DOM پادشاهی خواهید کرد!
بک‌اندکارها: شما منطق دیتابیس‌ها و APIها را می‌شناسید، پس کشف باگ‌هایی مثل SQL Injection یا دور زدن سطوح دسترسی (IDOR) برایتان راحت‌تر است.

ابزارها: کار با ابزارهایی مثل Burp Suite برای دستکاری درخواست‌هایی که بین مرورگر و سرور رد و بدل می‌شوند.

اسکریپت‌نویسی: اینجا جایی است که پایتون‌کارها می‌درخشند! نوشتن ابزارهای اختصاصی برای اسکن خودکار تارگت‌ها، برگ برنده شما در باگ بانتی است.

🤖 آیا در عصر هوش مصنوعی، هنوز جای یادگیری دارد؟

شاید با خودتان بگویید: «خب ChatGPT که خودش همه باگ‌ها را پیدا می‌کند!»
پاسخ کوتاه: خیر!
هوش مصنوعی در پیدا کردن خطاهای سینتکسی یا باگ‌های ساده کُد عالی است، اما درک منطق تجاری (Business Logic) برایش غیرممکن است.

مثلا هوش مصنوعی نمی‌تواند بفهمد که اگر یک کالا را در سبد خرید بگذارید، در یک تب دیگر مرورگر واحد پول را به ریال تغییر دهید و بعد دکمه پرداخت را بزنید، سیستم گیج می‌شود و قیمت کالا صفر می‌شود! این جنس از خلاقیتِ مخرب، فقط از مغز انسان برمی‌آید. در این عصر، هوش مصنوعی فقط یک دستیار سریع برای شکارچیان است تا کارهای تکراری را اتوماتیک کند، نه یک جایگزین.

📌 جمع‌بندی

باگ بانتی یعنی هک کردن قانونی کدهایی که امثال خودتان نوشته‌اید، در ازای دریافت پاداش. این فیلد یک شاخه فریلنسری از امنیت سایبری است. اگر برنامه‌نویس هستید (چه در فرانت، چه بک‌اند و چه پایتون)، پایه بسیار قدرتمندی دارید و فقط باید زاویه دیدتان را از «خلق کردن» به «دور زدن و شکستن کدها» تغییر دهید. و بله، هیچ هوش مصنوعی‌ای هنوز نتوانسته جای خلاقیت انسان را در دور زدن منطق سیستم‌ها بگیرد.

باگ بانتی = دریافت پول کلفتی که چند ماه نیاز ب کار کردن نیست.
❤8
😃
باهاش موافقم.
👌4👍1
فکر کن یه روز عادیه. بیدار میشی، سیستم رو روشن می‌کنی و می‌خوای بشینی پای اون پروژه‌ای که ددلاینش نزدیکه. ولی یه اتفاق... یه بی‌احتیاطی ساده، یا یه حادثه تلخ باعث میشه دستت آسیب جدی ببینه.

بیا یه سناریو رو تصور کنیم؛ خدای نکرده تو یه تصادف، چندتا از انگشت‌هات آسیب می‌بینه یا بدتر، یه دستت رو از دست میدی.

اولین حسی که تو اون لحظه بهت دست میده چیه؟ درد؟ نه... برای ما برنامه‌نویس‌ها، اولین حس وحشت از تموم شدنه.

نگاه می‌کنی به کیبوردت و با خودت میگی: «دیگه نمی‌تونم کد بزنم»، «دیگه تموم شد». تو اون لحظه، کیبورد برات تبدیل میشه به یه غولِ غیرقابل دسترسی.

خیلی‌ها می‌گن انگشت‌های یه برنامه‌نویس، اسلحه و سرمایه اصلیشه. ما با همین انگشت‌ها روزی هزاران خط کد می‌نویسیم، دیباگ می‌کنیم و چیزای جدید می‌سازیم.

اما آیا واقعا انگشت‌های ما اسلحه ماست؟ اگه این اسلحه از کار بیفته، بازی تمومه؟

واقعیت اینه که نه. ما با دستامون تایپ می‌کنیم، ولی با مغزمان برنامه‌نویسی می‌کنیم.

کد زدن فقط تند تند فشار دادن دکمه‌های مکانیکال کیبورد نیست. برنامه‌نویسی یعنی حل مسئله، یعنی معماری کردن، یعنی درک منطق و پیدا کردن راه‌حل.

اگه یه روزی این اتفاق بیفته (که امیدوارم برای هیچکس نیفته)، روزای اول قطعا سخته. شاید مجبور بشی با یه دست تایپ کنی، شاید سرعتت بیاد پایین، ولی متوقف نمیشی.

دنیای تکنولوژی الان پر از ابزارهای فوق‌العاده‌ست. از کیبوردهای مخصوص یک دست (One-handed keyboards) گرفته تا سیستم‌های کدنویسی با صدا (Voice Coding) مثل Talon. همین الان برنامه‌نویس‌های خفنی تو دنیا هستن که بدون استفاده از دست و فقط با حرکت چشم یا فرمان صوتی، دارن پروژه‌های بزرگ رو هندل می‌کنن.

پس نه... دست و انگشت ما اسلحه اصلی ما نیست؛ ذهن ماست.

یه برنامه‌نویس با یک دست اما با درک عمیق از لاجیک، هزار قدم از کسی که ده تا انگشت سریع داره ولی نمی‌تونه یه باگ ساده رو هندل کنه، جلوتره.
👍5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
❤5🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
❤3🤣1
This media is not supported in your browser
VIEW IN TELEGRAM
👍2
خسته شدیم
خیلی

زندگی زیباست
باید زندگی کرد
❤2
میخواین این اسکتیشن وی اس کد رو ؟
🤣2
</homeCode>
Video message
باگ پیدا شد
🤣2🔥1
بچه هایی که توی جاوااسکریپت هستین

مبحث شی گرائی رو جدی بگیرین و خوب یادش بگیرین


چون تو تایپ اسکریپت ب شدت ب دردتون میخوره
👍7🫡1
اگر three.js رو بلدید
حتما در کنارش blender رو یاد بگیرید

من خودم امروز نصب کردم
❤4
🚀 خداحافظی با وب‌سایت‌های تخت؛ وقتی فرانت‌اند و پایتون به دنیای سه‌بعدی گره می‌خورن!




سلام رفقا! اگه فرانت‌اند کار هستید (ولی هنوز سمت Three.js نرفتید) یا با پایتون کد می‌زنید، این پست دقیقا برای شماست. بیاید یکم از کدهای دوبعدی فاصله بگیریم و ببینیم تو دنیای سه‌بعدی چه خبره.


🎨 بلندر (Blender) اصلا چیه و به چه دردی می‌خوره؟

خیلی ساده و خودمونی بگم: بلندر یه کارگاه سه‌بعدیِ همه‌کاره تو کامپیوتر شماست. از ساختن مدل یه محصول ساده برای سایت گرفته، تا طراحی سه‌بعدی کاراکترهای خفن (مثل کاراکترهای انیمه‌هایی مثل اتک آن تایتان یا جوجوتسو کایسن)، انیمیشن‌سازی و نورپردازی، همه رو انجام میده. کارش اینه که هر چیزی که تو ذهنتون هست رو به یه جسم سه‌بعدی و قابل لمس تو دنیای دیجیتال تبدیل کنه.
🤔 ارزش داره براش وقت بذاریم؟
بدون شک! چرا؟

۱. کاملا مجانیه: برخلاف خیلی از نرم‌افزارهای گرافیکی، بلندر اوپن‌سورس (متن‌باز) هست و درگیر کرک و لایسنس نمی‌شید.

۲. جامعه کاربری غول‌آسا: هر جا باگ بخورید یا گیر کنید، هزاران آموزش و آدم پایه تو یوتیوب و فروم‌ها هستن که کمکتون کنن.

۳. یه مهارت مکمل خفن: برای برنامه‌نویس‌ها، بلد بودن یکم مدل‌سازی سه‌بعدی یعنی متمایز شدن رزومه از ۹۰ درصد رقیب‌ها.

🌉 پلی به نام Three.js
خب، نقش کسی که Three.js بلده این وسط چیه؟

فرض کنید تو بلندر یه ماشین اسپرت جذاب ساختید. حالا چطوری اینو بیاریم تو مرورگر کاربر تا بتونه باهاش تعامل کنه؟ اینجاست که پای Three.js (که یه کتابخونه جاوا اسکریپتیه) میاد وسط!

بلندر اون مدل رو می‌سازه، و Three.js به عنوان یه پل، اون مدل رو زنده می‌کنه و میاره روی بوم (Canvas) مرورگر. کسی که اینو بلده، در واقع کارگردان دنیای گرافیک سه‌بعدی روی صحنه‌ی وبه.

⚖️ آزادیِ سه‌بعدی در وب: رویای شیرین یا کابوس؟ (مزایا و معایب)
خوبی ماجرا که مشخصه: وب‌سایت شما دیگه یه صفحه خشک نیست. کاربر می‌تونه محصول رو بچرخونه و یه تجربه تعاملی و خیره‌کننده داشته باشه. آزادی عملتون تو طراحی بی‌نهایته!

اما معایب و دردسرهای استفاده از مدل‌های سه‌بعدی در وب:

کابوس پرفورمنس: مدل‌های سه‌بعدی حجم دارن. اگه تو بلندر درست بهینه‌سازی (Optimize) نشن، وب‌سایتتون به شدت کند میشه و لود شدنش پیر آدم رو درمیاره.

قاتل باتری و پردازنده: رندر گرفتن یه محیط سه‌بعدی تو مرورگر، منابع سیستم کاربر رو می‌بلعه. روی گوشی‌های ضعیف‌تر ممکنه سایتتون لگ بزنه یا باتری گوشی کاربر رو خیلی سریع خالی کنه.

چالش‌های رسپانسیو: مچ کردن یه صحنه سه‌بعدی با سایزهای مختلف مانیتور و موبایل، قلق‌های خاص و اعصاب‌خردکن خودش رو داره.

🐍 پایتون این وسط چیکاره‌ست؟

بچه‌های پایتون، بلندر بهشت شماست! زبان اسکریپت‌نویسی اصلی بلندر، پایتونه. حالا با پایتون تو بلندر چیکار میشه کرد؟

اتوماتیک کردن کارها (Automation): کارهای تکراری و خسته‌کننده رو با یه اسکریپت پایتون تو چند ثانیه انجام می‌دید (مثلا تغییر سایز، زاویه یا رنگ هزارتا آبجکت به صورت همزمان).

توسعه ابزار (Add-ons): می‌تونید برای بلندر افزونه‌های اختصاصی بنویسید و ابزارهایی بسازید که خودش از اول نداشته.

تولید رویه‌ای (Procedural Generation): با کدنویسی پایتون می‌تونید به بلندر دستور بدید که به صورت خودکار مدل‌های پیچیده، شهرها یا الگوهای هندسی بسازه که دستی کشیدنشون ماه‌ها زمان می‌بره.

🔥 خلاصه ماجرا: ترکیب «بلندر» برای ساخت، «پایتون» برای اتومیشن، و «Three.js» برای نمایش تو وب، یه مثلث طلایی و به‌شدت قدرتمنده.
❤9🔥1
هر احمقی می‌تواند کدی بنویسد که

کامپیوتر بفهمد؛ برنامه‌نویس خوب

کدی می‌نویسد که انسان هم بفهمد.
👏10❤1🔥1👌1
دوستان برنامه‌نویس بیایید همدیگر را حمایت کنیم

تو این عصر عزیزان ما غیر خودمون کسی دیگه‌یی رو نداریم


دوستان کانالتون رو برام بفرستید
تو هر حوضه‌ برنامه‌نویسی


تو این کانال میزارم که از وجود اون کانال کسانی که خبر ندارن با خبر بشن


تو دایرکت همین کانال برام بفرستید


پس اول باید محتوای کانالتون قوی باشه
👍6👏1🎅1
اینم از ویترین کاملا منظم از کانال ها تو حوضه های مختلف تکنولوژی:

🍰فرانت اند:
chanel
-----------
@Its_local_host
-----------
chanel
———
chanel
-------
chanel

========================

🐍پایتون:
chanel

=======================

👽 کانال هایی که تقریبا تو همه چی ی انگلک کاری کرده:
@CodeEchoo
❤8
</homeCode>
اینم از ویترین کاملا منظم از کانال ها تو حوضه های مختلف تکنولوژی: 🍰فرانت اند: chanel ----------- @Its_local_host ----------- chanel ——— chanel ------- chanel ======================== 🐍پایتون: chanel ======================= 👽 کانال هایی که تقریبا تو همه…
بچه ها ی توضیح بدم در این مورد


ببنید از دیدگاه بنده باید تمام برنامه‌نویس ها مورد حمایت قرار بگیره

حتی اون شخصی که محتوای کانال ضعیفی داره نسبتاً
چرا ؟
چون اون شخص بار اولشه ب مرور که پیشرفت کرد خمو چم کار دستش اومد می‌فهمه باید چکار بکنه،
هیچکس از بتن تولد نابغه نیست و نابغه ب دنیا نخواهد آمد

و بنده اعتقاد دارم که اینها میتونن پیشرفت کن و جای پیشرفت هم دارن
چون اگه ماها حمایت نکنیم کی میخواد حمایتش کنه

بنده هیچ تفکیکی قائل نیستم😊


تو این عصر ما غیر خودمون هیچکسی رو نداریم🫠


و این لیست آپدیت خواهد شد.

یا علی🤚
❤10
</homeCode> pinned «اینم از ویترین کاملا منظم از کانال ها تو حوضه های مختلف تکنولوژی: 🍰فرانت اند: chanel ----------- @Its_local_host ----------- chanel ——— chanel ------- chanel ======================== 🐍پایتون: chanel ======================= 👽 کانال هایی که تقریبا تو همه…»