Steady Mind For My Life

https://github.com/jongseok3910/Spring-Study

728x90
728x90

전체 글 114

청담동 바샤커피(BACHA COFFEE)

커피의 에르메스라 불리며 한동한 핫했던청담동에 위치한 바샤커피에 다녀왔다. 외부부터 고급 브랜드의 느낌이 확 느껴진다.  1층 계산대 옆에는 위 사진과 같이선물세트 및 커피용품들이 있다.가격이 꽤 나가는 편이다 ㅎ   1층에는 사진과 같이 여러종류의 커피를 팔고 있다.왼쪽은 에티오피아, 오른쪽은 코스타리카원두를 사용한 커피다. 각 사진의 오른쪽에 작은 원형 통이 있는데시향이 가능하다.  바샤커피는 크게 두 가지로 나뉜다고 했다. 오리지널 커피와 향을 가미한 커피위 사진에 보이는 커피들이 오리지널 커피다. (상자위쪽에 나라이름이 쓰여있으면 오리지널커피)  위 사진에 보이는 커피가 향을 가미한 커피다.직원분의 설명을 들었을 때 왼쪽아래 벌스데이라고 쓰여있는커피에는 버터향이 가미되어 있다고 했다. 바샤커피는 ..

국내여행기록 2024.09.22

베트남 음식 전문점 뀨잉(이태원)

서울역 근처 베트남 음식 전문점노이덴에서 엄청난 감동을 받고다른 베트남음식 전문점들을 찾아봤다. 이태원 근처에 평점 4.5 넘어가는베트남 음식 전문점 '뀨잉'을 찾았고평도 좋아서 이곳에 방문했다.   11시 30분쯤 도착하기도 했고 추석 당일이라 사람이 많이 없었다. 이곳또한 종업원들이 모두 베트남분들이다.(노이덴 보다 좀 더 젊으신 분들이 많았다)  인테리어는 깔끔한 현대식 인테리어로카페분위기가 연상되는 느낌이었다. 맛과 분위기 두가지다 잡겠다는 느낌이 들었다.(서울역 노이덴의 로컬분위기와는 정반대였다)  서울역 노이덴에서 먹어보고 감명받았던 분짜를이곳 뀨잉에서도 주문해서 맛 비교를 해보았다. 일단 눈에 띄는 차이점이 두 가지다.1. 이곳은 면이 둥근 소면 같은 형태(노이덴은 사각형태의 면) 2. 분짜..

국내여행기록 2024.09.22

쌀국수 맛집 노이덴

서울역 포포인츠 바이 쉐라톤 호텔에 머물면서근처 쌀국수 맛집을 검색해서 찾은 노이덴. 위치는 서울역 포포인츠 호텔 바로 건너편에 위치하고 있다.외관에서 느껴지는 베트남 로컬느낌이 물씬 풍긴다.   내부 인테리어는 베트남 현지느낌이 물씬 풍기는 가게다.바닥부터 천장까지 온통 베트남이고흘러나오는 음악마저도 베트남노래다.   오픈형 주방이라서 안에서 어떻게 조리하는지 다 보인다.요리하시는 분부터 서빙까지 모두 다 베트남분들이다. 가게 안으로 들어갈 때 '어서 오세요~'라는인사 빼고는 한국어를 들어본 적이 없다 ㅎ 주문은 테이블에 붙어있는 QR를 스캔하는 방식으로 진행된다.  첫 번째로 주문한 쌀국수가 나왔다.메뉴설명에는 24시간 끓인 육수로 만든다고 적혀있었는데국물 맛이 끝내줬다. 한국에서 여러 쌀국수를 먹어..

국내여행기록 2024.09.21

서울역 포포인츠 바이 쉐라톤 호텔

서울역 포포인츠 바이 쉐라톤 호텔을 소개하고자 한다.근처 명동에도 포포인츠 호텔이 있는데 서울역을 선택한 이유는이곳에는 욕조가 있으며 역과의 접근성이 좋기 때문이다. 서울역 12번 출구에서 바로 연결되어 있으며약 3분 정도 통로를 따라 걷다 보면포포인츠 바이 쉐라톤 호텔 입구를 볼 수 있다.  호텔 로비를 깔끔하고 세련된 분위기다.다른 블로그를 보면 스타벅스도 입점해 있다고 했는데24년 기준 스타벅스는 없었다.안쪽에는 전자레인지로 먹을 수 있는 냉동식품들이 판매되고 있었다.  나는 디럭스룸을 예약했다.입구 오른쪽으로 화장실과 옷장이 위치해 있다.  화장실에 들어서면 정면에는 욕조가왼쪽에는 세면대 오른쪽에는 변기와 샤워실이 있다. 포포인츠 바이 쉐라톤 서울역 점은 욕조가 있고욕조에 투명문이 설치돼 있어서 ..

국내여행기록 2024.09.20

톰캣서버에 다수의 프로젝트 배포하기(War파일)

현재 맡고 있는 프로젝트에서 크라우닉스 리포트라는 리포트 툴을 사용하고 있다. 이 리포트는 개발서버에 설치되어 있고, 개발서버와 연동해서 web상에서 리포트를 보여주기 위해서는프로젝트를 개발서버에 올려서 배포를 해야 했다. 개발의 톰캣서버에는 이미 다른 프로젝트가 하나 올라가 있었고나는 프로젝트를 한 개 더 톰캣서버에 배포해야 하는 상황이었다. 한 개의 톰캣 서버에 여러 프로젝트를 배포하기 위해서는 server.xml을 설정해야 했고xml설정부터 실행까지 모든 과정을 정리하고자 한다. 1. 개발서버 shutdown 톰캣서버의 start, shutdown은 bin폴더에 있다.server.xml을 설정하기에 앞서 좀 더 안정적으로 진행하기 위해서버를 sh shutdown.sh 명령어서 서버를 내린다. 2. ..

Interceptor로 외부IP 접근 차단

본사에 개발서버를 구축해 놓고 개발하던 중 고객사의 담당자로 부터 연락이 왔다. 개발서버에 있는 프로젝트에 신규기능 추가 및 수정을 하면담당자가 개발서버에 붙어서 내용을 확인하는 식으로 업무를 진행하고 있었는데보안이슈도 발생 할 수도 있으니 고객사 이외의 외부IP는 접근을 못하게 해달라는 요청이었다. 외부IP접근을 막는 방식은 두 가지가 있다.1. IP TIME(공유기)단에서 외부IP를 막는방식2. 스프링 프로젝트에서 Filter / Interceptor로 외부IP를 막는방식 공유기에서 보안설정을 통해 고객사를 제외한 IP는 차단하는 방식을사용하고 있었는데, 문득 이런생각이 들었다. ' 지금은 본사에서 개발을 하니까 공유기 설정이 가능하지만공유기 설정이 불가능한 외부에서 프로젝트를 진행한다면? ' 어떤 ..

Google 2차인증 구현(구글 OTP)

최근 맡고 있는 프로젝트에서 로그인 보안을 강화해 달라는 요청이 들어왔다.한 개의 아이디로 여러 사람이 로그인하는 경우가 많은데, 현재 업무를 하지 않는 사람들도해당 아이디로 로그인 할 수 있어 보안이 취약하다는 점이었다.(비밀번호를 자주 바꾸지 않는 기관인듯싶다.) 그래서 어떤 방법으로 로그인 보안을 강화시킬 수 있을까 고민했고Google aouth2.0 방법의 2차 인증을 도입하기로 했다.Google 인증 방식도 여러 방법이 있었으나 Google Authenticator앱을 사용한OTP인증 방식을 채택했다. 1. 의존성 주입 구글에서 제공해 주는 라이브러리가 있었고pom.xml에 위와 같이 의존성을 주입했다. 2. OTP 인증 화면(JSP)$("#LoginSubmit").on("click", func..

도커 컴포즈

예를들어 mysql, nginx 등 여러컨테이너를 생성하려면 일일이 run~명령어를 작성해야한다.한 두개정도 컨테이너를 생성하는 거라면 상관이 없는데 만약 100개의 컨테이너를 생성해야 한다면?100개의 컨테이너를 run~명령어로 작성하려면 시간도 오래 걸리고, 번거로운 작업이 많기 때문에 개발에 온전히 집중할 수 없다. 여러개의 컨테이너를 생설 할 시 도커 컴포즈를 사용한다.도커 컴포즈 파일은 yaml(야믈)파일로 생성한다.야믈(YAML)이란?xml과 json과 같이 포맷에 대한 약속 텍스트구조로 되어있고해당 프로그래밍 언어의 라이브러리 포함시킬 수 있다. 야믈코드는 들여쓰기를 통해 계층을 나누며 공백 수로 블록을 구분한다. 그래서 공백 맞추기에 민감해야한다. 나도 yaml파일을 작성하고 나서 오류가 ..

Docker 2024.06.15

도커 - DockerFile을 이용한 이미지 생성 및 이미지 배포(commit, push)

원하는 개발환경을 코드로 구성하는 방법을 제공하는 것을 DockerFile이라고한다. 예를들어 나만의 서비스(프로젝트)는 고유한 환경을 가지고 있고 이 환경을 구축하여협업을 하고 싶다고 가정을 해보자. 다른사람들이 협업을 하기 위한 서비스 인프라 구성 시 사용자 실수 등의 인적 오류 발생 가능성이있고설치 순서와 상호 연관성 들을 고려하여 각종 라이브러리와 함께 복잡한 명령어를사용하기도 해야한다.또한 설치 이후 잘못된 설정이 있다면 수정도 해야하고, 재설치를 해야 할 경우도 발생한다. 만약 내가 이 모든 인프라 구성을 DockerFile로 만들고다른사람이 이 DockerFile만 다운받아 설치 한다면?다른 사람의 인프라 구성 실수, 오류 등 번거로운 작업들은 없어지고한번에 서비스 인프라 구축 완료 후 온전..

Docker 2024.06.08

다량의 데이터 batch처리로 한번에 처리하기

티베로 -> cubrid로 변환작업을 하면서 쿼리수정 하던 중약 5000건의 데이터를 update 하는 로직을 발견했다. 5000건의 데이터를 DB에서 list나 map으로 받아 한번에 처리하는 것이 아닌DB에 5000번 접근해서 처리하는 로직이었다. 저장버튼을 누른 후 console을 찍어보니update 문구가 5000번 찍히고 있었기에 그만큼 처리속도도 느려지고 update 완료 문구도 늦게 볼 수 밖에 없었다. 기존코드 Map paramMapStd = new HashMap(); paramMapStd.put("surveyNo", surveyNo); paramMapStd.put("co040103Cost", payCost); paramMapStd.put("co0..

728x90
728x90