[Tensorflow 2.0] Subclassing 구현
- TensorFlow 2.0으로 베우는 딥러닝 입문 강의를 들으며 공부한 내용입니다.
복습 겸 입문 강의를 쭉 훑으면서 기초를 다시 다져보려 한다. Subclassing 코딩스타일을 익혀보자.
강의에 사용된 예제 코드는 이전에 다뤄본 MNIST 숫자분류 코드로 깃헙 주소는 아래와 같다. -> 여기!
복습 겸 입문 강의를 쭉 훑으면서 기초를 다시 다져보려 한다. Subclassing 코딩스타일을 익혀보자.
강의에 사용된 예제 코드는 이전에 다뤄본 MNIST 숫자분류 코드로 깃헙 주소는 아래와 같다. -> 여기!
SK 계열사 중 한곳에 지원, 지난 토요일 코딩테스트를 치뤘다. IDE는 후기에서 말한대로 Codility를 사용했다.
문제는 총 3문제였는데 첫 2개를 30분동안 다 풀고 마지막 1개를 결국 못풀었다… 아쉽다.. 느낌상 셋다 풀고 3번에서 효율성이 떨어지는 정도여야 통과일 것 같아서 마음을 비우고 있는 중이다.
어쨌든 이번이 첫 지원이니 너무 마음쓰지 않으련다. 다음 시험때 더 잘하면 되지. 그럼 의미에서 문제를 복기하고 헤맨 원인을 찾아보려 한다.
prefix sum은 부분합 배열을 의미한다. 개념은 단순하다
다음과 같은 배열 A가 있다.
A = [ 1, 4, 6, 3, 7, 9 ]
이때 배열 A의 prefix sum, 즉 부분합 배열 K는 아래와 같다
K = [ 1, 5, 11, 14, 21, 30 ]
상당히 간단한 개념이다. 고등학교 수학시간에 배웠던 것 같은데. 여튼 prefix sum의 장점은 구간의 부분합을 쉽게 구할 수 있다는 점이다.
즉, A[3] + A[4] + A[5] = K[5] - K[2]이다.
Codility사이트는 해당 Lessons관련 이론 pdf파일도 같이 제공해준다. pdf 파일이 굉장히 대학시절 알고리즘 교재에서 본것처럼 생겼다.
여튼 생짜로 머리에서 아이디어를 꺼내는 것 보다 이 관련 자료를 읽고 힌트를 얻어 문제를 푸는게 훨씬 유용한 것 같다!!
Lesson 3은 시간복잡도에 관한 예제들이다. 총 3문제!
코딩테스트를 준비할 일이 생겼다. Codility를 통해 공부하자. 어제 아주 기본적인 문제를 풀었는데 정확도가 80%밖에 되지 않았다 제길ㅠ 한창 코테 준비할땐 그래도 나쁘지 않았던 것 같은데… 계속하지 않으면 금방 까먹는 듯 하다.
난이도별로 여러개의 예제가 엄선되어 있어서 좋다. 백준의 경우에는 너무 많은 예제가 중구난방으로 있어서 뭘 풀어야 할지 감을 잡기 어려운데 그런면에서 훨씬 잘되어 있는 것 같다. 알고리즘에는 역시 C지! 익숙한 C언어로 풀어보자.
노드 공부하면서 ES6문법도 같이 공부하련다.
노드6부터 ES6문법을 사용할 수 있다. 인터넷 익스플로러같은 낡은 브라우저에서도 사용할 수 있도록 문법을 변환해주는 babel같은 도구도 있다!!
노드 서버를 만들 일이 생겼습니다. 700페이지짜리 두껍고 무서운 책을 한권 샀습니다. 이름도 무려 Node.js 교과서.
그래도 뷰 공부할때보다는 확실히 덜 막막하고, 서버는 처음 개발해보는거라 약간 설레는 마음이 있습니다.
구입한 책은 Node.js 교과서 - 길벗출판사 .
Node.js는 Chrome V8 Javascript엔진으로 빌드된
Javascript 런타임
이다.
스레드 하나에서 처리
되기 때문따라서 노드는
개수는 많지만 크기는 작은 데이터를 실시간으로 주고받는 데에
적합하다.
+) 노드에서 멀티스레드 사용이 불가능한건 아닌듯. 노드12에서 안정화된 워커스레드 기능으로 멀티스레딩 작업 가능하다고 한다.
+) 당연히 그래도 그냥 C++, Ruby, Go에 비해선 느리다.