Engineering/Etc 69

하룻밤에 읽는 Go 언어 이야기

* 개발 언어별 지원 기능 Go C++ Java Class X O O Inheritance X O O Overloading X O O GC(Garbage Collector) O X O Pointer O O X Pointer 연산 X O X Import/Package O O(include, namespace) O Interface O O(template) O nil O O(NULL, 0) O(null) Implicit type conversion X O O * 변수 선언 var a int var b[10]int var c, d *int // var 를 사용하여 그룹으로 묶기 var( a int f float64 s string ) // 선언 시 값을 할당하는 경우 type 생략 가능 var i = 4 //..

Engineering/Etc 2019.10.04

객체지향 개발 5대 원리 : SOLID

객체지향 개발 5대 원리 : SOLID 책에서 본 내용, 인터넷에서 본 내용을 정리해 보려고 일단 작성하고 저장하고 있어 아직 완성 상태가 아닙니다. 5. DIP(Dependency Inversion Principle : 의존성 역전의 원칙) : A. HIGH LEVEL MODULES SHOULD NOT DEPEND UPON LOW LEVEL MODULES. BOTH SHOULD DEPEND UPON ABSTRACTIONS. : B. ABSTRACTIONS SHOULD NOT DEPEND UPON DETAILS. DETAILS SHOULD DEPEND UPON ABSTRACTIONS. : 상위 레벨 모듈은 하위 레벨 모듈에 의존하지 말아야 한다. 두 모듈는 추상에 의존해야 한다. : 추상은 상세(deta..

Engineering/Etc 2019.09.27

MsgPack 을 이용해서 직접 write 구현하기

MsgPack 을 이용해서 직접 write 구현하기 MsgPack 를 이용해서 직접 byte 배열에다가 쓸 경우 다음 규칙을 지키자. 1. 객체 타입일 경우 멤버 변수의 갯수가 몇개인지 write 한다. - writeArrayBegin(N) 2. list(또는 array) 타입일 경우 list 의 size 를 write 한다. - writeArrayBeging(N) 2.1 list(또는 array) size 만큼 loop 를 돌면서 각 element 를 write 한다. 2.2 list(또는 array) 의 element 가 primitive 타입이 아닌 객체형일 경우에는 1 번에 해당하므로 객체 멤버 변수 갯수를 write 한다. 2.3 list(또는 array) element 의 size 가 0 일 ..

Engineering/Etc 2018.11.22

Sublime Text 에서 ColorPicker 가 동작하지 않을 때 해결 방법

Sublime Text 에서 ColorPicker 가 동작하지 않을 때 해결 방법 Sublime Text 툴에서 html 파일을 작성하다가 #FEFEFE 같은 컬러 코드를 눈으로 확인하고 싶을때 도움이 되는 플러그인이 "ColorPicker" 이다. "Best of Sublime Text 3: Features, Plugins, and Settings" 라는 글에서 보고 참고해서 설치해보았다. "Package Control: Install Package" 에서 "colorpick" 로 검색하면 두개가 나오는데, "ColorPicker : A multi-platform color picker plugin weslly.github.com" 으로 설치하자. 어쨌든 설치를 한거 같은데, 컬러 코드에서 Shift ..

Engineering/Etc 2018.11.01

AWS S3 에 presigned url 로 파일 업로드할때 실패 해결

AWS S3 에 presigned url 로 파일 업로드할때 실패 해결 프로젝트에서 AWS S3 에 파일을 업로드를 하는데, 서버에서 파일을 직접 올리는 경우가 아니라 클라에서 파일을 올려야 하는 경우가 있다. 보통 인증키를 노출하지 않기 위해서 인데, 이럴때 서버에서 업로드 하려고 하는 파일에 대해서 접근 유효 시간이나 전송 메소드(PUT/POST), 해쉬값 같은거를 포함해서 미리 사인(presign)을 받은 url 을 얻을 수 있다. (AWS API 요청에 서명) 그럼 이 presigned url 을 유효 시간내에 아무나 올릴 수 있게 되고 클라에서 이 url 을 가지고 파일을 업로드 한다. 클라에서 파일을 업로드하는 시나리오는 이렇게 진행하면 되는데, 다음과 같은 url 에서 https 가 시작할때..

Engineering/Etc 2018.10.26

AWS S3 설정

AWS S3 설정 AWS 에서 S3 설정을 위한 과정을 정리해보았다. AWS S3 콘솔에 접속한다. (https://s3.console.aws.amazon.com/s3 또는 https://aws.amazon.com/ 에서 콘솔에 로그인후 서비스 에서 S3 선택) 현재 사용중인 버킷 리스트를 확인할 수 있다. 버킷 생성"+ 버킷 만들기" 로 클릭해서 버킷 생성을 한다. (1) 이름 및 리전 "버킷 이름" 은 고유한 값을 위해 DNS 형식의 이름을 입력한다. ex) test.abc.com "리전" 을 선택한다. ex) 아시아 태평양(서울) 선택 "기존 버킷에서 설정 복사" 는 기존 버킷 설정을 복사할 수 있다. 기존 버킷이 있을 경우에 선택해서 "다음" 을 클릭한다. 최초 생성은 "다음" 을 선택한다. (2..

Engineering/Etc 2018.10.19

신한카드 로그인 실패 - 통합 보안 프로그램 설치 무한 반복

신한카드 로그인 실패 - 통합 보안 프로그램 설치 무한 반복 오랜만에 신한카드 홈페이지를 들어가보겠다고 해서 통합 보안 프로그램 설치를 했는데, 설치 과정에 따라서 다 했는데도 로그인을 시도하면 다시 설치해야한다고 보안 프로그램 설치 페이지 이동을 한다. 혹시나 해서 윈도우 설치에서 최근 설치된 프로그램들을 다 지우고 부팅하고 로그인하면 설치 페이지 가서 통합 보안 프로그램 설치하고 다시 로그인 화면으로 가서는 설치안되었다고 또다시 보안 페이지로 이동하는 무한 반복을 겪었다. 이넘의 보안 프로그램들.... 누구나 겪으면 짜증나고 욕만 나오지 않을까. 구글 검색을 해보면 다 똑같은 상황이다. 하다하다 지쳐서 전화라도 해야하나 싶지만 그분들이야 멀 알겠냐 싶어서, 페이스북에서 신한카드 검색해서 "메신저" 기..

Engineering/Etc 2017.09.28

putty 기본 파란색 글자 색 변경

putty 기본 파란색 글자 색 변경 터미널 프로그램으로 많이 사용하는 putty 의 기본 화면이다. 디렉토리를 볼때 파란색이 흐리게 보여서 잘 안보이기도 하고 자꾸 보다 보면 눈이 아프다. Change Settings - Window - Colours 에서 "ANSI Blue" 의 RGB 값을 74, 74, 255 로, "ANSI Blue Bold" 의 RGB 값을 140, 140, 255 로 설정했다. 조금은 볼만해지지 않았나? 기왕이면 글자 폰트도 기존 "Courier New" 에서 다른걸로 바꿔서 보면 훨씬 보기가 편해진다.글자 폰트도 프로그래밍 용으로 추천하자면 무료 폰트인 "D2Coding" 이나 "Hack" 을 사용해보길 바란다. 아래 화면은 "D2Coding" 을 적용했다. 도움받은 사이트..

Engineering/Etc 2017.08.23

텍스트 파일에서 특정 문자열만 변경하는 파이썬(Python) 코드

텍스트 파일에서 특정 문자열만 변경하는 파이썬(Python) 코드 텍스트 파일 내에서 특정 문자열들을 변경하는 방법은 쉘 스크립트로 한다면 여러가지 방법이 있을 것이다.그런데, 리눅스에서만 실행하는게 아니라 윈도우에서 동일하게 실행을 하려고 해서 방법을 찾아보니 파이썬으로 하면 되겠더라. MySQL DB 백업 후, 새로운 서버로 옮기거나 데이터 이동을 할때 생성되는 쿼리문이 있다. DROP TABLE IF EXISTS AnimChangeList;CREATE TABLE AnimChangeList (`ACId` INT PRIMARY KEY,`BeforeAnimName` MEDIUMTEXT,`CurrentAnimName` MEDIUMTEXT,`NextAnimName` MEDIUMTEXT,`IsTestData`..

Engineering/Etc 2017.08.10

memcached 설치 / redis 설치 on CentOS

Memcached # yum install memcached memcached 설정 확인(포트 또는 cachesize 변경)# vi /etc/sysconfig/memcached 시작# systemctl start memcached 서비스 시작 등록# systemctl enable memcached Redis - 설치(최신 버전을 다운)# tar xvfz redis-3.2.6.tar.gz# cd redis-3.2.6# make; make install- redis 설정 파일 생성(redis.conf(또는 6379.conf) 는 install_server.sh 스크립트에서 자동 생성)# cd redis-3.2.6/utils# ./install_server.shWelcome to the redis servic..

Engineering/Etc 2017.03.22