[묘공단] 코딩테스트 스터디 2주차
[묘공단] 코딩테스트 스터디 2주차
2023.11.30이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편의 0장 ~ 4장 써머리입니다. 배열 개념 인덱스와 값을 일대일 대응해 관리하는 자료구조 인덱스만 알면 빠르게 탐색 가능 (Random access) 배열 선언 # 1차원 배열 vector = [0] * 6 # 2차원 배열 (e.g., 3 by 4 matrix) matrix = [[0] * 3 for _ in range(4)] 배열 차원 중첩 리스트 형태로 다차원 배열을 표현 가능 그러나 실제 메모리는 1차원 구조로 저장된다 또한 2차원 배열을 1차원 배열로 표현해서 풀이하는 문제도 꽤 자주 출제됨 matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] matrix2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] # 2행 ..
[묘공단] 코딩테스트 스터디 1주차
[묘공단] 코딩테스트 스터디 1주차
2023.11.20이직을 한 이후로 면접관으로 들어가기 전 문제 검토 때가 아니면 자료구조/알고리즘 공부를 따로 하지는 않았는데, 좋은 기회로 스터디를 진행할 수 있게 되어서 대학생 때로 돌아간 것처럼 바짝 열심히 해보려고 한다. 목표는 AtCoder 청록색 레이팅인데 그동안 머리가 많이 굳어서 정말 열심히 하지 않으면 쉽지는 않을 것 같다. 그래도 공개적으로 이렇게 적어야 바로 아래 단계까지라도 가능하지 않을까, 화이팅! 이 글은 골든래빗 코딩 테스트 합격자 되기 파이썬 편의 0장 ~ 4장 써머리입니다. 0장. 코딩 테스트를 준비하기 전에 타인의 풀이를 보면 사고의 폭을 넓힐 수 있다 더 나은 시간 복잡도 풀이, 또는 언어의 문법을 잘 활용한 간결한 코드 등 비단 코딩 테스트뿐만 아니라 우리는 다른 사람의 코드를 수없이..
[서평] 스태프 엔지니어
[서평] 스태프 엔지니어
2022.11.30길벗 출판사에서 책을 제공받아 작성된 서평입니다 소프트웨어 엔지니어 커뮤니티에 왕왕 올라오는 주제 중 하나로는 매니저 (또는 관리자)가 아니라 개발을 계속하고 싶어요가 있을 것이다. 우리가 흔히 아는 개발자의 커리어 패스는 신입부터 시작해서 개발 업무를 하다가 어느 정도 연차가 쌓이면 작은 조직의 팀장을 맡게 되는 경우이다. 하지만 조직에 팀장은 여러 명이 있을 필요도 없고, 특히 관리 업무가 익숙하지 않으면 본인이 잘할 수 있는 역량인 개발에 더 집중하고 싶은 엔지니어들도 많을 것이다. 내 첫 직장인 Coupang은 Manager와 IC (Individual Contributor) 트랙이 잘 나누어져 있어서 책에서 얘기하는 커리어 패스가 쉽게 이해되었지만, 다른 회사의 경우 책에서 얘기하는 스태프 엔지..
[서평] 실전 시계열 분석
[서평] 실전 시계열 분석
2021.12.26흔히 말하는 교과서의 전형적인 그리고 다소 인위적인 데이터 (설명을 위해서 다소 비약이 들어간 형태의)가 아니라 우리가 실생활에서 접하는 데이터는 크게 볼륨의 확장과 시간에 따른 변화가 큰 특징이라고 할 수 있다. 점점 더 큰 볼륨의 데이터를 수집하고 그것을 전처리하고 최종적으로 프로덕트에 녹이는 작업은 빅데이터라는 용어를 통해서 많이 알려졌지만, 시간이 지남에 따라서 그 때는 맞았지만 지금은 틀리것과 같은 시계열 데이터 처리에 대한 관심은 상대적으로 덜했던 것 같다. 점점 더 사람들의 니즈가 변하고 비지니스가 빠르게 변하는 만큼 시계열 데이터 분석에 대한 중요성은 더 강조해도 지나침이 없고, 해당 책은 시계열 분석에 대한 어느 정도의 이론을 안다는 전제하에 실제 프로그래밍 언어로 어떻게 분석하는 지 설..
[서평] fastai와 파이토치가 만나 꽃피운 딥러닝
[서평] fastai와 파이토치가 만나 꽃피운 딥러닝
2021.09.22대부분의 딥러닝 관련 코스의 시작은 기본적인 선형대수, 확률통계 지식으로 시작해서 선형회귀, 로지스틱 회귀를 거쳐 MLP, CNN, RNN과 같은 순서로 진행하는 것이 일반적이다. 이런 바텀업 방식의 교습은 어느 정도 궤도에 오른 사람 또는 백과사전식으로 레퍼런스를 찾아볼 때는 유용하지만 소프트웨어 엔지니어가 익숙한 방식은 아니라고 생각한다. 소프트웨어 엔지니어는 코드를 이렇게 저렇게 바꿔도 보고, 코드를 일부러 동작하지 않게도 만들어가면서 동작 원리를 파악하는 접근 방식에 대체로 익숙한 경우가 많다. 이 책은 이런 소프트웨어 엔지니어들이 딥러닝 애플리케이션을 탑다운 방식으로 배울 수 있도록 구조화되어있다. 동명의 코스웍이 굉장히 유명한데 ( https://course.fast.ai/ ) 그것을 책으로 ..
[서평] 리눅스 입문자를 위한 명령어 사전
[서평] 리눅스 입문자를 위한 명령어 사전
2021.08.22대부분의 컴퓨터 사용자들이 GUI 환경에 익숙해져있는 2021년이지만, 소프트웨어 엔지니어는 여전히 까만 바탕의 Terminal 환경에서 작업할 일이 많다. 주기적인 배치 작업을 위한 Crontab이나 심볼릭 링크 등 사전에 알고 있었다면 일의 효율성이 높아지는 유용한 명령어들이 다수 존재한다. 이 책은 그런 유용한 명령어들을 말 그대로 사전식으로 정리해놓은 책이다. 책 내용 자체는 아주 기본적인 명령어부터 생각보다 고급 명령어 (나도 처음 보는 명령어들도 꽤 있었다)까지 망라하고 있으며, 단순히 사전식 나열이 아니라 필요하다면 운영체제 개념 (프로세스, 스레드 등)도 짤막하게 같이 소개하고 있는 점은 독자들이 기본 개념을 리마인드하기에 아주 적합한 구성으로 보인다 다만, 책의 두께가 생각보다 두꺼운 편..
[서평] 파이썬으로 살펴보는 아키텍처 패턴
[서평] 파이썬으로 살펴보는 아키텍처 패턴
2021.06.20한국에서의 Back-end 개발은 타국가와 다르게 Spring 프레임워크에 굉장히 의존적인 것이 특이사항이라고 볼 수 있다. 전자정부프레임워크를 위시한 Java Spring 기반의 엔지니어가 2000년대 초반부터 많았기 때문에 유지보수도 용이하고 성능 측면에서도 나쁘지 않은 Spring 프레임워크가 대세가 될 수 밖에 없었다고 생각한다. 당연히 그에 대한 영향으로 각종 기술서적 역시 Java와 Spring 기반으로 한 책들이 많을 수 밖에 없었다. 위 책의 아키텍처나 TDD, DDD와 같은 책도 현재 한국에서 출간된 서적 중 많은 비율은 Java와 Spring을 대상으로 설명하고 있다. 그러나 2021년 기준, 스타트업처럼 빠르게 프로덕트를 만들어야하거나 규모가 있는 회사에서도 린하게 움직이기 위해 Sp..
[서평] 쓰면서 익히는 알고리즘과 자료구조
[서평] 쓰면서 익히는 알고리즘과 자료구조
2021.05.23최근 개발자 채용이 늘어나면서 덩달아 많은 관심을 받게된 컴퓨터 과학의 한 갈래는 단연 자료구조와 알고리즘일 것이다. 대부분의 기업에서 코딩 테스트를 여러가지 목적으로 필수적으로 진행하고 있기 때문에 테스트에서 활용하는 자료구조와 알고리즘은 취업 준비생 또는 이직을 준비하는 사람들에게 필수불가결한 내용이 되었다. 단순히 자료구조와 알고리즘에 대해서 다루는 것이 아니라 아예 코딩테스트를 타겟으로 출판된 책들도 다수 있다. 그러면 기존에 출판된 코딩테스트 대비 또는 자료구조/알고리즘 책과 본 도서의 차이는 무엇일까? 책에서 다루는 주제는 기존의 출판된 책들과 크게 다르지 않거나 오히려 책의 두께가 얇은 편이므로 일부 빠지는 내용도 있는 것으로 보인다. 물론 자주 출제되는 유형은 대부분 다루고 있으므로 그 부..
[서평] 친절한 딥러닝 수학
[서평] 친절한 딥러닝 수학
2021.04.18이전 서평에서 잠깐 언급했었지만, Python 언어의 인기 상승에는 Deep Learning의 유행이 크게 기여했다고 생각한다. 유행에 따라 많은 소프트웨어 개발자와 학생들이 Deep Learning 공부에 시간을 투자하기 시작했고, 가장 처음 어려움을 맞이하는 부분이 '수학'이었을 것이다. 분명히 세부적인 벡터의 내적, 합성함수의 미분 등은 고등학교 또는 대학교에서 어렴풋이나마 배우고 지나갔을 텐데, 이것을 엮어서 Deep Learning이 학습하는 과정을 '수식'으로 압축해서 설명하면서 어려움을 겪었던 경험은 나를 포함해서 다들 있었을 것이라고 본다. 이런 어려움으로 인해서 수학적 이해 없이 단순히 TensorFlow, PyTorch 같은 라이브러리를 단순 사용하게 된다면 내가 풀고자 하는 도메인의 ..
[서평] 진지한 파이썬
[서평] 진지한 파이썬
2021.02.212021년 기준 파이선은 가장 인기 있는 입문자용 프로그래밍 언어라고 할 수 있다. 간결한 문법 체계와 풍부한 표준 내장 라이브러리, 그리고 커뮤니티는 프로그래밍에 익숙하지 않은 사람이라도 빠르게 애플리케이션이나 서비스를 구현할 수 있을 정도이다. 특히 TensorFlow를 위시한 Deep Learning의 인기와 취업 준비생의 코딩 테스트에서의 파이선 선택자의 좋은 성적이 여러 파이선 입문서, Deep Learning, 그리고 코딩 테스트를 다루는 서적의 출간에 많은 영향을 줬다고 생각한다. 이 책은 위와 같은 인기와는 조금 다르게 어떻게 파이선 기반의 'Product'를 더 잘 만들 수 있을지에 대해서 다루고 있는 책이라고 생각한다. 이러한 유형의 도서 중 하나는 Effective Python인데 해..
데이터 엔지니어의 2020년 회고
데이터 엔지니어의 2020년 회고
2020.12.302020 회고 올해도 어김없이 반성과 내년에 대한 준비를 위한 이 시간이 돌아왔습니다. 4년째 회고 글을 작성하지만 100% 만족스러운 적은 없었던 것 같네요. 올해도 역시 아쉬운 점들이 많이 있었지만, 반대로 생각하면 더 발전할 수 있는 여지가 남았다고 위로하며 2020년 회고를 시작해봅니다. 매년 포맷이 조금씩 달라지는데, 올해 회고는 몇 가지 소주제별로 나눠서 정리해봤습니다. COVID-19와 원격 근무 올해 회고라면 역시 COVID-19를 제외하고는 얘기하기 어려울 것 같다. 글을 작성하는 2020년의 끝자락에서도 매일매일 심각하게 확진자가 늘어나고 있고, 해외의 사정도 크게 다르지 않아 더욱 걱정되는 바이다. 화제를 돌려서, 올해 1월 초에 입사했는데 정확한 수치는 모르겠지만 회사에 출근한 날보..
데이터 엔지니어의 2019년 회고
데이터 엔지니어의 2019년 회고
2019.12.312019년은? 항상 회고 글은 작년 글을 작성한 것이 엊그제 같은 데라는 말로 시작하는 것 같습니다. 1년이 또 이렇게 쏜 화살처럼 지나갔네요. 2019년은 많이 행복했지만, 정신적으로는 꽤 힘든 해였습니다. 우선 1분기를 제외하고는 각 프로젝트의 산출물을 실제 Coupang의 실제 서비스에 반영해서 고객 경험을 향상할 수 있었던 것은 결과적으로는 꽤 행복했습니다. 그러나 시간 관리를 잘하지 못했고, 생각지 못한 업무 역할의 변경이 있으면서 엔지니어로서 목표했던 공부량을 많이 채우지 못한 것이 가장 아쉽습니다. 엔지니어로서는 아쉬웠지만, 프로젝트 Lead를 하면서 아키텍처 설계, 우선순위 조정, Task 할당 등 그전까지 신경 쓰지 않았던 부분도 많이 배울 수 있었습니다. 1분기 가장 놀랄만한 소식은 역..