다른 분들이 백업해놓는 게 좋다고 하셨기도 하고, 같은 부서 내의 후배님도 작업하다가 날라갔다는 말씀을 하셨어서... 위의 박명수님과 같은 상태가 될지도 모른다는 마음에 VirtualBox 백업을 진행하고자 합니다.VirtualBox에 설치한 OS는 File로 된 이미
제가 다니고 있는 회사는 기본적으로 B2B 제품을 많이 만듭니다. 그에 따라 Spring 프레임워크를 쓰고, 고성능 웹 서버에 대한 요구가 높아 Jetty보다는 undertow를 많이 씁니다. (물론 저도 안정적인 고성능 웹서버라고만 알고 자세히 알지는 못합니다. 후에
ChatGPT4를 사용하고 있다가 이러한 에러 메시지를 받게 되었다...!\[Pasted image 20240311075014.png]포브스 에서 게시한 뉴스에 따르면 이러한 메시지를 받은 게 나 뿐만 아니라 전세계 여러 사용자들도 체험한 에러인 듯 보인다. OpenA
컨트롤러 (예외 발생!) -> 인터셉터 -> 서블릿 -> 필터 -> WAS -> WAS가 '/error-page/500' 다시 요청 -> 필터 -> 서블릿 -> 인터셉터 -> 컨트롤러(errorPage/500) -> View를 통해 페이지 호출예외가 발생하면 오류 페이
I/O 란 대개 입력(Input)/출력(Output)의 약자로, 다양한 분야에서 사용되고 있지만 여기서는 주로 파일 입출력을 다룰 때의 I/O 를 다루기로 한다. 네트워크에서의 소켓 read/send를 생각하면 I/O 가 어떤 작업인지 이해할 수 있다. 더 쉽게 말한다
애플리케이션이 시작될 때 어떤 클래스가 최초 한 번만 메모리를 할당하고, 그 메모리에 인스턴스를 만들어 사용하는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나인 디자인 패턴이다. 예를 든다면 레지스트리 같은 설정 파일의 경우 객체가 여러 개로 생성되면
0. @RequestBody, @ResponseBody 어노테이션 보통 웹에서 화면 전환이 없이 이루어지는 동작들은 대부분 비동기 통신으로 이루어진다. 비동기 통신을 하기 위해선 클라이언트가 서버로 요청 메시지의 본문(body)에 데이터를 담아서 보내야 하고, 서버도
미국 국가안보국(NSA)에서 설계한 암호화 해시 함수들의 집합이다.digest size는 224, 256, 512 bit로 해시함수로 구성되어있다.GPU를 이용한 연산 속도가 매우 빠르기 때문에 password 암호화에는 권장되지 않는다.GPU 연산 속도가 빠를수록 공
클라이언트로부터 특정 url로부터 요청을 받으면 어떤 Controller에서 처리할 지 알아야 한다. SpringBoot 애플리케이션이 실행되면 애플리케이션에서 사용할 baen들을 담을 ApplicationContext를 생성하고 초기화한다.@RequestMapping
동기식 통신 및 동기식 프로그래밍이란 Request를 보내면 얼마나 시간이 걸리든 Response를 받기 전까지 기다리는 방식을 말한다. 즉, Request를 보낸 Thread는 Response를 받기 전까지 아무것도 하지 않는 'Block' 상태가 됨을 의미한다. 이
트랜잭션이란 데이터베이스의 상태를 변화시키기 위한 작업 수행의 논리적 단위를 의미한다.풀어서 설명하자면, 데이터베이스의 상태를 변화시킨다는 것은 우리가 SQL문에 흔히 쓰는 CRUD(SELECT, INSERT, DELETE, UPDATE) 기능을 하는 질의어(Query
Repository package실제로 DB에 접근하기 위한 객체이다.Service와 DB를 연결하는 연결 고리 역할을 한다.DB에 접근하기 위한 로직을 분리하기 위해 사용한다.DB에 접근하여 CRUD 기능을 수행한다.dto packageDTO는 계층(Controlle
JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API다. JDBC를 통해서 DBMS의 종류에 상관없이 데이터베이스를 연결하고 작업을 처리할 수 있다. JDBC의 특징과 역할은 다음과 같다.Java 코드에
데이터베이스(Database)란 구조화된 데이터들의 집합이다. 데이터를 통합하고 효율적으로 관리하고 검색하기 위해 이러한 데이터 집합을 만들었는데, 우리는 이 데이터들로부터 우리에게 유의미한 데이터인 '정보(Information)'를 추출할 수 있다.DBMS가 등장하기
소스 코드 파일을 실제로 컴퓨터나 스마트폰에서 동작할 수 있는 독립적인 프로그램으로 만드는 과정을 일컫는다.자바의 경우, 빌드 방식을 인터프리터 방식에서 JIT방식으로 변경하였다.빌드 도구란 소스 코드를 애플리케이션으로 변경하는데 있어 자동화를 해주는 툴(Tool)이자
스프링 부트(Spring Boot)를 이용하면 xml파일을 따로 설정할 필요가 없지만, 기본적인 xml파일들에 대한 역할을 알아야 할 것 같아 정리하게 되었다.서블릿 컨테이너는 말 그대로 서블릿을 관리해주는 컨테이너(Container)다. 컨테이너(Container)라
0. 스프링 프레임워크(Spring Framework)란? 동적 웹 사이트 개발을 위한 자바 플랫폼의 오픈 소스 애플리케이션 프레임워크다. EJB를 사용할 때 알아야만 했던 수많은 디자인 패턴을 신경 쓸 필요없다. 스프링 프레임워크 그 자체로 이미 많은 디자인 패턴이