분류 전체보기
클린코드(~33pg)
클린코드(~33pg)
2023.03.13개요 유명한 책이라 작년 여름쯤 사서 읽어보다가 말았다. 짧게 읽었는데도 도움이 되는 내용들이 많았다. 최근에 프로젝트를 진행하면서 다시 한 번 필요성을 느꼈고 틈틈히 읽어가기로 했다. 책에도 적혀있던데 "나중은 없다." 조금씩이라도 지금 해나가야 한다. 아래부터는 책을 읽으면서 기록해두고 싶은 내용들을 정리해본 것이다. 내용 이 책에서는 깨끗한 변수 이름, 깨끗한 함수, 깨끗한 클래스를 만드는 방법을 소개한다. 좋은 코드도 소개하고 나쁜 코드도 소개한다. 나쁜 코드를 좋은 코드로 바꾸는 방법도 소개한다. 10pg, 나쁜 코드는 너무 많은 일을 하려 애쓰다가 의도가 뒤섞이고 목적이 흐려진다. 깨끗한 코드는 한 가지에 집중한다. 각 함수와 클래스와 모듈은 주변 상황에 현혹되거나 오염되지 않은 채 한 길만 ..
박재범의 드라이브 방청
박재범의 드라이브 방청
2023.03.08유희열의 스케치북이 폐지되고 후속 프로그램이 언제쯤 나올까, 나오기는 할까 궁금했는데 어느샌가 박재범님이 프로그램을 새로 진행하고 계셨다. 경쟁률이 세다고 들었는데 운 좋게 한 번에 당첨됐다. 이번 회차는 27 대 1이었다고 한다. 유희열의 스케치북 방청을 포함하면 이번이 5번째다. 나는 자유석으로 신청했다. 지정석은 오전에 표 받으러 올 여유가 없는 직장인들에게 좋을 것 같고 대학생이라 시간적 여유가 있는 내 입장에서는 자유석이 더 좋다. 일단 더 가깝고, 나는 지정석과 자유석 둘 다 당첨돼봤는데 이 가까움의 차이가 생각보다 크다. 지정석은 다소 거리가 있어서 "어 저기 공연하네" 이런 느낌이라면 자유석은 출연진과 교감을 하는 느낌이다. 그동안 유희열님의 진행은 노련하고 깔끔했었다면 박재범님은 조금 서..
[공부] Github Action CI
[공부] Github Action CI
2023.03.04개요 최근에 CI를 주제로 스터디 자료를 준비했었다. 채용 공고를 볼 때 CI/CD를 종종 봤어서 예전부터 관심이 있었다. 쉽게 말해서 CI는 빌드,테스트 자동화, CD는 배포 자동화인데 나는 아직 배포 경험이 없으므로 CI만 공부를 하기로 했다. CI는 협업을 하거나 브랜치를 쪼개서 작업하는 경우에 쓸모가 있다. 나는 아직 직접적으로 경험해본 적이 없어서 잘 모르지만 merge conflict에 안 걸렸어도 merge 시 build에 문제가 되는 경우들이 있는 것 같다. 뒤늦게 문제를 찾아내서 해결하려고 들면 이것도 일이고, 매번 빌드를 돌려보는 것도 일이라 이 작업을 자동화시킨 것이 CI다. CI를 도입하면 merge 전에 빌드 여부를 바로 확인할 수 있어서 좀 더 안정적인 프로젝트 운영이 가능해진다..
[공부] MVVM, ViewModel, LiveData, DataBinding, Fragment
[공부] MVVM, ViewModel, LiveData, DataBinding, Fragment
2023.01.21개요 앱잼이 끝나고 이제 리팩토링을 해야 하는 단계인데 내가 혹시 모르는 부분이 있는지, 애매하게 알고 있어서 찝찝했던 부분들을 공부하고 있다. 여기에 쓰이는 글은 fact라기보단, 현재까지 내가 이해하고 있는대로 쓰는 것이므로 부정확할 수 있다. MVVM ViewModel, AAC ViewModel ViewModel이 다르다는 얘기는 들어본 적이 있는데 당시에는 별 생각 없이 넘겼었다.그러다 이번에 찝찝함을 참지 못하고 결국 구글링을 해보았다. 아래 포스팅을 보고 이해를 했는데 부정확할 수 있다. 안드로이드: How to MVVM MVVM이 뭘까요~~ medium.com 위 포스팅에 따르면 MVVM에서 말하는 ViewModel은 우리가 보통 ViewModel이라 했을 때 떠올리는 것과 다르다는 것이다...
[회고] Runnect 앱잼
[회고] Runnect 앱잼
2023.01.17드디어 앱잼이 끝났다. 나는 앱잼에 대해 어떤 특별한 기대가 있지는 않았는데 정말 순식간에 지나갔다. 데모데이 직전에 이르러서는 너무 바빠서 일만 하느라 더 그랬던 것 같다. 이번 앱잼 기간동안 느꼈던 것들이 많은데 지금의 생각이 날아가기 전에 작업기를 남기려고 한다. 팀빌딩 나는 팀빌딩 단계에서 여러 기획들을 보고 "내가 이 팀에 개발자로 합류해서 제 역할을 충분히 해낼 수 있는가?"를 중요하게 따졌다. 여기서 제 역할이라는 건, 맡은 화면과 기능을 기간 내에 성공적으로 구현해낼 수 있는지를 의미한다. 나는 러닝 코스 그리기 서비스인 '러넥트'에 합류하게 되었는데 처음 팀에 들어왔을 때는 기대보다 우려가 앞섰다. 프로젝트 초반 '지도에 러닝 코스를 그린다'는 미션은 뚜렷했는데 '어떻게' 그릴지는 논의된..
[공부] sopt 31기 안드로이드 세미나 과제
[공부] sopt 31기 안드로이드 세미나 과제
2022.12.051주차 registerForActivityResult putExtra 토스트 메세지 띄우기 EditText에서 inputType을 조절해 입력된 비밀번호 안 보이게 하기 스낵바 띄우기 회원가입 성공 조건 걸고 충족 시 액티비티 전환 constraintDimensionRatio chain ConstraintLayout Flow SharedPreference를 활용해서 자동 로그인 구현 홈화면에서 뒤로 가기를 누르면 로그인 화면으로 넘어가지 않고 바로 앱이 종료되게 하기 (Hint : Intent Flags, Activity Task) 2주차 Multi-View Type RecyclerView를 힌트삼아 하단으로 스크롤 할 때 헤더(TextView)도 같이 따라 내려가게 하기 바텀네비게이션에서 홈 eleme..