Flutter in Action (플러터 인 액션)

 

몇 년 전, 안드로이드 개발을 하다가 웹 개발로 전향을 하면서 모바일 개발을 오랫동안 손 떼왔다.

그래도 가끔은 앱을 개발하며 출시했을 때의 기억을 가지면서 언젠가는 다시 앱을 개발해보고 싶다는 생각을 했었다.

그러다가 작년에 아는 형을 통해서 플러터(Flutter)에 대한 존재를 듣게 되었다.

구글에서 개발한 모바일 SDK인데 이것을 통해서 안드로이드, iOS 모두 앱을 개발해서 배포할 수 있다고 한다.

기회가 되면 언제인가는 플러터를 한번 봐야겠다는 생각을 가지고 있었다.

 

그러다가 기회가 되어서 Flutter in Action을 읽게 되었다. 

~ in Action 시리즈는 과거에도 Java 8 in Action을 잘 읽었기에 이 책에 대한 의문점 없이 읽기 시작했다.

(예전에 스터디용으로 jQuery 책을 6권을 샀다가 심각한 오류투성이인 책이어서 다시 환불했던 슬픈 기억이 있기에 책을 사기 전 꼼꼼히 읽어보는 편이다... ㅠㅠ 출판사에서 수정된 부분은 나중에 메일로 보내주겠다는 등... 테스터처럼 대하길래 분노가!!!)

 

이 책에서는 우선 플러터가 다트를 사용하고 있기 때문에 다트에 대한 기본적인 문법들을 알아보는데서 시작한다.

기본적인 문법이 끝났으면 소스를 내려받아서 이 소스 예제를 통해서 간단한 앱들을 따라 만들면서 플러터에 대해서 익혀간다.

설명도 설명이지만 얼마나 제대로 된 예제를 따라해보는지가 실질적으로 중요하다고 생각하기에 이렇게 예제 소스들을 따라가면서 간단한 앱들을 만들어 보는 부분들이 좋았다.

 

이처럼 플러터가 어떤 것인가에서 시작해서 다트의 기본적인 문법과 예제 소스를 통한 플러터 익히기, 더 나아가 테스트 방식까지 이 책은 비록 두껍지는 않지만 플러터에 대해서 기본에 있어서 A부터 Z까지를 담고 있어 정말 알차게 익힐 수 있는 책이었다. (비록 심화적인 내용만을 원하는 사람들에게는 다소 아쉬울 수 있지만...)

 

 

Flutter in Action을 들고 한 컷!

 

 

 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

' > 프로그래밍' 카테고리의 다른 글

처음 시작하는 파이썬  (0) 2021.08.22
모던 자바스크립트 핵심 가이드  (0) 2021.06.20
실전 아파치 카프카  (0) 2021.04.11
혼자 공부하는 파이썬  (0) 2021.03.21
팀 개발을 위한 Git-GitHub 시작하기  (0) 2020.07.07

WRITTEN BY
김치치즈스마일
세계정복!

,
팀 개발을 위한 Git, GitHub 시작하기
국내도서
저자 : 정호영,진유림
출판 : 한빛미디어 2020.01.06
상세보기

이전까지는 SVN을 써서 다른 사람들과 협업하는 프로젝트의 소스를 관리해왔었다.

하지만 지금 회사에서는 갑자기 Git을 쓴다고 이걸 사용해서 프로젝트 소스 관리를 해야 한다고 했다.

Git.... 많이는 들어봤지만 정확히 어떤건가라는 이해 없이 일단 사용하기 시작했다.

 

그 결과 수정되면 안 될 소스들까지 수정한 채로 원격 저장소에 올린적도 있고 충돌이 잔뜩 났는데 제대로 수정도 못한 채 올린 경험도 있다.

특히, 충돌 혹은 문제가 생겨서 진행이 안되고 메시지가 한 가득 뜨면 무슨 소리인지도 모르고 무척 당황했었다.

(Google 신의 도움을 받아서 해결하기도 했지만....)

 

물론 이 책을 읽기 전까지도 소스트리의 힘을 빌려서 Git을 쓸 수 있었지만 정확히 용어들이 어떤 것을 의미하는지 잘 모른 채로 계속 사용해왔다.

대충 어렴풋이 commit, pull, push, patch가 어떤 기능을 하고 있었는지 짐작은 하고 있었지만 설명하라고 하면 명확하게 설명할 수는 없었다.

그런 점에서 이 책을 읽는 것은 내게 정말 Git을 제대로 공부해볼 수 있는 기회(?)가 주어진 셈이었다.

그럼 하나씩 이 책의 구조와 장점을 뜯어(?)봐야겠다.

 

 

직접 들고 찍은 책 사진:)

 

먼저, 이 책의 가장 큰 장점은 기본편과 중급편으로 나뉘어져 있어서 Git을 처음 써보는 사람이라도 GUI의 힘을 빌려서 익힐 수 있게 되어있고 이미 Git을 많이 써봐서 좀 더 간지나게(?) 명령어만으로 익혀보겠다는 사람들을 위해 중급편에서는 CLI 환경에서 Git을 익힐 수 있게 나뉘어져 있다.

 

이처럼 기본적인 것 뿐만 아니라 조금 더 한 단계 더 나아갈 수 있도록 다양한 접근으로 개발자들에게 Git을 익힐 수 있게 해준게 이 책의 가장 큰 장점이다. (하지만 난 명령어가 한 번에 안 외워져서 여러번 봐야겠다... ㅠㅠ)

 

또한 기본편을 읽다보면 정말 하나하나씩 설명서를 읽는 것처럼 캡쳐와 쉬운 그림을 통해서 Git의 동작 원리를 잘 이해시켜주고 따라해볼 수 있는데 이 점이 정말 좋았다.

특히 이미 회사에서 남들이 다 Git lab에다가 올려놓은 소스들을 받아서 쓰는 것만 해본 나에게는 비록 완벽한 Code를 올린 것은 아니지만 책에 예제를 따라서 직접 GitHub에 올려보고 Request Pull을 날려보고 승인도 해본 점은 큰 경험이었다.

 

그리고 여기서 그치지 않고 기본편에서 기본적인 것 외에도 흔히 많이 쓰이고 도움이 많이 되는 핵심 꿀팁들을 알려줬는데 그 중에서 cherry-pick이 많이 들어보긴 했지만 어떻게 쓰는지 잘 몰랐는데 이번 기회에 직접 실습해볼 수 있어서 좋았다.

 

이렇게 기본편을 넘어서 중급편으로 CLI 환경에서 Git을 익혀보았는데 아직 하수여서 그런지 명령어를 통한 관리가 익숙치 않고 자꾸 헷갈리고 까먹었다.

중급편은 진짜 옆에 두고 계속 계속 보면서 익혀야 할 것 같다.

 

물론 요즘 Google에서 검색하면 정말 다양한 내용들이 잘 설명되어 있을 수 있겠지만 이 책처럼 하나씩 상세하게 그림과 캡처를 통해서 익히고자 하는 이에 이해를 돕는 것은 못 본 것 같다. 그래서 더 이해가 쉽게 될 수 있었고 이 책을 통해서 매번 공부해 봐야지 봐야지 하면서 안 하고 있던 Git 공부를 할 수 있는 좋은 기회를 가질 수 있어서 너무 좋았고 이 책을 쓰신 저자님들께도 다시 한번 감사의 인사를 드리고 싶다. :)

(거짓이 아니고 진심으로 이 책을 다 읽은 후, 책을 읽겠다는 다음 차례들이 줄 서고 있다...)

 

' > 프로그래밍' 카테고리의 다른 글

처음 시작하는 파이썬  (0) 2021.08.22
모던 자바스크립트 핵심 가이드  (0) 2021.06.20
실전 아파치 카프카  (0) 2021.04.11
혼자 공부하는 파이썬  (0) 2021.03.21
Flutter in Action  (0) 2021.02.21

WRITTEN BY
김치치즈스마일
세계정복!

,

String.format

프로그래밍/Java 2020. 1. 25. 23:20

String 클래스의 format 메서드를 이용하면 지정된 위치에 값을 대입해서 문자열을 만들 수 있다.

 

1.String format문의 형식

%[argument_index$][flags][width]conversion

예) String.format("%2$10s%1$10s", "KOREA", "JAPAN");

※ %와 conversion은 필수이며 나머지 arguent_index나 flags, width는 생략이 가능하다.

 

2. [argument_index]

- 파라미터의 인덱스

- 숫자와 $문자로 구성

- 1부터 시작

- '<'을 사용하여 직전의 파라미터와 같은 것임을 지정

 

3. [flag]

- '-'를 사용하면 출력하는 문자열이 왼쪽으로 정렬

- '-'를 빼면 출력하는 문자열이 오른쪽으로 정렬

 

4. [width]

- 원하는 길이를 지정

 

5. conversion

- %d : 10 진수

항목 내용
%10d 숫자만큼 문자열 좌측에 공백을 채워 숫자열 길이를 만듬
%-10d 숫자만큼 문자열 우측에 공백을 채워 숫자열 길이를 만듬
%010d 숫자만큼 문자열 좌측에 0을 채워 숫자열 길이를 만듬
%,d 1000 단위로 콤마(,) 처리를 함

  예) System.out.println(String.format("%10d%10d", 12345, 67890));

- %x or %X : 16진수

  예) System.out.println(String.format("%10x%10x", 2047, 2047));

- %o : 8진수

  예) System.out.println(String.format("%10o%10o", 2047, 2047));

- %f : 실수

항목 내용
%10f 숫자만큼 문자열 좌측에 공백을 채워 숫자열과 소숫점 이하의 자리를 포함하여 길이를 만듬
%-10f 숫자만큼 문자열 우측에 공백을 채워 숫자열과 소숫점 이하의 자리를 포함하여 길이를 만듬
%.2f (.) 우측에 해당하는 숫자만큼 소숫점 이하 자리를 반올림하여 길이를 만듬
%010.2f 숫자(10) 만큼 문자열 좌측에 0을 채우고 점(.) 우측에 해당하는 숫자만큼 소숫점 이하 자리를 반올림하여 길이를 만듬
%,.2f 1000 단위로 콤마(,) 처리를 하고, 점(.) 우측에 해당하는 숫자만큼 소숫점 이하 자리를 반올림하여 길이를 만듬

  예) System.out.println(String.format("%10.2f%10.2f", 100000.999f, 200000.999f));

- %s or %S : 문자열

항목 내용
%10s
%-10s 숫자만큼 문자열 우측에 공백을 채워 문자열 길이를 만듬
%10.2s (.) 우측에 숫자만큼 스트링을 자른 후, 점 좌측 숫자만큼 문자열 좌측에 공백을 채워 문자열 길이를 만듬
%-10.2s 점(.) 우측에 숫자만큼 스트링을 자른 후, 점 좌측 숫자만큼 문자열 우측에 공백을 채워 문자열 길이를 만듬

  예) System.out.println(String.format("%2$10s%1$10s", "KOREA", "JAPAN"));

- %c or %C : 문자

  예) System.out.println(String.format("%c", 'A'));

- %t or %T : 시간

항목 내용
%td Date를 입력 받으며 오늘 일자를 제공
%tm

Date를 입력 받으며 이번 달을 제공 

예) 12

%th

long형 시간 데이터를 입력 받으며 이번 달을 제공

예) 12월

%ty

Date를 입력 받으며 이번 약년을 제공

예) 20

%tD

Date를 입력 받으며 오늘 날짜(월/일/약년)를 제공

예) 01/25/20

%tY

Date를 입력 받으며 오늘 년을 제공

예) 2020

%tF

Date를 입력 받으며 오늘 날짜(월/일/년)를 제공

예) 2020-01-25

%fT long형 시간 데이터를 입력 받으며 현재시간(시:분:초)를 제공
%tH

long형 시간 데이터를 입력 받으며 시간(24시간 단위)를 제공

예) 23

%tl

long형 시간 데이터를 입력 받으며 시간(12시간 단위)을 제공

예) 11

%tM long형 시간 데이터를 입력 받으며 분을 제공
%tS long형 시간 데이터를 입력 받으며 초를 제공
%tL

long형 시간 데이터를 입력 받으며 밀리세건을 제공

예) 871

  예) System.out.println(String.format("날짜,시간 서식: %tY년 %<tm월 %<td일 %<tH시 %<tM분 %<tS초", new Date()));

 

 

참고 및 출처]

- 까딱이의 춤과 IT

- Blog Goooood.net

- 라이언 서버

- 자바킹 - IT 정복

- Java Document

 

'프로그래밍 > Java' 카테고리의 다른 글

enum 2  (3) 2018.01.28
enum 1  (0) 2018.01.02
쓰레드(Thread) 3  (0) 2017.11.20
쓰레드(Thread) 2  (0) 2017.11.04
쓰레드(Thread) 1  (0) 2017.11.03

WRITTEN BY
김치치즈스마일
세계정복!

,