분류 전체보기

게시글이 한 줄로 1부터 100000개가 나열되면 불편하겠죠. 불편을 해결하기 위해 페이징 기능을 구현해봅시다. BoardController @GetMapping("/board/list") public String list(Model model, @PageableDefault(size = 5, sort = "id", direction = Sort.Direction.DESC) Pageable pageable) { List boardList = boardService.getBoardList(pageable); Integer[] pageList = boardService.getPageList(pageable); model.addAttribute("postList", boardList); model.addAtt..
· Java
Enum을 정의하는 방법 Enum이란? enum 열거형은 서로 관련된 상수를 편리하게 선언하기 위한 것으로 상수를 여러 개 정의할 때 사용합니다. enum은 여러 상수를 정의한 후, 정의된 것 이외의 값은 허용하지 않는다는 특징이 있습니다. 또한 자바의 열거형은 C언어와는 달리 타입까지 비교가 가능하다고 합니다. public enum Dir { UP, DOWN, LEFT, RIGHT } 열거형은 위와 같이 작성할 수 있습니다. @Getter @Setter public class EnumExample { public enum Dir { UP, DOWN, LEFT, RIGHT } private int x; private int y; public void move(Dir dir){ switch (dir){ c..
글 검색 기능을 추가해보겠습니다. 제목,작성자,내용에 검색어가 포함된 글들만 리스트로 보여줄 예정입니다. BoardController @GetMapping("/board/search") public String search(@RequestParam(value="keyword") String keyword, Model model) { model.addAttribute("postList", boardService.searchPosts(keyword)); return "board/list.html"; } 여러분도 아시다시피 GET방식은 'localhost:8080?keyword=abcd' 로 값이 넘어오죠. REST API처럼 구현하고 싶은데 저는 실패를 했습니다.. 아무튼 저렇게 넘어온 값은 @Request..
오늘의 포스팅은 굉장히 짧을 예정입니다. 진짜 막상 마음을 먹으면 금방 뚝딱하고 만들 수 있는 파트거든요. BoardController @DeleteMapping("/board/post/{id}") public String delete(@PathVariable Long id) { boardService.delete(id); return "redirect:/board/list"; } controller에서는 service에게 넘겨주기만 합니다. BoardService @Transactional public void delete(Long id){ Board board = boardRepository.findById(id).orElseThrow(()->new IllegalArgumentException("해당..
· Java
| 백기선님의 자바 라이브 스터디 10주차 주제입니다. 프로세스와 쓰레드 프로세스는 실행 중인 프로그램을 의미합니다. 프로그램을 실행하면 운영체제가 실행에 필요한 메모리를 할당해주면서 프로세스가 됩니다. 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있으며 작업을 수행하는 것이 바로 쓰레드가 됩니다. 따라서 프로세스에는 최소한 하나 이상의 쓰레드가 존재하고 둘 이상의 쓰레드를 가진 프로세스는 멀티쓰레드 프로세스가 됩니다. 멀티쓰레드를 사용하는 이유에 대해서 알아보기 위해 멀티쓰레드 장점을 나열해보겠습니다. 멀티 쓰레딩의 장점 CPU의 사용률을 향상시킨다 자원을 보다 효율적으로 사용할 수 있다 사용자에 대한 응답성이 향상된다 작업이 분리되어 코드가 간결해진다 ..
· TechTalk
웹에서는 HTTP 프로토콜을 사용하고 메일을 전송할 때는 SMTP 수신할 때는 POP3를 사용한다고 합니다. 그렇다면 웹을 기반으로 하는 웹 메일 서비스는 어떤 프로토콜을 사용하는지가 궁금해졌습니다. 여러 자료를 찾아본 결과를 정리해보겠습니다. 가설 웹 브라우저로 보이는 부분까지는 HTTP로 작동을 하고 보이지 않는 쪽에서 SMTP/POP가 작동한다 HTTP 밑에 SMTP/POP가 있어서 정보 전달함(1번과 비슷하지만 상위,하위의 개념 유무에서 차이가 생김) 메일 서비스 자체는 전부 SMTP/POP로 동작한다 자 일단 3번 가설은 바로 아니라는 것을 알 수 있었습니다. 개발자도구 네트워크 탭을 살펴보면 특정 메일을 보려고 하면 이게 다 HTTP GET 메서드 요청으로 메일을 읽어오는 것을 확인할 수 있습..
https://kyuhyuk.kr/article/spring-boot/2020/07/21/Spring-Boot-JPA-MySQL-Board-Post-Update-Delete [Spring Boot] 게시판 구현 하기 (3) - 글 수정 및 삭제 앞의 글에서 글을 조회하는 기능을 만들었습니다. 이번 시간에는 글을 수정하고 삭제하는 기능을 구현해보겠습니다. kyuhyuk.kr 오늘도 이 분의 코드를 참고했습니다. Controller 추가 @GetMapping("/post/edit/{id}") public String edit(@PathVariable("id") Long id, Model model) { BoardDto boardDto = boardService.findById(id); model.addAtt..
· TechTalk
RESTful Web API 책을 보며 정리했던 내용들을 포스팅하겠습니다. HTTP란? Hypertext Transfer Protocol 줄여서 HTTP라고 부릅니다. HTTP는 Web에서 클라이언트와 서버 간의 데이터 전송을 위해 사용되는 Application Layer Protocol입니다. Request와 Response 쌍으로 구성. 데이터를 평문으로 전송하는 프로토콜이며 Stateless한 프로토콜이기도 합니다. 응답 이후에 다른 상태를 저장하지 않기 때문에 Stateless하다는 표현을 합니다. 아까 언급했듯이 데이터가 평문으로 전송되는 형태이므로 보안 취약점들이 존재하므로 HTTPS 같은 방법을 권장합니다. HTTP 연결 과정 https://okky.kr/article/787738 OKKY ..
· TechTalk
예전에 메시지 큐 방식들을 비교했던 기억이 있습니다. 그때 당시의 결론으로는 RabbitMQ가 더 좋다는 결론을 냈었는데 대기업에서는 Kafka를 사용하더라구요. 이유를 예상할 수 있었지만 혹시 모르니 다시 또 비교해보는 시간을 가져보려고 합니다. 메시지 큐란? 메시지 큐(message queue)는 키보드나 마우스를 통해 발생하는 사용자의 입력을 메시지로 전달하는 윈도우즈 시스템에서 어떤 프로세스에 대한 메시지를 저장하기 위해 할당된 큐다. - 출처 : 위키백과 - 위키백과에서 설명하는 메시지 큐는 제가 아는 지식이랑은 조금 다르군요. 제가 다룰 메시지 큐는 프로세스끼리 데이터를 교환할때 사용하는 통신 방법을 얘기합니다. 저는 통신을 위한 큐 자료구조라고 이해했어요. 메시지 큐의 장점 - 비동기(Asy..
· TechTalk
책 읽기 전 채용 공고를 살펴보면 지원 자격이나 우대 사항에 RESTful API 활용 경험이 포함된 것을 종종 볼 수 있습니다. 그래서 토이 프로젝트에 도입해봐야겠다는 생각을 했었죠. 저는 이전에 RESTful API를 단 10분짜리 강의로 접한 경험이 있습니다. GET, POST, DELETE, PUT 등 이러한 HTTP 방식에 url을 접목시켜서 무언가 특별한 작업을 할 수 있다고 들었습니다. 게시판 예시에서는 POST create/posts 이런 식으로 접근해서 게시글을 작성할 수 있다. 딱 이 정도 선으로만 알고 있었어요. 추가 공부가 필요하다고 느꼈고 RESTful Web API라는 책을 접하게 되었습니다. 도서 소개 http://www.yes24.com/Product/Goods/2010305..
moongomi
'분류 전체보기' 카테고리의 글 목록 (4 Page)