분류 전체보기 202

[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

[Excercism] Space Age #enum

https://exercism.org/tracks/dart/exercises/space-age Space Age in Dart on Exercism Can you solve Space Age in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org  행성과 초seconds가 주어지면 조건에 따라서 나이를 계산하는 문제이다. 각 행성들의 공전 주기가 Earth Year로 주어졌기 때문에 1) 행성별로 One Earth Year을 구하고, 2) 주어진 초를 지구 나이로 환산한 뒤에 2) / 1)로 답을 구했다. 비슷비슷한 개념이 많아서 메서드명이나 변수명을 어떻게 만들어야 하는지 고민이 되..

Language/Dart 2022.09.08

[Exercism] Bob

https://exercism.org/tracks/dart/exercises/bob Bob in Dart on Exercism Can you solve Bob in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org 주어진 질문에 따라 알맞은 반응을 return 하는 문제이다. 정규표현식을 활용해서 각 조건을 만들어 주었다. 문제 자체가 많이 어렵지는 않았는데, 조건이 여러 개 들어가다보니 조건을 체크하는 순서도 고려해야 했다. 조건을 크게 isQuestion과 isYelling으로 구분할 수 있는데, 둘 다 적용되야 하는 경우를 가장 먼저 제시해주고, 그 다음에 각 조건에 맞는 경우를 ..

Language/Dart 2022.09.08

20220906 TIL #있는 위젯을 써야할까, 새로운 위젯을 만들어야 할까?

업무로 두 개의 페이지를 받았다. 일단 ui부터 그리기로! 한 페이지는 간단한 형태라서 처음에 딱 피그마에서 봤을 때는 금방 할 수 있을 줄 알았다. 그렇지만 역시나, ui는 내가 생각하는데로 모양이 나오지 않았다. 그리고 더 큰 고민은 기존에 만들어져 있는 위젯을 사용해야 하는지, 아니면 새로운 위젯을 만들어야 하는지였다. 두 페이지 작업하면서 모두 이런 고민이 생겼다. 1. 전체적인 디자인에서의 통일성, 코드 중복, 이후 수정이 필요한 경우 등을 고려할 때 이미 만들어진 위젯을 쓰는게 낫다고 1차적으로 판단했는데, 문제는 내가 원하는 모양과 완전히 일치하지 않다는 것! 이런 경우에 기존에 만들어진 Widget A의 변형인 A'를 새로 만들어서 쓰는게 나을지 고민이다. (아니 padding이나 marg..

회고 2022.09.06

[2022]0829-0904 WIL #Flutter 기초 강의 마무리 #riverpod

지난 주부터 듣던 Flutter 기초 강의를 모두 들었다. 후반에 미세먼지 앱을 만드는 부분이 있었는데 모델링 부분에서 '이렇게 해도 되나?'라는 고민이 많았고, 이전 강의들보다 다루는 데이터도 많고 리팩토링도 계속 하다보니 조금 헷갈리는 부분이 많았다. 특히 상태관리를 StatelessWidget과 StatefulWidget만 사용하다보니 데이터를 전달하고 관리하는게 중요했다. 강의를 다 듣고 나서, 우리 앱에서도 사용하고 있는 상태관리 패키지인 riverpod을 공부하기 시작했는데 정리하면서 생각해보니, 왜 상태관리 패키지를 사용하는지 알 것 같다. 상태관리 패키지를 사용하면 훨씬 더 편하게 데이터들을 관리할 수 있고, 각 위젯에서 필요한 데이터들을 쉽게 접근하고 watch할 수 있을 것 같다. 그리..

회고 2022.09.06

[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

[Exercism] Word Count

https://exercism.org/tracks/dart/exercises/word-count Word Count in Dart on Exercism Can you solve Word Count in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org 문제는 주어진 문장 안에서 word를 count하는 것이었는데, 이 word를 어떻게 규정하는지와 관련된 여러가지 조건들을 어떻게 코드로 풀어야 하는지 고민이 많았던 문제다. 다음의 세 가지 경우는 word 1개로 볼 수 있다. 각 조건은 정규표현식으로 만들고, map을 통해 해당하는 Iterable을 만들어주었다. class WordCo..

Language/Dart 2022.08.31

[Exercism] Difference Of Squares

https://exercism.org/tracks/dart/exercises/difference-of-squares Difference Of Squares in Dart on Exercism Can you solve Difference Of Squares in Dart? Improve your Dart skills with support from our world-class team of mentors. exercism.org 먼저 처음 풀이는 단순히 for문을 사용해서 푼 풀이다. 결과적으로 return해야하는 것은 합의제곱(squareOfSum)과 제곱의합(sumOfSquares)이다. import 'dart:math'; class DifferenceOfSquares { int squareOfSum(..

Language/Dart 2022.08.30

20220829 TIL #비동기 then과 async/await

자바를 공부할 때 비동기를 다뤄보지 않아서 그런지 플러터 공부하면서 비동기가 좀 어렵다. 그래도 어떻게 찾아가며 이럴 때 쓰는구나, 하고 있는데 강의를 듣다가 궁금한 점이 생겼다. 패키지의 공식문서에서는 then을 사용해서 콜백을 처리하고 있는데, 강의에서는 async와 await를 사용해서 처리하는 것을 보았다. Flutter 공식문서에서도 async/await를 권하고 있다. 팀원과 대화하면서 여러가지 방향으로 이해할 수 있었고, 관련된 좋은 포스팅을 추천받아서 둘의 차이를 정리해보았다! Futre.then 대신 async/await를 권하는 이유 참고자료 https://medium.com/flutter-senior/why-use-async-await-instead-of-future-then-2e9c..

회고 2022.08.30

[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