0. 알아두기 - AWS람다란? AWS에서 제공하는 서버리스 컴퓨팅 서비스. - FFmpeg란? 모든 동영상, 음악, 사진 포맷들의 디코딩과 인코딩을 목표로 만들어지고 있는 오픈 소스 프로젝트. 1. 사전준비 1) https://johnvansickle.com/ffmpeg/ 접속 2) ffmpeg-release-amd64-static.tar.xz 다운로드 (240303기준 6.1버전) 3) 압축풀고 들어가서 ffmpeg-6.1-amd64-static 파일 이름 ffmpeg 변경 후 zip 압축 (여기서 이름 변경 안 하고 압축한 뒤 이름 바꾸면 람다 /opt 에서 쓸때 애먹음) 4) ffmpeg.zip s3 업로드 2. aws lambda 접속 1) 좌측메뉴 '계층' 버튼 클릭 => ffmpeg 이름으로..
2023년의 하반기가 지났다. 개발자가 되고 쓰는 12번째 회고를 시작해 보자! 장애를 넘어라 💪 상반기 회고에서 5월 31일(수)에 발생한 데이터베이스 장애를 대청소(Vacuum) 방법으로 해결해 냈다고 적었다. 하지만 분석해 보니 현 상태로 그대로 두면 2~3개월 뒤에 또 같은 문제가 발생할 확률이 높아 보였다. 그래서 데이터베이스의 성능개선을 목표로 '불필요한 로직 개선', '슬로우 쿼리 개선', '부하 쿼리 개선' 등이 진행했다. 새로운 개념으로 접근한 부분이 "개별적으로는 빠르지만 호출이 많아 서버 전체적으로 부하를 주는 '부하 쿼리' 들을 어떻게 하면 개선할 수 있을까"였다. 대표적으로 초당 140회 호출되는 '기능플래그 조회' 쿼리가 12밀리초 정도 걸리고 있었다. 12밀리초면 0.012초이..
2023년의 상반기가 지났다. 항상 그래 왔듯이 회고해 보자.1. 팀에 대하여 고민하기 🤔 개발자로서 개발 역량을 키워야 하는 것도 맞지만 회사를 위해서는 '리더'로서의 역량을 키우는 것도 또한 중요한 시기라고 느꼈다. 개발 키워드뿐만 아니라 '리더, 팀'이라는 키워드에도 계속 관심을 가졌다. 어떻게 해야지 우리 팀이 보다 더 잘 해낼 수 있을지 계속 고민했다. 순간순간 정답을 찾기 어려운 주제들은 계속 고민해 보려고 메모해두기도 했다. 메모라긴 해도 생각 정리도 같이 적어둔 거라 하나하나 내용이 꽤 된다. 아주 간단하게 한 문장으로만 툭 던져보면 다음과 같다.중간관리자가 최종관리자에게 공유할때 최종관리자가 이미 담당자에게 공유받은 것임에도 해야 하는 이유는 '반복공유'가 되기 때문이다. (반복 공유는..
네이버에서 진행하는 대표적인 개발자 컨퍼런스 DEVIEW를 다녀왔다. 처음에 컨퍼런스 존재 자체에 대해서도 모르다가 동료분들이 얘기해주셔서 선착순 신청 대열에 합류했다. 운이 좋게도 대상자가 되어 참가할 수 있었다. 쏘카, 네이버, 쿠팡 등 이벤트 부스를 비롯해 네 개의 세미나 장이 있었다. 그중 관심 있는 세미나를 골라 들었다. 아무래도 AI보다 자바스크립트, 웹, 검색 키워드에 관심이 더 간다. 참가한 세미나는 총 다섯 개로 아래와 같다. 자바스크립트 화이트박스 암호와 크롬 라인 메신저의 보안강화 - 안상환(LINE) 웨일 브라우저 오픈 소스 생존기 - 이형욱 (Naver Cloud) Noir : 메일 검색 서버를 반의 반으로 줄여준 신규 검색 엔진 제작기 - 이창현/신우진 (Naver Search)..
2022년 상반기에 회사 Git 브랜치 전략을 고민하고 개선했었고 그 내용을 정리해보고자 한다. 인트로 SVN에서 GIT으로 넘어온 지 2년이 지났고, 깃 명령어를 다루는 데 있어 많이 익숙해진 시점이었다. 하지만 개발자들이 늘어나고, 배포 주기도 짧아지고 엔터프라이즈 사업이 확대되면서 좀 더 전략적인 접근이 필요해졌다. 기준 삼을 전략을 찾아보던 중 Git Flow 전략과 Github Flow 전략을 만났다. Github Flow 전략을 활용하기엔 테스트 자동화 등이 잘 준비되어있지 않았다. 그래서 Git Flow 전략을 기준 삼고자 면밀하게 들여다보게 되었다. 이때, 우아한 형제들의 '우린 Git-flow를 사용하고 있어요'를 많이 참고했다. Git Flow 는 무엇인가? Git Flow 전략은 fe..
2022년의 하반기가 지났다. 항상 그래 왔듯이 회고해 보자. 1. 이직과 성장 하반기가 시작하자마자 큰 소식을 듣게 되었다. 그것은 입사 동기이자 친분이 두터웠던 개발자의 이직 소식이었다. 큰 소식이긴 했으나 갑작스러운 소식이 아니었고, 더 좋은 곳으로 나아가는 것이었기에 응원했다! 회사가 성장한다 해도 개인에게 성장했느냐 물어본다면 개인마다 다른 답을 낼 수 있다. 그것은 정말 개인의 성장 정도 때문일 수도 있지만 개인이 원하는 성장의 방향, 기준 등에 따라 다를 수 있다. 나에게 성장했는가 물어본다면 부끄럽지만 성장했다고 답하고 싶다. 같은 과제라도 과거보다 지금 더 잘 해낼 수 있다고 느낀다. 대중적인 기술에 대해 갈증을 느끼긴 하지만 회사 규모가 성장하면서 전반적인 이슈들을 겪고 고도화해나가는 ..
서비스에 카카오톡 공유하기를 구현하기가 목표였다. kakao developers API 사이트에서 '메시지 - 카카오톡 공유' 문서를 읽고 구현하는 데까지는 어렵지 않았다. 다만, 환경이 typescript 환경이다 보니까 Kakao.Share 선언부에 타입 에러가 나고 있었다. 타입 처리를 해주기 위해 공식 문서를 뒤졌지만 공식 @type 모듈을 찾지 못했다. 공식 타입스크립트 사이트에서 찾아보았다. 가장 스타가 높은건 react-native 용이었고, kakao-sdk가 그다음에 쓰기 적절해 보였지만 cordova 용이었다. 환경에 맞게 보자면 vue-kakao-sdk 가 맞겠다 싶어 들여다보았고 찾은게 @types/kakao-js-sdk 였다. 허나, 이것도 Kakao.Link 구버전에만 대응이 되..
고민의 시작 사이드 프로젝트의 프론트 프레임워크를 'Vue'로 정하고 열심히 개발 중에 있다. 그러던 중 고민이 생겼다. 'components가 비대해지는데 어떻게 폴더링 해야 하는가?' '컴포넌트별로 스켈레톤 로딩 화면을 만들려고 하는데 항상 1쌍씩 생기는데 어떻게 폴더링 해야 하는가?' 사이드 프로젝트의 기능 구현이 끝나면 위 부분을 꼭 정리하고 리팩터링 후 오픈해야겠다는 생각 했고 미리 정리를 좀 해두려고 한다. 현재 환경 vue3 - 기존의 vue2와 vue3는 굉장히 다르다. - vue3 내에서도 초창기에서 조금 더 발전해 script setup 방식을 권장한다. - 나 같은 경우에는 vue2 => vue3 => vue3 script setup 중에서 가장 마지막 방식으로 구현했다. vite -..