728x90
반응형

분류 전체보기 131

[Java] 자바 메서드가 생성되는 원리 - 가상 함수 기법

자바 메서드 생성 원리 힙 영역, 스택 영역, 메소드 영역이 있습니다. Customer클래스와 VIPCustomer클래스가 있을 때 힙영역에는 Customer클래스와 VIPCustomer클래스의 참조값이 저장됩니다. 그리고 각각의 인스턴스의 실제 값은 스택영역에 저장됩니다. [Java] 메모리 관리 - 스택, 힙, Garbage Collection Stack 영역 Heap 영역에 생성된 객체 타입의 데이터들에 대한 참조를 위한 값들이 할당됩니다. 원시타입(Primitive Types) - byte, short, int, long, double, float, boolean, char 타입의 데이터들이 할당됩니다.. lakelight.tistory.com Customer 클래스에서 order() 메서드가 정..

JAVA 2022.07.28

[AWS EC2 ubuntu] Mac에서 서버 접속 설정

1. Mac에서 쉽게 AWS EC2 ubuntu 서버에 접속할 수 있는 방법 [aws] EC2 서버에 접속하기 (맥OS) Mac & Linux 는 터미널을 이용해 접속합니다. 먼저 ssh key를 생성하기 전에 이미 생성된 key가 있는지 확인해봅니다. ~/.ssh/id_rsa.pub 파일이 없다면, 아직 한 번도 ssh key를 생성하지 않은 상태입니다 ssh rimkongs.tistory.com 2. Mac에서 AWS EC2 ubuntu 서버로 파일 전송하는 방법 [AWS] EC2 ssh 원격 접속과 scp를 통한 파일 전송 AWS EC2 ssh 원격 접속과 scp를 통한 파일 전송 EC2 인스턴스 생성이 성공적으로 끝났다면, 다음과 같이 CLI환경에서 ssh를 통해서 EC2에 원격 접속을 할 수 있..

Project/Todo 2022.07.28

[OS] Process Management (2) _ CPU 스케줄링

CPU 스케줄링 어떤 프로세스에 CPU를 배정할지 결정하고, 모든 프로세스가 공평하게 작업할 수 있도록 합니다. 스케줄링 목적 공평성 - 모든 프로세스가 자원을 공평하게 배정받아야 합니다. 효율성 - 시스템 자원을 비는 시간 없이 스케줄링 해야합니다. 안전성 - 우선순위를 사용하여 중요한 프로세스가 먼저 처리되도록 해야합니다. 반응 시간 보장 - 응답이 없는 경우 사용자는 시스템이 멈춘 것으로 인식하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 합니다. 무한 연기 방지 - 특정 프로세스의 작업이 무한히 연기되어서는 안됩니다. 스케줄링의 단계 고수준 스케줄링 시스템 내의 전체 작업 수를 조절합니다. 시스템 과부하를 막기 위해 작업에 따라 승인할지 또는 거부할지를 결정하기 때문에 시스템 내..

Backend/OS 2022.07.27

[Refactoring] RequestBody Null or Empty 예외 처리

포스트맨으로 테스트 중 아래와 같은 오류 발생 Request로 요청하던 데이터 중 null값으로 잘못보내서 500에러가 발생하였습니다. 2022-07-26 14:53:24.937 ERROR 32748 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: eq(null) is not allowed. U..

Project/Todo 2022.07.27

[OS] Process Management (1) _ 프로세스, 멀티프로그래밍

프로세스 (Process) 메인 메모리에 할당되어 실행 상태(running)인 프로그램을 말합니다. 보조기억장치에 있는 프로그램이 메인 메모리로 적재되었을 때 프로세스라고 부릅니다. 프로세스 상태 (Process Status) new - 메인 메모리에 올라오는 상태입니다. ready - CPU 할당을 받는 것을 기다리는 상태입니다. running - CPU가 할당되어 작업 수행 중인 상태입니다. waiting - 입출력 장치와 같은 CPU 외의 할당을 받아 기다리는 상태입니다. termimated - 모든 작업이 끝난 상태입니다. PCB (Process Control Block) 각 프로세스마다 존재하며 프로세스 상태, 프로세스 번호(PID), PC value, MMU info, CPU time, reg..

Backend/OS 2022.07.26

[Git] update gitignore

문제 application.properties에는 데이터베이스 정보가 들어가 있어서 gitignore에 추가하려고 했으나 반영이 되지않고 지속적으로 변경사항을 추적하였습니다. 해결 git이 지속적으로 추적중인 캐시파일을 삭제 후 다시 커밋을 진행하여 gitignore의 내용을 다시 갱신해주어야 합니다. 방법 1. Git에 캐시된 데이터 삭제 git rm -r --cached . 2. 다시 항목들을 Commit 하기 [참고] 1. Gitignore 새로 반영하기

Project/Todo 2022.07.24

[OS] How OSs work in General

운영체제 컴퓨터 하드웨어(CPU, 입출력장치 etc) 등의 리소스를 관리해주면서 동시에 여러 애플리케이션이 작동할 수 있는 환경을 제공해주는 소프트웨어입니다. 운영체제 역할 프로그램들이 자원을 필요로 할 때 자원을 할당해줍니다. 각각 자원을 할당받은 프로그램들이 서로의 영역을 침범하지 않게 하고, 컴퓨터의 부적절한 사용을 방지하는 제어프로그램의 역할을 합니다. 운영체제 원리 컴퓨터가 부팅될 때 Bootstrap이라는 프로그램이 먼저 실행됩니다. 이 프로그램은 시스템의 모든 부분을 초기화합니다. 그리고 운영체제를 메모리에 올려 실행될 수 있도록 하고 실행 된 후 다음 이벤트를 기다리게 됩니다. 이러한 이벤트를 시스템에서는 Interrupt라고 부릅니다. 인터럽트 인터럽트는 컴퓨터가 부팅이 되고 운영체제가 ..

Backend/OS 2022.07.22

[AWS EC2 ubuntu] Todo 프로젝트 .jar 배포

.jar 배포 파일 만들기 ./gradlew clean build 을 입력하면 build파일을 지운 후 새롭게 build파일을 구성합니다. 아래와 같이 성공적으로 build가 완료되어 build/libs/server_0.0.1.jar 생성되는 것을 확인 할 수 있습니다. > ./gradlew clean build . . . BUILD SUCCESSFUL in 13s 11 actionable tasks: 11 executed > nohup java -jar *.jar & nohup은 터미널을 꺼도 애플리케이션이 유지되도록 하는 명령어입니다. &은 애플리케이션이 백그라운드에서 실행될 수 있게 하는 명령어입니다. # 단순 로그 출력 > cat nohup.out # 로그 끝 부분을 계속해서 볼 수 있다. (모니..

Project/Todo 2022.07.21
728x90
반응형