#roadmap | #React
🚀 مسیر یادگیری ری اکت برای توسعهدهندگان!
_React Roadmap_
|✍🏽 ¦ @DevYara
|-- Core Concepts
| |-- Components
| | |-- Functional Components
| | |-- Class Components
| | |-- Component Lifecycle
| |
| |-- JSX
| | |-- Syntax
| | |-- Expressions
| | |-- Conditional Rendering
| |
| |-- State Management
| | |-- useState Hook
| | |-- Class State
| | |-- Lifting State Up
| |
| |-- Props
| | |-- Passing Props
| | |-- Default Props
| | |-- Prop Types
| |
| |-- Event Handling
| | |-- Handling Events
| | |-- Synthetic Events
| | |-- Event Binding
| |
| |-- Forms
| | |-- Controlled Components
| | |-- Uncontrolled Components
| | |-- Form Validation
| |
| |-- Hooks
| |-- useEffect
| |-- useContext
| |-- useReducer
|
|-- Advanced Topics
| |-- Context API
| | |-- Creating Context
| | |-- Consuming Context
| | |-- Context.Provider
| |
| |-- Higher-Order Components (HOC)
| | |-- Concept
| | |-- Usage
| | |-- Examples
| |
| |-- Render Props
| | |-- Pattern
| | |-- Usage
| | |-- Examples
| |
| |-- Error Boundaries
| | |-- Handling Errors
| | |-- Fallback UI
| |
| |-- Refs
| | |-- useRef Hook
| | |-- Creating Refs
| | |-- Forwarding Refs
|
|-- Performance Optimization
| |-- Memoization
| | |-- React.iss.onemo
| | |-- useMemo
| | |-- useCallback
| |
| |-- Code Splitting
| | |-- React.lazy
| | |-- Suspense
| |
| |-- Virtualization
| |-- react-window
| |-- react-virtualized
|
|-- Routing
| |-- React Router
| | |-- Router Setup
| | |-- Route Components
| | |-- Dynamic Routing
| |
| |-- Navigation
| |-- Link Component
| |-- useHistory Hook
|
|-- State Management Libraries
| |-- Redux
| | |-- Store
| | |-- Actions
| | |-- Reducers
| |
| |-- MobX
| |-- State Tree
| |-- Actions and Views
|
|-- Testing
| |-- Unit Testing
| | |-- Jest
| | |-- React Testing Library
| |
| |-- Integration Testing
| | |-- Cypress
| | |-- Selenium
|
|-- Deployment
| |-- Build Tools
| | |-- Webpack
| | |-- Babel
| |
| |-- CI/CD
| |-- GitHub Actions
| |-- Travis CI
|
|-- Miscellaneous
| |-- TypeScript
| |-- Next.js
| |-- Server-Side Rendering (SSR)
| |-- Static Site Generation (SSG)
❤45👍8
#JobSkills #SoftSkills
آماده شدن برای مصاحبه آنلاین؟ 🎥💼
۱۰ نکته اساسی که هنگام دعوت به مصاحبه آنلاین یا آماده شدن برای آن باید در نظر بگیرید:
1. آشنایی با فناوری آنلاین 📱💻
با فناوری آنلاین که مصاحبهگر(ها) استفاده خواهند کرد آشنا شوید. آیا یک تماس تلفنی، واتساپ، اسکایپ یا زوم است؟ اگر واضح نیست، بپرسید.2. آشنایی با ابزارهای آنلاین 🛠️
با ابزارهای آنلاین که قرار است استفاده کنید، آشنا شوید. نحوه کارکرد زوم/اسکایپ را بفهمید و آن را خوب آزمایش کنید. کیفیت صدا و تصویر را بررسی کنید.3. اتصال اینترنت پایدار 🌐
اطمینان حاصل کنید که اتصال اینترنت شما پایدار است. اگر از دادههای موبایل استفاده میکنید، مطمئن شوید که به اندازه کافی برای ادامه تماس تا پایان کافی است.4. نور و پسزمینه مناسب 💡🏡
اطمینان حاصل کنید که نور و پسزمینه خوب است. شلوغی پسزمینه را حذف کنید. خود را در مکانی جدا کنید که در آنجا هیچ نویزی نداشته باشید.5. استفاده از دسکتاپ یا لپتاپ 🖥️
برای تماسهای زوم/اسکایپ، از دسکتاپ یا لپتاپ خود به جای گوشی استفاده کنید. آنها به خصوص برای تماسهای ویدیویی پایدارتر هستند.
6. بیصدا کردن اعلانها 🔕
تمام اعلانهای رایانه/گوشی خود را بیصدا کنید تا از حواسپرتیهای غیرضروری جلوگیری کنید.
7. وضعیت بدن مناسب 🧘♂️
اطمینان حاصل کنید که وضعیت بدن شما درست است. فقط به این دلیل که یک مصاحبه از راه دور است، به این معنی نیست که میتوانید روی مبل خود لم دهید. حالت بدن خود را صاف نگه دارید.8. آمادگی در جزئیات شغلی 📋
در مورد جزئیات شغلی دیگر همانند یک مصاحبه حضوری آماده شوید.
9. لباس مناسب 👔
مانند یک مصاحبه حضوری لباس بپوشید.
10. آماده بودن به موقع ⏰
حداقل ۱۰ دقیقه قبل از شروع مصاحبه آماده باشید.
میتوانید این منابع را برای آمادهسازی مصاحبه کدنویسی بررسی کنید.
✍🏽 ¦ @DevYara
موفق باشید 👍✨
❤31👍4🔥2❤🔥1👏1
چرخه بی پایان بدبخت کردن مردم بعد این انتخابات همچنان هم ادامه خواهد داشت! 💔
💔63👎10👍7🤣4
#roadmap | #NodeJs
🚀 مسیر یادگیری نود جی اس برای توسعهدهندگان!
_Node.js Backend Roadmap_✍🏽 ¦ @DevYara
|
|-- Core Concepts
| |-- Node.js Basics
| | |-- Introduction
| | |-- Installation
| | |-- REPL
| |
| |-- Modules
| | |-- CommonJS Modules
| | |-- ES6 Modules
| | |-- Creating and Importing Modules
| |
| |-- Asynchronous Programming
| | |-- Callbacks
| | |-- Promises
| | |-- Async/Await
| |
| |-- Event Loop
| | |-- Understanding the Event Loop
| | |-- Event Emitters
| |
| |-- File System
| |-- Reading Files
| |-- Writing Files
| |-- File Streams
|
|-- Web Servers
| |-- HTTP Module
| | |-- Creating a Server
| | |-- Handling Requests and Responses
| | |-- Routing
| |
| |-- Express.js
| |-- Setting Up
| |-- Middleware
| |-- Routing
| |-- Error Handling
|
|-- Databases
| |-- SQL Databases
| | |-- PostgreSQL
| | |-- MySQL
| | |-- Sequelize ORM
| |
| |-- NoSQL Databases
| |-- MongoDB
| |-- Mongoose ORM
|
|-- Authentication
| |-- User Authentication
| | |-- JWT (JSON Web Tokens)
| | |-- Passport.js
| |
| |-- OAuth
| |-- Social Logins
| |-- OAuth2
|
|-- APIs
| |-- RESTful APIs
| | |-- Principles
| | |-- CRUD Operations
| | |-- Versioning
| |
| |-- GraphQL
| |-- Basics
| |-- Setting Up
| |-- Queries and Mutations
|
|-- Real-Time Communication
| |-- WebSockets
| | |-- Socket.io
| | |-- Implementation
| | |-- Use Cases
|
|-- Security
| |-- Data Validation
| |-- Sanitization
| |-- Rate Limiting
| |-- Helmet.js
|
|-- Testing
| |-- Unit Testing
| | |-- Mocha
| | |-- Chai
| | |-- Jest
| |
| |-- Integration Testing
| |-- Supertest
|
|-- Deployment
| |-- Build Tools
| | |-- Webpack
| | |-- Babel
| |
| |-- CI/CD
| |-- GitHub Actions
| |-- Travis CI
|
|-- Miscellaneous
| |-- TypeScript
| |-- Docker
| |-- Serverless Functions
| |-- Microservices
| |-- Logging and Monitoring
❤34👍5
#NodeJs #Grammy
یکی از بهترین لایبرری ها برای ساخت بات تلگرام با Node Js
Grammy
یه لایبرری پیشرفته که تایپ اسکریپتم ساپورت میکنه که به راحتی میتونید بات تلگرام بسازید باهاش
یه نمونه کد کوتاه ازش میزارم که بدونید چقدر آسونه بات زدن باهاش 👇
import { Bot } from "grammy";
const bot = new Bot(""); // <-- put your bot token between the "" (https://t.iss.one/BotFather)
// Reply to any message with "Hi there!".
bot.on("message", (ctx) => ctx.reply("Hi there!"));
bot.start();برای خوندن داکیومنت ها و نمونه های بیشتر میتونید برید سایتش :
https://grammy.dev
🔥42👍7❤1
#TaskManagement #ProjectManagement
برنامههای مدیریت تسکها و گزارشگیری 🗂️✅
برنامههای مدیریت تسکها و گزارشگیری ابزارهایی هستند که به تیمها کمک میکنند وظایف، پروژهها و فعالیتهای خود را به صورت سازماندهی شده و مؤثر مدیریت کنند..
وجه مشترک همه این برنامهها فراهم کردن امکانات زیر است:
- تقسیمبندی وظایف: امکان ایجاد، دستهبندی و تخصیص وظایف به اعضای تیم.
- زمانبندی: قابلیت تعیین زمانبندی و مهلتهای انجام وظایف.
- پیگیری پیشرفت: امکان مشاهده و پیگیری پیشرفت وظایف و پروژهها.
- گزارشگیری: ارائه گزارشها و داشبوردهای تحلیلی برای بررسی عملکرد تیم.
.
انواع برنامههای مدیریت تسکها و گزارشگیری📝
1. برنامههای بصری و ساده: ✏️
- Trello: استفاده از تختههای بصری و کارتها برای مدیریت تسکها. مناسب برای تیمهایی که به دنبال سادگی و کاربرپسندی هستند
.
2. برنامههای جامع و پیشرفته: 📌
- Jira: ابزار قدرتمند برای مدیریت پروژههای چابک (Agile) و تیمهای توسعه نرمافزار. مناسب برای تیمهایی که به امکانات پیشرفته و گزارشگیری دقیق نیاز دارند.
.
3. برنامههای بومیسازی شده: 🇮🇷
- Taskulu: ابزار مدیریت پروژه ایرانی با پشتیبانی از زبان فارسی. مناسب برای تیمهای ایرانی که به بومیسازی و پشتیبانی محلی اهمیت میدهند
.
4. برنامههای همکاری تیمی: 🫱🏼🫲🏽
- Monday: ابزار مدیریت پروژه و همکاری تیمی با امکانات بصری و گزارشگیری. مناسب برای تیمهایی که به همکاری و اشتراکگذاری اطلاعات بین اعضای تیم نیاز دارند..
نتیجهگیری 👨🏻💻
این ابزارها به تیمها کمک میکنند تا وظایف خود را به صورت سازماندهی شده مدیریت کنند، پیشرفت پروژهها را پیگیری کنند و با استفاده از گزارشها و تحلیلها عملکرد خود را بهبود بخشند. انتخاب ابزار مناسب بستگی به نیازها و ترجیحات تیم دارد، اما همه این ابزارها میتوانند به بهبود کارایی و بهرهوری تیمها کمک کنند.
✍🏽 ¦ @DevYara
❤21👍5🔥2👏1👨💻1
#challenge
تصور کنید قرار یک پروژه با سیستم مدیریت ورود و خروج کارکنان یک شرکت داشته باشیم...✅
⚠️ میخوام مراحل انجام یک پروژه واقعی با در نظر گرفتن یک مسئله کلی رو بگید، ازتون کد نمیخوام (هر آنچه درباره اش میدونید بگید)
👨💻18👍2🔥1
#JobSkills
بهترین تکنیک برای ارسال ایمیل به منظور شبکهسازی با مسئول استخدام برای فرصتهای آینده 👇👇
نکات ایمیل مصاحبه:
شما میتوانید با ارسال ایمیلهای با دقت و ملاحظه به این هدف دست یابید.
.
✅ ایمیل درخواست شغل:
موضوع: درخواست برای [عنوان شغلی] - [نام شما].[نام مسئول استخدام] عزیز،
امیدوارم این پیام شما را در سلامت و آرامش بیابد. من این پیام را به منظور ابراز علاقهمندی به موقعیت [عنوان شغلی] در [نام شرکت] که به تازگی با آن آشنا شدم، مینویسم. باور دارم که مهارتها و تجربیات من با نیازهای این نقش همخوانی دارد.
با پیشینهای در [مهارتها/تجربیات مرتبط]، از فرصت برای مشارکت در [پروژه/بخش/هدف مشخص شرکت] بسیار هیجانزدهام و اطمینان دارم که میتوانم تأثیر مثبتی بگذارم. رزومه خود را برای بررسی شما پیوست کردهام.
قدردان فرصتی هستم که بتوانم درباره چگونگی بهرهمندی تیم شما از پیشینه و تخصص من صحبت کنم. لطفاً به من اطلاع دهید که آیا زمانی مناسب برای یک تماس یا ملاقات وجود دارد.
از توجه شما به درخواست من سپاسگزارم و منتظر فرصت گفتگو با شما هستم.
با احترام،
[نام شما]
✅ ایمیل پیگیری:
موضوع: پیگیری مصاحبه من.سلام [نام مسئول استخدام]،
امیدوارم حالتان خوب باشد. میخواستم درباره مصاحبهای که برای موقعیت [عنوان شغلی] در [نام شرکت] داشتیم، پیگیری کنم. بسیار هیجانزدهام درباره این فرصت و دوست دارم بدانم که مراحل بعدی در این فرآیند چیست.
منتظر پاسخ شما هستم.
با احترام،
[نام شما]
✅ ایمیل رد درخواست:
موضوع: قدردانی و بررسی آینده.سلام [نام مسئول استخدام]،
امیدوارم این پیام شما را در سلامت و آرامش بیابد. میخواستم بابت در نظر گرفتن من برای موقعیت [عنوان شغلی] از شما تشکر کنم. اگرچه به مرحله بعدی نرسیدم، از این فرصت برای آشنایی با [نام شرکت] سپاسگزارم و امیدوارم در آینده دوباره با هم ارتباط داشته باشیم.
یک بار دیگر از شما سپاسگزارم.
با احترام،
[نام شما]
✅ ایمیل پذیرش:
موضوع: پذیرش موقعیت [عنوان شغلی].سلام [نام مسئول استخدام]،
امیدوارم حالتان خوب باشد. میخواستم رسماً پیشنهاد برای موقعیت [عنوان شغلی] در [نام شرکت] را بپذیرم. بسیار هیجانزدهام که به تیم ملحق شده و به موفقیتهای [نام شرکت] کمک کنم. لطفاً مرا از مراحل بعدی و اطلاعات اضافی که از من نیاز دارید، مطلع کنید.
سپاسگزارم و منتظر شروع در [تاریخ شروع] هستم.
با احترام،
[نام شما]
✅ ایمیل مذاکره حقوق:
موضوع: بحث درباره حقوق برای موقعیت [عنوان شغلی]سلام [نام مسئول استخدام]،
امیدوارم این پیام شما را در سلامت و آرامش بیابد. درباره پیشنهاد برای نقش [عنوان شغلی] در [نام شرکت] هیجانزدهام. میخواهم درباره بسته حقوق و دستمزد صحبت کنیم تا اطمینان حاصل شود که با مهارتها و تجربیات من همخوانی دارد. آیا میتوانیم زمانی برای بحث در این باره تنظیم کنیم؟
سپاسگزارم و منتظر پاسخ شما هستم.
با احترام،
[نام شما]
(برای کپی کردن، کلیک کنید)
✍🏽 ¦ @DevYara
👍23❤2
#tools
🎨 به دنبال بهترین منابع برای طراحی فرانتاند هستید؟ ❤️
🌈 سایتهای رنگ:
1. colorhunt.co💻 سایتهای دانلود فونت:
2. klart.io
3. color.adobe.com
4. webkul.github.io
5. pigment.shapefactory.co
1. dafont.com🖼 سایتهای دانلود لوگو وکتور:
2. 1001fonts.com
3. fontsquirrel.com
4. fontfreak.com/fonts-new.htm
1. seeklogo.com🔵 سایتهای دانلود آیکون:
2. logovector.net
3. logotypes101.com
4. logos-vector.com
1. flaticon.com
2. freeicons.io
3. iconstore.co
4. iconfinder.com
5. digitalnomadicons.com
6. iconstore.co
🖌 سایتهای دانلود براش:
1. brushking.eu
2. brusheezy.com/brushes
3. myphotoshopbrushes.com
4. fbrushes.com
5. gfxfever.com
📁 سایتهای دانلود فایل:
1. freepik.com📸 سایتهای دانلود موکاپ:
2. all-free-download.com
3. vecteezy.com
4. freeimages.com
1. mockupsforfree.com
2. mockupworld.co
3. graphicburger.com
4. zippypixels.com
✨ سایتهای الهامبخش:
1. inspirationde.com
2. designspiration.net
3. pinterest.com
4. dribbble.com
🎥 سایتهای ویدئو:
1. mixkit.co🖼 سایتهای عکس بدون پسزمینه:
2. coverr.co
3. motionplaces.com
4. videezy.com
1. cleanpng.com📷 سایتهای عکس:
2. pngimg.com
3. footyrenders.com
4. pngtree.com
1. unsplash.com
2. pexels.com
3. pixabay.com
4. stocksnap.io
5. burst.shopify.com
❤32👍4
#Programming
قانون امروز :
همیشه کد خود را توضیح دهید
توضیحات خوب توضیح میدهند چرا کاری انجام شده، نه فقط چه کاری انجام شده. کد خود را برای خود آیندهتان و دیگران قابل فهم کنید!
🔥40👍3
اگر شما هم از دیسکورد برای چت و وویس و گیم استفاده میکنید
با لایبرری دیسکورد جی اس که توسط ورسل و کلودفلیر ساخته شده میتونید به راحتی بات دیسکورد خودتونو بسازید
https://discord.js.org
باتتو میتونید تو سایت زیرم پابلیش کنید تا بقیه بتونن از باتتون استفاده کنند
https://top.gg
اگر باتتون به 75 تا سرور اد بشه میتونید باتتونو وریفای کنید و تیک دریافت کنید ، چند تا از بات های ایرانی هم به سطح وریفای رسیدن
🔥22👍2
#Programming
قانون امروز :
کد را به بخشهای کوچک تقسیم کنید
کد را به بخشهای کوچکتر و مستقل تقسیم کنید. این کار باعث میشود کدتان خواناتر و تست آن آسانتر شود.
❤21👍4
#Programming
قانون امروز:
اول تستها را بنویسید
توسعه مبتنی بر تست (TDD) اطمینان میدهد که کد شما قابل اعتماد و بدون اشکال است. نوشتن تستها در ابتدا شما را مجبور میکند به مشکل و راهحل فکر کنید.
🔥20👍3
#Tailwind
daisyui
یه لایبرری UI پیشرفته که با tailwind کار میکنه و کارتونو خیلی راحت تر میکنه
کلی کمپوننت مختلف برای قسمت های مختلف وبسایت داره
کاملا قابل کاستیومایز کردنه
و کلی تم داره که میتونه کارتونو تو عوض کردن تم وبسایت راحت تر کنه
https://daisyui.com/
❤32👍4🔥1
#Programming
قانون امروز :
استفاده از کنترل نسخه
سیستمهای کنترل نسخه مثل Git را یاد بگیرید و استفاده کنید. این ابزارها تغییرات کد را مدیریت کرده و همکاری را آسان میکنند.
🔥24👍6
#Nodejs
Puppeteer
بهترین لایبرری nodejs برای وب اسکریپنگ
وب اسکریپنگ هم یکی از شغلای دیگه ای هست که با برنامه نویسی میشه ازش پول در آورد ، برای مثال
شاید بعضی موقع ها خواستید از اطلاعات یه سایت استفاده کنید ولی دیدین که اون سایت api نداره با Puppeteer میتونید اسکرپر خودتون رو بسازید که اطلاعات یه سایتو به سادگی در بیارید
کاری که Puppeteer میکنه اینه که میاد یه مروگر لانچ میکنه و شما میتونید با کد اون مرورگر رو کنترل کنید ، روی دکمه ها کلیک کنید ، فرم سابمیت کنید و ..
https://pptr.dev
🔥24👍6❤3
#SoftSkills #JobSkills
نکات طلایی برای موفقیت در مصاحبه شغلی
👁🗨 ارتباط چشمی:
تماس چشمی مناسب نشاندهنده اعتماد به نفس و گوش دادن فعال به صحبتهای مصاحبهکننده است. اما مراقب باشید بیش از حد سرتان را به نشانه تأیید تکان ندهید..
🗣 اکت بدنی:
زبان بدن شما نیز بسیار مهم است. زیاد به صورت خود دست نزنید و حالت نشستن شما باید نشاندهنده آرامش و اطمینان باشد..
📏 تعادل:
همه چیز باید در تعادل باشد، از ارتباط چشمی تا زبان بدن و گفتار شما. اعتماد به نفس داشته باشید ولی مراقب باشید مغرور به نظر نرسید.
با رعایت این نکات، میتوانید تاثیر مثبتی در مصاحبههای شغلی خود داشته باشید و به موفقیت نزدیکتر شوید.
✍🏽 ¦ @DevYara
👍34🔥2