분류 전체보기
-
View Binding 사용해보기Android/Android 2020. 11. 5. 17:38
Kotlin 1.4.20 버전에서 Kotlin Android Extensions Compiler 플러그인이 Deprecated 됬다 왜 Kotlin Android Extensions Compiler 플러그인을 Deprecated 했을까? 글로벌 네임스페이스로 노출이 되어 현재 Activity 에서 사용중이지 않은 View 를 참조 할 수 있다. 이에 Null Safty 하지 않다. 오직 Kotlin 언어로만 접근 및 사용이 가능하다. 그러면 무엇으로 대체를 해야 할까? View Binding View Binding 은 Binding 뿐만 아니라 View Lookup 에도 권장되지만 Android Kotlin Extensions와 비교할 때 오버헤드가 약간 추가된다. Kotlin Extensions 와 비..
-
의존성주입 ( DI, Dependency Inject ) 에 대해 알아보기Android/Programming 2020. 8. 25. 21:17
의존성에 대해 알아보기 DI는 'Dependency Inject' 의 약자로 의존성 주입에 대한 약자이다. 의존성 주입은 클라이언트의 의존성 생성과 클라이언트의 행동을 분리하여 클래스의 관계가 느슨하게 결합되고 의존성 반전 및 단일 책임 원칙을 따를 수 있다. 이에 의존성 주입은 4가지의 역할이 있는데 다음과 같다 서비스 : 데이터 제공 클라이언트 : 서비스를 사용 인터페이스 : 클라이언트가 서비스를 사용할 수 있도록 도움 인젝터 : 클라이언트에 서비스를 주입하기 위한 책임 간단하게 아래의 코드를 보도록 하자. class EnergyCar(name: String) { fun move() {} } class Driver() { val car = EnergyCar("가성비 좋은 자동차") fun drive(..
-
테스트코드를 왜 작성 해야 하는 걸까?Android/Android 2020. 8. 21. 21:08
개발을 잘하는 것에 대한 정의를 내리라고 한다면 아래와 같이 정의를 할 것이다. 코드의 유지보수성을 좋게 만드는 개발 우리가 실제 사용하는 앱이나 프로그램이 간단할 수 있지만 대부분은 복잡하다. 복잡하다는 뜻은 특정 기능을 개발 하였을 경우 Side Effect 가 나기 쉽다는 소리다. 하지만 시간을 투자하여 내가 만든 프로그램의 버그를 줄이고 내 코드에 대한 신뢰를 형성 할 수 있다면 어떨까? 그것이 바로 테스트 코드이고 아래에서 설명을 할 것이다. 테스트 코드의 장점은 무엇이 있을까? 결함을 사전에 발견 할 수 있다. 테스트 코드는 모든 상황을 작성해야 한다. (성공, 실패) 이를 통해 내가 놓치고 있는 부분이 없는지 생각을 통해 코드의 허점을 보완하여 안정서 있는 코드를 개발 할 수 있다. 문서로서..
-
REST API 서버 만들기 (8) - UUIDServer 2020. 4. 12. 04:09
REST API 서버 제작 수업을 듣고 포스팅을 하는 게시글 입니다. 서버 개발자가 아니고, 노드를 전문적으로 사용하는 개발자가 아니기에 오류가 있을 수 있습니다. 윈도우로 진행하시는 분들은 콘솔 명령어 수행 시 GitBash 사용을 권장드립니다. 이번 강의에서 작업 할 내용 UUID가 무엇일까? UUID 만들기 UUID 적용하기 UUID가 무엇일까? 우선 UUID 가 무엇일까? UUID는 기본적으로 어떤 개체(데이터)를 고유하게 식별하는 데 사용되는 16바이트(128비트) 길이의 숫자입니다. 이 숫자는 32개의 16진수로 구성되며, 5개의 그룹으로 표시되고 각 그룹은 하이픈으로 구분 된다. 라고 구글씨가 설명해준다. 쉽게 말해 UUID (범용 고유 식별자) 는 네트워크 상에서 서로 모르는 객체들을 식별..
-
REST API 서버 만들기 (7) - 패스워드 암호화 및 JWT 발급하기Server 2020. 4. 10. 00:03
REST API 서버 제작 수업을 듣고 포스팅을 하는 게시글 입니다. 서버 개발자가 아니고, 노드를 전문적으로 사용하는 개발자가 아니기에 오류가 있을 수 있습니다. 윈도우로 진행하시는 분들은 콘솔 명령어 수행 시 GitBash 사용을 권장드립니다. 이번 강의에서 작업 할 내용 패스워드 암호화 하기 JWT 발급하기 Auth 기능 만들기 패스워드 암호화 하기 패스워드를 그대로 DB에 저장을 하게 되면 혹시나 실제 사용중인 서비스 DB가 해킹에 당하면 유저들의 정보를 모두 노출시키게 됩니다. 그럼으로 패스워드를 암호화 하여 저장을 하게 되면 그나마 사용자들의 정보를 안전하게 저장할 수 있습니다. 추가적으로 아주 옛날에는 패스워드 변경보단 찾기라는 기능이 있었지만 점점 시대가 변하면서 패스워드를 변경하는 기능만..
-
REST API 서버 만들기 (6) - CRUD 메서드 만들기Server 2020. 4. 6. 11:34
REST API 서버 제작 수업을 듣고 포스팅을 하는 게시글 입니다. 서버 개발자가 아니고, 노드를 전문적으로 사용하는 개발자가 아니기에 오류가 있을 수 있습니다. 윈도우로 진행하시는 분들은 콘솔 명령어 수행 시 GitBash 사용을 권장드립니다. 이번 강의에서 작업 할 내용 Route 파일 작성하기 GET [ SELECT ] 하기 POST [ INSERT ] 하기 PUT [ UPDATE ] 하기 DELETE [ DELETE ] 하기 Route 파일 작성하기 REST API는 총 3가지를 담고 있습니다. http://localhost:3000/{field}?{query}&{query} body : { body } 이 중에서 query 와 body 는 controller.js 에서 체크를 합니다. 즉, c..
-
REST API 서버 만들기 (5) - Sequelize Model, MigrationServer 2020. 4. 1. 21:09
REST API 서버 제작 수업을 듣고 포스팅을 하는 게시글 입니다. 서버 개발자가 아니고, 노드를 전문적으로 사용하는 개발자가 아니기에 오류가 있을 수 있습니다. 윈도우로 진행하시는 분들은 콘솔 명령어 수행 시 GitBash 사용을 권장드립니다. 이번 강의에서 작업 할 내용 Model 생성하기 Migration 하기 Seeder 생성하기 Model & Migration 파일 생성하기 ORM 기반으로 작업을 하기에 Model 이 있고 그 Model 클래스에 맞추어 DB를 생성해주기 위한 Migration 파일이 있습니다. 쉽게 말해 Mysql -> Sequelize -> Model -> Use! 이렇게 되는것이죠 그리고 Model은 항상 최근에 적용시킨 Migration 파일과 구조가 동일 하여야 정상적..
-
REST API 서버 만들기 (4) - Dotenv, Sequelize 설치 및 세팅하기Server 2020. 4. 1. 21:07
REST API 서버 제작 수업을 듣고 포스팅을 하는 게시글 입니다. 서버 개발자가 아니고, 노드를 전문적으로 사용하는 개발자가 아니기에 오류가 있을 수 있습니다. 윈도우로 진행하시는 분들은 콘솔 명령어 수행 시 GitBash 사용을 권장드립니다. 이번 강의에서 작업 할 내용 환경변수 생성하고 설정하기 Sequelize & Mysql 설치하기 Sequelize 세팅하기 환경변수 생성하고 설정하기 우선 뒤에서 사용할 Sequelize를 위한 환경변수 작업을 해주어야 합니다. 그 외에도 추가적으로 작업 할때 코드에 하드코딩이 아닌 환경변수에 값을 관리함으로서 코드의 유연함을 가질 수 있습니다. 먼저 모듈을 하나 설치해 주도록 합니다. `npm install dotenv` 이렇게 하면 해당 프로젝트에 있는 ...