{
    "componentChunkName": "component---src-templates-tag-template-jsx",
    "path": "/tag/fcc/",
    "result": {"data":{"allMarkdownRemark":{"totalCount":8,"edges":[{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-twitch-tv-json-api/","date":"2018-03-13T13:23:59.000Z"},"excerpt":"Tiếp tục với chủ đề Lập trình JavaScript với FCC, bài viết này mình sẽ chia sẻ với bạn về project Use the Twitch.tv JSON API trên…","timeToRead":5,"frontmatter":{"title":"Lập trình JavaScript với FCC - Use the Twitch.tv JSON API","tags":["API","ES6","Template","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/7232bbd9072ef66c6645b203c9d4d191/bc51f/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.png","srcSet":"/static/7232bbd9072ef66c6645b203c9d4d191/41200/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.png 165w,\n/static/7232bbd9072ef66c6645b203c9d4d191/f979a/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.png 330w,\n/static/7232bbd9072ef66c6645b203c9d4d191/bc51f/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/7232bbd9072ef66c6645b203c9d4d191/322ad/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.webp 165w,\n/static/7232bbd9072ef66c6645b203c9d4d191/de3b3/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.webp 330w,\n/static/7232bbd9072ef66c6645b203c9d4d191/2b2b5/lap-trinh-javascript-voi-fcc-use-the-twitchtv-json-api-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2018-03-13T13:23:59Z","update":"2018-05-23T13:23:59Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-wikipedia-viewer/","date":"2018-03-12T12:00:02.000Z"},"excerpt":"Tiếp tục với chủ đề Lập trình JavaScript với FCC, bài viết này mình sẽ tổng hợp lại những bài học kinh nghiệm, thủ thuật rút ra được từ…","timeToRead":12,"frontmatter":{"title":"Lập trình JavaScript với FCC - Wikipedia Viewer","tags":["AJAX","CORS","CSS","DOM","ES6","Event","Template","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#68a8e8","images":{"fallback":{"src":"/static/d232a59d6086cce3f24b08e44a87d794/bc51f/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.png","srcSet":"/static/d232a59d6086cce3f24b08e44a87d794/41200/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.png 165w,\n/static/d232a59d6086cce3f24b08e44a87d794/f979a/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.png 330w,\n/static/d232a59d6086cce3f24b08e44a87d794/bc51f/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/d232a59d6086cce3f24b08e44a87d794/322ad/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.webp 165w,\n/static/d232a59d6086cce3f24b08e44a87d794/de3b3/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.webp 330w,\n/static/d232a59d6086cce3f24b08e44a87d794/2b2b5/lap-trinh-javascript-voi-fcc-wikipedia-viewer-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2018-03-12T12:00:02Z","update":"2018-05-08T12:00:02Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-local-weather/","date":"2018-03-11T00:00:40.000Z"},"excerpt":"Tiếp tục series lập trình JavaScript với FCC, hôm nay mình sẽ giới thiệu một project là Show the Local Weather. Dưới đây là demo trên…","timeToRead":6,"frontmatter":{"title":"Lập trình JavaScript với FCC - Local Weather","tags":["API","Canvas","CORS","CSS","jQuery","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/92fb672e70d841154877626a27e41da3/bc51f/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.png","srcSet":"/static/92fb672e70d841154877626a27e41da3/41200/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.png 165w,\n/static/92fb672e70d841154877626a27e41da3/f979a/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.png 330w,\n/static/92fb672e70d841154877626a27e41da3/bc51f/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/92fb672e70d841154877626a27e41da3/322ad/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.webp 165w,\n/static/92fb672e70d841154877626a27e41da3/de3b3/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.webp 330w,\n/static/92fb672e70d841154877626a27e41da3/2b2b5/lap-trinh-javascript-voi-fcc-local-weather-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2018-03-11T00:00:40Z","update":"2018-04-13T00:00:40Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-random-quote-machine/","date":"2018-03-10T00:00:56.000Z"},"excerpt":"Tiếp tục series lập trình JavaScript với FCC, hôm nay mình sẽ giới thiệu một project thuộc chuyên mục Intermediate Front-End là Random Quote…","timeToRead":7,"frontmatter":{"title":"Lập trình JavaScript với FCC - Random Quote Machine","tags":["AJAX","API","CSS","jQuery","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#189868","images":{"fallback":{"src":"/static/28b2cf843db82aa62c900a5452f7b49f/bc51f/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.png","srcSet":"/static/28b2cf843db82aa62c900a5452f7b49f/41200/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.png 165w,\n/static/28b2cf843db82aa62c900a5452f7b49f/f979a/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.png 330w,\n/static/28b2cf843db82aa62c900a5452f7b49f/bc51f/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/28b2cf843db82aa62c900a5452f7b49f/322ad/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.webp 165w,\n/static/28b2cf843db82aa62c900a5452f7b49f/de3b3/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.webp 330w,\n/static/28b2cf843db82aa62c900a5452f7b49f/2b2b5/random-quote-machine-lap-trinh-javascript-voi-fcc-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":400}}},"date":"2018-03-10T00:00:56Z","update":"2018-03-23T00:00:56Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-personal-portfolio/","date":"2018-03-09T15:03:38.000Z"},"excerpt":"Tiếp tục series lập trình JavaScript với FCC, bài viết này mình sẽ chia sẻ với bạn project thứ hai mà mình đã làm trên freeCodeCamp đó là…","timeToRead":2,"frontmatter":{"title":"Lập trình JavaScript với FCC – Personal Portfolio","tags":["jQuery","Mustache.js","Template","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/dbc078ac314b7d7ab4d6c3e979889ffb/ef814/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.png","srcSet":"/static/dbc078ac314b7d7ab4d6c3e979889ffb/fb407/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.png 165w,\n/static/dbc078ac314b7d7ab4d6c3e979889ffb/59eab/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.png 330w,\n/static/dbc078ac314b7d7ab4d6c3e979889ffb/ef814/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/dbc078ac314b7d7ab4d6c3e979889ffb/52d94/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.webp 165w,\n/static/dbc078ac314b7d7ab4d6c3e979889ffb/f015e/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.webp 330w,\n/static/dbc078ac314b7d7ab4d6c3e979889ffb/a3a29/lap-trinh-voi-fcc-build-a-personal-portfolio-completejavascript-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":377}}},"date":"2018-03-09T15:03:38Z","update":"2021-10-17T15:03:38Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-build-a-tribute-page/","date":"2018-03-08T15:41:57.000Z"},"excerpt":"Có thể bạn đã nghe thấy câu practice makes perfect rồi. Tuy nhiên, có một câu mà mình thấy đúng hơn cả. Đó là perfect practice makes perfect…","timeToRead":10,"frontmatter":{"title":"Lập trình JavaScript với FCC - Build a Tribute Page","tags":["Event","jQuery","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#187808","images":{"fallback":{"src":"/static/f26897fdd28a4daa40dc6f581820b464/ef814/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.png","srcSet":"/static/f26897fdd28a4daa40dc6f581820b464/fb407/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.png 165w,\n/static/f26897fdd28a4daa40dc6f581820b464/59eab/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.png 330w,\n/static/f26897fdd28a4daa40dc6f581820b464/ef814/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/f26897fdd28a4daa40dc6f581820b464/52d94/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.webp 165w,\n/static/f26897fdd28a4daa40dc6f581820b464/f015e/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.webp 330w,\n/static/f26897fdd28a4daa40dc6f581820b464/a3a29/hoc-front-end-cung-fcc-build-a-tribute-page-completejavascript-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":377}}},"date":"2018-03-08T15:41:57Z","update":"2018-03-08T15:41:57Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-intermediate-algorithm-scripting/","date":"2018-03-07T13:59:55.000Z"},"excerpt":"Bài viết trước mình đã chia sẻ với bạn các bài toán thuộc chủ đề Basic Algorithm Scripting. Nếu bạn đã đọc qua thì có thể thấy rằng, đó đều…","timeToRead":13,"frontmatter":{"title":"Lập trình JavaScript với FCC - Intermediate Algorithm Scripting","tags":["Thuật toán","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#187808","images":{"fallback":{"src":"/static/8001091f0cfa8898495dff9e773ea5f2/ef814/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.png","srcSet":"/static/8001091f0cfa8898495dff9e773ea5f2/fb407/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.png 165w,\n/static/8001091f0cfa8898495dff9e773ea5f2/59eab/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.png 330w,\n/static/8001091f0cfa8898495dff9e773ea5f2/ef814/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/8001091f0cfa8898495dff9e773ea5f2/52d94/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.webp 165w,\n/static/8001091f0cfa8898495dff9e773ea5f2/f015e/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.webp 330w,\n/static/8001091f0cfa8898495dff9e773ea5f2/a3a29/lap-trinh-javascript-voi-intermediate-algorithm-scripting-completejavascript-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":377}}},"date":"2018-03-07T13:59:55Z","update":"2021-10-17T13:59:55Z"}}},{"node":{"fields":{"slug":"/lap-trinh-javascript-voi-fcc-basic-algorithm-scripting/","date":"2018-02-28T16:35:32.000Z"},"excerpt":"Trong lập trình nói chung và lập trình JavaScript nói riêng, việc học thuật toán vẫn luôn vô cùng quan trọng. Thuật toán giúp cho lập trình…","timeToRead":10,"frontmatter":{"title":"Lập trình JavaScript với FCC - Basic Algorithm Scripting","tags":["Thuật toán","FCC"],"cover":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#187808","images":{"fallback":{"src":"/static/e1eacf58b5a824afb36bd172e04a7e9d/ef814/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.png","srcSet":"/static/e1eacf58b5a824afb36bd172e04a7e9d/fb407/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.png 165w,\n/static/e1eacf58b5a824afb36bd172e04a7e9d/59eab/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.png 330w,\n/static/e1eacf58b5a824afb36bd172e04a7e9d/ef814/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.png 660w","sizes":"(min-width: 660px) 660px, 100vw"},"sources":[{"srcSet":"/static/e1eacf58b5a824afb36bd172e04a7e9d/52d94/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.webp 165w,\n/static/e1eacf58b5a824afb36bd172e04a7e9d/f015e/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.webp 330w,\n/static/e1eacf58b5a824afb36bd172e04a7e9d/a3a29/lap-trinh-javascript-voi-basic-algorithm-scripting-completejavascript-completejavascript.com_.webp 660w","type":"image/webp","sizes":"(min-width: 660px) 660px, 100vw"}]},"width":660,"height":377}}},"date":"2018-02-28T16:35:32Z","update":"2021-10-17T16:35:32Z"}}}]}},"pageContext":{"template":"post","tag":"FCC","limit":10,"skip":0,"currentPage":1,"totalPages":1,"latestEdges":[{"node":{"fields":{"slug":"/cach-chon-cms-cho-trang-web/"},"frontmatter":{"directory":"Bài viết được tài trợ","template":"post","title":"Làm thế nào để chọn CMS phù hợp cho trang web của bạn?","shortTitle":"Cách chọn CMS cho trang web","tags":["Wordpress","CMS"],"date":"2022-06-27T20:30:00Z","update":"2022-06-27T20:30:00Z"}}},{"node":{"fields":{"slug":"/async-await-la-gi-async-await-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Async/await là gì? Async/await trong JavaScript","shortTitle":"Async/await là gì? Async/await trong JS","tags":["Async - Await","Promise"],"date":"2017-07-16T06:00:00Z","update":"2022-05-11T21:45:00Z"}}},{"node":{"fields":{"slug":"/microtasks-la-gi-microtasks-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Microtasks là gì? Microtasks trong JavaScript","shortTitle":"Microtasks là gì? Microtasks trong JS","tags":["Callback","Promise"],"date":"2017-07-15T06:00:00Z","update":"2022-05-11T21:00:00Z"}}},{"node":{"fields":{"slug":"/chuyen-callback-thanh-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Chuyển callback thành promise trong JavaScript","shortTitle":"Chuyển callback thành promise trong JS","tags":["Callback","Promise"],"date":"2017-07-14T06:00:00Z","update":"2022-05-11T20:00:00Z"}}},{"node":{"fields":{"slug":"/promise-api-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Các promise API trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-13T06:00:00Z","update":"2022-05-08T21:00:00Z"}}},{"node":{"fields":{"slug":"/xu-ly-loi-voi-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Xử lý lỗi với promise trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-12T06:00:26Z","update":"2022-05-08T20:00:00Z"}}},{"node":{"fields":{"slug":"/chuoi-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Chuỗi promise trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-10T16:24:00Z","update":"2022-05-08T16:24:00Z"}}},{"node":{"fields":{"slug":"/promise-la-gi-promise-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Promise là gì? Promise trong JavaScript","shortTitle":null,"tags":["Promise"],"date":"2017-07-09T13:45:00Z","update":"2022-05-08T13:45:48Z"}}},{"node":{"fields":{"slug":"/callback-la-gi-callback-trong-javascript/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Callback là gì? Callback trong JavaScript","shortTitle":null,"tags":["Callback","Hàm"],"date":"2017-07-08T10:40:00Z","update":"2022-05-08T10:40:48Z"}}},{"node":{"fields":{"slug":"/tuy-bien-mo-rong-doi-tuong-error/"},"frontmatter":{"directory":"JavaScript","template":"post","title":"Tùy biến và mở rộng đối tượng Error trong JavaScript","shortTitle":"Tùy biến và mở rộng đối tượng Error trong JS","tags":["Error"],"date":"2017-07-06T08:00:00Z","update":"2022-05-08T08:24:00Z"}}}],"latestEdgesTitle":"Bài viết mới cập nhật","tagConfig":{"pathPrefix":"/tag","header":"","postListingHasThumbnail":true,"paginationPrefix":"/page","paginationItemsPerPage":10}}},
    "staticQueryHashes": []}