반응형

분류 전체보기 259

병렬성(Parallelism)과 동시성(Concurrent)

1. 병렬성(Parallelism)한 개의 코어(CPU)에는 한 개의 Thread가 실행된다.동시성의 하위 개념으로 운영체제에서 여러 CPU에 Thread를 적절히 분배하여 동시적으로 실행한다.   2. 동시성(Concurrent) CPU가 한번에 많은 작업을 처리한다. 즉, 하나의 CPU가 여러 Thread를 교체하며 조금씩 작업을 처리한다.동시성은 작업을 빠르게 처리하는 게 목적이 아닌 CPU를 효율적으로 사용하는 것에 중점을 둔다.CPU의 코어 개수보다 Thread의 개수 많을 경우만 해당된다.  3. ThreadPoolExecutor병렬성으로 처리 성능을 극대화하고, 동시성으로 CPU 자원을 효율적으로 운용한다. @Testpublic void test() { // CPU 코어 개수 in..

CS 2024.09.13

Thread 구조 및 특징(Process와의 차이)

선행 학습2023.01.13 - [CS] - 프로세스 메모리(스택, 힙, 데이터 영역, 코드 영역) 구조 개념 및 특징  Thread란? 프로세스가 운영체제로부터 할당받은 자원을 이용하는 실행 단위 또는 흐름의 단위로 하나의 프로세스에는 반드시 하나 이상의 스레드를 갖는다. 각각의 스레드는 독립적인 Stack 영역은 할당받지만, 프로세스가 가지고 있는 Heap, Data, Code 영역은 공유한다.  Process vs Thread  Process 여러 개의 프로세스 중에 하나가 문제가 발생해도 다른 프로세스에 영향을 미치지 않는다. (안전성)프로세스 간 전환(Context Switch) 시 레지스터, 캐시 메모리 초기화 등 무거운 작업으로 시간과 비용이 발생한다.프로세스 간 통신 하기 위한 방법이 복잔..

CS 2024.09.10

[Jenkins] Launch agents via SSH 분산 빌드 환경 구축 방법

Launch agents via SSH 경우 Jenkins 마스터 서버 -> 슬레이브  서버로 SSH 접속하여 제어한다.아래 [JNLP 분산 빌드 환경 구축 방법]과 다른 점만 설명하도록 하겠다. SSH로 접속하기 때문에 TCP 포트 설정은 필요 없다 대신 SSH key를 등록해 줘야 한다. 2024.08.20 - [DevOps/Jenkins] - [Jenkins] JNLP 분산 빌드 환경 구축 방법 [Jenkins] JNLP 분산 빌드 환경 구축 방법Jenkins에서 분산 빌드 환경을 구성하지 않으면 순차적으로 빌드하게 되지만, 분산 빌드 환경을 구성하게 되면 동시에 처리하므로 빌드 속도가 빨라진다. 또한, 빌드 작업을 여러 서버에 분산시켜cocococo.tistory.com   1.  SSH key..

DevOps/Jenkins 2024.08.21

[Jenkins] JNLP 분산 빌드 환경 구축 방법

Jenkins에서 분산 빌드 환경을 구성하지 않으면 순차적으로 빌드하게 되지만, 분산 빌드 환경을 구성하게 되면 동시에 처리하므로 빌드 속도가 빨라진다. 또한, 빌드 작업을 여러 서버에 분산시켜 Jenkins 마스터 서버의 부하가 줄고, 시스템 리소스를 효율적으로 사용하게 된다.      1. 분산 빌드 구성 환경 종류1-1. Launch agent by connecting it to the controller - JNLP (Java Network Launch Protocol)에이전트(슬레이브)가 JNLP를 통해 마스터에 스스로 연결되는 방식이다.특징:에이전트가 JNLP 파일을 통해 Jenkins 마스터에 직접 연결Java 필요에이전트는 HTTP/HTTPS를 통해 JNLP 파일 다운로드 하고, Jenki..

DevOps/Jenkins 2024.08.20

[Jenkins / 오류] Failed to start Jenkins Continuous Integration Server 설정 파일

1. Issue다른 외부 서버로의 배포 및 Jenkins에서 여러 작업(서버 스크립트 실행)을 실행할 경우 권한 문제가 번번이 발생하여 jenkins 설정 파일(jenkins.service)에서 실행시키는 소유자와 그룹을 변경하게 되면서 해당 오류가 발생하였다.  2. Problemjenkins.service 수정 후 적용 시 오류 발생- 설정 적용$ sudo systemctl daemon-reload$ sudo systemctl restart jenkins  3. Solution[See "systemctl status jenkins.service" and "journalctl -xe" for details.]라는 메시지로 확인 하라고해서 진행 3-1. systemctl status jenkins.ser..

오류 해결 2024.08.13

Codemirror를 사용해 코드 에디터 만드는 방법

각 프로그래밍 언어별 코드 에디터   1. 라이브러리 다운라이브러리를 다운로드하지 않고 CDN으로 불러올 수 있지만, 현재 버전을 유지하기 위해 라이브러리를 직접 다운로드하여 프로젝트에 설정하였다. https://codemirror.net/ CodeMirrorIn-browser code editorcodemirror.net  1-1) [주소 접속] -> [Version 5] 클릭    1-2) [Get the current version] 클릭   2. 필요 라이브러리 폴더 설정 2-1) 파일 목록압축을 풀면 아래 사진고 같이 나오지만, 모든 파일을 프로젝트에 넣는것티 아닌 필요에 따른 파일만 집어넣는다.     2-2) 프로젝트에 필요 폴더 넣기내 프로젝트의 Resources 위치에 [codemirro..

JavaScript 2024.07.24

[Spring Boot] @ConfigurationProperties 프로퍼티 바인딩 방법

application 설정 파일의 프로퍼티를 바인딩하는 이유는 구조화된 데이터 관리, 타입 안전성, 자동완성, 환결 설정 마다 관리가 가능하기 때문이다. 1. 설정 방법application.yml 설정 파일은 List, Map 등 Java 객체와 매핑할 수 있다.# application.ymltask: id: coco name: kang age: 30 /* 프로퍼티 클래스 생성 */@Data@Component@ConfigurationProperties("task")public class UserProperties { private String id; private String name; private int age;}Data : Lombok을 사용할 경우 자동으로 getter, se..

Java 2024.06.25

[Spring Boot] Logback 사용한 원하는 위치게 로그 파일 생성 방법

Logback을 사용하면 간단하게 로그 관리를 할 수 있다. 로그 파일 생성, 일자별 생성, 파일 사이즈 기반 롤링 등 다양한 옵션을 제공하여 로그를 효과적으로 기록하고 관리할 수 있다. Spring Boot Start로 프로젝트를 생성하면 [spring-boot-starter-logging]이 포함되어 있어 별도의 의존성을 추가할 필요 없이 사용 가능하다.1. 사용 방법1-1)  src/resources/logback-srping.xml  파일 생성 %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n /Users/home/logs/server.l..

Java 2024.05.17

[Jenkins] 외부에서 원격 빌드하는 방법(Token)

빌드 방법은 크게 두 가지 있다. 사용자 계정 Token 사용한 인증 방법과, Job(Item) 인증 토큰을 사용해 빌드하는 방법.   1. 사용자 계정 Token 인증 방법1-1) 계정 ID -> 설정 -> API Token// 발급 받은 Tokens을 base65 인코딩해 줘야 한다. // ex ) admin:112cda48189a0d3360ab73ea564226a6edkey name:Tokenkey:Token 전체 인코딩 해줘야 한다. 1-2) Curl 테스트curl -X POST {JENKINS_HOME}/job/{JOB_NAME}/build \--user admin:112cda48189a0d3360ab73ea564226a6ed    2. JOB Token 인증 방법인증 없이 사용하기 위해서는 플..

DevOps/Jenkins 2024.04.29

[React Native] RN CLI Mac 개발 환경 구성

에뮬레이터와 상관없이 XCODE, Android Studio를 둘 다 설치해야 한다.RN 설치 방법은 버전에 따라 환경을 구성하는 방법이 다르기 때문에 공식 문서를 그대로 따라 하자.   1. React Native CLI 아래 공식 문서에 따라 설치를 진행한다.https://reactnative.dev/docs/environment-setup Setting up the development environment · React NativeThis page will help you install and build your first React Native app.reactnative.dev 1-1) [RN CLI Quickstart] -> [macOS] -> [Andorid] and [iOS] 둘 다 진행..

React 2024.04.22
반응형