I finally understood how Node.js actually works behind the scenes. And it completely changed how I think about JavaScript runtime. 🚀 Day 19 of learning Node.js Internals with Piyush Garg sir Today was not about writing APIs or building projects. It was about understanding what actually happens under the hood when Node.js runs. Here’s what I learned today 👇 ⚙️ 1. JavaScript Engine (V8) Node.js uses the V8 JavaScript Engine. V8 is responsible for: • Compiling JavaScript • Converting JS → Machine Code • Executing the code extremely fast But Node.js alone is not just V8. 🔗 2. V8 Bindings with C++ Node.js connects JavaScript with low-level system operations using C++ bindings. This allows Node.js to: • Access the file system • Perform networking • Handle OS-level tasks • Execute asynchronous operations So the real architecture becomes: JavaScript (V8) + C++ bindings + libuv = Node.js ⚡ 3. Role of libuv Node.js uses libuv. libuv handles: • Asynchronous I/O • Event loop • Thread pool • File system operations • Networking This is the reason Node.js can be non-blocking. 🧠 4. Understanding the Main Thread The main thread runs the JavaScript code. Inside it we have: • Project initialization • Top-level code execution • Import statements loading modules • Event callback registrations • Starting the event loop Once everything is registered… ➡️ The event loop starts running. 🔁 5. The Event Loop Internals The event loop continuously checks for tasks. A simplified version looks like this: while(true) { expiredCallbacks() IO Polling() setImmediate() closeCallbacks() } This loop ensures Node.js can handle thousands of operations asynchronously. 🧵 6. Thread Pool Node.js also uses a thread pool managed by libuv. These threads handle heavy tasks like: • File system operations • DNS lookup • Cryptography • Compression So even though Node.js is single-threaded for JavaScript, internally it still uses multiple threads. 📚 Key takeaway from today Node.js is powerful because of its architecture: V8 Engine + C++ Bindings + libuv + Event Loop + Thread Pool Understanding these internals helps you write better and more optimized backend applications. Building in public. Learning one concept at a time. 🚀 Hitesh Choudhary | Akash Kadlag | Suraj Kumar Jha | Shubham Waje | Jay Kadlag What Node.js concept took you the longest to understand? #NodeJS #JavaScript #BackendDevelopment #NodeJSInternals #LearnInPublic #100DaysOfCode #WebDevelopment #ProgrammingJourney #chaicode
Node.js Internals: V8 Engine, C++ Bindings & Event Loop
More Relevant Posts
-
Day 1/100 of Javascript Today Topic : Javascript Engine JS code is first tokenized and parsed into an AST (Abstract Syntax Tree). The interpreter converts this into bytecode and begins execution. While running, the engine identifies hot code and uses a JIT compiler to optimize it into machine code for better performance. 1. What is Tokenizing? Tokenizing = breaking your code into small meaningful pieces (tokens) After tokenizing: Code Part Token Type let keyword x identifier = operator 10 literal ; punctuation 2. What Happens After Tokenizing? Tokens → Parsing Parser converts tokens into: 👉 AST (Abstract Syntax Tree) Example (conceptually): VariableDeclaration ├── Identifier: x └── Literal: 10 3. Why JavaScript is JIT Compiled? JS is called JIT (Just-In-Time) compiled because: 👉 It compiles code during execution, not before. ⚙️ Flow Code → Tokens → AST → Bytecode → Execution → Optimization → Machine Code 🔥 Step-by-Step 1. Interpreter Phase AST → Bytecode Starts execution immediately 👉 Fast start, but not the fastest execution 2. Profiling Engine watches: Which code runs frequently (hot code) 3. JIT Compilation Hot code → compiled into optimized machine code 👉 Now it runs much faster Also looked at different JavaScript engines: 👉V8 (Google) → Uses Ignition (interpreter) + TurboFan (optimizer), heavily optimized for performance 👉SpiderMonkey (Mozilla) → Uses Interpreter + Baseline + IonMonkey (JIT tiers) 👉Chakra (Microsoft) → Has its own JIT pipeline with profiling and optimization stages Each engine has a different internal architecture, but all follow the same core idea. Reference : 1. https://lnkd.in/gvCjZRJK 2. https://lnkd.in/gwcWp-dE 3. https://lnkd.in/gWGiNJZk. 4. https://lnkd.in/g7D4MiQ8 #Day1 #JavaScript #100DaysOfCode
To view or add a comment, sign in
-
Here is the one that actually works in 2026 from zero to landing your first client or job. Most roadmaps look like this: HTML → CSS → JS → React → Node → MongoDB → Docker → AWS → Kubernetes → get hired. That list gives people anxiety. It looks like a 4-year degree. Here is the truth: you can get a job or a client after learning just the first three. Everything else is bonus. Stage 1 — The Foundation (4 to 8 weeks) Learn HTML. It is not glamorous. It is the skeleton of every website on the internet. Spend 2 weeks here. Learn CSS. This is where websites get color, layout, and life. Spend 3 weeks. Learn Flexbox and Grid properly — everything else depends on it. Do not skip this stage chasing React. This is the soil. Stage 2 — Make things move (4 to 6 weeks) Learn JavaScript basics. Variables, functions, loops, arrays, objects, events. Do not try to learn every JavaScript method. Learn enough to build a to-do list app from scratch, without copying and pasting. If you can do that, you understand JavaScript. Move on. Stage 3 — Build real things (ongoing) This is where most tutorials send you to a framework. Stop. Before React, before Vue, before anything else — build 3 projects with just HTML, CSS, and vanilla JavaScript: → A personal portfolio page → A weather app using a free API → A simple quiz game These prove you can learn. Everything else is a bonus. Stage 4 — Pick ONE framework and go deep In 2026, React is still the most hirable skill. But honestly? The framework matters less than you think. Pick React. Learn it for 6 to 8 weeks. Build one real project with it. Put it on GitHub. That is your MVP. That is what gets you the interview or the first client email. What about AI tools? Yes, use them. GitHub Copilot, ChatGPT, Claude they all help you write code faster. But here is the trap beginners fall into: if you do not understand the code the AI writes, you cannot debug it, explain it in an interview, or fix it when it breaks at 11pm for a client. AI is a multiplier, not a shortcut. Learn the fundamentals first. Total honest timeline if you are consistent (1 to 2 hours daily): Months 1-2: HTML and CSS solid Month 3: JavaScript basics Months 4-5: JavaScript projects Months 6-8: React + one real project Month 9+: Job applications or first client Nine months. From zero to employable. That is real. That is possible. You just have to be consistent. What step are you currently at? #webdesign #tech #webdevelopment
To view or add a comment, sign in
-
-
🚀 TypeScript Best Practices: The Comma (,) vs. The Semicolon (;) Whether you're a seasoned engineer or just starting your TypeScript journey, small syntax choices can make a huge difference in code readability and maintainability. One of the most common questions for developers transitioning from JavaScript is: "When do I use a comma versus a semicolon?" Here is a quick breakdown to keep your enterprise-grade codebase clean and consistent. 🏗️ The Semicolon (;): Defining the Blueprint When you are defining Interfaces or Type Aliases, you are creating a "set of instructions" or a contract for the compiler, not actual data. Best Practice: Use semicolons to terminate members in a structural definition. Why? Interfaces are conceptually similar to class definitions. The semicolon tells the TypeScript compiler that the definition of that specific property or method is complete, acting as a clear boundary for the engine. TypeScript // ✅ Good: Clear separation of structural definitions interface User { id: number; name: string; email: string; } 💎 The Comma (,): Handling the Data When you move from defining a type to creating an Object Literal, you are working with live data in the JavaScript runtime. Best Practice: Use commas to separate key-value pairs in an object. Why? In JavaScript, an object is essentially a list of data. Commas are the standard delimiter for items in a list, just like in an array. Using a semicolon inside an object literal is a syntax error that will break your build! TypeScript // ✅ Good: Standard JavaScript object notation const activeUser: User = { id: 1, name: "John Doe", email: "dev@example.com", // Trailing commas are great for cleaner Git diffs! }; 💡 Senior Dev Tips for Your Workflow Visual Distinction: While TS technically allows commas in interfaces, sticking to semicolons helps you distinguish "Types" from "Objects" at a glance during rapid code reviews. Watch the Typos: Ensure your implementation strictly follows your interface—watch out for common spelling slips like balance vs balence which can lead to runtime headaches. Accessibility First: Remember that clean code is accessible code—maintaining strict typing and clear syntax supports better documentation for everyone on the team. What's your preference? Do you stick to semicolons for types to keep things "classy," or do you prefer the comma-everywhere approach? Let's discuss in the comments! 👇 #TypeScript #WebDevelopment #CodingBestPractices #FrontendEngineering #CleanCode #JavaScript #SeniorDeveloper
To view or add a comment, sign in
-
🚀 JavaScript Simplified Series — Day 30 JavaScript feels fast… But have you ever wondered 👇 👉 How does it handle multiple tasks at once? 👉 How does async code run without blocking? This is where the **Event Loop** comes in 😎 --- ## 🤯 The Big Confusion JavaScript is **single-threaded** 👉 It can do **one thing at a time** Then how does this work? 👇 ```javascript id="el1" console.log("Start") setTimeout(() => { console.log("Async Task") }, 0) console.log("End") ``` 👉 Output: Start End Async Task Wait… why? 🤔 --- ## 🔥 Behind the Scenes JavaScript has 3 main parts: 👉 Call Stack 👉 Web APIs 👉 Callback Queue --- ## 🔹 Step by Step Flow 1️⃣ `console.log("Start")` → runs first 2️⃣ `setTimeout` → goes to **Web API** 3️⃣ `console.log("End")` → runs next 4️⃣ Callback goes to **Queue** 5️⃣ Event Loop checks → stack empty? 6️⃣ Yes → push callback to stack 👉 Then runs → "Async Task" --- ## 🔍 Visualization ```id="viz1" Call Stack → Executes code Web APIs → Handles async tasks Queue → Stores callbacks Event Loop → Manages everything ``` --- ## 🔥 Real Life Example Think of a **restaurant 🍽️** 👉 Waiter takes order → sends to kitchen 👉 Kitchen prepares food 👉 Meanwhile waiter serves others 👉 When food is ready → serves you 👉 Event Loop = waiter managing tasks --- ## 🔥 Simple Summary JS → single-threaded Async → handled outside Event Loop → manages execution --- ### 💡 Programming Rule **JavaScript is not multi-threaded… but it behaves like it is.** --- If you want to learn JavaScript in a **simple and practical way**, you can follow these YouTube channels: • Rohit Negi • Hitesh Choudhary (Chai aur Code) --- 📌 Series Progress Day 1 → What is JavaScript Day 2 → Variables & Data Types Day 3 → Type Conversion & Operators Day 4 → Truthy & Falsy + Comparison Operators Day 5 → If Else + Switch + Ternary Day 6 → Loops Day 7 → Break + Continue + Nested Loops Day 8 → Functions Basics Day 9 → Arrow + Default + Rest Parameters Day 10 → Callback & Higher Order Functions Day 11 → Arrays Basics Day 12 → Array Methods Day 13 → Array Iteration Day 14 → Advanced Array Methods Day 15 → Objects Basics Day 16 → Object Methods + this Day 17 → Object Destructuring Day 18 → Spread & Rest Day 19 → Advanced Objects Day 20 → DOM Introduction Day 21 → DOM Selectors Day 22 → DOM Manipulation Day 23 → Events Day 24 → Event Bubbling Day 25 → Event Delegation Day 26 → Async JavaScript Day 27 → Promises Day 28 → Async / Await Day 29 → Fetch API Day 30 → Event Loop Day 31 → Scope (Next Post) --- Follow for more 🚀 #JavaScriptSimplified #javascript #webdevelopment #coding #programming #learninpublic #100DaysOfCode #frontenddevelopment #devcommunity #codingjourney #softwaredeveloper #techcommunity #dailylearning #codeeveryday
To view or add a comment, sign in
-
-
Most developers learn JavaScript… but very few actually understand how it works under the hood. Lately, I’ve been diving deep into concepts from JavaScript Hard Parts, and honestly… it completely changed how I see functions. At first, I thought a function is just: ➡️ Input → Process → Output But it turns out… that’s only half the story. Every time a function runs, JavaScript creates a new execution context → a fresh memory space that gets wiped out after execution. That’s why functions don’t “remember” anything between calls… right? Well… not always. Here’s where things get interesting 👇 When you define a function inside another function, JavaScript does something powerful and hidden: It doesn’t just store the function’s code… It also stores a link to the data around it at the moment it was created. That hidden link is what we call: 👉 Closure Think of it like this: Every function has a backpack 🎒 Inside it, there’s data from where it was defined (not where it’s called). So when the function runs later: It first checks its local memory If not found… it opens its backpack And uses that stored data And here’s the real game-changer: 🔥 Functions in JavaScript have TWO types of memory: Temporary memory → created on every run (and deleted) Persistent memory → stored in the closure (and stays alive) Even more interesting… Every time you call a function that returns another function: ➡️ You create a completely new closure Which means: Different functions Different private data Same logic… different memory Why does this matter? Because this concept powers a LOT of real-world patterns: ✅ Private variables (data hiding) ✅ Memoization (performance optimization) ✅ Module pattern (clean architecture) ✅ Async callbacks & API handling ✅ Iterators & generators The biggest mindset shift for me was this: ❌ Data access is NOT based on where a function is executed ✅ It’s based on where the function is defined (Lexical Scope) This one concept alone explains a huge part of how JavaScript really works. And once it clicks… you stop writing code that “just works” and start writing code that’s intentional, optimized, and scalable. Still learning… but this was one of those “aha” moments I had to share. If you’re learning JavaScript, don’t skip this part. It’s not just theory… it’s the foundation of everything. #JavaScript #Frontend #WebDevelopment #Programming #Closure #CleanCode #SoftwareEngineering
To view or add a comment, sign in
-
-
🚀 JavaScript Simplified Series — Day 28 Promises made async code better… But still… something feels messy 😵 👉 Too many .then() 👉 Hard to read 👉 Looks like chaining hell What if async code could look like normal synchronous code? 🤔 🔥 Solution → Async / Await 🔹 The Problem with Promises fetchData() .then(data => { console.log(data) return processData(data) }) .then(result => { console.log(result) }) .catch(err => console.log(err)) 👉 Works… but not clean ❌ 🔹 Async / Await (Cleaner Way) async function handleData() { try { let data = await fetchData() console.log(data) let result = await processData(data) console.log(result) } catch (err) { console.log(err) } } handleData() 👉 Looks simple & readable ✅ 🔍 What is happening? 👉 async → function always returns a promise 👉 await → waits for promise to resolve 🔹 Example function fetchData() { return new Promise(resolve => { setTimeout(() => { resolve("Data received") }, 2000) }) } async function getData() { let data = await fetchData() console.log(data) } getData() 👉 Output: Data received 🔥 Real Life Example Think of cooking 🍳 👉 Order ingredients 👉 Wait for delivery 👉 Then cook With async/await: Step by step… clean and clear 🔥 Simple Summary async → makes function async await → waits for result Result → clean & readable code 💡 Programming Rule Write async code like sync code. Clarity > complexity. If you want to learn JavaScript in a simple and practical way, you can follow these YouTube channels: • Rohit Negi • Hitesh Choudhary (Chai aur Code) 📌 Series Progress Day 1 → What is JavaScript Day 2 → Variables & Data Types Day 3 → Type Conversion & Operators Day 4 → Truthy & Falsy + Comparison Operators Day 5 → If Else + Switch + Ternary Day 6 → Loops Day 7 → Break + Continue + Nested Loops Day 8 → Functions Basics Day 9 → Arrow + Default + Rest Parameters Day 10 → Callback & Higher Order Functions Day 11 → Arrays Basics Day 12 → Array Methods Day 13 → Array Iteration Day 14 → Advanced Array Methods Day 15 → Objects Basics Day 16 → Object Methods + this Day 17 → Object Destructuring Day 18 → Spread & Rest Day 19 → Advanced Objects Day 20 → DOM Introduction Day 21 → DOM Selectors Day 22 → DOM Manipulation Day 23 → Events Day 24 → Event Bubbling Day 25 → Event Delegation Day 26 → Async JavaScript Day 27 → Promises Day 28 → Async / Await Day 29 → Fetch API (Next Post) Follow for more 🚀 #JavaScriptSimplified #javascript #webdevelopment #coding #programming #learninpublic #100DaysOfCode #frontenddevelopment #devcommunity #codingjourney #softwaredeveloper #techcommunity #dailylearning #codeeveryday
To view or add a comment, sign in
-
✨ 𝗪𝗿𝗶𝘁𝗲 𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗦𝘁𝗿𝗶𝗻𝗴𝘀 𝗟𝗶𝗸𝗲 𝗔 𝗛𝘂𝗺𝗮𝗻 ⤵️ Template Literals in JavaScript: Write Strings Like a Human ⚡ 🔗 𝗥𝗲𝗮𝗱 𝗵𝗲𝗿𝗲: https://lnkd.in/d_HhAEsM 𝗧𝗼𝗽𝗶𝗰𝘀 𝗰𝗼𝘃𝗲𝗿𝗲𝗱 ✍🏻: ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺ ⇢ Why string concatenation becomes messy in real apps ⇢ Template literals — the modern way to write strings ⇢ Embedding variables & expressions using ${} ⇢ Multi-line strings without \n headaches ⇢ Before vs After — readability transformation ⇢ Real-world use cases: HTML, logs, queries, error messages ⇢ Tagged templates (advanced but powerful concept) ⇢ How interpolation works under the hood ⇢ Tradeoffs & common mistakes developers make ⇢ Writing cleaner, more readable JavaScript Thanks Hitesh Choudhary Sir & Piyush Garg Sir, and the amazing Chai Aur Code community 🙌 #ChaiAurCode #JavaScript #WebDevelopment #Frontend #Programming #CleanCode #Hashnode
To view or add a comment, sign in
-
Day 1 of 7 — JS Fundamentals Week 🗓️ This week I'm doing a focused revision of JavaScript fundamentals from an interview perspective. Kicking off with a topic that trips up even experienced devs — Promises and async/await. Here's everything I learned (and unlearned) today 👇 🔁 The Event Loop (finally makes sense) Promises use the microtask queue — not the macrotask queue. This means Promise callbacks ALWAYS run before setTimeout, even if setTimeout is set to 0ms. Mental model that clicked for me: → Macrotask queue = order ticket rail → Microtask queue = the expediter's window (urgent, runs first) After every macrotask, the engine drains the entire microtask queue before picking up the next one. ⚡ async/await is NOT magic Every async function returns a Promise — always. Every await suspends the function and frees the call stack. Code after await runs as a microtask continuation — not immediately. The mistake I was making: thinking await blocks everything. It doesn't. It only suspends that one function. 🚨 The #1 bug I see in code reviews Using async inside forEach: ❌ array.forEach(async item => { await doSomething(item) // forEach doesn't wait! }) ✅ for (const item of array) { await doSomething(item) // this actually waits } ✅ await Promise.all(array.map(item => doSomething(item))) 🔀 Parallel vs Sequential — know the difference ❌ Sequential (slow — 3s total): const a = await fetchA() // 1s const b = await fetchB() // 1s const c = await fetchC() // 1s ✅ Parallel (fast — 1s total): const [a, b, c] = await Promise.all([fetchA(), fetchB(), fetchC()]) Only use sequential when step B depends on step A's result. 🧩 Promise combinators — cheat sheet Promise.all → all must succeed (fail-fast) Promise.allSettled → wait for everyone, no short-circuit Promise.race → first to settle wins (fulfilled OR rejected) Promise.any → first to FULFILL wins (ignores rejections) 💡 Concepts that levelled up my understanding → .then() callbacks are ALWAYS async, even on already-resolved Promises → Returning a Promise inside .then() makes the chain wait (assimilation) → Forgetting return inside .then() breaks the chain silently — value becomes undefined → .catch() returns a resolved Promise — the chain continues after it → The explicit Promise constructor anti-pattern — wrapping a Promise in new Promise() unnecessarily Tomorrow: Closures, scope, and the questions interviewers love to ask about them. Follow along if you're also prepping for JS interviews — I'll be posting every day this week. Drop your hardest Promises/async interview question below 👇 #WebDevelopment #Frontend #LearnToCode #JavaScriptTips #AsyncAwait #Promises #InterviewPrep #CodingInterview #SoftwareEngineering #Developer #Tech #JSFundamentals #FrontendDevelopment #NodeJS #OpenToWork
To view or add a comment, sign in
-
-
Lately, I’ve been going deeper into JavaScript coercion, and the more I study it, the less random JavaScript feels. A lot of behaviour that looks strange at first starts making sense once you realise that JavaScript is following rules defined in the ECMAScript specification. Recently, I focused on the abstract operations behind conversion, especially: - ToNumber - StringToNumber - ToString - ToPrimitive - OrdinaryToPrimitive One of the biggest takeaways for me is that JavaScript does not just “guess” what to do with values. It follows a defined process depending on the operation being performed. For example: - `"5" - 1` works because subtraction expects numbers. - `Number("")` becomes `0`. - `Number(undefined)` becomes `NaN`. - `ToNumber(BigInt)` throws an error, but `ToString(BigInt)` works. - When an object is involved, JS first tries to extract a primitive value before continuing coercion The part I found especially interesting was object-to-primitive conversion. If JavaScript encounters an object in a coercion context, it first checks for `Symbol.toPrimitive`. If that is not available, it falls back to `OrdinaryToPrimitive`, where the order of calling `toString()` and `valueOf()` depends on the hint being used: - string hint → toString() first - number hint → valueOf() first I also learned more about why string-to-number conversion behaves the way it does: - Number("25") gives 25 - Number(" 25 ") also gives 25 - Number("Infinity") gives Infinity - Number("1_000") gives NaN - Number("10n") gives NaN What is changing my understanding the most is this: - Instead of memorising “weird JavaScript behaviour”, I’m now trying to ask: 1. What operation is being performed? 2. What type of value does that operation expect? 3. Which abstract operation is JavaScript using behind the scenes? That mindset makes the language much easier to reason about. I’ve also been maintaining detailed notes on what I’m learning. If anyone wants to go deeper into these topics, I’ve uploaded them here: GitHub repo: https://lnkd.in/ephuZ-w6 #JavaScript #TypeScript #WebDevelopment #SoftwareEngineering #ECMAScript #100DaysOfCode
To view or add a comment, sign in
-
-
DSA + JavaScript Journey Two mind-expanding topics today — one that makes searching blazing fast, and one that explains how JavaScript actually works under the hood! 🔥 ───────────────────────── 📌 DSA: Binary Search (Recursive) ───────────────────────── After weeks of recursion fundamentals, today I applied it to one of the most important searching algorithms — Binary Search! ⚡ Why Binary Search? → Linear Search = O(n) — checks every element → Binary Search = O(log n) — halves the search space every step → Works only on sorted arrays (increasing or decreasing) 🔍 Core Logic → Calculate mid = start + (end - start) / 2 ← overflow-safe! → If arr[mid] == target → found ✅ → If arr[mid] < target → search right half → If arr[mid] > target → search left half → Base case: start > end → not found ❌ 📌 Important tip: Never use (start + end) / 2 — for large arrays, start + end can overflow a 32-bit integer. Always use start + (end - start) / 2! 🔢 Traced full execution on [8, 11, 15, 20, 22] with target = 15: → mid = 15 → found in 2 steps instead of checking all 5! Also solved the GeeksforGeeks variant — return 1 if found, -1 if not, instead of true/false. Small change, same logic ✅ Linear vs Binary Search comparison: → Linear: O(n), works on any array, index++ per call → Binary: O(log n), sorted only, narrows start/end per call ───────────────────────── 📌 JavaScript Revision: Scope & Execution Context ───────────────────────── This is the topic that makes everything else in JS make sense! 🧠 🌍 Execution Context → Global Execution Context (GEC) — created when JS file runs → Function Execution Context (FEC) — created on every function call → Two phases: Memory Creation phase → Code Execution phase → JS engine uses a Call Stack to manage all execution contexts 🔭 Scope → Global scope — accessible everywhere → Function scope — variables declared inside a function stay inside → Block scope — let and const are block-scoped (inside {}) → var is function-scoped — leaks out of blocks, a common bug source! 🔗 Scope Chain → Inner functions can access outer variables — but not vice versa → JS looks up the scope chain until it finds the variable or hits global 💡 Key insight: Understanding execution context explains why hoisting works, why closures exist, and why var behaves differently from let/const — it all connects! ───────────────────────── Thank you,Rohit Negi Sir! ───────────────────────── From recursion to binary search to how JavaScript runs internally — every concept is taught with real depth and clarity. The way complex ideas are broken into simple steps is truly exceptional. Grateful for every lecture! 🙌 The deeper I go, the more everything connects. The grind continues 💪 #DSA #BinarySearch #Recursion #JavaScript #ExecutionContext #Scope #LearnToCode #100DaysOfCode #CodingJourney #WebDevelopment #Programming #DSAWithRohitNegi
To view or add a comment, sign in
-
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development