Development
213개의 글
gvm(go version manager)
gvm(go version manager) gvm은 nvm처럼 golang의 버전을 관리해주는 도구이다. 패키지매니저로 go를 설치할 때 버전이 너무 낮아서 곤란하거나, 바이너리로 설치했는데 go …
ModuleNotFoundError: No module named 'requests'
1. 개요 macOS Big Sur 업데이트 이후 파이썬 환경이 전반적으로 망가짐 2. 현상 ModuleNotFoundError: No module named 'requests' 3. 해결 pyth…
dyld: Library not loaded: /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation 에러 해결
1. 개요 macOS 환경 얼마전 Big Sur 업데이트 2. 현상 dyld: Library not loaded: /System/Library/Frameworks/CoreFoundation.fram…
Cypress로 UI 테스트하기
1. 개요 UI 테스트 도구인 Cypress의 설치방법과 실행방법에 대해 소개한다. 2. Cypress 설치 프로젝트 폴더에서 npm이나 yarn을 사용하여 Cypress를 설치한다. $ npm i…
django swagger 사용하기
개요 장고에서 Swagger를 사용하여 API Doc을 사용하는 방법을 알아본다. 필요 모듈 djangorestframework와 django-rest-swagger 설치가 필요하다. #requir…
Saga Pattern (사가 패턴)
1. 개요 Saga Pattern에 대해 알아보는 시간이다. 2. Saga Pattern이란? Saga Pattern 2PC를 사용할 수 없는 분산 환경에서 데이터 일관성을 위한 방안이다. 예전에 …
Spring Boot application.properties @Value
1. 개요 application.properties에 값을 정의하고 코드 내에서 사용하는 방법 2. 설정 startup.complete.code=20 3. 코드 @Value("${startup.co…
Swagger2 3.0.0 /swagger-ui.html 404 에러
1. 개요 Swagger2 및 UI 버전을 3.0.0으로 잡았을 때 /swagger-ui.html가 열리지 않는 현상 2. 해결 잘 모르겠으나 2.9.2로 되돌리고 나서는 잘 된다. !-- http…
[Python] PIP 실행 시, Error 발생할 때 대처방법.(pip 못찾음, SSL)
Python에서 주요 패키지나 라이브러리를 설치할 때 사용하는 pip 명령어 수행 시, 에러가 발생하는 경우가 있다. 1. pip 명령어를 못 찾을 때. python -m ensurepip --de…
Spring Query Refresh
1. 개요 서블릿 컨테이너 리부팅 없이 쿼리 반영을 가능케 한다. (긴급 반영 등) 2. 방법 CommonDao 빈을 refresh하면 된다. 실제로는 CI/CD 도구와 연계하여 쿼리 파일을 반영한…
MyBatis Plugin Interceptor를 통한 Query Logging 구현
1. 목적 MyBatis 로그를 어떻게 할까 고민하던 중 선택한 방법이다. 실제 Insert, Update 등의 쿼리를 DB에 넣어달라는 요청은 많이 발생한다. 하지만 log4j 사용 시 모든 쿼리…
순수함수
함수형 프로그래밍 부수 효과를 없애고 순수 함수를 만들어 모듈화 수준을 높이는 프로그래밍 패러다임이다.(개발할 때 가장 어려운 점은 변경을 추적하고, 상태를 유지하는 것) 부수 효과 : 함수에서 외…
golang Context(컨텍스트)
개요 golang은 Context(컨텍스트) 패키지를 기본적으로 포함하고 있다. 컨텍스트는 함수가 요청을 받을 때 API와 API 사이, 프로세스 사이에서 값들을 가지고 다닌다. 서버에 요청이 들어…
golang 크로스 컴파일-리눅스에서 .exe 빌드
개요 golang을 크로스 컴파일하여 다른 운영체제에서 실행 가능한 실행파일을 생성한다. 컴파일 가능한 instruction set 다음과 같은 instruction set을 지원한다. amd64,…
Git 체크리스트
Git 체크리스트 이 글은 Git 프로젝트를 생성하거나 사용할 때 참고하기 좋은 체크리스트이다. Git 프로젝트를 Fork 한다. Fork한 프로젝트를 로컬 환경으로 복사한다. ( git clone…
golang IP Lookup 애플리케이션
개요 K8s에 Stateful Set으로 Pod를 띄우는 경우, 각 Pod IP로 접근해야 할 필요성이 있을 수 있다. 가령 EKS의 경우 Pod가 ENI와 매핑되어 같은 VPC 내부에서 Pod I…
golang REST API 서버 컨테이너 빌드
개요 golang으로 간단한 REST API 서버를 작성하고, 다중 스테이지(Multi stage) Dockerfile로 빌드하여 컨테이너로 배포한다. API 서버 모듈 임포트 REST API 서버…
[JavaScript] strict mode란?
Strict mode란 ECMAScript 5에서 처음으로 소개된 strict 모드는 JavaScript 코드에 더욱 엄격한 오류 검사를 적용하여 기존에 무시되던 오류를 발생시킬 가능성이 높거나 자…
Swagger란
1. 개요 REST API 설계 및 문서화 등에 유용하게 사용되는 Swagger에 대해 소개하고, Spring Boot에 적용하여 REST API를 문서화하는 예제를 소개한다. 2. Swagger란…
golang에서 MongoDB 사용하기
개요 go.mongodb.org/mongo-driver를 활용하여 golang에서 MongoDB를 사용하는 방법을 알아본다. 모듈 다운로드 go get go.mongodb.org/mongo-driv…
golang MySQL 연동
개요 golang을 통해 MySQL의 데이터베이스에 쿼리를 날리는 방법을 알아본다. 필요 모듈 DB의 연동과 관련된 database/sql 모듈과 MySQL 드라이버인 go-sql-driver/my…
Reactive Programming
1. 소개 오늘은 리액티브 프로그래밍이 무엇인지 소개하려고 합니다. 2. 리액티브 프로그래밍이란 무엇인가? 데이터가 통지될 때마다 관련 프로그램이 반응(Reaction)하여 데이터를 처리하는 기법이…
Eclipse에서 dispatcher-servlet.xml 파일 red 마크
1. 개요 2. 현상 Multiple annotations found at this line: - Referenced file contains errors (http://www.springframe…
GCP Cloud Source Repositories Quick Start
1. 개요 2. GCP 가입 3. 메뉴로 이동 https://cloud.google.com/source-repositories/?hl=ko 4. 생성 저장소 및 프로젝트를 생성한다. 5. 인증 인증…