{"componentChunkName":"component---src-pages-popular-tsx","path":"/popular/","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"excerpt":"Writing the same  code in every component that needs it can be extremely boring, long, and prone to bugs. Luckily this can be optimized with…","fields":{"slug":"/how-to-write-custom-react-fetch-hook/"},"frontmatter":{"date":"June 22, 2020","title":"How to write a custom React fetch hook","description":"With loading and error states"}}},{"node":{"excerpt":"Sharing code on front-end and back-end has always been my dream. NextJS makes it easy with a simple framework including both, simple to run…","fields":{"slug":"/how-to-set-up-nextjs-typescript-eslint-prettier/"},"frontmatter":{"date":"May 18, 2020","title":"How to setup NextJS with TypeScript and ESLint + prettier","description":"The best tools for full stack development with NextJS"}}},{"node":{"excerpt":"There are some features and web applications that are not easy to test. Unit tests can only go so far in testing what the end-user sees when…","fields":{"slug":"/write-your-first-e2e-test-in-5-minutes/"},"frontmatter":{"date":"April 20, 2020","title":"Write your first end-to-end test in 5 minutes","description":"Easy End-to-end testing for any web application"}}},{"node":{"excerpt":"I always wanted to have a trending page in the blog to display the most viewed articles. There are many ways to collect data, but getting…","fields":{"slug":"/how-to-add-a-trending-section-to-gatsby-blog/"},"frontmatter":{"date":"March 09, 2020","title":"How to add a trending section to your gatsby blog","description":"Display the most popular pages on your website"}}},{"node":{"excerpt":"I’ve talked about the advantages of CSS-in-JS and styled-components in a previous article you can find here. A few days ago I had to set up…","fields":{"slug":"/how-to-add-styled-components-to-react-app/"},"frontmatter":{"date":"March 02, 2020","title":"How to add styled-components to a React application","description":"Using emotionjs to take full advantage of CSS-in-JS"}}},{"node":{"excerpt":"Over my (still short!) career I was lucky enough to meet many people who inspired me to be a better professional and human being. I haven’t…","fields":{"slug":"/what-i-learned-from-women-in-tech-in-my-life/"},"frontmatter":{"date":"February 17, 2020","title":"What I learned from the women in tech in my life","description":"We need more diversity in tech"}}},{"node":{"excerpt":"A lack of remote culture can lead to a major decrease in productivity as well as an increase in employee turnover. Hiring an employee costs…","fields":{"slug":"/7-tips-to-improve-remote-company-culture/"},"frontmatter":{"date":"February 03, 2020","title":"7 tips to improve remote company culture","description":"Increasing happiness and reducing employee turnover"}}},{"node":{"excerpt":"The cousin of the “hello world” program, the todo app is a good way to get started in a new technology front-end wise. Starting out This…","fields":{"slug":"/react-native-tutorial-todo-app/"},"frontmatter":{"date":"January 13, 2020","title":"React Native Turotial: Todo App","description":"With TypeScript!"}}},{"node":{"excerpt":"React Native has made mobile app development very close to a React application. Many tools we use on a React project are available to Native…","fields":{"slug":"/set-up-react-native-typescript-eslint-prettier/"},"frontmatter":{"date":"January 06, 2020","title":"Set up React Native, TypeScript and ESLint + prettier","description":"Mobile development with the conforts of React"}}},{"node":{"excerpt":"I’ve been a proponent for TypeScript for enterprise applications for some time. TypeScript can be invaluable for teams and big applications…","fields":{"slug":"/props-cons-of-adopting-typescript-for-my-blog/"},"frontmatter":{"date":"December 23, 2019","title":"Pros and cons of adopting TypeScript for my blog","description":"How well does Gatsbyjs work with TypeScript?"}}},{"node":{"excerpt":"Gatsbyjs starters are perfect for jumpstarting a new project. As all boilerplates, it lacks some tools to optimize our development…","fields":{"slug":"/how-to-set-up-gatsby-typescript-eslint-prettier/"},"frontmatter":{"date":"December 16, 2019","title":"How to setup gatsby with TypeScript and ESLint + prettier","description":"The best tools for react development on vscode"}}},{"node":{"excerpt":"Pull Requests are the heart of any team working on a shared project using git. It lives in that particular time when the code has been…","fields":{"slug":"/how-to-review-pr/"},"frontmatter":{"date":"December 09, 2019","title":"How to review a Pull Request","description":"The nuances of checking other people's code"}}},{"node":{"excerpt":"I’ve tried explaining to my mother over the years, what working remotely really is. While I made some big steps forward in explaining to her…","fields":{"slug":"/learning-to-work-remotely/"},"frontmatter":{"date":"November 11, 2019","title":"Learning to work remotely","description":"Goodbye to the office"}}},{"node":{"excerpt":"CSS-in-JS is something I’ve been unable to stop using on both personal projects and work. CSS has been introducing more and more features…","fields":{"slug":"/about-css-in-js-react/"},"frontmatter":{"date":"September 02, 2019","title":"About CSS-in-JS and React","description":"Leveraging JavaScript for styling your application"}}},{"node":{"excerpt":"Skilled professionals and companies don’t often live in the same place. Some companies can afford to have people move to their city, but…","fields":{"slug":"/how-to-organize-a-remote-team/"},"frontmatter":{"date":"August 11, 2019","title":"How to organize a remote team","description":"Experience of a remote developer"}}},{"node":{"excerpt":"I’ve talked about the importance of code comments here. As developers, we have a vast array of solutions to enhance the readability and…","fields":{"slug":"/bad-comments-and-how-to-fix-them/"},"frontmatter":{"date":"August 05, 2019","title":"Bad comments and how to fix them","description":"A short guide on how to make your codebase more readable"}}},{"node":{"excerpt":"The web is full of articles against working for startups. How much less reliable they are and in general worse than a more established…","fields":{"slug":"/working-for-startups/"},"frontmatter":{"date":"July 31, 2019","title":"Working for startups","description":"Ramblings from personal experience"}}},{"node":{"excerpt":"TypeScript popularity has been increasing in the last few years, and it isn’t slowing down. I wasn’t interested in learning TypeScript for a…","fields":{"slug":"/the-beauty-of-typescript/"},"frontmatter":{"date":"July 12, 2019","title":"The beauty of TypeScript","description":"A better JavaScript"}}},{"node":{"excerpt":"Comments are always a controversial topic among developers. Some love them and comment every line of code, while others avoid them at all…","fields":{"slug":"/about-code-comments/"},"frontmatter":{"date":"July 01, 2019","title":"About code comments","description":"// Magic. Do not touch."}}},{"node":{"excerpt":"A stable and reliable git workflow can improve your and your team productivity. Let’s learn it in 5 minutes. What git workflow can provide A…","fields":{"slug":"/git-workflow-in-5-minutes/"},"frontmatter":{"date":"June 17, 2019","title":"Git workflow in 5 minutes","description":"For developers with no time"}}},{"node":{"excerpt":"Testing is a part of front-end development that I often see forgotten, yet it can play a major role in the reliability of a project. What a…","fields":{"slug":"/importance-of-testing/"},"frontmatter":{"date":"June 11, 2019","title":"The importance of testing","description":"Examples of how to increase your app reliability"}}},{"node":{"excerpt":"JavaScript has become over the years a leading force in the tech field. It proved itself in the front-end field, as well as back-end with…","fields":{"slug":"/danger-lazy-development/"},"frontmatter":{"date":"June 07, 2019","title":"The danger of lazy development","description":"Too lazy is not always good"}}},{"node":{"excerpt":"In the first article, we explored how a React hook can simplify a basic Redux app. The real value of Redux comes with more complex needs…","fields":{"slug":"/react-hooks-vs-redux-2/"},"frontmatter":{"date":"May 31, 2019","title":"React hooks vs Redux part 2","description":"Async the easy way"}}},{"node":{"excerpt":"React is by far the most popular JavaScript framework, its learning curve is pretty linear, it has a rich and growing environment around it…","fields":{"slug":"/react-hooks-vs-redux/"},"frontmatter":{"date":"May 21, 2019","title":"React hooks vs Redux","description":"Less is more"}}}]},"allPageViews":{"nodes":[{"id":"aacd67c6-96fc-5d9e-9979-9cf30c08ee00","totalCount":3125},{"id":"7b197c9d-f05b-5c12-ad24-23d9b1619692","totalCount":2066},{"id":"3ec867d5-6176-5ed8-a416-ec745235d1f1","totalCount":1492},{"id":"a02ae72f-f4d9-511c-9e51-111c2727dd7d","totalCount":1323},{"id":"3784c73f-0864-595d-a676-7ac76a8a6cf8","totalCount":616},{"id":"c593e5bb-5613-5459-9210-299f6ddc7be0","totalCount":254},{"id":"692136c1-56df-5a87-b911-11f0a06f2aca","totalCount":243},{"id":"eea89ac7-55aa-5c8c-ade9-05f6e87be466","totalCount":193},{"id":"edbf4d8f-5bf7-52cb-a10c-5aefdb5e188c","totalCount":141},{"id":"dc87e062-6a3c-5c39-a814-e2805c103a82","totalCount":132},{"id":"3800b78a-d272-514f-ac75-f02b1e32cf9e","totalCount":110},{"id":"7839749f-e2c9-5da2-81c5-d59d8bcf26b5","totalCount":100},{"id":"3325d2ba-171d-58f7-9acd-7e285af64168","totalCount":89},{"id":"5690a880-fd55-50eb-8ef9-181ec4e3274d","totalCount":86},{"id":"8d07a9fb-b513-55a7-a550-824436d8713f","totalCount":84},{"id":"07e01177-844f-54a3-9f7c-afc0fd90ccf9","totalCount":70},{"id":"a7336910-c682-5406-86e2-2e49a761a6b6","totalCount":64},{"id":"a70d42c7-77cf-5784-9d79-0787fbd7cc5d","totalCount":57},{"id":"fdb5fd81-2e99-5d85-9aee-bafde0f16140","totalCount":57},{"id":"0551d747-9498-5e3c-8156-24bdd45365c6","totalCount":56},{"id":"f8be70de-173d-557c-affc-5a3ed2a40686","totalCount":52},{"id":"13150689-68ad-5ca3-b8cf-07ce43368682","totalCount":51},{"id":"81f3922f-30e1-5ec0-993f-e4154a93211b","totalCount":51},{"id":"e679e129-f03a-578b-8b19-93f6de620b15","totalCount":51},{"id":"3626d767-ac26-5f3d-9d75-fbbe70f45bdb","totalCount":47},{"id":"99587c09-2d4a-5dde-9dfe-aa83534611d0","totalCount":46},{"id":"1889891f-1e9d-529f-b551-b084dfc27572","totalCount":37},{"id":"7d191c8b-c4e7-57e0-9512-68c53a106a3e","totalCount":21},{"id":"62790b95-adf9-5fe6-a760-770f1d9795e7","totalCount":18},{"id":"41d1d057-cf76-5aa5-bb69-8da0366613cb","totalCount":15},{"id":"2e56cb63-f487-5e8e-9a08-cef9147230f3","totalCount":11},{"id":"469227bd-d957-5638-b0e5-10862f93b9f5","totalCount":11},{"id":"f93f1a84-4d68-5629-b864-fc526ea92cf8","totalCount":8},{"id":"9120ad84-fe2b-58b8-a929-6c095ff0d4b9","totalCount":7},{"id":"e5d7294e-438a-5d59-bd8c-332ed088a3bd","totalCount":7},{"id":"5ad4ecf4-6404-5e1c-8922-537df1685461","totalCount":6},{"id":"889c2c23-4237-52f9-b9b4-24947f516ec2","totalCount":6},{"id":"d76e0953-f92a-532d-a6b3-c5f92f9a1f25","totalCount":6},{"id":"18b005f4-b8ea-5577-922c-0e3a0ae60ed6","totalCount":4},{"id":"5032a0b2-6965-5243-924f-5b1db8e3c0c6","totalCount":4},{"id":"9ddfad89-1ebc-50a7-a7c8-a9ba5d9e9dd8","totalCount":4},{"id":"ad94713f-8aa1-55a1-961c-652de4ab00c5","totalCount":4},{"id":"9ed05bb6-3359-5dc9-8e5b-dcf063e26633","totalCount":4},{"id":"aecb6c3e-fd10-5a32-a8c2-c3f49ed05a8b","totalCount":3},{"id":"fdcecd86-5167-5eb6-aa0a-0f54922e7bdf","totalCount":3},{"id":"0e4c1aa9-6c75-51fe-9826-470c2cf6ad5d","totalCount":3},{"id":"20392c6a-0ab9-52bb-aee8-dcbe6ffef194","totalCount":3},{"id":"00fb6b4b-44b8-536f-a6ea-372a5ed5e736","totalCount":2},{"id":"53cf6d78-6427-562f-b995-d130a3c29cd0","totalCount":2},{"id":"84de947e-6385-566e-adf9-9e7615e715c6","totalCount":2},{"id":"1c6d4bb7-9f06-5a86-b10d-aae9cc26427d","totalCount":2},{"id":"d53ccd02-b841-518b-8137-0a345a09bf9d","totalCount":2},{"id":"96cc857e-9c94-5e35-9a14-fcb9757b6f71","totalCount":2},{"id":"83b159f4-750e-5e39-9ca6-a01365102d75","totalCount":2},{"id":"78d032a2-2f73-577d-9282-2f78018e2b80","totalCount":2},{"id":"06dfe550-b1e6-51e9-b9d0-e7c1020a8522","totalCount":2},{"id":"48bd8f2e-e400-5bcc-889f-d3962e0becf2","totalCount":2},{"id":"38522cce-1dd3-5fc8-9bc9-34f14c63ef2a","totalCount":2},{"id":"adb7e0bf-010a-50e1-b208-2cc5b637d64b","totalCount":2},{"id":"e8293da1-3457-551c-850b-8c3f0ebda255","totalCount":2},{"id":"756589f3-fa0a-52bd-8b24-2477656c3820","totalCount":2},{"id":"caeaa83f-84d7-5220-b5c7-b2d0ddf137c0","totalCount":2},{"id":"2ff54f28-dbcd-53c0-ba2e-e6d5dc3081e1","totalCount":1},{"id":"bc6eda3b-723a-574b-a213-a0e4230079b9","totalCount":1},{"id":"f8c801ce-a6d6-5c33-b1b2-d3853cb621ee","totalCount":1},{"id":"4ef22d02-fd0b-5d85-b1af-59a8e5e9e0e9","totalCount":1},{"id":"ca4eabf2-f976-509f-a0d8-5ec2b7bca81b","totalCount":1},{"id":"cfaf84e0-4439-5401-a1f9-859cf3aabdbb","totalCount":1},{"id":"fe900946-04fb-5f16-88a9-54de47680a2d","totalCount":1},{"id":"d7861725-6085-501a-a781-f012ace72c73","totalCount":1},{"id":"b8db7158-984f-57ad-897b-71b976c0c842","totalCount":1},{"id":"a2bb16e7-cce5-5e92-9777-429647e873b3","totalCount":1},{"id":"ad774ce8-6ffc-5f6b-a99c-90c63771ca22","totalCount":1},{"id":"530fb4f7-3174-512a-8b66-1f35b31e7ffd","totalCount":1},{"id":"daa52a2b-8f33-5895-96ce-54cced34f9a1","totalCount":1},{"id":"92a75c85-831c-58d1-b954-4780a8332466","totalCount":1},{"id":"be2b8675-51c0-5c63-b3b7-db8118d2e653","totalCount":1},{"id":"88df093c-0815-5c5f-98e9-f577b79715ad","totalCount":1},{"id":"3629cfc1-bbb9-5af4-8c6b-faf3c49a6cb2","totalCount":1},{"id":"ca75a3dc-6a54-5cee-b67d-b64c4ddaca06","totalCount":1},{"id":"e15ab726-93be-5e02-b7c5-19dc040ec0ee","totalCount":1},{"id":"0af7a0e8-0881-5ba0-9f35-d842069b264b","totalCount":1},{"id":"324bee72-33c9-55cf-9271-e243b5f23696","totalCount":1},{"id":"a1257772-8b10-5651-94be-b8ed8f54638e","totalCount":1},{"id":"a8912501-b961-577f-928d-f9723e59dc9f","totalCount":1},{"id":"ac420aa9-5885-5e4e-ae47-028e6cfad502","totalCount":1},{"id":"96c8ce9b-7d4f-5583-a7fa-22685dfa5b23","totalCount":1},{"id":"7a70d490-8c72-518a-85a9-4c547e9c35eb","totalCount":1},{"id":"5bc22c23-e64d-5386-a320-cf421c1a743d","totalCount":1},{"id":"53721fa3-80a8-5f79-a9ac-049227dadebc","totalCount":1},{"id":"06750f08-e5f7-5494-a2f7-bc137b2e14ab","totalCount":1},{"id":"51a26203-d593-59a3-97a4-b47374843875","totalCount":1},{"id":"f961e920-f3c5-50db-810f-8db7027e95ec","totalCount":1},{"id":"0b8b2076-d250-54b1-8937-27822d54beea","totalCount":1},{"id":"2b7c522a-a074-55e5-bf09-0a84b95e405a","totalCount":1},{"id":"566d1e8c-ab42-5174-8265-633558c0f11d","totalCount":1},{"id":"16845225-2111-5d7f-b57f-885c1a58a34a","totalCount":1},{"id":"e179dcab-64f5-5cba-adb5-5bee192a4834","totalCount":1},{"id":"af71e744-7d25-5136-9ef6-8ca6bfa6df38","totalCount":1},{"id":"83b7a4ba-515d-5409-9d28-734efc93c09b","totalCount":1},{"id":"9ad44fd2-4bd8-5237-9dd0-67eccbef0776","totalCount":1},{"id":"72ac2ffa-ab25-5fab-97b0-791ca8ab2103","totalCount":1},{"id":"f6064e72-bb4b-5e06-8f2c-4094f0a5dd3a","totalCount":1},{"id":"a26c52b3-1829-5154-aa9f-3e9ab7d0adf2","totalCount":1}]}},"pageContext":{}},"staticQueryHashes":["139983731","3159585216","764694655","951959539"]}