본문 바로가기
  • Ted's Log

전체 포스트12

[Java] 자바 예외(Exception) 객체에 대한 이해와 활용 Error and Exception 자바 프로그램에서 발생할 수 있는 문제 상황으로 에러와 예외가 있다. 에러(Error)는 메모리 부족과 같이 자바 애플리케이션 자체에 심각한 문제가 생겨서 복구가 어려운 상황에 발생한다. 주로 JVM에서 발생시키기 때문에 개발자는 애플리케이션 코드 상에서 해결할 수 있는 방법이 없다. 반면, 예외(Exception)는 개발자가 구현한 프로그램 로직 상에 처리할 수 없는 입력이 주어지거나, 참조 정보가 잘못되어 정상적인 프로세스를 완료할 수 없는 상황에 발생한다. 에러와 달리 개발자가 발생가능한 예외 상황에 대해 예외 처리(Error handling)를 구현할 수 있다. 계층 도식에서 볼 수 있듯이, 에러와 예외는 [ic]Throwable[/ic] 클래스를 상속하고 있다.. 2023. 1. 16.
자주 쓰이는 HTTP 상태코드 HTTP 상태 코드(HTTP response status codes) HTTP 상태코드는 클라이언트에서 요청한 HTTP 요청이 성공적으로 처리 되었는지 알려준다. 서버는 요청의 처리 상태를 상태 코드와 간단한 이유 문구를 포함하여 응답 메세지의 시작라인에 명시한다. 이번 포스팅에서는 자주 쓰이는 상태 코드와 의미에 대해서 알아보자. 상태 코드 그룹 Informational responses (100 - 199): 요청이 수신되어 처리 중인 상태 Successful response (200-299): 요청이 성공적으로 처리된 상태 Redirection message (300-399): 요청을 완료하려면 추가적인 행동이 필요한 상태 Client error response (400-499): 클라이언트에서 발.. 2022. 11. 28.
병렬성과 비동기성 ⌜한 권으로 읽는 컴퓨터 구조와 프로그래밍⌟ 책으로 진행하는 스터디 발표를 준비하면서 작성한 포스팅입니다 컴퓨터는 어떻게 한 번에 많은 일을 하는가? 컴퓨터가 한 번에 둘 이상의 작업을 수행하는 것을 멀티태스킹(multitasking)이라 한다. 멀티코어 프로세스를 갖춘 컴퓨터가 보편화되어, 멀티태스킹 환경에서 작업하는 것은 우리에게 익숙하다. 이번 장의 내용을 통해 컴퓨터가 동시에 여러 작업을 수행할 때, 어떤 원리를 통해 오류 없이 동작하게 되는지 알아보자. 경합 조건과 공유 자원 경합 조건(race condition)이란 2개 이상의 프로그램이 같은 자원에 동시에 접근하여, 자원 사용 순서에 따라 결과가 달라지는 경우를 말한다. 위의 예시에서 서로 다른 두 프로그램이 은행 계좌에 동시에 입금하려는 .. 2022. 11. 20.
서비스간의 메세지를 주고받자 What is Message Queue? 메시지 큐는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중의 하나 메시지 큐를 이용해서 메시지 지향 미들웨어(Message Oriented Middleware, MOM)를 구현할 수 있으며, MSA에서 중요한 서비스 간 통신(Inter-Process Communication, IPC)을 가능하게 한다. 대표적인 메시지 큐에는 [ic]Kafka[/ic], [ic]RabbitMQ[/ic], [ic]ActiveMQ[/ic] 등이 있다. How it works? 메시지 큐는 임시로 메시지를 저장하고 있는 공간이라 이해하면 된다. 서비스가 메시지를 전송 및 수신하기 위해 중간에 전달자 역할을 하는 큐 형태의 자료구조이다. 메시지 전송 시 생산자(P.. 2022. 10. 25.
[DB] 관계형 데이터베이스 설계하기 관계형 데이터베이스 (RDB, Relational Database) 백엔드 개발자에게 관계형 데이터베이스에 대한 이해와 설계 능력은 필수적 요소이다. 관계형 데이터베이스는 데이터의 체계화된 관리를 위해서 테이블 형식을 이용하여 데이터를 정의하고 설명하는 관계형 데이터 모델에 기반을 둔다. [ic]관계형[/ic]이라는 단어에서 알 수 있듯이, 여러 데이터들이 상호 연결성을 가지는 것이 관계형 데이터베이스의 특징이다. 이번 포스팅에서는 관계형 데이터베이스에서 데이터 간의 관계를 어떻게 설정할 수 있는지 알아보려고 한다. 카페를 운영하는 사장님의 이야기를 통해서 쉽게 이해할 수 있도록 풀어내려고 했다. ?! 테이블을 왜 나누고 연결지어야 하는걸까? 카페를 운영하는 Jason씨. 어느 선선한 봄날 많은 손님들이.. 2022. 10. 4.