성공은 운
·
💭 경험&생각
토스 창업가:이승건 리더님의 연사를 듣고 본 포스팅을 작성하고 있다.최근에 성장과 방향성 관점에서 개인적으로 고민을 많이하고 있는 중이였다. 지난 시간동안 개발자로서 프로덕션을 만드는 조직에 속해서, 여럿 활동을 했었다. 방향성 이슈로 해당 여정이 중단되었다. 그렇게 방황하던 중 인상깊게 본 연사가 있어 이번 포스팅으로 공유하며 개인 생각과 주관을 정리했다. 성공은 운이승건 리더는 성공은 운이라고 말한다. 사업의 성장도 운이고, 자신이 설립한 토스회사도 운 덕분에 이뤄졌다고 한다.창업가로써 성장하는 비결은 운이라고 과감하게 말한다. 그럼, 운이 사업이라면 타고난 사람만 사업을 하는걸까? 라고 질문이 생긴다.이에 대한 답으로 이승건 리더께서 "모든 성공은 운 99%의 운이며, 이를 부정할 수 없는 현실이다..
6개월의 여정:THE END
·
💭 경험&생각
군 전역하고, 작년 12월부터 백엔드 리딩 개발자로 약 6개월간 활동했다.프로젝트보다, 스타트업에 가까운 조직이였기에 여태까지 진행해왔던 작업들과 많이 달랐다. 그래서, 매주,매월마다 요구되는 사항들이 있고, 개발도 체계적인 프로세스가 없고 리딩이였던 내가 이전에 개발된 리소스를 체계를 구축하는 작업이 거의 메인이였다. (누가 보면, 하찮은 작업이지만..) 백엔드 개발지식과 프로젝트 관리에 대한 이해도가 높은 편이 아니지만, 일단 나는 해보자 라는 마인드로 이번 프로젝트에서 정말, 최선을 다해 활동했다. 시간이 많이들더라도, 내가 어떠한 프로덕션을 만들어 보자라는 마음가짐으로 20대 초반의 그러한 열정을 갈아넣었다. 하지만, 스타트업 도메인이라는 제약사항으로 프로젝트 개발이 중지되는 상황이 초래되었다. ..
Cursor AI 사용기
·
💭 경험&생각
필자는 본 글을 통해 처음으로 프론트엔드 개발을 수행하며, Cursor AI를 도구로 삼아 경험한 개발 과정과 그에 대한 사적인 생각을 정리하고자 한다. 이는 엄격한 형식에 얽매이지 않은, 일종의 사고 흐름 기반 기록이자, 생산성과 사고 전환에 대한 탐색적 글쓰기임을 밝히며 시작하고자 한다.프로젝트 단위 개발과 문서화의 부담기존 프로젝트 기반 개발은 필연적으로 많은 시간과 자원을 요구하는 구조였다. 프레임워크(React, Spring Boot 등)의 아키텍처나 컨벤션을 충분히 이해한 후에야 각자의 역할을 수행할 수 있었으며, 개발자 간 협업을 위해선 각종 컨벤션 문서를 명확히 정리하고, 그것을 공유하는 “문서화” 과정이 선행되어야 했다.이는 단지 기능을 구현하는 차원을 넘어, 설계와 협업의 기반을 마련하..
[AWS] 클라우드 아키텍처, 왜 복잡한 걸까?
·
백엔드 개발
들어가며“EC2 하나면 되지 않아?”라고 생각한 적이 있는가? 아마도 클라우드 서버를 처음 다뤘을 때 누구나 한 번쯤은 그렇게 느꼈을 것이다. 하지만 어느새 서비스가 성장하면서 트래픽이 급증하고, 배포 실수 한 번에 서비스가 멈추고, 보안 이슈가 현실이 되는 시점이 찾아온다.그제야 깨닫는다. 클라우드 설계는 단순히 서버 하나 띄우는 문제가 아닌, 복합적인 문제들에서 최선의 균형점을 찾는 행위이다.클라우드 설계란, 균형의 기술클라우드 인프라는 다양한 요소들의 조합이다. 그중 어떤 요소를 강조하느냐에 따라 완전히 다른 결과를 만든다.개발자 생산성: 빠르게 코딩하고 배포하는 환경은 시간과 비용을 절약한다. 특히 스타트업에서 중요하다.비용 최적화: 트래픽이 없을 땐 리소스를 줄이고, 있을 때만 확장되는 구조가 ..
[Spring Boot] HTTP 외부 Restful API를 RestTemplate로 처리하기
·
백엔드 개발
들어가며이전 시간에, Private EC2 환경에서 외부 API인, "네이버 로그인 API"를 호출할 수 있도록 구성했다.EC2 브라우저 -> 네이버 로그인 URL로 프록시 서버를 거쳐 리디렉션을 성공적으로 수행할 수 있었다.이번 시간에는 Private EC2에서 구동 중인 Spring Boot 서버가 외부 Restful API인, 네이버 로그인 API에 요청/응답을 보낼 수 있는 방법에 대해서 소개한다.로그인 성공 시 네이버 로그인 API 작동방식:미리보기클라이언트가 네이버 아이디, 비밀번호를 입력 후, 로그인을 성공적으로 수행했을 때, 네이버 API는 에 사전 등록된네이버 로그인 Callback URL로 인가코드:code, state 정보를 가지고 리디렉션을 수행한다.(code, state: 네이버 ..
[AWS] Private EC2에서 Oauth2.0 네이버 로그인 구현 ?!
·
백엔드 개발
들어가며Private EC2는 Private VPC Subnet 환경으로, 외부 인터넷 연결이 되지 않는다.이는, AWS Cloud에서, 가상 공간인 "VPC" 에서 Private Subnet을 구성하고, 내부에 공인 IP가 할당되지 않는 EC2 서버를 구축하는 방식이다. 외부 인터넷과 연결이 되지않고, AWS Cloud VPC 내부에만 생성되어 있는 Private EC2는 네이버 로그인 API와 같은 외부 API와 송신을 할 수 있을까? ? ?? ? 우리는 당연히, 이러한 의문점이 생긴다. 이번 포스팅은 이러한 의문점을 통쾌하게~ 해소되도록AWS Private EC2 아키텍처를 실제로 운영/관리하면서 네이버 로그인 API를 구현했던 과정들을 A부터 Z까지 설명한다.문제상황: 네이버 로그인 API 호출이..
[AWS] 스케줄러로 EC2 인스턴스 비용 절약하기
·
백엔드 개발
여는 글클라우드 인프라를 운영할 때 가장 중요한 요소 중 하나는 바로 "비용관리"이다.특히 AWS EC2 인스턴스처럼 사용량에 따라 과금되는 서비스는, 어떤 설정과 운영 방식을 선택하느냐에 따라 매달 지출이 크게 달라진다. 아래는 EC2 인스턴스의 한달 비용을 정리했다.t2.small$0.023/시간월간 예상 비용$16.79한달 서버를 중단없이 배포했을 때 비용이 $16.79이다. (한화 약, 24,429원) EC2 인스턴스는 시간당 과금 정책으로, 인스턴스 서버가 활성화된 시간 기준을 비용이 산정된다. 따라서 이번 포스팅에서는비활성화 시간대에는 인스턴스 서버가 다운되도록 설정해주는 AWS 스케줄러 서비스를 도입하여 비용절약하는 방법을 상세히 소개한다.1. Instance Scheduler 스택 설치 (..
[자료구조] 최적화의 기초, Big-O 시간복잡도
·
📚 스터디/알고리즘
여는 글개발자는 프로그래밍 언어를 이용해 사용자들이 편하게 이용할 수 있는 서비스 혹은 시스템을 개발하는 사람이다.이러한 서비스는 사용자의 "입력 데이터(Input)"를 받아, 내부에서 "적절한 연산 및 처리 (Processing)를 수행하고, 그 결과로 "출력 데이터(Output)를 제공하는 구조로 이루어진다. 이때 개발자는 "중간의 연산과정(Processing)"을 책임지는 사람이다. 예를 들어, 사용자의 요청이 언제, 어디서, 어떤 조건으로 주어지든지 간에, 그 상황에 맞는 정확하고 빠른 처리 로직을 만들어내는 것이 개발자의 역할인 것이다. 개발은 서비스업과 다르다.일반적인 서비스업은 고객을 직접 대면하지만, 개발자는 사용자와 직접 마주치지 않는다. 대신, 사용자가 마주하는 것은 바로 개발자가 만든..
[Chat GPT] 탐구보다, 실행이 중요해진 시기
·
📚 스터디/인공지능
생성형 AI, 2022년 Chat GPT가 불러온 여파는 전세계적으로 이슈가 되었다. 3년이라는 시간이 흘러 지금은 일상생활 속 생성형 AI는비즈니스 서비스에 적용되어 우리의 일상에 자연스럽게 스며들기 시작하고 있다.필자도, Chat GPT를 적극적으로 사용한 시기는 2024년 말 군대 전역 후 였다. 아직까지는 AI가 일반 대중적인 사람들까지 직접적으로와닿는 서비스는 아니라고 생각한다. (아마, 전 인구 중 체감상 20% 정도 AI를 사용해 효용을 쌓고 있는 것 같다.) GPT가 지니고 있는 잠재적 기술은 아직 대중들에게 잘 알려지지 않은 것 같다.지난 6개월 간 GPT를 사용해 백엔드 개발직군으로 프로젝트를 참여했다. 필자는 스프링 부트 언어를 사용했고, 스프링 부트의 전반적인 이해도는 아예 없었다...
[CI/CD] self-hosted runner 기반 EC2 자동화 배포 구축하기
·
백엔드 개발
[CI/CD] AWS EC2 자동화 배포 파이프라인 구축하기실무환경에선 소프트웨어 개발(Development)과 ""운영(Operation)""이 결합되어있다.쉽게말해, 효율적이고 "지속 가능한" 소프트웨어 제공을 목표로 한다.(기업이 시장에서 생존하기 위해선,실적을 높ceo-uk22.tistory.com여는글프로젝트 초기에는 빠른 개발과 배포에 집중하기 위해, CI/CD 파이프라인을 AWS CodeDeploy 기반으로 구성했었다.빌드된 애플리케이션을 Docker 이미지로 변환하고,ECR 업로드 후 S3에 저장된 배포 스크립트를 토대로 EC2에 배포하는 구조였다.아래는 deploy.yml 스크립트 동작 요약이다.1. Spring Boot 애플리케이션 빌드  2. Docker 이미지 변환  3. ECR 업..