개발 16

[2023년 2분기] 건강은 챙기면서 하기 feat.사이드 프로젝트

최초작성일: 2023년 6월 19일 아직 2분기는 끝나지 않았지만 사이드 프로젝트도 배포했고, 당분간은 정말로 쉬는게 필요하다고 생각해서 회고 글을 쓰기 시작한다. 2분기는 사이드 프로젝트가 가장 큰 이슈였다. 1. 사이드 프로젝트 3월부터 본격적으로 사이드 프로젝트를 진행하고 있다. 기존 팀에 합류하게 되었는데, 가장 큰 목표는 Flutter로 앱을 개편해서 배포하는 일이었다. 어차피 새로 만드는거 ui/ux도 개선하고, 에러도 수정하고, 몇 가지 기능도 추가하게 되었다.(이렇게 쓰고 보니 생각보다 더 많은 걸 했구나...) > - 기존의 RN앱을 Flutter로 바꾸기 - 기능 추가 : 회원 탈퇴, 앱 다국어 적용 - ui/ux 개편 - 에러 수정 배포 기한은 처음 작업을 시작할 때 2~3달 정도 잡..

회고 2023.07.20

20220920-21 TIL #비즈니스 로직은 분리 #레이어를 나누자 #Repository pattern

이번주 초까지 급하게 끝내야 하는 일정이 있어서 코드리뷰를 못하다가, 약간 시간이 생긴 오늘 코드리뷰를 했다. 평소에도 궁금한건 물어보면서 진행했지만, 오늘 리뷰하면서 전체적으로 우리 앱의 아키텍처에 대해서도 다시 설명을 해주셨다. 마침 오늘 아침에 서버 연동 부분을 보면서 어떤 레이어 구조로 나눠져 있는지, 각각 어떤 역할을 하는지 다시 살펴보았고, 계속 업무를 하면서 처음보다는 이해가 된 부분도 있고 궁금해진 점도 있어서, 2시간 가까이 얘기하면서 많은 부분이 정리되었다. 최근에 가장 큰 고민은 비즈니스 로직을 어디에 구현해야하는지, 였다. 우리 패키지 구조에서 이미 ui와 feature는 구분을 하고 있고, 위젯을 만들면서도 계속 위젯에는 로직이 들어가지 않게 분리하려고 했다. ui와 비즈니스 로..

회고 2022.09.21

20220915-16 TIL #Tabbar #scroll #차트만들기 #provider

새로운 페이지 작업을 하게 되었는데, tabbar, scroll, 차트 기능이 포함되어 있다. Tabbar + scroll Tab을 이용해서, Tab마다 다른 화면을 그릴 수 있다. https://docs.flutter.dev/cookbook/design/tabs Work with tabs How to implement tabs in a layout. docs.flutter.dev Tabbar는 Appbar의 bottom으로 구현할 수도 있고, Appbar가 아니라 Scaffold의 body 안에도 구현할 수 있다. 처음에는 Appbar에 bottom에 DefaultTabController를 이용해서 구현하고, Scaffold body에 TabBarView를 구현하였다. 그런데 TabBar와 TabBa..

회고 2022.09.19

[2022년 8월] 회고!! #Flutter

8월에는 정말 많은 일이 있었다. 틈틈히 휴가도 가고, 이직도 하고, 코로나도 걸리고! 이번 달 개인적으로 가장 큰 이슈는 이직이었다. 이미 7월 말에 이직이 확정된 상태였지만, 중간에 여러 일들이 있어서 플러터를 하게되었다. 그래서 공부 방향도 많이 바뀌었다. 8월에 공부한 것 운영체제 인프런에서 재밌어 보이는 강의를 하나 구매해서 다 들었다. 출퇴근에 틈틈히 들었는데 꽤 재미있었다. 네트워크 쪽은 아직 별 흥미를 느끼지 못하고 있는데, 운영체제는 꽤 재미있다. 이번에 강의들으면서 어느정도 기본 개념은 잡힌 거 같아서 다음에는 더 어려운 책을 도전해봐도 될 것 같다. https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-%EC%9A%..

회고 2022.08.31

[2022]0822-0828 WIL #Flutter 기본 정리

이번 주에는 대부분 플러터와 다트를 공부하는데 시간을 보냈다. 인프런에서 flutter 3.x 버전이 호환되는 새로운 강의를 듣기 시작했다. https://www.inflearn.com/course/%ED%94%8C%EB%9F%AC%ED%84%B0-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8/dashboard [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출! - 인프런 | 강의 iOS 앱과 Android 앱을 코드 한번만 작성해서 모두 제작한다! 코드팩토리의 Flutter 초보 탈출 강의! 디테일한 이론과 흥미로운 프로젝트를 진행하며 탄탄한 기본기 쌓기!, - 강의 소개 | 인프런... www.inflearn.com 강의 분량은 꽤 많지만..

회고 2022.08.30

[2022]0815-0821 WIL #이직!! 그리고 Flutter

이번주까지 이전 직장에서 근무를 하고 다음주부터 새로운 직장에 다니게 되었다!! 이직 준비하면서 여러 가지 고민들이 있었는데, 면접을 하면서 정말, 오랜만에 너무너무 재밌겠다는 생각이 많이 들었다. (실전 프로젝트 이후로 오랜만인거같다!!!!) 코딩하는것 자체도 즐겁지만 새로운 팀에서는 팀원들과 함께 새로운 걸 만들어가고 내가 적극적으로 의견을 내고 반영시킬 수 있는 환경일 것 같다는 점이 매우 컸다. 함께 런칭하고 성장시키는 경험을 해보고 싶었다. 이직을 하게 되면 우선 기술스텍이 바뀌게 되고, 고용 안정성 측면에서보면 더 불안정한 상태가 되지만 그럼에도 이직을 선택하게 되었다. 그리고 여러가지 일들로 플러터를 선택하게 되었다. 전부터 앱개발을 해보고 싶다는 생각은 있었고, 나에게 업무로도 플러터가 잘..

회고 2022.08.22

20220803 #Factory

휴가가 끝나고 돌아오니, 새로운 리펙토링이 있었다. 휴가를 가기 전에 전략패턴을 사용하면서 type에 맞는 구현체를 찾아올 때 어떤 방법이 좋을지 고민이 있었다. 컨트롤러에서 해당 구현체를 List로 주입하고 type을 비교하는 메서드를 하나 만들어서 해당 구현체를 넣어주었는데, 구현체를 찾기 위한 목적의 메서드를 하나 만든다는 것에서 좋은 방법은 아닌 것 같았다. 팩토리를 사용하자는 의견이 있었는데, 며칠 자리를 비운 사이에 리팩토링이 되어 있었다. 컨트롤러에서는 Factory에 있는 메서드를 사용하고, Factory에서는 switch문을 사용해서 type에 따라 알맞은 구현체의 해당 메서드가 실행되도록 하였다. Factory가 너무 지저분해지지 않을까, 하는 걱정도 있었는데 구현해놓고 보니 오히려 가..

회고 2022.08.07

20220703 TIL #불변 객체를 사용하는 이유

개발을 시작하고 코딩을 하면서, 이 책에서는 몇 번을 읽어도 이해가 안되던 설명이 우연히 다른 걸 공부하다가 '아, 이런 뜻이었구나' 할 때가 있다. 자바를 공부하면서 이해가 잘 안되는 용어 중 하나가 '불변 객체'를 사용하는 것이었다. 그런데 김영한님의 JPA 강의를 듣다가 왜 불변객체를 권장하는지 조금 이해하게 된 것 같다. 모두 다 정확하게 이해한 건 아니지만, 앞으로 공부하는데 실마리가 될 것 같아서 기록해둔다. primitive type과 달리 객체는 참조가 가능하다. 즉, 각각의 변수들이 같은 객체를 참조하고 있을 수 있다. 예를 들어, 새로운 Value a를 만들고, b가 a를 가리킨다면 둘은 같은 객체를 참조하게 된다. public static void main(String[] args) ..

회고 2022.07.05

20220621-22 TIL #인터페이스 #동적 파라미터화 #일급컬렉션

을 읽기 시작했다. 책 자체가 굉장히 잘 쓰여져 느낌을 받았고, 편집도 좋다. 아마 최근에 관심 주제랑도 맞닿아 있어서 더 그런 것 같은데, 왜 람다를 사용해야 하는지에 대해 설득력 있게 느껴지고 있다. 특히 동적 파라미터화로 메서드를 전달할 수 있다는 점이 재미있다. 1. 인터페이스를 활용하면 메서드를 변수로 받을 수 있다. 예를 들어 List을 색깔로 필터할 수 있다. public static List filterApplesByColor(List inventory, Color color) { List result = new ArrayList(); for (Apple apple : inventory) { if(apple.getColor().equals(color)) { result.add(apple);..

회고 2022.06.22

20220525 TIL #서버에서 프론트까지 작업하기 #테스트코드 작성하기

현재 진행하는 프로젝트는 TDD는 아니지만 관심이 많은 맴버들이 참여하고 있고, 나도 프로젝트를 하면서 테스트코드가 있으면 리펙토링 하기 훨씬 쉽다는 걸 느꼈기 때문에 가급적 테스트코드를 짜려고 노력하고 있다. (일단 수정 후 테스트코드로 확인하면 된다는 마음의 안정이 생긴다!) 그런데 테스트코드를 짜는 것도 쉽지 않다. 어떤 목적에서, 어떤 것을 테스트할지도 고민이 많이 되고, 생각이 있어도 코드로 구현하는 것 자체가 어렵다. 그래도 팀 맴버 중에 관심이 많은 분이 있어서 그분 코드를 많이 참고 하고 있고, 서비스 단에서 간단하게 정말 기능만 정상적으로 작동하는지 확인하는 정도는 이제 작성할 수 있게 되었다. repository에 Mock 대신 Fake 객체를 사용하는 것도 재밌었다. Mock을 사용하..

회고 2022.05.25