All

· Tips
private String getAccessToken() throws IOException { // firebase로 부터 access token을 가져온다. GoogleCredentials googleCredentials = GoogleCredentials .fromStream(new ClassPathResource("firebase/firebase_service_key.json").getInputStream()) .createScoped(Arrays.asList("https://www.googleapis.com/auth/cloud-platform")); googleCredentials.refreshIfExpired(); return googleCredentials.getAccessToken().get..
· Infra
process apparently never started in /home/jenkins/agent/workspace/gateway@tmp/durable-8b1e819f 원인 파이프라인 내 sh 입력 단계에서 스크립트가 시작되지 않았거나, 실행 도중 문제가 발생한 경우에 발생 해결방법 여기서, docker 환경에서 -u root와 같은 root 권한을 주고 해결한 사례를 참고. kubernetes 환경이므로, pipeline에 kubectl 컨테이너 생성 구문을 다음과 같이 수정 - name: kubectl image: bitnami/kubectl:latest command: - cat tty: true workingDir: '/home/jenkins/agent' securityContext: runAs..
· Tips
갤럭시북3 프로를 사용한지 어느새 한 달이 지났어요 '아무리 가벼워도 16인치인데.. 들고 다니긴 힘들지 않을까?' NO! 집에서보다 카페에서 더 자주 사용할 만큼 생각보다 훨씬 가볍워서 전혀 부담없이 들고 다닐 수 있었어요 ! 성능은 두 말할 것도 없이 너무 좋았구요 ^^ (게임하기에도 너무 좋았어요) 성능에 비해서 발열도 적어서 너무 만족했어요 ! 소개 한 번 보시죠 ! 디자인 디스플레이 프로세서 포트/연결성 배터리 에코시스템 세컨드 스크린 멀티 컨트롤 노트북 구매 계획을 세우고 계시다면 . . . 갤럭시 북 3 PRO 적극 추천드려요 ! 본 컨텐츠는 SSAFY 갤럭시 북3 체험단 활동의 일환으로 제작되었습니다
· Tips
ssh 접속 시 오류 발생 원인 이전에 같은 정보를 가지고 서버를 접속했던 적이 있을 때, 그 때와 지금의 키 정보가 다를 때 발생 해결방법 기존에 접속했던 정보를 삭제 ~/.ssh 에 있는 known_hosts 내 내용을 삭제하고 다시 실행
· Infra
IaC(Infrastructure as Code) 시스템, 하드웨어 또는 인터페이스의 구성정보를 파일(스크립트)을 통해 관리 및 프로비저닝 IT 인프라스트럭처, 베어 메탈 서버 등의 물리 장비 및 가상 머신과 관련된 구성 리소스를 관리 버전 관리를 통한 리소스 관리 Terraform 인프라를 구축 하는 용도로 주로 사용 Ansible 구성 관리 도구 선언적, 절차적으로 필요한 모든 작업들을 구성 문제점이 발생했을 때 왜 문제가 발생 했는지. 또는, 대응하기 위한 작업들을 스크립트를 통해 기록하고 작업. 여러 개의 서버를 효율적으로 관리할 수 있게 해주는 환경 구성 자동화 도구 - Configuration Managemment, Deployment & Orchestration tool - IT infras..
· Tips
Windows Terminal을 설치 했는데, Git bash가 설치되어 있음에도 불구하고 없을 경우가 있습니다. 그럴 경우, Git Bash를 Windows Terminal에 추가해서 아래 그림처럼 탭에 생성하는 과정입니다. 1. 아래 방향 화살표를 눌려, 설정을 클릭 2. Json 파일 열기 클릭 3. "profiles" 부분 수정 "profiles": { "defaults": {}, "list": [ { "commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe", "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}", "hidden": false, "name": "Windows P..
· Tips
응시 계기 취업 준비 활동중 잡다라는 플랫폼을 처음 알게 되고 가입하고 프로필을 작성한 뒤, 역검을 응시하라는 연락을 받고 응시하게 되었어요! 준비 방법 감사하게도 기업에서 역검 관련 가이드를 제공해주었어요! 가이드를 따라 하나 둘 준비를 하고, 곧 바로 역검 튜토리얼을 진행헀어요. 역검 관련 공식 컨텐츠 역검 관련 공식 컨텐츠 하나를 소개해드릴까해요. 바로 콘텐츠 가이드와 응시전 꿀팁 인데요, 처음 역검에 응시하기 위해 잡다에 들어오고 나서 가장 먼저 봤던 컨텐츠에요. 가이드를 통해 검에 대해 궁금했던 모든 의문들을 해결할 수 있었어요. 특히 [과제 정복] 게임을 잘하고 싶다면? 개발사피셜! 역검 게임 파헤치기가 저에게 도움이 되었어요 ! 구성 소개 역검을 처음 치르게 되면 게임 종류가 생각보다 많아서..
· Tips
체험단 선발 SSAFY에서 갤럭시북 3 프로 신모델 체험단에 선발되었습니다! 제 작고 소중한 블로그는 당첨될거라 기대하지 않았지만 .. 문자를 받은 이후로 목이 빠지게 배송만을 기다렸고, 마침내 배송이 왔습니다. 설레는 언박싱 박스부터 아주 너무 예뻐서 기분이 너무 좋았습니다. 구성품은 본체, 충전기, 케이블로 심플한 구성이였습니다. 비닐을 벗겨내니 이쁜 색상의 갤럭시북이 눈앞에 모습을 드러냅니다. 이렇게 넓은데 처음 들었을 때, 너무 가벼워서 놀랐습니다. 공간 없이 거의 꽉찬 스크린에 할말을 잃었습니다. 저 스크린 하나로 30%는 더 커보였어요. 충전기는 C 타입으로 되어 있어서 제 갤럭시폰이랑 같이 쓸수 있어 좋았어요 화면 크기랑 터치패드 크기가 정말.. 너무 마음에 들었습니다 !! 그런데 잠깐.. ..
· Infra
프로젝트에서 MSA 아키텍처를 직접 구성했지만, 쿠버네티스를 사용하지 않아 무중단 배포를 시도하며 어려움을 겪었습니다. 이에 쿠버네티스를 학습할 필요를 느꼈으며, 진행 중인 프로젝트에 쿠버네티스를 적용해보고 싶었습니다. 이 게시글은 쿠버네티스 처음 공부하며, 학습 내용들을 정리하기 위해 작성한 게시글입니다. 쿠버네티스 쿠버네티스는 컨테이너 오케스트레이션 툴로, 여러 대의 서버에 걸쳐 컨테이너화된 애플리케이션을 배포하고 관리할 수 있도록 도와주는 도구입니다. 따라서, 쿠버네티스는 도커를 사용한 컨테이너화된 애플리케이션을 배포하고 관리하는 데 사용됩니다. 클러스터 쿠버네티스 클러스터는 마스터 노드와 워커 노드로 구성됩니다. 마스터 노드는 쿠버네티스 클러스터의 제어센터로, 쿠버네티스의 모든 컴포넌트가 실행됩니..
· Infra
MSA 아키텍쳐를 적용한 Spring Boot 프로젝트를 진행하던 중, SpringCloud를 활용한 API Gateway를 구현 했는데 이때, 라우팅 할 마이크로 서비스들을 직접 지정했습니다. 많은 수의 마이크로 서비스를 직접 지정하다가 이게 맞나.. 싶어 동적으로 라우팅을 하는 방법을 찾아보았습니다. 그렇게 서비스 디스커버리에 대해 조사하게 되었습니다. 1. 동적 서비스 위치 서비스 인스턴스의 위치가 변경되거나 새 인스턴스가 추가되어도 서비스 디스커버리를 통해 실시간으로 찾을 수 있습니다. 이를 통해 서비스 간의 결합도를 낮추고, 확장성을 높이는데 도움이 됩니다. 2. 로드 밸런싱 서비스 디스커버리를 사용하면, 여러 인스턴스 중에서 하나를 선택하는데 사용할 수 있는 로드 밸런싱 기능을 제공합니다. 이..
스프링부트 프로젝트 진행 중 다음과 같은 에러가 발생 javax.persistence.EntityNotFoundException: Unable to find ... 원인 및 해결 방법 @OneToOne, @OneToMany 와 같은 annotation로 매핑된 id값이 0이거나 매핑되어있는 id의 자식객체가 없을 때 발생 DB에서 기존 테이블을 삭제하고 백업한 테이블 정보로 덮어 씌울 때 index의 Auto-Increament 설정이 누락되어 발생 DB에서 Auto-Increament 설정을 해주어 해결
· Infra
AWS RDS 사용 중 SpringBoot에서 too many connections 에러가 발생했다. 원인은 이미 max_connections 설정값 만큼 connection 연결이 되어 있기 때문이었다. 해결 방법 1. AWS RDS 파라미터 그룹 열기 2. 기존에 생성해놓은 파라미터 그룹이 없을 경우 새로운 그룹 생성 3. 생성한 그룹 열고 max_connections 검색 후 파라미터 편집 클릭 후 원하는 값으로 수정 - max_connections = 100 4. 필요 시 connection이 종료되는 시간을 줄여 connection 초과를 방지 - interactive_timeout = 180 수정 - interactive_timeout 파라미터의 값은 초 단위이다. (기본 값은 8시간) 5. ..
· Tips
이클립스(Eclipse) 또는 STS의 웹 프로젝트를 IntelliJ 프로젝트로 옮기는 정보는 구글링해 쉽게 찾을 수 있음 웹 프로젝트가 아닌 일반 자바 Eclipse 프로젝트를 IntelliJ에서 실행할 때 해결한 과정을 기록하기 위해 작성 1. File -> Project Structure 2. src 폴더 클릭 후 Sources 클릭해 Mark 3. 실행 시 자바 JDK 또는 SDK 를 찾을 수 없는 경우 Modules -> Dependencies에서 버전 선택
State - vuex는 Single State Tree (단일 상태 트리)를 사용 - 중앙에서 관리하는 모든 상태 정보를 state가 관리 (==data) - 여러 컴포넌트 내부에 있는 특정 state를 중앙에서 관리 - 기존에는 state를 찾기 위해 각 컴포넌트를 직접 확인 - vuex를 활용해 vuex store에서 컴포넌트에서 사용하는 state를 한눈에 파악 - Mutations에 정의된 method에 의해 변경 - State가 변경되면 해당 State를 공유하는 모든 컴포넌트의 DOM은 자동으로 렌더링 됨 - 모든 Vue 컴포넌트는 Vuex Store에서 state 정보를 가져와 사용 - 각 컴포넌트는 dispatch()를 사용해 Actions 내부의 method 호출 Actions - 컴포..
vuex Vue.js application에 대한 상태관리패턴 + 라이브러리 application 모든 component들의 중앙 저장소 역할 (데이터 관리) 기존 Vue.js의 문제점 상위(부모) 하위(자식)의 단계가 많이 복잡해 진다면 데이터의 전달하는 부분이 매우 복잡해짐 동위 컴포넌트 또한 종류가 많다면 매우 복잡해짐 => vuex를 사용하게 되면 중앙 저장소가 존재하게 되며 아무대서나 꺼내 사용할 수 있게 된다 모든 vue 프로젝트는 vuex를 써야하는가? -> NO 단순한 구조라면 $emit props을 통해 직접 부모 자식으로 이동하는 것이 편리 상태관리패턴 - 상태는 앱을 작동하는 원본 소스 (= data) - 뷰는 상태의 선언적 매핑 (=template) - 액션은 뷰에서 사용자 입력에 ..
Sungwoo Koo
'분류 전체보기' 카테고리의 글 목록 (2 Page)