전체 글(51)
-
[ERROR] docker build 시 오류 해결 (401 Unauthorized)
Udemy에서 도커 강의를 수강 중이다.강의 내용 중에 docker compose 실습을 위해 도커에서 github에 올려놓은 소스를 이용하여 배포를 해보는 과정이 있다. 소스 clone 후,Dockerfile이 존재하는 경로에서 아래와 같이 명령어를 입력했다.docker build . -t voting-app오류내용PS D:\02_STUDY\Udemy\example-voting-app\vote> docker build . -t voting-app[+] Building 1.7s (3/3) FINISHED docker:desktop-linux => [internal] load ..
2024.10.07 -
[ERROR] docker build 시 오류 해결 (ERROR: error during connect: Head ~)
Udemy에서 도커 강의를 수강 중이다.강의 내용 중에 docker compose 실습을 위해 도커에서 github에 올려놓은 소스를 이용하여 배포를 해보는 과정이 있다. 소스 clone 후,Dockerfile이 존재하는 경로에서 아래와 같이 명령어를 입력했다.docker build . -t voting-app 오류내용ERROR: error during connect: Head "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/_ping": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified. 처음에는 내 노트북이 윈도우라 발생한 오류인 줄 알았다. 해결방법도커 데스크탑을..
2024.10.07 -
MySQL 8.0.34 CentOS7.8 replication 이중화 구성
우리 회사에서는 네이버 클라우드 서버를 사용중이다. 이번에 회사 DB 서버를 이중화하면서 2일간 고생을 했는데, 잊지 않기 위하여 기록을 한다. 사실 네이버 클라우드의 Cloud for MySQL 서버를 사용하면 이중화 구성이 자동으로 되기 때문에 편하긴 하지만, 2core, 4GB 기준으로 1달 서버비용이 거의 25만원(총 2대 비용)이고, 게다가 DB서버에 접속하기 위한 서버를 1대 더 생성해야 해서, 순수 서버비용만 거의 1달에 30만원이 나가게 된다. 게다가 스토리지 비용도.... 우리는 스타트업이므로 회사의 서버비용도 절약하고, 나도 DB 관련 지식을 얻을 겸, 이중화 구성을 직접 진행하였다. [ 시스템 사양 ] - MySQL 버전 : 8.0.34 - OS 버전 : CentOS 7.8 (64비트..
2023.09.14 -
springboot H2 database 연결 오류 "mem:testdb" not found
스프링부트의 application.yml 에 h2 관련 설정을 아래와 같이 하였다. spring: h2: console: enabled: true path: /h2-console datasource: url: jdbc:h2:mem:testdb username: sa password: sa driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create # 어플리케이션을 시작할 때 데이터베이스를 초기화하고 다시 테이블 생성 properties: hibernate: format_sql: true # 실행되는 query를 보여줌 logging.level: org.hibernate.SQL: debug 그 다음, 스프링부트를 실행한 후, http://local..
2023.08.10 -
코틀린 팩토리 패턴(Kotlin Factory Pattern) - 스프링부트
스프링부트에서 코틀린으로 팩토리 패턴을 구현하는 방법을 알아보자. 아래 코드 샘플을 참고해주세요. 코드샘플 PushType.kt (열거형 enum 클래스) enum class PushType { ANDROID, IOS; companion object { operator fun invoke(type: String) = valueOf(type.uppercase()) } } PushService.kt (인터페이스 클래스) interface PushService { fun getPushType(): PushType; fun savePushData() = println("default msg...") AndroidPushServiceImpl.kt (PushService 인터페이스를 구현하는 서비스 클래스) @Se..
2023.05.09 -
[코틀린/Kotlin] 함수의 선언방법
fun log(level: String = "ERROR", message: String){ println("[$level]$message") } //위 함수를 아래와 같이 여러 방법으로 호출 가능하고, 출력값은 우측과 같다. fun main(){ log(message = "에러 로그"); --> [ERROR]에러 로그 log(level = "DEBUG", "디버그 로그") --> [DEBUG]디버그 로그 log("WARN", "경고 로그") --> [WARN]경고 로그 log(level = "FATAL", "심각한로그") --> [FATAL]심각한로그 } 오늘은 코틀린의 함수 선언방법에 대해 공부해보자! 코틀린의 함수 선언방법은 자바의 그것보다 좀 더 간결하고 유용한 기능이 제공된다. ■ 기본적인 함수 ..
2022.10.30