رقصنده با کد
یه چالش ۲۷ روزه میخوام بذارم برای مطالعه کامل https://javanoscript.info/ مجموعا ۸۱ بخشه. روزی ۳ بخش هم بخونیم میرسیم تموم کنیم. البته بعضی بخشهاش بزرگن بعضی کوچیک ولی چیزی نیست که نشه انجام داد. هر کسی تمایل داشت شرکت کنه ، پیام مستقم بهم بده @alithecodeguy…
کارمون رو با ۲۸ نفر شروع کردیم.
ایشالله پرقدرت پیش میریم 🔥
ایشالله پرقدرت پیش میریم 🔥
ابزار آنلاین رایگان میشناسید که بهش متن طولانی بدیم برامون بلند بلند بخونه؟
رایگان بودنش مهمه و البته طبیعی بودنش. speech خود مرورگر و سیستم عامل خوب نیست.
رایگان بودنش مهمه و البته طبیعی بودنش. speech خود مرورگر و سیستم عامل خوب نیست.
خاطره:
دوران مدرسه و وقت امتحانات نهایی بود.
پرسنل، ماشینشون رو توی حیاط پشتی پارک میکردن.
یه بار مشاور مدرسه میخواست ماشینش رو برداره بره ، توی حیاط پشتی منو دید که تک و تنها دارم کتاب میخونم ، اومد جلو تشویقم کنه دید فیلم نامه ترمیناتور دستمه 😂
دوران مدرسه و وقت امتحانات نهایی بود.
پرسنل، ماشینشون رو توی حیاط پشتی پارک میکردن.
یه بار مشاور مدرسه میخواست ماشینش رو برداره بره ، توی حیاط پشتی منو دید که تک و تنها دارم کتاب میخونم ، اومد جلو تشویقم کنه دید فیلم نامه ترمیناتور دستمه 😂
Audio
یکی از بچهها ، روز اول چالش ۲۷ روزه رو با هوش مصنوعی به پادکست تبدیل کرده.
خیلی جالب شده
خیلی جالب شده
کاناداییها از می ۲۰۲۵ برای سفر به اروپا نیاز به مجوز دارند 😂
این ویدوی خوبی برای نکست جی اس هستش :
https://www.youtube.com/watch?v=Zq5fmkH0T78
احتمالا کورس گاملش هم روی دانلودلی باشه
https://www.youtube.com/watch?v=Zq5fmkH0T78
احتمالا کورس گاملش هم روی دانلودلی باشه
تا ابتدای ماه آینده ، دوره جاوااسکریپت عمیق فعلیمون تموم میشه و قصد برگزاری دوره جدید دارم. کدام یک به نظرتون مناسبتره؟
Final Results
40%
دورههای پایهای ولی بروز (مثل ریکت و نکست و نست و ... آخرین ورژن)
60%
دورههای جدیتر و عمیقتر (مثل ساختمان داده ، الگوریتم و یا پیادهسازی پروژه فول استک)
داریم به آخرای سال و سال جدید نزدیک میشم و این شاید بهونه خوبی باشه به این فکر کنیم که نفراتی توی این جامعه هستن که علاوه بر تحمل فشار اقتصادی (که هممون رو مورد عنایت قرار داده) و خرج چندین میلیون تومنی بابت دارو در هر ماه ، درد جسمانی شدیدی رو هم تحمل میکنن که با مسکن هم ممکنه آروم نشه و شاید اونقدری خوششانس نباشن که بهار سال بعد رو ببینن.
و متاسفانه تعداد زیادیشون کودک هستن.
چه توی مینیدوره شرکتکنید و چه نکنید ، خواهشی که ازتون دارم اینه که کمی هم به این عزیزان توجه داشته باشید و اگر هر کمکی از دستتون برومد ، حتی ۱ هزار تومن دریغ نکنید.
اگر کمک مالی هم براتون مقدور نبود ، میتونید مشابه این پست ، مطلبی توی شبکههای اجتماعی خودتون بذارید تا شاید یکی یک جایی حواسش معطوف به این موضوع شد و کمک کرد.
امیدوارم تن و روانتون همیشه سلامت باشه.
و متاسفانه تعداد زیادیشون کودک هستن.
چه توی مینیدوره شرکتکنید و چه نکنید ، خواهشی که ازتون دارم اینه که کمی هم به این عزیزان توجه داشته باشید و اگر هر کمکی از دستتون برومد ، حتی ۱ هزار تومن دریغ نکنید.
اگر کمک مالی هم براتون مقدور نبود ، میتونید مشابه این پست ، مطلبی توی شبکههای اجتماعی خودتون بذارید تا شاید یکی یک جایی حواسش معطوف به این موضوع شد و کمک کرد.
امیدوارم تن و روانتون همیشه سلامت باشه.
خارج از ایران ، فرآیند پیدا کردن شغل واقعا مضحک شده. بیشتر شده توانایی کار با هوش مصنوعی و مچ کردن رزومه با موقعیت شغلی. در مرحله اول اون قدری مهم نیستید که بشینن واقعا رزومتون رو بخونن. حتی شاید در مراحل بعدی هم نباشید و مستقیم برید برای مصاحبه.
همون قدر ایران رو بدونید که هیئتی رزومه بررسی میکنن. از هوش مصنوعی ، اسمش اومده فقط.
ذهن بشر ، داره تحلیل میره.
همون قدر ایران رو بدونید که هیئتی رزومه بررسی میکنن. از هوش مصنوعی ، اسمش اومده فقط.
ذهن بشر ، داره تحلیل میره.
🚀 React 18 Hooks Overview 🚀
### 🎯 Basic Hooks
1️⃣ `useState`: Manage state in functional components.
- Denoscription: Allows you to add local state to function components.
- Example:
2️⃣ `useEffect`: Handle side effects like data fetching or subnoscriptions.
- Denoscription: Executes logic after rendering or when dependencies change.
- Example:
3️⃣ `useContext`: Consume values from React's context.
- Denoscription: Access shared data (like themes or authentication) without passing props.
- Example:
---
### 🔧 Additional Hooks
4️⃣ `useReducer`: Complex state management with reducers.
- Denoscription: An alternative to
- Example:
5️⃣ `useCallback`: Memoize functions for optimization.
- Denoscription: Prevents recreation of functions between renders unless dependencies change.
- Example:
6️⃣ `useMemo`: Memoize values for performance.
- Denoscription: Optimizes expensive calculations by caching results.
- Example:
7️⃣ `useRef`: Persistent mutable references.
- Denoscription: Retains a value across renders without triggering re-renders.
- Example:
8️⃣ `useImperativeHandle`: Customize
- Denoscription: Exposes imperative methods to parent components using
- Example:
9️⃣ `useLayoutEffect`: Synchronous effects after DOM mutations.
- Denoscription: Fires synchronously after DOM updates but before painting.
- Example:
🔟 `useDebugValue`: Add custom labels in React DevTools.
- Denoscription: Helps with debugging custom hooks in DevTools.
- Example:
---
### 🔥 New Concurrent Features (React 18)
1️⃣1️⃣ `useTransition`: Manage non-urgent UI updates.
- Denoscription: Allows state transitions to be marked as low priority.
- Example:
1️⃣2️⃣ `useDeferredValue`: Defer rendering of non-urgent values.
- Denoscription: Delays updating a value until less urgent updates finish.
- Example:
---
### 🌐 Experimental Server Component Hooks
1️⃣3️⃣ `useId`: Generate unique IDs for accessibility.
- Denoscription: Ensures unique, stable IDs for server and client rendering.
- Example:
### 🎯 Basic Hooks
1️⃣ `useState`: Manage state in functional components.
- Denoscription: Allows you to add local state to function components.
- Example:
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + 1)}>
Count: {count}
</button>
);
2️⃣ `useEffect`: Handle side effects like data fetching or subnoscriptions.
- Denoscription: Executes logic after rendering or when dependencies change.
- Example:
useEffect(() => {
document.noscript = `Count: ${count}`;
}, [count]);
3️⃣ `useContext`: Consume values from React's context.
- Denoscription: Access shared data (like themes or authentication) without passing props.
- Example:
const theme = useContext(ThemeContext);
return <div style={{ background: theme.background }}>Hello!</div>;
---
### 🔧 Additional Hooks
4️⃣ `useReducer`: Complex state management with reducers.
- Denoscription: An alternative to
useState for managing complex state logic.- Example:
const [state, dispatch] = useReducer(reducer, { count: 0 });
return (
<button onClick={() => dispatch({ type: 'increment' })}>
Count: {state.count}
</button>
);
5️⃣ `useCallback`: Memoize functions for optimization.
- Denoscription: Prevents recreation of functions between renders unless dependencies change.
- Example:
const handleClick = useCallback(() => console.log('Clicked!'), []);
return <button onClick={handleClick}>Click me</button>;
6️⃣ `useMemo`: Memoize values for performance.
- Denoscription: Optimizes expensive calculations by caching results.
- Example:
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
7️⃣ `useRef`: Persistent mutable references.
- Denoscription: Retains a value across renders without triggering re-renders.
- Example:
const inputRef = useRef(null);
const focusInput = () => inputRef.current.focus();
return <input ref={inputRef} />;
8️⃣ `useImperativeHandle`: Customize
React.forwardRef values.- Denoscription: Exposes imperative methods to parent components using
ref.- Example:
useImperativeHandle(ref, () => ({ focusInput }));
9️⃣ `useLayoutEffect`: Synchronous effects after DOM mutations.
- Denoscription: Fires synchronously after DOM updates but before painting.
- Example:
useLayoutEffect(() => {
console.log(inputRef.current.value);
});
🔟 `useDebugValue`: Add custom labels in React DevTools.
- Denoscription: Helps with debugging custom hooks in DevTools.
- Example:
useDebugValue(isOnline ? 'Online' : 'Offline');
---
### 🔥 New Concurrent Features (React 18)
1️⃣1️⃣ `useTransition`: Manage non-urgent UI updates.
- Denoscription: Allows state transitions to be marked as low priority.
- Example:
const [isPending, startTransition] = useTransition();
startTransition(() => setState(newState));
1️⃣2️⃣ `useDeferredValue`: Defer rendering of non-urgent values.
- Denoscription: Delays updating a value until less urgent updates finish.
- Example:
const deferredValue = useDeferredValue(value);
return <ExpensiveComponent value={deferredValue} />;
---
### 🌐 Experimental Server Component Hooks
1️⃣3️⃣ `useId`: Generate unique IDs for accessibility.
- Denoscription: Ensures unique, stable IDs for server and client rendering.
- Example:
const id = useId();
return <label htmlFor={id}>Name</label>;
1️⃣4️⃣ `useSyncExternalStore`: Subscribe to external stores for concurrent rendering.
- Denoscription: Enables React to work seamlessly with external state libraries.
- Example:
1️⃣5️⃣ `useInsertionEffect`: Insert styles before layout effects.
- Denoscription: Optimized for injecting styles in concurrent rendering.
- Example:
- Denoscription: Enables React to work seamlessly with external state libraries.
- Example:
const state = useSyncExternalStore(subscribe, getSnapshot);
1️⃣5️⃣ `useInsertionEffect`: Insert styles before layout effects.
- Denoscription: Optimized for injecting styles in concurrent rendering.
- Example:
useInsertionEffect(() => {
const style = document.createElement('style');
style.textContent = 'body { color: red; }';
document.head.appendChild(style);
});
به درخواست چندتا از دوستان ، تصمیم دارم از میانه اسفند ماه یا میانه فروردین دوره تخصصی ساختمان داده در جاوااسکریپت رو برگزار کنم.
در ادامه سرفصلهاش رو میبینید. هنوز سرفصلهاش ، زمان برگزاریش و هزینهاش نهایی نشده.
هر کدام از دوستان تمایل به شرکت داره بهم پیام بده که توی گروه مرتبط ، جوینش کنم. اگر پیشنهادی هم دارید ، خوشحال میشم بشنوم.
1.Introduction to Data Structures and Complexity Analysis
•Overview of data structures and their importance
•JavaScript as a tool for implementing data structures
•Big O notation: time and space complexity basics
2.Arrays
•Understanding JavaScript arrays
•Operations: traversal, insertion, deletion, searching, and sorting
•Dynamic arrays vs. static arrays and performance considerations
3.Linked Lists
•Singly Linked Lists: structure, insertion, deletion, and traversal
•Doubly Linked Lists: advantages and operations
•Circular Linked Lists: implementation and use cases
•Comparison of linked lists with arrays
4.Stacks and Queues
Stacks:
•LIFO (Last-In, First-Out) principle
•Implementation using arrays or linked lists
•Common operations: push, pop, peek
•Practical applications (e.g., recursion, expression evaluation)
Queues:
•FIFO (First-In, First-Out) principle
•Implementation using arrays or linked lists
•Common operations: enqueue, dequeue, front, rear
•Variants: Circular Queues and Priority Queues (optional)
5.Trees
•Basic tree terminology: nodes, root, leaves, levels, depth
•Binary Trees: structure and traversal methods (inorder, preorder, postorder, level-order)
•Binary Search Trees (BST): insertion, deletion, and search operations
•Brief overview of balanced trees (AVL, Red-Black Trees) if time permits
6.Heaps
•Introduction to heaps: Max Heap and Min Heap
•Array-based heap implementation
•Key operations: insertion, deletion, and heapify
•Applications: implementing priority queues and heap sort
7.Hash Tables
•Fundamentals of hashing and hash functions
•Collision resolution strategies: chaining vs. open addressing
•Implementing a hash table in JavaScript
•Performance analysis and practical use cases
8.Graphs
•Graph basics: vertices, edges, directed vs. undirected graphs
•Graph representations: adjacency matrix and adjacency list
•Graph traversal algorithms: Depth-First Search (DFS) and Breadth-First Search (BFS)
9.Advanced Data Structures (Optional/Advanced Topics)
•Tries (Prefix Trees)
•Segment Trees
•Disjoint Set (Union-Find)
•Discussion on when and why to use these structures
در ادامه سرفصلهاش رو میبینید. هنوز سرفصلهاش ، زمان برگزاریش و هزینهاش نهایی نشده.
هر کدام از دوستان تمایل به شرکت داره بهم پیام بده که توی گروه مرتبط ، جوینش کنم. اگر پیشنهادی هم دارید ، خوشحال میشم بشنوم.
1.Introduction to Data Structures and Complexity Analysis
•Overview of data structures and their importance
•JavaScript as a tool for implementing data structures
•Big O notation: time and space complexity basics
2.Arrays
•Understanding JavaScript arrays
•Operations: traversal, insertion, deletion, searching, and sorting
•Dynamic arrays vs. static arrays and performance considerations
3.Linked Lists
•Singly Linked Lists: structure, insertion, deletion, and traversal
•Doubly Linked Lists: advantages and operations
•Circular Linked Lists: implementation and use cases
•Comparison of linked lists with arrays
4.Stacks and Queues
Stacks:
•LIFO (Last-In, First-Out) principle
•Implementation using arrays or linked lists
•Common operations: push, pop, peek
•Practical applications (e.g., recursion, expression evaluation)
Queues:
•FIFO (First-In, First-Out) principle
•Implementation using arrays or linked lists
•Common operations: enqueue, dequeue, front, rear
•Variants: Circular Queues and Priority Queues (optional)
5.Trees
•Basic tree terminology: nodes, root, leaves, levels, depth
•Binary Trees: structure and traversal methods (inorder, preorder, postorder, level-order)
•Binary Search Trees (BST): insertion, deletion, and search operations
•Brief overview of balanced trees (AVL, Red-Black Trees) if time permits
6.Heaps
•Introduction to heaps: Max Heap and Min Heap
•Array-based heap implementation
•Key operations: insertion, deletion, and heapify
•Applications: implementing priority queues and heap sort
7.Hash Tables
•Fundamentals of hashing and hash functions
•Collision resolution strategies: chaining vs. open addressing
•Implementing a hash table in JavaScript
•Performance analysis and practical use cases
8.Graphs
•Graph basics: vertices, edges, directed vs. undirected graphs
•Graph representations: adjacency matrix and adjacency list
•Graph traversal algorithms: Depth-First Search (DFS) and Breadth-First Search (BFS)
9.Advanced Data Structures (Optional/Advanced Topics)
•Tries (Prefix Trees)
•Segment Trees
•Disjoint Set (Union-Find)
•Discussion on when and why to use these structures
اگر کتاب کلین کد رو نخوندید ، متن زیر رو بخونید انگار کل کتاب رو خوندید (توسط هوش مصنوعی تولید شده)
---
در زیر یک خلاصه از کتاب کلین کد (Clean Code) نوشته رابرت سی. مارتین (عمو باب) ارائه شده است:
1. اهمیت کد تمیز:
کتاب تأکید میکند که کد نوشته شده باید مانند یک داستان خواندنی و قابل فهم برای هر برنامهنویسی باشد. کد تمیز، نگهداری و گسترش آن در طول زمان را بسیار سادهتر میکند.
2. نامگذاری معنادار:
• استفاده از نامهای واضح و دقیق برای متغیرها، توابع و کلاسها به خوانایی کد کمک میکند.
• نامهای خوب باید منظور و عملکرد اجزای کد را به خوبی منعکس کنند.
3. تابعهای کوچک و وظیفهگرا:
• هر تابع باید فقط یک کار مشخص انجام دهد.
• توابع کوتاه، تست و اشکالزدایی آنها را سادهتر میکند و باعث میشود کد بهینهتر و قابل فهمتر شود.
4. کد خود توضیحی:
• کد باید تا حد امکان به گونهای نوشته شود که خود به خود معنا داشته باشد و نیاز به کامنتهای اضافی کاهش یابد.
• کامنتها نباید به عنوان جایگزین کدهای قابل فهم استفاده شوند؛ بلکه باید تنها برای توضیح نکات پیچیده به کار روند.
5. اجتناب از پیچیدگی:
• سعی در ساده نگه داشتن ساختار کد و حذف پیچیدگیهای غیرضروری از اصول مهم کتاب است.
• پیچیدگی زیاد باعث افزایش احتمال خطا و سختی در نگهداری میشود.
6. اصول طراحی شیگرا (SOLID):
• کتاب به اصولی مانند اصل مسئولیتپذیری منفرد (Single Responsibility) و سایر اصول SOLID اشاره میکند که به طراحی سیستمهای منعطف و قابل توسعه کمک میکنند.
7. آزموننویسی و پوشش کد:
• اهمیت نوشتن تستهای واحد (Unit Tests) برای اطمینان از صحت عملکرد کد و جلوگیری از بروز خطا در آینده مورد تأکید قرار میگیرد.
• تستهای خوب به برنامهنویسان کمک میکنند تا هنگام تغییر یا اضافه کردن ویژگیهای جدید، عملکرد کد تضمین شود.
8. بازنگری و بهبود مداوم:
• کد هیچگاه “تمام شده” تلقی نمیشود؛ بلکه همیشه جای بهبود دارد.
• نویسنده توصیه میکند که برنامهنویسان به صورت مستمر کدهای خود را بازنگری کنند تا آنها را بهینه و تمیز نگه دارند.
9. فرهنگ کاری حرفهای:
• نوشتن کد تمیز تنها به تکنیکهای برنامهنویسی محدود نمیشود؛ بلکه یک نگرش و فرهنگ کاری است که بر احترام به همکاران و ارزش نگهداری سیستمهای نرمافزاری تأکید دارد.
نتیجهگیری:
کتاب کلین کد یک راهنمای عملی برای برنامهنویسان است تا با پیروی از اصول و روشهای مطرحشده، کدهایی تمیز، خوانا و قابل نگهداری بنویسند. این کتاب نشان میدهد که سرمایهگذاری در نوشتن کدهای باکیفیت نه تنها در کوتاه مدت بلکه در بلندمدت، بهرهوری تیم و کیفیت نرمافزار را به طور چشمگیری افزایش میدهد.
---
در زیر یک خلاصه از کتاب کلین کد (Clean Code) نوشته رابرت سی. مارتین (عمو باب) ارائه شده است:
1. اهمیت کد تمیز:
کتاب تأکید میکند که کد نوشته شده باید مانند یک داستان خواندنی و قابل فهم برای هر برنامهنویسی باشد. کد تمیز، نگهداری و گسترش آن در طول زمان را بسیار سادهتر میکند.
2. نامگذاری معنادار:
• استفاده از نامهای واضح و دقیق برای متغیرها، توابع و کلاسها به خوانایی کد کمک میکند.
• نامهای خوب باید منظور و عملکرد اجزای کد را به خوبی منعکس کنند.
3. تابعهای کوچک و وظیفهگرا:
• هر تابع باید فقط یک کار مشخص انجام دهد.
• توابع کوتاه، تست و اشکالزدایی آنها را سادهتر میکند و باعث میشود کد بهینهتر و قابل فهمتر شود.
4. کد خود توضیحی:
• کد باید تا حد امکان به گونهای نوشته شود که خود به خود معنا داشته باشد و نیاز به کامنتهای اضافی کاهش یابد.
• کامنتها نباید به عنوان جایگزین کدهای قابل فهم استفاده شوند؛ بلکه باید تنها برای توضیح نکات پیچیده به کار روند.
5. اجتناب از پیچیدگی:
• سعی در ساده نگه داشتن ساختار کد و حذف پیچیدگیهای غیرضروری از اصول مهم کتاب است.
• پیچیدگی زیاد باعث افزایش احتمال خطا و سختی در نگهداری میشود.
6. اصول طراحی شیگرا (SOLID):
• کتاب به اصولی مانند اصل مسئولیتپذیری منفرد (Single Responsibility) و سایر اصول SOLID اشاره میکند که به طراحی سیستمهای منعطف و قابل توسعه کمک میکنند.
7. آزموننویسی و پوشش کد:
• اهمیت نوشتن تستهای واحد (Unit Tests) برای اطمینان از صحت عملکرد کد و جلوگیری از بروز خطا در آینده مورد تأکید قرار میگیرد.
• تستهای خوب به برنامهنویسان کمک میکنند تا هنگام تغییر یا اضافه کردن ویژگیهای جدید، عملکرد کد تضمین شود.
8. بازنگری و بهبود مداوم:
• کد هیچگاه “تمام شده” تلقی نمیشود؛ بلکه همیشه جای بهبود دارد.
• نویسنده توصیه میکند که برنامهنویسان به صورت مستمر کدهای خود را بازنگری کنند تا آنها را بهینه و تمیز نگه دارند.
9. فرهنگ کاری حرفهای:
• نوشتن کد تمیز تنها به تکنیکهای برنامهنویسی محدود نمیشود؛ بلکه یک نگرش و فرهنگ کاری است که بر احترام به همکاران و ارزش نگهداری سیستمهای نرمافزاری تأکید دارد.
نتیجهگیری:
کتاب کلین کد یک راهنمای عملی برای برنامهنویسان است تا با پیروی از اصول و روشهای مطرحشده، کدهایی تمیز، خوانا و قابل نگهداری بنویسند. این کتاب نشان میدهد که سرمایهگذاری در نوشتن کدهای باکیفیت نه تنها در کوتاه مدت بلکه در بلندمدت، بهرهوری تیم و کیفیت نرمافزار را به طور چشمگیری افزایش میدهد.
یادتونه بیخوابی میکشیدید درس میخوندید؟ یادتونه تا چشماتون خون نمیافتاد کد میزدید؟ یادتونه بیپولی رو تحمل میکردید ولی یادگیری رو ادامه میدادید؟ یادتونه نصف روز کار میکردید نصف روز مطلب جدید یاد میگرفتید؟
امیدوارم یادتون نباشه و همیشه در آرامش رشد کرده باشید ولی به نظرم تا این روزا رو کسی نگذرونه نمیتونه رشد کنه.
الآن چی شده که همه میخوان بدون این روزا رشد کنن؟ حتی خودمون که این روزا رو گذرونیدیم.
امیدوارم یادتون نباشه و همیشه در آرامش رشد کرده باشید ولی به نظرم تا این روزا رو کسی نگذرونه نمیتونه رشد کنه.
الآن چی شده که همه میخوان بدون این روزا رشد کنن؟ حتی خودمون که این روزا رو گذرونیدیم.