⁉️🌐 دنیای وب واقعا چطور کار میکنه؟
ما هرروز کلی عکس، فیلم، صدا، فایل و غیره برای هم ارسال میکنیم. هرروز به کلی وبسایت سر میزنیم و چیزای مختلفی میگیریم و میبینیم، اما همهی اینها چطور ممکن شده؟
✅ HTTP یا «HyperText transfer protocol» یک پروتکل در لایهی application، یعنی لایهی هفتم مدل OSI و لایهی چهارم مدل TCP/IP هست. بعدا این جمله رو بیشتر باز میکنیم قطعا، اما در حال حاضر صرفا اینکه بدونید یک پروتکل هست برای ادامه کفایت میکنه.
⁉️ سوالی اولی که پیش میاد اینه که اصلا چیکار میکنه؟ HTTP مثل یک پل ارتباطی بین دوتا دستگاهه که تو بستر وب کار میکنن، و بهشون این قابیلت رو میده که بهم دیگه عکس، صدا، فایل، ویدیو و ... ارسال کنن. اما چطور این کارو میکنه؟
⚜️ دوتا مفهوم هست که باید شدیدا بهشون توجه کنید: «Request» و «Response»
🌕 وقتی شما وارد مرورگر میشید و میزنید http://digikala.com ، درواقع مرورگر یک Request به سمت سرور های دیجیکالا ارسال میکنه، و بعد سرورهای دیجیکالا بعد از تحلیل درخواست شما و جمعآوری اطلاعات لازم برای پاسخ دادن به شما، یک Response متناسب براتون ارسال میکنن. این میشه کل فرایند کار و به عنوان «Request Cycle» میشناسیمش.
⁉️ حالا سوال: چطور مرورگر به سرور های دیجیکالا ( یا هر سرور دیگهای ) بفهمونه که چیکارش داره. شاید اصلا من داشتم مشخصات یک محصول رو ارسال میکردم تا توی سبد خریدم ذخیرش کنم، چجوری باید اینو بهش بگم؟ خب باید از Verb های HTTP استفاده کنم.
💎 چیزی که تو این مرحله نیاز میشه بدونید، «HTTP Verbs» هست. اول از همه باهم ببینیم که چی هستن:
GET, POST, PUT, PATCH, DELETE
- اما برای چی و چجوری ازشون استفاده میکنیم؟
GET: برای دریافت دیتا و اطلاعات یک آدرس یا URL. مثلا برای مشاهده صفحهی اصلیِ http://digikala.com یک درخواست از نوع GET ارسال میشه. اگر اطلاعات بیشتری راجب URL میخواید یا نمیدونید چیه هشتگ #URL کامل توضیحاتش هست.
POST: این متُد (اسم دیگهی وِرب) برای ارسال داده سمت سرور هست. فرض کنید تو مثال دیتابیس تو پستِ بالا من میخواستم اطلاعات یک یوزر جدید رو ثبت کنم. باید با استفاده از یک متد POST این کار رو میکردم. چرا؟ چون متد پست قابلیت حمل بار داره. اگر متد GET موتورسیکلت باشه متد POST کامیونه. و میتونه با خودش یه مقدار بار (که بهش میگیم Request Body) حمل کنه و مثلا همون name, age, lastName رو با مقادیرش بذاریم توش و بفرستیم سمت سرور.
⚠️ نکته: نه اینکه GET قابلیت داشتن Body نداشته باشه، اما ازش استفاده نمیشه چون خیلی از سرور ها از Bodyای که تو ریکوئست GET باشه صرفنظر میکنن و از نظر معنایی هم این کار معنی نمیده که شما با متد دریافت اطلاعات، بخوای اطلاعات بفرستی.
PATCH و PUT: جفتشون برای آپدیت کردن یک منبع در سرور به کار میرن. مثلا فرض کنید کاربر اومده ایمیل و شماره تلفنش رو وارد کرده. بعد متوجه شده شماره تلفنش اشتباه بوده و میره اون رو اصلاحش کنه. خب اینجا دیگه شما کاربر رو از قبل داری، فقط باید یه سری تغییرات رو بهش اعمال کنی. اگر کاربر رو نداشتیم دیتاش رو با متد POST باید میفرستادیم تا ساخته میشد.
DELETE: طبق موارد بالا کارکرد دلیت قابل حدسه. برای حذف یک منبع از سرور به کار میره.
⁉️ خب حالا HTTPS این وسط چیه؟ HTTPS نسخهای هستش که به وسیله گواهی TLS یا SSL اطلاعات ورودی به و خروجی از سرور رو رمزنگاری میکنه تا افرادی که بیرون موندن نتونن بفهمن اون دیتای اصلی چی بوده و امنیتش رو بیشتر میکنه؛ برای همین میگن اگه کار خرید، پرداخت، ثبت نام و ... داشتید همیشه حواستون باشه که بالا https باشه نه http.
هنوز خیلی چیزا مونده که راجب HTTP بگم و همچنین نکته های تستیِ ریزش و خب تو یه پست متنی واقعا سخته، موافق یه ویدیو برای این مبحث هستید؟ کل قضایایی از دنیای وب که نیازه بدونید رو براتون جمع میکنم. اگر آره تو نظرسنجی بالا شرکت کنید 👆🏻
ممنون بابت همراهیتون، ریکشن یادتون نره، پستا واقعا زمان و انرژی میبرن :))).
کنجکاو بمونید
#network #http #osi #tcpip #web #crossstack
🔗 @NimaCodez | © | Go Deep, Learn Deep, Ask Deep 🧠
ما هرروز کلی عکس، فیلم، صدا، فایل و غیره برای هم ارسال میکنیم. هرروز به کلی وبسایت سر میزنیم و چیزای مختلفی میگیریم و میبینیم، اما همهی اینها چطور ممکن شده؟
⁉️ سوالی اولی که پیش میاد اینه که اصلا چیکار میکنه؟ HTTP مثل یک پل ارتباطی بین دوتا دستگاهه که تو بستر وب کار میکنن، و بهشون این قابیلت رو میده که بهم دیگه عکس، صدا، فایل، ویدیو و ... ارسال کنن. اما چطور این کارو میکنه؟
⁉️ حالا سوال: چطور مرورگر به سرور های دیجیکالا ( یا هر سرور دیگهای ) بفهمونه که چیکارش داره. شاید اصلا من داشتم مشخصات یک محصول رو ارسال میکردم تا توی سبد خریدم ذخیرش کنم، چجوری باید اینو بهش بگم؟ خب باید از Verb های HTTP استفاده کنم.
GET, POST, PUT, PATCH, DELETE
- اما برای چی و چجوری ازشون استفاده میکنیم؟
GET: برای دریافت دیتا و اطلاعات یک آدرس یا URL. مثلا برای مشاهده صفحهی اصلیِ http://digikala.com یک درخواست از نوع GET ارسال میشه. اگر اطلاعات بیشتری راجب URL میخواید یا نمیدونید چیه هشتگ #URL کامل توضیحاتش هست.
POST: این متُد (اسم دیگهی وِرب) برای ارسال داده سمت سرور هست. فرض کنید تو مثال دیتابیس تو پستِ بالا من میخواستم اطلاعات یک یوزر جدید رو ثبت کنم. باید با استفاده از یک متد POST این کار رو میکردم. چرا؟ چون متد پست قابلیت حمل بار داره. اگر متد GET موتورسیکلت باشه متد POST کامیونه. و میتونه با خودش یه مقدار بار (که بهش میگیم Request Body) حمل کنه و مثلا همون name, age, lastName رو با مقادیرش بذاریم توش و بفرستیم سمت سرور.
PATCH و PUT: جفتشون برای آپدیت کردن یک منبع در سرور به کار میرن. مثلا فرض کنید کاربر اومده ایمیل و شماره تلفنش رو وارد کرده. بعد متوجه شده شماره تلفنش اشتباه بوده و میره اون رو اصلاحش کنه. خب اینجا دیگه شما کاربر رو از قبل داری، فقط باید یه سری تغییرات رو بهش اعمال کنی. اگر کاربر رو نداشتیم دیتاش رو با متد POST باید میفرستادیم تا ساخته میشد.
DELETE: طبق موارد بالا کارکرد دلیت قابل حدسه. برای حذف یک منبع از سرور به کار میره.
⁉️ خب حالا HTTPS این وسط چیه؟ HTTPS نسخهای هستش که به وسیله گواهی TLS یا SSL اطلاعات ورودی به و خروجی از سرور رو رمزنگاری میکنه تا افرادی که بیرون موندن نتونن بفهمن اون دیتای اصلی چی بوده و امنیتش رو بیشتر میکنه؛ برای همین میگن اگه کار خرید، پرداخت، ثبت نام و ... داشتید همیشه حواستون باشه که بالا https باشه نه http.
هنوز خیلی چیزا مونده که راجب HTTP بگم و همچنین نکته های تستیِ ریزش و خب تو یه پست متنی واقعا سخته، موافق یه ویدیو برای این مبحث هستید؟ کل قضایایی از دنیای وب که نیازه بدونید رو براتون جمع میکنم. اگر آره تو نظرسنجی بالا شرکت کنید 👆🏻
ممنون بابت همراهیتون، ریکشن یادتون نره، پستا واقعا زمان و انرژی میبرن :))).
کنجکاو بمونید
#network #http #osi #tcpip #web #crossstack
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥26👍11⚡4
میگن فردا آزادیه؛ پس فردام یه عده دیگه آزاد میشن.
منم باهاتون آزاد میشم 💙
دلیل نبودن این مدتم همین چیزا بود؛ حالا بعدا صحبت میکنیم که کار زیاده.
امیدوارم موفق باشیم. دیگه بگیریم بخوابیم فردا شب صحبت میکنیم 🫶🏻
منم باهاتون آزاد میشم 💙
دلیل نبودن این مدتم همین چیزا بود؛ حالا بعدا صحبت میکنیم که کار زیاده.
امیدوارم موفق باشیم. دیگه بگیریم بخوابیم فردا شب صحبت میکنیم 🫶🏻
🔥16👍3👾2❤🔥1
اما در وهله اول بخاطر تاخیر ببخشید، راستش انقدر فشار وارده زیاد بود که ترجیح دادم یک هفتهای استراحت کنم.
زندگی کنکور های مهمتری از این به بعد برامون داره؛ آزمون های مهم تری هستن که باید از پسشون بربیایم و خودمون رو سرپا نگهداریم، درس های سختتری پیش رو هستن که پاسشون کنیم و بخونیمشون و یادشون بگیریم. و اگر مثل من عاشق وجههی آکادمیک کارتون هم بودید ولی کنکور براتون تلخ بوده؛ بنظرم جای نگرانی نیست. علاقه سوخت حرکت شما به صورت فردی برای دستیابی به اهدافتون خارج از محیط دانشگاست؛ همونطور که برنامهنویسی رو خودتون یاد گرفتید؛ علومکامپیوتر و ریاضی و ... رو هم میتونید خودتون یاد بگیرید 💙
درکل فارغ از نتیجه؛ امیدوارم هممون موفق باشیم چون به قول خودم تو این چند وقت اخیر، این کره آبی گنده جا واسه هممون داره 🌍
- نیما
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥26👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍3⚡1
۱- ساخت یه آبجکت جدید
۲- اجرا کردن هوک ها و لایف سایکل ها (AfterInsert, BeforeInsert و ...)
۳- ذخیره سازی آنی داده ها
۴- پرفورمنس
بررسیشون کنیم.
«درواقع خود فانکشن create هیچ چیزی رو به دیتابیس اضافه نمیکنه.»
«هوک ها فقط زمان صدا زدن متد save صدا زده میشن.»
«پس معیار نهایی استفاده از Create و Insert به این بستگی داره که شما میخواید چه کاری انجام بدید!»
کنجکاو بمونید.
#nestjs #typeorm #database #backend
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥16⚡3🆒3👍2
⁉️ بکاند و فرانتاند چجوری باهم حرف میزنن؟
⁉️ اصلا اپلیکیشن موبایل چجوری با بکاند حرف میزنه؟
تو این پست با «API» آشنا میشم و همه اینارو جواب میدیم.
تو دنیای برنامهنویسی «API» همون منوی توی رستورانه. API ها یه فهرست از عملکردها و خدماتی هستن که یه بکاند میتونه ارائه بده و توضیح میده چجوری میشه ازش استفاده کرد.
«API» هارو حتی میشه یهجور دلال دیتا هم حساب کرد. چون درواقع واسطه میشن بین کاربر و جایی که پردازش واقعی داره انجام میشه. (مثل پیشخدمتی که سفارش شمارو به آشپزخونه میگه و شما خودتون نمیرید به آشپزخونه)
- بیاید براش یه مثال قابل لمس بزنیم:
۱- منو رو نگاه میکنید و غذارو انتخاب میکنید.
۲- به پیشخدمت میگید فلان غذارو رو میخواید.
۳- پیشخدمت سفارش شمارو به آشپزخونه میبره تا آشپز حاضرش کنه.
⁉️ تو هرکدوم از این مراحل چه اتفاقی میفته؟
1️⃣ مرحله اول: این مرحله داره فرانتاند رو توصیف میکنه، جایی که کاربر داره دکمه ها، اطلاعات، فرم ها و متن هارو میبینه.
2️⃣ مرحله دوم: اینجا پیشخدمت داره نقش API رو بازی میکنه. داره HTTP Request (سفارش) رو از فرانت اند (کاربر) میگیره و به بکاند (آشپزخونه) تحویل میده.
3️⃣ مرحله سوم: وقتی API این ریکوعست رو تحویل داد؛ بکاند هم با وصل شدن به دیتابیس و پیدا کردن اون دیتای مورد نظر و یه سری پردازش ها، دوباره جواب (غذا) رو میده به API (پیشخدمت) تا تحویل فرانتاند (مشتری/کاربر) بدتش.
✅ به عکس #2 نگاه کنید! «اصلا دلیل فلش دو طرفهای که بینشون کشیدم همینه». چون هر دوتاشون با اون پیشخدمت (API) سروکار دارن؛ نه خود آشپز مستقیم غذارو برای مشتری میبره، نه مشتری مستقیما میره آشپزخونه.
⁉️ ولی اصلا این API چه جنسیه؟ چه شکلیه؟
⚠️ اگه حس کردید مطالب این پست براتون ناآشناست؛ خوندن این سه تا پیام میتونه کمکتون کنه که این پست رو بهتر درک کنید.
- URL و درکل آدرس تو دنیای وب چی هست؟
- HTTP یعنی چی؟ و اصلا چی هست؟
- دیتابیس چیه؟
کنجکاو بمونید.
#API #crossstack #web #http
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14👍4⚡2🆒2
⁉️ چه انواعی از API موجوده؟ الان باهم میفهمیم.
✅ شناخت انواع API به درک عمیقتر و دانش بیشتر شما کمک میکنه.
1️⃣ - REST API: یک استایل معماری برای توسعه اپلیکیشنهای تحت شبکه که از متدهای استاندارد HTTP (مثل GET, POST, PUT, DELETE) استفاده میکنه. فرمت داده معمولاً JSON هست. برای دسترسی به هر منبع یک URL مشخص وجود داره.
2️⃣ - GraphQL: برخلاف REST که هر منبع یک آدرس داره، GraphQL فقط یک آدرس داره و همه درخواستها به همون یه Endpoint ارسال میشن. GrapQL یه زبان کوئری هست که به کلاینت اجازه میده دقیقاً دادههای مورد نیازش رو درخواست کنه. از قابلیتهایی مثل بهروزرسانی لحظهای هم پشتیبانی میکنه، که برای اپلیکیشنهای وبسوکت ایدهآل هست.
3️⃣ - SOAP: یک پروتکل برای تبادل اطلاعات ساختاریافته بین وبسرویسها است. از XML استفاده میکنه و معمولاً روی بستر HTTP کار میکنه، اما میتونه با SMTP هم کار کنه.
4️⃣ - gRPC: یک فریمورک RPC (Remote Procedure Call) با پرفورمنس بالا که از پروتوکل بافر (Proto Buff) برای انتقال داده استفاده میکنه. برای میکروسرویسها خیلی مناسبه و از استریم دوطرفه (کلاینت به سرور و برعکس) پشتیبانی میکنه و برای سیستمهای Low-latency عالیه.
⁉️ حالا کدوم رو استفاده کنیم؟
✅ بستگی به نیاز شما داره. اگر API سادهای توسعه میدید، REST گزینه مناسبیه. اما اگر به انعطافپذیری بیشتری نیاز دارید، GraphQL انتخاب خوبی هست و برای میکروسرویسها و سیستمهای با تأخیر کم، gRPC بهترین گزینه است. این تصمیم به نیازسنجی دقیقی نیاز داره و به یادتون باشه که: «مجبور نیستید فقط یکی از اینها رو استفاده کنید.»
کنجکاو بمونید.
#gRPC #REST #graphql #soap #api #backend #crossstack
🔗 @NimaCodez | © | Go Deep, Learn Deep, Ask Deep 🧠
⁉️ حالا کدوم رو استفاده کنیم؟
✅ بستگی به نیاز شما داره. اگر API سادهای توسعه میدید، REST گزینه مناسبیه. اما اگر به انعطافپذیری بیشتری نیاز دارید، GraphQL انتخاب خوبی هست و برای میکروسرویسها و سیستمهای با تأخیر کم، gRPC بهترین گزینه است. این تصمیم به نیازسنجی دقیقی نیاز داره و به یادتون باشه که: «مجبور نیستید فقط یکی از اینها رو استفاده کنید.»
کنجکاو بمونید.
#gRPC #REST #graphql #soap #api #backend #crossstack
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥46⚡3🔥3👾3👍1
NimaCodez | خفنیجات با نیما
Photo
اگه خواستید این پست رو بخونید و منو یه ریاکشن مهمون کنید!
❤🔥15😭2👍1
🔥 ۷ تا ترفند برای داشتن API Endpoint های تمیز و خفنی که هرکی دید کف کنه تو خوندن این پسته!
✅ نوشتن API هایی که نگهداریشون آسون باشه و خوانایی خوبی داشته باشن از توانایی های اصلی هر توسعه دهندهی بکاندیه؛ پس بریم یادش بگیریم.
نکته: منظور از resource در ادامه؛ اون شیوهی اصلی و اولیه نمایش یک منبع هست.
1️⃣ - کالشکن یا تک عضو؟
فرض کنید میخوایم سفارشات یک کافیشاپ رو از API دریافت کنیم، این URL باید کل سفارشات رو بده:
و این یکی باید یکیشون رو برگردونه:
2️⃣ - کالشکن ها و زیر مجموعه هاشون!:
هر کاربری میتونه سفارشاتی داشته باشه. از اونجایی که این سفارش ها هستن که مال کاربر هان نه برعکس؛ پس URL درستی که همهی سفارشات یک کاربر رو بده این خواهد بود:
و URLای که فقط یک سفارش یه کاربر رو برگردونه اینطور میشه:
3️⃣ - استفاده از اسم ها؛ بهجای فعل ها: فرض کنید بخوایم تمام یوزرهای دیتابیس رو در پنل ادمین نشون بدیم؛ URL درستش به این صورت میشه:
4️⃣ - برای ایجاد سلسله مراتب از Forward Slash استفاده کنید! مثالش همون مثال مورد دوم هست.
5️⃣ - از خط تیره برای جدا کردن کلمات استفاده کنید:
6️⃣ - اسم فانکشن های CRUD رو تو URL نیارید:
چیزی که تایین میکنه این ریسورس قراره خونده بشه، چیزی براش ارسال بشه یا دلیت بشه؛ اون HTTP Methodی هست که درخواست باهاش ارسال شده.
7️⃣ - فیلتر و مرتب سازی بر اساس کوئری:
برای سرچ تو یه ریسورس خاص و مرتب سازیش نیاز نیست API های جدایی بزنید. تو همون API از طریق کوئری دیتای مورد نیاز کارتون رو دریافت کنید!
کنجکاو بمونید.
#api #rest #conventions #backend
🔗 @NimaCodez | © | Go Deep, Learn Deep, Ask Deep 🧠
نکته: منظور از resource در ادامه؛ اون شیوهی اصلی و اولیه نمایش یک منبع هست.
فرض کنید میخوایم سفارشات یک کافیشاپ رو از API دریافت کنیم، این URL باید کل سفارشات رو بده:
https://ye-chizi.com/orders
و این یکی باید یکیشون رو برگردونه:
https://ye-chizi.com/orders/{orderID}
هر کاربری میتونه سفارشاتی داشته باشه. از اونجایی که این سفارش ها هستن که مال کاربر هان نه برعکس؛ پس URL درستی که همهی سفارشات یک کاربر رو بده این خواهد بود:
https://ye-chizi.com/users/{userID}/orders
و URLای که فقط یک سفارش یه کاربر رو برگردونه اینطور میشه:
https://ye-chizi.com/users/{userID}/oders/{orderID}
https://ye-chizi.com/admin/get-users ❌
https://ye-chizi.com/admin/users ✅
https://ye-chizi.com/reports/remotejobs ❌
https://ye-chizi.com/reports/remote-jobs ✅
چیزی که تایین میکنه این ریسورس قراره خونده بشه، چیزی براش ارسال بشه یا دلیت بشه؛ اون HTTP Methodی هست که درخواست باهاش ارسال شده.
GET @ https://ye-chizi.com/orders => Get orders
POST @ https://ye-chizi.com/orders => Create a new order
DELETE @ https://ye-chizi.com/orders/{orderID} => Delete an order
برای سرچ تو یه ریسورس خاص و مرتب سازیش نیاز نیست API های جدایی بزنید. تو همون API از طریق کوئری دیتای مورد نیاز کارتون رو دریافت کنید!
https://ye-chizi.com/hotels?state=gilan&days=3
کنجکاو بمونید.
#api #rest #conventions #backend
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥19⚡2👍1🔥1🤝1
⁉ NodeJS چیه و چیکار میکنه؟ اصلا چرا هست؟
✅ اگه تازه شروع کردید آب دستتونه بذارید زمین و این ویسو گوش کنید. پر از اطلاعات مفیده واستون.
نکته ۱: Node سال ۲۰۰۹ ریلیز شد ولی سروصدا و صحبت دربارش از ۲۰۰۸ استارت شده.
نکته ۲: Netscape چون اولین مرورگری بود که خیلی فراگیر شد من با اصطلاح "اولین مرورگر" بهش اشاره کردم، وگرنه قبلش هم مرورگر های دیگه ای بودن.
کنجکاو بمونید.
#nodejs #runtime #js #engines #backend #frontend
🔗 @NimaCodez | © | Go Deep, Learn Deep, Ask Deep 🧠
نکته ۱: Node سال ۲۰۰۹ ریلیز شد ولی سروصدا و صحبت دربارش از ۲۰۰۸ استارت شده.
نکته ۲: Netscape چون اولین مرورگری بود که خیلی فراگیر شد من با اصطلاح "اولین مرورگر" بهش اشاره کردم، وگرنه قبلش هم مرورگر های دیگه ای بودن.
کنجکاو بمونید.
#nodejs #runtime #js #engines #backend #frontend
Please open Telegram to view this post
VIEW IN TELEGRAM
2⚡20👍6🆒3❤🔥2
⁉️ SQL Injection چیه و راهای جلوگیری ازش چیا هستن؟
✅ SQL Injection یکی از تکنینک های تزریق کده که بخاطر سو استفاده از آسیبپذیری های یک نرمافزار در حین ورود اطلاعات به یه فرم یا فیلد اتفاق میفته. مثلا یک فرم جلوی کاربر هست و ازش خواسته شده که سنش رو وارد کنه؛ ولی اون میتونه داخلش دستورات SQL مخربی بنویسه که مثلا کل جدول users شمارو حذف کنه.
🔥 حالا چطور باید از این اتفاق جلوگیری کرد؟
1️⃣ استفاده از ORM ها: ORM ها بخش زیادی از حملات SQL Injection رو با روشی که بهش میگن parameterized queries دفع میکنن و از برناممون محافظت میکنن.
2️⃣ اعتبارسنجی ورودی ها: باید یک سری اعتبارسنجی روی ورودی های کاربر هم از سمت فرانتاند و هم از سمت بکاند صورت بگیره تا حدالامکان هیچ دیتای مشکوک و مخربی سمت بکاند وارد نشه.
3️⃣ استفاده از میدلور های امنیتی: استفاده کردن از میدلورهایی مثل helmet و csurf.
4️⃣ آپدیت نگه داشتن کتابخونه ها: همیشه پیگیر آپدیت هایی که برای پکیج های مهم برنامتون منتشر میشه باشید و اگر مشکل امنیتیای فیکس شده حتما بعد از بررسی های لازم اون پکیج خاص رو آپدیت کنید تا از مشکلات احتمالی جلوگیری کنید.
کنجکاو بمونید.
#backend #nodejs #sqlinjection #sql #security #tips
🔗 @NimaCodez | © | Go Deep, Learn Deep, Ask Deep 🧠
🔥 حالا چطور باید از این اتفاق جلوگیری کرد؟
کنجکاو بمونید.
#backend #nodejs #sqlinjection #sql #security #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥17👍8⚡2🆒1
نصب شبی که درصد کمی از ما خواب بودن گیتهاب حوالی ساعت ۳ صبح ترکید و حوالی ۴ صبح به زندگی برگشت 😂😂
#نیم_خبر
@NimaCodez
#نیم_خبر
@NimaCodez
😁16👾4👍2
⁉️🌐 اینترنت چطوری متولد شد؟
🧐 شاید یکی از شُکه کننده ترین فکتای دنیا اینه که: «اینترنت اونقدری که بنظر میاد بیسیم نیست!»
درواقع اون بخشی که بیسیم هست در مقابل اون بخشی که واقعا با سیم بهم وصل شده عددی نیست. اما ایده های این شبکه از کجا اومد؟
✅ حوالی سال ۱۹۵۰ بود که ایده های وصل کردن چندتا کامپیوتر بهم دیگه برای رد و بدل کردن اطلاعات و منابعشون مطرح شد. از طرفی بخاطر «جنگ سرد روسیه با آمریکا» و خطرات ممکنِ یه «حمله اتمی» آمریکایی ها میخواستن تا جایی که ممکنه شرایط رو برای حفظ ارتباطاتشون محیا نگهدارن.
⭐️ اینطوری شد که «آرپانت» به وجود اومد؛ پدربزرگ اینترنت امروزی.
🟢 آرپانت اوایل یه مرکزی بود که تعدادی از دانشگاها و مناطق مهم رو بهم وصل میکرد؛ اما با گسترش این حوزه و به وجود اومدن TCP در حوالی ۱۹۷۴؛ این شبکه گسترده تر شد و به اینترنتی که ما امروزه میشناسیم شبیه تر شد.
اگه براتون جالب بود؛ لطفا برای حمایت از من و کانال ریکشن رو فراموش نکنید، خصوصا استارز :)
#network
🔗 @NimaCodez | © | Go Deep, Learn Deep, Ask Deep 🧠
🧐 شاید یکی از شُکه کننده ترین فکتای دنیا اینه که: «اینترنت اونقدری که بنظر میاد بیسیم نیست!»
درواقع اون بخشی که بیسیم هست در مقابل اون بخشی که واقعا با سیم بهم وصل شده عددی نیست. اما ایده های این شبکه از کجا اومد؟
اگه براتون جالب بود؛ لطفا برای حمایت از من و کانال ریکشن رو فراموش نکنید، خصوصا استارز :)
#network
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤🔥27👍10🔥1
🔥 Wikipedia Page Finder منتشر شد!
⭐️ @weekipediabot یه رباته که شما به صورت اینلاین میتونید بهش یه موضوع بدید و همون رو تو ویکیپدیا سرچ میکنه و درنهایت میتونید نتیجه رو انتخاب و ارسال کنید.
✅ مشکلی که وجود داشت این بود که وقتی داشتیم راجب یه موضوعی صحبت میکردیم خیلی وقتا نیاز بود از تلگرام بریم بیرون و یه سورسی از ویکیپدیا رو بفرستیم؛ دیگه نیاز نیست این کار رو بکنیم.
🌐 ریپازیتوری گیتهاب: Wiki Page Finder
🤖 آدرس ربات: @Weekipediabot
🔴 ورژن یک هست. خوشحال میشم نظراتتون؛ پیشنهاداتون؛ و حتی PR هاتون رو ببینم 💙.
⚡️ استک پروژه: Bun, TS, Typeorm, Sqlite, Telegraf
🔗 @NimaCodez
🤖 آدرس ربات: @Weekipediabot
🔴 ورژن یک هست. خوشحال میشم نظراتتون؛ پیشنهاداتون؛ و حتی PR هاتون رو ببینم 💙.
⚡️ استک پروژه: Bun, TS, Typeorm, Sqlite, Telegraf
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥20👍3🔥2
یه راه خفن یادگیری اسپیکینگ (مکالمه) اینه که به انگلیسی صحبت کنید، منم این شانسو داشتم که یه آدم خیلی خفن تو این زمینه رو پیدا کنم و یه برنامه رایگان باهم در این باره لانچ کنیم.
امشب ساعت ۹:۳۰ تا ۱۰:۳۰ اولین جلسمون هست.
اگر دوست دارید شرکت کنید و زبانتون رو بهتر کنید پیوی پیام بدید برای گرفتن لینک و چیزای مرتبط:
-آیدی برداشته شد.
⚠️ چون همه میخوایم صحبت کنیم از چنل من فقط ۱۰ نفر میتونن لینک بگیرن.
این کلاس کاملا رایگانه.
امشب ساعت ۹:۳۰ تا ۱۰:۳۰ اولین جلسمون هست.
اگر دوست دارید شرکت کنید و زبانتون رو بهتر کنید پیوی پیام بدید برای گرفتن لینک و چیزای مرتبط:
-آیدی برداشته شد.
⚠️ چون همه میخوایم صحبت کنیم از چنل من فقط ۱۰ نفر میتونن لینک بگیرن.
این کلاس کاملا رایگانه.
❤🔥7👍5
NimaCodez | خفنیجات با نیما
یه راه خفن یادگیری اسپیکینگ (مکالمه) اینه که به انگلیسی صحبت کنید، منم این شانسو داشتم که یه آدم خیلی خفن تو این زمینه رو پیدا کنم و یه برنامه رایگان باهم در این باره لانچ کنیم. امشب ساعت ۹:۳۰ تا ۱۰:۳۰ اولین جلسمون هست. اگر دوست دارید شرکت کنید و زبانتون…
ممنون که شرکت کردید این سری تموم شد 💙
هفته بعد بازم میتونید شرکت کنید.
هفته بعد بازم میتونید شرکت کنید.
💔7👍3⚡2🔥2