All Posts

Java - ZonedDateTime을 TimeStamp로 변경하는 방법

java.time.ZonedDateTime을 java.sql.Timestamp으로 변경할 수 있습니다. ZonedDateTime은 JAVA8에서 추가된 Time API입니다.

31 Oct 2019

Java - LocalDateTime을 TimeStamp로 변경하는 방법

java.time.LocalDateTime을 java.sql.Timestamp으로 변경할 수 있습니다. LocalDateTime, LocalDate은 JAVA8에서 추가된 Time API입니다.

31 Oct 2019

Java - HashSet.remove() 사용 방법 및 예제

HashSet의 remove()는 인자로 전달된 아이템을 삭제합니다. removeAll()은 Collection의 아이템들을 모두 삭제하며, removeIf()는 람다식을 충족하는 아이템들을 모두 삭제합니다. 이 메소드들은 아이템을 삭제하면 true를 리턴하며 그렇지 않으면 false를 리턴합니다.

28 Oct 2019

Java - HashSet.add() 사용 방법 및 예제

HashSet의 add() 메소드는 인자로 전달된 아이템을 HashSet에 저장합니다. 그리고 HashSet에 존재하지 않는 아이템이라면 true, 존재하는 아이템이라면 false를 리턴합니다. 저장되는 아이템은 null이 허용되지만, 중복된 값은 허용되지 않습니다. 또한, 저장되는 순서는 보장되지 않습니다.

28 Oct 2019

C++ STL Vector 사용 방법

Vector는 동적으로 길이가 변하는 배열입니다. Vector는 push_back, pop_back, size, resize, shrink_to_fit, capacity 등의 함수를 제공합니다. 또한 iterator로 벡터를 탐색할 수 있습니다. 배열 방식으로도 접근이 가능합니다.

27 Oct 2019

Java - AtomicBoolean 사용 방법

AtomicBoolean는 boolean 자료형을 내부에 갖고 있는 wrapping class입니다. 멀티쓰레드 환경에서 동시성을 보장합니다. volatile과 다르게 여러 쓰레드에서 값을 write해도 동시성이 보장됩니다. get, set, getAndSet, compareAndSet 등의 함수를 제공해 줍니다.

27 Oct 2019

안드로이드에서 Coroutine을 사용하는 방법

Coroutine은 가벼운 쓰레드(Light-weight thread)입니다. 비동기적인(asynchronous) 프로그래밍이 가능하게 만들어 줍니다. async, launch, coroutine context 등의 코루틴 키워드를 설명하고 어떻게 코루틴을 작성해야하는지 설명합니다.

26 Oct 2019

안드로이드 - SAF(Storage Access Framework)로 파일 읽고 쓰는 방법

SAF(Storage Access Framework)는 문서 및 이미지 등 각종 파일을 탐색하고 저장하는 작업을 간편하게 하려고 도입하였습니다. 앱은 ACTION_OPEN_DOCUMENT, ACTION_CREATE_DOCUMENT 등의 인텐트로 파일을 읽고 쓸 수 있습니다. Document Provider, Client app, Selector 등으로 구성되어있습니다.

24 Oct 2019