알림: 한국어로 번역된 글을 보시려면 여기를 클릭하세요. At Studio Kingdom, we use the Scala programming language to bring our hit game CookieRun: Kingdom to life. Scala is the language…
작고 아기자기하지만, 개발조직의 문화 만들기 [ep 1. 웹프론트개발그룹 운영진을 소개합니다] 2022년 1월 5일 평온한 오후, 저는 재택근무를 하며 업무에 집중하고 있었습니다. ‘띠릭’ 갑자기 정적을 깨며 울리는 슬랙 알람 소리. “웹프론트개발그룹 2022 운영진을 모집합니다!” 알…
지난 글에서는 ‘너티’ 앱을 각 플랫폼 별로 빌드해서 배포하는 과정을 자동화하는 방법에 대해서 알아보았습니다. 추가로 ‘너티’는 React Native로 개발이 되었기 때문에 크로스 플랫폼 지원이 가능하고, 앱 전체를 빌드해서 배포하는 바이너리 배포 뿐만 아니라 Codepush 배포가…
안녕하세요! 👋 카카오스타일 프론트엔드 챕터 소속 Jason(제이슨/황주성)입니다. 여러분은 혹시 서비스를 개발하면서 브라우저의 윈도우, 탭 혹은 웹뷰 액티비티 간 데이터를 동기화 해줘야 했던 경험이 있으신가요? 페이스북이나 인스타그램과 같이 사용자가 상세 페이지에서 게시물 좋아요를 누…
frida-gum을 활용한 iOS 앱 Hook 1. 개요 Frida(https://github.com/frida/frida)의 핵심 로직은 모듈화되어 있습니다. 그래서 후킹(Hooking) 모듈만 가져다 프로그램에 포함시켜 개발할 수 있으며, Frida JavaScript API 외에…
토스 프론트엔드 챕터에서는 개발 생산성을 극대화하기 위해 코드를 지속적으로 라이브러리로 만들고 있습니다. 그 결과 지금은 100개가 넘는 라이브러리를 운영하고 있습니다. Node.js 12부터 ECMAScript Modules라는 새로운 Module System이 추가되면서, 기존의 C…
Sep 29, 2022 A memoir of two years as a software engineer at Lablup - Jihyun Kang Software Engineer Sep 29, 2022 A memoir of two years as a software engineer at…
안녕하세요. 카카오페이 오프라인결제서비스유닛에서 백엔드를 개발하고 있는 Happy라고 합니다. 카카오페이 오프라인 결제 서비스에서 새롭게 추가된 ‘내 주변 매장 찾기’ 서비스를 개발하기 위해 BFF 서버 구조에서 WebFlux, 코루틴으로 비동기 API 서버 개발 경험에 대해 이야기하려…
출처가 다른 윈도우 간에는 데이터를 어떻게 통신할까? 계기 최근 document.domain 의 setter 지원 중단이 확정되어 유관 부서로부터 윈도우 간 통신에 대한 문의가 있었다. 일례로, 이 중 부모 윈도우에서 출처가 다른 팝업을 띄운 뒤 팝업에서 window.opener.loc…
안녕하세요. 웹개발팀 밸리입니다. 이번 포스팅은 사내 version 9 Next.js 그리고 기타 지원이 중단된 라이브러리들로 구성된 프로젝트를 Migration하고 Refactoring 하는 과정을 담았습니다. 업무 일정에 맞추기 위해 바쁘게 일을 하다 보면, 시간이 지난 프로젝트들은…
팀 프로젝트가 나에게 남긴 것 안녕하세요. 테크코스교육개발팀 이원미입니다 : ) 지난 8월 19일, 8주간의 팀 프로젝트 기간이 끝나고 우테코 4기도 막바지를 향해 달려가고 있습니다. 팀 프로젝트 기간 동안 밤낮으로 고생하며 프로젝트를 만들어가던 크루들의 모습을 잊을 수가 없는데요. 우…
satisfies 키워드란? 왜 필요한가? “satisfies” 키워드는 literal (값) 이나 변수를 안전하게 upcast 하는 기능을 수행합니다. 그런데 이게 어떤 것을 의미할까요? 먼저 아래 예시의 코드를 봐주세요. const variable = 10 TypeScript 복사…
다수의 대형 IT업체들의 핵심 비즈니스 모델 광고! 대용량의 트래픽과 광고 예산을 다루는 SSP(Supply-Side Platform)부터 DSP(Demand Side Platform)까지 AdTech(Advertising과 Tech의 합성어) 전반을 다루는 플랫폼 개발을 경험할 수 있…
- blog - career [get Server!] 카카오 비즈니스의 중심 공통플랫폼 개발파트 비즈니스를 하는 사업자라면 전국민이 사용하고 있는 카카오는 정말 매력적인 플랫폼입니다. 선물하기, 주문하기, 채널, 광고 등 사업자들이 고객과 소통하면서 사업 범위를 확장하고 자사의 제폼을…
이 글은 IDG의 아티클을 전재하여 제공합니다. [원문보기]: https://www.itworld.co.kr/insider/ 잼스택(Jamstack)은 점점 인기가 높아지고 있는 웹 개발 방식으로, 웹 개발 및 웹 페이지의 다운로드 속도를 높이기 위해 주로 사용된다. 데브옵스와 CI/C…
새로운 컬리몰 NX를 소개합니다. 새로운 컬리몰을 만드는 과정을 소개합니다. Intro 헤어질 결심: Decision to Leave GODO 기존 컬리몰은 고도몰 소스위에 구현된 서비스였습니다. 더 많은 상품을 판매하고 싶고 성장하고 싶은 컬리몰은 소위 '탈고도'라 불리는, 기존 레거…
Intro 헤어질 결심: Decision to Leave GODO 기존 컬리몰은 고도몰 소스위에 구현된 서비스였습니다. 더 많은 상품을 판매하고 싶고 성장하고 싶은 컬리몰은 소위 ‘탈고도’라 불리는, 기존 레거시 시스템을 벗어나고자 하는 시도를 해왔습니다. 컬리 커머스 웹프론트 팀은 탈…
안녕하세요, 인프랩의 프론트엔드 개발자 홍시입니다. 최근 저희 팀은 기존 기술 스택으로 인프런 서비스를 유지, 발전시킴과 동시에 미래를 위해 한 페이지씩 모던한 기술 스택으로 개선하는 일에 집중하고 있는데요. 모던한 기술 스택으로 새롭게 만드는 웹앱들은 결국 기존 인프런 서비스 위에 올…
안녕하세요 뱅크샐러드 웹 프론트엔드 엔지니어 조성동입니다. Web chapter 내 개발 과정의 많은 부분에서 GitHub Action을 활용하고 있습니다. action이 실행되고 이를 기다리는 시간은 지루하고 아깝습니다. 하나의 action이 3분이 걸린다면 20명의 동료들이 한 번씩…
우아한 개발자들, 어떻게 성장해요?(a.k.a. 개발조직의 제도와 문화) 우아한형제들에서는 어떤 조직문화와 제도로 개발직군 구성원들의 성장을 지원하고 있을까요? 우아한형제들에 합류하는 모든 개발직군 구성원이 좋은 채용 경험을 하고, 합류한 이후에도 만족하며 일하고, 우아한형제들 기술 조…
안녕하세요. 카카오페이 증권플랫폼파트에서 증권계좌 플랫폼 서버 개발을 하고 있는 제이입니다. 최근 새로운 Spring 기반 서버 프로젝트를 구축하게 되면서 API 문서화 개발을 진행하게 됐습니다. Spring 기반의 프로젝트에서는 Swagger와 Spring REST Docs를 가장 많…
단위 테스트로 복잡한 도메인의 프론트 프로젝트 정복하기(feat. Jest) 최근 저는 복잡한 도메인의 서비스를 개발하는 개발자라면 공감할 만한 문제를 겪고 있었습니다. 찬호 님, 서비스가 비마트일 때, 공급사 반품 상세페이지에서 공급사 계정으로 로그인한 사용자가 역분개한 상품의 마감일…
#프로그래밍 언어 시리즈 - 9가지 프로그래밍 언어로 배우는 개념: 1편 - 타입 이론 - 9가지 프로그래밍 언어로 배우는 개념: 2편 - 다형성 - 9가지 프로그래밍 언어로 배우는 개념: 3편 - 메타프로그래밍 - 9가지 프로그래밍 언어로 배우는 개념: 4편 - 하이 레벨 언어와 동적…
나의 첫 프론트엔드 개발팀 이야기 안녕하세요, 우아한형제들 신입 프론트엔드 개발자 김하루입니다. 저는 우아한형제들 만다오팀에서 개발자로서의 첫 커리어를 시작하게 되었어요. 이 글을 통해 1) 채용과정에서 만다오팀을 추천받았던 이야기와, 2) 만다오팀에서 적응과정이 얼마나 즐거웠는지, 그…
원인 모를 문제를 해결하고 ‘위너위너 치킨디너’ 하는 방법 Chanhee Lee — 이찬희 @hiddenest 복잡한 환경과 원인을 알 수 없는 문제 개발을 하다 보면 도저히 원인을 알 수 없는 문제를 만나고는 합니다. 특히 웹 프론트엔드는 조금 더 꼬여있어서, 서버의 상태 외에도 브라…
안녕하세요. 저는 데브시스터즈 플랫폼셀에서 백엔드 엔지니어로 일하고 있는 이창희입니다. 저는 그동안 쌓은 대부분의 경력이 백엔드와 프론트엔드 개발을 같이하는, 흔히 말하는 풀 스택 엔지니어였는데요 오늘은 그 중 프론트엔드 개발 경험을 살려 흥미로운 이야기를 해볼까 합니다. 프론트엔드 개…
안녕하세요, 인프랩의 프론트엔드 개발자 홍시입니다. 이번 글에서는 팀원들과 함께 IT 채용 플랫폼 랠릿의 프로필·지원서 기능을 react-hook-form으로 리팩토링한 경험을 공유하려고 합니다 :) 앞서 보셨던 글에서처럼 인프랩 프론트엔드 팀은 몇 백개의 form이 한 페이지에 있어…
안녕하세요 인프랩 프론트엔드 개발자 라비입니다:) 온라인 강의 플랫폼 인프런을 서비스하고 있는 저희는 올해 초 채용 서비스인 랠릿을 런칭했는데요. Vanilla JS로 개발한 인프런과 달리 React를 사용하여 웹 페이지를 개발하면서, 특히 이력서라는 특성상 복잡한 폼을 다루면서 렌더링…
올해 저희 개발팀에서 기존 인프런 서비스 코드를 신규 스택으로 개편하는 프로젝트를 진행하였습니다. 여러 서비스 중 강의실 페이지 개선이 첫 번째 목표였고 최근 작업이 완료되었습니다. 이번 포스트에서는 프로젝트 진행에서 겪은 경험을 공유하고자 합니다. 기존 인프런 프로젝트는 다음과 같은…
안녕하세요. 웹개발팀에서 프론트엔드 업무를 맡고 있는 밸리입니다.🐰 사내에서 새로운 프로젝트를 맡게 되면서 상태 관리에 대한 필요성을 느끼게 되어 도입한 조타이에 대한 포스팅입니다. 여러분은 프로젝트에서 상태를 어떻게 관리하고 계신가요? react에서는 기본적으로 자신의 state와 부…
React 개발자를 위한 피그마 플러그인 개발(feat. 온보딩) 안녕하세요, 우아한테크캠프 4기를 마치고 2022년 1월에 회사 생활을 시작한 신입 개발자 황윤서입니다. 긴장했던 첫 회사 생활은 온보딩 프로젝트와 함께 시작되었습니다. ‘쌩신입’에서 신입으로 레벨 업을 하기 위한 필수…
전자증명서 프로젝트란 카카오톡에서 주민등록등본과 같은 증명서를 발급받고 해당 증명서를 직접 방문이 아닌 카카오톡에서 기관에 손쉽게 제출할 수 있도록 도와주는 서비스입니다. 프로젝트는 React로 개발하였으며 react-router를 통해 페이지, 레이어를 URL에 맞게 노출해주는 방식으…
#프로그래밍 언어 시리즈 - 9가지 프로그래밍 언어로 배우는 개념: 1편 - 타입 이론 - 9가지 프로그래밍 언어로 배우는 개념: 2편 - 다형성 - 9가지 프로그래밍 언어로 배우는 개념: 3편 - 메타프로그래밍 - 9가지 프로그래밍 언어로 배우는 개념: 4편 - 하이 레벨 언어와 동적…
만들어 가며 알아보는 React: React는 왜 성공했나 npm trends(npm에 등록된 패키지의 트렌드를 확인하고 비교할 수 있는 사이트) 기준 프런트엔드 UI 개발 라이브러리 순위는 1.React, 2.jQuery, 3.Vue입니다 불과 몇 년 전만 하더라도 UI 개발 라이브러…
안녕하세요. N TF에서 서버 개발을 담당하고 있는 Joo입니다. 저는 다음에서 한메일 익스프레스였던 다음메일 개발을 시작으로, 브런치, 티스토리, My구독을 거쳐, 최근에는 N TF에서 새로운 서비스를 개발하고 있는데요. 서비스 개발을 10여 년, 운영툴 개발도 10여 년 한 것 같습…
우당탕탕 정산어드민 시스템 파일럿 프로젝트 도전기(feat. 정산플랫폼팀) 들어가기 전에 안녕하세요🙂 우아한테크캠프pro(3기)를 수료하고 얼마 전 정산플랫폼팀에 합류하게 된 최영진입니다. 우아한형제들 기술블로그를 통해 자주 도움을 얻고 긍정적인 영향을 많이 받아왔었는데, 제가 정산플랫…
Hygen을 이용한 컴포넌트 템플릿 만들기 이 글에서 다루는 것 이 글을 따라가기 위해서는 React에 대한 가벼운 지식과 CLI를 활용할 수 있는 환경이 필요합니다. 이 글은 Node.js 환경에서 직접 작성한 템플릿을 이용해 컴포넌트를 생성할 수 있는 CLI 기반 시스템 구축 방법을…
해당 포스팅은 아래의 시리즈로 구성되어 있습니다. 시리즈대로 포스팅을 읽어주세요 💚 - Teamcity 를 사용한 Build Process 구성 방법 - Teamcity로 Docker Container Image를 ECR로 Push 하는 방법 - ECS Fargate 에서 Datadog…
안녕하세요. 더핑크퐁컴퍼니 웹개발팀에서 프론트엔드 개발 업무를 맡고 있는 밸리입니다.🐰 기존 프로젝트는 GraphQL과 Apollo Client의 조합으로 개발하였고, 테스트를 진행할 때는 Apollo Client에서 제공하는 MockedProvider를 사용하여 테스트를 진행했었습니다…
안녕하세요, 톡FE파트에서 My구독, 이모티콘 스토어를 개발하고 있는 Hugo입니다. My구독은 정기 결제를 통해 ‘이모티콘 플러스’, ‘톡서랍 플러스’ 서비스를 이용할 수 있는 구독형 서비스입니다. 이번에 My구독에서 Redux와 Redux-Saga를 제거하고, React Query(…
인프런의 컨퍼런스 ‘INFCON 2022’가 8월 26일 코엑스 그랜드볼룸에서 열립니다! 🎊 티져페이지 확인하러 가기 → 안녕하세요. 프론트엔드 개발파트 리온, 록입니다. 🙂 올해 8월, 인프랩의 첫 컨퍼런스를 개최하게되었는데요. 이를 위해서 발표연사자 모집 및 개최 소식을을 알리기 위…
에어브릿지(Airbridge)는 다양한 플랫폼 환경에서 광고의 성과를 분석하고 측정하기 위한 데이터를 자동으로 수집하고 이를 서버에 전달하기 위한 SDK를 제공하고 있습니다. 이런 SDK는 1억대 이상의 디바이스 안에서 하루 10억 건에 달하는 데이터를 수집하고 있기에 어떤 환경 속에서…
안녕하세요, 카카오페이 FE인프라TF 에릭입니다. 우리는 사용자 경험 향상을 위해 비동기 데이터 요청과 같은 로딩 상황에서 사용자에게 스켈레톤 화면을 보여주곤 합니다. 이런 로딩 상황에서 무조건 스켈레톤을 노출하면 사용자 경험이 향상될까요? 세계적인 UX 리서치 그룹 닐슨 노먼은 Pro…
[다시보기] 5월 우아한테크세미나 토크쇼 | 우아한형제들 개발자가 푸는, 공부하고 성장하는 노하우?! 5월 30일 월요일 저녁 7시! 알림설정하고 본방사수하세요 혼자서는 성장할 수 없는 시대! 함께 공부하고 성장하기 위해 우아한형제들이 고민한 방법은?! 그리고 우아한형제들 개발자들이 풀…
뱅크샐러드는 실리콘밸리의 구글 본사에서 근무하시던 정채상 님을 VP of Engineering으로 모셨습니다! 10년 넘게 구글에서 근무하신 채상님은 소프트웨어 엔지니어를 시작으로 Tech Lead, Product Owner의 업무까지 수행하셨다고 하는데요! 그 누구보다 ‘제품’과 ‘고…
웹 3D 모델 최적화 기법 소개 - 등록일 - 2022.05.25 - | - 코멘트 - 29812 이 글에서는 웹에서 주로 사용되는 3D 모델 형식인 glTF(GL Transmission Format)를 대상으로 적용할 수 있는 최적화 기법을 소개합니다. 이를 통해 웹에서 3D 모델을…
- blog 내가 하면 더 잘 만들 것 같아서 만들어 본 세상 귀여운 on-demand Atomic CSS Library. -Part.2 이번 글에서는 Atomic CSS 패러다임이 어떻게 진화해 왔고 왜 TailwindCSS는 과거와 달리 사용할 수 있는지 그리고 어떤 점에서 아직은…
- blog 내가 하면 더 잘 만들 것 같아서 만들어 본 세상 귀여운 on-demand Atomic CSS Library. -Part.1 - 내가 하면 더 잘 만들 것 같아서 만들어 본 세상 귀여운 on-demand Atomic CSS Library. 최근에 CSS 계에서 주목받고 있는…
안녕하세요. 카카오페이 결제클라이언트파티 린입니다. 지난 2020년 12월, React Server Components가 소개된 이후 리액트 서버 컴포넌트는 가장 주목을 받는 React 18 기능 중 하나가 되었습니다. 아쉽게도 React 18의 initial release에는 포함되지…
🔗 if(kakao) 발표 영상 보러 가기: Sentry를 이용한 에러 추적기, React의 선언적 에러 처리 안녕하세요. 카카오페이 투자FE유닛 클로이입니다. 많은 개발자들에게 장애라는 단어는 겪을 때마다 적응이 안되는 단어이면서 상황일 것입니다. 서비스를 제공하는 기업의 입장에서 대…
안녕하세요, 카카오페이 투자FE유닛 에릭입니다. 프론트엔드 개발에 빠지지 않는 API 통신, 어떤 방식으로 처리하고 계신가요? 카카오페이에서는 API 통신과 비동기 데이터 관리1를 위해 React Query를 적극적으로 활용하고 있습니다. 오늘은 저희가 React Query를 전향적으로…
서로 다른 소속 개발자가 모여 함께한 우아한멘토링 후기 여러분이 알고 있는 “멘토링”은 어떤 것인가요? ‘지도자와 조언을 구하는 자? 스승과 제자? 팀장과 신입사원..?’ 이 글에서는 많은 분들이 알고 있는 멘토링 방식과는 조금 다를 수도 있는,이게 멘토링 맞아? 라고 할 수도 있는..…
해당 포스팅은 아래의 시리즈로 구성되어 있습니다. 시리즈대로 포스팅을 읽어주세요 💚 - Teamcity 를 사용한 Build Process 구성 방법 - Teamcity로 Docker Container Image를 ECR로 Push 하는 방법 - ECS Fargate 에서 Datadog…
안녕하세요. 더핑크퐁컴퍼니에서 프론트엔드 개발 업무를 맡고 있는 밸리 입니다.🐰 이번 글에서는 사내 백오피스 서비스에 프론트엔드 테스트를 붙이고, 마이그레이션한 경험을 공유 드리고자 합니다. userEvent에 대한 모든 API를 다루지 않습니다. 사용하면서 겪었던 어려움이나, 14로…
올-하 💚 안녕하세요! 올디브에서 프론트엔드 개발을 맡고 있는 주리랑입니다. 2022년 5월 올리브영에서는 개발자 대규모 채용을 하며 그야말로 공격적인 채용🔥을 진행중입니다. 현재도 좋은분들이 올디브 구성원으로 합류를 해주시고 계시는 만큼 채용을 하며 다들 궁금한 사항이 많을 것으로 생…
신입 백엔드 개발자 혼돈의 파일럿 프로젝트 돌아보기 (feat.정산플랫폼팀) 안녕하세요. 이제 막 파일럿을 끝내고 정산플랫폼팀에 합류한 신입 개발자 김윤정입니다. 길고 고되지만 재밌었던 우아한테크코스 교육을 끝내고 마침내 우아한형제들에 입사하게 되면서 행복 시작인 줄 알았지만…😅 듣기만…
불변 객체와 immer 불변 객체 불변 객체가 뭘까? 간단히 말해서 생성 후에 상태를 바꿀 수 없는 객체를 말한다. 그럼 상태도 바꿀 수 없는 객체를 왜 사용할까? 여러 장점이 있지만 그중 몇 개만 적어보면 상태를 바꿀 수 없기 때문에 동시에 여러 곳에서 사용하더라도 해당 객체를 사용하…
SolidJS와 함께 되짚어보는 반응형 프로그래밍 들어가며 최근 몇 년 사이 반응형 프로그래밍(Reactive Programming)이라는 개념이 웹 프런트엔드 개발 분야에 많이 스며들었다. Vue.js가 대표적으로 반응형 프레임워크로 알려져있으며, 최근에는 Svelte가 많이 언급되고…
서비스 개발하다 오픈소스 기여한 썰 (1) 안녕하세요. 아이엠티처팀 신승엽입니다. 오늘은 서비스 개발을 하다가 오픈소스에 기여한 썰을 풀어보려고 합니다. 바로학습AI 먼저 개발한 서비스에 대해 소개하겠습니다. 이번에는 "바로학습AI"라는 서비스를 개발했습니다. 바로학습AI는 기초학습능력…
서비스 개발하다 오픈소스 기여한 썰 (2) 지난 이야기 - 바로학습AI 서비스를 개발하는데 학습지 미리 보기를 보여주어야 하고, 인쇄도 하고, 다운로드도 해야 했다. - 문제 1: 미리 보기를 보여주어야 하며 정확히 인쇄해야 한다 - 종이 매체를 위한 CSS 스펙과 paged.js 라이…
서비스 개발하다 오픈소스 기여한 썰 (완) 지난 이야기 - 바로학습AI 서비스를 개발하는데 학습지 미리 보기를 보여주어야 하고, 인쇄도 하고, 다운로드도 해야 했다. - 문제 1: 미리 보기를 보여주어야 하며 정확히 인쇄해야 한다 - 종이 매체를 위한 CSS 스펙과 paged.js 라이…
안녕하세요, 여러분! 인턴십에 지원하기 딱 좋은, 맑고 기분 좋은 날입니다! 많은 분들이 성원해 주신 덕분에, 이번 2022 Kakao Tech Internship for Developers 설명회가 무사히 마무리되었습니다. 이번 설명회가 지원자분들께 조금이나마 도움이 되셨기를 바라며…
안녕하세요! 이번 포스팅에서는 4.16(토) 에 진행된 Tech 인턴십 설명회 중 Server 분야에 대한 내용을 담아보았습니다. 인턴십 Server 분야 모집에 관심이 있으셨지만 아쉽게 설명회를 놓치신 지원자분들께 알찬 콘텐츠가 되었으면 좋겠습니다. :) 서버 분야는 콘텐츠플랫폼개발…
- blog Client 기술, 어떤 직무가 나에게 딱 맞을까? 안녕하세요! 지난 4월 16일, 현재 카카오에서 모집 중인 2022 여름 인턴십의 직무들을 자세히 소개하는 시간을 가졌는데요, 이때 부득이한 일정으로 참석하지 못한 분들을 위하여 중요한 정보만 쏙쏙! 전달드리려고 합니다.…
데브시스터즈에서는 React 기반의 GatsbyJS를 이용해 웹 사이트를 관리하고 있으며 한국어 외에도 다양한 언어를 지원하고 있습니다. GatsbyJS를 이용한 React 웹 애플리케이션에서 Gatsby API와 React를 이용해 **l10n(localization, 지역화)**를…
모던 프론트엔드 프로젝트 구성 기법 - 모노레포 개념 편 - 등록일 - 2022.04.18 - | - 코멘트 - 80164 새로운 프로젝트를 설계하거나 기존 프로젝트가 성장하면서 규모가 커질 때 우리는 효율적인 프로젝트 구조를 고민합니다. 핀포인트 프로젝트의 프론트엔드 구조를 개선하면서…
[모집] 2022우아한테크캠프 5기 우아한개발자가 되고 싶은 분들을 위한 우아한테크캠프 5기 모집이 시작됩니다! 우아한테크캠프는 여름 방학기간을 활용해 진행되는 채용 연계형 교육 프로그램입니다. 교육은 온/오프라인 병행으로 계획하고 있으나, 사회적 상황에 따라 안전하고 유연한 교육방식을…
리액트 커스텀 훅을 테스트하는 과정 최근 협업 도구인 Dooray! 개발을 담당했었다. 두레이에서는 현재 웹 리뉴얼 작업과 함께 타입스크립트와 리액트 프레임워크로의 전환을 진행하고 있다. 이 과정에서 사용하게 된 커스텀 훅과 이를 테스트 라이브러리인 testing-library를 사용해…
사용자 입력 텍스트를 바이트(byte) 길이로 제한하는 Vue 컴포넌트 만들기 스펙 소개 NHN Cloud 서비스를 이용하기 위한 관리 도구인 Console 웹 애플리케이션의 프런트엔드 개발 중 사용자가 입력한 글자를 100바이트 길이로 제한하는 컴포넌트 구현이 필요했다. NHN Clo…
Yarn berry workspace를 활용한 프론트엔드 모노레포 구축기 안녕하세요 우아한형제들 딜리버리프로덕트실 DH로컬라이징스쿼드 입니다. 저희 조직에서는 백오피스 애플리케이션, 크로스플랫폼 모바일 애플리케이션 등 다양한 프론트엔드 프로덕트들을 개발, 운영하고 있습니다. 이 글을 통…
안녕하세요, 광고추천데이터플랫폼파트에서 데이터 엔지니어로 일하고 있는 cory입니다. 저는 광고추천팀에서 카프카 기반 스트림 데이터 플랫폼을 만들고 운영하고 있습니다. 광고추천팀에서는 광고 로그(impression, click, conversion 등)를 원천 데이터로 사용하여 개인화된…
저희는 주기적으로 Node.js 모듈을 최신 버전으로 업데이트하고 있습니다. Node.js를 10년째 사용 중인데, CoffeeScript → TypeScript, 콜백 → Async.js → Promise(& async, await) 전환 하면서 몇 번 혼란의 시기가 있었습니다. 하지…
- blog 2022년 여름! 카카오 인턴십과 함께해야 할 특별한 이유 5가지 안녕하세요, 어느덧 2022 카카오 여름 인턴십이 돌아왔습니다. 많은 분들이 기다리고 계셨을 텐데요! 인턴 크루로 입사하시는 예비 크루 분들에게 많은 경험을 제공해 드리기 위해 현업에서 열심히 준비하고 있습니…
JavsScript 의 런타임에러가 프론트엔드 개발자들을 오랫동안 괴롭혀 온 것 같이, RESTful API 의 잘못된 사용으로 인한 런타임 오류는 프론트엔드 개발자들의 오랜 골칫거리였습니다. 어쩌면 여전히 많은 개발팀들이 가지고 있는 문제일지도 모르겠습니다. 특별히 API 의 잘못된…
뱅크샐러드 안드로이드 개발자는 높은 복잡도를 가진 서비스를 설계 및 구현하며, 실험을 통해 제품 기능과 성능을 개선합니다. 또 다양한 도구를 활용해 안드로이드 앱의 성능과 품질을 최적화하는 것에 집중하는데요. 뱅크샐러드 내에서 탄탄한 제품 개발을 지속할 수 있도록 다양한 인프라를 구축하…
[CLOVA] 사람을 위한 AI를 만드는 사람들 - 백엔드 엔지니어 정미니 님 - 등록일 - 2022.03.24 - | - 코멘트 - 10217 클로바 엔지니어링 블로그에 올라온 클로바 백엔드 엔지니어 정미니 님의 인터뷰를 공유합니다. AI 모델과 사람의 연결고리를 더 많이 만드는 데…
- blog [Ka-reer Up!] 카카오 콘텐츠의 시작 “카카오 하모니" 하모니개발파트 이야기 내가 하고 있는 직무가 FE라면 주목! 이젠 카카오에 올 시간입니다. 카카오에서 3년 차 이상의 경력자를 대상으로 4월 11일까지 집중 영입을 진행합니다. [하모니개발파트 FE 공고 보기]…
- blog [Ka-reer Up!] 카카오 광고의 중심에 함께 할 Android 개발자를 기다립니다! 카카오 광고개발팀은 카카오 검색/디스플레이 광고 시스템과 광고 트래픽을 책임지고 관리/운영하고 있는 조직으로, 카카오의 광고 매출을 안정적으로 운영하기 위해 최고의 엔지니어가 함께 하…
- blog [Ka-reer Up!] 서비스와 개발자가 함께 성장하는 카카오 FE플랫폼팀입니다. 카카오 FE플랫폼팀에서는 함께 개발하고 성장해 나갈 크루(Krew)를 기다리고 있습니다. 전국민이 이용하는 ‘대규모 서비스’ 와 무엇을 상상하든 그 이상으로 유쾌한 ‘좋은 동료’ 들이 함께하…
개발 경험과 확장성. 두 마리 토끼를 잡기 위한 마이그레이션 경험기 Chanhee Lee — 이찬희 @hiddenest 로컬에서 빌드를 돌리다보면 느린 속도에 답답함을 느끼곤 합니다. 많은 이유가 있지만 하나만 꼽는다면 기능이 늘며 코드 베이스가 큰 폭으로 증가했기 때문입니다. 당장 서…
- blog 성장할 수밖에 없었던 2022 신입 공채 FE 크루들의 기술 온보딩 이야기 안녕하세요! 이번 2022 신입 개발자 공채로 입사한 커머스 FE개발파트 fleek(플릭)이라고 합니다. 저는 2022 신입 공채 프론트엔드 크루들이 경험한 6주간의 기술 온보딩에 대해서 소개하고자…
배민광고리스팅 개발기(feat. 코프링과 DSL 그리고 코루틴) 안녕하세요. 배민상품시스템팀에서 배민광고리스팅 을 만들어나가고 있는 박세종입니다. 배민광고리스팅 서비스는 배민앱의 큐레이션이나 배달탭의 한식과 같은 화면에 가게광고리스트를 제공하는 역할을 담당하고 있습니다. 사용자의 요청과…
Photo by Mariah Krafft on Unslpash 안녕하세요! 👋 카카오스타일 프론트엔드 챕터 소속 Jason(제이슨/황주성)입니다. 회사나 팀에서 개발하다 보면 한 번쯤은 거의 필연적으로 내부에서 사용하기 위한 패키지 저장소에 대해 고민해보게 됩니다. 오늘은 그 고민을 통…
안녕하세요. 인프랩 DevOps Engineer 선비입니다! 인프랩에 합류한 후 매일 다양하고 즐거운 경험을 하고 있습니다. 오늘은 그 중에서도 코드형 인프라(Infrastructure as Code, IaC)와 관련된 이야기를 해보려고 합니다. 작년 11월까지만 해도 IaC 도구로 A…
안녕하세요, 비즈인프라FE파트의 nina입니다. 지난 해 동료들과 함께 지식관리자센터 서비스의 프론트엔드 프로젝트에 E2E 테스트를 적용했습니다. 그 과정에서 테스팅 라이브러리 선정이나 테스트 단위 구성, Mocking 여부 등 다양한 문제들에 대해 파트 동료들과 함께 고민하면서 과제를…
JavaScript Symbol의 근황 얼마 전for...of 구문을 MDN에서 검색할 일이 있었다. 정의에 연결된 문서가 반복 가능한 객체 였는데, 여기서 Symbol.iterator 가 언급되었다. “Symbol 이 여기에서도 사용되었구나🤔” 하면서 생각해 보니 Symbol 에 대해…
가볍게 살펴보는 새로운 한/글 파일 포맷 HWPX 👀 이 글은 이런 분들이 가벼운 마음❤으로 살펴보세요. - 한/글 파일로부터 텍스트나, 이미지 등을 추출하는 업무를 맡아, 대략적 인 개념 파악이 필요한 분 - HTML 이나, 자체적으로 관리하고 있는 DB상의 정보를 한/글 파일로 가공…
들어가면서 SPA(Single Page Application) 구조로 웹 프론트엔드 애플리케이션이 개발되면서 초기 렌더링 속도는 프런트엔드 개발자에게 중요한 과제 중 하나가 되었습니다. 사용자 경험에 영향을 줄 수 있는 가장 큰 요소 중 하나가 바로 속도이기 때문입니다. 이번 개선은 W…
안녕하세요. 인증 스쿼드(Authentication Squad)의 엔지니어링 매니저(Engineering Manager) 하조은입니다. 아래의 글은 마이데이터 프로젝트를 회고한 제 블로그의 글을 옮겨온 것입니다. 프로젝트를 진행하며 했던 고민과 행동 그리고 아쉬웠던 점을 솔직하게 정리한…
- blog 2022 카카오 신입 공채 1차 온라인 코딩테스트 for Tech developers 문제해설 지난 2021년 9월 11일 토요일 오후 2시부터 7시까지 5시간 동안 2022 KAKAO BLIND RECRUITMENT 1차 코딩 테스트 가 진행되었습니다. 테스트에는 총 7개…
이번 글에서는 카카오스타일에서 Jotai를 어떤 식으로 사용하고 있는지 여러가지 패턴에 대해 설명하려고 합니다. Jotai의 기본 사용법은 간단합니다. useState로 정의하던 상태가 있으면, atom 메소드로 정의하고 useAtom을 써서 사용하면 됩니다. import { atom,…
카카오스타일은 React에서 상태 관리를 위해 최근에 Jotai를 도입했습니다. Jotai에 대해 소개하기에 앞서 Jotai에 다다르기까지의 과정에 대해 설명해보려고 합니다. 할일 관리 화면을 상상해봅시다. 초기 웹에서 보편적이였던 jQuery를 사용한다면, 할 일 추가를 위해 다음과…
우리는 왜 공통 라이브러리를 만들기 시작했나 들어가기 전 - 주의 1. 해당 글에서 나오는 고민과 선택, 결과 및 실행 방법이 모두 옳거나 최선이 아닐 수 있습니다. - 주의 2. 최대한 한글을 사용하였지만 의미 전달에 있어서 꼭 필요한 부분에는 영문 혹은 개발 용어를 그대로 사용하였습…
올-하 💚 안녕하세요! 올디브에서 프론트엔드 개발을 맡고 있는 주리랑입니다. 어느새 2021년이 지나고 2022년 새해가 찾아왔습니다. 2021년 한 해 모든 올디브 구성원들 그리고 올디브에 관심을 가져주시고 기술 블로그를 찾아주셨던 여러분 모두 감사하다는 말씀 드리고 싶습니다 :) 또…
뱅크샐러드에는 서비스 개발을 담당하는 Squad 소속 개발자와, 스쿼드를 지원하고 앱 전반을 담당하는 Engineering Foundation 소속 개발자분들이 계시는데요. 각자의 위치에서 고객에게 Impact를 주기 위해 노력하며 본인의 성장을 이끌어오신, 입사 1주년을 맞이한 주니어…