해당 포스트는 Retrofit 라이브러리의 사용방법이 아닌 내부 코드를 파헤쳐놓은 글입니다. 흔히 Retrofit 라이브러리를 사용하기위해 Retrofit 객체를 초기화할 때 아래와 같이 사용한다. fun getRetrofit(client: OkHttpClient): Retrofit { return Retrofit.Builder() .baseUrl(API_BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) .client(client) .build() } Builder Pattern을 사용하여 Retrofit 객체를 생성하게 되는데 이때 내부에..

- SOLID 란? 로버트 마틴이 2000년대 초에 명명한 객체지향 프로그래밍의 다섯 가지 기본 원칙을 마이클 페더스가 원칙의 앞글자를 따서 다시 SOLID라는 이름으로 소개한 것 - 원칙이란 ? - 5가지 원칙 단일 책임의 원칙(Single Responsibility Principle, SRP) 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. - 로버트 C. 마틴 모든 클래스는 각각 하나의 기능만 가진다는 의미 해당 클래스가 제공하는 모든 서비스는 단 하나의 책임만 수행하는데 집중되어야 한다 -> 책임을 완전히 캡슐화해야 한다. 내가 처음 안드로이드 개발을 할 때 Activity 안에서 api를 호출하고 응답 데이터를 가공하고 조건에 맞게 화면에 그려주었다. 이때 Activity가 가지고 ..

"NEXTSTEP"이라는 온라인 수업으로 "이펙티브 코틀린 with TDD, Refactoring, Clean Code" 강의를 들었다. 그중 현업에서 자주 들어 봤지만 잘 이해하지 못했던 TDD에 대한 정리를 하려고 한다. TDD? TDD란 Test-Driven-Development의 약자로 해석하면 '테스트 주도 개발'이라고 한다. 일종의 개발 방법론으로써 흔히 사용하는 개발 방법과 다른 프로세스를 가진다. 기존 프로세스: 개발 -> 테스트 TDD 프로세스: 테스트 코드 작성 -> 개발 -> 리팩터링 이렇게만 들으면 머릿속으로는 이해해도 사용하기 쉽지 않을 것이다.(내가 딱 그랬다) 한번 사용해 보자 Example 문자열 계산기의 덧셈 기능을 만든다고 가정해보자 예를 들어 "2+2"를 넣는다면 4가 ..
Apply // Java Person person = new Person(); person.firstName = "홍"; person.lastName = "길동"; // Kotlin val person = Person().apply { // this 생략 가능 // this.firstName = "홍" // this.lastName = "길동" firstName = "홍" lastName = "길동" } apply 함수는 블록 내부에서 객체 프로퍼티에 직접 접근할 수 있고 반환 값으로 객체 자신을 반환한다. 주로 객체를 초기화 할 때 사용한다. Also // Java int value = Random().nextInt(100); System.out.print(value); // Kotlin Random...
오늘은 이미지 로딩 라이브러리 Glide사용법을 알려드리겠습니다. 흔히 ImageView에 이미지를 넣을때 이미지가 기기 내부 resource 에 존재한다면 쉽게 가능하겠지만 서버에 존재하는 이미지 즉 http 통신을 통해서 가져와야 하는 이미지는 너무 까다롭습니다. Glide는 이모든 고민은 해결해주는 라이브러리입니다. *Glide 깃 주소 github.com/bumptech/glide bumptech/glide An image loading and caching library for Android focused on smooth scrolling - bumptech/glide github.com *사용방법 gradle에 추가 dependencies { implementation 'com.github...

https://developers.google.com/places/android-sdk/client-migration Migrating to the New Places SDK Client | Places SDK for Android The Places SDK for Android introduces an all-new static library with updated functionality. The Google Play Services version of the Places SDK for Android (i.e. com.google.android.gms:play-services-places) is deprecated as of January 29, 2019, and will be developers.g..

안드로이드에서 미세먼지 앱을 만들고있는데 iOS에서도 만들어 보려고한다. 기본적으로 필요한 기능들이 현재 위치 주소, 현재 위치에서 가장 가까운 측정소 찾기 , 측정소에서의 미세먼지 측정값 가져오기가 있었다. 먼저 현 위치 주소를 가져오기 위해서는 info.plist 에 다음 항목을 추가 하여야 한다. Privacy - Location When In Use Usage Description - 앱이 사용중일때만 가져오기 Privacy - Location Always and When In Use Usage Description - 앱을 사용안해도 항상 가져오기 그 다음에 위와 같이 작성해주면 latitude 와 longitude 에 각각 위,경도가 저장이 된다. 얻은 위도 경도를 이용하여 CLGeocoder..
전문적으로 배워본적이 없기에 책을 읽으면서 배운 내용들을 정리해보려고 한다. 코딩을 할 때 가장 많이 고민하던것이 변수,상수,함수,메서드,타입 등의 이름을 정하는 것이였다. 그 이름을 정할때 몇가지 규칙이 있다고 한다. - 변수, 상수, 함수, 메서드, 타입 등의 이름은 유니코드에서 지원하는 어떤 문자라도 사용할 수 있다. (이모티콘도) 단! 1. 숫자로 시작해서는 안된다. ex) let 123hun --- X 2. 공백이 포함되면 안된다. ex) let h u n --- X 3. 해당 코드 범위 내에서 미리 사용되는 기존 이름과 동일한 이름 ex) let hun:String = "hun" print(hun) let hun:String = "sanghun" --- X 4. 연산자로 사용될 수 있는 기호(..
SwiftyJSON은 JSON형태의 데이터를 쉽게 파싱하여 사용할 수 있게 해주는 라이브러리입니다.먼저 podfile에서 설치를 해줍니다. # Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'testApp' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! pod 'SwiftyJSON'
먼저 Alamofire 라이브러리를 설치해야 하기때문에 podfile에 들어간다. # Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'testApp' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! pod 'Alamofire' ,'~> 4.7'
- Total
- Today
- Yesterday
- 미아사거리
- 제주도 커플사진
- 한성컴퓨터 올데이롱
- 샤이니길
- 한성노트북추천
- 제주도 흑돼지고기
- 코틀린 let
- 제주도 맛집
- 화정
- ScopeFunction
- 코틀린 run
- 안드로이드 TDD
- 중소기업청년전세자금대출
- 코틀린 apply
- 코틀린 also
- 제주도 흑돈가
- 전세방
- 맛집
- 중소기업전세자금대출
- 제주도 샤이니길
- 올데이롱 후기
- 이미지라이브러리
- 제주도
- 안드로이드
- 화정 맛집
- 한성 올데이롱
- 청년전세자금대출
- 중소기업전세자금대출 꿀팁
- 코틀린 with
- 제주도 여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |