전체 글 591

Unity 생명주기에 관해 알아보자

위 그림은 유니티에서 제공하는 생명주기 도식인데, 나같은 입문자들이 보기에는 너무 세세한 정보를 담고 있으므로...중요한것만 뽑아서 정리를 해보려한다. Awake() Scene이 시작되고, 모든 Monobehavior의 Start()전에 호출된다. Prefab이 초기화되고난 직후다. | Start() 첫번째 프레임이 업데이트 되기전에 호출된다. 단, Script의 인스턴스가 활성화 되어있을때만 호출된다. 게임 플레이 중에 Object를 생성한다고해서 Start()가 호출되지 않는다. | OnApplicationPause() 게임이 중단되고, 프레임과 프레임 사이에 호출된다. 게임이 중단된 상태를 핸들링하기 위해서 OnApplicationPause이후에 하나의 프레임이 더 있다. | FixedUpdate(..

[영상] 레이 달리오, 변화하는 세계질서

투자원칙 1 중앙은행이 위기 극복을 위해 화폐를 찍어내면 주식, 금, 원자재를 매수하라. 정부가 세금 수입보다 더 많은 지출을 했을 경우 재정 상태는 악화되어 돈이 바닥난다. 그를 극복하기 위해 화폐를 많이 찍어내면 화폐가치가 하락하며, 주식, 금, 원자재를 포함한 대부분의 자산 가격을 상승시킨다. 투자원칙 2 다가올 미래를 전망하기 위해서는 과거의 역사를 알아야 한다. 한 국가의 경제가 흥하다가 투자가 활발히 일어나고, 결국 대출을 하면서 까지 투자, 버블은 부의 격차를 가져오고, 버블이 터지면서 돈을 찍어내고...빈부갈등이 심해지며 부를 재분배하기 위한 혁명이 일어난다. 이런 일이 벌어질동안 다른 신흥 강국이 등장한다. 세계 패권의 역사는 이러한 부상과 쇠락 싸이클의 반복이었다. 영상 번역 https..

나/독후감 2022.03.15

[Android Studio] 범블비 Network Inspector 인코딩 깨짐 해결방법

안드로이드 스튜디오 범블비(Bumblebee) 버전으로 업데이트하니 원래 잘 나오던 Network Inspector에서의 응답 글자 인코딩이 깨져보였다. 해결방법 해결방법은 Retrofit Request Header에 Accept-Encoding을 추가해주면된다. Accept-Encoding: identity; 이는 클라이언트가 지원하는 인코딩을 서버에 알려주는 것인데, identity의 경우 압축이나 수정없이 어떠한 인코딩도 수행되지 않음을 의미한다. 실제 프로덕션에서는 gzip 인코딩등 압축을 이용할 수 있기때문에 Debug 모드일때만 Accept-Encoding을 identity;로 바꿔주도록 조건문을 추가하는 것이 좋다. 1. 개별 API에 추가하는 방법 @Headers("Accept-Encodi..

NFT 이해를 위해 꼭 알아야하는 용어들

메인넷 기존 플랫폼에서 벗어난 독립적인 네트워크 생태계를 구축한 블록체인이다. 코인을 생성할 수 있고, 다른 파생 토큰을 만들고 호환가능하게 개방된다. 코인과 토큰의 차이 자체 메인넷이 있는 암호화폐를 코인이라고 한다. 반면 다른 코인의 플랫폼을 기반으로 하는 응용 프로그램을 탈중앙화 응용 프로그램(Decentralize Application, dApp)이라고 하며 이 dApp에서 사용가능하게끔 개발된 암호화폐를 토큰이라고 한다. 예로 자체 메인넷을 보유하고 있는 이더리움 네트워크의 이더(ETH)는 코인, ERC-20 표준을 따라 이더리움 네트워크에서 파생된 토큰인 샌드박스(SAND)가 있다. 메인넷 없이 파생 토큰으로 시작해서 자체 메인넷을 구축하는 사례도 많다. (이오스 EOS, 트론 TRX) 거래소..

MySQL Database 주기적으로 자동 백업하는 법

너굴리스트 최근 업데이트에 일부 유저분들 정보를 날려먹고ㅜㅜ DB가 언제나 영원할꺼라 생각했던 나 자신의 어리석음을 반성하며 뒤늦게나마 자동 백업을 도입하기로 했다. 사실 어려운일이 아닌데 1인 개발인데 뭐 날려먹거나 하진 않겠지하는 막연한 믿음때문에 이 사태가 벌어졌다. 앱에서 사용하는 DB를 백업하는 스크립트를 적고, crontab으로 사용자 수가 적은 매일 오전 6시에 돌리려고 한다. 1. Shell script 작성 먼저 db_backup이라는 쉘 스크립트를 작성해야한다. $ vi db_backup.sh#!/bin/bash DATE=$(date +%Y-%m-%d) BACKUP_DIR=/home/lou/db_backups if [ ! -d $BACKUP_DIR ]; then mkdir $BACKUP..

프로그래밍/SQL 2022.02.14

HTTP 연결과 커넥션 관리

연결 수립 클라이언트와 서버가 HTTP 요청/응답으로 교환하기 전 , TCP 커넥션을 설정해야한다. HTTP/1.0의 기본 동작은 각 요청/응답에 대해 별도의 TCP 커넥션을 여는 것이다. TCP를 이용할 경우, 컴퓨터 상의 HTTP 서버를 위한 기본 포트는 80이다. 요청을 위한 페이지 URL은 도메인 이름과 포트번호 둘 다를 포함하는데, 포트 번호가 80일 경우 생략가능하다. HTTP 흐름 1. TCP 커넥션을 연다. TCP 커넥션은 요청을 보내거나 응답을 받는데 사용된다. 클라이언트는 새로운 커넥션을 열거나, 기존 커넥션을 재사용하거나, 서버에 대한 여러 TCP 커넥션을 열 수 있다. 2. HTTP 메세지를 전송한다. HTTP/2 이전의 메세지는 사람이 읽을 수 있을 정도다. GET / HTTP/1..