- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- webflux
- github
- 일본어기초
- GIT
- PR
- 책추천
- pullrequest
- rxjava
- androidstudio
- Android
- coroutine
- 인공지능
- errorhandling
- ai
- 일본어문법
- 진짜학습지
- blog
- CustomTab
- jlpt
- 학습지
- Kotlin
- KotlinInAction
- 안드로이드
- n3문법
- 진짜학습지후기
- posting
- 책리뷰
- suspend
- 진짜일본어
- 코틀린
목록전체 글 (354)
코딩하는 개굴이

본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. Kotlin IN ACTION 2강 : 코틀린 기초 Hello World! fun main(args: Array) { println("Hello World!") } 해당 코드에서 코틀린의 특징을 알아보자. 함수를 선언 시에, fun 키워드를 사용한다. 파라미터 이름 뒤에 파라미터의 타입을 쓴다. (변수 선언 시에도 마찬가지) 함수를 최상위 수준에 정의할 수 있다. (클래스 안에 함수를 넣어야 할 필요가 없다.) 배열 처리를 위한 문법이 따로 존재하지 않는다. 출력 시 println을 사용한다. (표준 자바 라이브러리 함수를 간결하게 사용 할 수 있도록 감싼 wrappe..

본 내용은 Kotlin IN ACTION (드미트리 제메로프, 스베트라나 이사코바 지음 / 에이콘 출판사) 책을 기반으로 작성되었습니다. Kotlin IN ACTION 1강 : 코틀린이란 무엇이며, 왜 필요한가? Kotlin 이란? 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어 대표적으로 서버상의 코드 (웹 애플리케이션의 백엔드 등), 안드로이드의 모바일 애플리케이션에 활용 가능 자바와 같이 정적 타입 (statically typed) 지정 언어 정적 타입 지정 언어 : 모든 프로그램 구성 요소의 타입을 컴파일 시점에 알 수 있으며, 프로그램 안에서 객체의 필드, 메소드 등의 사용시에 컴파일러가 타입을 검증해 준다. 동적 타입 지정 언어 : 타입과 관계없이 모든 값을 변수에 넣을 수 있고, 객..

본 문서는 Firebase Console을 사용하여 Firebase를 추가하는 방법을 기술하고 있습니다. 시작하기 전에 Firebase를 적용하려는 프로젝트의 API Level이 16(Jelly Bean) 이상인지 확인한다. Gradle 4.1 이상인지 확인한다. com.android.tools.build:gradle v3.2.1, compileSdkVersion 28 이상의 Jetpack(AndroidX)인지 확인한다. Google 계정으로 Firebase에 로그인한다. Firebase Console을 사용하여 Firebase 추가하기 Firebase 에서 Android 앱에 연결할 Firebase 프로젝트를 만든다. Firebase 프로젝트에 앱을 등록한다. Firebase Console 에서 프로젝..

의존성 주입 (DI)이란? 외부에서 의존 객체를 생성하여 넘겨주는 것을 의미한다. 일반적인 객체 생성과 DI를 적용한 객체 생성을 비교하자면, 일반적인 객체 생성은 클래스 안에서 사용할 객체를 생성하지만, DI를 적용한 객체 생성은, 외부에서 생성된 객체를 주입 받는 방식이다. 의존성이란? class Doraemon { private Pocket pocket; public Doraemon() { this.pocket = new Pocket(); } public startDoremon() { this.pocket.searchPocket(); } } Doraemon 클래스의 startDoramon 함수의 호출을 위해서는 Pocket 클래스가 필수적이다. 이런 상황에서, Doraemon 클래스 Pocket 클..

Textview의 drawable 속성 UI 적용 시 아래와 같이 구성이 필요한 경우가 있다. 이때, 보통은 textview 와 imageview로 만들어 구현하지만, 한번에 textview 로 끝낼 수 있는 속성이 존재한다. Textview의 텍스트 주변에 이미지를 표시할 수 있는 속성 android : drawableLeft => 텍스트를 기준으로 왼쪽에 이미지 출력 android : drawableStart => 동일하나, API Level 17부터 가능 android : drawableRight => 텍스트를 기준으로 오른쪽에 이미지 출력 android : drawableEnd => 동일하나, API Level 17부터 가능 android : drawableTop => 텍스트를 기준으로 위쪽에 이..

코틀린의 확장 함수들 kotlin 은 확장함수들을 제공하여 객체를 사용 시 명령문들을 블록으로 묶어 간결하게 사용할 수 있게 해준다. let 매개 변수화 된 타입 T의 확장함수로, 자기 자신을 받아서 반환하는 람다 식의 형태이다. let 함수를 사용하여 해당 객체의 상태를 변경할 수 있다. ?.let {} 형태에서 let 블럭 안에는 non-null 만 들어올 수 있기 때문에 not-null 체크에 사용할 수 있다. elvis operator 를 사용해서 기본 값을 지정할 수 있다. 반환하는 값이 명시적으로 없을 경우, Unit 타입을 반환한다. val introducePerson = person.let { it.name = "Gaegul" it.height = 158 it } //Return 으로 본인..

정규식을 마스터해보자 본 내용은 elice 파이썬 정규표현식 강의를 기반으로 작성되었음을 알립니다. re 모듈에 대하여 정규식을 사용하기 위해 re 라는 모듈을 import 해야합니다. re.compile() 함수는 문자열 패턴을 컴파일해 정규식 객체를 반환한다. 특정 정규식을 코드 내에 여러번 사용하고자 할 때, re.compile()으로 정규식 객체를 만들어 활용한다.pattern = re.compile("hello") print("만든 정규식 객체 활용 : ", pattern.findall(text)) print("객체 사용하지 않음 : ", re.findall("hello",text)) re 모듈의 대표적인 함수 re.match(pattern, string) : string 시작에서부터 해당 pa..

안드로이드 앱 난독화 난독화의 목적은 앱 클래스, 메서드 및 필드의 이름을 단축해 앱 크기를 줄이는 것으로, 코드를 삭제하지는 않으면서 앱의 크기를 크게 절약할 수 있다. 난독화 장점 코드 축소 : 앱에서 사용하지 않는 클래스, 필드, 메서드, 라이브러리의 종속성을 감지하여 안전하게 삭제 리소스 축소 : 앱의 라이브러리 종속성에서 사용하지 않는 리소스를 포함하여 패키징된 앱에서 사용하지 않는 리소스 삭제 난독화 : 클래스와 멤버 이름을 줄여 DEX 파일 크기를 줄임, 네이밍을 바꿈으로써 가독성을 줄여 소스코드를 보호 최적화 : 코드 검사 후 다시 작성하여 DEX 파일 크기를 더 줄임 난독화 방법 release { minifyEnabled false proguardFiles getDefaultProguar..

Static static은 프로그램이 시작하고 종료될 때까지 살아있는 jvm의 static 메모리에 데이터를 올리는 것으로, 초기화 과정이 필요없어 static이 선언된 변수, 메서드에 바로 접근이 가능 static을 사용한다는 의미는, 해당 객체를 공유하겠다는 의미로 어디서 쓰이든 항상 동일한 객체이다. 따라서, static이 선언된 변수의 값을 바꿔버리면, 다른 곳에서 해당 변수의 값을 참조하는 부분 또한 영향을 받는다. ConcurrentModificationException (access) 오류, 연산 오류 등이 발생할 수 있다. 멀티스레드의 경우, synchronize 하여 다음 스레드가 해당 코드에 동시 진입하지 않고 먼저 실행된 스레드가 끝날 때 까지 기다렸다가 실행되도록 하여 보완할 수 있..

Singleton 패턴이란 Singleton이란 어떤 클래스가 최초 한번만 메모리를 할당하고(static) 그 메모리에 객체를 만들어 사용하는 디자인 패턴으로, 생성자의 호출이 반복적으로 이루어져도 실제로 생성되는 객체는 최초 생성된 객체를 반환해 주는 것 사용 장점 한번의 객체 생성으로 재사용이 가능하여, 메모리 낭비 방지 싱글톤으로 생성된 객체는 전역성을 띄기 때문에 다른 객체와 공유가 용이 예를들어, 그냥 생성자로 생성하는 방식이었다면 생성되는 객체가 여러개로, 동일한 객체를 공유하기 위해 번거로울 수 있으나, 싱글톤으로 생성된 객체는 getInstance 로 부르면 하나의 객체를 공유할 수 있다. 사용 단점 프로그램 전체에서 하나의 객체만을 공통으로 사용하기에, 다른 객체간의 결합도가 높아진다. ..