개발 공부 (13) 썸네일형 리스트형 <클린코드> 정리 - Intro 코드를 잘 짜고 싶은 마음에 라는 책을 읽게 되었다. 코드 작성에 답은 없지만, 참고서 정도로 생각하고 한 줄 한 줄 읽어 내려가려고 한다. 특히, 내 코드의 많은 개선점들을 발견할 수 있었으면 좋겠다. 직장인인 나는 읽기에 나태해지지 않기 위해 다음과 같은 원칙을 세웠다. 하루에 1장 이상 읽는다. 블로그에 정리하면서 읽는다. 1주간 독서한 내용을 '일요일'에 정리하여 최종 발행한다. 남이 읽을 것이라는 생각으로 글을 정리한다. 위 4가지 원칙을 준수하여, 를 완독하고, 더 나은 코드를 짤 수 있는 개발자가 되길... [취직/이직/퇴사] 1년이 채 안되는 시간동안 취직/이직/퇴사를 모두 겪다. 지금 나는 백수고, 다시 취직 준비를 하고 있다. 지난 1년간 참 다사다난한 시간들을 보냈다. 남들은 몇 년동안 하기도 힘든 일을 1년 안에 겪었다. 이게 싫다는 것은 아니고 다 나의 자양분이 되었고, 또 다른 가능성을 확인할 수 있었기에 소중한 경험들이다. 물론 아쉬운 게 없진 않다. 지난 1년간의 이야기를 해보고자 잠시 글을 그적여본다. 17년 하반기-18년 상반기의 회고가 맞는 것 같다. 0. 학원 나는 '비전공 프로그래머'다. 보통의 프로그래머들처럼 컴퓨터 공학을 전공하지 않았다. 개발자가 되겠다는 맘을 갖게 된 것은 나중에 서서히 이야기하도록 하겠다. 너무 구구절절하고, 이야기가 길어진다. 자바 언어(점유율 1위)를 사용하고, 뷰가 있는 안드로이드 개발이 매력적으로 다가왔다. 솔직히 4달은 미친.. [개발에 도움되는 영상] 포프님 유투브 저는 주니어 개발자로서 취업을 준비하고 있는 취준생입니다. 취업준비를 하다 보면 지치거나, 리프레쉬를 하고 싶은 생각이 자주 드는데요. 그때마다 동기부여 및 휴식을 위해 자주 보는 유투브 영상을 소개해드려고 해요. 첫 번째로는 아는 사람은 아는 포프님의 유투브 영상 중 '쥬니어니까 괜찮아' 입니다. (나무위키에도 정리되어 있는 포프님...) 저도 귀찮거나, 힘들 때 자기 합리화를 많이 하는데.. 많이 반성했습니다. 쥬니어니까 괜찮지만, 쥬니어니까 더 성장 가능성과 발전 가능성을 보여줄 수 있는 그런 개발자가 되야겠습니다. 쥬니어니까 잘한다는 소리 들을 수 있도록 오늘도 공부를 하러 가보겠습니다! (포프님께서 운영하는 포프TV 유투브 링크) [SQL] query syntax SQL Query Syntax MySql을 다루기 위해 sql query 문법을 익혀두자 1. select 특정 DB안의 특정 테이블에 접근하는 명령문이다. // 1. 특정 컬럼 접근하기 SELECT column1, column2, ... FROM table_name; // 2. 'table_name'에 해당되는 모든 데이터 조회하기 SELECT * FROM table_name; 2. insert 테이블에 데이터 추가(삽입) 쿼리 명령문 쿼리 명령문의 대소문자는 구분할 필요없다. // 방법 1. INSERT INTO table_name(column1, column2, column3, ...) VALUES (value1, value2, value3, ...); // 방법 2. INSERT I.. [RxJava] RxJava란 Reactive X (RxJava) RxJava는 옵저버 패턴을 기반으로 작동하기 때문에 자바 옵저버 패턴에 대한 선행학습은 필수적으로 이뤄져야 한다. 또한 람다식(Lambda Expressions)을 익혀둘 필요가 있다. 1. Observer pattern 옵저버 패턴에서는 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고, 자동으로 내용이 갱신되는 방식으로 '일대다(one-to-many) 의존성'을 정의한다. 아래 UML을 통해 Observer pattern 구현 시, 클래스들의 관계를 알 수 있다. 1.1. Loose Coupling Loose Coupling 객체 간에 서로 상호작용이 이뤄지지만 서로에 대해 잘 모르는 상태를 말한다. 주제가 옵저버에 대해서 아는 것은 옵저버.. [Firebase] Clouding message와 Node.js 연동 170705 Cloud messaging in Firebase 1. 개념 클라이언트에게 최신화된 정보, 경고 등 알림을 원할 때 사용할 수 있도록 Firebase에서 제공하는 일종의 알림 서비스이다. 2. 구현 방법 1. 안드로이드 스튜디오에서 Firebase를 연동시킨다. 안드로이드 스튜디오 오른편의 assistance의 설명과 관련 코드를 참고하면 된다. 2. MyFirebaseInstanceIDService.java 코드 분석 파이어베이스와 연동된 app은 최초 설치 시, 아래 MyFirebaseInstanceIDService.java 에서 token을 생성한다. 초기 생성된 token은 앱 삭제 후, 재설치 하지 않는 이상 고유 번호처럼 유지된다. // FirebaseInstanceIdServic.. [Mongo DB] Mongo DB 개념 Mongo DB 1. Mongo DB...? 몽고하면… 한 때, 아시아를 호령했던 징키스칸의… 몽고… ㅈ..ㅅ.. 아무튼 몽골과 전혀 상관없이 'Mongo DB'는 NoSQL DB 중에서 매우 중요한 위치에 있는 DB이다. 크로스 플랫폼이 지원되어 여러 플랫폼 다양화 시대에 딱 좋은, 즉 유연성을 갖춘 DB라고 이해하고 있다. NoSQL SQL이 NO라고 오해할 수도 있지만 Not Only의 약자로 'SQL(RDB 언어) 말고 우리도 있다.'로 이해하면 좋을 것 같다. 2. RDBMS vs Mongo DB 개념적으로 큰 차이가 있는 것은 아니고, 디테일한 개념 차이로 인해 워딩이 다른 정도이다. 구분 RDBMS Mongo DB 테이블(table) 컬렉션(collection) .. [REST API] RESTFUL API와 URL Rest Api와 URL 1. Rest API 1.1. 개념 'REST'는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있다고 판단했기 때문에, 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐를 소개했는데 그것이 바로 Representational State transfer (REST)이다. 1.2. 기본 Rest API는 기본적으로 리소스, 메소드, 메시지 3가지 요소로 구성된다. // '이름이 Wonwoo인 사용자를 생성한다.'를 코드로 표현하면 다음과 같다. HTTP POST, http://localhost/users/ { // 아래 부.. 이전 1 2 다음