분류 전체보기 536

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..

HTTP Request/Response의 메세지 구조 뜯어보기

HTTP 메세지 HTTP 메세지는 서버와 클라이언트 간 데이터가 교환되는 방식이다. 메세지 타입은 Request와 Response가 있다. HTTP 메세지는 ASCII로 인코딩된 텍스트 정보이며 여러 줄로 되어있다. HTTP/2에와서는 최적화와 성능 향상을 위해 HTTP 프레임으로 나누어지게되었다. Request Request는 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔하는 메세지이며, 다음 요소들로 구성된다. Method: GET/POST/PUT/DELETE/OPTIONS/HEAD 등 클라이언트가 수행하고자 하는 동작이다. Path: 가져오려는 리소스의 경로다. 프로토콜, 도메인, TCP 포트를 제거한 리소스의 URL이다. Version of protocol: HTTP 프로토콜의 버전 Hea..

MIME 타입

MIME 타입은 클라이언트에게 전송된 문서의 형식을 알려주기 위한 메커니즘이다. 웹 서버는 브라우저들이 각 리소스를 내려받았을때 해야할 기본 동작이 무엇인지를 결정하는데 도움을 주기위해 올바른 MIME 타입을 제공 해주어야한다. MIME 타입 외에도 매직 넘버(Magic number)라고 하는 파일을 열면 가장 처음보이는 16진수값들로 파일 형식을 구분할 수 있기도하지만 100% 신뢰할만한 시스템은 아니다. - GIF: 47 49 46 38 - PNG: 89 50 4E 47 # 일반적인 구조 type/subtype '/'로 구분된 두개의 문자열인 타입과 서브 타입으로 구성됨. 스페이스는 허용하지 않는다. # 대표적인 타입과 서브타입 예시 타입 설명 일반적인 서브타입 예시 text 텍스트를 포함하는 모든 ..

[C#] VS Code 개발환경 설정하기

1. Extensions Market에서 C# Extension을 설치 2. dotnet 패키지 설치 * 저는 homebrew로 설치했어요. $ brew install dotnet 3. .NET Core 설치 https://dotnet.microsoft.com/en-us/download 3. dotnet new 를 통해 새로운 C# 프로젝트 생성 뒤에 -o 옵션을 붙이면 프로젝트 이름대로 생성된다. dotnet new console -o TestProject C# 연습을 위해 콘솔 출력하고 놀거라서 console이라고 템플릿 유형을 지정했는데, 아래처럼 프로젝트 유형에따라 템플릿 Short Name 넘겨서 설정할 수 있다. Templates Short Name Language Tags ----------..

프로그래밍/C# 2022.02.11

[Blender] 심즈4 블렌더로 렌더링 빠르게 하는 법

# 블렌더로 심즈4 심 렌더링하기 블렌더를 통해 심즈4 심 렌더링을 하기 위해서는 다음과 같은 절차를 거쳐야한다. 1. 블렌더 설치 [Blender] 2. TS4 SimRipper 설치 [Mod The Sims] 3. SimRipper로 DAE파일 추출 4. 블렌더로 DAE import 5. 스크립트를 통해 쉐이더/블렌드모드 설정 심즈4 렌더링 관련 가장 유명한 블로그 강의는 아래 주소다. 하지만 블렌더라는 전문 툴에 익숙한 사람들은 많지 않아 거의 여기서 입문스텝을 밟고있다. 특히 초반 쉐이더 설정은 심 "마다" 해줘야하는데, 처음하는 사람은 5분여가 걸릴 정도로 꽤나 번거로운 작업이다. 다른 사람들의 시간을 절약하기 위해...이 스크립트를 만들었다. 이 스크립트를 이용하면 한번에 Shader 설정을 ..

[Android] 안드로이드로 게임을 만들어 보았다

그것이 유저를 위해서라면... 게임 멤버십 서비스 플레이오는 모바일 게임을 플레이 하고, 게임 플레이에 대한 보상을 받을 수 있는 앱이다. 앱 특성상 사용 연령대는 어린편이나 게임 시간 측정을 위해 안드로이드에서 오버레이 권한과 앱 사용시간 접근을 허용하는 등 처음 사용법이 다소 어려운 편이다. 그래서 유저 튜토리얼을 추가하여 훈련시켜보는 건 어떨까하는 생각에 ... 앱에서 튜토리얼을 위한 모의 게임을 만들자! 라고 제안했는데 받아들여졌고 결국 그렇게... 허접하지만 미니 게임을 만들게되었다. 이 글에서는 이번에 안드로이드에서 미니 게임을 만들면서 고려했던 문제들을 하나 하나씩 살펴보려한다. # 어떤 게임? 위 짤이 바로 만든 게임의 화면이다. 노란 새 버디가 유치원에 등교를 하는데, 버디의 부모님인 동..