전체 글

공부 기록, 궁금했던 점 등 기록을 남깁니다.
카테고리 없음

[F-Lab] 백엔드 수료 완료 후기

F-Lab 부트캠프를 선택한 이유 올해 막 4년차 개발자로 접어든 나는 데이터 엔지니어링과 백엔드 개발 업무를 하며 커리어의 전환점이 필요하다고 느꼈다. 데이터 엔지니어링을 하면서 처음엔 즐겁게 몰입했지만 시간이 지나면서 점차 지루함이 찾아왔다. 그래서 백엔드 개발로 전환해보았지만, 처음의 설렘도 잠시 또 다시 반복되는 업무에 지루함을 느끼기 시작했다. 이런 반복된 권태로움 속에서 ’이것이 이직의 시그널인가?’라는 생각이 들었다. 하지만 현실은 만만치 않았다. 개발자 취업 시장은 소위 말하는 ‘채용 겨울’을 맞이하고 있었고, 채용 공고마저도 정체되어 있었다. 특히 백엔드 1년 반, 데이터 엔지니어 1년 반이라는 애매한 포지션의 나는 더욱 고민이 깊어졌다. 결국 남들과 차별화된 경쟁력을 갖추기 위해 기본부..

General/Essay

나는 어떻게 살았는가

2023년이 2개월도 채 남지 않았다. 2023년은 내게 정말 다사다난했던 한 해로 기억될 것 같다. 그 이유는 단순하다. 이직이라는 큰 이벤트를 두번이나 겪었기 때문이다. 개발자로 일한지 이제 겨우 1년 6개월이 된 내가 이직이라는 큰 산을 두 번이나 넘은 이야기와 앞으로 나는 어떻게 살 것인가에 대한 기록을 하고자 한다. 취준생 시절 대학생활 내내 한번도 쉬지 않고 달려왔던 나는 개발을 더 공부하고 싶었다. 당시 관심있었던 분야는 자연어 처리였다. 이유는 단순했다. 프로그래밍 언어는 인간이 만든 언어, 자연어는 아주 오래전부터 먼 과거의 선조들로부터 자연스럽게 만들어진 언어. 그런 자연어의 벽을 기계가 도전한다니. 마치 이카로스의 날개 같았다. 그런 게 정말 맘에 들었다. 신 혹은 자연의 알 수 없는..

Developement/Data Engineering 정보

pyspark 및 spark 꿀팁 정리(feat.Databricks)

컬럼에 한국어 사용하기 select sda.sell_daddr_id `배송ID` from dw.sell_deliy_addr sda `컬럼명`을 이용해서 한국어로 된 컬럼을 사용할 수 있음 데이터프레임 요약해서 보기 dbutils.data.summarize(데이터프레임) Dataframe 의 정보를 요약해서 보여줌 missing (결측치), mean, zeros, min, median, max 등등 여러 값도 한눈에 볼 수 있음 dbfs(DataBricks File System) dbutils.fs.ls("/") dbfs 에 위치하는 파일을 보여줌 이는 현재 S3 의 저 위치에 있는 파일의 정보를 보여줌 hive metastore 의 스키마는 어디에 위치하는가? 참고 url Databricks docume..

Developement/Data Engineering 정보

Data pipeline

정의 원천 데이터소스에서 데이터를 ETL 혹은 ELT 하는 일련의 프로세스 데이터 분석 혹은 ML 모델에 사용할 수 있도록 데이터를 추출하고 정제하기도 함 Data Warehouse 혹은 Data Lake 에 저장 상세 E (Extract) 데이터를 추출 원천 데이터에서 데이터를 가져옴 테이블 자체를 가져올 수도 있으며 이진 로그(Bin log) 를 이용해서 가져올 수 있음 이진 로그는 CDC(Change Data Capture) insert, update, delete 가 일어난 행위를 기록해두고 있음 T (Transform) 추출한 데이터를 변환하는 과정 비정규화를 거칠수도 있으며 분리할 수도 있음 L (Load) 추출하고 변환한 데이터를 Data Warehouse 나 Data Lake 에 저장함 전..

Developement/Data Engineering 정보

Data Warehouse vs Data Lake vs LakeHouse

Data Warehouse 정의 주로 테이블 형태의 정형 데이터가 있는 데이터 관리 시스템 원천 데이터를 ETL(Extract, Transform, Load) 혹은 ELT 과정을 거쳐 저장해두는 곳 Data Mart 특정 비즈니스 영역이나 사용자 그룹을 위한 데이터의 집합 데이터 웨어하우스의 하위 집합 데이터 웨어하우스에서 데이터 마트를 생성하여 특정 부서나 팀에게 데이터를 제공하는 형식으로 작동 RDBMS와의 차이점 주로 트랜잭션 데이터를 저장하고 관리 OLTP (On-Line Transaction Processing) Data Warehouse 는 OLAP(On-Line Analytical Processing) 즉 Database 는 CRUD 작업에 최적화 되어있는 행 기반의 데이터저장소 ex) My..

Developement/Data Engineering 정보

Databricks 와 Spark

1. Databricks 란 무엇인가? UC Berkeley 에서 Spark 를 만든 엔지니어들이 설립한 회사 Spark, Delta Lake, Auto ML 등등 LakeHouse Platform 서비스를 제공함 쉽게 말해서 Spark 등을 지원하며 클라우드 서비스 위에서 빅데이터를 이용한 서비스를 제공하는 웹 기반 플랫폼 2. 용어 살펴보기 2.1 Spark 데이터베이스 형태의 정형 데이터와 JSON 등의 비정형 데이터를 가지고 어떤 결과를 도출하기 위해 속도 및 확장성 등의 성능을 제공하도록 하는 오픈 소스, 분산 데이터 처리 엔진 특징 Hadoop 이 이전에 빅데이터 처리를 위해 사용되던 분산처리 프레임워크(Map Reduce) Hadoop 과 Spark 의 가장 큰 차이점은 동작방식 Hadoop..

General/Essay

어떤 일을 하고 싶은가?

개요 나는 이제 막 2년차에 들어선 주니어 개발자다. 올해 들어서 태어나 처음으로 이직도 하고 정말 많은 일이 있었다. 개발을 정말 좋아하고 이 일을 하면서 뿌듯함을 느끼는 건 변함없다. 그런데 앞으로 내 인생의 전부는 개발자로 살아가는 삶이 대부분일텐데 어떻게 커리어를 설계해나가야 할지, 공부할 건 정말 많은데 어떻게 그 우선순위를 정해야할지 정말 많은 고민이 들었다. 솔직히 처음 회사는 개발문화에서 정말 많은 실망을 하고 떠난 게 맞다. 나한테 PATCH 메소드가 뭐냐고 물어보시던 CTO님... 형상관리를 사용하지만, 모든 개발자가 main 브랜치에서 작업하고... 운영, 배포 과정이 파일 복붙이었던 곳이었다. 정말 어떻게든 벗어나려고 하는 거에만 초점을 맞추느라 중요한 걸 잊었다는 사실을 이제는 인..

General/Essay

[Book Review] 성장이란 과연 무엇일까? (유난한 도전 읽고나서)

계기 지금은 전직장이 되어버린 곳에서 작년 겨울 한 경력개발자 분이 입사하셨다. 그 분은 개발자로서 배울점이 굉장히 많았다. 어느 날 그 분이 읽고 있던 책 제목이 굉장히 특이해보여서 어떤 내용인지 여쭤봤다. 책 이름은 유난한 도전, 토스팀의 자서전 이라고 말씀해주셨다. 토스팀의 자서전이라니... 그렇게 퇴근하는 길에 바로 이북으로 결제해서 내 책장 속에 고이 모셔두었다. 물론 첫장에 토스의 창업자되시는 분이 의사라는 문장을 보자마자 처음엔 바로 그냥 덮어버렸다. 솔직히 의사정도라면, 어느 정도 집안의 재력이 있다는 걸 뒷받짐하는 거나 마찬가지이니 또 그저그런 성공기나 다름 없을 것 같다는 내 편견이 책페이지를 단단하게 잡고 있었다. 한 때 청소년에게 선물해주던 아프니까 청춘이다 라는 책이 지금은 하나의..

Developement/JVM

[Design Pattern] 싱글톤 패턴 (w. Java, Kotlin)

들어가기 전에개발자라면 한 번쯤 들어봤을 법한 싱글톤 패턴이란 무엇일까? 기술면접을 가면 꼭 한 번씩 물어보는 질문일 것이다. 면접관 : 디자인 패턴에 대해서 알고 있나요? 나 : 네, 깊게는 아니지만 간단한 개념정도는 알고 있습니다. 면접관 : 그럼 싱글톤 패턴이 뭐죠? 나 : 인스턴스를 오직 한 개만 제공하도록 하는 디자인 패턴입니다. 면접관 : 이걸 왜 쓸까요? 위와 같은 면접 흐름에서 많이도 뒤통수를 맞아본 기억이 많다. Spring 에서는 가장 핵심적인 원리라고 하는데 나는 그 부분이 잘 와닿지 않았다. 개발자로서 늘 왜? 라는 물음과 함께 지내는데 공식문서를 열심히 찾아봐도 블로그를 열심히 뒤져도 그런 내부 코드는 확인할 수 없었다. 실제로 코드로 봐야 아, 하고 와닿는 부분이 있을 텐데 그 ..

Developement/JVM

[Spring] 싱글톤 패턴이 왜 중요한 걸까?

계기 및 주제 최근에 인프런에서 백기선님의 GoF 디자인패턴 강의와 헤드 퍼스트 디자인 패턴 책을 잡기 시작했다. 가장 처음은 항상 유명한 싱글톤 패턴이었다. Spring 을 학습하는 백엔드 개발자라면 항상 듣는 게 Spring 의 핵심 원리는 싱글톤 패턴이라는 것이다. 그렇다면 싱글톤 패턴이 뭐길래 Spring 에서 중요한걸까? 그리고 싱글톤 패턴으로 Spring에서는 무슨 일을 하는 걸까? Spring 개발자 면접을 볼 때 디자인패턴에 대해서 물어본다면 대부분 싱글톤 패턴이나 팩토리 메소드 패턴을 물어본다. 대체 이 패턴이 Spring 에서 어떤 식으로 작동하기에 기본 개념처럼 물어보는 것인지 나름대로 몰입한 기록을 담아볼 예정이다. 그래서 싱글톤 패턴이 뭔데? 정의는 굉장히 간단하다. 객체의 인스턴..

rt.slowth
시행착오의 연속