데이터베이스 트리거(Trigger)란? 데이터베이스 트리거는 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미한다. 트리거는 INSERT, DELETE, UPDATE 같은 DML(데이터 조작 언어)의 데이터 상태 관리를 자동화하는데 사용된다. 트리거(Trigger)는 말 그대로 방아쇠이다. 방아쇠를 당기면 총에서 총알이 발사되듯, 트리거가 실행되면 일련의 작업을 수행하게 된다. 트리거 유형트리거는 크게 행 트리거와 문장 트리거가 존재한다. 행 트리거 : 테이블 안의 영향을 받은 행 각각에 대해 실행된다. 변경 전 또는 변경 후의 행은 OLD, NEW라는 가상 줄 변수를 사용하여 읽을 수 있다.문장 트리거 : INSERT, UPDATE, DELETE 문에 대해 한 번만 실행된다. 또한 트리거..
CDN(Contents Delivery Network)란? CDN(Contents Delivery Network)이란 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크이다. 사용자는 웹 사이트를 방문할 때 해당 웹 사이트 서버의 데이터가 인터넷을 통해 사용자의 컴퓨터에 도달하게 된다. 이때 사용자가 해당 서버에서 멀리 떨어져 있는 경우 동영상이나 이미지와 같은 대용량 파일을 로드할 때 많은 시간이 걸리게 된다. 반면 사용자와 가까운 거리에 있는 CDN 서버에 웹 사이트 콘텐츠를 저장해놓으면 사용자는 훨씬 빠른 속도로 콘텐츠를 로드할 수 있다. 즉, CDN은 콘텐츠 전송 시간을 줄여주는 네트워크이다. CDN의 동작 방식CDN의 목적은 지연 시간을 줄이는 ..
1. 인텔리제이 공식 홈페이지 접속 https://www.jetbrains.com/idea/ IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more... www.jetbrains.com 2. Download 버튼 누르기 3. 버전 선택하기 다운로드 페이지에 들어가면 운영체제를 선택할 수 있다. macOS를 선택하면 두 가지 버전을 선택할 수 있다. 또한, Intel 맥북을 사용한다면 Intel 버전을 선택해야 하고, m1~m2 맥북을 사용한다면 Apple Sillicon을 선택해야 한다. Community ..
@RequestMapping 실무에서 사용되는 대부분의 컨트롤러는 @RequestMapping을 사용한다. 컨트롤러의 메서드에 @RequestMapping 어노테이션을 붙이면 해당 URL이 호출될 때 이 메서드가 호출된다. 어노테이션을 기반으로 동작하므로 메서드의 이름을 임의로 지을 수 있다. 예를 들어 @Controller public class BoardController{ @RequestMapping("/board/article") public ModelAndView getArticle(HttpServletRequest request, HttpServletResponse response){ ... } } .../board/article URL이 호출되면 getArticle 메서드가 호출된다. 또한 ..
Spring MVC Framework란? MVC는 Model-View-Controller의 약자로 하나의 디자인 패턴을 뜻한다. Spring MVC에 대해 이해하려면 Model, View, Controller에 대한 이해가 필수이니 해당 내용에 대해 잘 모른다면 다음을 참고하자. [Web] MVC 패턴이란? MVC 패턴의 등장 배경 MVC 패턴의 등장 배경 하나의 서블릿 혹은 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리한다면, 너무 많은 역할을 하게 되어 유지보수가 어렵다. 또한, UI를 일부 수정하는 일과 비즈니스 code-lab1.tistory.com Spring MVC Framework는 웹 애플리케이션을 빌드하기 위한 프레임워크이다. 다른 MVC Framework 들도 웹 어플리케이션을 ..
HTTP 헤더 HTTP 헤더는 HTTP 전송에 필요한 모든 부가정보를 담고 있다. 메시지 바디의 내용, 크기, 압축, 인증, 요청 클라이언트, 서버 정보 등등... 매우 많은 정보들이 들어있다. 표준 헤더의 내용은 너무나 많기 때문에 모든 내용에 대해 궁금하다면 다음을 참고하자. List of HTTP header fields - Wikipedia HTTP header fields are a list of strings sent and received by both the client program and server on every HTTP request and response. These headers are usually invisible to the end-user and are only proc..
맥북 m1 자바(JDK 17) 다운로드 Intel 맥북의 경우는 상관 없지만, m1은 Oracle Java 11버전을 지원하지 않는다. 따라서 Oracle Java가 아닌 다른 Java를 설치하는 식으로 Java를 사용했다. 하지만 Java 17버전 부터는 드디어 m1을 지원하게 되었다. 참고로 JRE, JDK, Java 버전에 대해 잘 모른다면 다음을 참고하자. [JAVA] JRE 와 JDK의 차이? Java 8, 11, 17 에 대하여 [JAVA] JRE 와 JDK의 차이? Java 8, 11, 17 에 대하여 JRE, JDK란? 처음 Java를 설치하려고 보니 JRE, JDK 등이 존재하는 것을 확인할 수 있다. 둘의 차이는 무엇일까? 참고) [JAVA] 자바(JAVA)란? 자바의 특징 자바(JAV..
HTTP 상태 코드란? 웹 서비스를 이용하다 보면 종종 "404 Not Found"라는 오류 메시지를 볼 수 있다. 이러한 오류 메시지는 HTTP 상태 코드를 기반으로 한다. HTTP 상태 코드는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다. HTTP 상태 코드는 3자리 숫자로 이루어져 있으며 첫 번째 자리가 1부터 5까지 존재하며, 크게 아래와 같이 분류된다. 1xx (Informational) : 요청이 수신되어 처리중 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음 5xx (Server Error) : ..
파일의 상태 확인하기 git status 명령어를 사용하면 파일의 상태를 확인할 수 있다. 예를 들어 빈 프로젝트에서 이 명령을 실행하면 다음과 같은 메시지를 볼 수 있다. $ git status On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean 위의 내용은 파일을 하나도 수정하지 않았다는 뜻이다. 특히 Tracked 파일, 즉 추적 중인 파일이 하나도 수정되지 않았다는 뜻이다. 현재 작업 중인 브랜치는 master 브랜치이며 해당 브랜치에서 진행된 작업이 없다는 것을 알 수 있다. 브랜치 개념은 후에 기술하도록 하겠다. 프로젝트에 새로운 파일을 하나 만들자. 예..
JRE, JDK란? 처음 Java를 설치하려고 보니 JRE, JDK 등이 존재하는 것을 확인할 수 있다. 둘의 차이는 무엇일까? 참고) [JAVA] 자바(JAVA)란? 자바의 특징 자바(JAVA)란? 자바는 C언어에 객체 지향적 기능을 추가하여 만든 C++과 달리, 처음부터 객체 지향 언어로 개발된 프로그래밍 언어이다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여 운 code-lab1.tistory.com [JAVA] JVM(Java Virtual Machine)이란? JVM(Java Virtual Machine)이란? JVM은 Java Virtual Machine, 즉 자바 가상 머신의 약자를 따서 줄여 부르는 용어이다. JVM은 OS와 Java 애플리케이션 사이의..
Git은 파일을 Commited, Modified, Staged 이렇게 세 가지 상태로 관리한다. 각 상태의 의미는 다음과 같다. Commited : 데이터가 로컬 데이터베이스에 안전하게 저장됨 Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태 Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태 Git Directory는 Git이 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳으로 Git의 핵심이다. 다른 컴퓨터에 있는 저장소를 Clone 할 때 이 Git 디렉터리가 만들어진다. Working Directory는 프로젝트의 특정 버전을 Checkout한 것이다. 쉽게 말하면 내가 작업하고 있는 프로젝트의 디렉터리를 뜻한다. Git Directory는 지..
Git 저장소 만들기 Git 저장소를 만드는 방법은 크게 두 가지가 존재한다. 1. 아직 버전관리를 하지 않는 로컬 디렉토리 하나를 선택해서 Git 저장소를 적용하는 방법 2. 다른 어딘가에서 Git 저장소를 clone 하는 방법 기존 디렉토리를 Git 저장소로 만들기 버전관리를 하지 않던 기존 프로젝트를 Git으로 관리하고 싶다면 프로젝트의 디렉토리로 이동한 후 다음과 같은 명령을 실행한다. Mac, Linux 의 경우 터미널로 다음과 같이 프로젝트 경로로 이동할 수 있다. $ cd /Users/user/my_project Windows의 경우 아래와 같이 git bash를 이용할 수 있다. 프로젝트의 디렉토리에서 Git Bash Here 기능을 이용하면 터미널 창이 뜨게 된다. 이후엔 동일하게 아래와..