{"id":30722593,"url":"https://github.com/amirhosseinnouri/learning","last_synced_at":"2025-09-03T11:09:41.671Z","repository":{"id":133584329,"uuid":"318544409","full_name":"amirhosseinNouri/Learning","owner":"amirhosseinNouri","description":"My learning repository, which also contains useful article URLs.","archived":false,"fork":false,"pushed_at":"2024-12-26T08:04:35.000Z","size":230536,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-05T11:48:38.777Z","etag":null,"topics":["clean-code","css","git","go","golang","javascript","jss","react","react-spring","ssr","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amirhosseinNouri.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-04T14:41:23.000Z","updated_at":"2024-12-26T08:04:44.000Z","dependencies_parsed_at":"2024-06-06T18:40:27.093Z","dependency_job_id":null,"html_url":"https://github.com/amirhosseinNouri/Learning","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amirhosseinNouri/Learning","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirhosseinNouri%2FLearning","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirhosseinNouri%2FLearning/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirhosseinNouri%2FLearning/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirhosseinNouri%2FLearning/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amirhosseinNouri","download_url":"https://codeload.github.com/amirhosseinNouri/Learning/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amirhosseinNouri%2FLearning/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273431459,"owners_count":25104508,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clean-code","css","git","go","golang","javascript","jss","react","react-spring","ssr","typescript"],"created_at":"2025-09-03T11:07:54.475Z","updated_at":"2025-09-03T11:09:41.629Z","avatar_url":"https://github.com/amirhosseinNouri.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learning\n\n\n## PolyLine Algorithm\n\n- [Lossy Compression](https://www.pcmag.com/encyclopedia/term/lossy-compression)\n- [Polyline algorithm](https://developers.google.com/maps/documentation/utilities/polylinealgorithm#example)\n\n## UseImperativeHandle\n\n-[React Hooks Explained: useImperativeHandle](https://dev.to/anikcreative/react-hooks-explained-useimperativehandle-5g44)\n\n## Image Tiling - How Maps work - Vector Tiles - Raster Tiles\n\n- [Image Tiling](https://northstar-www.dartmouth.edu/doc/idl/html_6.2/Image_Tiling.html#:~:text=This%20changes%20the%20resolution%20of,zoom%20in%20on%20that%20area.)\n- [Vector tiles: the next generation of tiled maps](https://www.e-education.psu.edu/geog585/node/746)\n- [WHAT IS TILE AND DIFFERENTIATE BETWEEN RASTER TILE AND VECTOR TILE](https://bachasoftware.com/what-is-tile-and-differentiate-between-raster-tile-and-vector-tile/)\n- [How web maps work - MapBox Document](https://docs.mapbox.com/vector-tiles/reference/)\n\n## Branded Types in Typescript\n- [An Introduction to Nominal TypeScript](https://betterprogramming.pub/nominal-typescript-eee36e9432d2)\n- [Surviving the TypeScript Ecosystem — Part 6: Branding and Type-Tagging](https://medium.com/@KevinBGreene/surviving-the-typescript-ecosystem-branding-and-type-tagging-6cf6e516523d)\n\n## How browsers works\n- [How the browser renders a web page? — DOM, CSSOM, and Rendering](https://medium.com/jspoint/how-the-browser-renders-a-web-page-dom-cssom-and-rendering-df10531c9969)\n- [Inside look at modern web browser (part 3)](https://developers.google.com/web/updates/2018/09/inside-browser-part3)\n- [How web browser works step by step [Latest]— high-level architecture (part 1)](https://cabulous.medium.com/how-browser-works-part-i-process-and-thread-f63a9111bae9)\n- [Anatomy of a Browser](https://www.youtube.com/watch?v=LTV56k5X36o)\n- [How web browser works step by step [latest]— navigation phase (part 2)](https://cabulous.medium.com/how-does-browser-work-in-2019-part-ii-navigation-342b27e56d7b)\n- [How does browser work step by step [latest] — rendering phase (part 3)](https://cabulous.medium.com/how-does-browser-work-in-2019-part-iii-rendering-phase-i-850c8935958f)\n- [How does browser work step by step [latest] — optimization in the loading stage (part 4)](https://cabulous.medium.com/how-does-browser-work-in-2019-part-4-more-about-rendering-phase-fbba0d94a174)\n- [How does browser work step by step [latest] — optimization in the interaction stage (part 5)](https://cabulous.medium.com/how-does-browser-work-in-2019-part-5-optimization-in-the-interaction-stage-66b53b8ec0ad)\n- [When Reflow happens?](https://stackoverflow.com/a/27637245/2790983)\n- [LAYOUT \u0026 WEB PERFORMANCE](https://kellegous.com/j/2013/01/26/layout-performance/)\n- [Avoid Large, Complex Layouts and Layout Thrashing](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#feedback)\n\n\n## Bitmap\n- [A Beginners Guide to Bitmaps](http://paulbourke.net/dataformats/bitmaps/)\n- [What are bitmap and vector graphics, and how are they different?](https://kb.iu.edu/d/afmr)\n\n## Event Deligation in React\n- [Event Capturing, Bubbling, and Delegation in React](https://medium.com/@john.louis.rumingan/event-capturing-bubbling-and-delegation-in-react-f08b704706a0)\n- [Should I use event delegation in React?](https://dev.to/thawsitt/should-i-use-event-delegation-in-react-nl0)\n\n## Redux Selectors and Reselect\n- [What is a Redux selector?](https://medium.com/@matthew.holman/what-is-a-redux-selector-a517acee1fe8)\n- [Selectors in Redux](https://www.youtube.com/watch?v=frT3to2ACCw)\n- [Reselect Doc](https://github.com/reduxjs/reselect)\n\n## React Design Patterns\n- [React component code smells](https://antongunnarsson.com/react-component-code-smells/)\n\n## Server Side Rendering\n- [A beginner’s guide to React Server-Side Rendering (SSR)](https://medium.com/jspoint/a-beginners-guide-to-react-server-side-rendering-ssr-bf3853841d55)\n\n## Javascript Promises\n- [Promise.all() static method](https://www.javascripttutorial.net/es6/javascript-promise-all/)\n\n## Testing\n- [Maintaining End-To-End Quality With Visual Testing](https://www.smashingmagazine.com/2021/07/maintaining-end-to-end-quality-visual-testing)\n\n## Solid Design Principles\n- [SOLID Design Principles Explained: The Single Responsibility Principle](https://stackify.com/solid-design-principles/)\n- [SOLID Design Principles Explained: The Open/Closed Principle with Code Examples](https://stackify.com/solid-design-open-closed-principle/)\n- [SOLID Design Principles Explained: The Liskov Substitution Principle with Code Examples](https://stackify.com/solid-design-liskov-substitution-principle/)\n- [SOLID Design Principles Explained: Interface Segregation with Code Examples](https://stackify.com/interface-segregation-principle/)\n- [SOLID Design Principles Explained: Dependency Inversion Principle with Code Examples](https://stackify.com/dependency-inversion-principle/)\n\n## WebRTC\n- [WebRTC Doc](https://webrtc.org/getting-started/media-devices#using-asyncawait)\n- [WebRTC Teach Lead slides - Justin Uberti](https://io13webrtc.appspot.com/)\n- [Google I/O 2012 - WebRTC: Real-time Audio/Video and P2P in HTML5](https://www.youtube.com/watch?v=E8C8ouiXHHk)\n\n## Symbols in JS\n- [JavaScript Symbols: But Why?](https://medium.com/intrinsic-blog/javascript-symbols-but-why-6b02768f4a5c)\n\n\n## HTTP, Web Socket, Polling, MQTT and SSE\n- [What is Realtime?](https://ably.com/blog/what-is-realtime)\n- [Transmission Control Protocol (TCP)](https://www.khanacademy.org/computing/computers-and-internet/xcae6f4a7ff015e7d:the-internet/xcae6f4a7ff015e7d:transporting-packets/a/transmission-control-protocol--tcp)\n- [The Evolution of HTTP – HTTP/2 Deep Dive](https://ably.com/topic/http2)\n- [WebSockets - A Conceptual Deep Dive](https://ably.com/topic/websockets)\n- [WebSockets vs Long Polling](https://ably.com/blog/websockets-vs-long-polling)\n- [WebSockets vs. HTTP](https://ably.com/topic/websockets-vs-http)\n- [Server-Sent Events (SSE): A Conceptual Deep Dive](https://ably.com/topic/server-sent-events)\n- [Long Polling - Concepts and Considerations](https://ably.com/topic/long-polling)\n- [MQTT: A Conceptual Deep-Dive](https://ably.com/topic/mqtt)\n- [MQTT vs WebSocket](https://www.educba.com/mqtt-vs-websocket/)\n- [MQTT vs WebSocket](https://iot.stackexchange.com/questions/1492/what-is-the-difference-between-mqtt-and-web-sockets-and-when-should-i-use-them/1493)\n- [MQTT vs MQTT over WebSocket](https://stackoverflow.com/questions/30624897/direct-mqtt-vs-mqtt-over-websocket/30625067)\n- [HiveMQ - MQTT over Websockets](https://www.hivemq.com/blog/mqtt-over-websockets-with-hivemq/)\n- [What are the pros and cons of WebSockets versus MQTT as real-time web infrastructure for the Internet of Things?](https://www.quora.com/What-are-the-pros-and-cons-of-WebSockets-versus-MQTT-as-real-time-web-infrastructure-for-the-Internet-of-Things)\n- [MQTT over WebSockets with example](https://iotbytes.wordpress.com/mqtt-over-websockets/)\n- [Quality of Service 0,1 \u0026 2 - MQTT Essentials: Part 6](https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/)\n- [Authenticating Websockets ](https://dev.to/kleeut/authenticating-websockets-21lo)\n- [Quality of Service 0,1 \u0026 2](https://www.hivemq.com/blog/mqtt-essentials-part-6-mqtt-quality-of-service-levels/)\n- [Persistent Session and Queuing Messages - MQTT](https://www.hivemq.com/blog/mqtt-essentials-part-7-persistent-session-queuing-messages/)\n\n## React Pure Component\n- [What are Pure Components in React](https://medium.com/technofunnel/working-with-react-pure-components-166ded26ae48)\n\n## Babel Preset and Plugins\n- [What are Babel \"plugins\" and \"presets\"? (And how to use them)](https://www.newline.co/fullstack-react/articles/what-are-babel-plugins-and-presets/)\n\n## UseMemo\n- [Should You Really Use useMemo in React? Let’s Find Out.](https://medium.com/swlh/should-you-use-usememo-in-react-a-benchmarked-analysis-159faf6609b7)\n- [Understanding when to use useMemo](https://maxrozen.com/understanding-when-use-usememo)\n- [When to useMemo and useCallback](https://kentcdodds.com/blog/usememo-and-usecallback)\n- [React.useMemo and when you should use it](https://everyday.codes/javascript/react-usememo-and-when-you-should-use-it/)\n\n## UseCallback\n- [Stop useEffect from running on every render with useCallback](https://maxrozen.com/stop-useeffect-running-every-render-with-usecallback)\n\n## Deploying\n- [Deploying Typescript Node.js applications to Heroku (with static files)](https://medium.com/developer-rants/deploying-typescript-node-js-applications-to-heroku-81dd75424ce0)\n\n## How does JS work\n- [How JavaScript works: an overview of the engine, the runtime, and the call stack](https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf)\n- [How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code](https://blog.sessionstack.com/how-javascript-works-inside-the-v8-engine-5-tips-on-how-to-write-optimized-code-ac089e62b12e)\n- [How JavaScript works: memory management + how to handle 4 common memory leaks](https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec)\n\n## React Memory Leak\n- [How to fix the React memory leak warning ](https://dev.to/jexperton/how-to-fix-the-react-memory-leak-warning-d4i)\n\n## Hidden Classes and Inline Caching in V8\n- [Writing Optimized Code in JS By Understanding Hidden Classes](https://medium.com/swlh/writing-optimized-code-in-js-by-understanding-hidden-classes-3dd42862ad1d)\n- [V8 Hidden class](https://engineering.linecorp.com/en/blog/v8-hidden-class/)\n- [Javascript Hidden Classes and Inline Caching in V8](https://richardartoul.github.io/jekyll/update/2015/04/26/hidden-classes.html)\n- [V8 optimizations behind the scenes](https://medium.com/@yashschandra/hidden-v8-optimizations-hidden-classes-and-inline-caching-736a09c2e9eb)\n\n## Just In Time Compilation\n- [What Is Just-In-Time (JIT) Compilation?](https://www.cloudsavvyit.com/6872/what-is-just-in-time-jit-compilation/)\n- [Just in Time Compilation Explained](https://www.freecodecamp.org/news/just-in-time-compilation-explained/)\n\n## Define Private Variable Using Closure\n- [Using closures in JavaScript to create private variables](http://ritzcovan.com/index.php/2019/12/19/using-closure-in-javascript-to-create-private-variables/)\n\n## Docker\n- [Docker tutorial for beginners through examples - a step by step tutorial ](https://takacsmark.com/getting-started-with-docker-in-your-project-step-by-step-tutorial/)\n- [Dockerfile tutorial by example - basics and best practices [2018] ](https://takacsmark.com/dockerfile-tutorial-by-example-dockerfile-best-practices-2018/)\n- [Multi Stage Build](https://docs.docker.com/develop/develop-images/multistage-build/)\n\n## SetInterval in useEffect Hook\n- [Making setInterval Declarative with React Hooks](https://overreacted.io/making-setinterval-declarative-with-react-hooks/)\n\n## Publish Package on NPM\n- [The complete guide to publishing a React package to npm](https://blog.logrocket.com/the-complete-guide-to-publishing-a-react-package-to-npm/)\n\n## Atomic CSS\n- [Let’s Define Exactly What Atomic CSS is ](https://css-tricks.com/lets-define-exactly-atomic-css/)\n\n## Import Alias\n- [Absolute import in CRA projects](https://engineering.snapp.ir/cra-absolute-import-yeva6ol2apr3)\n- [How to configure import aliases in Vite, TypeScript and Jest](https://divotion.com/blog/how-to-configure-import-aliases-in-vite-typescript-and-jest)\n\n## Git hooks\n- [Git Hooks](https://www.atlassian.com/git/tutorials/git-hooks)\n\n## NPM Typescript Package\n- [Step by step: Building and publishing an NPM Typescript package](https://itnext.io/step-by-step-building-and-publishing-an-npm-typescript-package-44fe7164964c)\n\n## Yalm\n- [Yaml tutorial](https://youtu.be/1uFVr15xDGg)\n\n## Go template language\n- [Go template](https://pkg.go.dev/text/template)\n\n## Helm\n- [Helm documentation](https://helm.sh/docs/chart_template_guide/getting_started/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirhosseinnouri%2Flearning","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famirhosseinnouri%2Flearning","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famirhosseinnouri%2Flearning/lists"}