지식 30

[JAR] jar 생성 및 해제

■ jar 파일을 수정해야 할 일이 생겼다. 일부 class 파일을 교체해야 하는데 소스파일을 가지고 있지 않으므로 가지고 있는 jar를 디컴파일 한 후 해당 클래스만 새로 생성해서 임포트하는 파일들의 경로를 다 맞춰준 후 class 파일을 교체하여 jar로 압축을 했다. ■ JAR 압축 해제jar xvf [ 파일경로/파일명 ] ■ JAR 압축jar cvf [ 생성할 파일명 ] [ 압축할 파일 경로 ]  ※ JAR 파일을 수정할 때 주의사항 - 서버의 JDK 버전을 확인해야한다. 컴파일 된 클래스 파일의 버전이 맞지 않으면 작동하지 않을 수 있다. 확인 명령어javap -verbose [ 클래스 파일명 ] | grep "version"

지식 2023.06.23

[Linux] Booting

■ 순서 1. 리눅스 서버 전원을 켜면 ROM BIOS(Read Only Memory Basic Input Output ystem)를 읽고 디스크의 MBR(Master Boot Record)에 있는 부트로더(Boot Loader)가 실행된다. 2. 부트로더(LILP / GRUB)는 보조 기억장치에 저장되어 있는 리눅스 커널(Linux Kernel)을 찾고 리눅스 커널 실행 3. 리눅스 커널은 하드웨어를 확인하고 root의 읽기전용으로 마운트 수행 4. 디스크 검사 후 root의 쓰기전용으로 마운트 수행 5. init 프로세스 실행, PID 1번 할당

지식 2023.06.02

[운영체제 구조] OS, Operating System

1. 정의 - 컴퓨터 시스템 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 효과적으로 사용할 수 있도록 환경을 제공하는 프로그램의 모임. 2. 목적 (1) 처리 능력의 향상 (2) 신뢰성 향상 (3) 응답시간의 단축 (4) 자원 활용률 향성 (5) 가용성 향상 3. 운영체제의 주요 자원 관리 기능 (1) 프로세스 관리 (2) 기억장치 관리 - 프로세스에 메모리 할당 및 회수 (3) 주변장치 관리 - 입출력 장치 (4) 파일 관리 4. 운영체제 분류 · 발달과정 ( 1 ~ 7 ) (1) Batch Processiong System (2) Multi Programming System (3) Time Sharing / Multi-tasking System (4) Multi-Processing System (..

지식 2023.05.25

[CORS] Cross-Origin Resource Sharing

CORS - 웹 브라우저에서 같은 출처의 리소스가 아닌 다른 출처의 리소스를 요청할 수 있게 하는 정책으로 동일 출처 정책(Same Origin Policy, SOP) 문제 해결 방법 - CORS는 리소스를 공유하려는 서버 간 정한 HTTP Header가 있을 때에만 리소스 접근을 허용하고 없을 때에는 접근을 제한한다. 요청 방식은 Simple Request 와 Preflight Request 가 있다. Simple Request · HTTP Method 가 GET, POST, HEAD 중의 방식을 사용하는 경우 · POST 방식일 경우 Content-type을 아래 중 1가지 사용 - application/x-www-form-urlencoded - multipart/form-data - text/pla..

지식 2023.05.10

[SEVER] Serverless

■ 서버리스란? 클라우드 환경에서 소스코드를 동작하게 하는 모듈 → 개발자가 서버를 구축하거나 관리할 필요가 없다. □ 서버를 관리할 경우 문제점 1. 하드웨어 관리(어플리케이션 규모 및 구현 방식,트래픽 등을 고려히야 하드웨어 사양 관리) 2. 소프트웨어 관리(배포 소프트웨어) 3. 서버 모니터링 4. 스케일링(축소/확장) 5. 24시간 365일 운영 관리 □ 서버리스 장점 1. 사용 용량만큼 비용 결제 2. 서버를 관리할 필요가 없어 어플리케이션 개발에 집중 가능 3. 높은 생산성 □ 서버리스 단점 1. 함수 실행 시간이 비교적 오래 걸림. 2. 자원의 한계가 있다. 3. 상태가 없는, 독립적인 개별 함수만 개발 가능 4. 디버깅이나 테스팅의 불편

지식 2023.03.03

[Debugging] 브라우저 디버깅

■ 브라우저의 개발자 툴을 이용한 디버깅 □ Network 탭을 이용한 디버깅 - 서버와 상호작용을 할 때 디버깅을 할 수 있도록 도와주는 도구. - 네트워크 탭에선 로드되는 파일의 정보를 알 수 있다. 상태값, 속도... (에러가 생겼거나 그 외 문제가 있을 때엔 상태값으로 표현된다. 200, 401 등) 1) Headers 2) Payload 3) Response 4) Preview □ Sources 탭을 이용한 디버깅 - 브라우저에서 오류가 발생한 부분이 표시되기도 한다. - Breakpoint 를 이용해서 시점과 정보들을 확인할 수 있다. 1) 전역변수, 지역변수, 함수 등의 정보 확인 가능 2) 단계별 소스 실행 가능

지식 2023.02.13

[Cookie] 기본정보

■ 쿠키란? - 웹 브라우저가 웹 서버에 request 요청을 하면 웹 서버는 결과물을 담아서 리턴한다. 이 때 쿠키가 담긴다. 1) 쿠키는 response header 담긴다. - 웹 브라우저는 리턴 받은 쿠키를 로컬에 저장해놓고 웹 서버에 요청을 할 때마다 쿠키 정보를 담아서 보낸다. ■ 쿠키의 종류 1. 세션 쿠키(Session Cookie) - 세션이 유지되는 동안만 브라우저에 저장, 브라우저가 종료되는 즉시 사라진다. 2. 영구적 쿠키(Permanent Cookie) - 유효 시간을 지정해서 유효시간이 만료되기 전까지 저장 예) 장바구니, ID 기억하기 기능 등

지식 2023.02.13

[SESSION] 기본 정보

SESSION ■ 기본 동작 개념 - 세션은 서버에서 생성되는 기본 객체이다. 1. 브라우저에서 서버로 자원 요청(서버는 브라우저 식별을 위해 세션의 기본 객체를 생성한다.) → 기본 객체엔 Session ID 값이 포함된다. 2. 서버는 생성된 세션 객체를 쿠키에 담아서 Response 한다. 3. 브라우저는 쿠키를 로컬에 저장한다. 4. 브라우저에서 서버로 요청할 때마다 쿠키 정보를 전달하고 서버는 쿠키 안에 세션값을 읽어 브라우저를 식별한다. → 세션 객체 안에 Session ID 값으로 해당 브라우저를 식별한다. ■ 세션 종료 - 세션은 브라우저를 종료시켜 서버에 종료메시지가 전달되거나 session.invalidate()를 호출하면 세션 객체가 사라진다. → 이후 서버에서 브라우저를 식별하지 못..

지식 2023.02.13