VMware 포트포워딩 - 외부접속(1)
·
Daily
많은 사람들이 활용하고 있는 가상환경중 VMware도 적지않게 많이 사용하고 있습니다. 하지만 사용자들 중에서 "나는 VMware로 DB서버를 구축하고, 외부에서 접속해서 쓰고싶은데?" 라는 생각을 해보신 분들이 계실거라고 생각합니다. 저도 가상환경을 사용하면서 이와같은 생각을 해본적이 있는데요...!! 그래서 오늘은 포트포워딩을 통한 가상환경 외부접속에 대해서 다뤄보려고 합니다.포트포워딩이란?포트포워딩(Port Forwarding)은 네트워크 트래픽을 특정 포트에서 다른 포트로 전달하는 네트워크 설정 기술입니다.이 과정은 라우터 또는 방화벽에서 설정되며, 주로 외부 네트워크에서 내부 네트워크로의 트래픽을 관리하고 제어하기 위해 사용됩니다. 그럼 이를 간단하게 접근해보자면 모두가 알고있는 공유기를 활용하..
Spring 카카오 로그인 구현하기(Spring Security + OAuth2 + JWT)
·
Spring
Kakao Developers 기본 설정1. Kakao Developers 접속 및 회원가입https://developers.kakao.com/ Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 2. 애플리케이션 추가 3. 대시보드 설정- 카카오 로그인, 동의항목, Redirect URI 부분을 각자 필요 정보에 맞게 설정 3 - 1. 카카오 로그인 설정 - 활성화 후, Redirect URI를 다음과 같이 설정 3 - 2. 동의항목 설정  - 구현에서 활용하기 위한 닉네임 및 프로필 사진을 필수 및 선택 동의로 설정 진행 3 - 3. 앱키 확인 - ..
프로메테우스, 그라파나를 활용한 모니터링
·
Monitoring
프로메테우스(Prometheus)모니터링 및 경고 시스템으로, 대규모 분산 시스템에서의 성능 및 상태 모니터링에 특화되어 있습니다.독립 실행형 서버로 동작하며, 클러스터링을 필요로 하지 않습니다.서비스 디스커버리를 통해 동적으로 메트릭 소스를 발견하고 모니터링합니다.다양한 도구와의 통합이 용이합니다. 그라파나(Grafana)그라파나는 오픈 소스 시각화 및 분석 도구로, 주로 시계열 데이터의 대시보드 및 그래프를 생성하는 데 사용됩니다.직관적인 UI로 사용자가 쉽게 대시보드를 생성하고 관리할 수 있습니다.많은 플러그인과 통합 기능을 제공합니다.확장성이 뛰어나며, 대규모 데이터 환경에서도 안정적으로 동작합니다.  결론적으로 이 둘을 함께 사용하면 시스템 모니터링 및 시각화를 위한 강력한 도구를 제공합니다.프..
BEYOND SW 캠프 6기 8주차 회고
·
한화시스템 Beyond
잠시나마 정신없는 현생과의 전쟁을 선포하며회고를 약 3주 정도 쉬었던 것 같다. 다시 회고를 열심히 달려보며 테크 블로거의 길을 걸어보겠다....!!!이번주 배운 내용이번주는 조별로 최단거리 알고리즘 발표가 있는 주였다.그리고 아! 기다리고 기다리던 Spring 수업이 시작되며, 기초를 잡아가는 주이자 내 멘탈이 드디어 제대로 흔들리기 시작한 시점이었다.  1. 최단거리 알고리즘(플로이드-워셜)6개의 조가 3가지의 최단거리 알고리즘에 대해서 이론부터, 작동 원리, 코드 구현 이렇게 발표를 준비했다.우리 조는 나름 다익스트라가 걸리길 바라고 있었지만, 아쉽게도 플로이드-워셜이라는 정말 효율 "똥" 알고리즘에 당첨이 돼버렸다. 플로이드-워셜다익스트라벨만-포드시작 정점(시작점)X(모든 정점)OO음수 간선OXO..
Keepalived를 활용하여 Active(Master)-Standby(Slave)
·
Database
Keepalived란?- 가상 IP를 기반으로 작동하며, 마스터 노드를 모니터링하다 해당 노드에 장애가 발생했을 시, Standby 서버로 페일오버되도록 지원하는 것입니다. Keepalived 구축 - 구축하기에 앞서 2개의 데이터베이스를 준비해야 한다.(Master, Slave) 1. Master, Slave DB에 keepalived 설치yum install -y keepalived  2. keepalived config파일 수정 vi /etc/keepalived/keepalived.conf 14번 라인 주석처리 18번 라인 밑으로 전부 삭제 후 아래 내용 입력 vrrp_script chk_mysql { script "pidof mysqld" interval 2 ..
디자인 패턴(2)
·
CS
이터레이터 패턴- 이터레이터를 사용하여 컬렉션의 요소들에 접근하는 디자인 패턴이다.- 이터레이터라는 하나의 인터페이스로 순회가 가능하다. ex) javascript로 바라본 이터레이터 패턴: set과 map은 다른 자료구조임에도 for a of b라는 이터레이터 프로토콜을 통해 순회가 가능하다.const mp = new Map()mp.set('a', 1)mp.set('b', 2)mp.set('c', 3)const st = new Set()st.add(1)st.add(2)st.add(3)for (let a of mp) console.log(a)for (let a of st) console.log(a)노출모듈 패턴- 즉시 실행 함수를 통해 private, public 같은 접근 제어자를 만드는 패턴이다.- ..
BEYOND SW 캠프 6기 4주차 회고
·
한화시스템 Beyond
첫 프로젝트를 재밌게(?) 즐겼다.팀과 소통하는 방법을 어느 정도 터득했으며, 이제 이를 기반으로 좀 더 탄탄한 팀워크를 발휘해보려 하는 결심을 가지고 4주 차 회고를 적어보려고 한다.이번주 배운 내용이번주로 인해서 확실해졌다. 그동안 내가 잘 버틸수 있었던 이유는 공휴일 선물 덕이었다는 걸.....?이번주는 Database 프로젝트와 Java 기초에 대해서 학습했다.요구사항 정의서 작성을 토대로, 우리가 기획한 서비스에 어떤 구조로 부하분산 시킬지에 대해서 논의했고, 종합적으로 ERD를 작성 및 튜닝을 어떻게 할지 생각하는 시간을 가졌다.다들 프로젝트에 대한 경험이 많으신 게 확실한 이유는, 추진력과 집중력이 다들 남달랐다.반성하고, 더 집중하고, 팀에 기여할 수 있는 자세를 가져봐야겠다. 1. Dat..
BEYOND SW 캠프 6기 3주차 회고
·
한화시스템 Beyond
피곤하기만 할 줄 알았던 일주일이 나름 재밌게 지나갔다.팀이 생겼고, 그 팀원들과 같이 앉으며 더더욱 재밌어질 수업을 기대하며 3주 차 회고를 적어보려고 한다.이번주 배운 내용어김없이 세상 착한 5월의 마지막 선물인 대체공휴일. 어쩌면 평일에 하루 쉬는날이 있다는 게 내가 잘 버텨온 이유일수도 있다는 생각이 문득 들었다.이번주는 Database에서 Query쪽, 성능에 연관된 문법을 배웠다.그리고 프로젝트를 진행함에 있어 이론적으로 알고 가면 좋을 SW공학 내용들도 배웠고, 실제 프로젝트에서 사용되는 Git 또한 실습했다.미리 코테 스터디를 진행하며 친절(을 가장한 무서운)한 선생님들께 Git 사용법을 배우며 활용해왔기에 어렵지 않게 수업에 참여할 수 있었다. 1. View, Index, Stored P..