목록2024/11 (8)
dew's CSE Studying
12장 서비스 계층과 트랜잭션12.1 서비스와 트랜잭션의 개념서비스(service): 컨트롤러와 리파지터리 사이에 위치하는 계층-서버의 핵심 기능(비즈니스 로직)을 처리하는 순서를 총괄한다 트랜잭션(transaction): 모두 성공해야 하는 일련의 과정 롤백(rollback): 트랜잭션이 실패로 돌아갈 경우 진행 초기 단계로 돌리는 것 12.2 서비스 계층 만들기@Autowired private ArticleRepository articleRepository; //게시글 리파지터리 객체 주입}일단 게시글 리파지터리 객체를 주입해주었다 12.2.1. 게시글 조회 요청 개선하기모든 게시글 조회 요청 개선하기// GET @GetMapping("/api/articles") public List..
12.1 정렬이란?정렬(sorting): 물건을 크기순으로 오름차순(ascending order)이나 내림차순(descending order)으로 나열하는 것 구조레코드(record): 정렬시켜야 될 대상필드(field): 레코드의 나누어진 단위(ex. 이름, 학번, 주소, 전화번호)키(key): 레코드와 레코드를 식별해주는 역할을 하는 필드(ex. 학번 필드->학생을 구별해줌)"정렬이란 결국 레코드들을 키값의 순서로 재배열하는 것!" 정렬 알고리즘단순하지만 비효율적인 방법 - 삽입 정렬, 선택 정렬, 버블 정렬 등복잡하지만 효율적인 방법 - 퀵 정렬, 히프 정렬, 합병 정렬, 기수 정렬 등-자료의 개수가 일정 개수를 넘어가면 반드시 효율적인 알고리즘을 사용해야 한다 내부 정렬(internal sorti..
9장 CRUD와 SQL 쿼리 종합9.1 JPA 로깅 설정하기쿼리(query): DB에 정보를 요청하는 구문-INSERT문(생성), SELECT문(조회), UPDATE문(수정), DELETE문(삭제) 로깅(logging): 시스템이 작동할 때 당시의 상태와 작동 정보를 기록하는 것1.application.properties에 코드 추가logging.level.org.hibernate.SQL=DEBUG-로깅 레벨(7단계)TRACE: DEBUG 레벨보다 더 상세한 정보DEBUG: 응용프로그램을 디버깅하는 데 필요한 세부 정보INFO: 응용 프로그램의 순조로운 진행 정보WARN: 잠재적으로 유해한 상황 정보ERROR: 응용 프로그램이 수행할 수 있느느 정도의 오류 정보FATAL: 응용 프로그램이 중단될 만한 심..
6장 게시판 내 페이지 이동하기6.1 링크와 리다이렉트란링크(link): 미리 정해 놓은 요청을 간편히 전송하는 기능-페이지 이동을 위해 사용-HTML의 또는 태그로 작성-클라이언트가 링크를 통해 어느 페이지로 이동하겠다고 요청하면 서버는 결과 페이지를 응답한다 리다이렉트(redirect): 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것 6.2 링크와 리다이렉트를 이용해 페이지 연결하기6.2.1 새 글 작성 링크 만들기index.mustach에 이 링크를 추가해주었다.New Article6.2.2 -> 돌아가기입력페이지의 뷰파일인 new.mustach에 해당 코드를 추가해주었다Back 6.2.3 -> 이동하기 6.2.4 -> 돌아가기ArticleController을 ..
11.1 최소 비용 신장 트리신장 트리신장 트리(spanning tree): 그래프 내의 모든 정점을 포함하는 트리 1.모든 정점들이 연결되어 있어야 하고2.사이클을 포함해서는 안된다=>그래프에 있는 n개의 정점을 정확히 (n-1)개의 간선으로 연결하게 된다 -깊이우선/너비우선 탐색 도중 사용된 간선들만 표시하면 만들 수 있다-그래프의 최소 연결 부분 그래프최소: 간선의 수가 가장 적다(최소 n-1개의 간선)-통신 네트워크 구축에 많이 사용-각 링크의 구축 비용이 같지 않기 때문에 가장 적은 링크만 사용한다고 해서 최소 비용이 얻어지는 것은 아니다 최소 비용 신장 트리최소 비용 신장 트리(MST: minimum spanning tree): 네트워크에 있는 모든 정점들을 가장 적은 수의 간선과 비용으로 ..
Part2 게시판 CRUD 만들기3장 게시판 만들고 새 글 작성하기: Create3.1 폼 데이터란폼 데이터: HTML 요소인 태그에 실려 전송되는 데이터-웹브라우저에서 서버로 데이터를 전송할 때 사용-태그에 실어 보낸 데이터는 서버의 컨트롤러가 객체(DTO: Data Transfer Object)에 담아 받은 후, 최종적으로 데이터베이스에 저장된다 3.2 폼 데이터를 DTO로 받기3.2.1 입력 폼 만들기3.2.2 컨트롤러 만들기3.2.3 폼 데이터 전송하기3.2.4 폼 데이터 받기받는건 @PostMapping()을 사용한다괄호 안에는 받는 url 주소를 넣는다 3.2.5 DTO 만들기3.2.6 폼 데이터를 DTO에 담기3.2.7 입력 폼과 DTO 필드 연결하기DTO와 동일한 이름을 name의 속성값..
10.1 그래프란?그래프의 소개그래프(graph): 객체 사이의 연결 관계를 표현한 수 있는 자료구조 그래프의 역사오일러(Euler)-Konigsberg의 다리 문제 해결 1736 10.2 그래프의 정의와 용어그래프의 정의그래프: 정점(vertex)과 간선(edges)들의 유한집합G=(V,E)V(G): 그래프 G의 정점들의 집합E(G): 그래프 G의 간선들의 집합 정점(=노드): 여러 가지 특성을 가질 수 있는 객체간선(=링크): 이러한 정점들 간의 관계V(G1) = {0, 1, 2, 3}E(G1) = {(0,1), (0,2), (0,3), (1,2)} 무방향 그래프와 방향 그래프무방향 그래프(undirected graph): 간선을 통해서 양방향으로 갈 수 있음 (A,B)=(B,A)방향 그래프(dire..
1장 스프링 부트 시작하기1.1 스프링부트란-스프링 프레임워크를 개선한 것-자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구개발 환경 설정을 간소화웹 어플리케이션 서버를 내장 1.2 스프링 부트 개발 환경 설정하기 1.3 웹 서비스의 동작 원리 이해하기클라이언트-서버 구조-클라이언트: 서비스를 사용하는 프로그램 또는 컴퓨터-서버: 서비스를 제공하는 프로그램 또는 컴퓨터-클라이언트의 요청에 응답하려면 서버가 실행중이어야 한다 localhost:8080/hello.html의 의미-localhost: 내컴퓨터-8080: 포트번호-helllo.html: 웹브라우저(클라이언트)에서 서버에 요청한 파일(src>main>resources>static 디렉토리에서 기본적으로 파일을 찾는다) 2장 MVC 패턴 ..