Intellij IDEA (인텔리제이) 단축키 모음 포스팅 썸네일 이미지

Web/Java

Intellij IDEA (인텔리제이) 단축키 모음

✋ 인텔리제이 자주 사용하는 단축키 모음 ⚡️ 자주 사용하는 단축키 F2 : 다음 오류, 경고 또는 제안으로 점프 - Alt+Enter를 함께 사용하여 모든 제안을 표시하고 하나를 선택하거나, Shift+Alt+Enter를 사용해 첫 번째 제안을 적용할 수 있습니다. Ctrl+Shift+F12 : 어떤 창이 켜 있어도 다 꺼지고 에디터 창만 나타낸다. (에디터 창 키우기) Shift + Shift : 파일, 클래스, 설정 등 키워드에 관련된 가능한 모든 것을 검색 (Search Everywhere) Alt + Enter : 퀵픽스 (Show intention actions and quick-fixes) Alt + Insert : 생성자, Getter/Setter, toString과 같은 코드 생성 (새 ..

2022.06.29 게시됨

스프링 POJO(Plain Old Java Object) 포스팅 썸네일 이미지

Web/Java

스프링 POJO(Plain Old Java Object)

✋ 스프링의 특징 POJO(Plain Old Java Object) POJO 방식의 프레임워크 ⚡️ POJO(Plain Old Java Object)란 POJO는 특정 '기술'에 종속되어 동작하는 것이 아닌 순수한 자바 객체를 말하는 것입니다. 즉, 다른 클래스나 인터페이스를 상속이나 구현을 받아 메서드가 추가된 클래스가 아닌 일반적으로 getter, setter 같이 기본적인 기능만 가진 자바 객체 POJO 객체 public class User { private int id; private String name; public int getId() { return id; } public String getName() { return name; } public void setId(int id) { this..

2022.06.29 게시됨

Spring Framework (스프링, 스프링부트 차이에 대해) 포스팅 썸네일 이미지

Web/Java

Spring Framework (스프링, 스프링부트 차이에 대해)

✋ Spring Framework (스프링, 스프링부트 차이에 대해) 이 글에서는 스프링과 스프링 부트의 차이점에 대해 설명하고자 합니다. 많이들 어떤 경우에 스프링을 쓰고 어떤 경우에 스프링 부트를 쓰는 것인지 헷갈려하는 경우가 있습니다. ⚡️ Spring Framework란 가장 대중적인 응용 프로그램 개발 프레임워크입니다. 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션입니다. 엔터프라이즈급 개발이란 기업을 대상으로 하는 개발입니다. 즉, 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로 부터 행해지는 매우 큰 규모의 환경을 의미합니다. 의존성주입(DI), 제어의 역전(Ioc), 관점 지향 프로그래..

2022.06.29 게시됨

(Java) 서블릿(Servlet)이란 포스팅 썸네일 이미지

Web/Java

(Java) 서블릿(Servlet)이란

✋ 서블릿(Servlet)이란 서블릿이란 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 응용 프로그래밍 기술입니다. 즉, 자바를 사용하여 웹을 만드는 기술입니다. 웹을 구성할때는 클라이언트에서 요청을 하고 서버에서 응답을 해주어야하는데 이 역할을 대신해주는 자바 프로그램입니다. 서블릿은 웹 요청 및 응답을 대신해서 다루어줍니다. 예로 들면, 사용자가 정보를 서버에 보내게 되면, 서버는 정보를 확인하고 그에 맞는 응답 페이지를 띄우거나 전송합니다. 위 그림에서 web.xml을 기반으로 들어온 URL이 어느 서블릿에 해당하는지 매핑 분석을 시도합니다. 그 후 찾은 서블릿을 기반으로 서블릿에서 서비스를 호출한 후, 서비스에서는 doGet(), doPost()를 호출합니다. 해당 메서드에서 동적 페이지 생..

2022.06.29 게시됨

쿠키와 세션의 개념, 특징, 차이점 포스팅 썸네일 이미지

Web

쿠키와 세션의 개념, 특징, 차이점

✋ 쿠키(Cookie)와 세션(Session) 개념, 특징, 차이점 쿠키를 발급받고 사용하는 과정을 그림으로 나타내면 다음과 같습니다. HTTP 프로토콜은 Stateless, (서버 응답 후 연결 끊어버리는 특징, http1.1부터 keep-alive속성이 존재하여 재활용함)Connectionless가 특징이기 때문에 이전 상태를 저장하지 못합니다. 이를 보완하기 위해서 쿠키 및 세션이 존재합니다. 이번 글에서는 쿠키와 세션의 발급 과정, 차이점 및 특징을 설명드리겠습니다. ⚡️ 쿠키 (Cookie) 쿠키는 브라우저내의 로컬저장소에 저장되는 키와 값이 들어있는 작은 데이터입니다. 사용자 인증이 유효한 시간을 명시할 수 있으며, 유효 시간이 정해지면 브라우저가 종료되어도 인증이 유지됩니다. 특징으로는 클라..

2022.06.28 게시됨

(알고리즘) Greedy (탐욕 그리디 알고리즘) 포스팅 썸네일 이미지

알고리즘

(알고리즘) Greedy (탐욕 그리디 알고리즘)

✋ (알고리즘) Greedy (탐욕 그리디 알고리즘)이란 선택의 순간에 그 상황에서의 최적의 선택안만 골라 최종적인 결과에 도달하는 알고리즘 빨간색은 최적의 답을 도출 (110), 파란색은 그리디를 통해 도출한 답(90), 결론적으로 그리디를 통해서는 최적의 답을 고를 수 없습니다. 따라서 그리디가 최적의 답을 얻는 데 좋은 알고리즘은 아닙니다. ⚡️ 그리디 알고리즘을 사용하는 이유 여러 가지 제약사항을 고려하는 게 아니라 오로지 그 순간에 가장 최적의 선택을 하기 때문에 계산 속도가 빠릅니다. 그리디 알고리즘은 동적계획법에서 시간소요가 크기 때문에 이를 보완하기 위해서 도출된 알고리즘입니다. 그리디 알고리즘은 최적의 답을 도출하는 알고리즘이 아닙니다. 하지만 몇몇 케이스에서는 통하는 유형이 있습니다. ..

2022.06.28 게시됨

(알고리즘) Dynamic Programming (동적 계획법) 포스팅 썸네일 이미지

알고리즘

(알고리즘) Dynamic Programming (동적 계획법)

✋ (알고리즘) Dynamic Programming (동적 계획법)이란? 큰 문제를 작은문제로 나누어 푸는 문제를 일컫는 말입니다. 대표적으로 피보나치 수열을 구할 때 동적 계획법을 씁니다. 그러면 분할정복과 비슷하다는 말이 있을 텐데 아닙니다. 다릅니다. 📌 분할정복과의 다른점 결정적인 차이점이 있습니다. 바로 작은 문제가 중복이 일어나는지(동적계획법) 안일어나는지(분할정복기법) 입니다. 분할정복은 큰 문제를 해결하기 어려워 작은 문제로 나누는 알고리즘입니다. 특징은 작은 문제에서 반복이 일어나는 부분이 없다는 점입니다. 반면 동적계획법은 작은 부분문제들이 반복되는 것 (Result 값이 고정: F(0) =1, F(1) = 1) 을 이용해 풀어나가는 방법입니다. 즉, 분할정복과의 차이점은 작은 부분문제..

2022.06.28 게시됨

코딩테스트 대비 및 언어 선택 기준 포스팅 썸네일 이미지

코딩테스트

코딩테스트 대비 및 언어 선택 기준

✋ 코딩테스트 대비 및 유리한 언어 선택 기준 코로나 19로 인해 점점 더 코딩테스트는 필수 사항이 되어간 듯 합니다. 면접을 보기 위해서는 아무리 전공지식이 뛰어나도 코딩테스트를 통해 검수를 받아야 다음 프로세스로 진행이 가능합니다. 그만큼 코딩테스트는 첫 단추를 꿰는데 가장 중요한 필수 요소입니다. 이 글에서는 코딩테스트를 준비하는 방법과 코딩테스트를 할때 유리한 언어에 대해 설명하겠습니다. ⚡️ 코딩 테스트 대비 방법 알고리즘 문제 풀이는 관성이 크게 작용합니다. 100, 200문제 풀어갈 수록 문제는 더욱 더 어렵지 않게 해결이 가능합니다. 가장 좋은 것은 틈날 때 마다 문제를 푸는 게 가장 좋습니다. 참고할만한 좋은 코딩테스트 대비 사이트는 다음과 같습니다. 1. 백준 단계별로 풀어보기 http..

2022.06.25 게시됨