태깅은 정보를 관리하기 위한 좋은 방법이다. 완전히 공개된 서비스의 경우 태그관리가 까다롭다는 문제가 있지만, 추천시스템에 대한 노하우가 쌓이면서 많은 부분 해결이 된 것 같다. Joinc는 개임위키이니 만큼 관리하기가 훨씬 쉽다. 태그라고 해봐야 100개가 넘지 않을 것 같은데, 이 정도라면 자동완성이나 추천에 신경쓰지 않고 단순하게 구성 할 수 있을...
우분투 리눅스 17.14에서 설치했다.# curl httpsgo는 1.10 버전이다. 1.6 버전 부터 vendor를 지원하기 시작했으니 따로 GOPATH를 잡을 필요가 없다. 1.6 이하 버전을 사용하고 있다면 업데이트하자.Go언어는 github에서 패키지를 다운로드해서 사용 할 수 있다. 하지만 버전과 상호의존성을 관리해야 한다. 자바스크립트의 경우 n...
bcrypt는 Blowfish를 기반으로 만들어진 "단방향 암호화 해싱함수"로 1999년 USENIX에서 발표됐다. Rainbow table 공격을 막기 위해서 를 사용하며, 암호검사 요청이 반복될 수록 cost를 늘림으로써, 무차별 대입 공격(brute-force search)을 막을 수 있다. cost는 반복횟수로 2^n 이다. bcrypt 함수는 Op...
히스토리를 조작해서 뒤로가기를 막을 수 있다. 자바스크립트를 이용하는 것이니 만큼, 자바스크립트를 지원하지 않는 브라우저에서는 사용 할 수 없다. 뒤로가기를 눌러서 이전 페이지를 호출할 경우 "에러"가 출력되는 경우가 많을 건데, 유저 실수를 막아서 사이트의 흐름을 원할히하기 위한 목적이라고 보면 된다. 다른 방법도 마찬가지로 완전히 막을 수 있는 그런 방...
은 자바스크립트(Javascript)언어에서 파생되는 데이터형식으로 자바스크립트 사용시 자연스럽게 사용하게 된다. JSON은 아래와 같은 목적으로 사용한다. 데이터의 저장 유저입력으로 부터 자료구조의 생성 설정과 데이터 확인 자바스크립트가 웹에 워낙에 널리 펴저있기 때문에, 다른 대부분의 언어들역시 JSON을 다루기 위한 패키지(혹은 라이브러리)들을 제공...
Go는 흐름을 제어하기 위한 일반적인 메커니즘인 if, for, switch, goto를 제공한다. 이 외에 고루틴(goroutine)을 실행하기 위한 go 문이 있다. 이외에도 defer, panic, recover이 있다. 여기에서는 defer를 다룬다.defer는 go에서 제공하는 흐름 제어 메커니즘(Control flow mechanism)이다. d...
는 사이트에서 제시하는 프로그래밍 문제를 해결하는 사이트다. 개발자는 프로그래밍 실력을 공개 증명 할 수 있으며, 기업은 검증된 프로그래머를 채용 할 수 있다. 해커랭크는 Java, C, C++, Bash, Python, SQL등 다양한 영역의 문제를 제공한다.개발자는 프로그래밍 문제에 대한 해결책을 제출하고, 해커랭크는 결과물의 정확도에 따라서 점수를 매...
객체를 만드는 디자인 패턴이다. factory 패턴과 abstract factory 패턴과 유사하다. 유사한데도 사용하는 이유가 있는데, factory, absstract factory 패턴은 아래와 같은 문제점이 있다. 수맣은 파라메터들이 클래스로 전달되는데, 타입까지 비슷한 경우가 많기 때문에 파라메터를 제대로 사용하기가 쉽지 않아서 에러를 발생하는 경...
gRPC는 구글이 개발한 오픈소스 RPC(Remote procedure call) 시스템이다. HTTP/2와 Interface description language인 프로토콜 버퍼(Protocol Buffers)를 기반으로 하고 있다. 인증, 양방향 스트리밍, timeout, cancellation, 블럭킹, 넌블럭킹등의 기능을 제공한다. gRPC를 이용하...
427 POSTS HERE
Vue.js
Foundation css 프레임워크와 jQuery 노가다로 사이트를 관리했는데, 트랜드에 발 맞춰? Vue.js를 적용해보기로 했다....
Joinc Tagging 시스템 구현
태깅은 정보를 관리하기 위한 좋은 방법이다. 완전히 공개된 서비스의 경우 태그관리가 까다롭다는 문제가 있지만, 추천시스템에 대한 노하우가 쌓이면서 많은 부분 해결이 된 것 같다. Joinc는 개임위키이니 만큼 관리하기가 훨씬 쉽다. 태그라고 해봐야 100개가 넘지 않을 것 같은데, 이 정도라면 자동완성이나 추천에 신경쓰지 않고 단순하게 구성 할 수 있을...
Glide를 이용한 go 패키지 관리
우분투 리눅스 17.14에서 설치했다.# curl httpsgo는 1.10 버전이다. 1.6 버전 부터 vendor를 지원하기 시작했으니 따로 GOPATH를 잡을 필요가 없다. 1.6 이하 버전을 사용하고 있다면 업데이트하자.Go언어는 github에서 패키지를 다운로드해서 사용 할 수 있다. 하지만 버전과 상호의존성을 관리해야 한다. 자바스크립트의 경우 n...
bcrypt
bcrypt는 Blowfish를 기반으로 만들어진 "단방향 암호화 해싱함수"로 1999년 USENIX에서 발표됐다. Rainbow table 공격을 막기 위해서 를 사용하며, 암호검사 요청이 반복될 수록 cost를 늘림으로써, 무차별 대입 공격(brute-force search)을 막을 수 있다. cost는 반복횟수로 2^n 이다. bcrypt 함수는 Op...
Javascript로 뒤로가기 막기
히스토리를 조작해서 뒤로가기를 막을 수 있다. 자바스크립트를 이용하는 것이니 만큼, 자바스크립트를 지원하지 않는 브라우저에서는 사용 할 수 없다. 뒤로가기를 눌러서 이전 페이지를 호출할 경우 "에러"가 출력되는 경우가 많을 건데, 유저 실수를 막아서 사이트의 흐름을 원할히하기 위한 목적이라고 보면 된다. 다른 방법도 마찬가지로 완전히 막을 수 있는 그런 방...
자바스크립트와 JSON
은 자바스크립트(Javascript)언어에서 파생되는 데이터형식으로 자바스크립트 사용시 자연스럽게 사용하게 된다. JSON은 아래와 같은 목적으로 사용한다. 데이터의 저장 유저입력으로 부터 자료구조의 생성 설정과 데이터 확인 자바스크립트가 웹에 워낙에 널리 펴저있기 때문에, 다른 대부분의 언어들역시 JSON을 다루기 위한 패키지(혹은 라이브러리)들을 제공...
GoLang Defer
Go는 흐름을 제어하기 위한 일반적인 메커니즘인 if, for, switch, goto를 제공한다. 이 외에 고루틴(goroutine)을 실행하기 위한 go 문이 있다. 이외에도 defer, panic, recover이 있다. 여기에서는 defer를 다룬다.defer는 go에서 제공하는 흐름 제어 메커니즘(Control flow mechanism)이다. d...
Hacker Rank
는 사이트에서 제시하는 프로그래밍 문제를 해결하는 사이트다. 개발자는 프로그래밍 실력을 공개 증명 할 수 있으며, 기업은 검증된 프로그래머를 채용 할 수 있다. 해커랭크는 Java, C, C++, Bash, Python, SQL등 다양한 영역의 문제를 제공한다.개발자는 프로그래밍 문제에 대한 해결책을 제출하고, 해커랭크는 결과물의 정확도에 따라서 점수를 매...
golang 빌더패턴
객체를 만드는 디자인 패턴이다. factory 패턴과 abstract factory 패턴과 유사하다. 유사한데도 사용하는 이유가 있는데, factory, absstract factory 패턴은 아래와 같은 문제점이 있다. 수맣은 파라메터들이 클래스로 전달되는데, 타입까지 비슷한 경우가 많기 때문에 파라메터를 제대로 사용하기가 쉽지 않아서 에러를 발생하는 경...
GRPC
gRPC는 구글이 개발한 오픈소스 RPC(Remote procedure call) 시스템이다. HTTP/2와 Interface description language인 프로토콜 버퍼(Protocol Buffers)를 기반으로 하고 있다. 인증, 양방향 스트리밍, timeout, cancellation, 블럭킹, 넌블럭킹등의 기능을 제공한다. gRPC를 이용하...