view settings // controller/Hellocontroller.java @Controller public class Hellocontroller { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "h...
Spring boot 시작하기(view와 프로젝트 build)
Cross-Origin Resource Sharing(CORS)
MDN web docs를 정리하였습니다. CORS(Cross-Origin Resouce Sharing) 다른 도메인에서의 자원을 호출하는 행위에 제한이 없을 경우 안전하지 않습니다. CORS (Cross-Origin Resource Sharing)는 이렇게 시스템 수준에서 타 도메인 간 자원 호출을 승인하거나 차단하는 것을 결정하는 ...
백엔드 3계층 구조로 구현한 프로젝트 템플릿
3계층 구조 설계 3계층 구조 설계는 백엔드 코드를 3개의 구조로 나눠 구현하는 것을 말한다. Controller, Service, Data Access계층으로 나눠져 있다. Data access계층은 Model 계층으로도 쓰인다. Controller layer 사용자의 request를 분석한 후 알맞은 서비스로 요청을 전달한 다음 서비스의 ...
리액트 Hook에 대해 알아보자
React hooks Hook은 React 16.8에 새로 추가된 기능입니다. Hook은 class를 작성하지 않고도 state와 다른 React의 기능들을 사용할 수 있게 해줍니다. -react 공식 문서- Hook을 사용하면 계층의 변화 없이 상태 관련 로직을 재사용 가능하게 도와준다. 많이 사용되는 React Hook을 알아본다. u...
async와 await
비동기(asynchronous) Javascript는 single thread 이므로 서버 요청을 기다려야 하는 경우 사용자는 멈춰있는 브라우저를 보게 된다. 그러므로 동기 처리가 아닌 비동기 처리가 필요하다. 비동기는 코드의 순서와 다르게 실행되는 것을 말한다. 비동기 처리 코드를 감싸고 있는 블럭은 task queue에 넣어진다. Main thr...
다이나믹 프로그래밍 (이것이 취업을 위한 코딩 테스트다)
이것이 취업을 위한 코딩 테스트다를 정리한 글입니다. 다이나믹 프로그래밍 메모리를 적절히 사용해서 수행 시간을 향상시키는 방법이다 한 번 계산한 문제는 다시 계산하지 않도록 구현된다. 완전 탐색보다 시간 복잡도를 줄일 수 있다. 탑 다운과 바텀 업 방식 두가지가 있다 동적 계획법이라고도 한다 최적 부분 구조 ...
Middleware에 대해 알아보자
Middleware Express.js 동작의 핵심인 미들웨어는 Http 요청과 응답 사이에서 단계별 동작을 수행해주는 함수이다. middleware의 동작 원리 Express.js의 미들웨어는 HTTP 요청이 들어온 순간부터 시작된다. 미들웨어는 HTTP 요청과 응답 객체를 처리하거나, 다음 미들웨어를 실행할 수 있다. middleware 작...
Node js 프로젝트 시작하기 (npm과 모듈 사용하기)
NPM npm은 node package manager로 프로젝트의 의존성을 관리할 수 있다. package.json 생성하기 npm init 프로젝트 디렉토리 안에서 위 명령어를 사용하면 package.json파일을 생성되고 Node js프로젝트가 된다. 파일에서는 프로젝트의 정보를 알 수 있다. 의존성 관리하기 npm install [p...
그래프 (Python Algorithm interview 12장)
파이썬 알고리즘 인터뷰 책을 정리한 포스트 입니다. DFS(깊이 우선 탐색) BFS(너비 우선 탐색) def iter_BFS(start_v): discovered = [start_v] queue = [start_v] while queue: v = queue.pop(0) for w in gr...
이진 탐색 (이것이 취업을 위한 코딩 테스트다)
이것이 취업을 위한 코딩 테스트다를 정리한 글입니다. 순차 탐색 순차 탐색은 리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법이다. 리스트를 단순히 for문으로 돌면서 원하는 값을 찾는 경우도 순차 탐색이라고 볼 수 있다. 이진 탐색 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야 사용할 수...