공부하고 기록하는, 경제학과 출신 개발자의 노트

분류 전체보기 499

머신러닝야학 2기 - Tensorflow 102. CNN

opentutorials.org/module/5268 Tensorflow 102 - 이미지 분류(CNN) 이 수업은 머신러닝 야학 진도에 맞춰서 공개됩니다. 공개일정은 진도표를 참고해주세요. 머신러닝 야학은 온라인으로 머신러닝을 학습하는 무료학교입니다. 머신러닝을 시작하고 싶다면 1월 opentutorials.org 데이터와 차원. 차원 (Dim)을 정의하는 두 가지 관점 '표'에서의 열 데이터의 포함 관계 데이터 공간 ('표 형태') 표에서 Column의 개수가 2개 = 2차원 평면의 한 점. 3개 = 3차원 공간의 한 점 n개 = n차원 공간의 한 점. 즉 관측치 = "N차원 공간의 한 점". 그러면 변수의 개수 (column의 개수) = 공간의 차원 수와 동일함. 데이터를 (관측치를) 차원의 한 점..

학습일지/AI 2021.01.12

Architecting with Google Compute Engine - Design Process ch4. Presentation Layer

Presentation Layer Overview Presentation Layer : 사용자와 시스템 간, business logic, stored service 간 데이터 flow를 말한다. 간단히 말해 Networking. Presentation Layer : Network Configuration Networking 에서 가장 중요시해야 할 건 Location. 이게 latency 차이를 만드는 핵심이기 때문. Distributed network일수록 outage tolerance가 강해지지만, round trip time is slower between distant elements 문제 때문에 performance limitation은 반드시 존재한다. 미국 - 유럽 간 통신은 1초당 최대 6..

Architecting with Google Compute Engine - Design Process ch3. Data Layer

Data Layer Overview Storage / retrieval of data를 다루는 영역. Storage / retrieval 영역인 database / file system뿐만 아니라 access method; SQL and API 등등을 포함한다. 하지만 transport of data는 다루지 않음. (Into, around, out of the system) transportation 부분은 presentation layer module에서 다룬다. Data Layer Design : Classifying and Characterizing Data 사용자 입장에서 중요한 건 Data integrity. Underlying tech에는 관심 없고, data loss / data corru..

문과생이 독학으로 개발자 취업하기까지 - (2) 기술면접

2019년 하반기부터 2020년 하반기까지, 1년의 취준생 기간을 끝내고 이베이코리아 개발자로 공채 입사했다. 얼어붙은 취업시장에서 그나마 공채든 수시든 인턴이든 기회가 열리는 곳이 주로 개발직이라서 도전해보려는 취준생 분들이 있을 것 같다. 조금이나마 도움이 되었으면 해서 이것저것 회고 겸 정리하는 글. 모든 게 다 그렇지만, 취업하는 방법에 정답은 없었다. 비전공자 + 외부 교육과정 (Saffy / 국비지원교육 / 부스트캠프 등) 없이 공부해도 취업이 불가능하지는 않았다는 개인의 후기 정도로만 이해해주었으면 좋겠다. 2. 기술면접? 회사마다 기술면접의 정의를 다르게 하고 있는 듯했다. 진짜 CS지식만을 검증하는 기업, 인성면접 + 프로젝트 관련 질문 위주의 기업, 셋 다 하는 기업까지... 프로젝트 ..

일상 속 생각 2021.01.04

문과생이 독학으로 개발자 취업하기까지 - (1) 코딩테스트

2019년 하반기부터 2020년 하반기까지, 1년의 취준생 기간을 끝내고 이베이코리아 개발자로 공채 입사했다. 얼어붙은 취업시장에서 그나마 공채든 수시든 인턴이든 기회가 열리는 곳이 주로 개발직이라서 도전해보려는 취준생 분들이 있을 것 같다. 조금이나마 도움이 되었으면 해서 이것저것 회고 겸 정리하는 글. 모든 게 다 그렇지만, 취업하는 방법에 정답은 없었다. 비전공자 + 외부 교육과정 (Saffy / 국비지원교육 / 부스트캠프 등) 없이 공부해도 취업이 불가능하지는 않았다는 개인의 후기 정도로만 이해해주었으면 좋겠다. 1. 코딩테스트 대비? 올해 개발직이 인기 많아졌다는 걸 실감한 이유 중 하나였다. 파이썬을 활용한 코딩테스트 문제풀이 강의 / 책이 정말 많이 출간된 한 해였기 때문. 자신이 해당 언어..

일상 속 생각 2020.12.31

Architecting with Google Compute Engine - Design Process ch2. Business Logic Layer

Business_logic Layer Design OverView Business Logic = code that implements business logic (Computer Science에서의 정의) that determines what happens to data. = processing. Ex) 비행기 티켓 예매라고 하면, 예매 인터페이스가 앱이건 키오스크건 상관없이 ‘티켓 예매’라는 데이터 처리는 동일하다. 이게 business logic. Microservices = specific kind of Service Oriented Architecture (SOA) -> leverages small, stateless processing for improving scalability and res..

일하는 사람의 생각

창의성을 요구받는 광고 / 디자인 업의 프로가 풀어놓는 일, 삶, 창의성과 본질 이야기 변화와 유행의 최전선에서 ‘창의성’을 발휘해야 하는 ‘직장인’의 고뇌가 담겨 있다. 끊임없이 생각하며 변화에 적응하는, 프로의 마음가짐을 배울 만한 책 던지는 메시지가 간결하게 핵심을 찌르는 표현이 많아서, 내 식대로 재구성한 소감을 정리하는 게 오히려 원본의 열화판일 것 같다. 좋은 글귀 자체는 그대로 보존하고, 비슷한 느낌의 문장들을 카테고리화하는 것으로 소화를 대신했다. 실력을 쌓기 위해 끊임없이 노력하고, 내가 얻은 성취에 겸손하며, 공동체에서 내 역할을 모자람 없이 해내는 성숙한 사람으로 남기 위해 끊임없이 곱씹을 내용들이었다. 멋있어 보이려고 멋있는 걸 만드는 건 제대로 된 프로가 아니다. 과도한 예술성은 ..

세줄요약 독서 2020.12.29

[Design Pattern] Facade

Facade Facade 패턴은 '하위 시스템을 보다 쉽게 사용할 수 있게 해주는 인터페이스를 정의하는 것' Adapter 패턴과 거의 같은 방식으로 작동하지만, 목적이 다르다. Adapter : 원래 코드를 다른 코드와 작동할 수 있도록 하는 Wrapper를 제공 Facade : 원래 코드를 더 쉽게 처리할 수 있는 Wrapper를 제공 객체나 클래스, 인터페이스가 복잡할 경우, 쉽게 사용할 수 있도록 프론트 인터페이스를 제공하는 형태. 캡슐화되지 않은 코드를 처리할 때 / 원하는 코드를 다시 작성할 수 없을 때 주로 사용한다. 단, 원래의 클래스, 인터페이스 코드가 변경될 경우 Facade 패턴도 변경해야 한다. 패턴의 특징 여러 복잡한 클래스를 하나로 간주해서 편하게 다루는 방법 따라..

[Design Pattern] Strategy

Strategy 패턴 여러 알고리즘을 하나의 추상적인 접근점 (인터페이스)을 만들어서, 인터페이스에서 알고리즘이 서로 교환 가능하도록 하는 패턴. 동일한 목적의 알고리즘 여러 개 중 특정 알고리즘을 선택해야 할 때. 인터페이스는 '기능의 선언 (구현부와 분리)' 역할을 담당. 하나의 인터페이스로 여러 가지 기능을 구현하기 위한 단일 통로를 생성하는 것. ex) 워드에서 프린터 명령어 -> 어느 기종의 프린터를 사용하건 상관없이 프린트 명령어가 실행됨 기능 위임 (Delegation) 예시코드. // AObject : 객체 정의. 이 객체에서 수행할 기능을 인터페이스에 위임하는 방식 public class AObject { BInterface bInterface; // 객체 생성 시, 기능을..

[Design Pattern] Bridge

Bridge 두 가지 개념을 먼저 정리해야 한다. 기능 클래스 계층. = 새로운 기능을 추가하고 싶은 경우 구현 클래스 계층. = 새로운 구현을 추가하고 싶은 경우 즉, 클래스를 생성할 때 생성의도를 먼저 고민해야 한다. 기능을 추가할 것인가? 구현을 추가할 것인가? public interface IRobot { void powerOn(); void powerOff(); } public class RobotModel1 implements IRobot { @Override public void powerOn() { System.out.println("type1 : power on"); } @Override public void powerOff() { System.out.println("type1 : pow..