전체 글35 [Spring] - 스프링부트 API 작성 방법 : Post, Put, Delete Mapping Post API 역할 : 웹 애플리케이션을 통해 DB 등의 저장소에 리소스를 저장할 때 사용되는 API이다. 특징 : ▪ URL 경로 / Param에 변수를 넣어 요청을 보낸 GET API와 달리, HTTP body에 담아 서버에 전달한다. ▪ HTTP body에 담아 전달되는 데이터의 형태는 주로 JSON(JavaScript Object Notation) 형식으로 값을 주고 받는다. Post API 전달 방법 @RequestBody를 이용해서 구현 전송 데이터를 특정하기 어려울 때는 Map을, 데이터가 특정되어 있을 경우엔 DTO를 주로 사용한다. @PostMapping(value = "/member") public String postMember (@RequestBody Map postData){ S.. 2024. 2. 6. [JAVA] 스레드 풀이란? ThreadPool 스레드(thread)란? 스레드(thread)란 프로세스(process) 내에서 실행되는 작은 작업 단위이다. 스레드의 동작에 대해 보기 위해 스프링 부트에서 다음과 같이 2개의 메서드를 작성하고 돌려보았다. @Scheduled(fixedDelay = 1000) public void test1() throws InterruptedException { Thread.sleep(10000); // 10초간 일시정지 System.out.println(Thread.currentThread().getName() + " -> 테스트 1 : " + LocalDateTime.now()); } @Scheduled(fixedDelay = 1000) public void test2() throws InterruptedExce.. 2024. 2. 5. [Spring] - 스프링부트 API 작성 방법 : GetMapping controller 패키지 ▪ 클라이언트가 입력한 값에 대한 응답을 수행하는 코드들이 담기는 패키지 ▪ 모든 요청은 컨트롤러를 통해서 진행되어야 한다. 기본적인 controller 클래스 작성 방법 우선 스프링에게 해당 클래스가 Controller로 동작한다는 것을 인식하게끔 우리는 어노테이션"@"을 달아줘야 한다. ▪ @RestController 어노테이션을 클래스 상단에 작성해준다. ➡️ RestController가 궁금하다면..여기로 [Spring] - RestController란? ➡️ RestController란? ▪ @Controller에 @ResponseBody가 결합된 어노테이션이다. @Controller는 전통적인 스프링 MVC 컨트롤러를 정의할 때 사용된 것으로, 주로 뷰 템플릿을 반환.. 2024. 2. 4. [Spring] - Controller vs RestController 컨트롤러란 컨트롤러의 역할 ▪ 비즈니스 로직과 클라이언트의 요청을 연결해준다. ▪ 클라이언트로부터 요청을 받고, 해당 요청에 대해 서비스 레이어에 구현된 적절한 메서드를 호출해서 결과값을 받는다. ▪ 요청과 응답을 전달하는 역할만 맡는다. ▪ (@Controller 사용시 주의..) "member/login"과 같은 경로를 접근할 때 Spring Boot는 가장 먼저 @Controller 또는 @RestController에서 매핑된 경로를 찾게 된다.! ➡️ Controller란? @Controller는 전통적인 스프링 MVC 컨트롤러를 정의할 때 사용된 것으로, 주로 뷰 템플릿을 반환하는 데 사용한다. 예를 들어, Thymeleaf나 JSP와 같은 뷰 템플릿을 렌더링하기 위해 사용한다. @Control.. 2024. 2. 4. [IntelliJ] - 인텔리제이 단축키 모음 (윈도우 ver) 📌 클래스, 메서드, 로직 작성 시 ▪ 메서드 반환형 자동 완성 : ctrl + alt + v ▪ class 자동 import / 추천 받기 : ctrl + 1 ▪ 새 class 생성 : (생성 패키지 클릭하고) alt + insert ▪ 클래스의 test 생성 : ctrl + shift + t 📌 코드 다듬기 ▪ 코드 자동 정리 : ctrl + alt + L ▪ 클래스, 변수명 전체 변경 : alt + shift + r 또는 shift + F6 📌키보드로 커서 이동 ▪ 커서 단어별 이동 : ctrl + ← / → 📌툴바 열기 ▪ 설정 열기 : ctrl + alt + s 2024. 2. 3. [Spring] IntelliJ 커뮤니티로 스프링 부트 프로젝트 생성하기 (feat. gradle 사용) 인텔리제이 커뮤니티 버전을 쓰고 있기 때문에, 스프링 공식 사이트에서 프로젝트를 생성하는 방법을 소개하고자 합니다. 🌱 스프링 공식 사이트에서 프로젝트 생성하기 1. 스프링 공식 사이트 접속 https://start.spring.io/ 2. 만들고자 하는 프로젝트의 기능에 맞춰 설정 ▪ Project : Gradle ▪ Language : Java ▪ Spring Boot : 3.2.2 ▪ Project Metadata : ▪ Group : 해당 프로젝트를 정의하는 고유한 식별자 - com.example ▪ Artifact : 세부 프로젝트를 식별하는 정보 - api ▪ Name : 프로젝트 명 - api ▪ Description : 자유롭게 해당 프로젝트 내용 설명 - Demo project for S.. 2024. 2. 1. [독서 - 스프링 부트 핵심 가이드] 02. 개발에 앞서 알면 좋은 기초 지식 🌱 서버 간 통신 ▪ 한 서버가 다른 서버에 통신을 요청하는 것 ➡️ 독립적인 애플리케이션 개발 시, 각 서비스 간에 통신해야 하는 경우를 생각해 볼 수 있다. 효율적인 유지보수와 경량화된 서비스를 사용하기 위해서는 서비스의 규모를 작게 나눠 가져갈 필요가 있다. ▪ MSA (Microservice Architecture) ➡️ 위의 문제를 해결할 해결책 ▪ 서비스의 규모를 작게 나누어 구성한 아키텍처 🌱 스프링 부트의 동작 방식 ▪ 서블릿(Servlet) ▪ 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술이다. ▪ 서블릿 컨테이너(Servlet Container)에서 관리한다. ▪ 서블릿 컨테이너(Servlet Container) ▪ 대표적인 컨테이너로 톰켓이 있다. ▪ 특징 : .. 2024. 1. 28. [Spring] Spring 프레임워크의 특징 스프링 부트 : 스프링이 목적에 따라 제공하는 프로젝트 중 하나 🌱 스프링 프레임워크 ▪ 프레임워크 - 미리 만들어진 구조나 도구의 집합 ▪ 스프링 프레임워크 ▪ 자바 언어를 이용해 엔터프라이즈급 개발(기업 환경을 대상으로 하는 개발)을 편리하게 만들어주는 '오픈소스 경량급 애플리케이션 프레임워크' ▪ 경량급 : 필요한 모듈만 선택해서 사용하게끔 설계하는 경량 컨테이너 설계 ▪ 핵심 가치 : 애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 한다. 🍀 스프링 프레임워크의 특징 ▪ 제어 역전(Inversion of Control) ▪ 기존 자바 개발 방식 : 객체 선언, 객체의 의존성 생성 후 사용 ➡️ 개발자가 직접 제어하는 구조 ▪ 스프링의 개발 방식 : 객체.. 2024. 1. 24. [운영체제] - 컨텍스트 스위칭(Context Switching) ✅ 컨텍스트 스위칭 (Context Switching) 이란? ▪ 여러개의 프로세스가 실행되고 있을 때, 기존에 실행되던 프로세스를 중단하고 다른 프로세스로 CPU에 실행할 프로세스를 교체하는 기술 ☑ 컨텍스트 ▪ CPU가 해당 프로세스를 실행하기 위해 필요한 해당 프로세스의 정보를 의미한다. ▪ 위의 정보들은 뒤에 설명할 PCB(Process Control Block)에 저장된다. ☑ 프로세스의 동작 ▪ Program Counter, Stack Pointer 를 가지고 동작한다. ▪ Program Counter - 다음에 실행할 코드의 주소를 담고 있다. ▪ Stack Pointer - 호출된 함수와 변수들의 주소를 갖고 있다. 현재 프로세스의 PC와 SP 주소를 PCB(Process Control B.. 2024. 1. 18. 이전 1 2 3 4 다음