일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- 1과목
- MYSQL
- 코틀린
- SW봉사
- C++
- 코딩교육봉사
- programmers
- CJ UNIT
- 백준 알고리즘
- BFS
- 프로그래머스
- 코딩봉사
- 시나공
- 백준
- 자바
- SQL
- 회고
- 문제풀이
- 알고리즘
- softeer
- 백준알고리즘
- kotlin
- 소프티어
- python
- 공부일지
- java
- 데이터베이스
- 파이썬
- 정보처리산업기사
- Today
- Total
목록Infra (43)
JIE0025

✅ 제니퍼 구성도 Agent / Data Server / View Server / Jennifer client (브라우저) 로 구성되어있다. Agent : 자바 어플리케이션 모듈로 설치되어 기본적인 성능 데이터를 수집하는 역할이다. 데이터 서버 : Agent 로부터 수집된 성능데이터를 수집/적재하는 역할이다. 뷰서버 : 적재된 성능데이터를 효과적으로 볼수있는 Provider 역할이다. 클라이언트 : 뷰 서버로부터 데이터를 받아서 보여주는 역할이다. ✅ 도메인과 인스턴스 Domain 은 하나의 연관된 성능으로 모니터링할 수 있는 다수의 인스턴스 그룹이다. Instance는 제니퍼 에이전트가 설치되는 단위로, 실제 데이터를 수집하고, 모니터링하는 가장 기본이 되는 단위이다. 쉽게 설명해보겠..

✅ 개요 애플리케이션 성능에 대한 이야기를 해보자. 콘서트 티켓 예약시 사이트가 느리고 먹통이 되어서 예약을 진행할 수 없게 되는 상황이 발생한다. WAS가 받아들일 수 있는 요청의 개수( MAX Thread )가 넘어서게 되면 스레드를 사용할 수 있을 때까지 남은 요청들이 대기하게 된다. 결국 애플리케이션의 성능 문제인것이다. 개발자 / 엔지니어는 성능 향상을 위한 결정을 하게 된다. WAS 인스턴스를 다중화한다던지,Thread수를 늘린다던지,캐시를 도입하여 캐시적중률을 높힌다던지 빠르게 읽기 위한 NOSQL을 사용한다던지...등등 여러가지 성능을 개선할 수 있는 방법이 존재한다. ✅ APM (Application Performance Monitoring)애플리케이션의 성능 ..

✅ 링크란 ? 리눅스의 파일시스템에선 파일에 별명을 붙이는 것이 가능하다. 이를 링크라고 한다. 링크는 하드링크, 소프트링크 두 종류가 있다. ✅ 하드링크파일 원본에 이름을 여러개 붙이는 기능이다. 하드링크로 만든 파일에 대해선 원본과 복사본에 대한 구분이 필요 없다. 양쪽 다 원본 파일이기 때문이다. 예시) test파일을 만들고 안에 My name is test라고 적어두었다. 이후 하드링크를 만든다. ln 원본파일 하드링크이름 ln test hardlinktest test와 hardlinktest를 모두 출력해보았을때 똑같은 결과가 나오는것을 볼 수 있다. ⏺ 하드링크 삭제이름이 여러개가 된 파일중, 하나를 삭제한다고 해도 나머지 하드링크로 연결된 파일들은 남게된다. 결국 ..

✅ 개요 ls라는 명령어는 현재 디렉터리에서 모든 파일을 출력하는 명령어이다. 여기에서 모든 파일을 굳이 알 필요 업속, 특정 이름의 패턴을 가진 파일만 확인하고 싶은 경우엔 어떻게 할까? * 와 ? 기호를 사용하면 된다. ✅ *임의의 문자열을 의미한다 .te로 시작하는 파일 리스트를 보기 위해서 te* 라고 지정하면된다. 디렉터리 안에 다음과 같은 파일이 존재한다.lemon template01 test1 toeic 여기에서 ls te* 명령어를 입력하면 te로 시작하는 파일 리스트가 출력된다. ✅ ?임의의 한 문자를 의미한다. t???? 라고 치면 t로 시작하는 5글자짜리 리스트가 나온다.

리눅스의 디렉터리 구조는 Filesystem Hierachy Standdard라는 표준 사양을 따른다. /bin 일반 사용자, 관리자가 사용하는 명령어의 실행 파일이 배치되어 있는 디렉터리이다.시스템과 관련된 중요도가 높은 명령어를 포함하고 있따. 아래 리스트를 보면 mkdir / mount / gzip / grep / vi 등 자주 사용하는 명령어를 확인할 수 있다. /dev 디바이스 파일이 배치되어 있는 디렉터리 디스크/키보드 등 하드웨어를 다루기 위한 특수 파일이다. /etc리눅스에서 돌아가는 다양한 애플리케이션의 설정 파일이 배치된다. 리눅스 자체의 설정 파일도 있다.>> /etc/hosts /home사용자별로 할당되는 홈디렉터리가 배치된다. 개인용 디렉터리이고사용자..

✅ 명령어를 쳤을 때 리눅스 내부에선 어떤일이 벌어질까? 키보드로 입력한 date 문자열을 받아들인다.date 명령어를 찾는다. 발견한 명령어를 실행한다. (리눅스이 본체인 커널이 수행한다)실행한 결과로 얻은 문자열을 화면에 표시한다. ✅ 셸 (Shell) 커널은 운영체제 중심에서 CPU/ 하드웨어를 관리하면서 명령어를 실행하고 프로세스를 관리한다. 리눅스에선 사용자가 커널을 직접 조작할 수 없게 되어있기 때문에 둘 사이의 명령어를 받아들이고, 커널의 실행결과를 출력하는 소프트웨어가 필요하다. 이역할을 하는 소프트웨어가 바로 셸이다. >> 커널의 인터페이스 역할이다. 사용자는 셸에 date명령어를 입력셸은 리눅스 커널에게 실행을 의뢰한다. 리눅스 커널은 명령을 실행하고, 셸은 결과를 받아 ..
✅ 리눅스의 디바이스• 하드디스크, USB, 키보드, 마우스, 프린터 등 모두 디바이스(Device)라고 한다. • 이런 장치들을 /dev 디렉터리 아래 파일처럼 만들어서 접근한다.✅ 블록장치란 (Block Device)블록 단위로 I/O하는 장치이다디스크(SDD/HDD), USB드라이버, 파티션 등을 의미한다.✅ lsblklinux block device(블럭 장치) 목록을 마운트 되지 않은 블럭 장치 포함해서 보여주는 명령어이다.$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 100G 0 disk├─sda1 8:1 0 96G 0 part /└─sda2 8:2 0 4G 0 part [SWAP]NAM..

설치가이드를 보며 실습 한 과정을 기록합니다. https://docs.tmaxsoft.com/ko/tmaxsoft_docs/main/_attachments/anylink/7/AnyLink_7_Installation-Guide_v3.1.2_ko.pdf 선행내 개인 컴퓨터는 맥북이기 때문에 도커로 리눅스환경을 구성시켜놨다.https://jie0025.tistory.com/678 [Docker] 컨테이너 만들고, 내부로 설치파일 옮기기애니링크를 설치해보고 싶은데 개인노트북이 맥북이고,Anylink7에 MacOS용은 없는 상황이 발생했다. 실습을 위해 Docker에 리눅스 컨테이너를 구성하고거기에 Anylink를 설치해보도록 하자. jie0025.tistory.com Anylink 리눅스 설치 소..
jar파일의 경우 자바 명령어로 바로 웹 애플리케이션을 실행할 수 있다. 1. 기존 프로세스를 확인한다. ps 명령어를 통해 jar파일이 돌아가는 프로세스의 PID (ex 3434) 를 확인한다. ps -ef | grep myapp.jar 2. 기존 프로세스를 종료한다. kill -9 3434 3. 새로운 jar파일을 배포할 경로로 옮겨둔다. cd /home/user/myapp/ 4. jar파일을 실행한다. nohup java -jar myapp.jar --spring.profiles.active=prod > app.log 2>&1 &✅ nohup터미널 꺼져도 계속 돌아가게 (터미널 세션과 분리시켜서 애플리케이션을 돌릴 수 있다. ✅ java -jar java -jar 배포파일.jar jar..

✅ 웹소켓 프로토콜은 무엇이고 왜 사용할까?개발을 할 때 HTTP 프로토콜을 이용하여 요청-응답 기반 단방향 통신을 했었다. 즉, 클라이언트에서 요청을 보내면, 서버는 응답을 반환 하고, 연결울 종료하는 방식이다. 이 경우 항상 클라이언트가 요청을 해야하며, 서버는 요청을 기다릴 수밖에 없다는 의미가 된다. ⚠️ HTTP 한계만약 서버가 어떤 변경사항을 클라이언트에게 빠르게 알려줘야한다면 HTTP를 통해서 하기엔 어려워진다.HTTP 메시지에는 헤더가 차지하는 공간이 큰데, 채팅 앱 같이 단문의 메세지를 주고받는 경우 네트워크 낭비가 커질 수도 있다. ▶️ 웹소켓 이런 한계를 극복하기 위해 웹소켓 프로토콜이 나왔다. 클라이언트와 서버간 실시간 양방향 통신을 가능하게 한다. 양쪽에서 언제든지 메세..