전체 글 239

2년차를 바라보는 신입 개발자의 생각.

작년 초부터 정말 바쁘게 살아왔던 것 같습니다. 작년과 올해는 제 인생에서 가장 열심히 살아온 해라고 자신있게 말할 수 있습니다. 개발은 하고 싶은데 갈피를 잡지 못해서 웹 프론트도 했다가 백엔드도 건드렸다가 게임 개발 해보겠다고 유니티도 했다가 지금은 안드로이드에 정착해서 제대로 된 일을 한지 약 3달뒤면 직장을 다닌지 1년이 됩니다. 직장을 다니기전까지는 좀.. 많이 정신적으로 힘들었던거 같습니다. 아무리 프로젝트를 만들고 공부하고 결과물을 만들어도 다 너무 허접해보이고 내가 지금하고 있는게 제대로 하고 있는건 맞는걸까 여기서 더 성장하려면 어떻게 해야하는걸까 이 모든 노력이 다 물거품이 되버리면 나는 그때 어떻게 해야할까. 이런 고민들이 꼬리에 꼬리를 물고 잠에 쉽게 들지 못하는 날들이 참 많았습니..

잡담 2021.11.13

안드로이드 컴포즈 1주차 정리

1주차 코드랩에서는 기존 view 의 리사이클러뷰에 버튼이 달려있고 버튼을 누르면 레이아웃이 늘어나는 간단한 앱을 만드는 것이였습니다. 위 이미지는 코드랩에 예시로 있던 이미지인데 제가 만든것과는 조금 다르지만 거의 비슷합니다. 진행하면서 저는 제 맘대로 조금씩 변경해가면서 만들어 봤는데요. 일단 코드 전문부터 보시죠. class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Week1JetpackComposeBasics2Theme { // A surface container using the 'backgr..

안드로이드 컴포즈 - GDG DevFest2021 참여하다.

GDG Korea Android 에서 진행하는 DevFest 2021 Android Compose 에 참여하게 됐습니다. https://sites.google.com/view/devfest-korea-2021/compose-codelab Devfest Korea 2021 - Compose Codelab 🤔 Jetpack Compose를 배워야 하는지 고민이신가요? sites.google.com 이 사이트에서 참여를 받았었는데 지금은 이벤트 참여는 끝났지만 그래도 공부는 같이 할 수 있으니 컴포즈에 관심이 있으면 참고하면 좋을거 같습니다. 위 사이트에서는 코드랩을 진행하기 위한 참고영상으로 보면 좋을거 같고 뛰어난 국내 개발자분들이 친절하게 설명해주신다. 실제 코드랩은 https://developer.an..

Android Compose - 컴포즈의 매력을 직접 느껴보자

뭔가 특정 기능에 대한 내용도 아니고 그냥 컴포즈의 멋짐에 대해서 설명하고 싶어서 고민하던 끝에 제목을 이렇게 지었습니다. 일단 바로 코드부터 소개해보겠습니다 @Composable fun MycomposeableView(){ Scaffold { Column( Modifier .verticalScroll(rememberScrollState()) .padding(50.dp) ) { for(i in 1..30){ Greeting("Android") } } } } @Composable fun Greeting(name: String) { Text(text = "Hello $name!") Spacer(modifier = Modifier.size(20.dp)) } 저번 포스팅에 있던 코드를 약간 수정해봤습니다. 그리..

Android Compose 는 무엇일까?

안드로이드 컴포즈는 2018년 구글 io 에서 처음 공개됐고 3년간의 제작기간을 거쳐서 최근에 공개됐다고 합니다. 아니 그전에 컴포즈가 뭐냐구요? 선언적 UI 를 안드로이드에서 사용하게 해주는 멋진 친구입니다. 선언적 UI 는 모바일 크로스플랫폼에서 보였었는데 저는 이게 선언적 UI 인지도 모르고 있었으나 컴포즈를 접하면서 아 이거 플러터나 리액트네이티브에서 봤던거랑 비슷하네? 라고 생각하면서 알게 됐습니다. 선언적 UI 는 말그대로 UI를 코드상에 직접 선언합니다. 기존 안드로이드는 xml 을 통해서 view 를 그리는 방식으로 id를 통해 연결하거나 데이터바인딩을 이용해서 UI 를 처리했었죠. 안드로이드를 조금이라도 해보신 분들은 다 아실거라고 생각합니다. 그러나 컴포즈는 그것과는 다르니 이름도 다르..

RxJava - subscribeOn, observeOn 를 제대로 쓰고 있는걸까?

해당 글은 https://vagabond95.me/posts/is-this-rxjava-1/ [안드로이드] 그런 Rx Java 로 괜찮은가 1 - subscribeOn, observeOn - 기록은 기억을 지배한다 구글은 점점 더 안드로이드 아키텍처를 리엑티브하게 구조화 하려는 움직임을 보이고 있고, Databinding, LiveData 그리고 RxJava 는 그러한 구조화 작업의 핵심 토대를 담당하고 있다. 또한 주력으로 vagabond95.me 을 읽고 깊게 Rx에 대해 고민하지 않았던 스스로를 반성하는 포스팅임을 밝힙니다. ㅜㅜ rx 를 사용하다보면 subscribeOn, observeOn 를 자연스럽게 만나게 된다. 나도 개인 프로젝트에 rx와 retrofit 을 연동해서 값을 받아오고 그 값을..

RxJava - Hot Observable , Cold Observable

이전에 쓴 글(아래 링크 참고) 에서 뒷쪽에 https://choi-dev.tistory.com/107?category=972011 RxJava - Observable을 제외한 다른 생산자들 전 포스팅에서는 Observable에 대해서 알아봤다. 기본적인 생산자였는데 Observable 0개에서 n개의 데이터를 전달하는 생산자다. 기본적인 생산자로 단건(0 or 1)이 아니면 대부분 Observable을 쓴다. observe choi-dev.tistory.com Subject 에 대한 이야기가 나온다. 그때는 간단하게 설명하고 지나갔는데 공부하던중 추가로 알게 된 내용이 있어서 포스팅한다. 먼저 이 이야기를 시작하려면 제목의 Hot Observable , Cold Observable 에 대해서 알고 넘어..

RxJava를 Event Bus 처럼 쓰기

Event Bus 라는 라이브러리는 버스 네트워크의 동작 방식과 유사하게 하나의 이벤트를 동일 채널에 연결된 모든 노드들에게 보내는 역할을 해주는 라이브러리다. 안드로이드에서는 특정 동작을 했을때 intent 하거나 fragment 와 activity 사이의 데이터 전달을 할때 bundle이나 콜백 등 이런 동작들을 할 때가 있는데 이런 동작들은 코드의 재사용성을 줄이고 코드를 복잡하게 만들어서 깔끔하지 못한 코드가 될 수 있다. 이럴때 결합도를 낮추고 UI 끼리 데이터 통신을 더 편하게 처리하는게 이벤트 버스의 개념이다. 나는 interface 를 만들어서 콜백처리하는게 코드가 증가하고 불편해서 이 개념을 빌려다 쓸때가 많다. Rxjava로 이러한 동작을 어떻게 하게 할 수 있을까? 아래 코드처럼 Rx..