본문 바로가기
728x90

분류 전체보기389

자연재해는 어쩔 수 없다. 23. 12. 04 입사24. 12. 13 퇴사  세상에 의미 없는 일은 없고 또 내가 했던 것들이 절대 의미 없는 일들은 아니었지만,좀 더 의미 있는, 가슴이 뛰는 일을 하고 싶어 퇴사했다. 아쉬운 점도 많지만좋은 사람들을 만났으니 만족한다.이제부터는 다시 힘내야 할 때.  이번에 공룡 책을 샀다.운영체제 공부를 안 하면 공룡이 잡아 먹음 ㄷㄷ 그래서 해야 됨;;  영어 공부 할 겸 해서원서.pdf 파일을 받아 번역이 애매하게 된 부분들을 단어 하나하나 찾아가며 다시 해석해보고 있음...ㅋㅋ;;참고 : 난 영어 못 함. 이 사람은 그냥 고졸임.  그래도 공부가 재미있다는 것은 참 다행.여건이 되면 좀 오래 공부하고 싶은데 여건이 안 되어서 또 새로 이력서를 넣고 해야할 듯 ㅎㅎ;요즘 취업 시장 어렵다.. 2024. 12. 9.
OS ) 컴퓨터, 운영체제란 무엇인가. 컴퓨터 시스템의 4 요소하드웨어운영체제응용 프로그램사용자하드웨어구성중앙 처리 장치 (CPU)메모리 및 입출력 장치→ 계산용 자원 제공응용 프로그램종류워드 프로세서웹 브라우저컴파일러 등등…→ 사용자의 계산 문제를 해결하기 위해 **시스템 자원**이 어떻게 사용되어야 하는가를 정의💡 운영체제는 다른 프로그램이 유용한 작업을 할 수 있는 환경을 제공한다.사용자 관점에서의 컴퓨터(운영체제 → 사용자 모드)랩탑, 키보드, 모니터 마우스 등, 사용되는 인터페이스에 따라 달라진다. 즉, 사용하려는 **시스템**에 따라 달라진다.시스템은 한 사용자가 자원을 독점하도록 설계 되었다.사용자 관점에서의 운영체제의 목표사용자가 수행하는 작업에 “최대한의 효율” 을 내는 것.사용의 용이성을 위해 설계되며, 성능에도 약간 신경.. 2024. 12. 9.
Docker ) Mac M2(ARM) 에서 도커 컨테이너에 접근할 수 없는 현상 개발하던 앱을 Mac(M2) 에서 도커 컨테이너로 접근하려고 했는데 요청이 가지 않는 문제가 발생했다. docker run -p 8000:8000 -d --name auth_server auth:v1.0.0 해당 명령어로 컨테이너를 올려, 8000 포트로 정상적으로   컨테이너도 잘 올라갔으며   8000 포트로 매핑이 성공적으로 됐음에도    localhost:8000 으로는 컨테이너 접속이 되지 않았다.    참고로 M2 칩은 (지금은 아닌 거 같긴 한데) 도커를 바로 설치할 수 없어,리눅스 위에 도커를 올려 실행되고 있다.colima start --arch x86_64 --cpu 4 --memory 8 그래서 docker 를 실행하려면 위와 같은 명령어를 입력해야 리눅스가 올려지며 정상적으로 doc.. 2024. 12. 6.
Spring Boot 3.x ) 로그를 멋지게 처리하는 법 요즘 혼자 인증용 서버를 하나 만들고 있는데로그를 좀 더 멋지게 처리할 수 있는 방법이 있을까 해서 찾아보았다. AOP 와 핸들러를 이용하면실패/성공 로그 모두 멋지게 처리할 수 있다는 사실 !   일단 중요한 "실패 로그" 부터 어떻게 처리하는지 살펴보자!  실패 로그예외 상황 발생 시, throws 이전에 로그를 찍는 것보다 더 좋은 방법이 있다.그건 `@ControllerAdvice` 에서 실행하면 되는데, 일단 예외 수정부터 필요하다. DefaultExceptionimport lombok.Getter;import org.springframework.http.HttpStatus;import java.util.Map;@Getterpublic class DefaultException extends R.. 2024. 12. 6.
DB ) 모두 성공하지 않으면 모두 실패한다. 트랜잭션입니다. 트랜잭션이 종료될 때까지 “한 커넥션”을 계속 사용한다.그리고 일반적으로 “한 커넥션”은 “하나의 스레드”가 점유하여 처리한다.트랜잭션과 스레드의 관계동작트랜잭션은 일관성과 원자성을 보장하기 위해 시작(BEGIN) 부터 종료(COMMIT or ROLLBACK)를 하나의 작업 단위로 묶음.트랜잭션이 종료되기 전까지는 다른 작업이 해당 커넥션을 사용할 수 없음.커넥션은 트랜잭션 동안 고정트랜잭션이 시작되면, 애플리케이션은 “한 커넥션”을 고정하여 쿼리를 시작함.트랜잭션이 끝날 때까지 해당 커넥션은 다른 스레드나 작업에 할당되지 않음.하나의 스레드는 하나의 커넥션을..하나의 스레드는 하나의 커넥션을 점유한다.커넥션 풀을 사용한다면?트랜잭션이 종료된 후, 해당 커넥션은 풀로 반환 → 다른 스레드가 다시 커넥션을.. 2024. 11. 24.
OS ) 멀티 코어가 뭡니까? 멀티 코어라는 것은 여러 개의 코어를 가지고 있다는 뜻이다.예를 들어 쿼드 코어라면, 이론적으로는 최대 네 개의 프로세스가 동시 실행 가능하다는 것!어떻게 가능할까?멀티코어CPU 를 구성하는 “ 처리 장치”가 여러 개라는 뜻.처리 장치?ALU : 산술 연산, 논리 연산을 수행하는 장치. (계산기)레지스터 : 데이터와 명령어 일시 저장하는 고속 메모리. (프로세스가 올라가면 메모리에서 레지스터로 데이터를 옮겨와서 명령 실행함.)제어 유닛 : 명령어 해석하고 작업이 어떻게 처리될지 제어함. (제어 장치)L1 캐시 : 코어 내부에 있는 제일 빠른 메모리. (캐시)그러면 처리 장치가 여러개라는 뜻은?(ALU, 레지스터, 제어 유닛, L1 캐시) 가 여러 개라는 뜻.램(메모리)은 하나로 돌려 씁니다. ㅎㅎ그래서 .. 2024. 11. 20.
728x90