전체 글 539

[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] 안드로이드로 게임을 만들어 보았다

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

컴퓨터가 2의 보수 표현을 사용하는 이유

# 컴퓨터의 연산장치가 사칙연산을 하는 법 - 덧셈 , 곱셈: 주어진 데이터 표현을 덧셈 or 시프트 연산 - 뺄셈, 나눗셈: 주어진 데이터 표현에 대한 보수(Complement)를 취하여 덧셈, 시프트 연산 컴퓨터는 데이터를 워드(Word)단위로 처리하는데, 운영체제에서 32bit, 64bit로 나누는 것을 보았을 것이다. 이는 바로 워드 사이즈를 가리킨다. 워드의 최상위 비트는 부호비트가된다. 부호비트가 0 = 양수, 1 = 음수다. 나머지 비트들은 데이터 값을 표현하는데 사용한다. 아래는 1워드가 8bit일때를 기준으로 십진수 -53을 비트로 나타낸 것이다. 최상위비트 최하위비트 부호비트 데이터 비트 1 0 1 1 0 1 0 1 # 왜 컴퓨터는 부호화-2의 보수표현을 사용할까? 1워드를 4bit로 ..

SSH 인증키 생성 및 간편 접속방법

# SSH Keygen으로 SSH 키 만들기 ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519__ ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa__ -f 지정된 파일 위치/이름으로 키를 생성한다. -t 지정한 암호화 알고리즘을 통해 키를 생성한다. dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa 값이 간으하다. -b 생성할 키의 비트 수를 설정한다. 일반적으로 3072bit 정도면 충분하다. Passphrase란? ssh-keygen을 통해 키를 생성할때 passphrase를 묻는다. 비밀번호인데... 비밀키가 복사되어서 사용된다고 해도 passphrase를 입력하지 않으면 사용할 수 없으므로, 보안성을..

암호학에서 Salt란? 소금이 필요한 이유

# 솔트 (Salt) 해시 함수를 사용하여 단방향 암호화를 했을때, 언제나 같은 값을 같게 된다. 해커는 잘 알려진 해시값의 원문을 저장해두고 쉽게 원문을 유추할 수 있다. (이렇게 해시함수를 사용하여 만들어낼 수 있는 값들을 저장해둔 테이블을 레인보우 테이블이라고 한다.) 솔트는 이러한 꼼수를 피하기 위해 해시된 값에 추가적으로 들어가는 랜덤 데이터다. 비밀번호 "qwerty1234"를 SHA-256으로 해싱하면 아래와 같은 값이 나온다. 17F80754644D33AC685B0842A402229ADBB43FC9312F7BDF36BA24237A1F1FFB 이제 안전하겠지? 안타깝게도 Hash값을 RainbowTable에 넣어보면 순식간에 풀려버림 0ㅇ0 그래서 해시하기전에 임의의 랜덤 데이터 "LOU"를..

SSH 터널링 / 포트 포워딩 예시로 알아보기

# SSH란? 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜. 일반적으로는 Public key / Private key를 사용하는 비대칭 암호화(Asymmetric Encryption) 방식을 사용한다. Public Key가 자물쇠, Private Key가 자물쇠를 여는 열쇠라고 비유를 해서 그려본 그림이다. 중간에 누군가 박스를 탈취한다 하더라도 자물쇠는 오직 A/B 두사람만이 열수 있기때문에 보안성이 확보된다. # SSH 터널링이란? (SSH 포트 포워딩) SSH 클라이언트와 서버사이 연결이 수립되어 만들어진 통로가 "터널" 여기에 포트 포워딩(Port Forwarding)을 이용하면 만들어진 터널을 다른 애플리케이션이 이용할 수 있다. 방화벽을 우회할 수도있으며, 암호화를 지원하지 않는 프로그..

[SSH] UNPROTECTED PRIVATE KEY FILE 해결방법

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0755 for 'navercloud_lou.pem' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. private key 파일의 퍼미션이 과도하게 설정되어 있어서 다른 유저가 건드릴 수 없도록 적절한 권한으로 낮추어주어야한다. 내..

Windows와 WSL 사용법 - 마운트 / 파일전송

WSL은 윈도우10이상에서 리눅스를 사용하기 위한 도구다. Windows에서 리눅스 계열 실행파일의 표준인 ELF binary 파일을 실행할 수 있게 해주는 호환성을 추가했다. * 자세한 설명은 이 링크가 도움이 될 것 같다. 명령 프롬프트 또는 Powershell에서 bash를 입력하면 WSL에 마운트 된다. WSL에서 /mnt/드라이브를 입력하면 원하는 드라이브를 마운트 시킬 수 있어 Windows 파일 접근이 가능하다. 파일 전송과 복사도 이걸 가지고 하면된다. $ cd /mnt/c/Users/ASUS/Downloads/ $ mv ./test.txt ~

내 소스 코드가 실행되기까지의 과정

# 컴파일 언어 컴파일(Compile)은 어떤 언어를 다른 언어로 바꾸어주는 과정이다. int a = 30과 같이 우리가 적는 코드는 사람이 이해하기 쉬운 고급언어(High-level language)라서 컴퓨터는 이를 이해하지 못한다. 컴퓨터는 고급언어로 작성된 코드를 컴파일러 또는 인터프리터를 통해서 저급언어(Low-level language)로 번역한 후에야 코드를 실행할 수 있다. 저급언어에는 기계어 (Machine language)와 어셈블리어 (Assembly language)가 있다. - 기계어 CPU가 명령을 처리할때 사용하는 언어, 2진수로 이루어져있다. 1000 1011 0100 0101 1111 1000 1000 0011 1100 0100 0000 1100 - 어셈블리어 기계어의 숫자..