{
    "componentChunkName": "component---src-templates-blog-js",
    "path": "/blog/page/9",
    "result": {"data":{"allMdx":{"nodes":[{"frontmatter":{"title":"[JS] 프록시 패턴과 프런트엔드 커스텀 캐쉬 구현","description":"애플리케이션 외부 대상을 대리자를 통해 간접적으로 접근하는 방식으로 프록시 패턴이 사용될 수 있다. 대리자는 외부 서버로부터 받은 데이터와 그 유효기간을 캐쉬의 형태로 관리함으로써 서버에 대한 접근 빈도를 줄이고 과한 리소스 낭비를 절감할 수 있다.","date":"February 5, 2022","category":"development","tags":["proxy","design-pattern","cache","web","javascript"],"hero_image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#181828","images":{"fallback":{"src":"/static/0ddf8960f7822926e01c4124f7615c90/12a3e/proxy-pattern-wide.png","srcSet":"/static/0ddf8960f7822926e01c4124f7615c90/9d9e0/proxy-pattern-wide.png 225w,\n/static/0ddf8960f7822926e01c4124f7615c90/cc174/proxy-pattern-wide.png 450w,\n/static/0ddf8960f7822926e01c4124f7615c90/12a3e/proxy-pattern-wide.png 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/0ddf8960f7822926e01c4124f7615c90/3f003/proxy-pattern-wide.webp 225w,\n/static/0ddf8960f7822926e01c4124f7615c90/ba134/proxy-pattern-wide.webp 450w,\n/static/0ddf8960f7822926e01c4124f7615c90/e7f7d/proxy-pattern-wide.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":900,"height":450}}},"hero_image_alt":"proxy pattern image"},"id":"d05af6cc-0cbe-5b2b-b382-89dfff81b56e","slug":"development/proxy-and-frontend-custom-cache/"},{"frontmatter":{"title":"[JS] 싱글톤 패턴과 React 상태 관리","description":"자바스크립트의 클래스 문법은 다른 객체지향언어들을 흉내내기 위해 등장한 문법적 설탕일 뿐이다. 때문에 굳이 클래스를 정의하고, 클래스를 통해 인스턴스를 생성하는 등 자바에서의 싱글톤 패턴을 억지로 모방하는 것은 안티패턴이라고 볼 수 있다.","date":"January 18, 2022","category":"development","tags":["singleton","design-pattern","state-management","web","javascript"],"hero_image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#181828","images":{"fallback":{"src":"/static/c23284dc8c46f8696c1110eba57d94a0/12a3e/singleton-wide.png","srcSet":"/static/c23284dc8c46f8696c1110eba57d94a0/9d9e0/singleton-wide.png 225w,\n/static/c23284dc8c46f8696c1110eba57d94a0/cc174/singleton-wide.png 450w,\n/static/c23284dc8c46f8696c1110eba57d94a0/12a3e/singleton-wide.png 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/c23284dc8c46f8696c1110eba57d94a0/3f003/singleton-wide.webp 225w,\n/static/c23284dc8c46f8696c1110eba57d94a0/ba134/singleton-wide.webp 450w,\n/static/c23284dc8c46f8696c1110eba57d94a0/e7f7d/singleton-wide.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":900,"height":450}}},"hero_image_alt":"singleton pattern image"},"id":"4f43ecde-c0c5-5fbb-835e-087919dee5a1","slug":"development/singleton-and-react-state-management/"},{"frontmatter":{"title":"메모리 회로의 핵심: 플립플롭의 이해","description":"오늘은 입력값으로부터 0과 1이라는 출력값을 만들어내고, 외부로부터의 입력이 사라지더라도 그 출력값을 그대로 유지하는 구조의 회로에 대해 이야기해보고자 한다. 다양한 구조의 래치를 차근차근 살펴보며 최종적으로 D 플립플롭을 자세히 이해해보자.","date":"January 13, 2022","category":"computer-science","tags":["memory","computer","computer-architecture","hardware","circuit"],"hero_image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/76f2f1dbdf87fa66ca1d8880c028a7f6/12a3e/d-flip-flop-wide.png","srcSet":"/static/76f2f1dbdf87fa66ca1d8880c028a7f6/9d9e0/d-flip-flop-wide.png 225w,\n/static/76f2f1dbdf87fa66ca1d8880c028a7f6/cc174/d-flip-flop-wide.png 450w,\n/static/76f2f1dbdf87fa66ca1d8880c028a7f6/12a3e/d-flip-flop-wide.png 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/76f2f1dbdf87fa66ca1d8880c028a7f6/3f003/d-flip-flop-wide.webp 225w,\n/static/76f2f1dbdf87fa66ca1d8880c028a7f6/ba134/d-flip-flop-wide.webp 450w,\n/static/76f2f1dbdf87fa66ca1d8880c028a7f6/e7f7d/d-flip-flop-wide.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":900,"height":450}}},"hero_image_alt":"D flip flop image"},"id":"c5cb51f5-ac6f-5e56-a9ec-3b7063281488","slug":"computer-science/latch-and-flip-flop/"},{"frontmatter":{"title":"아날로그에서 디지털로: 회로의 기초","description":"회로란 안정성을 위해 현실에 존재하는 아날로그적인 자극을 디지털적인 동작으로 바꿔주는 도구라고 볼 수 있다. 이산적인 데이터를 일관된 논리에 따라 적절하게 활용하면 매번 동일한 입력값에 대해 동일한 출력값을 안정적으로 도출해낼 수 있게 된다.","date":"January 10, 2022","category":"computer-science","tags":["computer","computer-architecture","hardware","circuit"],"hero_image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/1a66d612516cb42d0865579e59146570/12a3e/clipping-wide.png","srcSet":"/static/1a66d612516cb42d0865579e59146570/9d9e0/clipping-wide.png 225w,\n/static/1a66d612516cb42d0865579e59146570/cc174/clipping-wide.png 450w,\n/static/1a66d612516cb42d0865579e59146570/12a3e/clipping-wide.png 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/1a66d612516cb42d0865579e59146570/3f003/clipping-wide.webp 225w,\n/static/1a66d612516cb42d0865579e59146570/ba134/clipping-wide.webp 450w,\n/static/1a66d612516cb42d0865579e59146570/e7f7d/clipping-wide.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":900,"height":450}}},"hero_image_alt":"transfer function clipping image"},"id":"549dc124-d678-5727-9101-6d3350199d44","slug":"computer-science/analog-and-digital/"},{"frontmatter":{"title":"컴퓨터는 어떻게 사고하는가: 비트와 논리연산","description":"논리 게이트란 입력값들에 대해 일정한 불리언 연산을 수행한 결과를 출력하는 장치라고 볼 수 있다. 기본적으로 AND, OR, XOR, NOT 연산을 수행하며, 이러한 게이트가 기본 단위로 모여 더욱 복잡한 기능을 수행하는 회로를 구성하게 된다.","date":"January 6, 2022","category":"computer-science","tags":["computer","computer-architecture","hardware","circuit","logic-operation"],"hero_image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#f8f8f8","images":{"fallback":{"src":"/static/b41c88015825eb7c26fe8d2a67ee5d9b/12a3e/boolean-add-wide.png","srcSet":"/static/b41c88015825eb7c26fe8d2a67ee5d9b/9d9e0/boolean-add-wide.png 225w,\n/static/b41c88015825eb7c26fe8d2a67ee5d9b/cc174/boolean-add-wide.png 450w,\n/static/b41c88015825eb7c26fe8d2a67ee5d9b/12a3e/boolean-add-wide.png 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/b41c88015825eb7c26fe8d2a67ee5d9b/3f003/boolean-add-wide.webp 225w,\n/static/b41c88015825eb7c26fe8d2a67ee5d9b/ba134/boolean-add-wide.webp 450w,\n/static/b41c88015825eb7c26fe8d2a67ee5d9b/e7f7d/boolean-add-wide.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":900,"height":450}}},"hero_image_alt":"adding numbers with boolean operation image"},"id":"1eb2b53f-f672-5c16-b96d-eef8dabe4d60","slug":"computer-science/bit-and-logic-operation/"},{"frontmatter":{"title":"개발 블로그 개발 후기","description":"블로그 버전 1의 개발을 완료하였습니다. 10일 정도 작업을 하였고 현재 도메인을 구글과 네이버 검색엔진에 각각 등록한 상황입니다. 수정하거나 추가하고 싶은 기능들이 아직도 꾸준히 생겨나고 있으나 이대로는 끝이 없을 듯 하여 일단 첫 글을 남기고자 합니다.","date":"January 5, 2022","category":"essay","tags":["project","gatsby","retrospective"],"hero_image":{"childImageSharp":{"gatsbyImageData":{"layout":"constrained","backgroundColor":"#080808","images":{"fallback":{"src":"/static/04c139afdd80eec4d3c73c9568296a40/12a3e/bugoverdose-open-graph.png","srcSet":"/static/04c139afdd80eec4d3c73c9568296a40/9d9e0/bugoverdose-open-graph.png 225w,\n/static/04c139afdd80eec4d3c73c9568296a40/cc174/bugoverdose-open-graph.png 450w,\n/static/04c139afdd80eec4d3c73c9568296a40/12a3e/bugoverdose-open-graph.png 900w","sizes":"(min-width: 900px) 900px, 100vw"},"sources":[{"srcSet":"/static/04c139afdd80eec4d3c73c9568296a40/3f003/bugoverdose-open-graph.webp 225w,\n/static/04c139afdd80eec4d3c73c9568296a40/ba134/bugoverdose-open-graph.webp 450w,\n/static/04c139afdd80eec4d3c73c9568296a40/e7f7d/bugoverdose-open-graph.webp 900w","type":"image/webp","sizes":"(min-width: 900px) 900px, 100vw"}]},"width":900,"height":450}}},"hero_image_alt":"starting a blog image"},"id":"3abe899f-4cb8-58d7-9a1b-0565a096a8ac","slug":"essay/starting-a-dev-blog/"}],"pageInfo":{"currentPage":9,"hasNextPage":false,"hasPreviousPage":true,"pageCount":9,"totalCount":86}}},"pageContext":{"skip":80}},
    "staticQueryHashes": ["1903006949","272758454"]}