본문 바로가기

전체 글

(65)
[Day6 하노이] 하노이 노이바이 국제공항, 대한항공 하노이-인천 KE442, 인천공항 2터미널 발렛파킹 찾기 2024년 9월 21일 (토)  마지막 아침이 밝았다-! 7시에 일어나 씻고 나갈 준비를 마친 뒤 어제 먹고 남은 김치와 삼겹살로 엄마가 김치볶음밥을 만들어줬다. 남은 쌈채소에 쌈을 싸서 배불리 먹었다. 그리고 어제 미리 사놓은 코코넛 녹두 스무디까지 완벽한 아침이었다. ㅎㅎ         떠나기 아쉬운 마음에 이렇게 거실에 있는 창문 밖을 배경으로 콩커피 사진도 남겨봤다.       집에서 짐을 다 챙겨서 나가기 직전 거실 티비 앞에 내 휴대폰을 놔두고 마지막으로 사진 찍었다.          미리 kkday에서 숙소->하노이 노이바이 국제공항까지 가는 7인승 차량을 예약해뒀다. 그리고 픽업 당일 8:20쯤 담당 기사님께로부터 도착했다는 연락을 받을 수 있었다. 우리가 항상 그랩을 타고 내리는 자리에 ..
[Day5 하노이] 서호 콩카페, 하노이 한인타운, 주말 야시장, Ga Nuong Viet Ha 백종원 추천 닭구이집 2024년 9월 20일 (목) 실질적인 여행 마지막 날 아침이었다. 코코넛 요거트에 생망고와 아보카도 그래놀라(아보카도 맛은 하나도 안 나는)와 같이 섞어 먹었다. 숙소에 있는 티비에서 YouTube를 볼 수 있어서 아침마다 아빠가 설교말씀을 틀어놨는데, 들으면서 맛있는 아침을 먹었다.           아침을 든든히 먹고 혼자 방에 들어가 시원한 에어컨을 틀고 두꺼운 이불에 들어가는 사치를...ㅋㅋ 누리며 잠시 여유를 만끽했다.          마지막 날인 만큼 오전 10시쯤 다같이 마지막으로 서호 롯데마트에 가서 한국에 사갈 기념품과 점심으로 먹을 고기와 마늘까지 같이 장 봤다. 한국에서 가져온 누룽지, 햇반, 김치를 어느정도 처분하기 위해서 새로 장을 봤다. ㅎㅎㅎ        전 사람이 두고간 깻..
MySQL 워크밴치 연결시 Public Key Retrieval is not allowed 에러 해결하기 나의 맥에서 도커로 MySQL 서버를 실행하고 워크밴치(DBeaver)로 해당 DB에 접근시 "Public Key Retrieval is not allowed" 에러 메세지가 발생했다. 당황하지 않고 일단 ChatGPT에게 물어봤더니 친절하게 해결 방법을 알려줬다.     해결 방법1. DBeaver 열기: DBeaver를 실행합니다. 2. 연결 설정 편집:왼쪽 패널에서 데이터베이스 연결을 찾고, 해당 연결을 우클릭한 후 Edit Connection을 선택합니다.3. Driver Properties 설정:Connection settings 탭으로 이동한 후, Driver Properties 섹션으로 가세요.여기에서 새로운 속성을 추가해야 합니다.Property: allowPublicKeyRetrieval..
[Day4 하노이] 서호 롯데몰 롯데마트, 호안끼엠 콩카페, 하노이 시티투어 버스 2024년 9월 19일 (목) 베트남 와서 처음으로 알람 없이 여유롭게 일어나 집에 차고 넘치는 과일과 코코넛 요거트, 코코넛 과자로 아침을 먹었다. 가족 여행을 가면 거의 오빠는 늦게 일어나고 엄마, 아빠와 나 이렇게 셋은 항상 아침을 같이 먹는 것 같다. 아침 절때 빠트릴 수 없지~~         아침을 먹고 10시쯤 넘어 근처에 있는 서호도 구경할 겸 엄마랑 산책하러 나가려고 하는데 아빠가 처음엔 좀만 더 쉬다가 다같이 나가자고 하더니 같이 따라 나섰다. 우리 숙소는 서호 동북쪽에 위치했는데, 이곳 카페까지 걸어가면서 외국인들도 많이 보고 이집트 대사관도 지나갔다. 이쪽 동네가 외국인이 많이 사는 (그래서 좀 더 안전한) 곳이라고 들었다.  카페는 2층까지 있었고, 우리가 갔을 때 평일 낮이라 그..
[Day3 하롱베이, 하노이] 그랜드 파이어니스 크루즈2 2일차, 루온동굴 카약, 하노이 이온몰, 졸리비 2024년 9월 18일 (수) 6시에 일어나자마자 커튼을 열어 하롱베이의 아름다운 일출을 구경하며 하루를 시작했다. ☀️🌻 우리 방이 해 뜨는 방향 쪽에 있어서 이렇게 떠오르는 해를 구경할 수 있어서(비록 구름이 많이 껴서 흐리긴 하지만) 더 감사했다.         6시 30분부터 식당에서 간단한 아침 식사가 제공됐다. 즉석에서 만들어주는 쌀국수와 오믈렛 그리고 간단한 빵, 커피 등이 있었는데 특히 쌀국수가 고기도 많고 국물도 깔끔해서 정말 맛있었다. 외국인이 많이 탄 배라 그런가 고수도 없었다ㅎㅎ. 아주 배불리 든든하게 아침을 먹었다.         아침 햇살까지 받으며 밥을 먹으니 더욱 꿀맛이였다-!         7시 30분부터 루온동굴 투어가 있었다. 전날 밤에 Jerry라는 크루즈 최고 매니..
[Day2 하노이, 하롱베이] 비스포크 트랜디 호텔 조식, Grand Pioneers Cruise2 1박 2일(베란다 스위트룸) 2024년 9월 17일 (화) 아침 8시가 하롱베이로 가는 리무진 픽업 시간이라 7시 전에 일어나 간단히 준비하고 바로 조식을 먹으러 갔다. 이 호텔을 예약한 이유가 바로 이 조식 때문이였는데, 역시 기대를 저버리지 않았다.       신선한 야채, 과일을 비롯해 꽤나 다양한 음식들이 있었고 무엇보다 일반 브런치 카페같이 커피 등 음료와 직접 주문할 수 있는 메뉴들이 있었다. 그 중 우리는 사람들이 많이 주문한다는 쌀국수(치킨, 비프) 4개와 에그 베네딕트, 오믈렛을 주문해서 같이 먹었다. 쌀국수에 고기가 많이 들어있어 좋았는데 고수를 뺐어도 고수 향이 나서 많이 남겼다. ㅠ      주변에 있는 직원분들이 그릇을 바로 바로 치워주셔서 편하게 식사할 수 있었다. 👍😋 다 먹었을 때 쯤 오빠가 먼저 방..
[Day1 하노이] 대한항공 인천-하노이 KE441, 비스포크 트랜디 호텔, 분보남보, 서호 롯데마트, 피자 포피스, 센스파 2024년 9월 16일 (월)  출국 하루 전날(9/15) 저녁에 엄마, 아빠, 오빠가 수원에 올라왔다. 저녁으로 롯데마트에서 초밥 등을 사와 간단히 먹고 여행 때 입을 옷도 사고 짐도 챙겨둔 뒤 9-10시 사이에 일찍 누웠다. 이사하기 전 집 같았으면 우리 네 식구가 다 지내기 힘들었을텐데 더 넓은 집으로 이사해서 나름 안락하게 하룻밤을 보냈다. ㅋㅋ  새벽 3시에 일어나 씻고 짐을 챙겨 3:30쯤 광교에서 인천공항 2터미널로 출발했다. 이 날이 추석 연휴라 새벽에도 길이 막힐 줄 알았는데, 거의 막히지 않고 1시간 정도 만에 공항에 도착했다. 그리고 카카오 네비에서 미리 발렛 주차 예약을 해둬서 바로 차를 맡긴 뒤 출국장으로 이동했다.      출국장에 도착했을 때가 4시 50분쯤이였는데 새벽이라 그..
[Kubernetes] 도커 데스크톱에서 쿠버네티스 사용하기 (Mac OS) *이미 Docker Desktop이 설치되었다고 가정하고 쿠버네티스 설치 과정을 진행한다.  1. 쿠버네티스 활성화하기1) Docker Desktop을 열어 Extensions > Settings를 클릭한다.       2) 왼쪽 메뉴에서 Kubernetes를 클릭하고 Enable Kubernetes 항목에 체크한 뒤 Apply & Restart 버튼을 클릭한다.      2. Kubernetes Cluster 설치하기 팝업창에서 Install 버튼을 클릭한다. (몇 분 정도 시간이 걸린다.)    3. Kubernetes Running 상태 확인쿠버네티스 클러스터 설치가 완료되면 Kubernetes가 running 상태가 된다.
[Kubernetes] Mac M1 - kubectl 설치하기 (ft. 카카오 클라우드) kubectl은 클러스터를 제어하기 위한 k8s 커맨드 라인 도구이다. GUI로도 사용할 수 있지만 다양한 CLI 명령어로 k8s를 제어할 수 있다. kubectl 제어를 설정하기 위해 먼저 kubectl 클라이언트를 설치한 뒤 kubectl 제어를 설정하는 순서로 진행해본다.    kubectl 클라이언트 설치하기 1. 최신 릴리즈를 다운로드 한다. (Apple Silicon 버전)터미널을 열어 curl을 이용해 kubectl 바이너리를 설치한다. $ curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"   2. 바이너리를 검증한다 (선택 사항)1) 아래 ..
[NginX] Mac 로컬에 설치하기 개요NginX란?NginX는 가장 많이 사용되는 웹 서버 소프트웨어 중 하나이다. 웹 서버란, 웹 브라우저(ex. 크롬)의 요청에 따라 HTML, 이미지 등의 정보를 제공하는 소프트웨어 또는 그런 기능을 탑재한 컴퓨터를 말한다. 웹 서버 웹 브라우저간 HTTP, HTTPS 프로토콜로 통신하며, 웹 브라우저는 웹 서버에서 전송된 정보를 사람이 보기 편한 형태로 번역해서 화면에 표시해준다.  보통 웹 서비스를 개발할 때, 웹 서버 + WAS(웹 애플리케이션 서버) 조합으로 구성한다. WAS는 주로 데이터베이스로 관리되는 데이터를 처리하는 서버를 말한다. 웹 브라우저에서 사용자의 요청이 들어옴 -> 웹서버 -> WAS [데이터 처리] & WAS [데이터 전송] -> 웹서버 [HTML, 이미지 등 전송] ->..
[Jenkins] (3) 빌드 후 애플리케이션 자동 실행 설정 시도하기 (권장❌) 로컬에서 빌드 후 애플리케이션 자동 실행 스크립트 작성하기 이번 글에서는 Jenkins 빌드 후 자동 실행 스크립트를 작성해 애플리케이션 서버를 띄워볼 것이다.   1. Jenkins 빌드 파일 저장 위치 확인로컬에 설치한 Jenkins에서 빌드된 파일이 저장되는 위치는 다음과 같다. JAR 혹은 WAR 파일이 생성된다. /Users//.jenkins/workspace//target/ 나의 경우에는 빌드된 파일이 JAR 파일이다.    2. 아티팩트(빌드 파일) 실행하기아래 빌드 파일의 종류에 따라 터미널에서 아래 명령어를 입력하면 애플리케이션을 실행할 수 있다. JAR 파일 실행 명령어$ java -jar /Users//.jenkins/workspace//target/.jarWAR 파일 실행 명령어$ ..
[Jenkins] 비밀번호 잊어버렸을 때 변경하기 젠킨스를 처음 설치했을 때 확인했던 initialpassword 파일이 보이지 않는다. 그래서 비밀번호를 재설정 해봤다.  1. 젠킨스 config 파일 조회sudo vi /Users/yewonlee/.jenkins/config.xml터미널에서 위의 명령어를 입력해 파일 내용을 확인한다.  2. Config 수정true 이 부분을 false로 바꾸어준다. 3. Jenkins 재시작$ brew services restart jenkins터미널에서 위의 명령어를 입력해 젠킨스를 재시작 한 뒤, 웹에서 Jenkins를 다시 접근하면 로그인 과정 없이 접근할 수 있다. 4. 비밀번호 변경  위에서 Change Password 버튼을 클릭해 비밀번호를 수정하면 된다. 5. Config 수정 내용 원복2번에서 수정..
[Jenkins] (2) Mac 로컬에서 Maven 프로젝트 GitHub 연동 및 자동 빌드하기 Maven 환경 셋팅젠킨스에서 GitHub에 소스 코드가 변경될 때 Maven 프로젝트를 로컬에 빌드하는 배포 자동화 시스템을 구축할 것이다.  1. Jenkins 화면 왼쪽 메뉴에서 "Jenkins 관리" 클릭   2. Dashboard > Jenkins 관리 > Tools : 환경설정- Maven Installations 설정   3. Dashboard > Jenkins 관리 > Plugins > Available Plugins: 플러그인 설치 (1) GitHub Integration 설치 (2) Maven Integration 설치   4. 새로운 Item 만들기  (1) Item 이름 입력 후 "Freestyle Project"로 선택 후 OK (2) Item 환경 설정- GitHub Projec..
[Jenkins] (1) Jenkins란? Mac 로컬에 설치하기 Jenkins란?젠킨스에 대해 알아보기 전, 먼저 CI/CD의 개념을 알아야 한다. CI/CDCI(Continuous Integration)는 곧 지속적 통합, CD(Continuous Deployment)는 곧 지속적 배포라는 의미의 단어이다.개발자들이 동시에 작업한 코드 변경 사항을 통합(CI) 및 배포(CD)하는 프로세스를 의미한다.  JenkinsCI/CD를 위한 오픈 소스 도구로, 소프트웨어 개발 생명주기를 자동화한다.즉, 코드 변경 작업이 있을 때마다 빌드 > 테스트 > 배포 까지의 과정을 자동으로 수행하기 때문에 개발자들이 별도로 관리하지 않아도 된다. 또한 다양한 플러그인을 지원하기 때문에 필요에 맞게 CI/CD 환경을 확장할 수 있다.  Jenkins는 Master/Slave 구조로 동작..
베트남 하노이 5박 6일 여행 준비 이번 추석 때 가족끼리 베트남 하노이에 여행을 가게 되었다! 👏👏👏 나는 보통 여행을 계획하며 아래 순서로 준비하는데, 아래가 곧 이 글의 목차이다.1. 여행 기간 정하기 2. 여행지 선정 3. 항공권 예매 4. 호텔 예약 5. 여행지와 맛집 알아보기 여행 기간 정하기 (7/7) 우리 가족은 모두 직장을 다니고 있어 (게다가 나는 작년에 삿포로, 터키 간다고 올해 연차를 당겨 썼기 때문에 아끼는 중이다 😅) 추석 연휴 기간을 이용해 여행을 다녀오기로 했다. 추석 연휴 월~수요일에 목,금 이틀은 연차를 써서 월~토 5박 6일동안 다녀오기로 결정했다. 여행지 정하기 (7/8) 우리는 일본을 정말 좋아한다. 가까워서 비행기 티켓도 저렴하고, 물가도 싸고, 깨끗하고, 음식도 다 맛있고, 친절하고 모든 것이 우리..
[Spring Boot3] 로컬-운영 환경 분리 보통 데이터베이스, 포트 등 로컬에서 개발할 때와 실제 서비스 환경에서 사용할 때 설정을 달리 한다.  Spring Boot에서는 application.yml 파일에서 이런 내용을 관리하는데, 분리 설정은 아주 간단하다.     방법은 크게 두 가지가 있는데, 나는 하나의 파일에서 관리하는 2번 방식을 선택했다. 서비스 규모가 크지 않기 때문에 내용이 많지 않아 하나의 파일에서 설정하는게 더 편할 것 같기 때문이다.  1. resources/application-{환경변수}.yml + application.yml (default) 형식으로 환경별로 설정 파일을 생성 2. resource/application.yml 하나의 파일에서 '---' 구분자로 구분      1. application.yml 파일 ..
[AWS] 에러해결 - 인스턴스 연결성 검사 실패, 메모리 부족 갑자기 ssh 접속이 되지 않아 aws EC2 콘솔에서 확인해보니, 상태 검사 에서 1/2개 검사 통과 라는 표시가 있었다.   인스턴스 > 상태 및 경보 메뉴에 들어가보니, 인스턴스 연결성 검사 실패가 원인이였다.  구글에 해당 에러 해결 사례를 검색해보니, 시스템 로그 가져오기에서 에러 원인을 파악하는 것 같았다.나도 에러를 확인하기 위해 먼저 EC2 서버 재부팅 후 로그를 봐도 도저히 에러 문구에 해당하는 내용을 찾지 못했다.     그래서 위 사진 속, 시스템 로그 페이지에서 아래쪽에 있는 연결 을 클릭해보았다.     EC2 직렬 콘솔은 또 뭘까..? 지금 이 계정이 EC2 직렬 콘솔을 사용할 권한이 없다고 하니까, 권한을 줘야겠지. Manage access 를 클릭한다.   '허용' 에 체크!..
[AWS, Spring Boot3] EC2 배포, 서버 스크립트, Nginx 설치 1. EC2 인스턴스 인바운드 규칙 추가(HTTP/S, SSH는 이전에 추가) Spring Boot Server, React Server 접근 허용을 위해 아래와 같이 추가해준다.      2. 서버 Java 설치, 환경변수 설정아래 명령어를 순서대로 입력한다# 서버 접속ssh -i "키페어파일명.pem" ubuntu@{퍼블릭_DNS_주소}# 우분투 패키지 업그레이드sudo apt-get update# Java17 설치sudo api install openjdk-17-jdk# 설치 확인java -version    그리고 아래 명령어를 통해 자바 환경 변수를 설정해준다# 환경변수 설정 확인 (결과 없음 상태)$ echo $JAVA_HOME# Java 절대경로 확인$ whice java/usr/bin/ja..
[Spring Boot3] SSH 터널링 설정 (EC2 > RDS 데이터베이스) 2024년 초부터 RDS 인스턴스에 Public IP 주소를 무료로 사용하지 못하게 되면서, RDS 데이터베이스를 EC2에 연결하는 작업을 진행했다.  Spring Boot 서버에서도 EC2 서버를 거쳐 RDS DB에 접근하도록 설정했다. Jsch 라이브러리를 사용했다.    1. build.gradle 추가dependencies { ... implementation 'org.mariadb.jdbc:mariadb-java-client:3.4.0' implementation 'com.jcraft:jsch:0.1.55'}  2. application.yml 수정spring: datasource: url: jdbc:mariadb://{DB_HOST명}/{DB명} driver-class-..
[AWS] 프리티어 EC2 생성, EC2-RDS 연결, DataGrip SSH 연결 EC2 생성하기 1. EC2 대시보드에서 "인스턴스 시작" 버튼 클릭  2. AMI (Amazon Machine Image) 선택  3. 키페어 생성   4. 네트워크 설정 / 스토리지 구성 * 스토리지 구성 - 30GiB로 용량을 높였다.    5. 인스턴스 생성 완료  6. 보안 그룹 생성  [ 인바운드 규칙 추가 ]- SSH : pem키로 인스턴스 접근 가능하도록 설정- HTTP(80포트), HTTPS(443포트)로 기본적으로 접근할 수 있도록 설정+ 추후에 EC2에 올린 스프링이나 리액트 접근시 인바운드 규칙에 추가 필요!     7. EC2 인스턴스에 보안 그룹 설정  8. 인스턴스 접속(연결)         EC2와 RDS 연결하기 이전에 만들었던 RDS에 EC2를 연결하려고 보니 아래와 같은..
[AWS] RDS Free Tier 과금 해결 어느 날 갑자기 AWS 에서 결제가 되었다. 일주일 전 RDS 하나 만들 때 분명 프리티어 허용량에 맞춰 생성 했는데 이게 무슨일인가 싶어 원인을 찾아봤더니..  https://aws.amazon.com/ko/about-aws/whats-new/2024/02/aws-free-tier-750-hours-free-public-ipv4-addresses/ 즉, 프리티어로 하나의 Amazon EC2용 무료 IPv4 주소를 사용할 수 있고 그 외에는 시간당 0.005USD 요금이 부과된다고 한다. 지금 내가 사용중인건 EC2가 아니라 RDS를 생성한거라 무료 사용에 해당되지 않아 요금이 부과된 것 같다. 로컬 컴퓨터에서 DataGrip 같은 툴을 사용해 DB에 접근할 수 있도록 하려 했는데, 이렇게 되면 ssh ..
[AWS] 프리티어 RDS 생성, DataGrip 연결 RDS 데이터베이스 생성AWS 프리티어로 RDS(Relational Database Service) 를 생성했다. DB 생성 설정과, 과금 방지를 위해 확인 할 부분은 아래와 같다. DB 설정 내용엔진 옵션 > MariaDB / 10.11.6 버전템플릿 > 프리 티어(Free Tier)설정DB 인스턴스 식별자 > "gods-work-db"마스터 사용자 이름 > "root"마스터 암호, 암호 확인 > "******"인스턴스 구성 > "db.t3.micro"스토리지할당된 스토리지 > 20 GiB스토리지 자동 조정 활성화 > OFF연결 / 퍼블릭 액세스 > "예"추가 구성초기 데이터베이스 이름 > 예)"gods-work"자동 백업 활성화 > OFF유지관리 / 마이너 버전 자동 업그레이드 사용 > OFF 기본적..
Spring Boot 데모 프로젝트 생성 스프링 부트는 웹 애플리케이션 서버를 구성하고 배포하는 복잡한 과정의 어려움을 해결해주는 좋은 해법이 될 수 있다. 특별한 설정 작업 없이 기본 설정만으로도 다양한 기능을 구현할 수 있고 기본 설정에서 조금 수정하는 수준에서 더 다양한 것을 만들 수 있다. 1. 스프링 이니셜라이저 접속 https://start.spring.io 에 접속 후 아래 사진과 같이 설정 해준다. 다운받는 프로젝트 패키징 종류에는 Jar, War 두 가지 방법이 있는데 차이점은 아래와 같다. JAR (Java Archive) - Java 애플리케이션이 동작할 수 있도록, 자바 프로젝트를 압축할 파일 - Class, 라이브러리 파일을 포함한다 - JRE (Java Runtime Environment)만 있어도 실행 가능하다 WAR..
[튀르키예 Day7] 탁심광장, 귤루올루, 까르푸 카이막, 스타벅스, 고등어케밥, 이스탄불 공항 2023년 12월 26일 (화)  원래 6시 반에 일어나 부지런히 스타벅스에서 아침을 먹고 마지막 날을 만끽하려 했으나 너무 피곤한 탓에 7시반에 일어나 머리만 감고 까르푸에 먼저 다녀왔다.        마트에서 기념품을 다 사고 호텔 와서 짐을 싼 뒤에 잠깐 짐을 맡겨둔 뒤 다시 귤루올루-고등어케밥 먹으러 이동할 계획이었다.혹시 몰라 로비에 전화해서 짐을 보관할 수 있는지 물어보고 확답받은 뒤 마트로 향했다.  호텔에서 걸어서 15분?정도 걸렸던 것 같다. 어제 가족과 간 5M Migros에 없는 물건들이 많았지만 (특히 피스타치오 크림이나 초콜렛같은걸 많이 사고싶었는데 여기 까르푸에는 다양하게 있진 않았다ㅜ) 까르푸 카이막, 차이, 초콜렛, 바로 먹을 딸기 등을 샀다. 그리고 까르푸보다 조금 더 싼 ..