목록전체 글 (46)
나의 길

이번 글은 제가 spring initializr로 당연하게 생성하던 프로젝트 구조를 살펴보겠습니다. 프로젝트 구조 해당 이미지는 spring initializr에서 기본적인 Dependencies만 추가하여 생성한 기본 프로젝트입니다. 맨 상위의 demo는 프로젝트 이름입니다.아래에 src/main/java 디렉토리부터 살펴보겠습니다!해당 디렉토리의 com/example/demo 패키지 안에는 .java 파일을 작성하고 우리가 개발을 할 때는 계층형 구조 - controller - member - order- dto - member - order- entity - member - order- service - member - order- repository..

사이드 프로젝트 진행 중 로그인 구현을 위해 공부한 쿠키 및 세션, 로그인 과정에 대한 정리입니다! ✅ 쿠키, 세션을 알아보는 이유 👀 HTTP(이전 게시물을 보고 오시면 이해가 조금 편할 것 같습니다!)를 통해 통신할 때 특징 중 무상태(stateless)와 비연결성(connectionless)을 생각해 보면 클라이언트가 서버에 요청을 보내고 이후 연결을 끊고, 이전 상태를 기억하지 못합니다. 하지만 서비스를 운영하면서 클라이언트의 상태 정보를 기억하고, 연결을 유지해야 될 필요가 있습니다. 예를 들면 로그인 검증을 페이지 이동을 할 때마다 실행한다거나, 일주일 간 이 창을 보지 않기 기능입니다. (로그인 검증을 계속하게 되면 서비스 속도에 영향을 줍니다!) 이런 필요성 때문에 쿠키와 세션을 사용합니다..

이번 글은 코딩테스트를 효율적으로 준비하기 좋은 서비스인 코드 트리를 한 달간 이용한 경험입니다! 바로 본론으로 들어가겠습니다! 시작! 먼저 코드 트리를 시작하게 되면 실력 진단을 할 수 있습니다. (무료로 할 수 있으니 다들 해보시면 좋을 듯합니다!) 저는 코딩테스트를 통과해 본 적이 없고, 백준이나 프로그래머스를 가끔씩 푸는 수준. 진단 후 점수를 받아 본 결과는 당연하게도 처참... 그래서 전 기초부터 시작했습니다! (기초는 free!) 학습! 처음 학습을 하면서 프로그래밍 기초의 모든 강의를 다 봐야겠다고 생각하지 않고 빠른 완료 테스트를 진행하며 '내가 부족한 부분만 깊게 채우자!'라는 생각으로 임했습니다. 이렇게 진행하며 문법적인 부분에서는 1차원 배열이 저에게는 부족한 부분이었고, 해당 부분..

이번 글은 개발을 하며 단편적으로만 알던 HTTP를 조금 더 확장시켜 이해한 내용들입니다. ✅ HTTP란? 약자로 풀어보면 HyperText Transport Protocol, HyperText는 일반 텍스트가 아닌 텍스트들이 링크로 서로 연결되어 있는 것을 뜻하며 이후 Transport Protocol은 전송 규약이다. 원래는 HTML 같은 것들을 전송했지만 현재는 바이너리로 변환 가능한 음성, 파일, JSON 등의 거의 모든 데이터 형태를 전송 가능하다. HTTP의 특징 클라이언트 - 서버 구조 : 클라이언트가 서버에게 요청을 보내고 서버가 그 요청에 대한 응답을 보내기 전까지 대기한다. 이런 구조는 각자가 독립적으로 발전할 수 있다. 무상태 : 서버가 클라이언트의 이전 상태를 모른다. 반대로 상태 ..

이번에 작성할 내용은 자료구조와 알고리즘을 하며 접한 복잡도에 대한 정리입니다. ✅ 복잡도 복잡도란 알고리즘의 성능을 객관적으로 평가하는 기준입니다. (하드웨어나 컴파일러 등에 따라 달라지는 프로그램 실행속도와는 차이가 있습니다.) 복잡도의 종류 시간 복잡도 : 실행에 걸리는 시간을 평가하는 것 공간 복잡도 : 실행에 필요한 메모리가 얼마나 필요한가를 평가한 것 먼저 두 가지를 알아보기 전 복잡도를 표기하는 표기법 중 가장 널리 쓰이는 Big-O표기법을 알아보도록 하겠습니다. Big-O 표기법 Big-O 표기법의 간단한 특징을 먼저 살펴보겠습니다. 컴퓨터에게 영향이 미미한 것은 무시한다. 상수항은 무시한다. 계수도 무시한다. 더 나아가 영향력이 없는 항을 무시한다. 추가적으로 설명하자면 컴퓨터에게 1번 ..

이번에 작성하는 글의 주제는 Spring Boot 강의(https://www.udemy.com/course/spring-boot-kimsonga/) 수강 후기입니다! 이 강의를 선택하시기 전 알아두시면 좋은 점과 이 강의를 완강! 한 입장에서 공부한 것들을 말씀드리겠습니다! 강의 선택 이유 Spring Boot를 사용해 본 지 얼마 되지 않아 입문자 수준의 강의를 원해서 미리 목표?로 작성해 주신 부분에 완강 후에도 혼자 공부할 수 있는 방법을 가져갈 수 있다고 해주셔서 마지막으로 강사님의 자기소개를 보고 이런 사소한 부분도 쉽게 만든다면 강의를 내가 원하는 수준으로 해주실 것 같아서 강의 내용 및 배운 점! 먼저 처음 강의부터 마지막까지 막 자바를 배우고 온 상황이라고 가정하고 강사님이 강의를 해주십니..

프로젝트 의도 나는 항상 주변 사람들에게 도움이 될 수 있는 서비스를 만들고 싶다고 생각했고, 마음(아마 많은 개발자가 가지고 있을 것 같다.)만 간직하고 있다가 친한 친구가 갑작스럽게 결혼을 한다고 청첩장을 줘서 친구로서 추억을 만들어 주고 싶어 신랑, 신부를 위한 프로젝트를 기획했다. 프로젝트 기획 일단 기간은 2주 정도... 프론트인 친구와 백엔드인 나, 둘이 프로젝트를 진행했다. 기간과 역할이 정해졌고, 다음 프로젝트 진행 순서는 다음과 같았다. 개발할 기능 정의 와이어 프레임을 통한 전체적인 디자인 및 프로세스 정리 개발 테스트 오픈 및 운영 사용 기술 AWS service (EC2, S3, RDS 등) Spring boot JPA MySQL 기술을 정하면서 인프라 쪽을 한 번도 해본 적이 없어..

문제를 구현하는 것은 간단하다고 생각했다. 먼저 세준이의 과목을 첫 번째 줄에 입력받고, 두 번째 줄에는 빈칸(" ")으로 구분된 각 과목의 점수를 입력받는다. 이후 세준이의 야매(?) 점수 계산법을 통해 {(점수 / 최댓값) * 100} 각 과목의 점수를 바꾸고 바뀐 점수를 통해 우리가 흔히 사용하는 (각 과목 점수의 합 / 과목 수) 평균 식을 적용하여 출력을 하면 된다. 그런데 여기서 조금 생각해 보아야 하는 문제가 있다. 바로 예제 출력값에서 볼 수 있는 소수점이다. 이 소수점을 보고 정수형 자료형이 아닌 실수형 자료형을 생각하고 문제를 풀어야겠다고 생각했다. 코드 import java.io.*; public class Main { public static void main(String[] arg..
H2 DB란? 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 특징은 작은 설치 공간(2.5MB)을 차지하고, 서버 모드, 임베디드 모드, 혼합모드를 지원한다. 실행 모드? 서버 모드 : 직접 서버를 설치하여(H2 다운로드) 애플리케이션이 JDBC 또는 ODBC를 사용하여 연결. TCP/IP를 통해 전송된다. 임베디드보다 속도가 느림. 임베디드 모드 : 애플리케이션이 JDBC를 사용하여 동일한 JVM 내에서 데이터베이스를 실행. 가장 빠르고 쉬운 모드. 혼합 모드 : 서버 모드와 임베디드 모드를 결합한 것. 자세한 설명은 공식문서를 읽어보시면 좋을 것 같습니다! 사용법 1. Gradle 의존성 라이브러리 추가 dependencies { runtimeOnly 'com.h2database:h2:' } 2..

github repository에 Actions라는 탭을 알아보려고 한다. Action tab을 클릭하면 위의 이미지와 같이 workflow를 만들 수 있습니다. 만약 제안된 workflow를 그냥 사용하게 되면 Hello world 가 찍히는 Action을 설정한 yml파일이 만들어지므로 해당 글에서는 실질적인 사용 방법을 위해 set up a workflow yourself를 클릭해준다. 그럼 위와 같이 우리가 모든 것을 설정 해야하는 다소 부담스러운 main.yml이 생성된다. 빈 파일로 하나씩 채워가기 보다는 글의 맨 밑에 있는 공식 문서 안에 예시를 가져와 같이 보는게 좋다고 생각해 첨부하여 한 줄씩 같이 살펴보도록 하자. name: learn-github-actions run-name: ${{..