일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 어노테이션
- spring
- git
- 정보처리기사
- Java8
- 정처기필기
- 정처기공부
- PULL방식아키텍쳐
- Groovy문법
- java
- 롬북
- 롬복사용시주의할점
- Docker
- 프로그래머스
- aws
- controller
- 완전탐색알고리즘
- 시계열디비
- 빌드자동화도구
- 생성자
- 롬복
- 알고리즘
- 무중단배포
- API
- 정처기
- 빌드스크립트
- CICD
- 서버
- 자바
- 정보처리기사필기
- Today
- Total
목록Network (12)
우당탕탕 개발일지
✅ 교착 상태란? 두 개 이상의 프로세스가 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며, 서로의 작업을 끝나기만을 기다리다 둘 다 영원히 끝나지 않는 상황 즉, 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황 예를 들어, 위와 같이 자동차(프로세스)들이 현재 위치한 길(자원)을 점유함과 동시에 다른 차가 사용하는 길을 사용하려고 대기하고 있지만 다른 길을 사용할 수 없으며 현재의 길에서도 벗어나지 못하는 상태를 말함. 📌 교착상태의 발생 조건 4가지 아래의 4가지 조건이 모두 만족 될 경우 발생할 가능성이 있으며, 하나라도 만족하지 않으면 교착상태가 발생하지 않는다. 상호 배제 ( Mutual Exclusion ) 한 번에..
Prometheus(프로메테우스) 란? 오픈 소스 기반의 모니터링 시스템이다. 대상 시스템으로 부터 각종 모니터링 지표를 수집하여 저장하고 검색할 수 있는 시스템이다. 구조가 간단하여 운영이 쉽고, 강력한 쿼리 기능을 가지고 있다. 또, 그라파나를 통한 시각화를 지원한다. 무엇보다 넓은 오픈 소스 생태계를 기반으로 해서 많은 시스템을 모니터링할 수 있는 다양한 플로그인을 가지고 있다. 특히, 이런 간편함 때문에 쿠버네티스의 메인 모니터링 시스템으로 많이 사용되면서 요즘 특히 더 주목을 받고 있다. ✅ SoundCloud사에서 만든 오픈 소스 기반 모니터링 솔루션 ✅ go언어로 만들어짐 - 하드웨어 레벨 / 애플리케이션 모니터링 가능 - 마이크로서비스 - multiple language 지원(java, g..
📌 SOP(Same Origin Policy) 정책 동일한 출처에서만 리소스를 공유할 수 있다. 👉 동일한 출처에 대한 정책 동일 출처 서버에 있는 리소스는 자유롭게 가져올 수 있지만, 다른 출처 서버에 있는 이미지나 유튜브 영상 같은 리소스들은 상호작용이 불가능하다. SOP는 2011년, RFC 6454에서 처음 등장한 보안 정책으로 말 그대로 "같은 출처에서만 리소스를 공유할 수 있다" 라는 규칙을 가진 정책이다. ✅ 동일 출처 정책이 필요한 이유? "CSRF 공격!" 만일 제약이 없다면, 해커가 CSRF(Cross-Site Request Forgery) 나 XSS(Cross-Site Scripting)등의 방법을 이용하여 우리가 만든 애플리케이션에서 해커가 심어놓은 코드가 실행되어 개인 정보들을 가..
여러 프로젝트를 만들면서 배포를 할 때 '젠킨스 + Gitlab' 또는 'Gitlab'으로 CI/CD를 구축하여 배포하였다. 이건 프로젝트가 gitlab 저장소로 관리되어있어야 하는데 초반에 만들어둔 프로젝트는 github 저장소에 있다보니 기존 방법 대로 CI/CD를 하려면 gitlab으로 프로젝트를 옮기는 과정이 필요했다. gitlab 👉 github 미러링은 해봤는데 github 👉 gitlab 미러링은 처음... 방법은 비슷하겠거니하고 찾아봤는데 "pull mirroring"을 하면된다고한다.(참고로 깃랩에서 깃헙은 push mirroring) gitlab 미러링으로 들어가 pull로 변경하려고 보니 변경해야하는 Mirror direction이 비활성화되어 클릭이 안되는것... 찾아보니 githu..
🔍 Jenkins(젠킨스) 소프트웨어 개발 시 지속적으로 통합 서비스를 제공하는 툴 = CI (Continuous Integration) 젠킨스는 서브버전, Git 과 같은 버전 관리시스템과 연동하여 소스의 커밋을 감지하면 자동적으로 자동화 테스트가 포함된 빌드가 작동되도록 설정할 수 있다. ✅ 설치조건 최소 하드웨어 요구 사항 256MB RAM 1GB 드라이브 공간(Jenkins를 Docker로 실행하는 경우 최소 10GB 권장) 📌 GitLab 설정 1. Access Tokens 발급 프로젝트 → Settings → Access Tokens → 화면에 나온대로 입력, 체크 → Create project access token ( access token은 한번만 볼수있기 때문에 미리 저장해두기 ) 📌 ..
ubuntu 20.04 LTS 서버에 ubuntu 계정으로 Docker를 설치하고 사용하려고 보니 도커 명령어를 입력할 때마다 sudo를 같이 적어줘야하는 번거로움이 생겼다. 또, sudo 를 붙여주지 않으면 Permission denied 에러가 계속 나는 것이다. 해결 방안을 찾다가 도커 그룹을 생성할 수 있다는 것을 알게되었다. 도커 그룹에 ubuntu 계정을 추가하여 사용하는 방법을 포스팅한다.도커 그룹 생성이미 그룹이 생성되어있는 경우가 대부분이나 혹시 모르니 생성까지 진행$ sudo groupadd docker도커 그룹에 계정 추가$ sudo usermod -aG docker [계정명]도커 재시작$ sudo service docker restart🔁 도커 그룹에 추가한 계정으로 접속도커 테..
📢 사용했던 리눅스 명령어를 위주로 까먹지 않게 정리하는 글리눅스 명령어📌 apt apt 는 리눅스에 기본적으로 설치되어있는 명령어로 여러 가지 기능을 하기 때문에 사용하기 전 미리 업데이트 & 업그레이드를 해서 최신으로 유지시켜준다.#apt 명령어 업데이트$ sudo apt update#apt 명령어 업그레이드$ sudo apt upgrade#사용예시#java17 설치$ sudo apt install openjdk-17-jdk📌 ssh -i [.pem 경로] 원격지로 접속할 때 사용하는 명령어로 -i 옵션은 원격지로 접속 시 필요한 .pem의 경로를 입력해 줄 수 있다.매번 EC2 서버로 접속할 때 사용함$ ssh [원격지계정]@[원격지주소] -i [접속할 원격지의 ,pem가 있는 경로]/[.pe..
Nginx 란? 시장에서 점유율이 높은 apache와 같은 웹서버 중 하나로 가벼우면서 여러 요청을 한 번에 처리할 수 있는 장점을 가진다. 또 apache 보다 동작이 단순하고 전달자 역할만 하기 때문에 동시접속에 특화되어 있다. 예를 들어 동시접속자가 700명 이상이라면 서버를 증설하거나, nginx 환경을 권장한다고 할 정도로 성능이 좋고 다중접속에 특화되어있다. nginx의 구동 방식은 Event Driven(비동기처리방식)으로 요청이 들어오면 어떤 동작을 해야하는지만 알려주고 다른 요청을 처리하는 방식이다. 그렇기 때문에 CPU와 관계없이 모든 입/출력들을 전부 Event Listener로 전달해서 흐름이 끊기지 않고 응답이 빠르게 진행되어 1개의 프로세스로 보다 더 빠른 작업이 가능하게 된다...