분류 전체보기
-
12장 리플렉션카테고리 없음 2019. 12. 1. 21:51
The Go Programming language 개요 리플렉션(reflection)은 컴파일 시 미리 알 수 없는 타입에 대해 런타임에 변수를 갱신하고 값을 조사하며 메소드를 호출하고 표현 방식에 따른 고유 작업을 적용한다. 리플렉션은 타입 자체를 일급 클래스 값으로 취급할 수 있다. 12.1 왜 리플렉션인가? 알려지지 않은 타입 값의 표현을 검사하는 방법 없이는 바로 문제에 부딪치게 된다. 이때 리플렉션이 필요하다. 12.2 reflect.Type과 reflect.Value 리플렉션은 reflect 패키지로 제공된다. 이 패키지에는 두 가지 중요한 타입인 Type과 Value가 정의돼 있다. Type은 Go 타입을 나타낸다. Type은 타입을 식별하거나 구조체의 필드나 함수의 파라미터와 같은 구성 요..
-
PostgreSQL 12 Release카테고리 없음 2019. 11. 28. 17:40
이 문서에서는 PostgreSQL 12 버전 릴리즈 노트를 정리한다. 릴리즈 노트 정보는 https://www.postgresql.org/docs/12/release.html에서 더 자세하게 확인할 수 있다. 릴리즈 노트는 메이저 기능과 마이그레이션 이슈 등의 중요한 변경사항을 포함한다. 소수의 사용자에서만 영향을 주는 변경사항이나 내부적으로 사용자가 볼 수 없는 변경사항이 릴리즈 노트에 포함하지 않는다. 예를 들어 옵티마이저는 거의 모든 릴리즈에서 개선되었지만 일반적으로 개선된 내용은 사용자가 쿼리로 관찰한다. 각 릴리즈에 대한 Git 로그를 보면 각 릴리즈에 대한 전체 변경 목록을 얻을 수 있다. pgsql-committers 이메일 목록은 모든 소스코드 변경을 기록한다. 특정 파일에 변경사항을 기록..
-
링크 정리(2019년 11월 4주차)카테고리 없음 2019. 11. 28. 12:15
매주 월요일부터 금요일까지 페이스북에 올라온 링크를 정리한다. 사이트 서버리스를 활용한 분산 처리: 원문 모던 JavaScript 튜토리얼: 원문 우아한 Redis: 원문 초보 탈출 #1 - 어려운 문제 조각내서 해결하기: 원문 Java null survival guide: 원문 HTTP에서 HTTPS로 전환하기 위한 완벽 가이드: 원문 리액트 예제 - KeyPress이벤트, ref 사용하기: 원문 git rebase를 이해하기: 원문 캠퍼스 핵데이 Java 코딩 컨벤션: 원문 GraphQL 개념잡기: 원문 11/18 ~ 11/24 Jenkins Weekly (10): 원문 동영상 코드스피치 s85 거침없는 자바스크립트 5강: 원문
-
13장 저수준 프로그래밍카테고리 없음 2019. 11. 25. 21:50
The Go Programming language 개요 unsafe 패키지를 사용해 일반적인 규칙에서 벗어나는 방법과 cgo 도구를 통해 C 라이브러리와 운영체제 호출을 위한 Go 바인딩을 생성하는 방법을 알아본다. unsafe 패키지는 runtime, os, syscall, net 등 운영체제와 상호작용하는 저수준 패키지에서 광범위하게 사용된다. 13.1 unsafe.Sizeof Alignof, Offsetof unsafe.Sizeof 함수는 모든 타입 표현식의 피연산자를 바이트로 표현한 크기를 보고한다. 표현식 자체는 평가되지 않는다. Sizeof 호출은 unitptr 타입의 상수 표현식이므로 그 결과는 배열 타입의 차원이나 다른 상수 계산식으로 사용할 수 있다. import "unsafe" fmt...
-
11장 테스트카테고리 없음 2019. 11. 25. 20:54
The Go Programming language 개요 오류를 찾는 방법은 동료 검토, 테스트 방식이다. 암묵적으로 자동화된 테스트를 의미하는 테스팅은 테스트 대상 코드(프로덕션 코드)가 특정한 입력에 대해 의도한 대로 동작하는지 확인하는 작은 프로그램을 작성하는 것으로, 보통 입력은 특정 기능을 수행하기 위해 신중하게 선택된 값이거나 넓은 범위를 테스트하기 위한 임의의 값이다. Go의 테스트는 go test 명령어로 실행할 수 있는 테스트 함수 작성 규칙에 의존한다. 테스트 코드를 작성하는 것은 작업의 한 부분에 초점을 맞춘 짧은 함수를 작성하면 된다. 11.1 go test 도구 _test.go로 끝나는 파일은 go test로 빌드된다. _test.go 파일 안에는 Test, Benchmark, Ex..
-
PostgreSQL CommitFest(CF)카테고리 없음 2019. 11. 25. 10:18
개요 Commit Fest는 주기적으로 하고, PostgreSQL의 새로운 개발을 중지하고 패치(Path)에 대한 리뷰 및 커밋에 중점을 둔다. Commit Fest Home: https://commitfest.postgresql.org/ 릴리즈 단계는 알파 릴리즈, 베타 릴리즈, 파이널 릴리즈 순서로 진행된다. Commit까지의 과정은 1) Desirability, 2) Design, 3) Implement, 4) Test, 5) Review, 6) Commit 순서로 진행된다. 1) Desirability & 2) Design Todo List(https://wiki.postgresql.org/wiki/Todo)에서 작업하고자 하는 아이템을 찾는다. pgsql-hackers 메일리스트에 무엇을 할지 ..
-
PostgreSQL 1장카테고리 없음 2019. 11. 25. 08:54
다음 주제에 대해 알아본다. Database Cluster의 논리 구조(Logical Structure) Database Cluster의 물리 구조(Physical Structure) Heap Table File의 Internal Layout Table의 Data를 Write 및 Read하는 방법 논리 구조 데이터베이스 클러스터는 데이터베이스들의 Collection이다. 하나의 PostgreSQL 서버는 단일 호스트에서 실행되며 단일 데이터베이스 클러스터를 관리한다. 논리 구조는 다음과 같다. 하나의 데이터베이스는 데이터베이스 오브젝트들의 Collection이다. 데이터베이스 오브젝트는 데이터를 자정하는데 사용되는 데이터 구조 또는 데이터를 참조하는데 사용되는 데이터 구조 중 하나이다. 하나의 테이블이 ..
-
Oracle FDW카테고리 없음 2019. 11. 22. 15:47
개요 Postgresql 에서 Oracle에 있는 데이터를 가져오기 위해서는 FDW를 이용할 수 있다. FDW는 Foreign Data Wrapper 의 약자로 이기종 데이터베이스의 외래테이블 간에 연결하여 사용할 수 있는 솔루션이다. FDW를 이용하여 내부 레거시 연계작업을 단순화할 수 있는 장점이 있다. 그 중에서도 Oracle과 PostgreSQL 데이터베이스 간에 외래테이블에 대한 연결작업에 대해서 알아보고자 한다. 실행 방법 Oracle_FDW module compile 아래 url 에 접근 하여 oracle_fdw를 다운로드 한다. (현 예제는 linux에 설치할 예정이므로 source code 파일을 다운로드 받는다.) https://github.com/laurenz/oracle_fdw/re..