전체 글 201

블로그 이사!!!

이 블로그에는 코딩 처음 공부하고, 서버 처음 만들고, 팀프로젝트를 진행하면서 마주했던 많은 고민들이 담겨있다. 짧은 시간이지만 그 사이에 이직도 한 번 했고, 앱개발을 새롭게 시작하게 되었다. 여기에는 주로 회고 글이 대부분인데, 계속 업무를 하고 공부를 하다보니 뭔가 하나에 대해 더 깊게 공부하고 찾아보는 일이 많아졌고, 공부하고 고민한 걸 잘 정리하는 게 필요하다고 생각했다. 이런 성격에 글을 쓰기에는 티스토리보다 벨로그가 나을 것 같아서, 여기는 이전까지의 기록을 남겨두고 앞으로는 새로운 블로그를 사용할 것 같다! https://velog.io/@paran22 paran22 (Kim Gaeun) - velog velog.io

카테고리 없음 2022.11.11

[Exercism] Anagram #sort!!!!!

https://exercism.org/tracks/dart/exercises/anagram Anagram in Dart on Exercism Can you solve Anagram in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org word와 list가 주어지고, list 안에서 word의 글자들을 바꾼 경우(즉 각 알파벳의 개수도 같아야 한다)에 해당하는 단어들만 찾는 문제이다. 대소문자를 구분하지 않고 완전히 일치하는 경우에는 답이 아니다. 처음에 문제를 풀었던 방식은 다음과 같다. 결국 알파벳 하나하나를 살펴봐야 하니까 for문을 돌릴 수 밖에 없다고 생각했다. class An..

Language/Dart 2022.09.21

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

[Exercism] Rna Transcription

https://exercism.org/tracks/dart/exercises/rna-transcription Rna Transcription in Dart on Exercism Can you solve Rna Transcription in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org 주어진 String에서 특정 단어를 변경하면 되는 문제이다. 함수형 프로그래밍에 아직 익숙하지 않아서, 가급적 함수형으로 해보려고 노력중이다. split으로 iterable을 만들고 map을 돌려서 조건에 해당하는 경우에는 글자를 바꿔주었고, reduce로 다시 새로운 String으로 만들어서 retu..

Language/Dart 2022.09.18

20220913 TIL #타이머만들기 #overflow #Hero

이번주부터 오늘 해야할 일, 내일 해야할 일을 간단하게 메모를 하면서 업무를 하고 있다. 어떤 걸 먼저해야 하는지, 내가 이 일이 얼마나 걸리는지도 파악할 겸, 간단하게 메모만 하고 있는데 오늘 계획한 일은 거의 다 끝난 거 같아서 뿌듯하다. 타이머 만들기 간단하게 타이머를 만들었다. 마침 우리 앱에서 사용하고 있는 riverpod을 사용한 예제를 발견해서 많이 참고가 되었다. https://medium.com/flutter-community/flutter-riverpod-tutorial-timer-app-186d04637775 Flutter Riverpod tutorial: Timer app Step-by-step instructions to create your second Riverpod proje..

회고 2022.09.15

20220907-08 TIL #ui작업하기 #위젯 #비즈니스로직분리하기

처음 업무를 받은 날, 재택을 하다보니 여러가지 궁금한 점이 많았다. 슬렉으로 계속 질문하면서 업무를 했지만, 아직 업무 코드 파악이 덜 된 부분도 많았고 플러터는 처음 하다보니 어떤 방식으로 업무를 해야하는지도 아직 감이 오지 않았다. 우선 비교적 간단한 페이지 UI를 작업하기로 했는데, 위젯(컴포넌트)만 하더라도 새로 만드는게 좋은지, 기존에 만들어진 위젯을 사용하는게 좋은지 판단이 잘 되지 않았다. 출근해서 업무를 하면서 사수와 이런 고민들을 같이 얘기하면서 알고보니 컴포넌트화 되있는 위젯 버튼이 있는 경우도 있었고, 기존에 만들어져있는 컴포넌트에서 required parameter 하나를 그냥 empty string을 넣고 사용하는게 낫겠다고 판단이 되는 경우도 있었다. 또, 기존 컴포넌트를 사용..

회고 2022.09.13

[Exercism] Raindrops #String #Stringbuffer #immutual

https://exercism.org/tracks/dart/exercises/raindrops Raindrops in Dart on Exercism Can you solve Raindrops in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org 주어진 수가 몇으로 나누어지는지에 따라서 다른 소리를 리턴해야하는 문제이다. String에 +를 이용해서 조건에 맞는 경우 소리를 추가하였다. class Raindrops { String convert(int number) { String sound = ''; if (number % 3 == 0) sound += 'Pling'; if (num..

Language/Dart 2022.09.11

[Exercism] Gigasecond #Duration #Named parameter

https://exercism.org/tracks/dart/exercises/gigasecond/iterations?idx=2 Exercism Learn, practice and get world-class mentoring in over 50 languages. 100% free. exercism.org 문제 자체는 정말 단순하게 gigasecond를 더하면 되는데, Duration을 처음 써볼 수 있었다. Duration은 말 그대로 기간을 나타내는 클래스인데, DateTime 클래스와 같이 많이 쓰는 것 같다. Dart에서 마음에 드는 것 중 하나는 named parameter인데, 이렇게 arguments가 어떤 값인지 바로 알 수 있어서 좋다. (자바는 named parameter가 없고, 코틀..

Language/Dart 2022.09.08

[Exercism] Hamming

https://exercism.org/tracks/dart/exercises/hamming Hamming in Dart on Exercism Can you solve Hamming in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org 두 개의 주어진 문자열을 자리마다 비교해서 값이 다른 개수를 리턴하는 문제이다. 문제 조건에서 둘 중 하나가 empty이거나 길이가 다르면 에러를 던지도록 되어 있어서 먼저 에러 처리를 해주고, for문으로 각 자리를 비교해 다른 경우를 count하였다. if문에서 조건은 메서드로 분리를 해주는게 가독성이 더 좋다고 생각해서, 간단한 로직이지만 별도로 분..

Language/Dart 2022.09.08