전체 글

나만의 글로 기록하기
·Server
오늘은 도커(Docker)에 대해서 알아볼게요도커를 이해하기 전 먼저 가상화에 대한 개념 이해가 필요합니다. 가상화하나의 실물 컴퓨팅 자원을 마치 여러 개의 가상 자원으로 쪼개서 사용하거나, 여러 개의 실물 컴퓨팅 자원을 묶어 하나의 자원처럼 사용할 수 있도록 하는 기술로,서버의 자원을 효율적으로 분산하여 서버 관리의 유연성을 제공한다. 서버 가상화 하나의 물리적 서버 호스트에서 여러 개의 서버 운영 체제를 게스트로 실행할 수 있게 해주는 소프트웨어 아키텍처  가상 머신(Virtual machine)과 컨테이너(Container)가상 머신과 컨테이너는 모두 애플리케이션을 격리된 환경에서 실행하기 위한 기술이지만, 동작 방식과 구조에는 차이가 있다.하이퍼바이저서버 가상화 기술을 구현할 수 있게 하는 소프트..
·Spring
핵심 용어타겟 오브젝트(Target Object)- 실제 비즈니스 로직을 수행하는 객체  ex 스프링에서의 UserService, BoardService와 같은 객체 어드바이스(Advice)- 타겟 오브젝트의 특정 메서드가 실행될 때 그 앞이나 뒤 혹은 실행 중간에 추가로 수행될 동작을 담은 객체 포인트컷(PointCut)- 어드바이스가 적용될 지점을 정의하는 표현식으로 메서드 선정 알고리즘을 담은 객체 공통 관심 사항(Cross-cutting-concerns)- 특정 모듈에 국한되지 않은, 여러 모듈이나 계층에 걸쳐 시스템 전반에 공통적으로 나타나는 기능이나 로직ex 로깅(Logging), 보안(Security), 트랜잭션 관리(Transaction Management), 예외 처리(Exception ..
·ComputerScience/OS
프로세스와 스레드는 컴퓨터 프로그램 실행 단위로, 자원의 효율적 관리를 위해 알아야 할 중요한 개념이다.두 개념에 대해 자세히 알아보자.  미리 알아야 할 키워드 정리실행 단위- cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념 동시성(Concurrency)- 여러 작업이 동시에 또는 병렬로 실행되는 것처럼 보이도록 하는 개념으로 실제로는 여러 작업이 정확히 같은 시간에 실행되는 것이 아닌 사용자나 시스템 입장에서 여러 작업이 동시에 진행되는 것처럼 보이는 것  프로세스와 스레드 프로세스스레드정의 실행 중인 프로그램을 의미하며 하나의 응용 프로그램이 여러 프로세스로 구성될 수 있음 프로세스 내에서 실행되는 작은 실행 단위로 하나의 프로세스는 여러 개의 스레드를 가질 수 있음주소..
·Java
이번 포스팅에선 JVM의 메모리 영역인 런타임 데이터 영역(Runtime Data Area)에 대해 알아보겠습니다 앞선 포스팅을 통해 Java가 실행되는 과정을 학습한 바 있다. 더보기https://ji-hwaja.tistory.com/38 자바의 실행과정과 JIT에 대하여오늘은 자바 코드의 실행과정과 메모리 구조에 대해서 알아보겠습니다. 자바 코드가 실행되기까지  우리가 작성한 자바 소스 코드는 javac (Java Compiler)를 통해 바이트 코드(.class)로 변환된 뒤, ji-hwaja.tistory.com이제 JVM의 메모리 공간(Runtime Data Area)에 대한 학습을 통해 메모리 관리에 대해 이해해보자. Runtime Data Areas란?JVM이 프로그램을 실행하는 동안 사용하..
·Server
학습에 앞선 선행 용어 정리더보기컴파일- 프로그래머가 작성한 소스코드를 기계어로 변환하는 과정 빌드- 소스 코드 파일을 컴퓨터에서 실행할 수 있는 소프트웨어 산출물로 만드는 과정 배포- 빌드의 결과물을 사용자가 접근할 수 있는 환경에 배치하는 것 비유*영문판 책을 서점에 개재한다 (영어로 된 글을 한국어로 변환한다 ➡︎ 변환된 글을 책으로 엮는다 ➡︎ 이를 서점에 배치한다)   CI (Continuous Integration)개발을 진행하면서도 품질을 관리할 수 있도록 여러 명이 하나의 코드에 대해서 수정을 진행해도 지속적으로 통합하면서 관리함으로써, 통합 시마다 자동으로 빌드하고 테스트하여 문제를 조기에 발견하고자 하는 Extreme Programming(XP) 방법론 중 하나 CI의 한계테스트를 마치..
·Java
오늘은 자바 코드의 실행과정과 메모리 구조에 대해서 알아보겠습니다. 자바 코드가 실행되기까지  우리가 작성한 자바 소스 코드는 javac (Java Compiler)를 통해 바이트 코드(.class)로 변환된 뒤,  최종적으로 기계어로 변환되어 CPU가 이를 처리하는 과정을 거친다.   이때 바이트 코드를 기계어로 변환하는 방법에는 2가지가 있다. 1. JVM의 JIT (Just-In-Time)와 관련된 환경변수 설정(default Y)을 파악하여, SPARC(Scalable Processor Architecture) 혹은  Intel의 기계어(machine code)를 통해 실행되는 방법2. 환경변수 설정이 없을 시, interpreter를 통한 실시간 번역으로 기계어로 바뀌는 방법 이러한 과정을 거쳐..
지화자_
냉정과열정사이