목록분류 전체보기 (385)
만족
https://satisfactoryplace.tistory.com/97 [Android] 개발자 계정 만들기 플레이스토어에 앱을 올리기 위해서는 '구글 개발자 콘솔'에 계정을 등록해야한다. 준비물은 결제카드와 구글 계정이다. 바로 만들어 보자 우선 구글 개발자 콘솔에 들어가자. https://play.google.com/apps/publ.. satisfactoryplace.tistory.com 이 과정을 모두 완료했다면, 이제 다음과 같은 화면이 표시될 것이다. 우측의 '애플리케이션 만들기' 버튼을 클릭하고, 앱 제목을 입력하자. 제목은 추후 변경할 수 있으니, 게임 닉네임 정할 때 처럼 깊게 고민하지 않아도 된다... 이제 대시보드로 잘 넘어왔다면, 좌측 네비게이션에 주목하라. 체킹표시된 아이콘이 모..
React component 자신이 가진 상태값은 state라고 하고, setState를 이용해서 그 상태값을 변화시킨다. 그런데, this.setState()는 state를 비동기적으로 변화시킨다. 즉, this.setState() 라인이 호출되고 다음 라인으로 넘어갔을 때, this.state의 값은 바뀌었을 수도, 바뀌지 않았을 수도 있다는 말이다. 위의 코드를 보면, 실행되고 난 다음에는 this.state.value의 값이 101로 찍힐 것 같지만 실제로는 2가 나온다. (물론 다른 값이 나올 수도 있다) 왜 그럴까? setState()는 즉각적으로 상태를 업데이트하지 않고, Promise를 이용해 비동기적으로 상태를 변화시키기 때문이다. (Promise에 대해서 잘 모른다면, 다음 글을 참고하..
플레이스토어에 앱을 올리기 위해서는 '구글 개발자 콘솔'에 계정을 등록해야한다. 준비물은 결제카드와 구글 계정이다. 바로 만들어 보자 우선 구글 개발자 콘솔에 들어가자. https://play.google.com/apps/publish/?hl=ko 불러오는 중입니다... 로그인이 되어있지 않은 상태라면 로그인창이 뜨는데, 로그인해주면 된다. 로그인을 완료하면, 돈을 내라는 창이 뜬다. 25달러가 필요하지만, 우리는 미국인이 아니기 때문에 해외결제 수수료나 환율 등을 고려하면 약 3만원정도 나올 것이다. 충분한 금액이 들어있는 신용/체크카드를 준비하고 '결제 페이지로 이동'을 누르자 입력하고 구매버튼을 누르자 2020-03-19일 기준으로 32,720원이 청구되었다 (달러값 실화인가...) 결제가 성공적으..
ViewPager는 요렇게 생긴 놈이다. 정확히 말하자면 ViewPager를 setAdapter를 이용해 fragment를 집어넣어서 만든다. 그런데, ViewPager는 현재 선택된 Fragment의 상태만 유지하고 나머지는 버린다. 이게 무슨말이냐 하면, SampleFragment의 onCreate에서 "created"라는 토스트 메시지를 띄우게 하고 이 SampleFragment를 페이저에 집어넣으면 페이지가 바뀔 때 마다, "created"라는 메시지가 발생한다. 이게 뭐지? 라는 생각을 할 수도 있지만, 페이저가 있다고 해서 모든 유저가 전체 페이지를 다 사용하는 것도 아닐테고, 일반적으로 이미 사용이 끝난 페이지의 상태를 저장할 필요가 없기 때문에 기본적으로 상태 유지를 하는 페이지의 수는 1..
맥북 프로(2019)의 키보드 키감은 상당히 거지같아서 블루투스 키보드를 하나 장만했다. 중요 조건은 1. 타이핑할 맛이 나는가 (눌리는 느낌과 반발력이 적당한가) 2. 가벼운가 3. 얇은가 요즘 로우 프로파일 기계식 키보드가 핫한데, 블루투스로도 나온 제품이 몇개 있어서 '빈폭 탭텍'을 구매했다. (로우 프로파일 키: 키의 타건감은 살리되 키의 높이를 줄여 키보드 부피를 줄인 제품) 요즘은 기계식 키보드 보급이 잘 되어 있어서 2~3만원으로도 기계식 키보드를 장만할 수 있는 시대인데 154,000원은 기계식 키보드에서도 절대 저렴한 가격은 아니다. 그래도 맥 전용 키(command, option)이 따로 존재하는 점과 위에서 말한 내 구매조건에 들어맞았기 때문에 하나 구매했다. 생김새 일단 비주얼은 합..
create-react-app 으로 리액트 프로젝트를 생성했다면 프로젝트 빌드 시에 webpack을 이용해 많은 파일들을 큰 몇개의 덩어리로 합쳐준다. webpack은 SPA(Single Page Application)을 제작하기에 제격인 빌드 도구이다. SPA의 장점은 첫 로드 후(청크를 한번에 다운로드) 추가적인 로드가 없어서 사용자에게 웹이 아니라, 마치 하나의 앱을 설치한 것 처럼 부드러운 환경을 제공할 수 있으나, 첫 로드가 오래 걸린다는 단점이 있고, 번들링 시에 파일 크기에 오버헤드가 존재한다. (실제로 Hello world를 출력하기만 하는 프로젝트를 빌드해도 100KB단위로 프로덕션이 만들어진다) 프로젝트가 작은 경우에는 그대로 프로덕션을 제공해도 로딩이 조금 더 걸리는 수준에 그치지만 ..
오늘 약 5개월동안 진행한 프로젝트에서 사용하지 않는 라이브러리 제거를 진행했다. 웹 사이트 퍼포먼스 측정 결과, 특히 사이트 로딩 속도에서 매우 처참한 결과가 나왔기 때문이다. 한번에 모든 페이지를 로드하기 때문에 초기 로드에 비교적 많은 시간이 필요한 SPA의 치명적인 단점이 굳이 필요하지 않은 의존성들과 함께 존재하면 빌드의 결과물인 청크 사이즈의 비대로 인해 로딩 시간이 더더욱 길어지게 된다. 나는 개발 초기에 사용이 간편한 부트스트랩을 사용하다가 디자인 수정 작업을 거치면서 부트스트랩보다는 material-ui가 더 적합하다는 것을 깨달았다. 그러나 이미 많은 컴포넌트들에 부트스트랩이 들러붙어 있어서 상당히 손대기 어려웠다. 대부분의 편집기나 IDE에 존재하는 Find in Path 기능을 이용..