profile
반복되는 실수를 기록을 통해 줄여가보자!

그리디 알고리즘

그리디 알고리즘이란? 그리디 알고리즘은 현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘이다. 쉽게 말해 매 선택에서 지금 이 순간 당장 최적인 답을 선택하여 적합한 결과를 도출하자 하여 전체적인 최적 해를 찾는 알고리

2024년 9월 12일
·
0개의 댓글
·

@Transactional에 대한 이해

Spring에서 코드를 작성할 때 @Transaction을 자주 사용하곤했는데 DB에 무결성, 안전성을 보장해준다기에 사용하곤 했다. 하지만 어떤식으로 보장해주는지 잘 알지 못하는 것은 재대로 Spring을 사용하는 것이 아니기에 이번 기회에 정리해보려고한다. Spri

2024년 7월 31일
·
0개의 댓글
·
post-thumbnail

블로킹 vs 논블로킹,동기(sync) vs 비동기(async)

Blocking: 자신의 작업을 진행하다가 다른 주체에 어떠한 요청을 했을 때 다른 주체에 작업이 끝날 때까지 기다렸다가 자신의 작업을 시작하는 것Non-Blocking: 다른 주체의 작업 완료와 관련없이 자신의 작업을 하는 것 위 둘의 가장 큰 차이점은 다른 주체가

2024년 7월 24일
·
0개의 댓글
·

HTTP & HTTPS

HTTP란? HTTP(Hypertext Transfer Protocol)는 클라이언트와 서버 간 HTML과 같은 하이퍼미디어 문서를 전송하기 위한 통신 규칙 세트 또는 프로토콜이다. Ex) 사용자가 웹 사이트에 방문해서 웹 브라우저를 통해 웹서버에 HTTP 요청을

2024년 7월 18일
·
0개의 댓글
·
post-thumbnail

이터레이터 패턴

행위 패턴은 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의하는 패턴으로 총 11개의 패턴이 있다.행위 패턴은 하나의 객체로 수행할 수 없는 작업을 여러 객체로 분배하면서 결합도를 최소화 할 수 있도록 도와준다.결론적으로 행위 패턴은 코드의 유지보수

2024년 7월 10일
·
0개의 댓글
·
post-thumbnail

데코레이터 패턴

디자인 패턴이란? 공통적으로 발생하는 문제에 대해서 재사용 가능한 해결책을 의미한다. 다른 상황에 맞게 사용될 수 있는 문제를 해결하는데 사용되는 템플릿임 디자인 패턴을 학습하면 확장성이 높고 유연한 개발이 가능해진다. GOF의 디자인 패턴은 3가지로 나뉜다 생성

2024년 7월 3일
·
0개의 댓글
·
post-thumbnail

RDS 띄우고 EC2로 연결해보기

UntitledDB 종류 선택데이터베이스 생성 방식 선택: 표준 생성MysqlDB 설정 입력템플릿: 프리 티어DB 인스턴스 식별자에 원하는 데이터베이스 이름을 입력하고 마스터 사용자 이름과 마스터 암호 입력데이터베이스 이름, 마스터 이름, 비밀번호는 실제로 DB에 접근

2024년 5월 11일
·
1개의 댓글
·
post-thumbnail

Ec2 설치 및 접근하기 + 자바 설정

UntitledAMI: Ubuntu 선택키페어키페어명은 내가원하는 이름키페어 유형은 RSA프라이빗 키파일 형식은 .pem다운 받은 후 다시 다운 불가하기 때문에 잘 저장해두기 네트워크 설정보안 그룹 선택 후 내 IP에서 SSH 트래픽 허용 (NACL단에서 설정하는 것

2024년 4월 28일
·
0개의 댓글
·

Throw와 Throws

📌 Throw: 예외 발생시키기 키워드 throw를 사용해서 프로그래머가 고의로 예외를 발생시킬 수 있다. 방법 1 . 연산자 new를 이용해서 발생시키려는 예외 클래스의 객체를 만든다. 2 . 키워드 throw를 이용해서 예외를 발생시킨다. 객체를 만드는 것

2024년 4월 4일
·
0개의 댓글
·

Period.between() 두 날짜 사이 비교

과거 대학 입학 날짜 2016년 3월 2일 ~ 졸업 날인 2024년 2월 20일 사이 기간을 알아 보고 싶다면 어떻게 해야 할까? 두 날짜 사이의 차이를 계산을 도와주는 Period.between() 을 사용하여 알 수 있다. LocalDateTime LocalD

2024년 4월 3일
·
0개의 댓글
·

Spring에서의 IoC와 DI

프로그램의 흐름을 직접 제어하는 것이 아니라 외부에 제어권을 넘겨 관리하게 하는 것을 제어의 역전이라고한다.상세히 말하면 객체 생성의 관리 및 책임을 외부에서 한다면 제어권을 넘기게 되어 제어의 역전이 발생한 것이다.프레임워크는 제어의 역전 개념이 적용된 대표적인 기술

2024년 3월 26일
·
0개의 댓글
·

자바 예외 처리: Try-Catch

📌 예외 처리란? 프로그램이 예기치 못하게 종료될 수 있는 오류는 에러와 예외로 나뉘고 예외는 프로그래머가 미리 처리할 수 있다고 앞 포스팅 글에서 정리했었다. 이 개념을 바탕으로 예외처리에 대한 정의는 다음과 같다. > 예외처리 : 프로그램 실행 시 발생할 수

2024년 3월 26일
·
0개의 댓글
·

Checked Exception와 Unchecked Exception

프로그램이 실행 중 오작동 하거나 비정상적으로 종료하게 하는 원인을 프로그램 에러, 오류 라고한다. 에러는 발생 시점에 따라 컴파일 에러, 런타임 에러로 나눌 수 있다. 이외에도 논리적 에러가 있는데 컴파일도 잘되고 실행도 잘되는데 의도와 다르게 동작하는 것을

2024년 3월 24일
·
0개의 댓글
·

자바 컴파일 과정 및 JVM

📌 자바와 JVM Java는 JVM이라는 가상 머신을 통해 OS 종류와는 관계 없이 구동 환경만 적합하면 코드를 실행할 수 있다. 따라서 Java의 특징적인 컴파일 환경, JVM의 구조 등을 정리하려 한다. 📌 JVM을 사용하지 않는다면? C언어를 예시로 한번

2024년 3월 21일
·
1개의 댓글
·

정규화

📌 정규화란? 테이블 간/내에 중복성 제거를 위해 관계를 분해하는것 정규화를 하는 목적은 데이터 중복을 제거하고, 효율성을 향상시키며, 데이터 무결성을 보장하기 위함이다. 📌 제 1 정규화 데이터베이스의 각 컬럼은 하나의 데이터만 가지도록 하는 과정이다. 즉

2024년 3월 19일
·
0개의 댓글
·

TRANSACTION: ISOLATION LEVEL

* !! 글을 읽기 전 필독 !!* DBMS 마다 격리 수준에 대한 내용이 다를 수 있으니 보다 정확하게 알기 위해서는 공식 문서를 확인해야 한다. 필자는 MySQL 에서 제공하는 격리수준을 기준으로 하였다. 참고로 MySQL의 기본 격리수준은 Repeatable Re

2024년 3월 17일
·
0개의 댓글
·

TRANSACTION과 ACID

📌 TRANSACTION TRANSACTION DB에 요청시 한 스텝에서 모두 처리되어야 하는 SQL 요청을 하나로 묶은 단위다. 하나의 SQL 이라도 처리되지 않으면 요청 전 상태로 RollBack되는 것이 특징. 트랜잭션 내 SQL문들이 모두 성공하는 경우 Co

2024년 3월 16일
·
0개의 댓글
·

DB와 DBMS

데이터 저장소 CSV 혹은 EXCEL 같은 다양한 데이터 형태로 저장되어있는 저장소DB(데이터 저장소)기능 + 엔진(데이터를 정의 및 조작하는 기능)을 가진 응용 프로그램DB Management System 으로써 위 DB 에 대한 CRUD 엔진, 관리 등 제공DBMS

2024년 3월 13일
·
0개의 댓글
·

[실습]“Private” EC2 외부 접근 허용 : OUTBOUND를 위한 NAT INSTANCE 설정

AMI는 AMI 커뮤니티에서 \*\*amazon/amzn-ami-vpc-nat-2018.03.0.20230807.0-x86_64-ebs 을 검색해서 넣어준다.\*\*AWS 공식 NAT 인스턴스 AMI (Pre-configured Amazon Linux AMI) 는 이제

2024년 3월 12일
·
0개의 댓글
·

[실습] “Private” EC2 생성 후 외부 접근 허용 : INBOUND 를 위한 BASTION 설정

\*\*Local-to-bastion.pem\*\*이라는 Private key를 생성해준다.Local에 다운로드 되어있는 것을 확인했다.Public Subnet에 Bastion이라는 인스탄스를 만들어준다.주의할 점은 INBOUND 규칙에 SSH 프로토콜과 22Port

2024년 3월 12일
·
0개의 댓글
·