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 활용 

은 인터넷 상에서 서로 다른 애플리케이션 간에 데이터를 주고 받기 위해서 사용하는 오픈 파일 포맷이다. XML과 비슷하다고 볼 수 있다. 그렇다면 이미 널리 사용하고 있었던 XML 대신 JSON 이라는 새로운 포맷이 나온 이유가 뭘까 ? 참고로 XML은 1998년 표준 권고안이 나왔고 JSON은 2013년 ECMA-404를 통해서 표준이 만들어졌다. (물론...

GoLang과 DynamoDB 

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

Go Project structure Best Practices 

원문 Go 애플리케이션의 구조는 다소 논쟁적인 주제가 될 수 있다. Go 애플리케이션에 대한 구조는 에 잘 정의되어 있다. 어떤 개발자는 참고하는 정도로 이용하지만 어떤 개발자는 반드시 이 구조를 따라야 한다고 주장하기도 한다. 내 입장은 "소프트웨어에서의 규칙은 가능하면 지키려고 하되 얽매일 필요는 없다"이다. 위 문서는 좋은 내용을 담고 있지만 이 도입...

TDD 세미나 문서 

코드는 매 빌드마다 테스트 코드를 중복해서 실행한다. 빌드를 성공하기 위해서는 테스트를 통과해야만 한다. 따라서 "테스트를 성공했다면" 이전의 품질목표는 달성했다는 것을 보장 할 수 있다. 기능이 많아질 수록 문제를 찾기가 점점 힘들어진다. 프러덕트화 될 수록 문제 해결이 힘들어진다 품질을 예측 할 수가 없다. 빈번한 빌드와 통합 빌드의 자동화 통...

Spring boot 설치 및 개발환경 설정 

$ uname -aLinux yundream 5.0.0-38-generic #41-Ubuntu SMP Tue Dec 3 00$ java -versionopenjdk version "11.0.5" 2019-10-15OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.119.04)OpenJDK ...