AIB 섹션 4 데이터 엔지니어링 회고
데이터 직군에서 사용하는 기초 지식 배웠다. 데이터의 흐름을 배웠다고 말할 수 있다. 이걸 모든 데이터 직군이 기본으로 알고 있어야 하냐면 협업에서 기본 지식을 갖고 있어야 하고, 상황마다 투입되는 인원이 제한적일 수 있기 때문이다. 전체적인 큰그림은 아래처럼.
데이터 직군에서 사용하는 기초 지식 배웠다. 데이터의 흐름을 배웠다고 말할 수 있다. 이걸 모든 데이터 직군이 기본으로 알고 있어야 하냐면 협업에서 기본 지식을 갖고 있어야 하고, 상황마다 투입되는 인원이 제한적일 수 있기 때문이다. 전체적인 큰그림은 아래처럼.
비즈니스 측면 내가 만든 프로젝트 이용해서 돈을 어떻게 벌지 생각해보기. 문제 정의가 중요하다. 이 문제를 해결함으로써 어떻게 수익을 낼지로 이어져야 한다.
이번 스프린트/섹션 데이터 전문가의 공통역량에 대해 배움
csv, json 데이터 APScheduler로 저장 Parquet, Avro 데이터 압축 필요한 상황 스트리밍형과 배치 형 데이터 플로우와의 연관성 중 스케줄러와 시간의 중요성
데이터를 웹스크레이핑(Selenium)이나 API로 액세스 / 다운로드 Data acquisition timestamp 같이 표기 데이터베이스에 얻은 데이터 적재: NoSQL 데이터 정제 방법 고안 후 RDB에 적재 전체 과정 스케...
어떤 것의 보고서 만들 때 네 가지로 정리해볼 수 있다. 워드, 한글 같은 보고서 코랩 (DS) 웹 애플리케이션. 개발비용 지출 BI를 이용해서 데이터베이스와 연결해서 데이터 변경될 때 보고서 내용도 같이 업데이트. DA가 많이 쓰는데, DE, DS도 활용 가능해야...
정적 웹: 언제나 계속 똑같은 웹사이트를 보여줌. 동적 웹: php. html와 비슷함. 어딘가에서 데이터를 받아와서 웹페이지를 업데이트한다. 아이피: 고유주소. 전세계가 나누어 가져야 한다.
추가학습 Dockerfile Docker network docker-linux 컨테이너 관계 Kubernates 가상머신 docker inspect docker lifecycle
https://neltia.tistory.com/143 https://tech.kakao.com/2022/03/17/2022-newkrew-onboarding-codereview/
정형, 비정형, 반정형
API: how a program interacts with something. application programming interface. interface: 추상적인 단계에서 이야기를 할 때 사용되는 용어. 시스템 단계에서의 시스템의 입력값과 출력값의 모음. API는 앱 단계...
HTML hypertext markup language. 웹브라우저상 보여지도록 디자인된 문서. markup: annotation으로 문서에서 일반적인 텍스트와 구분된 것들로, 태그로 구조적으로 작성됨
키워드: 디버깅, pdb, pythonic, 함수, 클래스 design patterns
배운 내용 정리
키워드 Transaction, ACID
SQL 기초 문법
개발 환경 구축 시작
내가 무엇을 배웠는지 정리해보기. 면접에서 물어볼 수 있을텐데, 이걸 미리 정리해보면 좋을 듯. 스스로 풀어서 말할 수 있는 형태로.
실생활 속 알고리즘은 무엇이 있을지 dynamic programming(문제 해결을 위한 접근 방법 중 하나. 불필요한 계산 줄이기)에 대해 무엇을 이야기할 수 있을지. 즉흥적으로 문제에 접근해보기.
어떤 자료구조가 있을 때 내부 자료를 어떻게 확인할 것인가. 탐색방법이 다르다고 할 수 있다. 깊이 우선: DFS, 너비 우선 BFS; depth, breadth. 미로 생각해볼 수 있다. 트리구조에 DFS는 맨 끝 child까지 보고 그 다음 sibling. BFS는 parent...
그래프 자료구조의 파생, 왜 필요한지 노드와 노드가 연결. 두 노드가 왜 연결되는지, 어떤 관계가 있는지의 상황에서. 풀어서 얘기하자면 노드 즉 자료 구조 안의 항목들이 서로 복잡한 관계가 있을 때 서로를 연결해주는 자료구조이다. ...
컴퓨터에서 이진으로 나열되어 있는 것들을 어떻게 해석할 것인가
내 컴퓨팅 사고력이 달라졌을까 싶음. 논리적으로 사고를 해야 하는데, 그 사고하는 부분이 글케 많았나 싶다. 문제해결능력도 이론적으로 의사코드를 적어볼 수는 있고, 재귀나 divide-and-conquer도 방법도 배웠지만 이걸 크게 써먹어야 겠다는 생각은 막 와닿지는 않음. 많이...
복잡한 알고리즘의 특징 상용서비스에서 알고리즘 활용에 무엇을 생각해야 하는가 불안정한 알고리즘 알고리즘 사용에서의 필수 스킬: 배울 것은 많지만 필요에 따라 사용하는 것. 잘 판단해보기.
재귀와 기존 프로그래밍의 동작방식의 차이점 재귀는 재활용의 개념. 마지막 종료 조건 확인해서 끝내기 재귀를 통해 데이터를 다루는 방법은? 트리자료 대표 특징
내가 생각하는 자료구조 이제까지는 자료를 담아두는 형태 중 하나. 이렇게 사용하면 편하겠다 라고만 생각했었는데, 애초에 자료구조가 만들어진 이유가 특정 문제에 대해 자주 사용하면 편리한 구조를 가진 자료구조를 만들어서 확장해낸 것이군. 소...
예외처리 예시: 로그인할 때 잘못 된 아이디 비밀번호가 입력되었을 때 별도로 처리해줘야 한다. 이 부분이 예외처리. 좋은 웹사이트는 각 상황마다 드롭다운이 바뀐다. 좋지 않은 웹사이트는 일관적이지 않음.
프로그래밍의 효율성 판단 방법 목적에 알맞은 코드/자료구조 사용, 디자인 잘 된 코드 데이터 관련 소스코드에서 사용하는 알고리즘들을 찾아본 적이 있는가? 컴퓨터가 자료구저의 어떤 영향을 받는가 컴퓨터가 느려지는 이유와 알고리즘의 연...
object는 프로그래밍과 어떻게 연결이 되는가? 내가 작성한 소스코드에서의 함수의 영향력은 어느 정도인가? 클래스는 무엇을 위해 사용하는가? 객체, 클래스, 인스턴스의 차이는?
프로그래밍은 무엇인지 문제에 직면했을 때 그 문제를 해결할 전략은? 내 코드의 작성 목적과, 그 목적과 상관 없는 상황에서의 처리는? 예외처리 방법 중 코드 개선이 아닌 방법은?
데이터 과학자에게 필요한 우선순위란? 의사소통능력 데이터 직군으로 어떤 것을 계속 학습해야 하는지 내가 생각하는 프로그래밍은? 지금까지 학습/실습한 내용 중 프로그래밍이 얼마나 중요한가 생각하고 프로그래밍해보기. 고도화, 추상화, 효율성. 내가 결과를 도출하는 ...
딥러닝 제대로 배운 것도 없는데 끝남
정교한 이미지 분석을 위한 합성곱 신경망을 배워보자
문장 내 단어의 순서를 학습하기 위해 순환하지 않고 단어 하나씩 그대로 문장 파악
가로 출력에 더한 세로 순환
토큰을 임베딩해보기
자연어를 이용한 결과를 만들기 위해 기본적으로 어떤 것을 해야 하는지 배워보자
인공신경망의 성능을 더욱 높이기 위한 방법들을 알아보자
인공신경망 학습의 기본 요소들에 대해 배웠다
딥러닝 시작. 딥러닝의 기본 구조를 알아보자.
python class에 대해 배워보자
Section 2에서 진행한 아주 신.나.는. 프로젝트
지난 한 달 동안 배운 머신러닝 라이브러리
지난 한 달 동안 머신러닝에 대해 배웠다. 배운 내용을 복기하면서 정리해보도록 하겠다.
프로젝트 정리는 필수. 내가 진행한 프로젝트를 설명할 수 있어야 한다. 프로젝트 이름만으로 상대방은 이해할 수 없다. 그리고 나조차 내 프로젝트를 설명 못 한다면 나도 모르는 것. 그리고 기업은 내가 돈을 벌어다 주어야 하기 때문에 비즈니스 측면에서의 설명은 필수다. 그리고 비즈니...
취업 역량 강화해보기.
GitHub Blog 서비스인 github.io 블로그 시작하기로 했다.
데이터 직군에 있어서 필요한 기본 스킬: 데이터를 다루는 기술들이다. 가장 기본적으로 파이썬의 Pandas, Numpy, Matplotlib가 있다. 이를 활용하는 방법을 배워보기. 이를 통해 EDA를 배운다.
의사소통과 문서화 실력을 길러보자