diff --git a/404.html b/404.html index 130fdd51..b2c62f97 100644 --- a/404.html +++ b/404.html @@ -2,6 +2,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/404/index.html b/404/index.html index 2cd7ef9a..eee5923c 100644 --- a/404/index.html +++ b/404/index.html @@ -2,6 +2,6 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/4778eb91-70be102533201e10d42c.js b/4778eb91-70be102533201e10d42c.js new file mode 100644 index 00000000..44380f23 --- /dev/null +++ b/4778eb91-70be102533201e10d42c.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),Z=l(4306);const r={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)(Z.Z,null,(0,i.tZ)(n.Z,{css:r.root},(0,i.tZ)("h1",{css:r.title},"안녕하세요",(0,i.tZ)("br",null),"웹 프론트엔드 개발자 ",(0,i.tZ)("strong",null,"박유경")," 입니다!"),(0,i.tZ)("p",{css:r.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:r.subTitle},"Work Experience"),(0,i.tZ)("div",{css:r.workExperience},(0,i.tZ)("h3",{css:r.companyName},"넷마블F&C"),(0,i.tZ)("table",{css:r.workHistory},(0,i.tZ)("tr",null,(0,i.tZ)("th",null,"period"),(0,i.tZ)("td",null,"2023.05 ~ 재직 중")),(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:r.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"React Native를 사용하여 채팅앱 프로토타입 개발"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2023.06 ~ 2023.11"),(0,i.tZ)(a.Z,{css:r.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:r.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:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"사내 Plan Management System 웹 애플리케이션 개발"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2023.05 ~ 2023.06"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"수기로 지출 품의서 및 지출 결의서를 작성하는 재무팀을 위해 지출 결의서 작성 및 등록 페이지 개발"),(0,i.tZ)("li",null,"FE 파트 공통 Eslint Rule 및 Prettier Rule 적용")))),(0,i.tZ)("div",{css:r.workExperience},(0,i.tZ)("h3",{css:r.companyName},"메타버스월드 ",(0,i.tZ)("span",null,"(넷마블F&C 자회사)")),(0,i.tZ)("table",{css:r.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:r.slash},"/"),(0,i.tZ)("span",null,"파트장")))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"블록체인 서비스 Fncy 웹, 런처 내 웹뷰 신규 카테고리 개발 및 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2022.03 ~ 2023.04"),(0,i.tZ)(a.Z,{css:r.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:r.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:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"모바일 게임 내 게시판 개발"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2023.04 ~ 2023.04"),(0,i.tZ)(a.Z,{css:r.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:r.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:r.workExperience},(0,i.tZ)("h3",{css:r.companyName},"번개장터"),(0,i.tZ)("table",{css:r.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:r.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"번개장터 웹서비스 기존 기능 개편, 신규 기능 추가, 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2019.05 ~ 2022.03"),(0,i.tZ)(a.Z,{css:r.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:r.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:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"내폰 시세조회 및 내폰 판매 서비스 개발 및 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2020.04 ~ 2022.03"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"중고폰 시세 조회 판매 서비스"),(0,i.tZ)("li",null,"서비스 주요 페이지 및 기능들을 모바일 웹, 네이티브 내 웹뷰로 보여지는 페이지로 개발"),(0,i.tZ)("li",null,"디자인팀에서 구축한 디자인 시스템 참고하여 공통 UI 컴포넌트 작성"))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"이벤트 및 프로모션 페이지 개발"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2020.11 ~ 2022.03"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"번개장터 이벤트 및 프로모션을 반응형 웹, 네이티브 앱 내 웹뷰 페이지로 개발"),(0,i.tZ)("li",null,"마케팅팀이 엑셀 시트에 이벤트 데이터를 입력하면 자동으로 해당 정보를 반영한 이벤트 페이지가 생성될 수 있도록 전용 컴포넌트 및 페이지 개발"))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"포장택배 서비스 개발 및 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2021.11 ~ 2021.12"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"문 앞에서 판매자의 물품을 픽업해 포장 및 배송을 해주는 서비스"),(0,i.tZ)("li",null,"택배 신청 페이지, 배송 현황 페이지를 네이티브 앱 내 웹뷰 페이지로 개발"))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"중고폰 보험 가입 서비스 개발"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2019.10 ~ 2019.11"),(0,i.tZ)(a.Z,{css:r.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:r.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:r.workExperience},(0,i.tZ)("h3",{css:r.companyName},"커넥서스 컴퍼니"),(0,i.tZ)("table",{css:r.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:r.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"커머스 서비스 프롬 개발 및 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2018.04 ~ 2019.05"),(0,i.tZ)(a.Z,{css:r.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:r.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:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"임플란트 시술 정보 제공 서비스 플랜티 개발"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2017.08 ~ 2018.03"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"임플란트 시술 방법 및 과정을 등록하고 다른 사용자가 해당 정보를 보며 임플란트 시술 정보를 학습할 수 있는 서비스"),(0,i.tZ)("li",null,"임플란트 시술 상세 페이지, 마이 페이지를 반응형 웹으로 개발")))),(0,i.tZ)("div",{css:r.workExperience},(0,i.tZ)("h3",{css:r.companyName},"트래포트"),(0,i.tZ)("table",{css:r.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:r.slash},"/"),(0,i.tZ)("span",null,"Front-End Developer")))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"메타부킹 플랫폼 트래블하우 모바일웹, PC웹, 앱 내 웹뷰 신규 기능 개발 및 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2016.07 ~ 2017.08"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"호텔 가격 비교, 예약, 결제를 한번에 제공하는 메타부킹 서비스"),(0,i.tZ)("li",null,"PC웹, 모바일웹, 앱 내 웹뷰 페이지로 출력되는 호텔 카테고리 영역을 담당하여 신규 기능 개발 및 유지보수"))),(0,i.tZ)("div",{css:r.workExperienceDetails},(0,i.tZ)("h4",{css:r.workExperienceDetail},"메타부킹 플랫폼 트래블하우 운영 어드민 신규 기능 개발 및 유지보수"),(0,i.tZ)("span",{css:r.workExperienceDetailPeriod},"2016.07 ~ 2017.08"),(0,i.tZ)(a.Z,{css:r.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:r.workExperienceDetailDescription},(0,i.tZ)("li",null,"협력사와 내부직원에게 제공하는 운영 어드민"),(0,i.tZ)("li",null,"호텔 카테고리 신규 기능 개발 및 유지보수"),(0,i.tZ)("li",null,"여행 일정표, 여행지 스팟 관리 기능 개발 및 유지보수"))))))}}}]); +//# sourceMappingURL=4778eb91-70be102533201e10d42c.js.map \ No newline at end of file diff --git a/4778eb91-70be102533201e10d42c.js.map b/4778eb91-70be102533201e10d42c.js.map new file mode 100644 index 00000000..959d392a --- /dev/null +++ b/4778eb91-70be102533201e10d42c.js.map @@ -0,0 +1 @@ +{"version":3,"file":"4778eb91-70be102533201e10d42c.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 ~ 재직 중
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
\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
  • 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/7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js b/7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js new file mode 100644 index 00000000..941c2d57 --- /dev/null +++ b/7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkkyoungah_dev_blog=self.webpackChunkkyoungah_dev_blog||[]).push([[560],{2355:function(t,e,n){var a=n(7462),o=n(6298),r=n(9633);const i={root:(0,o.iv)({width:"100%",padding:"115px 16px 76px",minHeight:"calc(100vh - var(--header-height) - var(--footer-height))",[(0,r.N)("sm")]:{paddingLeft:20,paddingRight:20},[(0,r.N)("lg")]:{width:768,marginLeft:"auto",marginRight:"auto"}},"","","","")};e.Z=function(t){let{children:e,...n}=t;return(0,o.tZ)("div",(0,a.Z)({css:i.root},n),e)}},659:function(t,e,n){n.d(e,{Z:function(){return y}});var a=n(6298);const o=(0,a.F4)({from:{opacity:0},to:{opacity:1}}),r={root:(0,a.iv)({width:"100%",animation:"0.6s "+o},"","","","")};var i=function(t){let{children:e}=t;return(0,a.tZ)("div",{css:r.root},e)},s=n(7462);const l={root:{name:"tdgsj4",styles:"width:100%;margin-bottom:16px;text-align:center;font-size:18px"},commingSoon:{name:"1jjx41q",styles:"font-size:24px;font-weight:600;color:hsla(var(--palette-blue-100), 100%)"},emptyPostText:{name:"135yvj2",styles:"font-size:18px;line-height:1.5;color:hsla(var(--palette-gray-100), 100%)"}};var c=function(t){let{...e}=t;return(0,a.tZ)("div",(0,s.Z)({},e,{css:l.root}),(0,a.tZ)("h3",{css:l.commingSoon},"COMING SOON"),(0,a.tZ)("br",null),(0,a.tZ)("span",{css:l.emptyPostText},"아직 등록된 포스트가 없어요",(0,a.tZ)("br",null),"조금만 기다려주세요"))};const g=(0,a.F4)({to:{opacity:"0.3",transform:"translate3d(0, -16px, 0)"}}),p={root:(0,a.iv)({display:"flex",alignItems:"center",justifyContent:"center",gap:6,span:{width:8,height:8,backgroundColor:"var(--primary-color)",borderRadius:"50%",animation:"0.6s "+g+" infinite alternate","&:nth-of-type(2)":{animationDelay:"0.3s"},"&:nth-of-type(3)":{animationDelay:"0.6s"}}},"","","","")};var u=function(t){let{...e}=t;return(0,a.tZ)("div",(0,s.Z)({},e,{css:p.root}),(0,a.tZ)("span",null),(0,a.tZ)("span",null),(0,a.tZ)("span",null))};const h={root:{name:"1d3w5wq",styles:"width:100%"}};var d=function(t){let{children:e}=t;return(0,a.tZ)("ul",{css:h.root},e)},b=n(1883);const m={root:(0,a.iv)({width:"100%",listStyle:"none","&:not(:last-of-type)":{marginBottom:60}},"","","",""),postLink:{name:"4ky2pj",styles:"color:#000000"},postTitle:(0,a.iv)({marginBottom:8,fontSize:20,fontWeight:600,"a:hover &":{color:"hsla(var(--base-blue), 29%)",transition:"color 0.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s"}},"","","",""),postExcerpt:(0,a.iv)({lineHeight:1.5,fontSize:15,fontWeight:400,"a:hover &":{color:"hsla(var(--base-blue), 39%)",transition:"color 0.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s"}},"","","","")};var v=function(t){let{link:e,title:n,excerpt:o}=t;return(0,a.tZ)("li",{css:m.root},(0,a.tZ)(b.Link,{to:e,css:m.postLink},(0,a.tZ)("h3",{css:m.postTitle},n),(0,a.tZ)("p",{css:m.postExcerpt},o)))};var y=Object.assign(i,{EmptyPost:c,FetchPostLoader:u,PostList:d,PostListItem:v})},8677:function(t,e){var n={name:"145vdv4",styles:"html,body{height:100%;margin:0;padding:0;}body{position:relative;margin:0;padding:0;word-break:keep-all;word-wrap:break-word;-webkit-text-size-adjust:none;-webkit-overflow-scrolling:touch;font-family:'Nanum Gothic',Arial,Helvetica,sans-serif;}#___gatsby{min-width:280px;width:100%;}h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;}ul,ol{margin:0;padding:0;}fieldset{margin:0;padding:0;border:none;}textarea{resize:none;outline:none;}button{all:unset;cursor:pointer;padding:0;border:none;outline:none;text-align:center;background-color:transparent;box-sizing:border-box;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-tap-highlight-color:transparent;}a{cursor:pointer;text-decoration:none;outline:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);-webkit-tap-highlight-color:transparent;}i,p,div,span,li{margin:0;}em{display:inline-block;letter-spacing:-0.03em;}strong{font-weight:700;}table{width:100%;border-collapse:collapse;border-spacing:0;}table caption{display:none;}th,td{padding:0;}input,select{border-radius:0;}input:focus{outline:none;}dl,dd{margin:0;}figure{margin:0;}legend{position:absolute!important;left:-9999px;}img{width:100%;vertical-align:top;}img[usemap],map area{outline:none;}hr{display:none;}address{font-style:normal;}input,select,label,button,textarea{vertical-align:middle;}[type='file']{cursor:pointer;}*{box-sizing:border-box;}:root{--base-blue:202,100%;--base-gray:211,19%;--base-danger:358,67%;--base-warning:1,100%;--base-success:168,100%;--palette-blue-10:var(--base-blue),92%;--palette-blue-50:var(--base-blue),59%;--palette-blue-100:var(--base-blue),27%;--palette-gray-10:var(--base-gray),91%;--palette-gray-20:var(--base-gray),84%;--palette-gray-40:var(--base-gray),76%;--palette-gray-60:var(--base-gray),68%;--palette-gray-80:var(--base-gray),53%;--palette-gray-100:var(--base-gray),33%;--primary-color:hsla(var(--palette-blue-50), 100%);--secondary-color:hsla(var(--palette-blue-10), 100%);--danger-color:hsla(var(--base-danger), 55%);--warning-color:hsla(var(--base-warning), 71%);--success-color:hsla(var(--base-success), 38%);--header-height:64px;--footer-height:106px;}"};e.Z=function(){return n}},9633:function(t,e,n){n.d(e,{N:function(){return o}});const a={sss:320,xxs:360,xs:480,sm:576,md:768,lg:992,xl:1200,xxl:1600,xlst:1920};function o(t){return"@media screen and (min-width: "+a[t]+"px)"}},273:function(t,e,n){n.d(e,{Z:function(){return g}});var a=n(7294),o=n(6298),r=n(8677),i=n(943);const s={root:(0,o.iv)({display:"flex",height:"var(--footer-height)",textAlign:"center",fontSize:14,color:"hsla(var(--palette-gray-60), 100%)",lineHeight:1.5,alignItems:"center",gap:2,justifyContent:"center",flexDirection:"column",a:{color:"hsla(var(--palette-gray-60), 100%)"}},"","","","")};var l=function(){return(0,o.tZ)("footer",{css:s.root},(0,o.tZ)("span",null,"Powered by Gatsby, Hosted by GitHub Pages."),(0,o.tZ)("span",null,"©",(0,o.tZ)("a",{href:"https://github.com/partykyoung",rel:"noopener",target:"_blank"},"KyoungAh"),", All rights reserved."))};const c={root:{name:"1oc6wvp",styles:"width:100%;margin:0 auto;max-width:1200px"}};var g=function(t){let{children:e}=t;return(0,o.tZ)(a.Fragment,null,(0,o.tZ)(o.xB,{styles:(0,r.Z)()}),(0,o.tZ)(i.Z,null),(0,o.tZ)("div",{css:c.root},e),(0,o.tZ)(l,null))}}}]); +//# sourceMappingURL=7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js.map \ No newline at end of file diff --git a/7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js.map b/7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js.map new file mode 100644 index 00000000..bd5de373 --- /dev/null +++ b/7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js.map @@ -0,0 +1 @@ +{"version":3,"file":"7d716a29ce4e96b98ed70e76dc74cd1c2844aa6f-61a9b6d860e5dd158c3b.js","mappings":"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","sources":["webpack://kyoungah-dev-blog/./src/commons/components/Container.tsx","webpack://kyoungah-dev-blog/./src/commons/components/Posts/PostsRoot.tsx","webpack://kyoungah-dev-blog/./src/commons/components/Posts/EmptyPost.tsx","webpack://kyoungah-dev-blog/./src/commons/components/Posts/FetchPostLoader.tsx","webpack://kyoungah-dev-blog/./src/commons/components/Posts/PostList.tsx","webpack://kyoungah-dev-blog/./src/commons/components/Posts/PostListItem.tsx","webpack://kyoungah-dev-blog/./src/commons/components/Posts/index.tsx","webpack://kyoungah-dev-blog/./src/commons/styles/globalStyle.ts","webpack://kyoungah-dev-blog/./src/commons/styles/mediaQuery.ts","webpack://kyoungah-dev-blog/./src/commons/components/Footer.tsx","webpack://kyoungah-dev-blog/./src/commons/templates/LayoutTemplate.tsx"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport { mqMin } from '../../commons/styles/mediaQuery';\n\nimport type { HTMLAttributes, ReactNode } from 'react';\n\ntype Props = {\n children: ReactNode;\n} & HTMLAttributes\n\nfunction Container({children, ...props}: Props) {\n return (\n
{children}
\n )\n};\n\nconst cssProps = {\n root: css({\n width: '100%',\n padding: '115px 16px 76px',\n minHeight: 'calc(100vh - var(--header-height) - var(--footer-height))',\n \n [mqMin('sm')]: {\n paddingLeft: 20,\n paddingRight: 20\n },\n \n [mqMin('lg')]: {\n width: 768,\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n })\n };\n \n\nexport default Container;","import { css, keyframes } from '@emotion/react';\n\nimport type { ReactNode } from 'react';\n\ntype Props = {\n children: ReactNode;\n}\n\nfunction PostsRoot({children}: Props) {\n return (\n
\n {children} \n
\n )\n}\n\nconst show = keyframes({\n from: {opacity: 0},\n to: {opacity: 1}\n})\n\nconst cssProps = {\n root: css({\n width: '100%',\n animation: `0.6s ${show}`,\n })\n}\n\nexport default PostsRoot;","import { css } from '@emotion/react';\n\nimport type { HTMLAttributes } from 'react';\n\nfunction EmptyPost({...props}: HTMLAttributes) {\n return (\n
\n

COMING SOON

\n
\n 아직 등록된 포스트가 없어요
조금만 기다려주세요
\n
\n );\n};\n\nconst cssProps = {\n root: css({\n width: '100%',\n marginBottom: 16,\n textAlign: 'center',\n fontSize: 18,\n }),\n commingSoon: css({\n fontSize: 24,\n fontWeight: 600,\n color: 'hsla(var(--palette-blue-100), 100%)'\n }),\n emptyPostText: css({\n fontSize: 18,\n lineHeight: 1.5,\n color: 'hsla(var(--palette-gray-100), 100%)'\n })\n}\n\nexport default EmptyPost;","import { css, keyframes } from '@emotion/react';\n\nimport type { HTMLAttributes } from 'react';\n\nfunction FetchPostLoader ({...props}: HTMLAttributes) {\n return (\n
\n \n \n \n
\n )\n}\n\nconst bounce = keyframes({\n to: {\n opacity: '0.3',\n transform: 'translate3d(0, -16px, 0)'\n }\n});\n\nconst cssProps = {\n root: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 6,\n\n ['span']: {\n width: 8,\n height: 8,\n backgroundColor: 'var(--primary-color)',\n borderRadius: '50%',\n animation: `0.6s ${bounce} infinite alternate`,\n \n ['&:nth-of-type(2)']: {\n animationDelay: '0.3s'\n },\n \n ['&:nth-of-type(3)']: {\n animationDelay: '0.6s'\n }\n }\n })\n}\n\nexport default FetchPostLoader;","import { css } from '@emotion/react';\n\nimport type { ReactNode } from 'react';\n\ntype Props = {\n children: ReactNode;\n}\n\nfunction PostList({children}: Props) {\n return (\n
    \n {children} \n
\n )\n}\n\nconst cssProps = {\n root: css({\n width: '100%',\n })\n}\n\nexport default PostList;","import { Link } from 'gatsby';\nimport { css } from '@emotion/react';\n\ntype Props = {\n excerpt: string;\n link: string;\n title: string;\n}\n\nfunction PostListItem({\n link,\n title,\n excerpt\n}: Props) {\n return (\n
  • \n \n

    {title}

    \n

    {excerpt}

    \n \n
  • \n );\n}\n\nconst cssProps = {\n root: css({\n width: '100%',\n listStyle: 'none',\n ['&:not(:last-of-type)']: {\n marginBottom: 60\n }\n }),\n postLink: css({\n color: '#000000',\n\n }),\n postTitle: css({\n marginBottom: 8,\n fontSize: 20,\n fontWeight: 600,\n\n ['a:hover &']: {\n color: 'hsla(var(--base-blue), 29%)',\n transition: 'color 0.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s' \n }\n\n }),\n postExcerpt: css({\n lineHeight: 1.5,\n fontSize: 15,\n fontWeight: 400,\n\n ['a:hover &']: {\n color: 'hsla(var(--base-blue), 39%)',\n transition: 'color 0.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) 0s' \n }\n })\n}\n\nexport default PostListItem;","import PostsRoot from \"./PostsRoot\";\n\nimport EmptyPost from \"./EmptyPost\";\nimport FetchPostLoader from './FetchPostLoader';\nimport PostList from \"./PostList\";\nimport PostListItem from \"./PostListItem\";\n\nconst Posts = Object.assign(PostsRoot, {\n EmptyPost,\n FetchPostLoader,\n PostList,\n PostListItem\n});\n\nexport default Posts;\n","import { css } from '@emotion/react';\n\nfunction globalStyle() {\n return css`\n html,\n body {\n height: 100%;\n margin: 0;\n padding: 0;\n }\n\n body {\n position: relative;\n margin: 0;\n padding: 0;\n word-break: keep-all;\n word-wrap: break-word;\n -webkit-text-size-adjust: none;\n -webkit-overflow-scrolling: touch;\n font-family: 'Nanum Gothic', Arial, Helvetica, sans-serif;\n }\n\n #___gatsby {\n min-width: 280px;\n width: 100%;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: 0;\n font-weight: 500;\n }\n\n ul,\n ol {\n margin: 0;\n padding: 0;\n }\n\n fieldset {\n margin: 0;\n padding: 0;\n border: none;\n }\n\n textarea {\n resize: none;\n outline: none;\n }\n\n button {\n all: unset;\n cursor: pointer;\n padding: 0;\n border: none;\n outline: none;\n text-align: center;\n background-color: transparent;\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n }\n\n a {\n cursor: pointer;\n text-decoration: none;\n outline: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n }\n\n i,\n p,\n div,\n span,\n li {\n margin: 0;\n }\n\n em {\n display: inline-block;\n letter-spacing: -0.03em;\n }\n\n strong {\n font-weight: 700;\n }\n\n table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n }\n\n table caption {\n display: none;\n }\n\n th,\n td {\n padding: 0;\n }\n\n input,\n select {\n border-radius: 0;\n }\n\n input:focus {\n outline: none;\n }\n\n dl,\n dd {\n margin: 0;\n }\n\n figure {\n margin: 0;\n }\n\n legend {\n position: absolute !important;\n left: -9999px;\n }\n\n img {\n width: 100%;\n vertical-align: top;\n }\n\n img[usemap],\n map area {\n outline: none;\n }\n\n hr {\n display: none;\n }\n\n address {\n font-style: normal;\n }\n\n input,\n select,\n label,\n button,\n textarea {\n vertical-align: middle;\n }\n\n [type='file'] {\n cursor: pointer;\n }\n\n * {\n box-sizing: border-box;\n }\n\n :root {\n --base-blue: 202, 100%;\n --base-gray: 211, 19%;\n --base-danger: 358, 67%;\n --base-warning: 1, 100%;\n --base-success: 168, 100%;\n\n --palette-blue-10: var(--base-blue), 92%;\n --palette-blue-50: var(--base-blue), 59%;\n --palette-blue-100: var(--base-blue), 27%;\n\n --palette-gray-10: var(--base-gray), 91%;\n --palette-gray-20: var(--base-gray), 84%;\n --palette-gray-40: var(--base-gray), 76%;\n --palette-gray-60: var(--base-gray), 68%;\n --palette-gray-80: var(--base-gray), 53%;\n --palette-gray-100: var(--base-gray), 33%;\n\n --primary-color: hsla(var(--palette-blue-50), 100%);\n --secondary-color: hsla(var(--palette-blue-10), 100%);\n\n --danger-color: hsla(var(--base-danger), 55%);\n --warning-color: hsla(var(--base-warning), 71%);\n --success-color: hsla(var(--base-success), 38%);\n\n --header-height: 64px;\n --footer-height: 106px;\n }\n `;\n}\n\nexport default globalStyle;\n","const mq = {\n sss: 320,\n xxs: 360,\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600,\n xlst: 1920,\n} as const;\n\ntype BreakPoint = keyof typeof mq;\n\n/**\n * @param breakPoint xxs: 360px, xs: 480px, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1600px, xlst: 1920px\n */\nexport function mqMax(breakPoint: BreakPoint) {\n return `@media screen and (max-width: ${mq[breakPoint] - 0.02}px)`;\n}\n\n/**\n * @param breakPoint xss: 320 ss: 360px, xs: 480px, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1600px, xlst: 1920px\n */\nexport function mqMin(breakPoint: BreakPoint) {\n return `@media screen and (min-width: ${mq[breakPoint]}px)`;\n}\n","import { css } from \"@emotion/react\";\n\nfunction Footer() {\n return (\n
    \n Powered by Gatsby, Hosted by GitHub Pages.\n ©KyoungAh, All rights reserved.\n
    \n );\n};\n\nconst cssProps = {\n root: css({\n display: 'flex',\n height: 'var(--footer-height)',\n textAlign: 'center',\n fontSize: 14,\n color: 'hsla(var(--palette-gray-60), 100%)',\n lineHeight: 1.5,\n alignItems: 'center',\n gap: 2,\n justifyContent: 'center',\n flexDirection: 'column',\n\n ['a'] : {\n color: 'hsla(var(--palette-gray-60), 100%)'\n }\n })\n}\n\nexport default Footer;","import React from 'react';\nimport { Global, css } from \"@emotion/react\";\n\nimport globalStyle from '../styles/globalStyle';\n\nimport Header from \"../components/Header\";\nimport Footer from \"../components/Footer\";\n\n\nimport type { ReactNode } from \"react\";\n\ntype Props = {\n children: ReactNode;\n}\n\nfunction LayoutTemplate({ children }: Props) {\n return (\n <>\n \n
    \n
    \n {children}\n
    \n