diagonal Difference

N x N 크기의 정사각형이 있다. 각각의 대각선 상의 원소들의 값을 더한 값의 차이를 구하라 1. 표준입력으로 정사각형의 크기 N을 입력받는다. 1. 1에서 입력한 N 만큼 row를 입력한다. 1. N x N 행렬이 만들어진다. 대각선의 원소들의 값을 더한 값의 차이를 출력한다.311 2 44 5 610 8 -1215(1 + 6 + 4) - (3 + ...

A Very Big Sum

표준입력으로 배열의 크기 N을 입력받는다. 다음 표준입력에서 N크기 만큼의 숫자를 입력 받아서, 이들을 모두 더한다. 입력 값은 매우 크다. 1. 표준 입력으로 배열의 크기 N을 입력 받는다. 1. 다음 줄에서 숫자를 입력 받아서 N 크기의 배열에 넣는다. 숫자간의 구분자는 공백문자로 한다.배열에 있는 값들을 더해서 출력한다.\\&1\leq N \leq ...

Compare the triplets

앨리스와 밥은 코딩문제를 풀고 있다. 리뷰어는 앨리스와 밥이 제출한 코드를 clarity, originality, difficulty 3개의 카테고리에서 점수를 준다. 점수는 1에서 100까지다. 앨리스의 점수는 A = (a_{0}, a_{1}, a_{2})밥의 점수는B = (b_{0}, b_{1}, b_{2})로 정의 할 수 있을 것이다. 이제 각 카테고...

Go-swagger

Go 언어로 만든 REST API의 문서화가 절실하다. GoDoc은 좋은 문서화 툴이긴 하지만 패키지 단위라서, API 레벨의 문서화에는 적당하지 않다. 주석을 문서화 하는 툴들은 API 스펙의 변화를 반영하지 못하기 때문에, 문서의 품질은 위키로 한땀 한땀 노가다 뛰는 것과 큰 차이가 없다. 그러다가 찾은게 다. 개발자가 API의 스펙을 만들면, 스펙으로...

golang 빌더패턴

객체를 만드는 디자인 패턴이다. factory 패턴과 abstract factory 패턴과 유사하다. 유사한데도 사용하는 이유가 있는데, factory, absstract factory 패턴은 아래와 같은 문제점이 있다. 수맣은 파라메터들이 클래스로 전달되는데, 타입까지 비슷한 경우가 많기 때문에 파라메터를 제대로 사용하기가 쉽지 않아서 에러를 발생하는 경...

Go-ethereum

왠지 이더리움은 go언어를 제대로 지원하고 있다. Go Ethereum은 이더리움 프로토콜의 공식 go언어 구현체다.설치 환경은 다음과 같다. go1.8.1 우분투리눅스 17.04리눅스에서 설치는 간단하다.$ sudo apt-get install software-properties-common$ sudo add-apt-repository -y ppa$ su...

웹 애플리케이션에서의 로깅

웹 애플리케이션 서버는 웹 엑세스로그와 애플리케이션 로그다. 웹 엑세스 로그는 NginX와 Apache 웹 서버가 남기는 , 메서드(GET, POST, PUT, DELETE), HTTP Status Code, 접근 시간, 클라이언트 애플리케이션 정보등을 포함한다. Combined 로그 형식을 널리 사용한다. 127.0.0.1 - frank (Win98; I...

Facade pattern

Facade는 건물의 외관을 의미한다. 여러 클래스를 사용 해야 한다고 가정해보면, 개발자는 각각의 클래스로 부터 객체를 만들어서 사용해야 할 것이고, 각 클래스의 세부동작을 알고 있어야 할 것이다. Computer클래스가 있다고 가정해보자. 이 컴퓨터를 끄고, 켜기 위해서는 CPU, 메모리, 하드, 운영체제 등 수많은 작업을 수행해야 한다. 객체지향에서는...

golang-mysql

LAMP는 최근 몇년 동안 가장 인기있는 소프트웨어 모음이었다. LAMP에서 M은 Mysql으로 괜찮은 성능과 (특히)뛰어난 사용성으로LAMP 스택의 성공을 견인했다. NoSQL이 주목을 받고 있지만 MysSQL은 여전히 가장 인기 있는 데이터베이스로 웹 기반의 많은 서비스들이 백앤드 데이터베이스로 사용하고 있다. Go언어는 SQL 데이터베이스를 위한 제너...

Golang factory method pattern

팩토리는 공장이라는 뜻을 내포하고 있다. 우리가 공장에 어떤 제품을 요청하면, 공장에서 그에 맞는 제품을 내놓는다. 이때 개발자는 공장의 내부를 알고 있을 필요가 없다. 그냥 공장에서 제공하는 제품의 목록과 이름을 알고 있으면 된다. 소프트웨어 공학에서 팩토리 메서드는 메서드의 구현을 서브 클래스에 위임하는 개발 방법이다. 개발자는 필요에 따라서 다양한 구...