diff --git a/404.html b/404.html index b2c62f97..a00e1642 100644 --- a/404.html +++ b/404.html @@ -4,4 +4,4 @@ > window.___chunkMapping="{\"app\":[\"/app-e5f039fe59256a60aaac.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js\"],\"component---src-pages-about-tsx\":[\"/component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js\"],\"component---src-pages-posts-tsx\":[\"/component---src-pages-posts-tsx-380623bf8f4d5300356c.js\"],\"component---src-pages-tags-tsx\":[\"/component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js\"]}"; - \ No newline at end of file + \ No newline at end of file diff --git a/404/index.html b/404/index.html index eee5923c..691e9e29 100644 --- a/404/index.html +++ b/404/index.html @@ -4,4 +4,4 @@ > window.___chunkMapping="{\"app\":[\"/app-e5f039fe59256a60aaac.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js\"],\"component---src-pages-about-tsx\":[\"/component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js\"],\"component---src-pages-posts-tsx\":[\"/component---src-pages-posts-tsx-380623bf8f4d5300356c.js\"],\"component---src-pages-tags-tsx\":[\"/component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js\"]}"; - \ No newline at end of file + \ No newline at end of file diff --git a/4778eb91-447c5b5ea6a2287202b2.js b/4778eb91-447c5b5ea6a2287202b2.js new file mode 100644 index 00000000..8b132676 --- /dev/null +++ b/4778eb91-447c5b5ea6a2287202b2.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkkyoungah_dev_blog=self.webpackChunkkyoungah_dev_blog||[]).push([[921],{2766:function(t,e,l){l.r(e);var i=l(6298),s=l(9633),n=l(2355),a=l(588),r=l(4306);const Z={root:(0,i.iv)({paddingTop:76,[(0,s.N)("lg")]:{width:662}},"","","",""),title:{name:"1ckigqa",styles:"margin-bottom:40px;font-size:32px"},introduce:{name:"1uq0c1f",styles:"margin-bottom:100px;font-size:17px;line-height:1.5"},subTitle:{name:"yts6qx",styles:"margin-bottom:55px;font-size:30px"},workExperience:{name:"9ear0z",styles:"margin-bottom:90px"},companyName:(0,i.iv)({position:"relative",marginBottom:24,paddingLeft:16,fontSize:24,fontWeight:700,lineHeight:1.4,"&:before":{position:"absolute",width:6,height:"100%",backgroundColor:"var(--primary-color)",top:0,left:0,bottom:0,content:'""'},span:{display:"inline-block",fontSize:16}},"","","",""),workHistory:(0,i.iv)({marginBottom:45,"th, td":{padding:"12px 8px",borderTop:"1px solid hsla(var(--palette-gray-20), 100%)","&:last-of-type":{borderBottom:"1px solid hsla(var(--palette-gray-20), 100%)"}},th:{width:100,textAlign:"right",fontWeight:600},"td span":{display:"inline-block",lineHeight:1.25}},"","","",""),slash:{marginLeft:8,marginRight:8},workExperienceDetails:(0,i.iv)({paddingLeft:30,"&:not(:last-of-type)":{marginBottom:60}},"","","",""),workExperienceDetail:{name:"18vc53i",styles:"margin-bottom:8px;font-size:18px;font-weight:600;line-height:1.5"},workExperienceDetailPeriod:{name:"9m9303",styles:"color:hsla(var(--palette-gray-100), 80%);font-size:14px"},workExperienceTackStacks:{name:"1j4r1a6",styles:"margin-top:12px;margin-bottom:30px"},workExperienceDetailDescription:{name:"2h2dij",styles:"margin-left:14px;margin-top:15px;margin-bottom:6px;list-style-position:outside;list-style-type:disc;li{margin-bottom:10px;line-height:1.5;}"}};e.default=function(){return(0,i.tZ)(r.Z,null,(0,i.tZ)(n.Z,{css:Z.root},(0,i.tZ)("h1",{css:Z.title},"안녕하세요",(0,i.tZ)("br",null),"웹 프론트엔드 개발자 ",(0,i.tZ)("strong",null,"박유경")," 입니다!"),(0,i.tZ)("p",{css:Z.introduce},"웹 프론트엔드 개발자답게 UI/UX에 관심이 많습니다.",(0,i.tZ)("br",null),(0,i.tZ)("br",null),"끊임없이 진화하는 기술 트렌드에 적극적으로 대응하며, 새로운 기술 습득에 거부감이 없습니다.",(0,i.tZ)("br",null),(0,i.tZ)("br",null),"편안한 환경에 안주하기보다는 새로운 기술이나 해법을 적극적으로 탐구하고 실험함으로써",(0,i.tZ)("br",null),"더 나은 결과를 추구하며, 지식으로 흡수하고 습득하는 것에 힘쓰고 있습니다."),(0,i.tZ)("h2",{css:Z.subTitle},"Work Experience"),(0,i.tZ)("div",{css:Z.workExperience},(0,i.tZ)("h3",{css:Z.companyName},"넷마블F&C"),(0,i.tZ)("table",{css:Z.workHistory},(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"period"),(0,i.tZ)("td",null,"2023.05 ~ 2023.12")),(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"position"),(0,i.tZ)("td",null,(0,i.tZ)("span",null,"R&D실"),(0,i.tZ)("span",null," 서버팀 "),(0,i.tZ)("span",null,"FE파트"),(0,i.tZ)("span",{css:Z.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"React Native를 사용하여 채팅앱 프로토타입 개발"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2023.06 ~ 2023.11"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React Native"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux Toolkit"}),(0,i.tZ)(a.Z.Tag,{tag:"Protobuf"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"WebSocket과 Protobuf를 사용하여 채팅 기능 개발"),(0,i.tZ)("li",null,"WebRTC를 사용하여 음성채팅, 화상채팅 기능 구현"),(0,i.tZ)("li",null,"Flutter, React Native 비교 R&D 진행"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"사내 Plan Management System 웹 애플리케이션 개발"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2023.05 ~ 2023.06"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Recoil"}),(0,i.tZ)(a.Z.Tag,{tag:"styled-components"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"수기로 지출 품의서 및 지출 결의서를 작성하는 재무팀을 위해 지출 결의서 작성 및 등록 페이지 개발"),(0,i.tZ)("li",null,"FE 파트 공통 Eslint Rule 및 Prettier Rule 적용")))),(0,i.tZ)("div",{css:Z.workExperience},(0,i.tZ)("h3",{css:Z.companyName},"메타버스월드 ",(0,i.tZ)("span",null,"(넷마블F&C 자회사)")),(0,i.tZ)("table",{css:Z.workHistory},(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"period"),(0,i.tZ)("td",null,"2022.03 ~ 2023.05")),(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"position"),(0,i.tZ)("td",null,(0,i.tZ)("span",null,"웹 개발팀 FE파트"),(0,i.tZ)("span",{css:Z.slash},"/"),(0,i.tZ)("span",null,"파트장")))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"블록체인 서비스 Fncy 웹, 런처 내 웹뷰 신규 카테고리 개발 및 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2022.03 ~ 2023.04"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"Next.js"}),(0,i.tZ)(a.Z.Tag,{tag:"Recoil"}),(0,i.tZ)(a.Z.Tag,{tag:"emotion"}),(0,i.tZ)(a.Z.Tag,{tag:"Turborepo"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"코인 스테이킹, 브릿지, NFT 에어드롭 및 구매, 판매를 제공하는 서비스"),(0,i.tZ)("li",null,"Single Pool 및 Event Pool 스테이킹 서비스, NFT 상품 상세, 이벤트 페이지를 반응형 웹 및 런처 내 웹뷰 페이지로 개발"),(0,i.tZ)("li",null,"web3.js를 사용하여 스마트 컨트랙트 연동"),(0,i.tZ)("li",null,"모노레포를 사용하여 웹서비스 및 웹뷰에서 공통 UI 컴포넌트, 공통 비즈니스 로직 개발"),(0,i.tZ)("li",null,"버그 수정 및 피드백 반영"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"모바일 게임 내 게시판 개발"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2023.04 ~ 2023.04"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"emotion"}),(0,i.tZ)(a.Z.Tag,{tag:"Turborepo"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"모바일 게임 공지사항, 패치내역, 이벤트 게시판을 게임 앱 내 웹뷰 페이지로 개발"),(0,i.tZ)("li",null,"여러 모바일 게임에 간단하게 이식할 수 있도록 모노레포를 사용하여 공통 UI, 공통 비즈니스 로직 개발"),(0,i.tZ)("li",null,"AWS S3, CloudFront를 사용하여 정적 웹사이트 호스팅")))),(0,i.tZ)("div",{css:Z.workExperience},(0,i.tZ)("h3",{css:Z.companyName},"번개장터"),(0,i.tZ)("table",{css:Z.workHistory},(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"period"),(0,i.tZ)("td",null,"2019.05 ~ 2022.03")),(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"position"),(0,i.tZ)("td",null,(0,i.tZ)("span",null,"커스터머랩"),(0,i.tZ)("span",{css:Z.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"번개장터 웹서비스 기존 기능 개편, 신규 기능 추가, 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2019.05 ~ 2022.03"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux"}),(0,i.tZ)(a.Z.Tag,{tag:"styled-components"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"중고거래 서비스 번개장터 PC웹, 모바일웹 담당"),(0,i.tZ)("li",null,"모바일웹 판매등록 페이지 리팩토링"),(0,i.tZ)("li",null,"모바일웹 관심상품 페이지 개발"),(0,i.tZ)("li",null,"PC웹, 모바일웹 로그인 페이지 및 인증 비즈니스 로직 리팩토링"),(0,i.tZ)("li",null,"버그 수정 및 피드백 반영"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"내폰 시세조회 및 내폰 판매 서비스 개발 및 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2020.04 ~ 2022.03"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"styled-components"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"중고폰 시세 조회 판매 서비스"),(0,i.tZ)("li",null,"서비스 주요 페이지 및 기능들을 모바일 웹, 네이티브 내 웹뷰로 보여지는 페이지로 개발"),(0,i.tZ)("li",null,"디자인팀에서 구축한 디자인 시스템 참고하여 공통 UI 컴포넌트 작성"),(0,i.tZ)("li",null,"Lottie 애니메이션 적용 시 dynamic import, intersectionobserver를 사용하여 웹성능 최적화"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"이벤트 및 프로모션 페이지 개발"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2020.11 ~ 2022.03"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux"}),(0,i.tZ)(a.Z.Tag,{tag:"styled-components"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"번개장터 이벤트 및 프로모션을 반응형 웹, 네이티브 앱 내 웹뷰 페이지로 개발"),(0,i.tZ)("li",null,"마케팅팀이 엑셀 시트에 이벤트 데이터를 입력하면 자동으로 해당 정보를 반영한 이벤트 페이지가 생성될 수 있도록 전용 컴포넌트 및 페이지 개발"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"포장택배 서비스 개발 및 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2021.11 ~ 2021.12"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Mobx"}),(0,i.tZ)(a.Z.Tag,{tag:"styled-components"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"문 앞에서 판매자의 물품을 픽업해 포장 및 배송을 해주는 서비스"),(0,i.tZ)("li",null,"택배 신청 페이지, 배송 현황 페이지를 네이티브 앱 내 웹뷰 페이지로 개발"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"중고폰 보험 가입 서비스 개발"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2019.10 ~ 2019.11"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"TypeScript"}),(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Mobx"}),(0,i.tZ)(a.Z.Tag,{tag:"styled-components"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"중고폰 파손보험 가입 서비스"),(0,i.tZ)("li",null,"서비스 주요 페이지 및 기능들을 네이티브 앱 내 웹뷰 페이지로 개발"),(0,i.tZ)("li",null,"팀 내에서 사용되는 프로젝트 구조를 간추려 보일러 플레이트 작성 및 유지보수"),(0,i.tZ)("li",null,"공통 Eslint Rule 및 Prettier Rule 적용")))),(0,i.tZ)("div",{css:Z.workExperience},(0,i.tZ)("h3",{css:Z.companyName},"커넥서스 컴퍼니"),(0,i.tZ)("table",{css:Z.workHistory},(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"period"),(0,i.tZ)("td",null,"2017.08 ~ 2019.05")),(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"position"),(0,i.tZ)("td",null,(0,i.tZ)("span",null,"개발팀"),(0,i.tZ)("span",{css:Z.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"커머스 서비스 프롬 개발 및 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2018.04 ~ 2019.05"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux-Form"}),(0,i.tZ)(a.Z.Tag,{tag:"jQuery"}),(0,i.tZ)(a.Z.Tag,{tag:"Node.js"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"소비자가 판매상품을 발굴하고 판매상품이 판매 목록에 등록되면 다른 소비자들에게 추천 및 구매, 선물할 수 있는 서비스"),(0,i.tZ)("li",null,"서비스 주요 페이지 및 기능들을 반응형 웹으로 개발"),(0,i.tZ)("li",null,"프론트 개발 환경 구성 및 프로젝트 아키텍처 설계"),(0,i.tZ)("li",null,"코드 스플리팅, 윈도잉 기법, 이미지 레이지 로딩 등을 사용하여 웹성능 최적화"),(0,i.tZ)("li",null,"Server Side Rendering 적용"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"임플란트 시술 정보 제공 서비스 플랜티 개발"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2017.08 ~ 2018.03"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux"}),(0,i.tZ)(a.Z.Tag,{tag:"Redux-Form"}),(0,i.tZ)(a.Z.Tag,{tag:"jQuery"}),(0,i.tZ)(a.Z.Tag,{tag:"Node.js"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"임플란트 시술 방법 및 과정을 등록하고 다른 사용자가 해당 정보를 보며 임플란트 시술 정보를 학습할 수 있는 서비스"),(0,i.tZ)("li",null,"임플란트 시술 상세 페이지, 마이 페이지를 반응형 웹으로 개발")))),(0,i.tZ)("div",{css:Z.workExperience},(0,i.tZ)("h3",{css:Z.companyName},"트래포트"),(0,i.tZ)("table",{css:Z.workHistory},(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"period"),(0,i.tZ)("td",null,"2016.07 ~ 2017.08")),(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"position"),(0,i.tZ)("td",null,(0,i.tZ)("span",null,"개발팀"),(0,i.tZ)("span",{css:Z.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"메타부킹 플랫폼 트래블하우 모바일웹, PC웹, 앱 내 웹뷰 신규 기능 개발 및 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2016.07 ~ 2017.08"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Reflux"}),(0,i.tZ)(a.Z.Tag,{tag:"jQuery"}),(0,i.tZ)(a.Z.Tag,{tag:"Node.js"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"호텔 가격 비교, 예약, 결제를 한번에 제공하는 메타부킹 서비스"),(0,i.tZ)("li",null,"PC웹, 모바일웹, 앱 내 웹뷰 페이지로 출력되는 호텔 카테고리 영역을 담당하여 신규 기능 개발 및 유지보수"))),(0,i.tZ)("div",{css:Z.workExperienceDetails},(0,i.tZ)("h4",{css:Z.workExperienceDetail},"메타부킹 플랫폼 트래블하우 운영 어드민 신규 기능 개발 및 유지보수"),(0,i.tZ)("span",{css:Z.workExperienceDetailPeriod},"2016.07 ~ 2017.08"),(0,i.tZ)(a.Z,{css:Z.workExperienceTackStacks},(0,i.tZ)(a.Z.Tag,{tag:"React"}),(0,i.tZ)(a.Z.Tag,{tag:"Reflux"}),(0,i.tZ)(a.Z.Tag,{tag:"jQuery"}),(0,i.tZ)(a.Z.Tag,{tag:"Node.js"})),(0,i.tZ)("ul",{css:Z.workExperienceDetailDescription},(0,i.tZ)("li",null,"협력사와 내부직원에게 제공하는 운영 어드민"),(0,i.tZ)("li",null,"호텔 카테고리 신규 기능 개발 및 유지보수"),(0,i.tZ)("li",null,"여행 일정표, 여행지 스팟 관리 기능 개발 및 유지보수"))))))}}}]); +//# sourceMappingURL=4778eb91-447c5b5ea6a2287202b2.js.map \ No newline at end of file diff --git a/4778eb91-447c5b5ea6a2287202b2.js.map b/4778eb91-447c5b5ea6a2287202b2.js.map new file mode 100644 index 00000000..2786c42e --- /dev/null +++ b/4778eb91-447c5b5ea6a2287202b2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"4778eb91-447c5b5ea6a2287202b2.js","mappings":"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","sources":["webpack://kyoungah-dev-blog/./src/pages/about.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport { mqMin } from '../commons/styles/mediaQuery';\n\nimport Container from '../commons/components/Container';\nimport Tags from '../commons/components/Tags';\nimport NoLayoutTemplate from '../commons/templates/NoLayoutTemplate';\n\nfunction AboutPage() {\n return (\n \n \n

\n 안녕하세요\n
웹 프론트엔드 개발자 박유경 입니다!\n

\n

\n 웹 프론트엔드 개발자답게 UI/UX에 관심이 많습니다.\n
\n
\n 끊임없이 진화하는 기술 트렌드에 적극적으로 대응하며, 새로운 기술\n 습득에 거부감이 없습니다.\n
\n
\n 편안한 환경에 안주하기보다는 새로운 기술이나 해법을 적극적으로\n 탐구하고 실험함으로써\n
더 나은 결과를 추구하며, 지식으로 흡수하고 습득하는 것에 힘쓰고\n 있습니다.\n

\n

Work Experience

\n
\n

넷마블F&C

\n \n \n \n \n \n \n \n \n \n
period2023.05 ~ 2023.12
position\n R&D실\n  서버팀 \n FE파트\n /\n Front-End Developer\n
\n
\n

\n React Native를 사용하여 채팅앱 프로토타입 개발\n

\n \n 2023.06 ~ 2023.11\n \n \n \n \n \n \n \n
    \n
  • WebSocket과 Protobuf를 사용하여 채팅 기능 개발
  • \n
  • WebRTC를 사용하여 음성채팅, 화상채팅 기능 구현
  • \n
  • Flutter, React Native 비교 R&D 진행
  • \n
\n
\n
\n

\n 사내 Plan Management System 웹 애플리케이션 개발\n

\n \n 2023.05 ~ 2023.06\n \n \n \n \n \n \n \n
    \n
  • \n 수기로 지출 품의서 및 지출 결의서를 작성하는 재무팀을 위해 지출\n 결의서 작성 및 등록 페이지 개발\n
  • \n
  • FE 파트 공통 Eslint Rule 및 Prettier Rule 적용
  • \n
\n
\n
\n
\n

\n 메타버스월드 (넷마블F&C 자회사)\n

\n \n \n \n \n \n \n \n \n \n
period2022.03 ~ 2023.05
position\n 웹 개발팀 FE파트\n /\n 파트장\n
\n
\n

\n 블록체인 서비스 Fncy 웹, 런처 내 웹뷰 신규 카테고리 개발 및\n 유지보수\n

\n \n 2022.03 ~ 2023.04\n \n \n \n \n \n \n \n \n
    \n
  • \n 코인 스테이킹, 브릿지, NFT 에어드롭 및 구매, 판매를 제공하는\n 서비스\n
  • \n
  • \n Single Pool 및 Event Pool 스테이킹 서비스, NFT 상품 상세, 이벤트\n 페이지를 반응형 웹 및 런처 내 웹뷰 페이지로 개발\n
  • \n
  • web3.js를 사용하여 스마트 컨트랙트 연동
  • \n
  • \n 모노레포를 사용하여 웹서비스 및 웹뷰에서 공통 UI 컴포넌트, 공통\n 비즈니스 로직 개발\n
  • \n
  • 버그 수정 및 피드백 반영
  • \n
\n
\n
\n

\n 모바일 게임 내 게시판 개발\n

\n \n 2023.04 ~ 2023.04\n \n \n \n \n \n \n \n
    \n
  • \n 모바일 게임 공지사항, 패치내역, 이벤트 게시판을 게임 앱 내 웹뷰\n 페이지로 개발\n
  • \n
  • \n 여러 모바일 게임에 간단하게 이식할 수 있도록 모노레포를 사용하여\n 공통 UI, 공통 비즈니스 로직 개발\n
  • \n
  • AWS S3, CloudFront를 사용하여 정적 웹사이트 호스팅
  • \n
\n
\n
\n
\n

번개장터

\n \n \n \n \n \n \n \n \n \n
period2019.05 ~ 2022.03
position\n 커스터머랩\n /\n Front-End Developer\n
\n
\n

\n 번개장터 웹서비스 기존 기능 개편, 신규 기능 추가, 유지보수\n

\n \n 2019.05 ~ 2022.03\n \n \n \n \n \n \n \n
    \n
  • 중고거래 서비스 번개장터 PC웹, 모바일웹 담당
  • \n
  • 모바일웹 판매등록 페이지 리팩토링
  • \n
  • 모바일웹 관심상품 페이지 개발
  • \n
  • \n PC웹, 모바일웹 로그인 페이지 및 인증 비즈니스 로직 리팩토링\n
  • \n
  • 버그 수정 및 피드백 반영
  • \n
\n
\n
\n

\n 내폰 시세조회 및 내폰 판매 서비스 개발 및 유지보수\n

\n \n 2020.04 ~ 2022.03\n \n \n \n \n \n \n
    \n
  • 중고폰 시세 조회 판매 서비스
  • \n
  • \n 서비스 주요 페이지 및 기능들을 모바일 웹, 네이티브 내 웹뷰로\n 보여지는 페이지로 개발\n
  • \n
  • \n 디자인팀에서 구축한 디자인 시스템 참고하여 공통 UI 컴포넌트 작성\n
  • \n
  • \n Lottie 애니메이션 적용 시 dynamic import, intersectionobserver를\n 사용하여 웹성능 최적화\n
  • \n
\n
\n
\n

\n 이벤트 및 프로모션 페이지 개발\n

\n \n 2020.11 ~ 2022.03\n \n \n \n \n \n \n \n
    \n
  • \n 번개장터 이벤트 및 프로모션을 반응형 웹, 네이티브 앱 내 웹뷰\n 페이지로 개발\n
  • \n
  • \n 마케팅팀이 엑셀 시트에 이벤트 데이터를 입력하면 자동으로 해당\n 정보를 반영한 이벤트 페이지가 생성될 수 있도록 전용 컴포넌트 및\n 페이지 개발\n
  • \n
\n
\n
\n

\n 포장택배 서비스 개발 및 유지보수\n

\n \n 2021.11 ~ 2021.12\n \n \n \n \n \n \n \n
    \n
  • \n 문 앞에서 판매자의 물품을 픽업해 포장 및 배송을 해주는 서비스\n
  • \n
  • \n 택배 신청 페이지, 배송 현황 페이지를 네이티브 앱 내 웹뷰\n 페이지로 개발\n
  • \n
\n
\n
\n

\n 중고폰 보험 가입 서비스 개발\n

\n \n 2019.10 ~ 2019.11\n \n \n \n \n \n \n \n
    \n
  • 중고폰 파손보험 가입 서비스
  • \n
  • \n 서비스 주요 페이지 및 기능들을 네이티브 앱 내 웹뷰 페이지로 개발\n
  • \n
  • \n 팀 내에서 사용되는 프로젝트 구조를 간추려 보일러 플레이트 작성\n 및 유지보수\n
  • \n
  • 공통 Eslint Rule 및 Prettier Rule 적용
  • \n
\n
\n
\n
\n

커넥서스 컴퍼니

\n \n \n \n \n \n \n \n \n \n
period2017.08 ~ 2019.05
position\n 개발팀\n /\n Front-End Developer\n
\n
\n

\n 커머스 서비스 프롬 개발 및 유지보수\n

\n \n 2018.04 ~ 2019.05\n \n \n \n \n \n \n \n \n
    \n
  • \n 소비자가 판매상품을 발굴하고 판매상품이 판매 목록에 등록되면\n 다른 소비자들에게 추천 및 구매, 선물할 수 있는 서비스\n
  • \n
  • 서비스 주요 페이지 및 기능들을 반응형 웹으로 개발
  • \n
  • 프론트 개발 환경 구성 및 프로젝트 아키텍처 설계
  • \n
  • \n 코드 스플리팅, 윈도잉 기법, 이미지 레이지 로딩 등을 사용하여\n 웹성능 최적화\n
  • \n
  • Server Side Rendering 적용
  • \n
\n
\n
\n

\n 임플란트 시술 정보 제공 서비스 플랜티 개발\n

\n \n 2017.08 ~ 2018.03\n \n \n \n \n \n \n \n \n
    \n
  • \n 임플란트 시술 방법 및 과정을 등록하고 다른 사용자가 해당 정보를\n 보며 임플란트 시술 정보를 학습할 수 있는 서비스\n
  • \n
  • \n 임플란트 시술 상세 페이지, 마이 페이지를 반응형 웹으로 개발\n
  • \n
\n
\n
\n
\n

트래포트

\n \n \n \n \n \n \n \n \n \n
period2016.07 ~ 2017.08
position\n 개발팀\n /\n Front-End Developer\n
\n
\n

\n 메타부킹 플랫폼 트래블하우 모바일웹, PC웹, 앱 내 웹뷰 신규 기능\n 개발 및 유지보수\n

\n \n 2016.07 ~ 2017.08\n \n \n \n \n \n \n \n
    \n
  • \n 호텔 가격 비교, 예약, 결제를 한번에 제공하는 메타부킹 서비스\n
  • \n
  • \n PC웹, 모바일웹, 앱 내 웹뷰 페이지로 출력되는 호텔 카테고리\n 영역을 담당하여 신규 기능 개발 및 유지보수\n
  • \n
\n
\n
\n

\n 메타부킹 플랫폼 트래블하우 운영 어드민 신규 기능 개발 및 유지보수\n

\n \n 2016.07 ~ 2017.08\n \n \n \n \n \n \n \n
    \n
  • 협력사와 내부직원에게 제공하는 운영 어드민
  • \n
  • 호텔 카테고리 신규 기능 개발 및 유지보수
  • \n
  • 여행 일정표, 여행지 스팟 관리 기능 개발 및 유지보수
  • \n
\n
\n
\n
\n
\n );\n}\n\nconst cssProps = {\n root: css({\n paddingTop: 76,\n\n [mqMin('lg')]: {\n width: 662,\n },\n }),\n title: css({\n marginBottom: 40,\n fontSize: 32,\n }),\n introduce: css({\n marginBottom: 100,\n fontSize: 17,\n lineHeight: '1.5',\n }),\n subTitle: css({\n marginBottom: 55,\n fontSize: 30,\n }),\n workExperience: css({\n marginBottom: 90,\n }),\n companyName: css({\n position: 'relative',\n marginBottom: 24,\n paddingLeft: 16,\n fontSize: 24,\n fontWeight: 700,\n lineHeight: 1.4,\n\n ['&:before']: {\n position: 'absolute',\n width: 6,\n height: '100%',\n backgroundColor: 'var(--primary-color)',\n top: 0,\n left: 0,\n bottom: 0,\n content: '\"\"',\n },\n ['span']: {\n display: 'inline-block',\n fontSize: 16,\n },\n }),\n workHistory: css({\n marginBottom: 45,\n\n 'th, td': {\n padding: '12px 8px',\n borderTop: '1px solid hsla(var(--palette-gray-20), 100%)',\n\n ['&:last-of-type']: {\n borderBottom: '1px solid hsla(var(--palette-gray-20), 100%)',\n },\n },\n th: {\n width: 100,\n textAlign: 'right',\n fontWeight: 600,\n },\n\n 'td span': {\n display: 'inline-block',\n lineHeight: 1.25,\n },\n }),\n slash: {\n marginLeft: 8,\n marginRight: 8,\n },\n workExperienceDetails: css({\n paddingLeft: 30,\n\n ['&:not(:last-of-type)']: {\n marginBottom: 60,\n },\n }),\n workExperienceDetail: css({\n marginBottom: 8,\n fontSize: 18,\n fontWeight: 600,\n lineHeight: 1.5,\n }),\n workExperienceDetailPeriod: css({\n color: 'hsla(var(--palette-gray-100), 80%)',\n fontSize: 14,\n }),\n workExperienceTackStacks: css({\n marginTop: 12,\n marginBottom: 30,\n }),\n workExperienceDetailDescription: css({\n marginLeft: 14,\n marginTop: 15,\n marginBottom: 6,\n listStylePosition: 'outside',\n listStyleType: 'disc',\n\n li: {\n marginBottom: 10,\n lineHeight: 1.5,\n },\n }),\n};\n\nexport default AboutPage;\n"],"names":["cssProps","root","css","paddingTop","mqMin","width","title","name","styles","introduce","subTitle","workExperience","companyName","position","marginBottom","paddingLeft","fontSize","fontWeight","lineHeight","height","backgroundColor","top","left","bottom","content","display","workHistory","padding","borderTop","borderBottom","th","textAlign","slash","marginLeft","marginRight","workExperienceDetails","workExperienceDetail","workExperienceDetailPeriod","workExperienceTackStacks","workExperienceDetailDescription","___EmotionJSX","NoLayoutTemplate","Container","Tags","Tag","tag"],"sourceRoot":""} \ No newline at end of file diff --git a/_gatsby/slices/_gatsby-scripts-1.html b/_gatsby/slices/_gatsby-scripts-1.html index f23a19bf..59fd6a80 100644 --- a/_gatsby/slices/_gatsby-scripts-1.html +++ b/_gatsby/slices/_gatsby-scripts-1.html @@ -4,4 +4,4 @@ > window.___chunkMapping="{\"app\":[\"/app-e5f039fe59256a60aaac.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js\"],\"component---src-pages-about-tsx\":[\"/component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js\"],\"component---src-pages-posts-tsx\":[\"/component---src-pages-posts-tsx-380623bf8f4d5300356c.js\"],\"component---src-pages-tags-tsx\":[\"/component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js\"]}"; - \ No newline at end of file + \ No newline at end of file diff --git a/about/index.html b/about/index.html index 1f8f04fd..c82bdaa9 100644 --- a/about/index.html +++ b/about/index.html @@ -1,7 +1,7 @@ -

안녕하세요
웹 프론트엔드 개발자 박유경 입니다!

웹 프론트엔드 개발자답게 UI/UX에 관심이 많습니다.

끊임없이 진화하는 기술 트렌드에 적극적으로 대응하며, 새로운 기술 습득에 거부감이 없습니다.

편안한 환경에 안주하기보다는 새로운 기술이나 해법을 적극적으로 탐구하고 실험함으로써
더 나은 결과를 추구하며, 지식으로 흡수하고 습득하는 것에 힘쓰고 있습니다.

Work Experience

넷마블F&C

period2023.05 ~ 재직 중
positionR&D실 서버팀 FE파트/Front-End Developer

React Native를 사용하여 채팅앱 프로토타입 개발

2023.06 ~ 2023.11
TypeScriptReact NativeRedux ToolkitProtobuf
  • WebSocket과 Protobuf를 사용하여 채팅 기능 개발
  • WebRTC를 사용하여 음성채팅, 화상채팅 기능 구현
  • Flutter, React Native 비교 R&D 진행

사내 Plan Management System 웹 애플리케이션 개발

2023.05 ~ 2023.06
TypeScriptReactRecoilstyled-components
  • 수기로 지출 품의서 및 지출 결의서를 작성하는 재무팀을 위해 지출 결의서 작성 및 등록 페이지 개발
  • FE 파트 공통 Eslint Rule 및 Prettier Rule 적용

메타버스월드 (넷마블F&C 자회사)

period2022.03 ~ 2023.05
position웹 개발팀 FE파트/파트장

블록체인 서비스 Fncy 웹, 런처 내 웹뷰 신규 카테고리 개발 및 유지보수

2022.03 ~ 2023.04
TypeScriptNext.jsRecoilemotionTurborepo
  • 코인 스테이킹, 브릿지, NFT 에어드롭 및 구매, 판매를 제공하는 서비스
  • Single Pool 및 Event Pool 스테이킹 서비스, NFT 상품 상세, 이벤트 페이지를 반응형 웹 및 런처 내 웹뷰 페이지로 개발
  • web3.js를 사용하여 스마트 컨트랙트 연동
  • 모노레포를 사용하여 웹서비스 및 웹뷰에서 공통 UI 컴포넌트, 공통 비즈니스 로직 개발
  • 버그 수정 및 피드백 반영

모바일 게임 내 게시판 개발

2023.04 ~ 2023.04
TypeScriptReactemotionTurborepo
  • 모바일 게임 공지사항, 패치내역, 이벤트 게시판을 게임 앱 내 웹뷰 페이지로 개발
  • 여러 모바일 게임에 간단하게 이식할 수 있도록 모노레포를 사용하여 공통 UI, 공통 비즈니스 로직 개발
  • AWS S3, CloudFront를 사용하여 정적 웹사이트 호스팅

번개장터

period2019.05 ~ 2022.03
position커스터머랩/Front-End Developer

번개장터 웹서비스 기존 기능 개편, 신규 기능 추가, 유지보수

2019.05 ~ 2022.03
TypeScriptReactReduxstyled-components
  • 중고거래 서비스 번개장터 PC웹, 모바일웹 담당
  • 모바일웹 판매등록 페이지 리팩토링
  • 모바일웹 관심상품 페이지 개발
  • PC웹, 모바일웹 로그인 페이지 및 인증 비즈니스 로직 리팩토링
  • 버그 수정 및 피드백 반영

내폰 시세조회 및 내폰 판매 서비스 개발 및 유지보수

2020.04 ~ 2022.03
TypeScriptReactstyled-components
  • 중고폰 시세 조회 판매 서비스
  • 서비스 주요 페이지 및 기능들을 모바일 웹, 네이티브 내 웹뷰로 보여지는 페이지로 개발
  • 디자인팀에서 구축한 디자인 시스템 참고하여 공통 UI 컴포넌트 작성

이벤트 및 프로모션 페이지 개발

2020.11 ~ 2022.03
TypeScriptReactReduxstyled-components
  • 번개장터 이벤트 및 프로모션을 반응형 웹, 네이티브 앱 내 웹뷰 페이지로 개발
  • 마케팅팀이 엑셀 시트에 이벤트 데이터를 입력하면 자동으로 해당 정보를 반영한 이벤트 페이지가 생성될 수 있도록 전용 컴포넌트 및 페이지 개발

포장택배 서비스 개발 및 유지보수

2021.11 ~ 2021.12
TypeScriptReactMobxstyled-components
  • 문 앞에서 판매자의 물품을 픽업해 포장 및 배송을 해주는 서비스
  • 택배 신청 페이지, 배송 현황 페이지를 네이티브 앱 내 웹뷰 페이지로 개발

중고폰 보험 가입 서비스 개발

2019.10 ~ 2019.11
TypeScriptReactMobxstyled-components
  • 중고폰 파손보험 가입 서비스
  • 서비스 주요 페이지 및 기능들을 네이티브 앱 내 웹뷰 페이지로 개발
  • 팀 내에서 사용되는 프로젝트 구조를 간추려 보일러 플레이트 작성 및 유지보수
  • 공통 Eslint Rule 및 Prettier Rule 적용

커넥서스 컴퍼니

period2017.08 ~ 2019.05
position개발팀/Front-End Developer

커머스 서비스 프롬 개발 및 유지보수

2018.04 ~ 2019.05
ReactReduxRedux-FormjQueryNode.js
  • 소비자가 판매상품을 발굴하고 판매상품이 판매 목록에 등록되면 다른 소비자들에게 추천 및 구매, 선물할 수 있는 서비스
  • 서비스 주요 페이지 및 기능들을 반응형 웹으로 개발
  • 프론트 개발 환경 구성 및 프로젝트 아키텍처 설계
  • 코드 스플리팅 적용
  • Server Side Rendering 적용

임플란트 시술 정보 제공 서비스 플랜티 개발

2017.08 ~ 2018.03
ReactReduxRedux-FormjQueryNode.js
  • 임플란트 시술 방법 및 과정을 등록하고 다른 사용자가 해당 정보를 보며 임플란트 시술 정보를 학습할 수 있는 서비스
  • 임플란트 시술 상세 페이지, 마이 페이지를 반응형 웹으로 개발

트래포트

period2016.07 ~ 2017.08
position개발팀/Front-End Developer

메타부킹 플랫폼 트래블하우 모바일웹, PC웹, 앱 내 웹뷰 신규 기능 개발 및 유지보수

2016.07 ~ 2017.08
ReactRefluxjQueryNode.js
  • 호텔 가격 비교, 예약, 결제를 한번에 제공하는 메타부킹 서비스
  • PC웹, 모바일웹, 앱 내 웹뷰 페이지로 출력되는 호텔 카테고리 영역을 담당하여 신규 기능 개발 및 유지보수

메타부킹 플랫폼 트래블하우 운영 어드민 신규 기능 개발 및 유지보수

2016.07 ~ 2017.08
ReactRefluxjQueryNode.js
  • 협력사와 내부직원에게 제공하는 운영 어드민
  • 호텔 카테고리 신규 기능 개발 및 유지보수
  • 여행 일정표, 여행지 스팟 관리 기능 개발 및 유지보수
+

안녕하세요
웹 프론트엔드 개발자 박유경 입니다!

웹 프론트엔드 개발자답게 UI/UX에 관심이 많습니다.

끊임없이 진화하는 기술 트렌드에 적극적으로 대응하며, 새로운 기술 습득에 거부감이 없습니다.

편안한 환경에 안주하기보다는 새로운 기술이나 해법을 적극적으로 탐구하고 실험함으로써
더 나은 결과를 추구하며, 지식으로 흡수하고 습득하는 것에 힘쓰고 있습니다.

Work Experience

넷마블F&C

period2023.05 ~ 2023.12
positionR&D실 서버팀 FE파트/Front-End Developer

React Native를 사용하여 채팅앱 프로토타입 개발

2023.06 ~ 2023.11
TypeScriptReact NativeRedux ToolkitProtobuf
  • WebSocket과 Protobuf를 사용하여 채팅 기능 개발
  • WebRTC를 사용하여 음성채팅, 화상채팅 기능 구현
  • Flutter, React Native 비교 R&D 진행

사내 Plan Management System 웹 애플리케이션 개발

2023.05 ~ 2023.06
TypeScriptReactRecoilstyled-components
  • 수기로 지출 품의서 및 지출 결의서를 작성하는 재무팀을 위해 지출 결의서 작성 및 등록 페이지 개발
  • FE 파트 공통 Eslint Rule 및 Prettier Rule 적용

메타버스월드 (넷마블F&C 자회사)

period2022.03 ~ 2023.05
position웹 개발팀 FE파트/파트장

블록체인 서비스 Fncy 웹, 런처 내 웹뷰 신규 카테고리 개발 및 유지보수

2022.03 ~ 2023.04
TypeScriptNext.jsRecoilemotionTurborepo
  • 코인 스테이킹, 브릿지, NFT 에어드롭 및 구매, 판매를 제공하는 서비스
  • Single Pool 및 Event Pool 스테이킹 서비스, NFT 상품 상세, 이벤트 페이지를 반응형 웹 및 런처 내 웹뷰 페이지로 개발
  • web3.js를 사용하여 스마트 컨트랙트 연동
  • 모노레포를 사용하여 웹서비스 및 웹뷰에서 공통 UI 컴포넌트, 공통 비즈니스 로직 개발
  • 버그 수정 및 피드백 반영

모바일 게임 내 게시판 개발

2023.04 ~ 2023.04
TypeScriptReactemotionTurborepo
  • 모바일 게임 공지사항, 패치내역, 이벤트 게시판을 게임 앱 내 웹뷰 페이지로 개발
  • 여러 모바일 게임에 간단하게 이식할 수 있도록 모노레포를 사용하여 공통 UI, 공통 비즈니스 로직 개발
  • AWS S3, CloudFront를 사용하여 정적 웹사이트 호스팅

번개장터

period2019.05 ~ 2022.03
position커스터머랩/Front-End Developer

번개장터 웹서비스 기존 기능 개편, 신규 기능 추가, 유지보수

2019.05 ~ 2022.03
TypeScriptReactReduxstyled-components
  • 중고거래 서비스 번개장터 PC웹, 모바일웹 담당
  • 모바일웹 판매등록 페이지 리팩토링
  • 모바일웹 관심상품 페이지 개발
  • PC웹, 모바일웹 로그인 페이지 및 인증 비즈니스 로직 리팩토링
  • 버그 수정 및 피드백 반영

내폰 시세조회 및 내폰 판매 서비스 개발 및 유지보수

2020.04 ~ 2022.03
TypeScriptReactstyled-components
  • 중고폰 시세 조회 판매 서비스
  • 서비스 주요 페이지 및 기능들을 모바일 웹, 네이티브 내 웹뷰로 보여지는 페이지로 개발
  • 디자인팀에서 구축한 디자인 시스템 참고하여 공통 UI 컴포넌트 작성
  • Lottie 애니메이션 적용 시 dynamic import, intersectionobserver를 사용하여 웹성능 최적화

이벤트 및 프로모션 페이지 개발

2020.11 ~ 2022.03
TypeScriptReactReduxstyled-components
  • 번개장터 이벤트 및 프로모션을 반응형 웹, 네이티브 앱 내 웹뷰 페이지로 개발
  • 마케팅팀이 엑셀 시트에 이벤트 데이터를 입력하면 자동으로 해당 정보를 반영한 이벤트 페이지가 생성될 수 있도록 전용 컴포넌트 및 페이지 개발

포장택배 서비스 개발 및 유지보수

2021.11 ~ 2021.12
TypeScriptReactMobxstyled-components
  • 문 앞에서 판매자의 물품을 픽업해 포장 및 배송을 해주는 서비스
  • 택배 신청 페이지, 배송 현황 페이지를 네이티브 앱 내 웹뷰 페이지로 개발

중고폰 보험 가입 서비스 개발

2019.10 ~ 2019.11
TypeScriptReactMobxstyled-components
  • 중고폰 파손보험 가입 서비스
  • 서비스 주요 페이지 및 기능들을 네이티브 앱 내 웹뷰 페이지로 개발
  • 팀 내에서 사용되는 프로젝트 구조를 간추려 보일러 플레이트 작성 및 유지보수
  • 공통 Eslint Rule 및 Prettier Rule 적용

커넥서스 컴퍼니

period2017.08 ~ 2019.05
position개발팀/Front-End Developer

커머스 서비스 프롬 개발 및 유지보수

2018.04 ~ 2019.05
ReactReduxRedux-FormjQueryNode.js
  • 소비자가 판매상품을 발굴하고 판매상품이 판매 목록에 등록되면 다른 소비자들에게 추천 및 구매, 선물할 수 있는 서비스
  • 서비스 주요 페이지 및 기능들을 반응형 웹으로 개발
  • 프론트 개발 환경 구성 및 프로젝트 아키텍처 설계
  • 코드 스플리팅, 윈도잉 기법, 이미지 레이지 로딩 등을 사용하여 웹성능 최적화
  • Server Side Rendering 적용

임플란트 시술 정보 제공 서비스 플랜티 개발

2017.08 ~ 2018.03
ReactReduxRedux-FormjQueryNode.js
  • 임플란트 시술 방법 및 과정을 등록하고 다른 사용자가 해당 정보를 보며 임플란트 시술 정보를 학습할 수 있는 서비스
  • 임플란트 시술 상세 페이지, 마이 페이지를 반응형 웹으로 개발

트래포트

period2016.07 ~ 2017.08
position개발팀/Front-End Developer

메타부킹 플랫폼 트래블하우 모바일웹, PC웹, 앱 내 웹뷰 신규 기능 개발 및 유지보수

2016.07 ~ 2017.08
ReactRefluxjQueryNode.js
  • 호텔 가격 비교, 예약, 결제를 한번에 제공하는 메타부킹 서비스
  • PC웹, 모바일웹, 앱 내 웹뷰 페이지로 출력되는 호텔 카테고리 영역을 담당하여 신규 기능 개발 및 유지보수

메타부킹 플랫폼 트래블하우 운영 어드민 신규 기능 개발 및 유지보수

2016.07 ~ 2017.08
ReactRefluxjQueryNode.js
  • 협력사와 내부직원에게 제공하는 운영 어드민
  • 호텔 카테고리 신규 기능 개발 및 유지보수
  • 여행 일정표, 여행지 스팟 관리 기능 개발 및 유지보수
- \ No newline at end of file + \ No newline at end of file diff --git a/index.html b/index.html index f96faa1a..276aa4c0 100644 --- a/index.html +++ b/index.html @@ -4,4 +4,4 @@ > window.___chunkMapping="{\"app\":[\"/app-e5f039fe59256a60aaac.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js\"],\"component---src-pages-about-tsx\":[\"/component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js\"],\"component---src-pages-posts-tsx\":[\"/component---src-pages-posts-tsx-380623bf8f4d5300356c.js\"],\"component---src-pages-tags-tsx\":[\"/component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js\"]}"; - \ No newline at end of file + \ No newline at end of file diff --git a/page-data/app-data.json b/page-data/app-data.json index 995de3e7..3de0100e 100644 --- a/page-data/app-data.json +++ b/page-data/app-data.json @@ -1 +1 @@ -{"webpackCompilationHash":"bd119637f31acc2fc935"} +{"webpackCompilationHash":"bb80dfe565a4c407cf17"} diff --git a/posts/index.html b/posts/index.html index 956e0e83..78ff34ca 100644 --- a/posts/index.html +++ b/posts/index.html @@ -4,4 +4,4 @@ > window.___chunkMapping="{\"app\":[\"/app-e5f039fe59256a60aaac.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js\"],\"component---src-pages-about-tsx\":[\"/component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js\"],\"component---src-pages-posts-tsx\":[\"/component---src-pages-posts-tsx-380623bf8f4d5300356c.js\"],\"component---src-pages-tags-tsx\":[\"/component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js\"]}"; - \ No newline at end of file + \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index c61580af..332ac634 100644 --- a/tags/index.html +++ b/tags/index.html @@ -4,4 +4,4 @@ > window.___chunkMapping="{\"app\":[\"/app-e5f039fe59256a60aaac.js\"],\"component---src-pages-404-tsx\":[\"/component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js\"],\"component---src-pages-about-tsx\":[\"/component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js\"],\"component---src-pages-index-tsx\":[\"/component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js\"],\"component---src-pages-posts-tsx\":[\"/component---src-pages-posts-tsx-380623bf8f4d5300356c.js\"],\"component---src-pages-tags-tsx\":[\"/component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js\"]}"; - \ No newline at end of file + \ No newline at end of file diff --git a/webpack-runtime-5988fe2a39c1e8eb0ef1.js b/webpack-runtime-5988fe2a39c1e8eb0ef1.js new file mode 100644 index 00000000..84142bfa --- /dev/null +++ b/webpack-runtime-5988fe2a39c1e8eb0ef1.js @@ -0,0 +1,2 @@ +!function(){"use strict";var e,t,n,r,o,u={},c={};function a(e){var t=c[e];if(void 0!==t)return t.exports;var n=c[e]={exports:{}};return u[e](n,n.exports,a),n.exports}a.m=u,e=[],a.O=function(t,n,r,o){if(!n){var u=1/0;for(s=0;s=o)&&Object.keys(a.O).every((function(e){return a.O[e](n[i])}))?n.splice(i--,1):(c=!1,o0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[n,r,o]},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},a.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var o=Object.create(null);a.r(o);var u={};t=t||[null,n({}),n([]),n(n)];for(var c=2&r&&e;"object"==typeof c&&!~t.indexOf(c);c=n(c))Object.getOwnPropertyNames(c).forEach((function(t){u[t]=function(){return e[t]}}));return u.default=function(){return e},a.d(o,u),o},a.d=function(e,t){for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=function(e){return Promise.all(Object.keys(a.f).reduce((function(t,n){return a.f[n](e,t),t}),[]))},a.u=function(e){return{49:"component---src-pages-about-tsx",190:"component---src-pages-tags-tsx",218:"component---src-pages-404-tsx",560:"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f",691:"component---src-pages-index-tsx",754:"component---src-pages-posts-tsx",921:"4778eb91",965:"93947fe9"}[e]+"-"+{49:"3f7ffd9246ed2d6afbf9",190:"3ba64595e559fd3c2b43",218:"d4f218bb40c92fd04d2c",560:"61a9b6d860e5dd158c3b",691:"eccf6bce0e8f11dbef12",754:"380623bf8f4d5300356c",921:"447c5b5ea6a2287202b2",965:"bf1b6ebc7528047780d5"}[e]+".js"},a.miniCssF=function(e){return"styles.acab2a1f9217e15f7c4e.css"},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},o="kyoungah-dev-blog:",a.l=function(e,t,n,u){if(r[e])r[e].push(t);else{var c,i;if(void 0!==n)for(var f=document.getElementsByTagName("script"),s=0;s 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"kyoungah-dev-blog:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + {\"49\":\"component---src-pages-about-tsx\",\"190\":\"component---src-pages-tags-tsx\",\"218\":\"component---src-pages-404-tsx\",\"560\":\"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f\",\"691\":\"component---src-pages-index-tsx\",\"754\":\"component---src-pages-posts-tsx\",\"921\":\"4778eb91\",\"965\":\"93947fe9\"}[chunkId] + \"-\" + {\"49\":\"3f7ffd9246ed2d6afbf9\",\"190\":\"3ba64595e559fd3c2b43\",\"218\":\"d4f218bb40c92fd04d2c\",\"560\":\"61a9b6d860e5dd158c3b\",\"691\":\"eccf6bce0e8f11dbef12\",\"754\":\"380623bf8f4d5300356c\",\"921\":\"447c5b5ea6a2287202b2\",\"965\":\"bf1b6ebc7528047780d5\"}[chunkId] + \".js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + \"styles\" + \".\" + \"acab2a1f9217e15f7c4e\" + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t658: 0,\n\t532: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(!/^(532|658)$/.test(chunkId)) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkkyoungah_dev_blog\"] = self[\"webpackChunkkyoungah_dev_blog\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));"],"names":["deferred","leafPrototypes","getProto","inProgress","dataWebpackPrefix","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","getPrototypeOf","obj","__proto__","t","value","mode","this","then","ns","create","def","current","indexOf","getOwnPropertyNames","forEach","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","prop","prototype","hasOwnProperty","call","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","p","installedChunks","installedChunkData","test","promise","resolve","reject","error","Error","errorType","realSrc","message","name","request","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","id","chunkLoadingGlobal","self"],"sourceRoot":""} \ No newline at end of file diff --git a/webpack.stats.json b/webpack.stats.json index b299dfdb..c802745c 100644 --- a/webpack.stats.json +++ b/webpack.stats.json @@ -1 +1 @@ -{"name":"build-javascript","namedChunkGroups":{"app":{"name":"app","assets":[{"name":"webpack-runtime-b2ab9518441ab595e716.js","size":4130},{"name":"framework-15ccf413f29f655d819c.js","size":140775},{"name":"styles.acab2a1f9217e15f7c4e.css","size":7050},{"name":"app-e5f039fe59256a60aaac.js","size":128780}],"filteredAssets":0,"assetsSize":280735,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":902835},"component---src-pages-404-tsx":{"name":"component---src-pages-404-tsx","assets":[{"name":"component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js","size":726}],"filteredAssets":0,"assetsSize":726,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":1918},"component---src-pages-about-tsx":{"name":"component---src-pages-about-tsx","assets":[{"name":"4778eb91-70be102533201e10d42c.js","size":15412},{"name":"component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js","size":4216}],"filteredAssets":0,"assetsSize":19628,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":42666},"component---src-pages-index-tsx":{"name":"component---src-pages-index-tsx","assets":[{"name":"93947fe9-bf1b6ebc7528047780d5.js","size":1911},{"name":"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","size":6268},{"name":"component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js","size":9588}],"filteredAssets":0,"assetsSize":17767,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":60965},"component---src-pages-posts-tsx":{"name":"component---src-pages-posts-tsx","assets":[{"name":"component---src-pages-posts-tsx-380623bf8f4d5300356c.js","size":308}],"filteredAssets":0,"assetsSize":308,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":472},"component---src-pages-tags-tsx":{"name":"component---src-pages-tags-tsx","assets":[{"name":"93947fe9-bf1b6ebc7528047780d5.js","size":1911},{"name":"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","size":6268},{"name":"component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js","size":1934}],"filteredAssets":0,"assetsSize":10113,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":27331}},"assetsByChunkName":{"app":["webpack-runtime-b2ab9518441ab595e716.js","framework-15ccf413f29f655d819c.js","styles.acab2a1f9217e15f7c4e.css","app-e5f039fe59256a60aaac.js"],"component---src-pages-404-tsx":["component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js"],"component---src-pages-about-tsx":["4778eb91-70be102533201e10d42c.js","component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js"],"component---src-pages-index-tsx":["93947fe9-bf1b6ebc7528047780d5.js","7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js"],"component---src-pages-posts-tsx":["component---src-pages-posts-tsx-380623bf8f4d5300356c.js"],"component---src-pages-tags-tsx":["93947fe9-bf1b6ebc7528047780d5.js","7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js"]},"childAssetsByChunkName":{}} \ No newline at end of file +{"name":"build-javascript","namedChunkGroups":{"app":{"name":"app","assets":[{"name":"webpack-runtime-5988fe2a39c1e8eb0ef1.js","size":4130},{"name":"framework-15ccf413f29f655d819c.js","size":140775},{"name":"styles.acab2a1f9217e15f7c4e.css","size":7050},{"name":"app-e5f039fe59256a60aaac.js","size":128780}],"filteredAssets":0,"assetsSize":280735,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":902835},"component---src-pages-404-tsx":{"name":"component---src-pages-404-tsx","assets":[{"name":"component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js","size":726}],"filteredAssets":0,"assetsSize":726,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":1918},"component---src-pages-about-tsx":{"name":"component---src-pages-about-tsx","assets":[{"name":"4778eb91-447c5b5ea6a2287202b2.js","size":15617},{"name":"component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js","size":4216}],"filteredAssets":0,"assetsSize":19833,"filteredAuxiliaryAssets":2,"auxiliaryAssetsSize":43005},"component---src-pages-index-tsx":{"name":"component---src-pages-index-tsx","assets":[{"name":"93947fe9-bf1b6ebc7528047780d5.js","size":1911},{"name":"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","size":6268},{"name":"component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js","size":9588}],"filteredAssets":0,"assetsSize":17767,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":60965},"component---src-pages-posts-tsx":{"name":"component---src-pages-posts-tsx","assets":[{"name":"component---src-pages-posts-tsx-380623bf8f4d5300356c.js","size":308}],"filteredAssets":0,"assetsSize":308,"filteredAuxiliaryAssets":1,"auxiliaryAssetsSize":472},"component---src-pages-tags-tsx":{"name":"component---src-pages-tags-tsx","assets":[{"name":"93947fe9-bf1b6ebc7528047780d5.js","size":1911},{"name":"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","size":6268},{"name":"component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js","size":1934}],"filteredAssets":0,"assetsSize":10113,"filteredAuxiliaryAssets":3,"auxiliaryAssetsSize":27331}},"assetsByChunkName":{"app":["webpack-runtime-5988fe2a39c1e8eb0ef1.js","framework-15ccf413f29f655d819c.js","styles.acab2a1f9217e15f7c4e.css","app-e5f039fe59256a60aaac.js"],"component---src-pages-404-tsx":["component---src-pages-404-tsx-d4f218bb40c92fd04d2c.js"],"component---src-pages-about-tsx":["4778eb91-447c5b5ea6a2287202b2.js","component---src-pages-about-tsx-3f7ffd9246ed2d6afbf9.js"],"component---src-pages-index-tsx":["93947fe9-bf1b6ebc7528047780d5.js","7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","component---src-pages-index-tsx-eccf6bce0e8f11dbef12.js"],"component---src-pages-posts-tsx":["component---src-pages-posts-tsx-380623bf8f4d5300356c.js"],"component---src-pages-tags-tsx":["93947fe9-bf1b6ebc7528047780d5.js","7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","component---src-pages-tags-tsx-3ba64595e559fd3c2b43.js"]},"childAssetsByChunkName":{}} \ No newline at end of file