반응형
1. 셸 (Shell) 이란? 리눅스에 명령어를 실행해보자. echo 명령어는 인자로 입력한 문자열을 출력한다. 인자를 HELLO 로 지정하면 다음과 같이 출력된다. 이렇게 명령어를 실행하면 리눅스 내부적으로 다음과 같이 동작한다. (1) 입력한 echo HELLO 문자열을 인식한다. (2) echo 명령어를 찾는다. (3) 명령어를 실행한다. (4) 실행결과를 화면에 표시한다. 이 과정에서 (3) 명령어를 실행하는 과정은 리눅스의 본체인 커널이 수행한다. 커널은 운영체제 중심에서 CPU나 메모리 등의 하드웨어를 관리하면서 명령어를 실행하고 프로세스를 관리한다. 리눅스에서는 사용자가 커널을 직접 조작하는 것이 아니라 사이에서 명령어를 조작해주는 소프트웨어가 필요하다. 이 소프트웨어가 셸이다. 즉, 셸(S..
0. 설치전 : 버추얼박스 (VirtualBox) 에 대해서 가상화 소프트웨어인 오라클 VM 버추얼박스가 오픈소스로 무료로 윈도우나 MacOS에서도 잘 작동하여 유명하지만 나는 m2 맥북을 사용중이다. 안타깝게도 버추얼박스는 이 글을 작성하는 시점인 2023년 9월까지도 M1, M2 에서 제대로 작동하지 않는다. 인텔 맥북을 사용하고 있다면 아래 사이트에서 버추얼박스를 설치하면 된다. ‣ Oracle VM VirtualBox https://www.virtualbox.org/ 버추얼박스가 버전7을 릴리즈 하면서 베타버전으로 m1, m2 에도 설치할 수 있게 설치파일을 내놓았다. 하지만 설치해보면 실행되지 않는다. 아직 작동하지 않는다. 설치를 해서 확인해보고 싶다면 아래 사이트에서 찾아 다운받아 설치해보자..
1. static 이란? static 이란 '정적인', '고정적인' 이라는 사전적 의미를 가진다. 이를 java 관점으로 해석하면 '클래스의' 또는 '공통적인' 이라는 의미를 가진다. static 을 이해하기 위해서는 먼저 JVM (자바 가상 머신) 을 이해할 필요가 있다. ◼︎ JVM ( Java Virtual Machine, 자바 가상 머신 ) 쉽게 말하면 '자바를 실행하기 위한 가상의 컴퓨터' 라고 할 수 있다. java 애플리케이션을 실행하면 JVM 은 OS 로부터 메모리를 할당한다. 자바 컴파일러 (javac) 가 자바 소스코드 (Xxx.java) 를 바이트코드 (Xxx.class) 로 컴파일 한다. 클래스 로더 (Class Loader) 를 통해 JVM 메모리 (Runtime Data Area..
■ 맥 JAVA 환경변수 설정 방법 1. 자바 설치 오라클 홈페이지에서 mac os 에 맞는 자바를 다운받아 설치한다. https://www.oracle.com/java/technologies/downloads/#jdk20-mac Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 2. 터미널(Terminal) 실행 cd /Library/Java/JavaVirtualMachines 입력하여 이동한다. ls 명령어를 입력하면 폴더 및 파일명이 출력되므로 설치한 jdk..
들어가기전에 핵심 기능과 부가 기능 어플리케이션 로직은 크게 핵심기능과 부가기능으로 나눌 수 있다. 핵심기능 객체가 제공하는 고유의 기능 예) 회원 등록 로직, 주문 로직 등 부가기능 핵심기능을 보조하는 기능 예) 로그 로직, 트랜젝션 로직, 보안 로직 보통 부가기능은 여러 곳에서 공통으로 사용되는 경우가 많다. 예를들어 모든 호출에서 로그를 남기는 경우, 보안을 강화하는 로직을 이용하는 경우 등이 있다. 이러한 부가 기능은 횡단 관심사 (cross-cutting concerns) 라고 한다. 이렇게 부가기능을 여러 클래스에 적용하려면 어떻게 해야할까? 클래스의 수 대로 모든 클래스에 동일한 코드를 추가하면 될까? 이는 매우 번거롭고 바람직하지 못하다. 만약, 로그 로직에 변경이 발생한다면 그 클래스 수..