Golang 에서의 ORM (GORM) 

ORM(Object-relation mapping)은 객체지향 프로그래밍 언어를 사용해서 서로 다른 시스템간에 데이터를 호환성있게 변환하기 위해서 사용하는 프로그래밍 기술이다. ORM을 사용 할 경우 실실적으로 프로그래밍 언어에서 사용 할 수 있는 가상 객체 데이터베이스를 생성한다. 이 가상 객체 데이터베이스는 클래스(혹은 스트럭처)와 맵핑된다. 결과적으로...

Simple Web Server 

Go언어는 "net/http"라는 웹 애플리케이션 개발을 지원하는 패키지를 제공한다. 매우 사용하기 쉽고, 강력하기 때문에 "다른 프레임워크 사용 할 필요 없다. net/http 만 써도 충분하다"라는 평가를 받기도 한다. 풀 프레임워크 목적으로 사용하기에는 부족하지만 REST API 서버 개발 목적이라면 이걸로 충분하다.package mainimport ...

PWA - Progressive Web Apps 

PWA(Progressive Web App)은 HTML, CSS, JavaScript를 포함한 일반적인 웹 기술을 사용하여 개발된 응용 프로그램 소프트웨어다. 표준적인 웹 브라우저를 포함한 모든 플랫폼에서 작동한다. 이렇게 봐서는 일반적인 웹 애플리케이션과 무슨 차이가 있느냐 하겠지만, 오프라인 작업, 푸시 알람, 데스크톱 및 모바일로의 설치(네이티브 응용...

Dart Tour - 설치 

우분투 리눅스 19.04 에 Dart를 설치했다. 편집기는 vim을 이용하고 있다. flutter는 Android studio를 쓰고 있는데, 언어를 학습하는데에는 너무 무겁다. 언젠가 VS Code로 설정해봐야 겠다.$ sudo apt-get update$ sudo apt-get install apt-transport-https$ sudo sh -c cu...

Dart 

Dart는 멀티 플랫폼위에서 작동하는 클라이언트 앱의 개발을 목적으로 만들어진 클라이언트 개발에 최적화된언어다. 구글이 개발한 언어이며 모바일, 데스크탑, 서버, 웹 애플리케이션을 만드느데 사용한다. Dart는 객체지향, 클래스, 가비지 컬렉션을 지원하는 언어로 C 스타일 문법을 가지고 있다. Dart는 네이티브 코드(native code)와 Javascr...

Go언어에서 Tag 사용 

Go 언어에서 json을 다루다 보면 아래와 같은 구조체를 볼 수 있을 거다.type User struct { Name string `json Age int `json}GoLang의 구조체(struct)의 필드는 Tag를 이용해서 메타정보를 추가하는 것으로 의미를 확장할 수 있다. 위의 구조체에서 Name과 Age 필드는 각각 json 필드와 매핑되며, n...

Marshal structs the right way: Golang 

많은 Golang 초보자들이 struct를 json으로 마샬링하면서 실수를 하곤한다. 이 문서는 이 문제를 어떻게 해결했는지를 담고 있다. golang에서 정의된 필드를 사용하지 않는 비어있는 struct를 json으로 마샬링하면, 각 필드가 기본 값을 가진체 마샬링 된다. 때때로 이는 개발자를 혼란스럽게 한다. 아래 코드를 보자. package main...

Spark 

2020년 3월 10일 부터 Apache Spark를 공부한다. Udemy의 로 시작한다.Apache Spark는 오픈 소스 기반의 범용 분산 클러스터링 컴퓨팅 프레임워크다. Spark는 병렬처리 기능 및 내결함성과 전체 클러스터에서 작동하는 애플리케이션을 프로그래밍하기 위한 인터페이스를 제공한다. 버클리 대학의 AMPLab에서 처음 개발 된 Spark는 ...

Mysql JSON - SELECT, INSERT, UPDATE, 색인 

MySQL도 JSON을 지원합니다. SELECT, INSERT, 색인하는 법, JSON PATH 표현식을 살펴봅니다. 그리고 JSON_ARRAY, JSON_EXTRACT, JSON_OBJECT, JSON_SET, JSON_INSERT, JSON_REPLACE, JSON_VALID 등의 주요 함수 사용법도 확인합니다. NoSQL의 수평확장이 아닌 스키마리스와...

GoLang과 DynamoDB 

Go 언어를 이용해서 Dynamodb에 CRUD하는 방법을 살펴볼 것이다. 우분투 리눅스 19.04 Go version 1.12 AWS Cloud 서울 리전 데이터베이스 DynamoDB는 AWS의 관리형 NoSQL 데이터베이스다. 서버가 필요 없는 서버리스(ServerLess) 환경을 제공한다. 개발자는 가용성, 확장, 성능 등에 대한 고민 없이 개발 할 ...