[칭다오/청도] 처음 가보는 중국 여행 -명가딤섬, 완샹청

걱정이 앞선 중국 청도 여행! 얼마나 중국에 대해 몰랐냐면… 첫 번째 글에 제목에 청도가 아닌 청두로 써버렸더라고… 그만큼 아는 것도 없고 대화도 안 통하는 나라라 많은 걱정을 가지고 중국으로 출발했다!! 중국 산동항공을 이용했는데 산동항공은 기내에 탑승하면 이륙 전에 물을 하나씩 준다! 처음 청도 국제 공항에 내려서 느낀 점은 생각보다 깨끗하다는 느낌을 받았다! 걱정과 달리 중국 … Read more

[칭다오/청두] 처음 가보는 중국 여행 -Intro

평소 중국은 언어의 장벽으로 인해 시도를 가보고 싶다고 생각을 해본 적 없는 나라이다. 이러한 내가 여러 가지 사유(주머니와의 타협….)으로 이번에 중국을 가기로 했다!! 원래 중국을 갈려면 여러가지 사항을 준비해야 했는데 가장 큰 걸림돌이던 비자가 사라졌다….? 11월 8일부터 여행을 계획하고 있었는데… 2일전 포털 사이트 뉴스에서 중국의 수교 완화로 ’11월 8일부터 25년 12월 말까지’ 무비자로 15일까지 체류가 … Read more

[kotlin] Ktor

Spring은 정말 강력한 Framework라고 생각한다. 몇가지 종속성을 추가한 프로젝트에서 간단한 몇 줄의 코드로 서비스를 순식간에 구현해내게 된다. 하지만 기능이 추가될수록 서비스에 사용하지 않지만 기본적으로 추가되는 종속성들로 인해 서비스가 점점 커지게 된다. Ktor는 Jetbrain에서 Kotlin을 만들며 개발한 Web Serivce Framework이다. Kotlin에서 지원하는 Coroutine을 지원하고, 원하는 기능만을 선택적으로 사용가능하여 상대적으로 가벼운 서비스 개발이 가능하다. 또한, Jetbrain에서 지원해줘 … Read more

[Kotlin] 문자열 표현

코틀린의 경우 문자열 표현이 좀 더 편해졌다. 이렇게 기본적인 문자열 표현은 당연하고, 위 와 같이 문자열 템플릿 역시 사용하기 편해졌다. 하지만 $문자가 문자열 템플릿을 사용한다는 의미가 되면서 문자열 내에 $를 사용해야 하는 상황이 오기도 한다. 그럴 땐 아래와 같이 사용하면 된다 숫자의 경우 $문자를 문자열 템플릿으로 처리하지 않는다. 이렇게 사용할 경우, four라는 변수를 찾지 못했다고 … Read more

[Git] fatal: Unable to create ~: File exists.

Git으로 커밋 혹은 푸쉬를 진행 중 예기치 않은 오류로 인해 Git이 강제 종료되는 상황이 발생할 경우 Git에서는 이미 index에 대한 lock을 진행한 상태로 종료가 되어 같은 파일을 다시 커밋할 때 아래와 같은 에러가 발생한다 해당 에러는 .git 디렉토리에 index.lock 파일이 이미 존재하여 git에서 add 명령을 실행할 수 없다는 내용이다. 따라서 .git 디렉토리에 존재하는 index.lock 파일을 … Read more

[Kotlin] 문자열 다루기

문자열 템플릿 kotlin 문자열은 자바와 다르게 포맷에 대한 지정이 더 쉬워졌다. 자바에서는 String.format()을 통해서 템플릿을 지정하여 사용해야 했고, 삽입될 자료형에 따라 다른 형태의 치환자를 사용해야헀다. Kotlin에서는 이를 더 편하게 제공하게 변경되었다. 이처럼 String.format애 자료형 치환자를 넣어 사용하던 문자열 템플릿이 이런 식으로 $변수명 을 이용하여 더 쉽게 템플릿을 사용할 수 있게 되었다. 사용하면서 더 알게된 내용은 … Read more

[ELK] Kubernetes에 Elastic Stack 구축하기

회사에서 kubernetes를 이용하여 서비스를 운영하다 보니 로그가 파드 별로 확인을 해야했었다. 물론 다른 여러 방법도 있었겠지만 팀 내에서 Elastic Stack을 이용하여 로그를 통합 관리하기로 했다. Elastic Search Elastic Search Kibana Kibana Log Stash Log Stash FileBeats FileBeats FileBeats FileBeats FileBeats FileBeats FileBeats FileBeatsText is not SVG – cannot display kubernetes로 구성된 서비스여서 여러 개의 노드가 … Read more

[Kotlin] ObjectMapper

Jackson에서 제공하는 ObjectMapper의 경우 java를 토대로 개발되어 kotlin에서 사용할 경우 data class를 변화하기 위해 약간의 설정이 필요하다 일단 의존성을 먼저 추가해주고 이렇게 kotlin모듈을 생성하여 추가해주거나 이렇게 기본적인 세팅이 된 상태로 생성하면 data class를 변화할 수 있다

Gitlab Migration

gitlab에서 제공하는 업데이트 루트를 따라 진행하면 자동으로 마이그레이션을 해주는거 같지만,해당 업데이트 루트를 따라가기엔 시간이 부족하여 부득이하게 한번에 버전을 올리게 됬다. 업데이트를 진행하고 기존 repository를 어떻게 옮겨야 할지 고민하던 중 repository export 기능을 이용하여 마이그레이션이 가능하단 것을 알아냈다. gitlab의 해당 경로로 들어가보면 Export project라는 블록이 존재한다. 친절하게 영어로 어떻게 import 시키는 지와 추출되는 항목과 안되는 항목까지 … Read more

RedHat yum Repository 추가

radhat 계열 linux에서 rhel을 유료로 제공함에 따라 기존 rhel를 사용하지 못하게 됬다. 인터넷을 뒤지다 kakao에서 centOS의 repository를 미러링하여 제공하고 있어 수정한 후 사용하였다. yum repository폴더로 이동 후 kakao.repo 파일로 아래 내용을 추가해줬다.

Docker 설치

회사 업무로 폐쇄망에 Docker를 설치할 상황이 생겨서 폐쇄망에 Docker를 설치 해보게됬다. 폐쇄망 특성상 외부로 나가는 인터넷이 연결되어 있지 않아 특정 도메인 혹은 IP에 대하여 통신을 허용하도록 방화벽을 해제해야한다. 따라서, 필수로 필요하고 추후에 접근을 자주하게될 도메인에 대하여 방화벽 오픈을 요청했다 https://production.cloudflare.docker.com/https://registry-1.docker.io/https://hub.docker.com/https://mvnrepository.com/http://updates.jenkins-ci.org/https://dl-cdn.alpinelinux.org/방화벽 해제 도메인Docker 이미지를 받기 쉽도록 docker hub 도메인과 alpinelinux의 도메인을 열었다 이후 yum을 통하여 설치하였다