# Readmap de programación ## Programación básica - [Curso de programación para principiantes - Primeros pasos](https://www.udemy.com/course/programacion-para-principiantes/?couponCode=MAYO-2024) ## Programación con JavaScript - [Curso de JavaScript Moderno](https://www.udemy.com/course/javascript-fernando-herrera/?couponCode=MAYO-2024) - [TypeScript](https://www.udemy.com/course/typescript-guia-completa/?couponCode=MAYO-2024) - para mejorar lo robusto de tu código - [Comprender las estructuras de datos y algoritmos en JavaScript](https://www.udemy.com/course/estructuras-de-datos-en-javascript/?couponCode=1MAY2024) - esto es importante para mejorar la eficiencia de tu código y son temas de universidad - [Clean Solid](https://www.udemy.com/course/solid-clean/?couponCode=MAYO-2024) - para mejores practicas de programación ## Ejercicios recomendados para practicas la programación ### Fáciles - [Find the Maximum Achievable Number](https://leetcode.com/problems/find-the-maximum-achievable-number) - [Concatenation of Array](https://leetcode.com/problems/concatenation-of-array) - [Build Array from Permutation](https://leetcode.com/problems/build-array-from-permutation) - [Convert the Temperature](https://leetcode.com/problems/convert-the-temperature) - [Find Minimum Operations to Make All Elements Divisible by Three](https://leetcode.com/problems/find-minimum-operations-to-make-all-elements-divisible-by-three) - [Final Value of Variable After Performing Operations](https://leetcode.com/problems/final-value-of-variable-after-performing-operations) - [Defanging an IP Address](https://leetcode.com/problems/defanging-an-ip-address) - [Number of Good Pairs](https://leetcode.com/problems/number-of-good-pairs) - [Divisible and Non-divisible Sums Difference](https://leetcode.com/problems/divisible-and-non-divisible-sums-difference) - [Permutation Difference between Two Strings](https://leetcode.com/problems/permutation-difference-between-two-strings) - [Jewels and Stones](https://leetcode.com/problems/jewels-and-stones) - [Find Words Containing Character](https://leetcode.com/problems/find-words-containing-character) - [Shuffle the Array](https://leetcode.com/problems/shuffle-the-array) - [Richest Customer Wealth](https://leetcode.com/problems/richest-customer-wealth) - [Largest Local Values in a Matrix](https://leetcode.com/problems/largest-local-values-in-a-matrix) - [Design Parking System](https://leetcode.com/problems/design-parking-system) - [Sum of All Subset XOR Totals](https://leetcode.com/problems/sum-of-all-subset-xor-totals) - [Add Two Integers](https://leetcode.com/problems/add-two-integers) - [Smallest Even Multiple](https://leetcode.com/problems/smallest-even-multiple) - [Minimum Number of Moves to Seat Everyone](https://leetcode.com/problems/minimum-number-of-moves-to-seat-everyone) - [Number of Employees Who Met the Target](https://leetcode.com/problems/number-of-employees-who-met-the-target) - [Kids With the Greatest Number of Candies](https://leetcode.com/problems/kids-with-the-greatest-number-of-candies) - [Widest Vertical Area Between Two Points Containing No Points](https://leetcode.com/problems/widest-vertical-area-between-two-points-containing-no-points) - [Goal Parser Interpretation](https://leetcode.com/problems/goal-parser-interpretation) - [Count Pairs Whose Sum is Less than Target](https://leetcode.com/problems/count-pairs-whose-sum-is-less-than-target) - [Range Sum of BST](https://leetcode.com/problems/range-sum-of-bst) - [How Many Numbers Are Smaller Than the Current Number](https://leetcode.com/problems/how-many-numbers-are-smaller-than-the-current-number) - [Running Sum of 1d Array](https://leetcode.com/problems/running-sum-of-1d-array) - [Left and Right Sum Differences](https://leetcode.com/problems/left-and-right-sum-differences) - [Find Center of Star Graph](https://leetcode.com/problems/find-center-of-star-graph) - [Sum of Values at Indices With K Set Bits](https://leetcode.com/problems/sum-of-values-at-indices-with-k-set-bits) - [Subtract the Product and Sum of Digits of an Integer](https://leetcode.com/problems/subtract-the-product-and-sum-of-digits-of-an-integer) - [Maximum Number of Words Found in Sentences](https://leetcode.com/problems/maximum-number-of-words-found-in-sentences) - [Decode XORed Array](https://leetcode.com/problems/decode-xored-array) - [Find the Number of Good Pairs I](https://leetcode.com/problems/find-the-number-of-good-pairs-i) - [Reverse Prefix of Word](https://leetcode.com/problems/reverse-prefix-of-word) - [Split a String in Balanced Strings](https://leetcode.com/problems/split-a-string-in-balanced-strings) - [Minimum Sum of Four Digit Number After Splitting Digits](https://leetcode.com/problems/minimum-sum-of-four-digit-number-after-splitting-digits) - [XOR Operation in an Array](https://leetcode.com/problems/xor-operation-in-an-array) - [Minimum Operations to Exceed Threshold Value I](https://leetcode.com/problems/minimum-operations-to-exceed-threshold-value-i) - [Create Target Array in the Given Order](https://leetcode.com/problems/create-target-array-in-the-given-order) - [Minimum Number Game](https://leetcode.com/problems/minimum-number-game) - [Find a Corresponding Node of a Binary Tree in a Clone of That Tree](https://leetcode.com/problems/find-a-corresponding-node-of-a-binary-tree-in-a-clone-of-that-tree) - [Decompress Run-Length Encoded List](https://leetcode.com/problems/decompress-run-length-encoded-list) ### Intermedios - [Reverse String](https://leetcode.com/problems/reverse-string) - [Merge Nodes in Between Zeros](https://leetcode.com/problems/merge-nodes-in-between-zeros) - [Binary Search Tree to Greater Sum Tree](https://leetcode.com/problems/binary-search-tree-to-greater-sum-tree) - [Subrectangle Queries](https://leetcode.com/problems/subrectangle-queries) - [Find The Original Array of Prefix Xor](https://leetcode.com/problems/find-the-original-array-of-prefix-xor) - [Strictly Palindromic Number](https://leetcode.com/problems/strictly-palindromic-number) - [Group the People Given the Group Size They Belong To](https://leetcode.com/problems/group-the-people-given-the-group-size-they-belong-to) - [Convert an Array Into a 2D Array With Conditions](https://leetcode.com/problems/convert-an-array-into-a-2d-array-with-conditions) - [Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl) - [Minimum Number of Operations to Make Array XOR Equal to K](https://leetcode.com/problems/minimum-number-of-operations-to-make-array-xor-equal-to-k) - [Deepest Leaves Sum](https://leetcode.com/problems/deepest-leaves-sum) - [Queries on Number of Points Inside a Circle](https://leetcode.com/problems/queries-on-number-of-points-inside-a-circle) - [Count Nodes Equal to Average of Subtree](https://leetcode.com/problems/count-nodes-equal-to-average-of-subtree) - [Max Increase to Keep City Skyline](https://leetcode.com/problems/max-increase-to-keep-city-skyline) - [Minimum Number of Operations to Move All Balls to Each Box](https://leetcode.com/problems/minimum-number-of-operations-to-move-all-balls-to-each-box) - [Number of Laser Beams in a Bank](https://leetcode.com/problems/number-of-laser-beams-in-a-bank) - [Sum of Nodes with Even-Valued Grandparent](https://leetcode.com/problems/sum-of-nodes-with-even-valued-grandparent) - [Maximum Binary Tree](https://leetcode.com/problems/maximum-binary-tree) - [Sort the Students by Their Kth Score](https://leetcode.com/problems/sort-the-students-by-their-kth-score) - [Minimum Amount of Time to Collect Garbage](https://leetcode.com/problems/minimum-amount-of-time-to-collect-garbage) - [Partition Array According to Given Pivot](https://leetcode.com/problems/partition-array-according-to-given-pivot) - [Count Triplets That Can Form Two Arrays of Equal XOR](https://leetcode.com/problems/count-triplets-that-can-form-two-arrays-of-equal-xor) - [Balance a Binary Search Tree](https://leetcode.com/problems/balance-a-binary-search-tree) - [Maximum Number of Coins You Can Get](https://leetcode.com/problems/maximum-number-of-coins-you-can-get) - [Difference Between Ones and Zeros in Row and Column](https://leetcode.com/problems/difference-between-ones-and-zeros-in-row-and-column) - [Arithmetic Subarrays](https://leetcode.com/problems/arithmetic-subarrays) - [Find Valid Matrix Given Row and Column Sums](https://leetcode.com/problems/find-valid-matrix-given-row-and-column-sums) - [Reveal Cards In Increasing Order](https://leetcode.com/problems/reveal-cards-in-increasing-order) - [Sort the Matrix Diagonally](https://leetcode.com/problems/sort-the-matrix-diagonally) - [All Possible Full Binary Trees](https://leetcode.com/problems/all-possible-full-binary-trees) - [Execution of All Suffix Instructions Staying in a Grid](https://leetcode.com/problems/execution-of-all-suffix-instructions-staying-in-a-grid) - [Encode and Decode TinyURL](https://leetcode.com/problems/encode-and-decode-tinyurl) - [Minimum Number of Operations to Make Array XOR Equal to K](https://leetcode.com/problems/minimum-number-of-operations-to-make-array-xor-equal-to-k) - [Queries on a Permutation With Key](https://leetcode.com/problems/queries-on-a-permutation-with-key) - [Rearrange Array Elements by Sign](https://leetcode.com/problems/rearrange-array-elements-by-sign) - [Minimum Operations to Make Array Equal](https://leetcode.com/problems/minimum-operations-to-make-array-equal) - [Construct Binary Search Tree from Preorder Traversal](https://leetcode.com/problems/construct-binary-search-tree-from-preorder-traversal) - [Minimum Number of Steps to Make Two Strings Anagram](https://leetcode.com/problems/minimum-number-of-steps-to-make-two-strings-anagram) - [Create Binary Tree From Descriptions](https://leetcode.com/problems/create-binary-tree-from-descriptions) ### Difíciles - [Maximum Number of Ones](https://leetcode.com/problems/maximum-number-of-ones) - [Unique Paths III](https://leetcode.com/problems/unique-paths-iii) - [Reducing Dishes](https://leetcode.com/problems/reducing-dishes) - [My Calendar III](https://leetcode.com/problems/my-calendar-iii) - [Earliest Possible Day of Full Bloom](https://leetcode.com/problems/earliest-possible-day-of-full-bloom) - [N-Queens](https://leetcode.com/problems/n-queens) - [Put Marbles in Bags](https://leetcode.com/problems/put-marbles-in-bags) - [Maximum Frequency Stack](https://leetcode.com/problems/maximum-frequency-stack) - [Shortest Path Visiting All Nodes](https://leetcode.com/problems/shortest-path-visiting-all-nodes) - [Count All Possible Routes](https://leetcode.com/problems/count-all-possible-routes) - [Sum of Distances in Tree](https://leetcode.com/problems/sum-of-distances-in-tree) - [Number of Atoms](https://leetcode.com/problems/number-of-atoms) ## Ejercicios enfocados a JavaScript ### Fáciles de JavaScript - [Return Length of Arguments Passed](https://leetcode.com/problems/return-length-of-arguments-passed) - [Add Two Promises](https://leetcode.com/problems/add-two-promises) - [Chunk Array](https://leetcode.com/problems/chunk-array) - [Generate Fibonacci Sequence](https://leetcode.com/problems/generate-fibonacci-sequence) - [Sort By](https://leetcode.com/problems/sort-by) - [Apply Transform Over Each Element in Array](https://leetcode.com/problems/apply-transform-over-each-element-in-array) - [Filter Elements from Array](https://leetcode.com/problems/filter-elements-from-array) - [Array Reduce Transformation](https://leetcode.com/problems/array-reduce-transformation) - [Function Composition](https://leetcode.com/problems/function-composition) - [Allow One Function Call](https://leetcode.com/problems/allow-one-function-call) - [Is Object Empty](https://leetcode.com/problems/is-object-empty) - [Calculator with Method Chaining](https://leetcode.com/problems/calculator-with-method-chaining) - [Array Prototype Last](https://leetcode.com/problems/array-prototype-last) - [To Be Or Not To Be](https://leetcode.com/problems/to-be-or-not-to-be) - [Counter II](https://leetcode.com/problems/counter-ii) - [Interval Cancellation](https://leetcode.com/problems/interval-cancellation) - [Counter](https://leetcode.com/problems/counter) - [Sleep](https://leetcode.com/problems/sleep) - [Create Hello World Function](https://leetcode.com/problems/create-hello-world-function) ### Intermedios de JavaScript - [Debounce](https://leetcode.com/problems/debounce) - [Promise Pool](https://leetcode.com/problems/promise-pool) - [Promise Time Limit](https://leetcode.com/problems/promise-time-limit) - [Group By](https://leetcode.com/problems/group-by) - [Nested Array Generator](https://leetcode.com/problems/nested-array-generator) - [Event Emitter](https://leetcode.com/problems/event-emitter) - [Cache With Time Limit](https://leetcode.com/problems/cache-with-time-limit) - [Flatten Deeply Nested Array](https://leetcode.com/problems/flatten-deeply-nested-array) - [Memoize](https://leetcode.com/problems/memoize) - [Join Two Arrays by ID](https://leetcode.com/problems/join-two-arrays-by-id) - [Check if Object Instance of Class](https://leetcode.com/problems/check-if-object-instance-of-class) ### Difíciles de JavaScript - [Design Cancellable Function](https://leetcode.com/problems/design-cancellable-function) - [Memoize II](https://leetcode.com/problems/memoize-ii) ## Roadmap de backend en JavaScript - [NodeJS](https://www.udemy.com/course/nodejs-de-cero-a-experto/?couponCode=MAYO-2024) - De cero a experto - [Nest](https://www.udemy.com/course/nest-framework/?couponCode=MAYO-2024) - framework para Nodejs Es un framework popular para Nodejs - [NestJS + Microservicios](https://www.udemy.com/course/nestjs-microservicios/?couponCode=MAYO-2024) - Aplicaciones escalables y modulares - [(Opcional) Patrones de Diseño en JavaScript y TypeScript](https://www.udemy.com/course/patrones-de-diseno-en-javascript-y-typescript/?couponCode=1MAY2024) - importantisimo para subir muchisimo el valor como programador... Esto es principios de arquitectura de software - [(Opcional) Nest + GraphQL](https://www.udemy.com/course/nest-graphql/?couponCode=MAYO-2024) - GraphQL es un lenguaje de consultas que es muy popular en la actualidad ## Roadmap de bases de datos ### Database / SQL - [SQL de cero](https://www.udemy.com/course/sql-de-cero/) - Tu guía práctica con PostgreSQL #### Ejercicios para Database - [Reverse String](https://leetcode.com/problems/reverse-string) - [Build a Matrix With Conditions](https://leetcode.com/problems/build-a-matrix-with-conditions/?envType=daily-question&envId=2024-07-21) - [Recyclable and Low Fat Products](https://leetcode.com/problems/recyclable-and-low-fat-products) - [Number of Unique Subjects Taught by Each Teacher](https://leetcode.com/problems/number-of-unique-subjects-taught-by-each-teacher) - [Warehouse Manager](https://leetcode.com/problems/warehouse-manager) - [Rearrange Products Table](https://leetcode.com/problems/rearrange-products-table) - [Invalid Tweets](https://leetcode.com/problems/invalid-tweets) - [Bank Account Summary II](https://leetcode.com/problems/bank-account-summary-ii) - [Swap Salary](https://leetcode.com/problems/swap-salary) - [Product Sales Analysis I](https://leetcode.com/problems/product-sales-analysis-i) - [The Latest Login in 2020](https://leetcode.com/problems/the-latest-login-in-2020) - [Reformat Department Table](https://leetcode.com/problems/reformat-department-table) - [Group Sold Products By The Date](https://leetcode.com/problems/group-sold-products-by-the-date) - [Combine Two Tables](https://leetcode.com/problems/combine-two-tables) - [Article Views I](https://leetcode.com/problems/article-views-i) - [Employee Bonus](https://leetcode.com/problems/employee-bonus) ## Roadmap de DevOps ### Docker - [Docker](https://www.udemy.com/course/docker-guia-practica/) - Guía práctica de uso para desarrolladores ### Disclaimer Es importante practicar y crear proyectos en tu propio tiempo para mejorar tus habilidades y conocimientos. Recomendación personal, por cada curso que veas haz 2 o 3 proyectos que hagan lo que te enseñaron en el curso o mejor. Ejemplo: el curso te enseña a hacer una api donde gestiones carga de usuarios, sus horarios de entrada y salida Tu haces un sistema que tenga esas opciones y le agregas plus... Como sueldo, tareas que realiza en la empresa, tareas proyectadas para X días y tareas que realmente realizó... Esto es lo mismo que hicieron en el curso pero con un poco mas de complejidad que te enseñará ### Notas - Los frameworks y librerías son conjuntos de herramientas y código que pueden facilitar y acelerar el desarrollo - Todos estos cursos son pagos pero yo tengo una cuenta que los tiene comprados todos ### Recomendaciones - [Curso de Git y Github](https://www.udemy.com/course/git-github/?couponCode=MAYO-2024) - Git y Github los controladores de versiones mas populares... No los he pagado pero lo podría hacer el próximo mes ## Roadmap de Frontend en JavaScript - [Vuejs de Cero](https://www.udemy.com/course/vuejs-fh/?couponCode=MAYO-2024) - De cero a experto - [Vue con TS intermedio](https://www.udemy.com/course/vue-intermedio/?couponCode=MAYO-2024) - Vue con TypeScript intermedio - [Maquetación con CSS](https://youtu.be/1kNwZbRiVcQ) - Para facilitarte los estilos puedes usar los frameworks para CSS (son los que yo uso)