이 발표를 보고나서 Dan Abramov에게 묘한 매력을 느꼈다. 영어도 잘 못하면서 팔로우를 시작했다. Reactjs에 대해서 이런저런 것을 많이 보게 되었다. 그리고 어느 덧 발표했던 기능이 정식출시했다. 이름은 React Hooks다. 기본 개념 Hooks소개의 Motivation에도 말하고 있지만 Hooks의 기본 목적인 간결함이다. 다음의 코드는 Hooks를 사용한 코드다. import React, { useState } from 'react'; function Example() { const [count, setCount] = useState(0); return ( You clicked {count} times setCount(count + 1)}> Click me ); } 이 코드가 얼마나 ..
Flutter에서 router를 사용하면 Screen을 전환할 때 데이터를 넘겨줄 수가 없다. 그래서 어쩔 수 없이 redux같은 글로벌 저장소를 사용해야만한다. UI만 만들 때는 별생각없이 만들어도 됐지만 데이터가 들어가면서부터는 삽질에 삽질을 거듭하고 있다. 지금도 모두 해결한 것은 아니지만 일단 지금까지 겪었던 일들을 정리해본다. Navigation React에서는 무조건 router를 사용하는 것이 편했다. 아무래도 한곳에서 접근가능한 페이지를 모두 관리하고 있는 편이좋기 때문이었다. 그것은 너무 web 방식이라고 생각했는데 Flutter에서도 router를 비롯한 다양한 방법의 스크린 전환을 안내하고 있다. 자연스럽게 app에 route를 설정해서 사용하게 됐다. initialRoute: '/'..
React Native는 개인적으로 관심도 있고 회사에서 스터디도 했지만 정작 시작한 플랫폼은 Flutter다. Dart도 배워야 하고 Flutter API도 배워야 하고 감 잃은 모바일 UI도 다시 배워야 했지만 결과물이 빨리 빨리 나와주니까 그래도 하게 된다. React Native는 처음 시작할때 환경 세팅에만 많은 시간을 들였는데 Flutter는 IDE에 플러그인 하나 설치하는 걸로 모든 준비가 끝났다. 공부한 것 1 : Dart Dart는 Language tour를 한번 쭉 보는 걸로 공부를 했다. typescript도 제대로 공부를 안했는데 Dart는 하루 정도를 투자해서 문제없이 코드를 읽고 작성할 수 있는 수준은 된 것 같다. 처음엔 es, ts 같은 건 줄 알았는데 쓰다보니 이건 gola..
TistoryEditor의 아이콘을 변경했다. 뭔가 동그라미가 너무 큰 것 같기도 하고 밋밋한 느낌이라 약간의 그림자를 주고 크기를 줄였다. 내 머리는 입체느낌도 추가하기를 원했지만 내 손과 기술이 따라주지 못했다. 그래서 이렇게 됐다. 변경하는 중간에 하나마나 같은 느낌이 들었지만 애써 무시하고 앱에 아이콘을 넣기 시작했다. 첫번째 난관 하다보니 리눅스에서는 앱 전환바에 아이콘이 표시가 안되는게 눈에 들어온다. 앱 아이콘은 잘 지정되어 있고 거길 아무리 변경해도 소용이 없었다. 여기저기 찾아보니 BrowserWindow에 icon을 지정해야한다고 한다. 내가 네이티브 앱에 대한 이해가 별로 없어서 그랬던 것 같다. 앱 아이콘과 각 윈도우는 아이콘을 별도로 사용할 수 있다. 어찌보면 당연한 것이긴 하다...
그동안 TistoryEditor는 리눅스 환경에서 모든 빌드를 했었다. 맥에서 리눅스 빌드를 왠지 모르겠지만 계속 에러가 났고 그걸 해결하려는 의지가 좀 부족했던 것 같다. 'electron-builder가 언젠간 쉽게 되도록 해주겠지'라는 안일한 마음도 있었다. 지금은 맥에서 별다른 문제없이 빌드가 된다. 어쨌든 빌드는 여간 귀찮은 일이 아니었다. 리눅스, 맥, 윈도우 모두 빌드를 한 후에 github에 release를 만들고 거기에 파일을 업로드하고 github page에서 버전을 업데이트 해줘야 한다. 자동으로 해주는 프로그램이 있으면 참 좋겠다 생각한 그때 travis가 그걸 해준다는 것을 알았다. Travis 설정 electron app을 travis에서 배포하도록 하려면 먼저 travis re..