본문 바로가기

전체 글

(26)
도커 & 쿠버네티스 스터디 2주차 - Kubernetes 소개 & Kubernetes 기본 활용 1. 쿠버네티스 소개2014년 Google 내부 Borg 에서 발전하여 2015년에 오픈소스로 공개함컨테이너를 쉽고 빠르게 배포하고 확장해주는 컨테이너 관리 자동화 오픈소스 플랫폼컨테이너 오케스트레이션 (조율, 관리)k8s조타수 등을 뜻하는 그리스어에서 유래쿠버네티스에 올라가는 많은 도구들은 바다와 관련된 용어와 아이콘이 많음control-plane(master)node, worker node - 컨테이너 파드가 올라가는 서버들kubectl : 큐브컨트롤etcd: 저장소 역할퀴즈 : etcd 라는 이름으로 하게 된 이유는?답 : 리눅스 시스템 설정 파일이 /etc에 있고, 여기에 분산(distributed)의 의미로 ‘d’를 더해서쿠버네티스 필요성컨테이너는 클라우드 네이티브 애플리케이션의 표준 컴퓨팅 단..
도커 & 쿠버네티스 스터디 1주차 : Docker 소개 & Docker 활용 개요 : 컨테이너란?컨테이너는 애플리케이션(프로세스) 동작에 필요한 파일들만 패키징된 이미지를 실행하여 동작컨테이너는 컨테이너 환경이 조성된곳 어디에서나(온프레미스/클라우드 환경)에서도 실행할 수 있음—> 그렇기 때문에 요즘은 컨테이너가 개발 표준 환경으로 자리잡음실습 환경 설정 : AWS (window)MAC, WINDOW 등 다양한 환경의 사용자들의 환경을 맞추기 위해 서버를 하나 올리고 접속하여 명령어를 실행하고자 함.AWS 로그인 후 오른쪽 위의 리전은 서울 리전으로 맞추기 2. 검색창에 EC2 검색, EC2 들어가기2-1. 왼쪽 네트워크 및 보안 → 키페어 들어가기 2-2. 키페어 생성하기키페어는 생성하여 다운로드하여 가지고 있는다. 3. 주소창에 myip.com 입력하여 접속하기Your IP ..
Java/Kotlin에서 Instant와 LocalDateTime 사용 시 주의점 개요Java 8부터 도입된 java.time 패키지는 날짜와 시간을 다룰 때 직관적이고 안전한 방법을 제공한다.이 중 Instant와 LocalDateTime은 자주 사용되는 클래스이지만, 특성을 잘 알고 사용하지 않으면 사용 중에 예상치 못한 문제가 발생할 수 있다.Instant와 LocalDateTime의 정의Instant: 특정 시점(타임스탬프)을 나타내는 클래스이다. UTC(협정 세계시) 기준의 시간을 밀리초 혹은 나노초 단위로 저장하며, 전 세계에서 동일한 기준 시간을 유지하는 데 적합하다. Instant는 시간대 정보를 포함하지 않으며, UTC 기준으로 동작한다.LocalDateTime: 특정 시간대를 고려하지 않은 날짜 및 시간을 나타내는 클래스이다. 즉, 시간대 정보 없이 연-월-일 시-분..
Spring Security @EnableWebSecurity(debug = true) 오류 해결 배경@Configuration@EnableWebSecurityclass AuthConfig() {// ...securityFilterChain 메서드 등} 스프링 시큐리티를 사용하면 위와 같은 스프링 시큐리티 설정 클래스를 만들어야 한다. 여기서 @Configuration은 이 클래스를 Spring의 설정 클래스로 만드는 어노테이션이다. @EnableWebSecurity는 Spring Security를 사용하도록 활성화하는 어노테이션이다. 이 어노테이션이 있는 클레스는 Spring Security를 구성하고 필터 체인을 정의할 수 있다. @EnableWebSecurity는 debug라는 optional element를 가지고 있다. 이 속성은 Spring Security에서 디버깅 지원을 제어한다. 기본..
2025년 정보처리기사 1회 필기시험 후기 2025년 정기 기사 (정보처리기사) 1회 시험 후기 (필기)시험 일자 : 2025-03-02(일) 접수정처기는 접수가 쉽지 않다. 지역별로 시간대를 나눠서 신청을 받음에도 접수하려는 사람이 워낙 많기 때문인지 신청 당일에 웹사이트에서 페이지 이동에 꽤나 시간이 걸린다. 조금 버벅이다가는 이미 눈여겨본 시험장이 모두 마감될 수 있다.  나도 이런식으로 집에서 가까운 시험장 두 개를 놓치고, 30분 가량 지하철을 타야 되는 곳으로 신청을 완료했다.   공부 방법 정처기 필기는 총 5과목이다.    * 소프트웨어 설계   * 소프트웨어 개발   * 데이터베이스 활용   * 프로그래밍 언어 활용   * 정보시스템 구축 관리필기 합격자로부터 받은 기본서(수제비)가 있어서 1주에 한 과목을 잡고 5주 동안 개념 ..
JpaSystemException: Could not extract column [6] from JDBC ResultSet [MONTH] 오류 해결 기존 프로젝트에 기능 추가를 하는 중, 개발 환경에서 db 스키마 변경이 필요했다. 문제는 스키마 변경 후 데이터베이스 정합성, 도메인 무결성 등을 위배하는 데이터들 때문에 기존에 정상적으로 작동하던 API 중 몇몇 API에서 오류가 났다. 그중에 한 API 오류 해결 사례를 정리하는 포스팅.  에러 발생{"code": 400,"message": "Bad Request / Could not extract column [3] from JDBC ResultSet [MONTH] [n/a] / org.hibernate.exception.GenericJDBCException: Could not extract column [3] from JDBC ResultSet [MONTH] [n/a] / class org.sp..
비밀번호 없이 회원가입, 로그인 구현 (kotlin + spring boot) 벨로그(https://velog.io/) 서비스를 이용하다 회원가입, 로그인에서 독특한 플로우를 발견했다. 우선 로그인 안 한 상태로 벨로그에 접속하면 우측 상단에 로그인 버튼이 보인다. 로그인 버튼을 클릭하면 이런 로그인 모달이 뜬다. 이메일을 입력 후 로그인 버튼을 누르면, 벨로그에 가입된 회원인 경우 이메일로 로그인 링크가 발송되며, 가입된 회원이 아닌 경우에는 이메일로 회원가입 링크가 발송된다. (혹은 사용자가 회원가입을 하지 않은 것이 확실하다면 모달 우측 하단의 ‘회원가입’ 텍스트를 틀릭하면 모달창에서 ‘로그인’ 부분이 ‘회원가입’으로 텍스트가 변경된다.)이메일로 로그인 링크를 받은 경우 링크 클릭 시 로그인한 상태로 벨로그 메인 페이지로 이동한다. 이메일로 회원가입 링크를 받은 경우 링크를 ..
Kotlin에 MapStruct 적용할 때 주의할 점 개요매퍼 라이브러리로 mapstruct를 사용하는 과정에서 생각과 달리 작동하던 부분이 있어서 애를 먹고 고민했던 부분이 있다.그 과정에서 알게된 것들(코틀린의 기본 문법 포함)에 대해 정리하는 글. 적용한 mapstruct 버전 : 1.5.5 final미리보기이 글의 핵심을 먼저 mapstruct의 도큐먼트 인용으로 언급하자면 다음과 같다.3.9. Using ConstructorsMapStruct supports using constructors for mapping target types. When doing a mapping MapStruct checks if there is a builder for the type being mapped. If there is no builder, then Map..