[Android] java.io.stream에 대한 고찰
·
Android
👋 들어가며안녕하세요! ✋사이드 프로젝트 동아리 DDD에서 Android 개발자로 활동하고 있는 오세민입니다.이번 글에서는 Java 개발을 하다 보면 반드시 마주치게 되는 주제,Stream, InputStream, OutputStream의 설계 철학에 대해 이야기해보려고 해요.특히,Stream이라는 개념이 왜 존재하는지왜 입력과 출력이 분리되어 있는지flush()와 close()는 왜 필요한지이런 질문들을 중심으로"왜 이렇게 설계되었을까?"라는 질문에서 시작해 보려고 합니다. 🧭 Stream은 뭘까요Stream이라는 단어를 처음 들으면 Java 8의 Stream API가 떠오를 수도 있어요.하지만 여기서 이야기하는 Stream은 그것보다 훨씬 근본적인 개념이에요.Stream은 "데이터의 흐름(Flow..
[Android] joda‑time, java.time, kotlinx‑datetime에 대하여..
·
Android
👋 들어가며안녕하세요! ✋ 사이드 프로젝트 동아리 DDD에서 Android 개발자로 활동하고 있는 오세민입니다. 이번 글에서는 개발을 하다 보면 한 번쯤은 꼭 마주치게 되는 주제,시간과 날짜를 다루는 라이브러리에 대해 이야기해보려고 해요.특히,Joda-Timejava.timekotlinx-datetime이 세 가지를 중심으로“왜 이렇게 나뉘어 있을까?”라는 질문에서 시작해 보려고 합니다.⏰ 시작은 항상 이 의문에서 합니다Joda-Time은 꽤 범용적인 시간 라이브러리예요.실제로 오래전부터 많은 프로젝트에서 사용됐고, 지금도 레거시 코드에서는 자주 보입니다. 그런데 Java에는 또 java.time이 있고,Kotlin에는 kotlinx-datetime이라는 라이브러리가 따로 있어요. 그러다 보면 자연스럽..