。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

분류 전체보기 397

[NC7기-58일차(7월17일)] - 웹프로그래밍 39일차

45. 자바 스레드풀 적용하기 - excuter 사용법 스레드는 런 끝나면 dead 상태로 가고 가비지가 되어 다시 불러올 수 없음. 가비지가 쌓여서 메모리 낭비, 생성하는 데에도 시간 걸리구 영,, 아님 스레드를 재활용하는 방법: 스레드를 멈추지 않게 만드는 것 ,,!! 일이 끝나면 대기 상태로 보내기. 대기일 때 셋팅하고 다시 깨우고. this.wait - 값 넣구 - notify sleep 은 일정 시간 지나면 알아서 깨어나고, wait는 notify로 깨워야함. 스레드가 running 상태에서 not runnable 상태로 보내는 거: sleep & wait 잠깐 멈춘 스레드를 리스트 컬렉션에 담았다가 꺼내는 거임 - 스레드풀 1. 스레드 풀 생성, ExecutorService executorSe..

[DevOps-Linux] 7. Shell -2

shell 기본 출력 명령 echo 기능: 화면에 한 줄의 문자열을 출력 형식: echo [옵션] [문자열] ex) echo Hello World, echo "Hello World" // 출력값: Hello World (로 동일) printf 기능: C언어의 printf 함수의 형식으로 문자열 출력 형식: printf [형식] [인자] ex) printf "My name is %s\n" Linux // 출려기 My name is Linux 명령어 히스토리 확인 -histrory [숫자] 명령어 앨리어스 - alias 1. 현재 지정된 앨리어스 출력: alias 2. date 명령 앨리어스 지정: alias date_fmt='date "+%Y-%m-%d %H:%M:%S"' 특수문자 *(별표) : 0개 이상..

강의/DevOps Linux 2023.07.16

[DevOps-Linux] 7. Shell -1

기본 개념 명령의 종류 Shell의 정의 운영체제 상에서 다양한 운영 체제 기능과 서비스를 구현하는 인터페이스를 제공하는 프로그램 쉘은 사용자와 운영체제의 내부(커널)사이의 인터페이스를 감싸는 층. 커널을 통해 하드웨어 제어하는데 커널에 접속하려면 쉘을 통해 ,,, 함. 쉘(컴퓨터가 사람에게 제공하는 인터페이스) Shell의 특성 - 인터페이스 REPL (Read - Eval - Print - Loop) 레플 입력 - 평가 -출력 - 입력 loop 터미널을 통해 ls -al읠 입력하면 read 후 명령어 라인 분석 (Parsing) -명령, 옵션, 인자 입력어가 내부 명령어인지, 외부인지 Eval(평가) : 명령어 분석 ~ 판단 후 print (shell 내부 함수 호출 or 파일 실행) 종료 (프롬프트..

강의/DevOps Linux 2023.07.15

[NC7기-57일차(7월14일)] - 웹프로그래밍 38일차

임계영역 delay(); 시간을 끄는거,, 끌다보면 다른 스레드가 가져갈거라 사용함. T1 , T2, T3 스레드는 서로 간섭하지 않구 갈 길 감. 중간에 add()를 호출하면,,, add 메서드안에서 cpu를 먼저 선점한 스레드가 시작하고 cpu 쟁탈전을 시작해서 작업시작. T1이 cpu 뺏겼다해서 T2와 T3만 경쟁하는게 아니라 T1까지 동등한 입장에서 경쟁 Thread: 실행흐름 add: 코드, 메서드 호출될땐 stack에 로컬변수 생성됨. 각 스레드 별로 stack를 갖고 있음. 자기 실행흐름 진행을 stack에 담고있음. 로컬변수는 따로 관리함. 인스턴스는 공유함. Critical Section = Critial Region (임계구역) void add(int value) { if(size >=..

문자 개수 세기

class Solution { public int[] solution(String my_string) { int[] answer = new int[52]; for (int i = 0; i < my_string.length(); i++) { if(Character.isUpperCase(my_string.charAt(i))) { answer[my_string.charAt(i) - 'A']++; } else { answer[my_string.charAt(i) - 'a' + 26]++; } } return answer; } } answer[my_string.charAt(i) - 'A']++는 대문자 알파벳의 등장 횟수를 저장하기 위한 코드입니다. 이를 이해하기 위해서는 아스키 코드에 대한 이해가 필요합니다. 아..

ㅋㅌ 2023.07.13

[NC7기-56일차(7월13일)] - 웹프로그래밍 37일차

멀티태스킹 멀티태스킹(multi-tasking) => 동시에(concurrent 병행) 여러개의 app을 실행 프로세스안에는 ,, 들어있다. 실행중인 App 명령문 *CPU는 한 번에 한 명령 처리 => 여러 프로세스를 동시에 실행하기 위해서 돌아가면서 돌아가면서 명령문을 실행. => 실행 속도가 빠르기 때문에 가능. => 실제는 동시 실행이 아니라 병행, 순차적으로 빠르게 실행하는 것이다. => 동시에 실행되는 것처럼 보이는 것. => 어떤 방법으롤 돌아가면서 실행하는것이 더 효과적일까!? => 그 방법: 프로세스 스케줄링, 또는 CPU 스케줄링임.(돌아가면서 실행하는 것) 1클럭: CPU에 전기 땅~ 한 번 보내는거 . 코어 수가 많을 수록 더 빠르게 작업 가능 서버에서 4기가 짜리르르 한 개 꼽는것..

[DevOps-Linux] 5. 파일 시스템

컴퓨터의 데이터 : 물리적으로는 전기 신호의 형태, 이진수의 형태이며, 0과 1에 대응하는 전기 신호를 생성하고 이를 저장하거나 전송 5V 또는 3.3V 또는 1.8V의 전기 신호 = 1 0V의 전기 신호 = 0 (1 bit) 파일 시스템: 컴퓨터에 존재하는 물리적 데이터를 파일이라는 단위로 접근하고 관리하기 위해 필요한 논리적 구조 사용자가 파일시스템으로 저장공간에 저장된 데이터를 관리함 리눅스 파일 시스템의 구분 HHD, SSD, SD카드 또는 가상 블록 장치(loop device)에 생성 메모리(RAM)에 생성 디스크(블록 장치)기반 파일 시스템 의사(Pseudo) 파일 시스템 장치에 저장된 데이터를 파일 단위로 관리 각 파일 시스템 별 특수한 목적 ext2, 3, 4 : 리눅스 고유 파일 시스템 ..

강의/DevOps Linux 2023.07.12