본문 바로가기

전체 글51

리눅스 마스터 2급 합격 후기... 많은 개발자들이 말하기를 개발할 때 맥북을 사용하는 것이 더 편하고 좋다고 말했었다. 근데 사실 게임 클라이언트 개발을 준비할 때는 맥북을 사용해야하는 이유를 딱히 느끼지 못해서 맥북을 사용하지 않았다. 또한, 맥북을 사용해보고 싶었지만 많은 사람들이 맥북의 환경을 견디지 못하고 윈도우로 돌아가고 맥북들은 슬프게도 당근으로 가버린다는 도시전설 때문에 사용하지 않았었다. 이제 게임 클라이언트 개발을 그만두고 서버 개발을 공부하며 새로운 마음가짐으로 새롭게 공부하고 싶은 마음에 맥북을 질러버렸다... 맥북은 리눅스 기반의 영향을 많이 받았기 떄문에 맥북을 잘 사용하고 더 편하게 개발하고 싶은 마음에 리눅스 마스터 시험을 준비하게 되었다. 리눅스 마스터 시험은 일정별로 1차, 2차 총 2번의 시험을 봐야한다... 2024. 3. 29.
[Spring] Spring / Spring Boot 비교 1. Spring Framework스프링 프레임워크(Spring Framework)는 Java 기반 애플리케이션 개발을 지원하는 오픈소스 애플리케이션 프레임워크로 간단히 스프링(Spring)이라 한다.스프링은 순수 자바 객체(POJO)만을 사용하여 복잡성을 제거하고, 단순하고 가벼운 코드로 기업용 애플리케이션을 개발하기 위한 목적으로 개발된 프레임워크(Framework)이다. 1-1.  Spring Framework 특징Spring Framework는 아래의 네가지 특징을 가진다.1. 제어 역전( Invesion of Control, IoC ) 스프링은 객체의 생명 주기 및 의존성 관리를 담당하는 프레임워크에서 IoC 컨테이너를 제공한다. IoC 컨테이너를 통해 개발자는 객체의 생성과 관계 설정 및 생명.. 2024. 3. 27.
[Java] Java 예외 처리 0. Java의 예외처리 개발을 잘한다는 사람들은 기본적으로 원하는 로직을 바로 설계하여 코드를 뚝딱뚝딱 작성하는 것을 의미할 수 있다.하지만 개발을 잘한다는 것은 얼마나 예측 불가능한 런타임 에러를 발생시키지 않고 원하는 로직을 완성하는냐를 의미할 수도 있다.이때 예측 불가능한 런타임 에러를 없애는 것을 예외 처리라고 할 수 있다. 기본적으로 Java에서는 Try -> Throw -> Catch 의 구성으로 에러 처리(예외 처리)를 한다.이때 예외 처리는 에러가 발생하는 근원에 따라서 2가지로 구분할 수 있다.자바 프로그램 "외부"에서 발생하는 에러를 Checked Exception이라 한다.자바 프로그램 "내부 로직"에서 발생하는 에러를 Unchecked Exception이라고 한다.Checked E.. 2024. 3. 19.
[DBMS] Transaction의 격리수준 (Isolation Level) 1.  격리수준 (Isolation Level)이란?트랜잭션(Transaction)간 서로 얼마나 고립되어 있는지 나타내는 수준한개의 트랜잭션이 다른 트랜잭션이 변경한 데이터에 대한 접근 할 수 있는 강도를 의미한다.Level은 0~3 수준으로 나뉘어져 있으며 레벨이 커질수록 고립의 수준이 높아지고, 성능은 저하될 수 있다.Level 0은 고립이 거의 되어있지 않은 수준이고, Level 3는 완전하게 고립(직렬화)되어 있는 상태이다. 2. 격리 수준의 필요성은 무엇일까?기본적으로 격리 수준은 트랜잭션의 ACID 특성을 보장하기 위해 사용된다.격리 수준이 낮으면 많은 트랜잭션의 처리가 빨라지지만 데이터의 무결성에 문제가 생길 수 있다.격리 수준이 높으면 트랜잭션 처리 성능이 저하될 수 있지만 데이터 무결성.. 2024. 3. 14.
[AWS] AWS Private EC2에 접근하기 위한 Bastion / NAT-Instance 설정하기 AWS 내에서 프라이빗 서브넷에 연결되어 있는 프라이빗 인스턴스는 외부와 접근할 일이 없을까?이전 포스팅에서 설명했지만 Private Instance 또한 외부와 연결되어야 하는 특정한 상황이 있다.해당 상황이 이해가 가지 않는다면 해당포스팅을 확인하고 오자. [ASAC_04/AWS] AWS 개념 - VPC / Subnet / Route Table / Internet Gateway1. VPC (Virtual Private Cloud) VPC는 약자 그대로 AWS 클라우드에서 제공하는 사용자의 AWS 계정 전용 가상 네트워크다. 사용자는 AWS에서 제공하는 VPC 내에서 서브넷, 라우팅 테이블, 인터넷 게이트웨이rnclf1005.tistory.com  1. “Private” EC2 생성 후 외부 접근 허.. 2024. 3. 13.
[DBMS] RDBMS에서 트랜잭션의 ACID 규칙 1. RDBMS에서 트랜잭션이란 무엇인가?데이터베이스에서 데이터에 대한 하나의 논리적인 작업 단위를 의미한다.논리적인 이유로 여러 SQL문들을 단일 작업으로 묶어서 나누어질 수 없도록 만든 것트랜잭션 내 SQL문들은 모두 성공하는 경우 commit되고, 하나라도 실패하는 경우에는 전체가 rollback된다.트랜잭션 내 SQL문 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다.트랜잭션의 하나의 예로 은행 어플에서 계좌이체를 한다고 가정해보자.계좌이체라는 하나의 작업을 위해서 은행 어플에서는 내부적으로 여러 단계의 업무를 거쳐야 할 수 있다.간단하게 업무를 요약하면 [송신자 계좌 금액 감소], [수신자 계좌 금액 증가]이 있을 것이다.이렇게 두 단계에 대한 데이터를 처리하는 논리적 행위를 트랜잭.. 2024. 3. 13.
[AWS] AWS VPC 및 서브넷 설정하기 & Public EC2 생성 후 외부 접근 허용 AWS에 대해서 공부한 내용을 바탕으로 AWS VPC와 Subnet을 설정하고 Public EC2를 생성하여 인터넷 게이트웨이를 통한 외부 접근 허용이 가능한 상태까지 만드는 실습을 진행해보려고 한다. 먼저 AWS의 VPC, Subnet, Route Table, IGW 등 다양한 개념에 대해서 이해하기 위해 개념을 잘 모르는 사람들은 아래의 이전 포스팅을 확인하자. [ASAC_04/AWS] AWS 개념 - VPC / Subnet / Route Table / Internet Gateway1. VPC (Virtual Private Cloud) VPC는 약자 그대로 AWS 클라우드에서 제공하는 사용자의 AWS 계정 전용 가상 네트워크다. 사용자는 AWS에서 제공하는 VPC 내에서 서브넷, 라우팅 테이블, 인.. 2024. 3. 7.
[AWS] AWS 개념 - VPC / Subnet / Route Table / Internet Gateway 1. VPC (Virtual Private Cloud)VPC는 약자 그대로 AWS 클라우드에서 제공하는 사용자의 AWS 계정 전용 가상 네트워크다.사용자는 AWS에서 제공하는 VPC 내에서 서브넷, 라우팅 테이블, 인터넷 게이트웨이 등을 생성하고 제어할 수 있다.EC2 인스턴스와 같은 AWS 리소스는 VPC 내에 있는 특정 서브넷에서 생성할 수 있다.VPC는 리전 단위이다.VPC 범위를 설정하고 가용 영역(AZ)내에  서브넷을 추가하고 보안 그룹을 연결한 뒤, 라우팅 테이블을 구성하는 것이 보통 AWS를 사용하는 순서이다.따라서 VPC의 생성은 AWS 사용 할 때 첫 순서이다.1-1. VPC를 이해하기 위한 사전 지식Region (리전) : AWS의 물리적 서버가 위치하고 있는 국가 단위의 위치 (ex.. 2024. 3. 5.
[React] Next.js Error (Waring: Expected server HTML to contain a matching <header> in <html> next js에서 프로젝트를 진행하고 있는데 npm run dev를 통해 페이지를 출력하는데 위의 사진과 같은 에러가 발생했다.이 에러는 페이지는 출력되지만 따로 에러만 발생해서 확인할 수 있다에러가 왜 발생했는지 자세하게 확인하기 위해 맨 밑 줄에 "See more info here: https://nextjs.org.docs.message/react-hydration-error" 부분을 확인해보자. 페이지를 확인해보면 아래와 같은 화면을 볼 수 있다. Common Causes를 확인해보며 다양한 구글링을 통해 문제를 해결해보려 했다.결론적으로 말하면 내가 발생한 에러는 1번에 해당하는 HTML 태그가 잘못 중첩된 경우에 해당되었다.다른 사람들이 쓴 포스팅을 확인해보면 2번의 문제로도 발생할 수 있는 .. 2024. 2. 27.