[스프링부트 입문] 시리즈 #01 프로젝트 생성하기
·
Back/Spring(Springboot)
스프링부트 입문 시리즈 #01 프로젝트 생성하기 👈 #02 정적페이지 만들고 화면 띄우기 #03 회원 관리 페이지 만들기 #04 회원 리포지토리 테스트 케이스 #05 회원 서비스 개발 개발환경 IDE - Eclipse Language - Java 11 SpringBoot 프로젝트 생성하기 스프링부트 프로젝트를 생성하는 방법은 아주 간단하다 옛날옛적에는... 직접 밑바닥부터 하나하나 만들었다고 하는데 요즘은 그냥 사이트에서 자동으로 뚝딱 만들어준다! 다음 사이트에 접속해 프로젝트를 생성하면 된다 👉스프링부트 프로젝트 생성 Project Gradle을 선택해준다 Gradle과 Maven의 차이는 여기에 정리해 놓았다 Language Java Spring Boot 2.x 버전을 선택해준다 3.0부터는 Java..
[Spring] 빌드 관리 도구 : Maven과 Gradle의 차이
·
Back/Spring(Springboot)
Spring 프로젝트를 생성하는데 빌드 도구를 Maven으로 할지, Gradle로 할 지 선택을 해야되는데 이 두개의 차이가 뭔지 궁금해서 찾아보고 정리하기로 했다 1. 빌드(Build)란? 소스코드 및 프로젝트에 쓰인 각각의 파일 및 자원 등을 JVM이나 WAS가 인식할 수 있는 구조로 패키징하는 과정 및 결과물을 말한다. 2. 빌드 관리 도구(Build Tool) 란? 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램 소스코드를 실행 가능한 어플리케이션으로 만들어주는 도구이다 계속해서 늘어나는 라이브러리, 프로젝트 진행 중 라이브러리 버전 동기화의 어려움을 해소해준다. 즉 빌드 과정을 자동화하여 관리해주는 역할을 한다! 특징 빌드 도구의 특징은 개발자가 스크립트를 작성하여 다양한 작..
스프링 빈(Spring Bean)이란?
·
Back/Spring(Springboot)
기존의 Java Programming 에서는 Class를 생성하고 new를 입력하여 원하는 객체를 직접 생성한 후에 사용했다. 하지만 Spring에서는 직접 new를 이용하여 생성한 객체가 아니라, Spring에 의해 관리되는 자바 객체를 사용한다. 이렇게 Spring에 의하여 생성되고 관리되는 자바 객체를 빈(Bean)이라고 한다. Spring Framework에서는 Spring Bean을 얻기 위해 ApplicationContext.getBean() 와 같은 메소드를 사용하여 Spring 에서 직접 자바 객체를 얻어서 사용한다. 빈(Bean) 재사용 가능한 소프트웨어 컴포넌트이며, 스프링 컨테이너는 하나 이상의 빈(Bean)을 관리한다. 빈(Bean)은 인스턴스화된 객체를 의미하며, @Bean 어노테..
[SpringBoot] 이클립스에서 Test Case 만들기
·
Back/Spring(Springboot)
package hello.hellospring.service; import java.util.List; import java.util.Optional; import hello.hellospring.domain.Member; import hello.hellospring.repository.MemberRepository; import hello.hellospring.repository.MemoryMemberRepository; // 회원 서비스 만들기 public class MemberService { // 회원 레포지토리 private final MemberRepository memberRepository = new MemoryMemberRepository(); // 회원가입 public Long join..
[JSP] scope란?
·
Back/JSP
Application 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용 Session 웹 브라우저 별로 변수가 관리되는 경우 사용 웹 브라우저별로 변수를 관리하고자 할 경우 사용한다. 웹 브라우저간의 탭 간에는 세션정보가 공유되기 때문에, 각각의 탭에서는 같은 세션정보를 사용할 수 있다. HttpSession 인터페이스를 구현한 객체를 사용한다. JSP에서는 session 내장 변수를 사용한다. 서블릿에서는 HttpServletRequest의 getSession()메소드를 이용하여 session 객체를 얻는다. 값을 저장할 때는 session 객체의 setAttribute()메소드를 사용한다. 값을 읽어 들일 때는 session 객체의 getAttribu..
[Node.js] 블로킹 / 논블로킹
·
Back/NestJS
이벤트 루프를 잘 활용하면 오래 걸리는 작업을 효율적으로 처리할 수 있다 작업에는 동시에 실행될 수 있는 작업과 동시에 실행될수 없는 작업이 있는데 기본적으로 자바스크립트 코드는 동시에 실행될 수 없다 하지만 파일 시스템 접근이나 네트워크를 통한 입출력 작업은 동시에 처리될 수 있다 블로킹이란 이전 작업이 끝나야만 다음 작업을 수행하는 것을 의미하고 논블로킹은 이전 작업이 완료될 때 까지 기다리지 않고 다음 작업을 수행함을 뜻한다 논브로킹 방식이 더 짧은 시간안에 같은 작업을 처리할 수 있다(모든 작업이 동시에 처리될 수 있는 작업이라는 전제) setTime(콜백, 0)은 코드를 논블로킹으로 만들기 위해 사용하는 기법 중 하나이다 아무리 논블로킹 방식으로 코드를 작성하더라도 코드가 전부 내가 작성한 것이..
[Node.js] 이벤트 루프 (event loop)
·
Back/NestJS
function run() { console.log("3초후 실행"); } console.log("시작"); setTimeout(run, 3000); console.log("끝"); 시작 끝 3초 후 실행 동작 과정 setTime의 시간이 정확하지 않을 수 있는데 이벤트 루프는 스택이 비어있을 때 만 큐에 있는 run함수를 스택에 가져오는데 스택에 함수가 너무 많다면 3초가 지난 후에도 run 함수가 실행되지 않기 때문이다
[GraphQl] GraphQl - Codegen 설치하기
·
Back/Database
1. GraphQl Code Generator 사이트에 접속해준다. https://the-guild.dev/graphql/codegen Home – GraphQL Code Generator GraphQL Code Generator Documentation the-guild.dev 2. installation 페이지에 들어간다 https://the-guild.dev/graphql/codegen/docs/getting-started/installation Installation – GraphQL Code Generator GraphQL Code Generator is a tool for generating code from GraphQL schema and operations. It can generate ..
[GraphQL] Query 와 Mutation
·
Back/Database
query와 mutation을 사용하기 위해서는 _app.js에 설정해줘야 하는 게 있다. _app.js import { ApolloProvider, InMemoryCache, ApolloClient } from "@apollo/client"; export default function App({ Component, pageProps }) { const client = new ApolloClient({ uri: "http://practice.codebootcamp.co.kr/graphql", cache: new InMemoryCache(), }); return ( ); } http://practice.codebootcamp.co.kr/graphql 위 사이트에서 Back-end 개발자가 만들어놓은 API..