전체 글
-
Golang에서 gRPC 사용하기 (Client / Server)Go Language 2022. 9. 13. 17:46
해당 포스팅에선 protobuf 작성 및 해당 protobuf 컴파일하여 Client / Server Stub 생성 후 사용하는 예제까지 진행 하려고 합니다. 실습 환경 OS : MacOS go version : go version go1.19 darwin/arm64 protoc --version : libprotoc 3.21.5 1. gRPC 설치하기 go get -u google.golang.org/gpc go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc go install google.golang.org/grpc/cmd/protoc-gen-go-grpc 2. protobuf 작성 HTML 삽입 미리보기할 수 없는 소스 3. protobuf 컴파일 및..
-
쉽Go 편리하GO (Go를 배워야 하는 이유)Go Language 2022. 8. 2. 09:46
Go를 왜 배워야 하는가? 간결한 문법 Go언어는 loop 문법으로 while이 없고 오직 for만 있고 또한 Class를 배제함으로써 언어 자체가 단순해졌습니다. 또한 keyword가 25개밖에 되지 않아 문법 또한 간결해 입문이 쉬운 편입니다. 컴파일 언어 / 빠른 컴파일 속도 Go 언어의 특징은 컴파일 언어이지만 컴파일러의 컴파일 속도가 매우 빨라 인터프리터 언어처럼 쓸 수 있다는 점에 있습니다. Go 는 컴파일 언어인 동시에 C와 달리 헤더가 아닌 패키지 개념을 사용해 컴파일 속도가 빠릅니다. 이로 인해 Go로 알고리즘 문제를 해결한다면 다른 언어와 비교할 수 없는 빠른 속도로 해결할 수 있습니다. 간편한 동시성 제어 (병행성) Go는 대표적인 채널 기반 언어입니다. 스레드라는 것을 명시적으로 주..
-
Bucket4j란? Bucket4j를 사용한 Spring 트래픽 제한하기Spring 2022. 1. 4. 14:05
들어가기 앞서.. Spring REST API를 개발하며 특정 API들에 대해 일정시간 혹은 사용자마다 요청한도(트래픽)을 제한하고 싶은 경우가 있습니다. 해당 기능을 개발하기 위한 유용한 라이브러리인 Bucket4j를 소개하며 해당 라이브러리를 통한 유량제어에 대해 실습을 해보려고 합니다. (요청한도(트래픽) 제한을 하기 위한 라이브러리론 해당 라이브러리 외에 RateLimiter, RateLimitJ 등도 있으니 함께 알아보며 공부하면 더 좋을 것 같습니다.) Bucket4J란? Bucket4j는 Token bucket 알고리즘을 기반으로 하는 Java 속도 제한 라이브러리 입니다. Bucket4j는 독립 실행형 JVM 애플리케이션 또는 클러스터 환경에서 사용할 수 있는 스레드로부터 안전한 라이브러리..
-
Spring Batch란? 이해하고 사용하기(예제소스 포함)Spring 2021. 8. 24. 14:44
들어가기 앞서.. Spring Batch에는 굉장히 많은 설정과 기능들이 존재합니다. 해당 포스팅에서는 기초적인 Spring Batch에 대해서 설명하고 사용하는 예제에 대해서 설명을 하려고 합니다. Spring Batch를 사용하지 않았던 사람도 해당 포스팅을 보고 간단하게 Spring Batch를 사용할 수 있도록 하며 다양한 설정 및 추가적인 기능들은 Project를 진행하며 알아보고 공부하면 좋을 것 같습니다. Spring Batch Spring Batch는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기, 리소스 관리 등 대용량 레코드 처리에 필수적인 기능을 제공합니다. 또한 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 배치 작업을 가능하게 하는 고급 기술 서비스 및 ..
-
[Database] RDBMS와 NoSQL의 차이점Database 2021. 2. 7. 15:18
이번 포스팅에서는 RDBMS와 NoSQL의 차이점을 알아보려고 합니다. 그전에 RDBMS는 무엇이고 왜 사용하며 NoSQL은 무엇이고 왜 사용을 할까요? 그리고 그 두 DB의 차이점은 무엇이며 서로에 대한 장단점은 무엇이 있을까요? 해당 설명을 하기 앞서 기본 용어들에 대해 정리를 하고 가겠습니다. Database와 DBMS 그리고 SQL Databse란 일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미합니다. DBMS란(DataBase Management System) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어입니다. SQL이란(Strucured Query Language) 관계형 데이터베..
-
[MongoDB] Windows에 MongoDB 설치하기Database/MongoDB 2021. 2. 7. 13:58
MongoDB 몽고 DB는 Document 지향 데이터베이스 시스템으로 대표적인 NoSQL DB입니다. 오늘은 그러한 MongoDB를 Winodws에 설치 방법에 대해 포스팅을 해보려고 합니다 1. 설치 하기 설치 링크 : www.mongodb.com/try/download/enterprise MongoDB Enterprise Server Download Download MongoDB Enterprise Server, which provides advanced security and performance options for the most demanding apps. Use for free for development. www.mongodb.com 해당 사이트에서 받을 MongoDB 버전을 선택하여 다..
-
[Kotlin] 2. Kotlin Spring Boot 설정하기Kotlin 2021. 2. 6. 18:53
이번 포스팅에서는 SpringBoot 설정을 해보려고 합니다. SpringBoot 설정 후 정상 구동 하는 것을 확인하고 이후 포스팅 부터는 별도 프로젝트로 Kotlin으로 Back-end 개발 진행을 하도록 하겠습니다. 1. build.gradle 설정 2. application.yml 설정 3. Application 작성 3. Tree 구조 4. 정상 구동 확인 2021/01/31 - [Kotlin] - [Kotlin] 1. Kotlin 프로젝트 만들기
-
[Kotlin] 1. Kotlin 프로젝트 만들기Kotlin 2021. 1. 31. 19:26
Kotlin을 통한 Back-End 서버 개발에 관심이 생겨 Kotlin으로 간단한 Spring Boot 프로젝트를 진행하려고 합니다. 프로젝트 생성, Kotlin 문법 및 프로그램 등 그리고 Spring 설정 등 다양한 포스팅을 진행할 예정입니다. 첫 번째 포스트에선 간단하게 Kotlin Project를 생성하고 이후 계속해서 추가 포스팅을 해 나아가겠습니다. 1. 프로젝트 생성 2. Gradle - Kotlin/JVM 설정 3. GroupId, ArtifactId, Version 입력 4. 프로젝트명 입력 5. Kotlin 파일 생성 6. Hello World 2021/02/06 - [Kotlin] - [Kotlin] 2. Kotlin Spring Boot 설정하기