# Oğuzhan Olguncu > A developer who likes to hack things up. Dedicated learner, mentor and technical blogger - Oğuzhan Olguncu Personal site and technical blog by Oguzhan Olguncu. Topics span TypeScript, React, Go, distributed systems, algorithms, and low-level engineering. ## Pages - [Home](https://ogzhanolguncu.com/) - [Blog index](https://ogzhanolguncu.com/blog/) - [Tags](https://ogzhanolguncu.com/tags/) - [Search](https://ogzhanolguncu.com/search/) - [RSS Feed](https://ogzhanolguncu.com/rss.xml) ## Posts - [Arena Allocator in Go](https://ogzhanolguncu.com/blog/arena-allocator-in-go/): Learn how memory allocation works by building an arena allocator in Go from scratch. Covers memory addresses, alignment, padding math, and unsafe pointer reads. - [Implementing Distributed Counter: Part 2 - Networking](https://ogzhanolguncu.com/blog/implementing-distributed-counter-part-2/): Learn how to implement TCP networking for a distributed counter in Go. This part covers TCP transport implementation with proper framing, peer management refactoring, and shows a working distributed counter cluster communicating over an actual network. - [Implementing Distributed Counter: Part 1 - Node](https://ogzhanolguncu.com/blog/implementing-distributed-counter-part-1/): Learn how to implement the core Node component of a distributed counter in Go. This part details the Node structure, defines the communication protocol, integrates the CRDT, and implements synchronization tested via in-memory transport. - [Implementing Distributed Counter: Part 0 - CRDT](https://ogzhanolguncu.com/blog/implementing-distributed-counter-part-0/): Learn how to build a distributed counter from scratch using Go and CRDT (Conflict-free Replicated Data Types). - [Write Your Own JSON Parser with Node and Typescript](https://ogzhanolguncu.com/blog/write-your-own-json-parser/): Let's write our very own JSON Parser from scratch - [Improving Javascript Error Handling using Neverthrow for Rust-like Robustness](https://ogzhanolguncu.com/blog/rust-like-error-handling-with-neverthrow/): Enhance robust JavaScript coding with Neverthrow. Utilize Rust-like error handling for exception resilience and reliable code. - [Lessons from The Mythical Man-Month](https://ogzhanolguncu.com/blog/mythical-man-month/): Learn from Fred Brooks' classic on software project management, productivity, and team dynamics. Boost your skills with key takeaways for maximum efficiency - [Sign URLs with Node and Typescript A Step-by-Step Guide with Code Samples](https://ogzhanolguncu.com/blog/sign-urls-node-typescript-improved-web-app-security-guide-code-samples/): Learn how to sign URLs using Node and Typescript for improved security and reliability of your web apps. Step-by-step guide with code samples. - [Async Local Storage with Examples in NextJS/Typescript](https://ogzhanolguncu.com/blog/als-with-examples/): There is way to persist some states within NodeJS without passing parameters around. Today we will discover how to use Async Local Storage with Typescript within NextJS. - [Recursion made easy with Javascript](https://ogzhanolguncu.com/blog/recursion-made-easy/): We`ll be learning recursion with Javascript, but without Fibonacci. We`ll also explore Haversine formula to calculate distance between coordinates. - [Tidying up getServerSideProps(Server-Side Rendering) with Higher Order Functions](https://ogzhanolguncu.com/blog/tidy-serverside-props/): Using higher order functions to compose getServerSideProps to achieve cleaner and more organized code. - [Build Your Own SSR/SSG From Scratch with Vite and React](https://ogzhanolguncu.com/blog/react-ssr-ssg-from-scratch/): Build your own server side rendering with Vite, React and Typescript. SSG Included. - [You can actually mutate imports in Javascript](https://ogzhanolguncu.com/blog/mutable-imports/): Do you know you can actually mutate an imported object in JS? Today, we will see how to mutate and avoid mutation for imported objects. - [Up & Running with Jotai, Typescript and NextJS](https://ogzhanolguncu.com/blog/up-and-running-with-jotai/): Simple, elegant state management with Jotai and type-safety with Typescript. Today we will learn how to use them together. - [Monorepo with Turborepo](https://ogzhanolguncu.com/blog/monorepo-with-turborepo/): Setting up monorepo with Turborepo to manage all your React, NextJS and Express projects. - [Add Authentication in Seconds with ClerkJS](https://ogzhanolguncu.com/blog/auth-with-clerk/): Adding auth to NextJS has never been so easy thanks to Clerk - [How does prevState in React work under the hood?](https://ogzhanolguncu.com/blog/how-does-prevstate-works-under-the-hood/): We'll take a look at React to see how prevState works under the hood to access the latest state. - [Event Propagation in React](https://ogzhanolguncu.com/blog/event-propagation-in-react/): A deep dive into event propagation in React through examples. - [Introduction to Micro Frontends with Module Federation, React and Typescript - Updated 2022](https://ogzhanolguncu.com/blog/micro-frontends-with-module-federation/): In this article we will set up Micro Frontends with Module Federation, React and Typescript - [The Mystical World of Solidity Intro to Smart Contracts](https://ogzhanolguncu.com/blog/mystical-world-of-solidity/): Have you ever wondered how to interact with Ethereum through Smart Contracts? Solidity is here to help you with the help of Remix. - [Processing Massive Data Sets with Transducers in Javascript](https://ogzhanolguncu.com/blog/transducers-in-javascript/): In this article we`ll deep dive into transducers to optimize big data sets. Learn how to optimize compositions using Ramda and Javascript. - [SolidJS vs React I've Built the Same App On Both Libraries.](https://ogzhanolguncu.com/blog/react-vs-solid/): In this article, we will compare SolidJS and React. Benchmark some metrics and assess the pros and cons of both libraries. - [Function Composition in Javascript](https://ogzhanolguncu.com/blog/function-composition-javascript/): In this article we`ll deep dive into function composition, pipes, currying and partial applications with examples from real world. - [Handling Logged-in User in React/Firebase App](https://ogzhanolguncu.com/blog/handling-loggedin-user-firebase-react-app/): Best way to handle logged-in users in the Firebase/React app is to use custom hook and a context api built with Typescript. - [Introduction to Custom Hooks](https://ogzhanolguncu.com/blog/intro-to-custom-hooks/): In this article we will learn how to setup our first custom hook. We will convert axios into re-usable hook with typescript and generics. - [Must Know Types in Typescript](https://ogzhanolguncu.com/blog/must-know-types-in-typescript/): In this article we will talk about types we use in our everyday lives to ease development process. And, discover some tricks that can be used with Typescript types. - [Testing a React/Redux Toolkit app with Typescript](https://ogzhanolguncu.com/blog/testing-react-redux-toolkit-with-typescript/): In this article we will test our React/Redux Toolkit app. Testing specifically slices and component that connected to react with Typescript and React Router. - [Up & Running with React, Redux Toolkit, Typescript and React Router](https://ogzhanolguncu.com/blog/react-redux-toolkit-with-typescript/): All React apps need a state management library such as Redux Toolkit and type-safety with Typescript. Today we will learn how to use them together. - [Dealing With Binaries in Javascript](https://ogzhanolguncu.com/blog/dealing-with-binaries-in-javascript/): Dealing with binaries in Javascript requires the knowledge of bitwise operators, bits, bytes, hexadeciamls. Those operators often come in handy when manipulating bits and bytes. - [Speeding Up Your Website](https://ogzhanolguncu.com/blog/speeding-up-your-website/): Techniques to speed up your website and improve the user experience that specifically aiming to React and Next.js sites. We'll discuss things like bundles, fonts, unicode-ranges, webpack. - [Build a Custom React Router From Scratch](https://ogzhanolguncu.com/blog/build-a-custom-react-router-from-scratch/): Have you ever wondered how react router works under the hood? If that's the case best way to explore is to build a custom react router from scratch. - [Debounce and Throttle Comprehensive Guide](https://ogzhanolguncu.com/blog/debounce-and-throttling-comprehensive-guide/): Every web developer must aware of Debounce and Throttle to maximize client performance. - [How to Setup a Bulletproof Next.js Project with Typescript, ESLint, Prettier, Babel and Husky](https://ogzhanolguncu.com/blog/how-to-setup-a-bulletproof-nextjs-project-with-typescript-eslint-prettier-babel-and-husky/): In order to make your Next.js project robust and maintainable, you should be using ESLint, Typescript, Husky and Prettier. - [Test your React components and APIs with React Testing Library, Jest, Typescript, and Axios](https://ogzhanolguncu.com/blog/testing-with-react-testing-library-typescript-and-axios/): Testing our UI components and API requests, using React Testing Library, Jest and Ts-Jest. And, of course, we`ll be using Typescript. Axios, RTL, Typescript - [Frequently Asked React and Front-end Interview Questions](https://ogzhanolguncu.com/blog/frequently-asked-react-and-frontend-interview-questions/): Today, we are going to discuss most frequently asked interview question that I faced during interviews. - [Binary Search In Javascript](https://ogzhanolguncu.com/blog/binary-search-in-javascript/): Learn how to perform a binary search in Javascript and talk a little about O notation. - [Hash tables explained in Javascript](https://ogzhanolguncu.com/blog/hash-tables-explained-in-javascript/): Hash tables are incredibly powerful and versatile beasts. They let you store your data in a key-value - [Quicksort In Javascript](https://ogzhanolguncu.com/blog/quicksort-in-javascript/): Have you ever wondered why Quicksort called quick? Because it's one of the fastest sorting algorithms out there. Tutorial in Javascript/Typescript. - [Selection Sort In Javascript](https://ogzhanolguncu.com/blog/selection-sort-in-javascript/): Today, we are going to discover how Selection Sort works and discuss its complexity using Big O Notat... Tagged with javascript, datastructures, computerscience, typescript. - [Using Async/Await The right way](https://ogzhanolguncu.com/blog/using-async-await-the-right-way/): Learn how to use async/await right way - [Currying in Javascript with examples](https://ogzhanolguncu.com/blog/using-curry-the-functional-way/): Currying is actually a process of linking functions together to reduce the number of arguments they take by utilizing lambda calculus.javascript, typescript, tutorial, functional.