[게시판 CRUD 만들기] 7장 | 게시글 수정하기: Update
·
CS/스프링부트3 자바 백엔드 개발 입문
7.1 데이터 수정 과정해당 글을 불러옴 ➡️ 수정가능한 입력 상태로 만듦 ➡️ 내용을 입력 ➡️ 다시 전송해 DB에 반영 페이지 만들고 기존 데이터 불러오기에서 [Edit] 버튼 클릭요청 받은 컨트롤러가 해당 글의 id로 DB에서 데이터 찾아옴컨트롤러는 가져온 데이터를 뷰에서 사용할 수 있도록 모델에 등록모델에 등록된 데이터를 에서 보여준다. 데이터를 수정해 DB에 반영한 후 결과를 볼 수 있게 로 리다이렉트폼 데이터(수정 요청 데이터)를 DTO에 담아 컨트롤러에서 받는다DTO를 엔티티로 변환DB에서 기존 데이터를 수정 데이터로 갱신수정 데이터를 로 리다이렉트7.2 만들기1. [Edit] 버튼을 클릭해 Edit 요청을 받을 컨트롤러 만들기➡️ 수정할 데이터 가져오기2. 모델에 데이터 등록하기 : 뷰페..
[게시판 CRUD 만들기] 6장 | 게시판 내 페이지 이동하기
·
CS/스프링부트3 자바 백엔드 개발 입문
6.1 링크와 리다이렉트란페이지 이동을 구현해보기 링크 : 미리 정해 놓은 요청을 간편히 처리 - 보통 페이지 이동을 위해 사용HTML의 태그나 태그로 작성리다이렉트(redirect) : 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 주소를 재지시하는 것리다이렉트를 지시받은 클라이언트는 해당 주소로 다시 요청을 보내고 서버는 결과 응답6.2 링크와 리다이렉트를 이용해 페이지 연결하기6.2.1 새 글 작성 링크 만들기링크를 걸 대상New Article링크 주소와 링크 걸 텍스트 이렇게 입력하면 된다. 6.2.2 리다이렉트 적용해 입력 페이지와 상세 페이지 이동하기return "redirect:URL_주소";@PostMapping("/articles/create")여기의 리턴값이 공백인데, 이곳..
[게시판 CRUD 만들기] 5장 | 게시글 읽기: Read
·
CS/스프링부트3 자바 백엔드 개발 입문
5.1 데이터 조회 과정사용자가 데이터 조회해 달라고 웹 페이지에 URL 요청 보내기서버의 컨트롤러가 요청을 받아 해당 URL에서 찾으려는 데이터 정보를 리포지토리에 전달리포지토리는 정보를 가지고 DB에 데이터 조회 요청 DB는 해당 데이터를 찾아 엔티티로 반환반환된 엔티티는 모델을 통해 뷰 템플릿으로 전달최종적으로 결과 뷰 페이지가 완성돼 사용자의 화면에 출력5.2 단일 데이터 조회하기5.2.1 URL 요청받기DB에 저장한 데이터를 웹 페이지에서 보려면 해당 출력 페이지에 접속해야 하는데 그러기 위해서 URL 요청이 필요하다. 게시글 1번 id 조회 : localhost:8080/articles/1 게시글 2번 id 조회 : localhost:8080/articles/2이렇게 접속하는 식으로 URL 요..
[게시판 CRUD 만들기] 4장 | 롬복과 리팩토링
·
CS/스프링부트3 자바 백엔드 개발 입문
4.1 롬복(lombok)이란코드를 간소화해주는 라이브러리❓ getter(), setter(), constructor(), toString() 같은 필수 메서드를 매번 작성해야 한다. ❗️ 롬복을 사용하면 필수 코드를 간편하게 작성할 수 있고, 로깅 기능을 통해 printIn()문을 개선할 수 있다.  ✔️ 로깅(logging) : 프로그램의 수행 과정을 기록으로 남기는 것(일종의 자동차 블랙박스)✔️ 리팩토링(refactoring) : 코드의 기능에 변함이 없이 코드의 구조 또는 성능을 개선하는 작업 firstproject > src > build.grandle 의 dependencies에compileOnly 'org.projectlombok:lombok'annotationProcessor 'org...
[게시판 CRUD 만들기] 3장 | 게시판 만들고 새 글 작성하기: Create
·
CS/스프링부트3 자바 백엔드 개발 입문
3.1 폼 데이터(form data)HTML 요소인 태그에 실려 전송되는 데이터어디에 어떻게 보낼지도 설정해야 한다. action : 어디에 보낼지(/arcitle/create)method  : 어떻게 보낼지(post)웹 브라우저 ➡️ 서버로 데이터를 전송할 때 사용한다 태그에 실어 보낸 데이터 : 서버의 컨트롤러가 객체에 담아 받는다.객체 : DTO(Data Transfer Object)DTO로 받은 데이터는 최종적으로 데이터베이스(DB)에 저장된다.3.2 폼 데이터를 DTO로 받기3.2.1 입력 폼 만들기뷰페이지에 입력 폼 만들면 되므로 templates 디렉토리에 생성{{>layouts/header}} Submit {{>layouts/footer}}3.2.2 폼 데이터 전..
[스프링 부트 개요] 2장 | MVC 패턴 이해와 실습
·
CS/스프링부트3 자바 백엔드 개발 입문
2.1 뷰 템플릿과 MVC 패턴웹 페이지를 하나의 틀로 보고 변수에 따라 서로 다르게 출력하는 뷰 탬플릿 만들고,뷰 템플릿 실행 위해 역할을 분담해 동작하는 기법인 MVC 패턴 알아보기2.1.1 뷰 템플릿이란(View Template, 뷰)화면 담당 기술 - 웹 페이지(view)를 하나의 틀(Template)로 만들고 여기에 변수를 삽입해 서로 다른 페이지로 보여준다📍 스프링부트 프로젝트 만들 때 추가한 도구 중 하나인 머스테치가 뷰 템플릿을 만드는 도구2.1.2 MVC 패턴컨트롤러(Controller) : 클라이언트의 요청에 따라 서버에서 처리하는 역할모델(Model) : 데이터 관리 역할뷰(View)➡️ MVC 패턴(Model-View-Controller pattern)2.2 MVC 패턴을 활용해 ..
[혼공학습단 13기] 6주차 : 가상 메모리 | 파일 시스템
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
14-1. 연속 메모리 할당스와핑, 최초 적합, 최적 적합, 최악 적합, 외부 단편화기본적인 메모리 관리 기법인 스와핑과 메모리에 프로세스를 할당하는 방식, 연속 메모리 할당의 부작용인 외부 단편화 스와핑(swapping)오랫동안 사용안된 프로세스들을 임시로 보조기억장치로 보내고 해당 메모리 공간에 다른 프로세스 실행하는 방식✔️ 스왑 영역(swap space) : 프로세스들이 쫓겨나는 보조기억장치의 일부 영역✔️ 스왑 아웃 : 프로세스가 스왑 영역으로 옮겨지는 것✔️ 스왑 인 : 스왑 영역의 프로세스가 다시 메모리로 돌아오는 것➡️ 스왑 인 될 때 스왑 아웃 전의 물리 주소와 다른 주소에 적재될 수 있다. 메모리 할당연속적으로 메모리 할당✔️ 최초 적합(first fit)적재 가능한 공간 발견하는 순간..
[스프링 부트 개요] 1장 | 스프링 부트 시작하기
·
CS/스프링부트3 자바 백엔드 개발 입문
1.1 스프링 부트란자바 웹 프로그램을 더욱 쉽고 빠르게 만들기 위한 도구자바 웹 프로그램을 만들기 위한 기능과 도구들이 모여 있어 스프링 부트를 통해 쉽고 빠르게 웹 프로그램을 만들 수 있다. 스프링 vs 스프링 부트스프링 프레임워크를 개선한 것이 스프링 부트개발 환경 설정 간소화 : 스프링은 외부 라이브러리 일일이 찾아 연동해야 하는데, 스프링부트는 스타터 프로젝트로 외부 라이브러리를 최적화해 제공하므로 직접 연동할 필요가 없다웹 애플리케이션 서버 내장 : 스프링 부트는 내부에 톰캣을 가지고 있어서 웹 서비스를 jar로 간편하게 배포 가능💡오류 해결꼭 cmd+, 로 환경설정 열어서 Grandle의 Grandle JVM을 JDK17로 변경해줘야 한다!!!!1.2 스프링부트 프로젝트 만들기https:/..
[혼공학습단 13기] 5주차 : 프로세스 동기화 | 교착 상태
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
12-1. 동기화란동기화, 공유 자원, 임계 구역, 상호 배제운영체제의 프로세스 관리 서비스 중 가장 중요한 두 가지 중 하나인 동기화 프로세스 동기화프로세스들 사이의 수행 시기를 맞추는 것실행 순서 제어 : 프로세스를 올바른 순서대로 실행상호 배제 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기✔️ 스레드같이 실행의 흐름을 갖는 모든 것은 동기화의 대상이다.  실행 순서 제어 위한 동기화writer프로세스와 reader 프로세스가 동시에 실행 중일 때, 아무 순서대로 실행되면 안된다.writer ➡️ reader ; reader프로세스는 book.txt에 값이 존재한 경우에만 실행할 수 있다.  상호 배제를 위한 동기화공유가 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리..
[혼공학습단 13기] 4주차 : 운영체제 시작하기 | 프로세스와 스레드 | CPU 스케쥴링
·
CS/혼자 공부하는 컴퓨터 구조 + 운영체제
09-1. 운영체제를 알아야 하는 이유운영체제, 문제해결컴퓨터 구조에서 학습한 부품들을 관리하는 특별한 프로그램인 운영체제를 학습 운영체제(operating system)사용자가 실행하는 응용 프로그램이 올바르게 실행되도록 돕고 자원을 할당해 주는 프로그램 ✔️시스템 자원(자원) : cpu, 메모리, 보조기억장치, 입출력장치 ➡️ 모든 프로그램이 실행되기 위해 필요운영체제도 프로그램이므로 다른 프로그램(인터넷 브라우저, 게임 등)처럼 메모리에 적재되어야 한다.  ✔️메모리커널 영역(kernel space) : 컴퓨터 부팅될 때 항상 운영체제가 적재사용자 영역(user space) : 사용자가 이용하는 응용 프로그램 적재 ➡️ 커널 영역에 적재되어 사용자 영역에 적재된 프로그램들에 자원을 할당하고 올바르게..