* 문자 집합(Charset)이란 컴퓨터에서 사용하는 문자들의 집합입니다. 그 집합들을 어떻게 모아두었느냐에 따라 이름을 정해주어야 구분해서 쓸 수 있겠지요. 문자집합의 이름으로는 유명한 ASCII, ISO8859, 유니코드 등이 있습니다.

 

* 인코딩은 해당 문자를 어떻게 코드화하겠느냐는 방식을 나타내며, 디코딩은 반대로 어떤 코드를 어떻게 문자화하겠느냐는 방식을 나타냅니다. 마찬가지로 방식에 대한 이름이 있어야 구분해서 사용할 수 있겠지요. 유니코드 인코딩, UTF, Base64, EUC-KR, CP949 등의 이름이 있습니다. 예상할 수 있듯이 문자 집합과 인코딩은 서로 뗄 수 없는 관계이기에 같은 이름이 많네요.

 

<아스키(ASCII)> - 최초의 문자집합이며 7bit를 사용합니다. ASCII라는 문자 집합을 구성하지 않고 컴퓨터를 개발했다면.. 정말 상상하기도 싫군요..

Ascii_Code_Table_Innosoft2021.pdf
0.38MB
The ASCII Code Table by Innosoft.kr

 

<ISO/IEC 8859>

  - 서유럽의 움라우트와 같은 특수 문자를 포함하기 위해 8bit를 사용하는 표준을 제정.

  - ASCII 부분을 유지하므로 당연히 ASCII와 호환됨.

 

<DBCS (Double-Byte Character Set>

  - 한글, 일어, 중국어 등 많은 문자가 필요로 하다보니 더이상 1byte로 표현불가하니 만들어 낸 문자집합.

  - ASCII 부분은 유지를 하고, 최상위 비트 0과 1로 확장 부분을 구분. 따라서 ASCII 호환됩니다.

  - 확장 부분은 2byte를 사용해서 문자를 구성합니다.

  - EUC-KR, CP949 등

 

<EUC-KR>의 문자 집합 00~7F (ASCII 호환)

  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0                                
10                                
20   ! " # $ % & ' ( ) * + , - . /
30 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
40 @ A B C D E F G H I J K L M N O
50 P Q R S T U V W X Y Z [ \ ] ^ _
60 ` a b c d e f g h i j k l m n o
70 p q r s t u v w x y z { | } ~  

<EUC-KR>의 문자 집합 B0A0~B0FF

  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
B0A0  
B0B0
B0C0
B0D0
B0E0
B0F0  

위와 같이 정해진 위치에 확정된 글자가 명시되어 있으므로 "완성형"입니다. 해당하지 않는 문자를 표현할 수 없는 것이지요. 좀더 추가된 문자를 포함하여 만든 것이 CP949입니다. 마찬가지로 완성형이고, 포함되지 않는 문자는 표현할 수 없습니다.

 

"안녕Hello"라는 문자열은 총 4byte + 5byte = 9byte를 사용하게 됩니다.

 

 

<유니코드(Unicode)>

  - 위와 같이 언어별 인코딩이 다른 불편함을 해결하고자 ISO에서 동일한 규칙을 사용하도록 만든 문자집합입니다.

  - 유니코드 문자집합을 코드화하기 위한 인코딩에는 UTF-8, UTF-16, UTF-32등이 있습니다.

 

<UTF-8> 1byte~6byte 가변 문자 길이를 사용합니다. ASCII와 호환.

en.wikipedia.org/wiki/UTF-8

 

메모장에서 "안녕Hello"를 입력하고 UTF-8로 저장.

 

텍스트 파일을 Hexa Editor로 열어보기

 

앞의 3문자 "EF BB BF"는 UTF-8을 나타내는 BOM입니다. [아래에 설명]

"안"은 "EC 95 88", "녕"은 "EB 85 95", Hello는 "48 65 6C 6C 6F"임을 알 수 있습니다.

 

<UTF-8 인코딩 과정>

  - "안" = 0xEC 0x95 0x88 = 1110 1100   1001 0101   1000 1000

  - UTF-8 인코딩 테이블을 보면 U+0800 1110으로 시작하는 문자이고 3바이트를 사용하여 표현되고 있습니다.

  - U+0800에서 구분을 위하여 사용되는 "1110", "10", "10"을 제외한 나머지를 가지고 변환합니다.

  - 1110 1100   1001 0101   1000 1000 => 1100010101001000 => 0xC548

unicodemap.org/details/0xC548/

 

<UTF-16>

  - 2byte 또는 4byte를 고정으로 사용하기 때문에 ASCII와 호환되지 않습니다.

 

<BOM(Byte Order Mark)>

en.wikipedia.org/wiki/Byte_order_mark

UTF-16의 BE(Big Endian), LE(Little Endian)의 바이트 순서에 따라 바이트를 읽는 순서를 다르게 처리해주어야 합니다.

 

UTF-8은 Byte Order와 무관하여 "EF BB BF"를 저장하며 처리하는 프로그램도 있고(메모장같은), 처리하지 않는 프로그램도 있습니다. 그래서 Visual Studio나 웹페이지 개발시에 문서의 인코딩 에러가 가끔 나타나는 문제가 있지요. 각각의 프로그램에 맞게 BOM을 삭제하거나 추가하여 사용하면 문제를 해결할 수 있습니다.

 

 

2021.04월.읽음 - 학교뿐 아니라 보통은 회사에서도 알려주지 않는듯.. 게다가 보통의 경우 내용들은 들어보고 무엇인지는 알아도 명확하게 아는 개발자는 정말 한정된 것 같습니다. 내부적인 것은 몰라도 프로그래밍하는데에는 일반적으로 문제가 덜 되는 컴퓨터 세상이 되어 그런것 아닐까 싶지만.. 좋은 내용을 쉽게 잘 풀어 설명해주시는 좋은 책입니다.

학교에서 알려주지 않는 17가지 실무 개발 기술 - 이기곤 지음 [한빛미디어 2020년 4월 16일]

 

1부 소프트웨어를 지탱하는 기술

 

1장 문자열 인코딩

2장 다국어 처리

3장 날짜와 시간

4장 정규 표현식

5장 범용 고유 식별자

6장 난수

7장 해시 함수

 

2부 데이터 처리 기술

 

8장 JSON

9장 YAML

10장 XML

11장 프로토콜 버퍼

12장 Base64

13장 데이터 압축(zlib)

 

3부 웹을 지탱하는 기술

 

14장 HTTP

15장 RESTful API

16장 HTTPS

17장 OAuth 2.0

 


 

1부 소프트웨어를 지탱하는 기술

 

1장 문자열 인코딩

  • 문자열 인코딩이란, 아스키 코드(ASCII), EUC-KR(CP949), 유니코드(UTF-8, UTF-16, UTF-32)
  • 문자 집합(Charset) : 사용할 수 있는 문자들의 집합. 유니코드, ISO-8859, ASCII
  • 문자열 인코딩 : 문자를 코드로 표현하는 방식. UTF-8, UTF-16, UTF-32
  • 아스키 코드표
  • EUC-KR 문자 집합 : 완성형. 한글 문자 표현 2 byte, ASCII 문자 표현 1byte. CP949는 EUC-KR를 확장하여 더 많은 문자 표현하도록 한 문자 집합.

2장 다국어 처리

  • i18n이란, i18n 적용하기: gettext
  • i18n : 다국어 지원을 위해 만든 국제 표준. internationalization을 줄여서 i18n으로 표시.
  • Localization = l10n, Globalization = g11n
  • 다양한 플랫폼과 프레임워크에 맞춘 i18n 프로그램이나 플러그인을 활용할 수 있습니다.

3장 날짜와 시간

  • 타임 스탬프, 단조 시간, 실제 시간, 타임 존
  • 타임 스탬프(Timestamp)는 컴퓨터가 시간을 표현하기 위해 사용하는 값.
  • 타임 스탬프 값은 1970년 1월 1일 0시 0분 0초부터 1초 단위로 계속 증가.
  • 단조 시간(Monotonic time)은 운영체제 또는 CPU와 같은 하드웨어에서 직접 계산하는 시간.
  • 실제 시간(Real time = Wall clock) : 실제 시간도 컴퓨터가 직접 계산하지만 시간 서버로부터 주기적으로 값을 가져와서 동기화.
  • 타임존 : 한국은 UTC+9시간이 기준시간.

4장 정규 표현식

  • 정규 표현식(Regular Expression)은 주어진 문자열 속에서 특정 패턴을 가진 문자열을 찾을 때 사용.
  • 특정 문자열 : super <'super' 문자열 찾기>
  • 특정 문자 여러개 : [super] <s, u, p, e, r 모든 문자 찾기]
  • 소문자 : [a-z], 대문자 : [A-Z], 대소문자 : [a-zA-Z]
  • 숫자 1개 : [0-9], 대소문자+숫자 : [a-zA-Z0-9], 소문자+숫자+쉼표+길이3자 : [a-z0-9,]{3}
  • 소문자 문자열 : [a-z]+
  • 문자열의 시작 : ^super <super로 시작하는 문자열 찾기>
  • 문자열의 끝 : man$ <man으로 끝나는 문자열 찾기>
  • 정규 표현식 처리속도는 꽤 느린편이므로 특정 웹페이지나 RESTful API처럼 특정 시간 내에 응답을 해야하는 경우 등은 정규 표현식 대신 파서(Parser) 라이브러리를 사용하는게 좋음.
  • 참고 : RegExr (웹기반 정규표현식 테스트)

5장 범용 고유 식별자

  • UUID 구조, 버전
  • 범용 고유 식별자(Universally Unique IDentifier, UUID) : 컴퓨터 시스템 내에서 고유한 객체를 식별하기 위해 사용하는 값.
  • UUID 구조 : 16진수 32개와 하이픈(-) 4개. '8개-4개-4개-4개-12개' <하이픈은 생략 가능>
    • 1234ABCD-1234-1234-1234-123456789ABC' = '1234ABCD123412341234123456789ABC'
    • UUID 저장시에는 하이픈 제외한 16진수만 저장. 총16bytes(128bit) 사용됨.
  • 많은 식별자가 필요하지 않을 때는 일부 값만 랜덤하게 생성해서 사용. 'innosoft-1234-1234-...'
  • UUID 버전1 : 컴퓨터 맥 주소와 타임스탬프 값 기반 UUID 생성 <더이상 사용 안 함>
  • UUID 버전2 : 규모 큰 시스템 환경 고려 자릿수 일부를 site-defined로 남겨둠. <더이상 사용 안 함>
  • UUID 버전3 : 네임스페이스와 문자열을 해시 함수를 사용 UUID로 변환. MD5기반.
  • UUID 버전5 : 네임스페이스와 문자열을 해시 함수를 사용 UUID로 변환. SHA-1 기반.
  • UUID 버전4 : 가장 많이 사용하는 UUID 버전. 버전 표기하는 4비트 제외 나머지 122비트 모두 무작위 생성.

6장 난수

  • 유사 난수, 암호학적으로 안전한 난수, 공정한 난수(셔플 백)
  • 유사 난수(Pseudo random) : 난수표, 난수 알고리즘, 알고리즘 초기화에 사용할 시드(Seed)값으로 생성한 난수.
    • 알고리즘 대신 열 잡음, 광전자 등 신호의 노이즈를 이용해 시드가 불필요한 HRNG(Hardware random number generator)를 사용하기도 함.
    • 충분한 수(624개)의 난수 확보시 다음 난수 예측 및 시드값 역 예측 가능. 암호학적 관점에서 불안전.
    • 타임스탬프 시드값 사용하면 시간에 따라 비슷한 난수가 생성될 확률 큼.
    • <포켓몬스터>의 루프(loop) 또는 랜덤 어뷰즈(RNG abuse), <에픽세븐>의 특정시간 동일 아이템 얻는 문제.
  • 암호학적으로 안전한 난수(Secure random) - 생성속도 느리지만 시드값 사용하지 않아 예측 불가능.
    • 리눅스/유닉스는 /dev/urandom 파일 읽은 값 사용, 윈도우는 BCryptGenRandom() 함수에서 반환값 사용.
  • 공정한 난수(셔플 백) : 당첨 제비 3개와 꽝 제비 7개를 넣고 적당히 섞은 후, 뽑는 순서만 난수를 적용하는 방식.
    • 전체 요소가 많거나 확률이 희박한 경우 모든 경우의 수를 담기 위해 필요한 컨테이너 크기가 커지는 단점.
  • 랜덤박스 : 예측할 수 없고 암호학적으로 안전한 난수 사용 필요. 유사 난수를 사용해야 한다면 선형적으로 증가하거나 감소하지 않으며 예측할 수 없는 시드 값을 사용.
  • 전투 규칙 : 치명타가 발생하지 않으면 다음 공격의 치명타를 높이는 방법. 또는 셔플 백 등.

7장 해시 함수

  • 해시 함수(Hash function) : 임의의 입력값을 고정된 길이의 해시 값으로 변환하는 함수.
    • 입력값: 문자,숫자,바이너리 등 거의 모든 형태. 변환후 데이터 값을 해시 값(바이너리 형태)
    • 비밀번호 검증, 데이터가 변하지 않았음을 보장<해시 함수가 암호화를 제공하지는 않음>
    • MD5(Message-digest algorithm5): 해시 충돌 취약점 확인됨.
    • SHA-1(Secure Hash Algorithm-1): 해시 충돌 취약점 확인됨.
    • SHA-2(Secure Hash Algorithm-2): SHA-224, SHA-256, SHA-384, SHA-512 (SHA-256이상 권장)
      • 대규모 사용자 기반 서비스라면 멀티 코어 활용하는 Blake2b 해시 함수 고려.
    • 솔트(Salt) 기술: 입력받은 비번등에 특수 문자열을 더하여 해시 함수에 사용.
    • 바이너리 데이터의 무결성 검증 : 파일에 대한 해시 값을 만들었으므로, 동일 파일을 서버에 저장할 필요없이 해시 값만 저장. MurmurHash3처럼 암호학적으로 민감하지 않되 성능 빠른 해시 함수 고려..
  • 해시 값을 키로 사용 : 데이터가 많다면 충돌 가능성이 낮은 해시 함수 고려.
    • 생일 역설(Birthday paradox) : 23명 모이면 같은 생일일 확률 50%, 57명이면 99%가 넘음.
  • 시스템에 따른 고려 사항: 1) 입력값의 크기 2) 보안 수준 3) 해시값의 용도

 

2부 데이터 처리 기술

 

8장 JSON

  • JSON(JavaScript Object Notation) : 숫자, 문자, 참 또는 거짓 등 여러 형태의 데이터를 키(Key)와 값(Value)으로 구조화된 객체(Object)에 담아 처리하는 규격.
  • 몽고DB와 같은 NoSQL 데이터베이스는 JSON과 거의 동일한 BON을 공식 규격으로 사용.
  • JSON 규격: UTF-8 인코딩만 허용. BOM 허용하지 않음. 주석 지원하지 않음.
    • 주석필요시 XML이나 YAML 고려.
  • 키 문자열은 Ascii 코드만 사용을 추천. 객체 직렬화//역직렬화시 추가 코드 작업이 필요하게 됨.
  • 오류 줄이기: 1) try-catch 2) 사용전 key 검사 3) interlock 및 assert()
  • 단점: 1) 텍스트 기반에 기인한 불필요한 트래픽 오버헤드 2) 텍스트 기반에 기인한 메시지 호환성(오타 및 수정 등) 유지의 어려움

9장 YAML

  • YAML(Yet Another Markup Language): 이메일 양식에서 힌트를 얻어 만든 '사람이 쉽게 읽을 수 있는' 데이터 규격.
  • YAML 특징: 주석 지원, 유니코드(UTF-8, UTF-16, UTF-32) 지원, 앵커(Anchors)와 별칭(Aliases)
  • 앵커와 별칭: *, &, <<를 활용하여 값 참조
  • 민감한 정보들은 레디스(Redis, Remote Dictionary Server)와 같은 키-값 저장소에 보관하고, YAML 동적 생성이나 RESTful API 서버로부터 값을 받아 사용하자.

10장 XML

  • XML : 웹에서 규격화된 데이터를 효율적으로 주고받기 위해 만든 마크업 언어.
  • XML은 문자 인코딩을 직접 지정할 수 있으나 인코딩 정보가 파일 안에 있어서 파일 인코딩 정보를 미리 알고 있어야 함.
  • 태그, 요소, 속성

11장 프로토콜 버퍼

  • 스키마 파일, 인터페이스 코드, 메시지 객체
  • 프로토콜 버퍼(Protobuf, Protocol Buffers): 구글에서 만든 데이터 직렬화 규격. 바이너리 기반 규격.
  • 프로토콜 버퍼 사용 방법
    • .proto: syntax="proto3";, message, string, int64, bytes, enum, repeated, map, oneof(추상화계층), Any
    • protoc.exe(프로토콜버퍼 컴파일러): protoc-3.x.x-win64.zip
    • protobuf(Protobuf 라이브러리): protobuf-python-3.x.x.zip
    • 스키마 파일(.proto) -> 컴파일러(protoc) -> 인터페이스 코드(.py) -> 프로젝트
    •                                                                                             ↑
    •                                                  Protobuf 파이썬 라이브러리 ------'
  • 프로토콜 버퍼를 JSON으로 변환하는 의 경우 바이트 데이터가 Base64로 인코딩됨.

12장 Base64

  • Base64 인코딩/디코딩, URL-Safe Base64
  • Base64: 바이너리 데이터를 아스키 코드 일부와 일대일로 매칭되는 문자열로 단순 치환하는 인코딩 방식. (높은 확률로 ==로 끝나는 문자열), 문자열 -> 비트화 -> Base64 코드표 기반 인코딩
  • 기존 데이터 길이보다 30%정도 늘어나지만, 바이너리 데이터를 문자열 기반 데이터로 취급할 수 있어 유용함.
  • JSON 데이터에 이미지 파일을 포함하려는 경우 등: 이미지를 Base64로 인코딩하여 UTF-8과 호환 가능한 문자열로 처리.
  • Base64 인코딩: 위키백과 베이스64, 패딩('=','=='):3바이트로 나눈 나머지만큼 패딩추가.
  • Base64 디코딩: 인코딩 역순. 단지복원 데이터의 형태를 알 수 없기에 형태를 같이 기입.
    • { "type": "image", "data": "ewPKIsH..." }
  • 오늘날 스트림 데이터 처리를 위해 Base64를 주고받는 환경은 거의 없고, RTMP(Real Time Messaging Protocol)이나 HLS(HTTP Live Streaming)등으 동영상 프로토콜을 활용함.
  • URL-Safe Base64: URL 주소에서 사용할 수 없는 문자들을 치환하여 사용
    • - + → - 로 / _ 로 = . 로 (URL주소는 길이를 알기 때문에 패딩을 생략)
  • HTTP로 큰 파일을 보내야 한다면 HTTP 멀티 파트 기능 고려.

13장 데이터 압축(zlib)

  • zip, zlib, DEFLATE, INFLATE
  • zlib는 상용 프로그램에서도 라이선스 비용 없이 사용할 수 있는 가장 많이 사용하는 무료 압축 라이브러리.
  • HTTP또는 WebSocket 프로토콜은 DEFLATE 통신 기본 지원하지만, 브라우저와 Nginx같은 웹 서버 프로엠워크에서 해주므로 알아채기 어려울 뿐.
  • zlib 라이브러리 자체는 표준이 아니지만, 라이브러리에서 DEFLATE 압축 표준을 지원하며 사실상 표준에 가까운 라이브러리로 자리잡음.
  • 압축(Compression): 데이터의 공통된 부분을 찾아 하나로 묶어 그 정보를 저장하는 행위
    • DEFLATE 알고리즘은 공통 부분 찾기위해 L777 알고리즘 사용.
    • 이렇게 찾은 정보를 허프만 부호화(Huffman Coding)알고리즘으로 무손실 압축.
    • INFLATE 알고리즘으로 압축 해제
  • 손실 압축(Loss compression), 무손실 압축(Lossless compression) : 당연히 DEFLATE는 무손실압축. 압축률(Compression ratio), 압축 레벨(Compression level) 1~ 10단계, 압축 속도(Compression speed), 압축 해제 속도(Decompression speed), 체크섬(Checksum)
  • UDP등 무결성이 보장되지 않는 경우 CRC32등으로 데이터의 무결성을 확인하는 것이 좋음.
    • ADLER32는 CRC32보다 빠른 체크섬 방식.

 

3부 웹을 지탱하는 기술

 

14장 HTTP

  • 무상태성, HTTP 서버, 세션과 쿠키, 스티키 세션, CORS, 아파치와 Nginx
  • HTTP(HyperText Transfer Protocol): 서버와 클라이언트가 텍스트, 이미지, 동영상 등의 데이터를 주고받을 때 사용하는 프로토콜.
  • 무상태성(Stateless): 요청 메시지를 보내기 직전까지 대상 컴퓨터가 연결 가능한지, 메시지를 응답할 수 있는 상태인지 알 수 없는 상태. [vs Stateful Protocol(ex. TCP)]
  • 간단한 HTTP 서버: GET / HTTP/1.1\r\n <요청 메서드> <URL 경로> <HTTP 버전>\r\n
  • HTTP 요청
    • 요청 메서드: GET, POST, DELETE, PUT
    • URL, DNS, URI(Uniform Resource Identifier): 특정 자원 위치
    • 요청헤더: Host, Accept, User-Agent, Content-Type, Content-Length, Connection:keep-alive
    • 메시지 바디
  • HTTP 응답: HTTP/1.0 200 OK, 상태코드
  • 세션과 쿠키: GDPR(General Data Protection Regulation, 유럽연합 일반 데이터 보호 규칙)
  • 스티키 세션(Sticky session): 하나의 브러우저는 하나의 웹 서버에만 연결. (로드밸런스 서비스의 쿠키 문제 해결)
  • CORS(Cross-origin resource sharing, 교차 출처 리소스 공유): HTTP 서버의 웹 페이지, 이미지나 API 등을 특정 호스트로 접속한 웹 브라우저만 사용할 수 있게 제한하는 정책.
    • Same origin policy(동일 출처 정책)으로 인해 다른 서브 도메인 간 리소스 공유가 어려워지는 문제 해결.
    • CORS 단순 요청: 요청 정보가 간단해 별다른 보안 검증이 필요하지 않은 교차 출처 리소스 공유.
    • CORS 사전 요청: 추가적인 보안 검증이 필요한 요청.
  • 아파치와 Nginx
    • 웹 서버: 요청 처리, 정적 파일 캐시, 로드 밸런스 기능 지원, 압축 및 보안 기능 등등..
    • Ngix 권장: 수평적 확장에 유리한 단일 스레드, 이벤트 기반, More than 아파치 다중 사용자 처리 입증.

15장 RESTful API

  • RESTful API(Representational state transfer): 분산 시스템을 위한 소프트웨어 아키텍처의 한 형태.
  • 애저 API 디자인 가이드 문서
  • 글쓰기 API: http://localhost:5000/v1/posts, 메서드(POST, PUT/PATCH, DELETE)
  • API 테스트: 포스트맨(Postman)
  • 단일 글 읽기: GET http://localhost:5000/v1/posts/<글 번호>
  • 여러 글 읽기: http://127.0.0.1:5000/v1/posts?size=<글 개수>
  • 글 업데이트 API: PUT http://127.0.0.1:5000/v1/posts/<글 번호>
  • 글 삭제 API: DELETE http://127.0.0.1:5000/v1/posts/<글 번호>
  • 고려사항
    • OAuth 표준 인증과 인가 기능
    • DDOS 또는 클라이언트 버그로 Too many Call: 분당 API 호출 제한 정책

16장 HTTPS

  • HTTPS 핸드셰이킹
  • HTTPS(HyperText Transfer Protocol over Secure Socket Layer): TCP대신 TLS(Transport Layer Security) 프로토콜 기반
    • 예전에는 SSL(Secure Sockets Layer) 프로토콜을 사용했으나 너무 많은 취약점으로 더이상 사용하지 않음. 이름을 그대로 사용하는 경우라도 내부는 TLS 기반
  • 신뢰할 수 있는 인증서 발급 기관 목록: https://www.checktls.com/showcas.html
  • TLS 버전: 1TLS 1.0(지원중단), TLS 1.1(지원중단), TLS 1.2, TLS 1.3
  • 메시지 암호 키 교환: RSA(비공개키로 인한 보안 이슈로 1.3부터는 지원하지 않음), DHE -> ECDHE, PFS(Perfect Forward Security, 비밀 키가 노출돼도 과거에 주고받은 메시지가 안전한 특성)
  • 인증서(X.509): CA(Certificate Authority, 인증 기관)

17장 OAuth 2.0

  • OAuth 1.0a vs OAuth 2.0
  • OAuth: 데이터를 간편하고 안전하게 주고받기 위해 만들어진 표준.
    • 리소스 서버(resource server)만 액세스 토큰(access token) 발급.. 일정 시간후 폐기(revoke)
  • OAuth 1.0a: API를 사용하는 클라이언트의 권한 및 인증 역할 모두 수행. 안전하지만 복잡.
    • 서명(signature), 요청 토큰(request token)등 직접 구현 필요.
  • OAuth 2.0: 구조 간단 사용하기 쉬움. 하지만 가로채기 형태의 공격에 취약.
    • 보완 방법은 개발자의 몫: HTTPS위에서 OAuth 2.0 사용 등
  • 용어
    • 리소스 소유자(resource owner): = 최종 사용자(end-user). 상황에 따라 백엔드 서버 등
      • 주의점: 사용자의 권환 검증
    • 리소스 클라이언트(resource client)
      • 주의점: 액세스 토큰 관리, 공식 SDK 사용, 클라이언트 ID 및 시크릿 관리, HTTPS 사용
    • 인가 서버(authorization server): 액세스 토큰과 인가 코드를 관리하는 서버.
      • 주의점: 액세스 토큰 관리. 리소스 클라이언트 응답 처리
    • 리소스 서버(resource server): 리소스 관리 및 API 제공 주체
      • 주의점: 액세스 토큰 권한 검사, 클라이언트 데이터 검증
    • OAuth 2.0 동작 구조
  • JWT(JSON Web Token): 인가 서버 대신 토큰 안에 인가 정보를 포함하여 부하 줄이는 방법.

 

 

 

지인 분이 책을 집필하셔서 축하겸 소개드립니다 ^^~ 오래전 알 때부터 IT를 사랑하시고 IT 독서를 열심히 하시는 걸 보며 성공할 것이라 믿어 의심하지 않았지요 ㅎㅎ. 책상에 컴퓨터, 키보드, 마우스, 책 한권, 종이, 볼펜 외에는 아무 것도 없이 깔끔하게 쓰시는 걸 아직도 잊을 수 없습니다. 아직도 따라해보려 노력하는데 정말 쉽지 않아요.

죽을 때까지 코딩하며 사는 법 - 홍전일 저 [로드북 2021년 04월 12일]

책소개

코로나19를 기점으로 개발자 수요는 폭발적으로 증가했다. 앞으로는 개발자 연령 상한이 높아지고 재택 업무의 비중 또한 코로나19 이전과는 비교할 수 없을 정도로 늘어날 것이다. 점점 평생 코딩에 유리한 환경이 되어가고 있다. 하지만 당신 얼마나 준비되어 있는가? 코딩으로 잔뼈가 굵은 사람은 치킨집을 기웃거리기보다, ‘죽을 때까지 코딩’하며 사는 것이 맞다. 우리는 코딩 속에서 열정과 행복을 경험해보았기 때문이다. 『죽을 때까지 코딩하며 사는 법』은 “죽을 때까지 코딩하기”, 그 방법을 찾아가는 이야기이다.

 

목차

 

프롤로그

1장 어느 개발자의 죽음

생명 위협
왜 이 일을 시작했을까?
열정 없는 개발자
키보드 대신 숟가락
소프트웨어 장인
말, 말, 말

2장 단절의 시대

인간의 수명
살려는 드릴게
관점 바꾸기
그건 도둑질이야!
재택근무
말, 말, 말

3장 바람을 사랑하는 법

바람
촛불 개발자
촛불 기업
촛불을 피하는 법
말, 말, 말

4장 모닥불 개발자

코딩의 도
시간
습관적으로
순차적 논리 전개
마법수
저글링하기
우뇌형 개발자
낯선 사람 효과
독서의 중요성
전문가로 살기
말, 말, 말

5장 모닥불 조직

로젠탈 효과
멘토
대중의 지혜
오른쪽을 보시오
목표에 대해서
애자일
모닥불 조직
말, 말, 말

6장 죽을 때까지 코딩하기

두 개의 마음
머니볼
새로운 미래가 온다
죽을 때까지 코딩하기
말, 말, 말

부록 1 레퍼런스 1
이 책에 영향을 준 사람

부록 2 레퍼런스 2
이 책에 영향을 준 도서

에필로그

찾아보기

 

 

상세 이미지

저자 소개 (1명)

저 : 홍전일

관심작가 알림신청 작가 파일

코딩?리포트에 열 올리며 밤을 새버린 어느 날, 평생 이 일을 하며 살면 좋겠다고 생각했습니다. 그 후로 PDA(개인정보단말) 애플리케이션 개발자, 셋탑박스 애플리케이션 개발자를 거쳐 현재 와디즈 플랫폼에서 프론트엔드 개발자로 일하고 있습니다. 죽는 그날까지?코딩하며 살아가는 것이 꿈이자 소원입니다. 이를 위해 지금까지 노력해 왔고, 앞으로도 노력해 나갈 예정입니다.

 

 

YES24

 

 

2021.04월.읽음 - 2020.05 출판 당시 보았다면 더욱 좋았을테지만 지금도 설명이 좋습니다. 종목 추천이 아니며, 현재 1년이 지났기 때문에 진중한 분석으로 신중한 투자가 필요합니다. 투자 손실에 대한 책임은 본인에게 있습니다.

 

미국주식 스몰캡 인사이드 2021 - 안석훈, 김동식, 강범준, 최아원 저 [예문 2020년 05월 07일]

 

PART 1 언택트 트랜드와 정보기술

 

병원 가기가 두려운 시대, 원격 진료 서비스 1위 업체

* 텔라닥 헬스(Teladoc Health Inc. TDOC, NYSE). 매출액 5억5천만 달러. IPO 2015년7월 공모가 19달러

  - 4차산업, 고령화, 비대면, 

  - 경쟁: 엠디라이브(MDLive), 아메리칸 웰(American Well), 유나이티드헬스 그룹(United Health Group)

  - 2020.04.17 : 173.27달러 -> 2021.04.01 : 182.79달러

  - 뉴지랭크US : TDOC

  - 개인적으로 향후 원격 진료 시장은 밝을 것으로 예상하여 이미 TDOC과 AMWL을 일부 보유중입니다. 장기투자 관점에서 기업의 적정 주가 평가와 사업 상태를 파악하여 좋은 가격에서 지속 매수 예정입니다. 독점적인 IT 기술은 아니지만 병원 및 의사들이 한번 사용하면 큰 문제가 없는 한 쉽게 바꾸지는 않을 것이고, 아직도 시작 단계의 사업이라는 점에서 높게 평가합니다. 하지만 그렇기에 주의하여 투자가 필요합니다.


미국판 배달의 민족, 시장의 판을 바꾸다

* 그럽허브(GrubHub Inc. GRUB, NYSE) 매출액 13억 1천만 달러. IPO 2014년4월 공모가 26달러

  - 배달 서비스. 미국같은 넓은 영역에서는 불가능하지 않을까 싶었는데 역시 사업가는 대단함.

  - 경쟁: 도어대시(DoorDash), 우버 잇츠(Uber Eats), 포스트메이츠(Postmates), 블루 에이프런(Blue Apron), 인스타카트(Instacart), 아마존닷컴(Amazon.com), 월마트(Walmart)

  - 2020.04.17 : 42.50달러 -> 2021.04.01 : 63.38달러

  - 뉴지랭크US : GRUB

  - 개인적으로 향후 어느 정도까지는 배달 서비스가 증가할 것임에 동의하는 바가 있습니다. 하지만 10년 20년 뒤를 바라보고 느린 투자를 하는 저로서는 그때까지의 모습을 상상하기 어려워 지금은 들어가지 않았습니다. 마찬가지로 독점적인 IT 기술이 아니고 경쟁이 심하다는 점도 조심스럽게 합니다. 하지만 대형 기업들도 뛰어들고 있고, 앞으로의 시장 성장성과 판도가 어떻게 바뀌게될지 지속 바라볼 필요는 있을 것 같습니다.


언택트 시대에 주목받는 비디오 콘퍼런싱의 신흥 강자

* 줌 비디오 커뮤니케이션즈 (Zoom Video Communications Inc. ZM, Nasdaq) 매출액 6억 2천만 달러. IPO 2019년4월 공모가 36달러.

  - 클라우드 기반 비디오 콘퍼런싱, 줌 디벨로퍼 플랫폼, 줌의 기업 문화, 프리미엄(Freemium) 전략.

  - 경쟁: 마이크로소프트(Microsoft), 씨스코 시스템즈(Cisco Systems), 구글(Google)

  - 2020.04.17 : 150.06달러 -> 2021.04.01 : 326.23달러

  - 뉴지랭크US : ZM

  - 개인적으로 좋아보이네요. 가족까지 생각하는 좋은 기업이라니 멋집니다. SF 영화처럼 모든 기기에서 영상통화가 이루어지는 모습에서 Zoom이 독보적인 위치에 있는 모습을 상상해 봅니다. 경쟁자들도 쟁쟁하니 비디오 콘퍼런싱이 4차산업에서 어떠한 모습으로 변해갈지 지켜보면 좋겠네요.


발 빠른 기업들의 새로운 트렌드, 협업 메신저의 끝판왕

* 슬랙 테크놀로지스 (Slack Technologies, Inc. WORK, NYSE) 매출액 6억 3천만 달러. IPO 2019년6월 공모가 26달러.

  - 협업툴, 메신저, 직관성/편리성, 

  - 경쟁: 마이크로소프트(Microsoft), 페이스북(Facebook), 잔디(JANDI)

  - 2020.04.17 : 28.10달러 -> 2021.04.01 : 41.25달러.

  - 뉴지랭크US : WORK

  - 개인적으로 협업툴 관련하여 알고 있는 기업입니다. 오래전엔 MSN 메신저(ㅋㅋ) -> 네이트온 -> 카카오톡이었는데, 요즈음엔 슬랙 많이 사용한다고 알고 있습니다. 지원되는 플러그인과 연동 가능한 서비스도 많습니다. 대신 한 시대의 반짝이는 트랜드는 아닌지 지속 지켜봅시다.


업무의 완성도를 높여주는 협업 도구의 명가

* 아틀라시안 (Atlassian Corp. Plc, TEAM, Nasdaq) 매출액 12억 1천만 달러. IPO 2015년12월 공모가 21달러.

  - 협업툴, 지라(Jira, 이슈와 버그 추적 시스템), 컨플루언스(Confluence, 웹 문서 작성 및 버전 관리), 비트버킷(BitBucket, 소스코드 버전 형상 관리), 트렐로(Trello, 웹기반 할일), 플라이휠(Fly Wheel) 전략

  - 경쟁: 슬랙 테크놀로지스(Slack Technologies), 자이브 소프트웨어(Jive Software)

  - 2020.04.17 : 152.25달러 -> 2021.04.01 : 223.06달러

  - 뉴지랭크US : TEAM


클라우드와 인공지능을 기반으로 한 보안 업계의 다크호스

* 크라우드스트라이크 홀딩스 (CrowdStrike Holdings Inc. CRWD, Nasdaq) 매출액 4억 8천만 달러. IPO 2019년6월 공모가 34달러.

  - 클라우드 컴퓨팅, 기존 종단 보호 서비스의 단점 -> 클라우드 기반의 종단 보호 서비스, 구독 기반 서비스

  - 경쟁: 시만텍(Symantec), 지스케일러(Zscaler), 안랩(AhnLab)

  - 2020.04.17 : 64.74달러 -> 2021.04.01 : 187.03달러.

  - 뉴지랭크US : CRWD

  - 기업을 위한 좋은 기업입니다. 하지만 개인적으로 마이크로소프트, 애플처럼 개인 사용자의 마음을 파고드는 멋진 역사를 만들어낼 수 있을지를 모르겠기에 들어갈 수는 없네요.


스트리밍 시대, 놓쳐서는 안 될 보안 업계 기대주

* 클라우드플레어 (Cloudflare Inc. NET, NYSE) 매출액 2억 8천만 달러. IPO 2019년9월 공모가 15달러

  - 5G, 6G, 스트리밍, CDN(Contents Delivery Network), 트래픽 문제 해결 솔루션

  - 경쟁: 아카마이 테크놀로지스(Akamai Technologies), 아마존 웹 서비시스(Amazon Web services)

  - 2020.04.17 : 24.83달러 -> 2021.04.01 : 71.79달러

  - 뉴지랭크US : NET


 

PART 2 대세가 된 공유 경제와 라이프

 

글로벌 모빌리티 플랫폼 시장의 절대적 1위

* 우버 테크놀로지스 (Uber Technologies Inc. UBER, NYSE) 매출액 141억 4천만 달러. IPO 2019년5월 공모가 45달러.

  - 모빌리티 플랫폼 서비스, 글로벌 라이드 쉐어링

  - 경쟁: 리프트(Lyft), 비아(Via), 주노(Juno)

  - 2020.04.17 : 28.00달러 -> 2021.04.01 : 57.60달러

  - 뉴지랭크US : UBER


우버를 위협하는 미국 라이드 쉐어링 업계 2인자

* 리프트 (Lyft, Inc. LYFT, Nasdaq) 매출액 36억 1천만 달러. IPO 2019년3월 공모가 72달러

  - 라이드 쉐어링

  - 2020.04.17 : 29.07달러 -> 2021.04.01 : 64.64달러

  - 뉴지랭크US : LYFT


원조 등골 브레이커, 미국 의류 산업의 산증인

* 브이에프 코퍼레이션 (V.F. Corporation, VFC, NYSE) 매출액 133억 4천만 달러. 창립 1899년 10월.

  - 보유 브랜드 : 노스 페이스, 반스, 팀버랜드, 키플링, 딕키스, 잔스포츠, 이스트팩 등

  - V.F에서 분리상장된 콘투어(Kontoor)가 미국 백팩 시장과 남자 청바지 시장의 절반 차지.

  - 패션 의류 공유 경제 개념 구독 서비스 : 렌트 더 런웨이, 눌리, 뉴욕 앤 컴퍼니, 익스프레스, 바나나 리퍼블릭, 아메리칸 이글 등

  - 경쟁: 리바이 스트라우스(Levi Strauss & Co), 갭(The gap), 피브이에이치, 캐나다 구스, 룰루레몬 애쓸레티카, 나이키, 아디다스, 뉴 발란스 애쓸레틱 슈

  - 2020.04.17 : 57.50달러 -> 2021.04.01 : 79.49달러

  - 뉴지랭크US : VFC


빌 게이츠가 투자한 대체 육류 대중화의 리더

* 비욘드 미트 (Beyond Meat Inc. BYND, Nasdaq) 매출액 2억 9천만 달러. IPO 2019년5월 공모가 25달러

  - 식물성 단백질을 활용한 대체육 가공 기업.

  - 경쟁: 임파서블 푸즈(Impossible Foods), 타이슨 푸즈(Tyson Foods), 켈로그 모닝스타 팜즈(Kellogg's MorningStar Farms)

  - 2020.04.17 : 76.91달러 -> 2021.04.01 : 131.38달러

  - 뉴지랭크US : BYND

  - 개인적으로 고기는 고기지라는 생각이지만, 먼 미래를 생각하면 괜찮은 기업이 될 수 있지 않을까 하는 마음을 긁었습니다. 관심 종목으로 두고 좋은 가격에 지속 담고 싶네요.


스마트폰 시대, 안구 건강의 선구자

* 알콘 (Alcon Inc. ALC, NYSE) 매출액 75억 달러. 창립 1945년.

  - 안약 투약병의 표준.

  - 경쟁: 바슈롬(Bausch & Lomb), 애벗 메디컬 옵틱스(Abbott Medical Optics), 앨러간(Allergan)

  - 2020.04.17 : 53.13달러 -> 2021.04.01 : 71.16달러

  - 뉴지랭크US : ALC

  - 전자기기의 사용량은 앞으로도 높아지겠지요. 해결책은 알약뿐이 될런지 세상을 지켜봐야겠습니다.


 

PART 3 성장과 배당을 동시에, 고배당주

프링글스 깡통을 만드는 미국 포장 산업의 역사 그 자체

* 소노코 (Sonoco Products Co. SON, NYSE) 매출액 53억 7천만 달러, 창립 1899년

  - 프록터 앤 갬블(PG)이 1968년 개발한 프링글스를 담는 컴포지트 캔.

  - 2020.04.17 : 49.85달러 -> 2021.04.01 : 64.00달러.

  - 뉴지랭크US : SON

 

배당 성장 25년의 시중 상업 은행

* 피플스 유나이티드 파이낸셜 (People's United Financial Inc. PBCT, Nasdaq) 매출액 18억 4천만 달러. 창립 1842년.

  - 경쟁: 자이온스

  - 2020.04.17 : 11.48달러 -> 2021.04.01 : 18.10달러

  - 뉴지랭크US : PBCT


어디를 가든 눈에 띄는 미국 옥외 광고의 역사

* 라마르 애드버타이징 (Lamar Advertising Co. LAMR, Nasdaq) 매출액 17억 5천만 달러. 창립 1902년

  - 미국 고속도로 옥외 광고

  - 각 주별 법적 허가 문제가 있어서 경제적 혜자.

  - 2020.04.17 : 52.56달러 -> 2021.04.01 : 95.25달러

  - 뉴지랭크US : LAMR


미국 북동부 쇼핑센터 리츠의 절대 강자

* 얼스태드 비들 프로퍼티스 (Urstadt Biddle Properties Inc. UBA, NYSE) 매출액 1억 3천만 달러. 창립 1969년

  - 쇼핑센터 전문 리츠.

  - 경쟁: 사울 센터스(Saul centers, BFS)

  - 2020.04.17 : 12.84달러 -> 2021.04.01 : 17.10달러


기후 변화의 솔루션, 미국 최초의 신재생 에너지 투자 전문 리츠

* 해넌 암스트롱 서스태이너블 인프라스트럭처 캐피탈 (Hannon Armstrong Sustainable Infrastructure Capital, HASI, NYSE) 매출액 1억 4천만 달러.창립 1981년

  - 2020.04.17 : 26.81달러 -> 2021.04.01 : 54.74달러

  - 뉴지랭크US : HASI


잘 알려지지 않은 작지만 강한 유틸리티 회사

* 사우스웨스트 가스 홀딩스 (Southwest Gas Holdings Inc. SWX, NYSE) 매출액 31억 1천만 달러. 창립 1931년3월.

  - 공익사업(Public Utilities)

  - 2020.04.17 : 77.52달러 -> 2021.04.01 : 68.24달러.

  - 뉴지랭크US : SWX


 

PART 4 새로운 전기를 맞이할 합병 상장 관련 이슈

 

영화팬들의 전폭적인 지지를 받는 라라랜드 영화사

* 라이온스게이트 엔터테인먼트 (Lions Gate Entertainment Corp. LGF.A, NYSE) 매출액 36억 8천만 달러. 창립 1997년

  - <나우유씨미>, <다이버전>, <존 윅>, <쏘우>, <라라랜드> 등

  - 경쟁: 패러마운트 픽처스(Paramount Pictures), 유니버설 스튜디오(Universal Studio), 20세기 폭스(20th Century Foc), 워너 브라더스 픽처스(Warner Brothers Pictures), 소니 픽처스(Sony Pictures), 월트 디즈니 픽처스(Walt Disney Pictures)

  - 온라인 스트리밍 서비스: 넷플릭스(Netflix), 애플(Apple), 월트 디즈니(The Walt Disney Company), 컴캐스트(Camcast), 에이티앤티(AT&T), 아마존닷컴(Amazon.com)

  - 2020.04.17 : 7.10달러 -> 2021.04.01 : 15.57달러

  - 뉴지랭크US : LGF.A


누군가 탐내고 있을 대표적인 3세대 면역 항암제 업체

* 인싸이트 (IncyteCorp. INCY, Nasdaq) 매출액 21억 5천만 달러. 창립 1991년.

  - '자카피(JAKAFI' 골수섬유증 치료제.

  - 인수 유력 대형 제약회사: 암젠(Amgen), 머크 앤 컴퍼니(Merck & Co), 찰스 리버 래버러토리스

  - 2020.04.17 : 100.00달러 -> 2021.04.01 : 83.01달러

  - 뉴지랭크US : INCY


언택트 시대 성장이 기대되는 딜리버리 시장의 라이징 스타들

* 포스트메이츠 & 도어대시 (Postmates & DoorDash) 포스트메이츠 창립 2011년. 도어대시 창립 2013년.

  - 술도 배달.

  - 경쟁: 그럽허브(Grubhub), 우버 잇츠(Uber Eats)


코로나 19로 최대 위기를 맞은 숙박 공유 업체의 절대 강자

* 에어비앤비 (Airbnb Inc.) 창립 2008년8월

  - 경쟁: 플립키(Flipkey), 홈어웨이(HomeAway), 부킹닷컴(booking.com)


부동산 임대 회사인가, 공유 경제의 중심인가

* 위워크 (WeWork) 창립 2010년.

  - 세계적 공유 오피스 회사,

  - 경쟁: 리저스(Regus), 임팩트 허브(Impact Hub), 컨빈(Convene)

 

2021.04월.읽음 - 가볍게 읽으려 집었다가 많은 생각을 하게 해 준 고마운 책. 이 책을 읽고 몇 년 동안 원노트로 정리하던 독서 습관을 블로그에 기록 시작합니다.

 

마흔 전에 일천재되는 40가지 법칙 - 정병익 지음 [다른상상 2019년 04월 10일]

 

법칙1 체면은 버리고 싸움닭이 되어야 할 때다

법칙2 양으로도 승부하라! 현실에서는 항상 호날두가 메시를 이긴다

법칙3 딴지 걸기의 위력을 맛봐라

법칙4 기획력과 실행력, 이제는 둘 다 잡아야 한다

법칙5 거절당하는 수치심을 넘어설 때가 되었다.

법칙6 회의 시간에 말하지 않는 것은 결석한 것과 마찬가지

법칙7 실패도 프로처럼 하라

법칙8 맥락을 장악하고 스토리를 만들어라

법칙9 간결함에 더욱 집착하라

법칙10 메시지를 시각화하라

법칙11 소수도 놓치지 마라

법칙12 구조화하여 보여줘라

법칙13 멍청한 질문을 고집스럽게 던져라

법칙14 혁신과 창의를 이끄는 세 가지를 기억하라

법칙15 근본을 집어라! 그래서 뭐? 도대체 왜? 그런데 어떻게?

법칙16 리더가 되고 싶다면 먼저 훌륭한 팔로어가 돼라

법칙17 아래를 향한 리더십을 갖춰라

법칙18 작은 성공으로 스스로를 격려하라

법칙19 경력자도 모를 수 있다, 인정하라

법칙20 여전히 롤모델은 필요하다

법칙21 3x3x3 신문 읽기

법칙22 다시 일기장을 펴라

법칙23 메모를 귀찮게 생각하지 마라

법칙24 메일 하나도 제대로 써라

법칙25 약속 시간 15분 전에 도착하라

법칙26 자신에게 맞는 시계추를 찾아라

법칙27 연습, 아무리 해도 지나치지 않다

법칙28 그래서 하고 싶은 말이 뭔데? 결론부터 말하라

법칙29 구두부터 닦아라

법칙30 나만의 의식으로 아침을 시작하라

법칙31 관리하자, 뚱뚱한 일류는 없다

법칙32 번아웃을 예방하라

법칙33 주저 없이 멍 때려라

법칙34 아낌없는 칭찬, 사과, 감사의 힘

법칙35 작은 인연일수록 더욱 소중히 하라

법칙36 눈을 마주쳐라

법칙37 목소리는 제2의 얼굴

법칙38 언제든 하고 싶은 일을 하라

법칙39 퇴사가 아닌 졸업을 준비하라

법칙40 늦은 때란 없다

 


 

법칙1 체면은 버리고 싸움닭이 되어야 할 때다

 

* '엑스트라 원 마일(Going extra one mile)' 정신.

  - "남들이 모두 할 수 있는 수준에 머무르면 안돼요. 남들과 차별화된 본인만의 색깔을 내기 위해서는 한 걸음 더 나아가려는 부단한 노력과 치열한 고민이 필요합니다."

 

* 앤절라 더크워스 '그릿(GRIT)' - 성장, 회복력, 내재적 동기, 끈기

  - 분야에 상관없이 대단히 성공한 사람들은 굳건한 결의를 지니고 있었고, 이는 두 가지 특성으로 나타났다. 첫째, 그들은 대단히 회복력이 강하고 근면했다. 둘째, 자신이 원하는 바가 무엇인지 매우 깊이 이해하고 있었다. 그들은 결단력이 있을 뿐 아니라 나아갈 방향도 알고 있었다. 성공한 사람들이 가진 특별한 점은 열정과 결합된 끈기였다.

  - "관심사를 분명히 하라. 질적으로 다른 연습을 하라. 높은 목적 의식을 가져라. 그리고 희망을 품어라."

 

* "당신이 힘든 시간을 지날 때, 모든 것이 당신에게 반대하는 것처럼 보일 때, 당신이 단 1분도 더 참을 수 없다고 느낄 때, 결코 포기하지 마라! 왜냐하면 그 순간이 바로 그 경로가 바뀔 시간과 장소이기 때문이다" - 13세기 페르시아 시인, 법학자, 신학자 루미.


법칙2 양으로도 승부하라! 현실에서는 항상 호날두가 메시를 이긴다

 

* 셰익스피어는 20년에 걸쳐 쓴 희곡만 37편, 소네트는 154편에 이른다. 수준 미달이거나 평범하거나 작품성이 떨어지는 것도 많았다.

 

* 모차르트는 35세 세상을 떠나기 전까지 작곡한 작품이 600여곡에 이른다. 베토벤은 650곡 이상 작곡했으며, 심지어 바흐의 작품은 1,000곡에 이른다.

 

* 피카소는 드로잉 1만2,000점, 도자기 2,800점, 유화 1,800점, 조각 1,200점을 남겼지만, 찬사를 받은 작품은 극소수에 불과하다.

 

* 에디슨 역시 1,098개의 특허를 받았지만 진정 탁월한 발명품은 손에 꼽을 정도다.

 

* 아인슈타인은 1905년에만 다섯개의 논문을 발표했는데 그중 네 개가 물리학계의 패러다임을 완전히 뒤흔든 대작이었다. 그리고 당시 그는 26세에 불과햇다. 이후 일반상대성이론과 우주상수가 등장하기는 했지만, 그가 남긴 248개의 논문 대부분이 과학계에 별 영향을 미치지 못했다.


법칙3 딴지 걸기의 위력을 맛봐라

 

* 전 서울대학교 경영대학 교수이자 한양대학교 석좌교수인 윤석철 교수는 저서 <삶의 정도>에서 데카르트의 철학을 아래와 같이 소개한다.

  - "나는 생각한다. 고로 나는 존재한다"는 데카르트의 말은 당시의 시대적 배경 위에서 이해해야 한다. 당시 유럽의 교회들은 종교적 비리(예: 면죄부 판매)를 저지르면서 시민들에게 무조건적 수용을 요구하고 있었고, 이런 폐단으로 인하여 종교개혁운동(1517~1648)까지 일어났다.

    이런 시대적 배경에서 '생각하는 인간'(예: 면죄부를 구입하면 죄가 지워질까?)이 되기를 주장한 것이 데카르트의 철학이다. 교부들의 가르침이라도 무조건 수용하지 말고 생각하라는 의미이다. 자신의 생각과 행동 등에 관해서도 '더 이상 의심의 여지가 없을 때까지' 생각함으로써 참된 삶에 이를 수 있다는 것이 데카르트의 가르침이다.


법칙4 기획력과 실행력, 이제는 둘 다 잡아야 한다

 

* "변화를 눈으로 보고 이해하는 것보다 본인의 입으로 이야기 하는 것이 더 중요합니다. 입으로 이야기하는 것보다는 머리로 이해하는 것이 더욱 중요하고요. 머리로 이해하는 것이 다가 아닙니다. 마음으로 이해하는 것이 그다음입니다. 하지만 가장 중요한 것은 마음으로 이해한 것을 여러분의 손으로 직접 실천하는 것입니다. 오늘 우리는 이 워크숍을 통해 눈으로 보고 이해하는 것에서 직접 실천하는 단계로까지의 변화 속도를 높이고자 노력할 것입니다."


법칙5 거절당하는 수치심을 넘어설 때가 되었다.

 

* 세상에서 거정당하는 것이 가장 두려웠던 장은 어떻게 하면 거절을 당했을 때 당황하지 않고 의연하게 견뎌낼 수 있을까를 고민하기 시작했다. 그는 '100번 거절당하기 프로젝트'를 시작해보기로 결심했다.

 

* 온라인 마케터 노아 케이건 "무엇을 주문하든 10퍼센트를 깍아 달라고 부탁한다. 바보 같은 짓으로 보일 수도 있겠지만 이 일은 너무나도 중요하다. 사업이든 인생이든 기어코 성공하고 싶다면, 당신은 사람들에게 늘 뭔가를 부탁해야만 하고 늘 무리한 일을 시도하며 살아야 한다."

 

* 거절을 당했다면 피하지 말고 상대를 설득하여 승낙을 받아내 보자. 이렇든 모든 일은 포기하지 않고 끝까지 해내는 힘이 뒷받침되어야 새로운 기회로 이어진다는 사실을 명심하자. 거절을 당해봐야 설득할 용기를 얻게 되는 것이다.


법칙6 회의 시간에 말하지 않는 것은 결석한 것과 마찬가지


법칙7 실패도 프로처럼 하라

 

* 발명왕 에디슨 "나는 실패한 것이 아니다. 안 되는 방법 1만 가지를 찾아냈을 뿐이다."

 

* 실패 노트 적는 방법의 예

일시 실패 개요 원인 분석 다음 단계
       

법칙8 맥락을 장악하고 스토리를 만들어라

 

* 나이키는 절대 신발의 기능과 디자인을 홍보하지 않는다. 소비자는 그 위대한 스포츠라는 영역에 참여하기 위한 '입장권'으로서 나이키 제품을 구매한다.

 

* 스타벅스는 '휴식과 문화 그리고 감성'을 판매한다.

 

* 이케아는 '어른들의 놀이공원'

 

* 츠타야 서점은 '라이프 스타일 판매자'

 

* 톨스토이는 "모든 위대한 문학은 여행을 떠나는 사람에 대한 이야기이거나 마을에 나타난 낯선 사람에 대한 이야기"라고 말했다. 어떤 이는 흥미로운 스토리는 오직 하나밖에 없다고 말한다. 바로 성배를 찾는 여정을 말하는 것이다.

 

* '매트 위에 앉아 있는 고양이는 스토리가 아니다. 하지만 개의 매트 위에 앉아 있는 고양이는 스토리가 된다.'


법칙9 간결함에 더욱 집착하라

 

* 누군가에게 피사의 사탑에 대해 이야기하긴 쉽다. 하지만 판테온에 대해 이야기하는 것은 훨씬 어렵다. 그래서 비록 판테온이 아름답고, 숨이 막힐 듯하고, 중요하지만, 교통편이 복잡한 피사의 사탑을 방문하는 관광객의 고작 1퍼센트만이 판테온을 보러 간다.


법칙10 메시지를 시각화하라

 

* 프로토타이핑 : 작곡가 '가이드 녹음', 화가의 '스케치(밑그림)'

 

* 막덱 (=고스트 덱, 스켈레톤)


법칙11 소수도 놓치지 마라

 

* 파레토 법칙과 롱테일 법칙을 번갈아 적용해보며 가능성을 다각도로 살펴보자.

 

* 깊이 있고 세밀하게 나무를 관찰하다가 전체 숲을 조망하기도 해야 한다.


법칙12 구조화하여 보여줘라

 

* 피라미드 구조 (= 로직 트리, 이슈 트리) - 생각 정리법.

 

* 세 가지 화법 - 어떤 질문에 대해 '이유는 세 가지이다. 하나는...'

 

* 메트릭스 프레임 - 4분면(2x2) 메트릭스.


법칙13 멍청한 질문을 고집스럽게 던져라

 

* "세상을 근본적으로 변화시키고 사람들의 삶을 바꾸는 혁신은 언제나 멍청한 질문으로부터 시작한다."


법칙14 혁신과 창의를 이끄는 세 가지를 기억하라

 

* 피카소 "좋은 예술가는 모방하고, 뛰어난 예술가는 훔친다."

 

* 피카소는 6살 때 벨라스케스의 <시녀들>을 보고 매일 똑같이 따라 그렸다고 한다. 그리고 76세가 되어서도 피카소는 <시녀들>을 따라 그렸다. <시녀들> 전체 그림을 그리기도 하고 일부를 떼어 그리기도 하면서 수많ㅇ느 버전을 재창조하기에 이른다. 피카소 박물관에는 <시녀들>을 그린 그림이 58점이나 있다고 한다.


법칙15 근본을 집어라! 그래서 뭐? 도대체 왜? 그런데 어떻게?

 

* So what : 그래서 뭐?

  - 예를 들어 '대한민국의 경제성장률은 향후 5년간 2퍼센트 미만으로 저성장 국면에 접어들 것이다'

  -> 'So what' ->

  -> '대한민국은 향후 저성장 국면에 처할 것이니, 이머징 국가로 투자처를 다변화하라' 거나 '대한민국은 향후 저성장 국면이 될 것이니, 내수보다는 수출지향적 산업구조로 재편하라'

 

* Why

  - '고객은 이번 신상품에 대해 폭박적으로 반응할 것입니다.'

  -> 'Why?' ->

  -> '이번 신상품은 전부터 문제로 지적되어온 소음 문제를 50퍼센트 이상 획기적으로 경감시켰고, 경쟁사 대비 30퍼센트 이상 성능이 개선되었으며, 더 나아가 과거 미국 시장에서 유사항 상품이 폭발적인 성장세를 봤을 때, 한국에서도 폭발적인 소비자 반응이 예측됩니다."

 

* How : 실행방안


법칙16 리더가 되고 싶다면 먼저 훌륭한 팔로어가 돼라

 

* 아리스토텔레스 '남을 따르는 법을 알지 못하는 사람은 좋은 지도자가 될 수 없다'

 

* 누군가를 진심으로 섬겨본 적이 있는가? '존경할 만한 사람이 부족해', '믿고 의지할 만한 리더가 없어'라고 불만만 갖지 말고 현재 보스의 장점을 긍정적으로 바라보자. 그리고 그가 성공적인 커리어를 이어갈 수 있도록 적극 지원하고 도와보자.


법칙17 아래를 향한 리더십을 갖춰라

 

* "내가 내일 당장 회사를 떠나 다른 회사로 이직한다면, 나를 따라 회사를 옮길 후배가 몇 명이나 있는가?"


법칙18 작은 성공으로 스스로를 격려하라

 

* 페이스북은 처음 등장할 때 하버드대학교 재학생 1만2,000명만을 대상으로 시작했다.

 

* 와튼스쿨 교수인 애덤 그랜트는 일기를 쓸 때 하루 동안 가장 잘한 일 세 가지를 함께 써보라고 제안한다.


법칙19 경력자도 모를 수 있다, 인정하라


법칙20 여전히 롤모델은 필요하다

 

* 플라톤은 우연히 소크라테스의 강연을 듣고는 시인의 꿈을 접고 철학자가 되기로 결심한다. 그렇게 제자가 된 플라톤의 과제는 스승 소크라테스의 업적을 계승하는 것이었다. 오늘날 우리에게 알려진 소크라테스의 사상은 대부분 플라톤의 입을 통해 전해진 것들이다.

 

* 롤모델 자격 요건 체크리스트의 예

학력 국내 학부에서 공학 전공, 해외 MBA 출신
경력 과거 글로벌 IT 회사 근무 경험
현 직장에서 팀장급 이상으로 근무
현 직장에서 우수한 고과와 평판
해외 주재원 근무 경험
성향 외향적, 하지만 모든 사람과 친구인 사람은 지양
말하는 것보다는 듣는 것을 좋아하는 성향
유머 감각

* 롤모델을 찾고 만나는 것도 운명의 영역에 있다.

 

* 롤모델을 찾았다면 이제부터 그를 철저히 숭상하고 추종해야 한다.

 

* '페르소나 기법'으로 연구

  - 당신의 롤모델은 거주 지역의 교육정책에 만족하는가? 혹시 반려동물을 키우는가? 아이폰을 좋아하는가, 아니면 갤럭시를 좋아하는가? 운동복은 나이키인가, 아디다스인가? 중국집에 가서 시키는 음식은 짜장면인가, 짬뽕인가? 탕수육은 '부먹'인가, '찍먹'인가?


법칙21 3x3x3 신문 읽기

 

* 세 개 신문을 고르고 세 개 산업을 정한 후 세 개 회사 관련 뉴스를 계속해서 정독하라는 것이다. 총 27개의 뉴스를 접하게 된다.

 

* 신문을 읽고 나서는 반드시 스스로 정리하는 '되새김질' 과정을 거쳐야 한다. 본인이 운영하는 블로그나 페이스북에 글을 남기거나 잠들기 전 일기장에 내용을 간단히 적는 것은 매우 좋은 습관이다. 해당 기사를 화제로 주변 지인들과 이야기를 나누는 것도 훌륭한 방법이다.


법칙22 다시 일기장을 펴라

 

* "진실로 하루라도 새로워지려면 날마다 새로워지고 또 날로 새로워져야 한다" - 상나라 탕 임금.

 

* 좌우명


법칙23 메모를 귀찮게 생각하지 마라

 

* 존 레넌의 명곡 <이매진>은 비행기 안에서 호텔 메모지에 급하게 적어 탄생

 

* 슈베르트는 식당 메뉴판, 입고 입던 옷 등에 적었으며,

 

* 에디슨은 메모 형태로 쓴 기록이 노트 3,400개 분량에 이른다.

 

* 레오나르도 다빈치


법칙24 메일 하나도 제대로 써라

 

* 메일은 형식을 완벽하게 갖춰서 하루 안에 회신하라.

  - 제목은 안건을 명확하고 간결하게 표현

  - 누구에게 쓰는 메일인지 명확하게 알리기

  - 인사말 : 날씨, 기념일 등 시의적절한 멘트

  - 본론 : 전달하고자 하는 메시지를 구조화

  - 보다 구체적인 설명이 필요할 경우에는 첨부 파일

  - 적절한 맺음말


법칙25 약속 시간 15분 전에 도착하라

 

* 프랑스에는 이런 속담이 있다.

  - 누군가를 기다리게 하면 그는 당신의 단점을 생각한다.


법칙26 자신에게 맞는 시계추를 찾아라

 

* 얼리버드형 vs. 올빼미형

 

* 시간에 지배될 것인가, 아니면 시간을 지배할 것인가?


법칙27 연습, 아무리 해도 지나치지 않다

 

* 스티브 잡스는 연습 벌레였다.

 

* 호날두의 오버헤드킥은 감각적으로 성공한 것이 아니다. 훈련 중 오버헤드킥을 수차례 연습했다고 한다.


법칙28 그래서 하고 싶은 말이 뭔데? 결론부터 말하라

 

* Answer First


법칙29 구두부터 닦아라

 

* 구두의 모양새와 느낌이 주인을 꼭 빼닮는다.


법칙30 나만의 의식으로 아침을 시작하라

 

* 몸이 기억할 수 있는 반복적이고 규칙적인 행동을 하자. - 수영, 그림, 명상, 차마시기


법칙31 관리하자, 뚱뚱한 일류는 없다

 

* "업무 시간의 강도를 유지하기 위해 CEO들은 엘리트 운동 선수들이 하는 것처럼 훈련해야 한다. 즉 건강, 체력, 휴식에 특별히 시간을 할애해야 한다."

 

* 오늘부터 당장 작은 운동을 시작하자. 그리고 1년 뒤 달라진 자신의 모습을 발견하는 희열을 만끽하자.


법칙32 번아웃을 예방하라

 

* 취미 활동


법칙33 주저 없이 멍 때려라

 

* 멍 때리기 유의점.

  - 쉼표가 아니라 마침표가 되어야 한다. 컴퓨터로 치자면 절전 모드가 아니라 전원을 완전히 끄는 상태로 접어드는 것이다.

  - 창조적 사고나 혁신적 아이디어가 떠오를 것이라는 기대를 품지 말자.

  - 멍 때리기의 목적은 휴식 그 자체에 있다.


법칙34 아낌없는 칭찬, 사과, 감사의 힘

 

* 켄 블랜차드의 <칭찬은 고래도 춤추게 한다>에 소개된 칭찬 10계명

  1. 칭찬할 일이 생겼을 때 즉시 칭찬하라.

  2. 잘한 점을 구체적으로 칭찬하라.

  3. 가능한 한 공개적으로 칭찬하라.

  4. 결과보다는 과정을 칭찬하라.

  5. 사랑하는 사람을 대하듯 칭찬하라.

  6. 거짓 없이 진실한 마음으로 칭찬하라.

  7. 긍정적인 눈으로 보면 칭찬할 일이 보인다.

  8. 일이 잘 풀리지 않을 때 더욱 격려하라.

  9. 잘못된 일이 생기면 관심을 다른 방향으로 유도하라.

  10. 가끔씩 자기 자신을 칭찬하라.

 

* 제대로 사과하는 것이 결국 이기는 것이다

 

* 작은 것부터 감사하는 습관을 기르자


법칙35 작은 인연일수록 더욱 소중히 하라

 

* 인시아드의 학장이었던 디팍 자인 교수는 학생들과 점심 식사를 할 때 제일 먼저 하는 것이 있다. 학생들 한 명 한 명의 이름과 출신 국가, 학년을 묻고 하나하나 노트에 필기한다. 그리고 그다음부터는 그들의 이름을 불러주고, 그들의 출신 국가와 관련된 내용을 화재로 삼는다. 디팍 자인 교수에게는 매일매일 반복되는 일상이지만 학생들 개인에게는 소중한 순간으로 평생 기억될 것이다.

 

* 작은 인연은 챙기지 않으면 쉽게 사라지는 휘발성을 갖고 있다. 작은 인연은 더욱 아낄수록 내 평생의 동반자가 된다.


법칙36 눈을 마주쳐라

 

* 발표자의 시선은 항상 관객을 향해야 하며, 모든 사람의 눈을 고루고루 돌아가며 바라봐야 한다.

 

* "사람의 눈은 혀만큼이나 많은 말을 한다. 게다가 눈으로 하는 말은, 사전 없이도 전 세계 누구나 이해할 수 있다." - 랄프 왈도 에머슨.


법칙37 목소리는 제2의 얼굴

 

* 발성, 발음, 호흡

 

* 목소리를 변화시키는 것도 근육을 만드는 과정과 비슷해서 꾸준히 매일 연습하는 것이 중요하며 얼마나 노력했는지에 따라 목소리의 변화 속도도 달라질 것이다.


법칙38 언제든 하고 싶은 일을 하라

 

* "인생을 살면서 어려운 결정을 해야 할 때에는 내 안의 작은 아이에게 귀를 기울인다. 그 아이가 맨유라고 외쳤다." - 판 페르시

 

* '초긍정적인 마인드'를 가져야 한다. 남들이 '근자감'이라 놀릴지언정 본인의 능력에 대해 무한한 가능성을 허락해보자.

 

* '내가 만약 할 수 있다면...'으로 스스로에게 질문하라.

 

* 이왕이면 하늘이 부른 일을 하자

  - 세 벽돌공에게 무슨일을 하고 있는지 물었는데 답이 각각이다. 첫 번째 벽돌공은 "벽돌을 쌓고 있다"(생업)고 했고, 두 번째는 "교회를 짓고 있다"(직업)고 했다. 세 번째는 "하나님의 성전을 짓고 있다"(천직)고 답했다.


법칙39 퇴사가 아닌 졸업을 준비하라

 

* 스티브 잡스 "지난 33년간 매일 아침 거울을 보면서 나 자신에게 묻곤 했습니다. '오늘이 내 인생의 마지막 날이라면, 그래도 오늘 하려던 일을 하고 있을까?'하고 말입니다. 연달아 '아니오!'라는 대답이 며칠 계속 나올 때는 뭔가 변화가 필요한 때라는 사실을 깨달았습니다."

 

* '퇴사 계획서'


법칙40 늦은 때란 없다

 

* 카운트다운 시계는 '사망 예측 나이'를 상정하고 현재부터 그때까지 며칠이 남았는지 계산해주는 시계.

  - 예를 들어 40대의 남성이 자신이 80세에 사망할 것이라 가정한다면 14,600일이 남은 것이다. 그리고 그 시계에 맞춰 하고 싶은 일들을 하나하나 채워나간다.

 

* 스티브 잡스는 다음과 같이 죽음의 존재 의의를 예찬했다.

  - "죽음은 삶이 만든 단 하나의, 최고의 발명품입니다. 그것은 인생을 변화시키는 계기입니다. 그것은 오래된 것들을 치움으로써 새로운 것들을 위해 길을 만들어주는 것입니다."

 

* "지금 안 하면 언제 할 것인가?" - 유대인 현자 힐렐

 

 

Q) 당신은 거센 폭풍우가 몰아치는 밤길에 운전을 하고 있다. 그런데 버스정류장을 지나치면서

    죽어가는 할머니와

    당신의 생명을 구해준 적이 있는 의사,

    당신의 이상형이

    버스를 기다리고 있는 것을 보았다.

 

    거센 폭풍우가 사람을 언제 휩쓸고 갈지 모르는 상황에서

    이들 명만 차에 태울 있다고 ,

    가장 현명한 방법은 무엇일까?

 

 

더보기

A)

당신의 차키를 의사에게 주고 할머니를 데리고 병원으로 가라고 하고,

당신은 이상형과 함께 버스를 기다린다.

 

--> 완전 명쾌한 답은 아니지만 정말 로맨틱한 답이지 않나요 ^^?

     인생 멋지게 살아봅시다~

 

 

클론 조작된 세상 REVERSION.2020.720p.HDRip.H264.AAC-RTM.mkv

 

[영문 자막]

클론 조작된 세상 REVERSION.2020.720p.HDRip.H264.AAC-RTM 영문.srt
0.07MB

[한글 자막]

클론 조작된 세상 REVERSION.2020.720p.HDRip.H264.AAC-RTM.srt
0.08MB

아스키코드 테이블 The ASCII Code Table
https://ko.wikipedia.org/wiki/ASCII (위키백과-ASCII)

 

아스키코드 테이블입니다.

더이상의 아스키코드 테이블표는 필요없지 않을까 싶습니다!! ㅎㅎ

A4 인쇄하기 딱 좋게 제작하였습니다.

수정불가 다운로드 및 배포는 자유입니다.

 

The ASCII Code Table by Innosoft.kr

 

Ascii_Code_Table_Innosoft2021.jpg
1.42MB
Ascii_Code_Table_Innosoft2021.pdf
0.38MB

 

패스트캠퍼스에서 진행한 "올인원 패키지 : 유니티 포트폴리오 완성 올인원 패키지 Online." 과정을 수강하였습니다.

예전부터 유니티에 관심도 있었고, 관련 업무에서 Unity를 활용하는 일이 생겨 겸사겸사 수강을 하게되었습니다.

매일 연속 50일 작성.. 사실 못할줄 알고 시작한건데 끝을 보게 되네요 ^^;
블로그도 열심히 해보려했지만 업무등에 치이게 되면 멈춰버리는 경우가 많아, 내 자신에 대한 도전이라는 마음으로 진행을 했는데 마음은 뿌듯합니다. ㅎㅎ

특히 Unity 업무를 진행하고 있었기 때문에 하나라도 더 듣고 내것으로 만들자는 마음으로 더 열심히 했던 것 같습니다. 사실 시작한 김에 꾸준히 더 작성을 하려는 욕심은 있었는데 연말이라 ㅠ.,ㅜ; 쉽지 않네요..

 

자~ 유니티 게임 포트폴리오 완성 강의에 대한 전반적인 내용을 작성해 봅니다.

 

 

 



제가 수강한 강좌입니다.

"올인원 패키지 : 유니티 포트폴리오 완성 올인원 패키지 Online."은 기초 과정이 아닙니다.
기초 과정은 "C#과 유니티로 배우는 게임 개발 올인원 패키지 Online"라는 과정이 따로 있습니다.
저는 C#은 오랜 기간 사용을 해왔었고, Unity는 책을 보고 따라해본 경험이 있어서 초급 과정은 건너 뛰었습니다.
초급에서 중급을 넘어가시려는 분들이나 중급인데 디아블로나 배틀로얄과 같은 게임을 실무적으로 구현하는 방법을 알고 싶다하시는 분들에게 추천드립니다.


게임 포트폴리오라는 제목으로도 유추할 수 있듯이 "취업준비생"분들을 위해 실무에서 게임 개발시 필요한 지식들을 많이 알려줍니다.
사실 저는 취업준비생도 아니고 포트폴리오를 구성할 것은 아니었지만, "포트폴리오"라는 말처럼 Unity의 다양한 부분들을 접할 수 있을 것이라고 생각하고 접근을 하였습니다.

처음에 목차를 볼 때에는 여러 가지 게임을 만드는 포트폴리오 구성을 생각했었는데..
실제로는 "디아블로"와 "배틀로얄" 2가지 게임을 집중적으로 구현해 보게 됩니다.



디아블로 구현 모습입니다.

한 단계씩 정리가 잘 되어 있습니다.
Rigidbody를 시작으로 해서 Character Controller, NavMeshAgent를 활용하여 AI 이동 등을 구현해보게 됩니다.
Animation에 대해서도 설명이 이어지지만 Unity 설정에 대해서는 자세하게 진행하지는 않습니다. 기초강좌가 아니기 때문입니다.
Animation의 Transition에 대해서 자세한 설명이 이어집니다.
TopDown Camera를 구현하여 어떻게 화면을 구성하는지를 구현해봅니다.
이 외에도 Light, FSM, AI, 시야, 전투시스템, 원거리공격, 인벤토리 구현, 문/함정 구현 등을 진행하게 됩니다.


이것이 끝이 아니라 위와 같이 Firebase를 활용하여 LeaderBoard를 구현하고 서버를 통해 연동해보는 실습도 포함되어 있습니다.
사실 디아블로에서는 그렇게 중요한 비중을 차지하는 부분은 아니지만 간단한 캐쥬얼 게임을 만들때는 많이 사용하게 되지 유용하다고 볼 수 있습니다.




이어서 배틀로얄(=배틀그라운드) 구현 모습입니다.

배틀로얄은 따라가기 조금 버거울 수 있습니다. 다만 인내심을 가지고 꾸준히 따라하시는 분은 굉장히 유용한 실무에서도 많이 사용될 Tool등을 만들어 볼 수 있습니다.

강의 시작에서는 취업준비생분들을 타겟으로 하여 실무 관련 많은 이야기를 합니다.
저는 지금은 다른 필드에서 먹고살고 있는 프로그래머이지만, 소프트웨어 업계의 공통적인 어려움과 문제점들은 비슷하다고 봐야겠지요.
그렇기 때문에 꼭 게임의 구현에 집중된 것이 아니라, 게임 개발에 플러스적으로 필요한 요소들 즉 관리 툴 같은 것들이 필요하게 됩니다.
저 또한 어떤 소프트웨어 업종에서 일하건간에 간단하게 구현하여 도움을 주는 툴들은 많이 개발을 해왔습니다.
실무에서 귀찮다고 안 하시는 분들이 대다수라고 봐야겠지요.. 너무 잘하셔서 안하시는 분들은 예외겠지만.. 여튼..

EffectTool, SoundTool에 이어 Behaviour 구현, Weapon 구현, Health, Alert, Shoot, Health 등 배틀로얄 게임을 구동하기 위한 다양한 클래스와 함수들을 구현해볼 수 있습니다.

조금 아쉬웠던 부분은 너무 많은 기능, 옵션을 설명해주시려고 하다보니 변수 선언, 초기화, 사용 등 따라해야할 코딩량이 너무 많았다는 느낌입니다.
최종적으로 배틀로얄 구현을 위해서 다 알아야 하는 부분도 맞고, 직접 코딩을 계속 여러번 해보면서 자신만의 코드가 되는 것이 맞습니다..
하지만 온라인 강의이므로 최소 옵션으로 해서 코딩을 진행하고 다른 부분은 완성된 코드를 가지고 설명에 집중해주셨더라면 더 좋지 않았을까 싶은 개인적인 아쉬움을 남겨봅니다.
그래도 적은 강의 시간에 담기에 쉽지 않은 내용이라 충분히 감안하고 시청하였습니다.
특히 실무에서 사용되는 알찬 정보들을 원하신다면 강력 추천드립니다.


현재 Unity 업무를 진행함에 많은 도움을 받았습니다.
특히 NavMesh 개념과 Transition 처리 등은 참 멋진 개념이며 멋진 설명이었습니다.

앞으로도 좋은 강의 많이 부탁드립니다.

감사합니다.


패스트캠퍼스 - 올인원 패키지 : 유니티 포트폴리오 완성 bit.ly/2R561g0

 

유니티 게임 포트폴리오 완성 올인원 패키지 Online. | 패스트캠퍼스

게임 콘텐츠 프로그래머로 취업하고 싶다면, 포트폴리오 완성은 필수! '디아블로'와 '배틀그라운드' 게임을 따라 만들어 보며, 프로그래머 면접에 나오는 핵심 개념까지 모두 잡아 보세요!

www.fastcampus.co.kr

 

  1. 유니티맨 2021.02.03 03:41

    리스펙합니다!

    • BOOX 2021.02.11 01:14 신고

      감사합니다 ^^~
      즐거운 명절 보내시고,
      행복한 2021년 한 해 되십시오.

오랫만에 일반적인 좋은 글거리를 찾게되어 올려봅니다.

 

여튼 골자는 이렇습니다. 몇몇 분들이 이미 겪고 계시는 문제인데..

공인인증서의 만료 날짜가 맞지 않다보니 한번에 몰아서 할 수가 없고, 메시지 뜰 때마다 해야하는 것이지요..

당연히 완전히 공인인증서를 폐기하고 다시 만들면 되겠거니 하고 별의별 방법으로 수십번 해봤지만 결국 실패!!! 인증서 폐기/발급 문자를 수십통을 ㅋㅋ.. 이상하다고 연락올만도 한데 연락은 없었음..

 

하지만 결국 찾아내어 성공하였습니다!! 전화연결도 어려운 통화를 여러번 ㅜ.,ㅜ;;

왜 완전초기화하려는지 이유도 묻더군요 ㅎㅎ..

직접해보실 분은 다음과 같이 하면 됩니다.

 

[인증서 완전 초기화!!!]

* 코스콤(SignKorea)사이트 -> 인증서 초기화 -> 증권사 인증서 관리 -> 인증서 등록정보 삭제 -> 인증서 삭제 -> 신규 발급.

 

여담으로 공인인증서 폐지. PC중심 -> 모바일중심. 마음에 들지는 않네요. 보안 문제 이슈 뉴스가 여러번 나오지 않을까 싶은 생각이 ㅎㅎ.. 기존 공인인증서 -> 공동인증서로 이름이 변경되어 사용 가능합니다.

 

자 이제 아래는 캡쳐 화면으로 하나씩 설명해 보도록 하겠습니다.

 

 

1. SignKorea 접속

 

1-1) 인증서 초기화

인증서 관리 - 인증서 초기화 - [바로가기] 클릭

1-2) 초기화 신청.

아래와 같이 안내 화면이 나타나면 [인증서 초기화 신청]을 합니다.

1-3) 인증서 선택 창이 나타나면, 초기화할 인증서를 선택하고 암호를 입력합니다.

1-4) 인증서 초기화 신청 창이 나타나면 잘 확인하고, [인증서 초기화] 버튼을 클릭합니다.

"인증서 초기화를 진행하시겠습니까?" 메시지가 나타나면 [확인]을 클릭합니다.

 

1-5) 인증서 초기화가 완료되었습니다. 여기까지 SignKorea에서 할 일은 끝났습니다.

 

 

 

2. 처음 발급받은 증권사 사이트 접속.

저는 신한금융투자에서 받았었기 때문에 신한금융투자 사이트로 접속하였습니다. (타 증권사이트이신 분은 아래 내용들중 적당히 맞는 메뉴로 접근하시기 바랍니다.)

 

2-1) 인증서 관리 - 등록된 인증서정보 조회/삭제

상단 메뉴의 공인인증센터를 누르면 나타나는 화면이 있는데 거기가 아니라, 아래와 빨강 박스에서 [인증서 관리]를 선택하면 나타나는 화면이 있습니다.

여기에서 "등록된 인증서정보 조회/삭제"의 [바로가기]를 클릭합니다.

맨 아래의 "인증서 삭제"가 아닙니다! 인증서 삭제는 그냥 삭제를 하는 것이고 증권사에 등록된 정보도 삭제해야 하기 때문에 반드시 "등록된 인증서정보 조회/삭제"로 접근해야 합니다.

 

2-3) 등록된 인증서 삭제.

관련 정보를 입력하고 [삭제]를 클릭하여, 삭제하려는 인증서 확인하고 삭제 완료합니다.

2-4) 인증서 폐기.

인증서 폐기 메뉴로 접근하여 폐기도 진행하였는데, 저는 이미 폐기되었다고 나오더군요.. 그런데 폐기는 등록된 인증서의 폐기이고 삭제는 아니였습니다. ㅎㅎ 뒤에서 삭제는 따로 진행하겠습니다.

 

 

 

3. 인증서 신규발급 증권사 사이트 접속.

기존 증권사 사이트에서 신규발급 받아도 됩니다. 저는 키움증권에서 새로 발급받아서 관리할 예정이라 키움증권 사이트로 접속하였습니다. (타 증권사이신 분은 비슷한 형태로 진행하면 됩니다.)

 

3-1) 인증서 신규발급.

인증서 신규발급 화면으로 이동하여 발급을 위한 정보를 입력하고 [확인]을 클릭합니다.

 

3-2) 고객정보 확인

발급기관 (●) 코스콤SignKorea를 선택하고, [확인]을 클릭하고, 원하는 추가인증 방법으로 진행을 합니다.

 

3-3) 인증서 발급

그러면 창이 하나 뜨는데, 사실 이 창은 SignKorea 사이트 창입니다. 인증서 종류 선택이 나오는데 밑에 잘 안보이지만 "용도제한인증서(수수료 없음) (●)"을 선택해줍니다. 그나마 잘 보이게 변경된 거에요..

3-4) 고객정보입력

네 그렇습니다. SignKorea에서 저의 정보를 관리하기 위해 친절하게도 저의 정보를 달라고 합니다. 입력해주고 [확인/신청]을 클릭합니다.

3-5) 신규 인증서 확인!!!!!!!!!!!!!!!!!!!!!!!! 드디어 새로운 만료일을 가진 따끈한 인증서가 생성되었습니다.

아래에 기존 인증서가 그대로 존재하네요. 삭제해보러 갑니다.

 

 

 

4. 인증서 삭제 증권사 사이트 접속.

저는 키움증권에서 삭제를 진행하였습니다.

 

4-1) 인증서 삭제/폐기

해당 PC에서만 삭제할 것이면 [삭제], 모든 곳에서 사용하지 않을 것이면 [폐기]입니다.

전 PC에만 있기 때문에 [삭제]로 진행하였습니다.

 

4-2) 삭제할 인증서 선택

삭제할 인증서를 선택하고 암호를 입력해줍니다.

4-3) 깔끔한 인증서 완성!!!!!!!!!!!!! 모두 끝났습니다 ^^~

사업용 인증서는 날짜가 맞지 않지만 유료라서 그냥 놔두고 사용하기로 결정합니다...

행복

 

+ Recent posts