Node Unique – Telegram
Node Unique
115 subscribers
26 photos
3 videos
4 files
48 links
سلام به برنامه نویس های جاوااسکریپت (nodejs)
اینجا درباره Back-End تجربیات خودم رو مینویسم و به اشتراک میزارم ;)
و همچنین مفاهیم soft-skill که مربوط به Stack خاصی نمیشه هم پوشش خواهم داد.

Owner:
@iDvMH
Download Telegram
🆕~> برنامه نویسی! هودی مشکی، قهوه فول کافئین، درآمد میلیارد دلاری، تم هکری، حتما لینوکس یوزر باشی، تازه کالی بریزی فاز هکری برداری نیست!

⚪️ متاسفانه امروزه در شبکه های اجتماعی الخصوص اینستاگرام که مرکز فرماندهی همه رویا فروشانه از شاخه مهارت برنامه نویسی تبلیغات زردی انجام میشه مثلا با کلماتی مثله میخوای تو خونه دراز بکشی درامد دلاری داشته باشی؟ میخوای از طریق برنامه نویسی بری آمریکا با ترامپ ملاقات داشته باشی؟میخوای پشت صندلی بشینی پول پارو کنی؟میخوای برنامه نویس فرانت بشی بری تو تیم دیجیکالا؟ حتی یجا دیدم حموم نرفتن جزو اخلاقیات عجیب برنامه نویساس 😐 و ...
در صورتی که برنامه نویسی و بهتره بگم یک برنامه‌نویس در صورتی میتونه موفقیت عمل کنه که این نوع حاشیه هارو توجه نکنه و با دید یک سازنده وارد هر شاخه بشه. اما اگه یسری موارد فاکتور بگیریم یسری موارد بین همه برنامه نویسان مشترکه که اگه این نوع موارد تمرکز بیشتری روشون بزاریم نتیجه و خروجی خوبی بعدن دریافت میکنیم.

⚪️شامل:
- پیگیر در یادگیری
- توانایی حل مشکلات و باگ ها
- دید منطقی به مشکلات و باگ ها
- توانایی در نوع برخورد با مشکلات
- توانایی دیباگینگ و سرچ

⚪️حالا بیاین یه مثال بزنم براتون
- ایشون که توسعه دهنده کرنل لینوکس داره با یه شلوارک
- بدون syntax highlighting
- بدون LSP
- فقط یک پنجره ترمینال، بدون tmux
- فقط ترمینال خام و vi پایه
- از ابتدا یک درایور USB کرنل را تو 3 ساعت داره مینویسه

- اونوقت اقا / خانوم X انتظار داره ترمینالش حالت دارک هکری بگیره تا بتونه شروع کنه فقط.

♨️~> تبلیغات زرد رو جدی نگیرید و رو مسیرتون تمرکز کنین این یه پست دلی بود امیدوارم خوشتون اومده باشه.

⚪️اینم ویدیوش اگه دوست داشتین ببینین.

▶️ https://www.youtube.com/watch?v=IXBC85SGC0Q


📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #کاربردی #دلی #روانشناسی #فکت

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> به لیست از 13 تا "طلایی ترین" توصیه های برنامه نویسی خیلی توجه کن چونکه این چند مورد پشتش تجربه چندین ساله هستش ‼️

1️⃣قبل از اینکه بخوای از ORMها استفاده کنی، اول با SQL آشنا شو.

2️⃣جاوا اسکریپت 👩‍💻 رو خوب یاد بگیر قبل از اینکه بری سراغ 👩‍💻 React 👩‍💻 / Node.

3️⃣ اول با 👩‍💻 REST APIها کار کن، بعد برو سراغ 👩‍💻 GraphQL.

4️⃣قبل از اینکه بخوای 👩‍💻 jQuery یاد بگیری، اول DOM رو یاد بگیر.

5️⃣قبل از استفاده از 👩‍💻 Docker، یه سر و گوشی به لینوکس 👩‍💻 بزن.

6️⃣اول 👩‍💻 HTML 👩‍💻 /CSS رو تمرین کن بعدش برو سراغ جاوا اسکریپت 👩‍💻.

7️⃣اول با 👩‍💻 Git راحت باش، بعد سراغ ابزارهای CI/CD برو.

8️⃣اول 👩‍💻 Docker رو خوب بفهم، بعد به Kubernetes 👩‍💻 فکر کن.

9️⃣اول مبانی TCP/IP رو یاد بگیر، بعد برو سراغ WebSocket 👩‍💻.

0️⃣1️⃣بعد از اینکه ساختارهای داده رو خوب فهمیدی، روی الگوریتمها تمرکز کن.

1️⃣1️⃣قبل از اینکه بخوای TDD رو یاد بگیری، Manual Testing رو یاد بگیر.

2️⃣1️⃣اول معماری Monolithicرو درک کن، بعد برو سراغ میکروسرویسها.

3️⃣1️⃣با الگوی MVC شروع کن و بعد به الگوهای پیشرفتهتری مثل MVVM یا فریمورکهای SPA برو.

💡منبع لینکدین.

 📣~> شما هم 14، 15، 16 و . . . بنویس 👇

#️⃣ #کاربردی #تجربه #لینکدین

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> تو این پست میخوام مفهوم ماژولار نویسی رو بصورت واضح و ساده بگم که خیلی از افراد تازه وارد باهاش مشکل دارن. 🤬

⚪️خب ماژولار نویسی (Modular Programming) یکی از روش‌های مهم در طراحی و توسعه نرم‌افزار است که به تقسیم کد به بخش‌های کوچکتر و مستقل به نام "ماژول" انجام میشه. این رویکرد باعث بهبود خوانایی کد ها و فایل ها، توسعه‌پذیری و نگهداریشون میشه.

⚙️تعریف اصلی ماژولار نویسی🤩

⚪️ماژولار نویسی یک روش طراحی است که در آن فایل ها یا بهتره بگم هر موجودیت به بخش‌های کوچکتر و مستقل تقسیم می‌شود. 👍؟
⚪️ هر ماژول یک وظیفه خاص را انجام میده و میتونه به صورت جداگانه توسعه و تست پذیر هم باشه.👏
⚪️این رویکرد با هدف کاهش پیچیدگی کد و افزایش قابلیت استفاده مجدد طراحی شده. 👌

⚙️ویژگی‌های ماژولار نویسی 😎

⚪️استقلال ماژول‌ها: هر ماژول به صورت جداگانه عمل میکنه و وابستگی کمتری به سایر ماژول‌ها داره. 👌

⚪️قابلیت استفاده مجدد: ماژول‌ها میتونن در پروژه‌های مختلف مورد استفاده مجدد قرار بگیره یعنی شما کد پروژه قبلی رو بیاری رو پروژه جدیدت. 🇮🇷

⚪️توسعه و نگهداری آسان: تغییر در یک ماژول تأثیری بر سایر ماژول‌ها هم نداره. 👌

⚪️قابلیت تست مستقل: هر ماژول رو میتونیم به صورت جداگونه تست کنیم. 👍

⚙️ مزایای ماژولار نویسی 👩‍🎓

⚪️خوانایی بالاعه کدها: تقسیم هر موجودین به بخش‌های کوچک‌تر باعث میشه ما اگه بخواهیم مثلا در قسمت کاربران تغییراتی ایجاد کنیم دیگه نیایم تو بخش مثلا محصولات این تغییر ایجاد کنیم مستقیم. 👍

⚪️کاهش پیچیدگی: موجودیت ها به اجزای ساده و قابل درک تقسیم میشه تا خواناتر بشه. 👍

⚪️افزایش بهره‌وری: تیم‌های مختلف می‌توانن به صورت همزمان روی ماژول‌های مختلف کار کنند یعنی مثلا شما منتظر نمیمونی بخش کاربران یکی بزنه بعد شروع کنی محصولات رو بدی به یکی دیگه! همزمان که یکی داره ماژول کاربران توسعه میده شما ماژول محصولات هم میدی یکی دیگه توسعه بده. 👍

⚪️قابلیت استفاده مجدد: ماژول‌های قبلی می‌توانند در پروژه‌های دیگر مورد استفاده قرار بگیرند اگر روند توسعه یکی باشه.

⚙️ معایب ماژولار نویسی 🥹

⚪️افزایش سربار (Overhead): مدیریت و ارتباط بین ماژول‌ها ممکن است پیچیدگی ایجاد کند.

⚪️نیاز به طراحی دقیق: طراحی مناسب ماژول‌ها نیازمند برنامه‌ریزی و تحلیل دقیق است.

⚪️کارایی کمتر در موارد خاص: در برخی موارد، استفاده از ماژولار نویسی ممکن است عملکرد برنامه را کاهش دهد.

⚙️ کاربردهای ماژولار نویسی 😍

⚪️توسعه نرم‌افزارهای بزرگ: مانند سیستم‌های مدیریت محتوا (CMS).

⚪️برنامه‌های تحت وب: تقسیم کد به ماژول‌های مربوط به رابط کاربری، منطق تجاری و ارتباط با پایگاه داده.

⚪️برنامه‌های موبایل: استفاده از ماژول‌های مستقل برای عملکردهای مختلف.

⚪️توسعه کتابخانه‌ها و فریم‌ورک‌ها: ارائه توابع و کلاس‌های قابل استفاده مجدد.

⚙️ مثال از ماژولار نویسی در یک سایت فروشگاهی:

⚪️فرض کنیم سایتی قراره توسعه بدیم که موجودیت هایی مثلا منو، سرچ، کاربران، محصولات، دسته بندی، کامنت، و .. دارد ما داخل پروژه اگه بخواهیم ماژولار پیش بریم ابتدا تمامی موجودیت هارو به یک ماژول مستقل تقسیم میکنیم سپس تمامی ماژول های پروژه رو به یک ماژول اصلی و هسته پروژه مثلا app.module وصل میکنیم!!

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #کدخوانا #معرفی_منبع #کاربردی

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> معرفی Elastic Search 🤨

⚪️خب Elasticsearch یک موتور جستجوی متن باز (Open Source) است که برای جستجو و تحلیل داده‌ها طراحی شده است. این ابزار بر پایه کتابخانه Apache Lucene ساخته شده و به دلیل سرعت و کارایی بالا در پردازش داده‌ها، محبوبیت زیادی در میان توسعه‌دهندگان و تحلیل‌گران داده پیدا کرده است.

🧠 ویژگی‌های اصلی Elasticsearch 😌

⚪️جستجوی تمام‌متنی (Full-Text Search):
- یعنی Elasticsearch میتونه جستجوی پیشرفته در متن ها یا رشته های string رو فراهم میکنه. 👏

⚪️قابلیت مقیاس‌پذیری (Scalability):
- به راحتی میتونیم سیستم رو برای پردازش حجم زیادی از داده‌ها گسترش بدیم. 🔥

⚪️پشتیبانی از API‌های RESTful:
- میتونیم به‌سادگی با Elasticsearch ارتباط برقرار کنیم از طریق api. 👍

⚪️تحلیل داده‌ها:
- از ابزارهایی برای تجزیه و تحلیل داده‌های بزرگ پشتیبانی میکنه. 👍

⭐️ کاربردهای Elasticsearch ☺️

⚪️جستجو در وب‌سایت‌ها:
- به‌عنوان مثال، موتور جستجوی داخلی در سایت‌های تجارت الکترونیک. 🤯

⚪️تحلیل لاگ‌ها:
- جمع‌آوری و تحلیل لاگ‌های سیستم‌های مختلف. 😍

⚪️مانیتورینگ و امنیت:
- استفاده از Elasticsearch به همراه Kibana و Logstash (مجموعه ELK) برای نظارت بر سیستم‌ها. 🍰

⚪️تجزیه و تحلیل داده‌ها:
- تحلیل داده‌های بزرگ به صورت ریل تایم (Real-Time). 👏

🛸 مزایای Elasticsearch 💪

⚪️سرعت بالا: به دلیل استفاده از ساختارهای پیشرفته مانند inverted index.

⚪️قابلیت توسعه: معماری توزیع‌شده Elasticsearch امکان مدیریت حجم بالای داده‌ها را فراهم می‌کند.

⚪️متن باز بودن: دسترسی رایگان به کد منبع و امکان استفاده گسترده.

⚪️انعطاف‌پذیری: قابلیت تطبیق با نیازهای مختلف سازمانی.

⚙️معایب Elasticsearch 🥺

⚪️پیچیدگی در پیکربندی: برای کاربران تازه‌کار ممکن است دشوار باشد.

⚪️مصرف منابع بالا: به ویژه در سیستم‌هایی با داده‌های بسیار زیاد.

⚪️وابستگی به سایر ابزارها: برای بهره‌گیری کامل از قابلیت‌ها نیاز به ابزارهای مکملی مانند Kibana وجود دارد.

⭕️~> نمونه مثال: جستجوی محصولات در یک فروشگاه آنلاین

⚪️فرض کنیم یک فروشگاه آنلاین با هزاران محصول داریم و کاربران میخوان محصول مورد نظر خودشون رو جستجو کنن. خب برای پیاده‌سازی این قابلیت میتونیم از Elasticsearch استفاده کنیم:

⚪️اول ایندکس کردن داده‌ها: ابتدا اطلاعات محصولات (مانند نام، توضیحات، قیمت و دسته‌بندی) را به‌صورت ساختاریافته به Elasticsearch ارسال میکنیم.
{
  "name": "لپ‌تاپ Dell XPS 13",
  "denoscription": "لپ‌تاپ سبک و قدرتمند با صفحه نمایش 13 اینچی.",
  "price": 25000000,
  "category": "الکترونیک"
}

⚪️انجام جستجو: کاربر کلمه‌ای مانند "لپ‌تاپ" را جستجو میکنه. Elasticsearch نتایج مرتبط را برمیگردونه.

{
  "query": {
    "match": {
      "name": "لپ‌تاپ"
    }
  }
}

⚪️نمایش نتایج: نتایج جستجو شامل اطلاعات محصولاتی است که با کلمه جستجو شده همخوانی دارند.


⚪️این یک پست معرفی elastic search بود برای نحوه استفاده و همچنین متود های این موتور جستجو، به داکیومنت Elasticsearch مراجعه کنین:
🧾 https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html


🎞 برای یادگیری Elastic Search این ویدیو یوتیوب رو مشاهده کنین حتما.
🔴 https://youtube.com/playlist?list=PLS1QulWo1RIYkDHcPXUtH4sqvQQMH3_TN&si=9SUimQjbHGlIR9Ps
📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #معرفی_منبع #ویدیو_آموزشی #elasticsearch

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> کتاب کلین‌کد میگه برای اسم variable ها و Function و ..مخفف(کوتاه سازی از من درآوردی) نکنیم 🚫

💡مثل
const ymdh = "year month day hour" 
const incrUser = () => {}
const delUser = () => {}

⚪️باید اسم variable ها و ... خوانا و مرتب باشه، بطوری که از ۱۰۰ کیلومتری بشه با بار اول متوجه شد کارایی اون خط کد رو. 👍

💡مثل

const expiredTime= "year month day hour" 
const incrementUser= () => {}
const deleteUser = () => {}

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #تجربه #ترفند #کاربردی #کلین_کد #cleancode

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> فرقی نمیکنه فرانت کار باشی یا بک اند کار، اگه با 👩‍💻 Typescipt کد میزنی حتما این 👩‍💻 extension رو باید نصب داشته باشی. 🌟

⚪️این 👩‍💻 extension میاد ارور های typescipt 🥶 که داری رو تمیز تر نشون میده برات👻

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #کاربردی #معرفی_ابزار

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> اگه در کار با درگاه پرداخت زرین پال بصورت request خام مشکل داری یا از کثیف شدن کد هات خوشت نمیاد میتونی از این پکیج استفاده کنی کار با باهاشو راحت کرده کافیه متود هاشو فراخوانی کنی خودش پشت پرده request میزنه 😎

🐱 https://github.com/fanishah/zarinpal-pay


📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #کاربردی #معرفی_منبع

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> هر استارتاپی میتونه موفقیت آمیز / شکست باشه، در صورتی برای استارتاپ فردی از هزینه های خودتون بزارین که سهمی در اون استارتاپ دارین(خارج از هزینه لانچ که دریافت باید کنین اول کار) چون در غیر این صورت باید منتظر بمونین تا طرف کارش (شاید) به درآمد برسه تا حقوق برنامه نویسشم بده، سری که درد نمیکنه رو دستمال نبندین 😀

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #تجربه

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
⚪️احراز چه هویت 😐

⭐️ احراز هویت با کتابخانه Passport.js 😐

🔘کتابخانه Passport.js یک کتابخانه یه ماژولار و انعطاف‌پذیر برای احراز هویت (Authentication) در پروژه‌های Node.js است. این کتابخانه از استراتژی‌های مختلفی برای احراز هویت مانند local، JWT، OAuth و OpenID و حتی گوگل پشتیبانی میکنه. 🔥
استفاده از Passport.js به توسعه‌دهندگان کمک می‌کند تا فرآیند احراز هویت را به شکلی ساده، امن و قابل گسترش پیاده‌سازی کنند. 👏

🔘ویژگی‌های Passport.js 😐

⚪️سبک و انعطاف‌پذیر: Passport.js طراحی ماژولار دارد و به راحتی می‌توان آن را با پروژه‌های موجود ادغام کرد. 😎

⚪️پشتیبانی از چندین استراتژی: می‌توانید از استراتژی‌های مختلف احراز هویت برای نیازهای متفاوت استفاده کنید.😉

⚪️سادگی در استفاده: پیاده‌سازی ساده با استفاده از API‌های خوانا. 🍺

⚪️جامعه فعال: مجموعه‌ای گسترده از افزونه‌ها و مستندات. 🫶

🔘مزایای استفاده از Passport.js 📰

⚪️انعطاف‌پذیری بالا: این کتابخانه امکان استفاده از چندین روش احراز هویت را فراهم می‌کند، مانند ورود با ایمیل و رمز عبور، استفاده از توکن JWT، یا استفاده از پلتفرم‌های واسطه مانند گوگل و فیسبوک. 😠

⚪️سازگاری: Passport.js به راحتی با فریم‌ورک‌هایی مانند Express و Nestjs مَچ میشه و می‌توان آن را به سرعت در پروژه‌های موجود پیاده‌سازی کرد. 😠

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

⚪️مدیریت استراتژی‌های مختلف: Passport.js از رویکرد ماژولار برای مدیریت استراتژی‌ها استفاده می‌کند که باعث می‌شود هر استراتژی به صورت مستقل مدیریت شود. 🙂

🔘محدودیت‌های Passport.js 😭

⚪️پیچیدگی در تنظیمات پیشرفته: برای پیاده‌سازی استراتژی‌های سفارشی یا ترکیب چندین روش احراز هویت ممکن است نیاز به دانش پیشرفته باشد. ☹️

⚪️نیاز به مدیریت دستی خطاها: در Passport.js مدیریت خطاها و پیام‌ها به صورت دستی انجام می‌شود که ممکن است در پروژه‌های بزرگ به پیچیدگی افزایش پیدا کند. 🙁

🔘موارد استفاده Passport.js 😎

⚪️ورود کاربران با اطلاعات حساب کاربری: امکان احراز هویت کاربران با استفاده از نام کاربری و رمز عبور یا سایر اطلاعات کاربری مانند ثبت نام یا ورود با ایمیل. 😍

⚪️اتصال به سرویس‌های گوگل یا فیسبوک: ورود با استفاده از حساب‌های کاربری سرویس‌هایی مانند گوگل، فیسبوک یا گیت‌هاب. 🥳

⚪️استفاده از توکن JWT: احراز هویت کاربران با استفاده از توکن‌های JSON Web Token برای افزایش امنیت و کارایی در API‌ها. 👍

⚪️احراز هویت ترکیبی: پیاده‌سازی چندین روش احراز هویت مثل با رمز عبور یا ایمیل یا اس مس برای راحتی ورود / ثبت نام کاربران. 🛍

♨️~> لپ مطلب: 🧑‍🎓
• کتابخانه Passport.js یک ابزار قدرتمند برای پیاده‌سازی احراز هویت در برنامه‌های Node.js است. با توجه به پشتیبانی از استراتژی‌های مختلف و سادگی در پیاده‌سازی، این کتابخانه یکی از انتخاب‌های محبوب توسعه‌دهندگان است. این ابزار با رویکرد ماژولار خود امکان ایجاد سیستم‌های احراز هویت پیچیده و منعطف را فراهم می‌کند و به توسعه‌دهندگان کمک می‌کند تا به راحتی نیازهای امنیتی پروژه‌های خود را برآورده کنند.

⚪️این یک پست معرفی Passport js بود برای نحوه استفاده و همچنین استراتژی های مختلف احراز هویت های این کتابخانه، به داکیومنتش مراجعه کنین:
🧾  https://www.passportjs.org/


🎞 برای یادگیری Passport js این ویدیو یوتیوب رو مشاهده کنین حتما:

🔴 https://youtu.be/F-sFp_AvHc8?si=e8r1ImRoGuuWzmgs


📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #ویدیو_آموزشی #authentication #معرفی_منبع

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
Code_Unique.pdf
692 KB
🆕~> این PDF بدرد رفیقایی میخوره که اکانت لینکدینشون بن شده ، به نظرم حتما نگاه بندازید من خودم انقدر بن شدم کلا دلسرد شدم از فعالیت داخل لینکدین. 🥹

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #کاربردی #linkedin

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
یه قابلیتی که تلگرام داره و خیلی دوسش دارم قابلیت اینه وقتی تولدته به بقیه نشون میده هدف این کارش از دیدگاه من اینه با وجود شرایط سختی که رو زندگی حاکم و سواره واقعا کوچک ترین شادیا هم از بین رفته.
امروز دیدم تولدمه و وارد دهه ۲۰ - ۳۰ شدم و به عنوان یه برادر کوچیک خواستم کمی دردودلی داشته باشم.
دهه ۲۰ تا ۳۰ یکی از سخت‌ترین دهه های هر فرد محسوب میشه تو این برهه انقدر باید استرس، فشار، بی پولی بی خوابی و حتی شده گشنگی بکشی تا بتونی با موفقیت بیای بیرون.
من تو زندگی و روندی که پیش گرفتم به این اصل که میگه اقا از ۲۰ تا ۳۰ سالگی نرو با رفیقات drink بزن، نرو با دختر مردم با جیب خالی لاس بزنی رو مهارت هات تمرکز کن خودتو ارتقا بده تو این سن، تا افسوس دهه ۳۰ تا ۴۰ نخوری که میتونستی بکنی اما نکردی!!

یجا ویدیو دیدم داشت می‌گفت من الان تورو برای کارم تو آمریکا بخوام ایا اماده ایی برام کار کنی؟ رو زبانت کار کردی؟ رو بدنت کار کردی؟ باشگاه میری تا استایلت مناسب باشه؟ مرد بار اومدی اصلا!!. من خودم قید دانشگاهمو زدم تا بتونم با تمرکز بالاتری رو مهارت هام کار کنم، نمیگم شمام بزنین نه! اگه میبینی دانشگاه برات مفیده حتما برو ولی به دید این نرو دانشگاه بهت پول برسونه که اوج بدبختی این زمانه، مخصوصن ما پسرا که بعدش سربازی داریم:) تازه با این دلار ۸۰ تومنی.

هرجا دیدین کم اوردین مطعن باشین یه پله برای موفقیت بعدیتونه نمیخوام برم بالا ممبر فاز نصیحت بردارم چون نه جاش اینجاس نه به برنامه نویسی ربط داره اما شاید رو شخصیت فرد تاثیر بزاره
اینو یه گوشه ذهنتون داشته باشید به عنوان برادر کوچکتر از من: اگه میخواهی تو دهه ۳۰ تا ۴۰ که انشالله خانواده خوبیم تشکیل بدی دردی رو تحمل نکنی / و نزاری تحمل کنن خونودات، این دهه ۲۰ سالگی تا ۳۰ سالگیو جدی بگیر اگم از این دهه گذشتی خیلی خوش حالم برات و مطعنم تو روند خوبی داری پیش میری.

با اجازتون امروز پستی نداشته باشیم تا بتونم با فکری بازتر محتوا قرار بدم 🙏 ❤️

هروقت دوست داشتی با فرد غریبه ایی دردودل بکنی باعث افتخارمه بیای پیویم تا کنارت باشم قطعا جوابتو میدم رفیق ❤️
@idvmh
🆕~> معرفی انواع عملگرها (Operators) در SQL.

🔥قسمت اول.

1️⃣عملگرهای مقایسه‌ای (Comparison Operators)

⚪️= برابر (equal)
⚪️!= یا <> نابرابر (not equal)
⚪️> بزرگ‌تر (Greater than)
⚪️< کوچک‌تر (less than)
⚪️>= بزرگ‌تر یا مساوی ( Greater than or equal to)
⚪️<= کوچک‌تر یا مساوی (less than or equal to)

💡مثال
SELECT * FROM Products WHERE price > 5000;

SELECT * FROM Products WHERE price <> 5000;


⭕️~> نماد ستاره (*) asterisk، به معنی همه.

2️⃣عملگرهای منطقی (Logical Operators)
برای ترکیب چند شرط:


⚪️AND: هر دو شرط باید درست باشند.
⚪️OR‌: حداقل یکی از شروط باید درست باشد.
⚪️NOT: شرط را معکوس می‌کند.

💡مثال:
SELECT * FROM users WHERE role = 'user' AND age < 25;

SELECT * FROM users WHERE role = 'user' OR age < 25;

3️⃣عملگرهای محاسباتی (Arithmetic Operators)
برای انجام عملیات ریاضی:

⚪️+ جمع (add)
⚪️- تفریق (subtract)
⚪️* ضرب (multiply)
⚪️/ تقسیم (divide)
⚪️% درصد (module)

💡مثال:
SELECT price, price * 15000 AS newPrice FROM Products;


4️⃣عملگرهای مجموعه‌ای (Set Operators)
برای ترکیب نتایج کوئری‌ها:

⚪️UNION
⚪️INTERSECT
⚪️EXCEPT
💡مثال:

SELECT Name FROM users
UNION
SELECT Name FROM seller;


5️⃣عملگرهای خاص (Special Operators)

⚪️BETWEEN: برای تعریف بازه.
⚪️LIKE: برای جستجوی الگو.
⚪️IN: برای مقادیر خاص.
⚪️IS NULL: بررسی مقدار NULL

💡مثال:
SELECT * FROM Products WHERE price BETWEEN 500 AND 600;

SELECT * FROM users WHERE phone IS NULL;

SELECT * FROM tickets WHERE status IN ("cancel", "accept");

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #sql

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> معرفی Query Builder در SQL

🔥قسمت اول.

🔘در دنیای توسعه‌ی نرم‌افزار و پایگاه‌داده، مدیریت و ساخت کوئری های SQL بخش مهمی از فرآیند کار با داده‌ها است. اما وقتی پروژه‌ها بزرگ‌تر میشوند و پیچیدگی کوئری افزایش می‌یابد، مدیریت کوئری‌های دستی می‌تواند وقت‌گیر و باعث بروز خطا باشه. اینجاست که Query Builderها وارد عمل می‌شوند. ⚡️

⚪️ابتدا درباره این صحبت کنیم Query Builder چیه؟

⭐️ خب Query Builder ها ابزار یا کتابخانه هایی هستن که به توسعه‌دهندگان اجازه میده کوئری‌های SQL را به صورت متود یا فانکشن ها یعنی بدون نیاز به نوشتن مستقیم دستورات زبانی SQL ایجاد کنند. به عبارت ساده‌تر، به جای نوشتن رشته‌های SQL به صورت دستی، می‌توان از توابع و متودهای این ابزارها / کتابخانه ها استفاده کرد تا کوئری‌های مورد نظر را تولید / استفاده کرد.

🔘مزایای استفاده از Query Builder 🔥

1️⃣خوانایی بیشتر کد

⚪️کوئری‌های دستی SQL ممکن است پیچیده و طولانی باشند، اما Query Builderها با ارائه یک واسط کدنویسی خوانا (Readable API) باعث می‌شوند کد به‌مراتب ساده‌تر و واضح‌تر باشد. 🗿

2️⃣جلوگیری از حملات SQL Injection

⚪️بیشتر Query Builderها به صورت خودکار ورودی‌ها را پاکسازی می‌کنند و از حملات خطرناک SQL Injection جلوگیری می‌کنند.🥷

3️⃣قابلیت استفاده مجدد

⚪️ما توسعه‌دهندگان با استفاده از Query Builder ها کوئری‌های پویا ایجاد کنیم که در بخش‌های مختلف برنامه قابل استفاده مجدد باشه. 😇

4️⃣پشتیبانی از چند پایگاه‌داده

⚪️برخی از Query Builderها به شما امکان می‌دهند به‌راحتی با پایگاه‌داده‌های مختلف (مثل MySQL، PostgreSQL، SQLite و ...) کار کنید.

💡نمونه‌ای از Query Builder در با استفاده از کتابخانه knex.js

ممکنه اسم این کتابخانه تا حالا ندونسته باشیت اما این کتابخانه در جاوااسکریپت، یکی از محبوب‌ترین ابزارهای Query Builder است.

const knex = require('knex')({
  client: 'mysql',
  connection: {
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'mytestdb'
  }
});

// ایجاد یک کوئری SELECT
knex('users')
  .select('id', 'name', 'email')
  .where('role', 'admin')
  .orderBy('created_at', 'desc')
  .then((rows) => {
    console.log(rows);
  })
  .catch((error) => {
    console.error(error);
  });

❤️محبوب‌ترین Query Builderها در JavaScript ✌️
Knex.js, Sequelize 👩‍💻 , TypeOrm, Prisma 👩‍💻 , mikro-orm, Drizzle

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #معرفی_ابزار #sql

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> امروز یه سایت پیدا کردم که میاد تمامی مباحث ساختمان داده و طراحی الگوریتم رو به صورت انیمیشنی آموزش میده و حتی کد و نحوه ی اجرا کردن کدش رو هم بهتون نمایش میده تا درک بهتری نسبت به الگوریتم و ساختمان داده داشته باشین.

🧾 https://visualgo.net


⭕️~> یادگیری الگوریتم و ساختمان داده برای هر برنامه نویسی واجبه اما متاسفانه این مبحث انقدر بد توضیح میدن در نت فارسی که منبع خوبی پیدا نکردم قرار بدم.🚶‍♂

📣~> اگه منبعی برای یادگیری الگوریتم و ساختمان داده میشناسین حتما تو کامنت ها به اشتراک بگذارید.👇

#️⃣ #معرفی_منبع #معرفی_ابزار #کاربردی

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> اگه میخواهید قواعد کلین کد هم داخل کوئری های sql رعایت کنین حتما این مقاله رو بخونین همراه با مثال توضیح داده که میتونه رو پرفورمنس تاثیر داشته باشه. موضوعات جالبی داخل این سایت مورد بررسی قرار گرفته حتما فقط به این بخش تکیه نکنین.

🧾 https://datalemur.com/sql-tutorial/best-practices-for-writing-sql-queries


📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #مقاله #کلین_کد #sql #cleancode

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> یه تکنیک باحال و کاربردی برای راحت تر سرچ کردن مقاله های مورد نظرتون. 😌

site:sitename "topicname"


⚪️قسمت sitename اسم سایتی که میخواهین ازش مقاله بخونین جای‌گذاری کنین محبوب ترین ها devto ، medium هست و قسمت topicname موضوعی که میخواهی ازش مقاله نشونت بده رو مینویسی داخل دابل کوتیشین.

💡مثال:
site:medium.com "nestjs"
- مقاله های مرتبط با nestjs برات میاره.


📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

#️⃣ #مقاله #کاربردی #ترفند

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
🆕~> مفهوم هاست (Host) ✈️ و دامنه (Domain)✈️

😀 مفهوم Domain
- دامنه یا Domain، نامی است که برای دسترسی آسان به وب‌سایت‌ها استفاده می‌شود. این نام به جای آدرس عددی (IP Address) سرور قرار میگیره.

- نام دامنه: نامی هست که ما انتخاب میکنیم برای وبسایت (مثلاً google, digikala).
- پسوند دامنه: نوع یا هدف وب‌سایت را نشان می‌دهد (مانند .com, .org, .ir).

💡 مثال:
https://www.digikala.com


✈️ مفهوم Host

- هاست (Host) به فضایی گفته میشه که تمام فایل‌ها، داده‌ها، و اطلاعات مربوط به یک وب سایت در آن ذخیره و مدیریت میشه. وقتی یک کاربر آدرس وب‌سایت (دامنه) رو داخل مرورگر وارد میکنه، هاست همان جایی است که اطلاعات و محتوای سایت از آن بارگذاری و به کاربر نمایش داده میشه. 👍

👨‍💻 انواع هاست:
- هاست‌ها به انواع مختلفی تقسیم میشه که هر کدام برای نیازهای خاصی طراحی شده‌اند:

1️⃣هاست اشتراکی (Shared Hosting):
• چندین وب‌سایت از یک سرور و منابع مشترک استفاده می‌کنند.
•ارزان‌ترین گزینه است.
• مناسب برای وب‌سایت‌های کوچک و با ترافیک کم.

2️⃣هاست اختصاصی (Dedicated Hosting):
• یک سرور کامل فقط به وب‌سایت شما اختصاص داده می‌شود.
• منابع کاملاً اختصاصی و بدون اشتراک.
• مناسب برای وب‌سایت‌های بزرگ با ترافیک بالا.

3️⃣هاست مجازی (VPS - Virtual Private Server):
• سرور به چند بخش تقسیم شده و هر بخش به یک کاربر اختصاص داده می‌شود.
• امکاناتی مشابه هاست اختصاصی، اما با هزینه کمتر.
• مناسب برای وب‌سایت‌های متوسط با نیاز به منابع اختصاصی.

4️⃣هاست ابری (Cloud Hosting):
• وب‌سایت از منابع چندین سرور استفاده می‌کند.
• مقیاس‌پذیری و پایداری بالا.
• مناسب برای وب‌سایت‌های پویا و ترافیک متغیر.

5️⃣هاست وردپرس (Managed WordPress Hosting):
• به‌طور ویژه برای وب‌سایت‌های وردپرسی طراحی شده است.
• امکانات بهینه‌سازی شده برای سرعت و امنیت.
• مناسب برای وب‌سایت‌هایی که از WordPress استفاده می‌کنند.

☁️ اجزای اصلی هاست

1️⃣فضای ذخیره‌سازی (Storage):
• جایی که فایل‌ها و پایگاه داده وب‌سایت ذخیره می‌شوند.

2️⃣پردازشگر (CPU):
• قدرت پردازشی برای اجرای برنامه‌ها و پردازش درخواست‌های کاربران.

3️⃣حافظه (RAM):
• حافظه موقت که برای اجرای سریع‌تر فرآیندها استفاده می‌شود.

4️⃣پهنای باند (Bandwidth):
• میزان داده‌ای که بین سرور و کاربران منتقل می‌شود.

5️⃣کنترل‌پنل (Control Panel):
• ابزار مدیریت هاست، مثل cPanel یا Plesk، که برای مدیریت آسان وب‌سایت استفاده می‌شود.

6️⃣پشتیبانی از زبان‌های برنامه‌نویسی و پایگاه‌داده:
مانند PHP، Node.js، MySQL، MongoDB و غیره.

🛡 ویژگی‌های یک هاست خوب:

- سرعت بالا:

• هاستی که از سخت‌افزار به‌روز و حافظه SSD استفاده کند.

- امنیت قوی:
• شامل فایروال، SSL، و امکانات پیشگیری از حملات DDoS.

- پشتیبانی فنی:
• پشتیبانی ۲۴/۷ برای حل مشکلات فنی.

- پایداری (Uptime):
• تضمین دسترسی مداوم به وب‌سایت (بیش از ۹۹.۹%).

- مقیاس‌پذیری:
• امکان ارتقا منابع برای تطبیق با رشد وب‌سایت.

🔑⭕️~> بدون هاست، دامنه شما به جایی متصل نخواهد شد و کاربران نمی‌توانند محتوای سایت شما را ببینند.

📣~> تجربه استفاده از کدوم هاست رو داری؟ تو کامنت ها باهامون به اشتراک بزار 👇

#️⃣ #کاربردی #هاست #دامنه #معرفی_منبع

🔤 @Code_Unique
Please open Telegram to view this post
VIEW IN TELEGRAM
رفقا سلام، ابتدا پست امروز یه مطلبی رو باهاتون به اشتراک بزارم. ایدی کانال و اسم عوض شده و اخیرن فعالیت چنل مثل قبل پایین اومده به علت اینکه این روزا سرم به شدتت شلوغه و مشغول ارتقا مهارت های hard-skill هستم و همچنین این روزا دلو دماغ تولید محتوا هم از دست دادم و من سعی میکنم همیشه تمام توان و صدمو بزارم که مطالب، مقاله، تجربه هایی که روزمره بهش برمیخورم درجا به اشتراک بزارم و همچنین کنارشم دارم یه ربات تلگرامی توسعه میدم که کاراییش اینه براتون مقاله هایی از topic که مشخص میکنید از سایت های محبوب جمع آوری میکنه و همچنین ریپو های گیت هاب + سورس کد رو براتون میفرسته و ... که قصد لو دادنشو ندارم😁
پست امروز ساعت ۶ قرار داده میشه و موضوع درباره اینه چطوری بک اند پروژه رو دیپلوی کنیم و چه قسمت هایی باید دیپلوی بشه که میتونه سوال خیلی از افراد تازه وارد باشه، اگه حال کردین برای دادن روحیه کافیه پست های کانالو share کنین بین دوستانتون تا هر روز خانوادمون بزرگتر بشه. ایدی کانال @NodeUnique

اما جدا از هرچیزی اگه فکری میکنین کمکی / راهنمایی از دستم برمیداد من همیشه تو pv هستم و حتما پاسخ میدم بهتون ❤️
@iDvMH
🆕~> راه های دیپلوی نمونه کار بک اند

- دیپلوی فایل های بک اندی روش های متفاوتی وجود داره که اکثریت برای نمونه کار ها از لیارا یا هاست یا سرور اختصاصی (VPS)و یا اگه دانش داکر دارین با داکر و .. انجام میشه.

- برای دیپلوی نمونه کار های خودتون شما باید دیتابیس پروژه و فایل های پروژه و همچنین اگه پنل پیامکی دارین (فعال) باشه. همچنین فایل‌هایی مثل .env نباید مستقیماً دیپلوی بشه. به جای آن، مقادیر متغیرهای محیطی باید در سرور تنظیم کنیم. اگر از سرور اختصاصی یا VPS استفاده می‌کنید، تنظیمات سرور (مانند Nginx، Apache، یا Reverse Proxy) باید اعمال شوند.
برای برنامه‌های در حال اجرا، باید ابزارهای مدیریت فرآیند (مانند PM2 یا Docker) استفاده کنیم.

#️⃣ #کاربردی #تجربه #دیپلوی

📣~> اگه موردی بود حتما تو کامنت ها باهام درجریان بزار 👇

🔤 @NodeUnique
Please open Telegram to view this post
VIEW IN TELEGRAM
😂🤦‍♂

🔤 @NodeUnique
Please open Telegram to view this post
VIEW IN TELEGRAM