본문 바로가기

전체 글51

윈도우(Windows)에 MariaDB 다운로드(Download) & 설치(Install)하기 1. MariaDB란? MariaDB는 오픈 소스의 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 오라클(Oracle)이 MySQL을 인수한 후, 라이센스 문제를 해결하기 위해 MySQL 창시자와 몇몇 개발자들이 오라클을 나와 만든 데이터베이스입니다. 즉, MySQL과 완전히 동일한 DB로 생각해 주시면 되겠습니다. 2. MariaDB 다운로드(Download) 하기 MariaDB 다운로드 바로가기로 이동하고 스크롤을 조금 내려보시면 다음과 같은 화면을 보실 수 있습니다. 여기서는 10 버전을 기준으로 설치해 보도록 하겠습니다. 데이터베이스 버전을 10.6.12로 선택한 후 다운로드해 주세요. (10.6을 초과하는 버전은 1년 동안만 유지되는 단기 릴리스라고 합니다) 3. MariaDB 설치(Ins.. 2023. 2. 12.
스프링 부트(Spring Boot) JPA 게시판 - 비동기(Ajax) 페이징(Paging) 및 검색(Search) - 페이지 번호 & 검색 조건 (이전 페이지 정보) 유지하기(With. MySQL) 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 비동기 방식으로 페이징과 검색 처리를 하는 방법에 대해 알아보았습니다. 이번 글에서는 페이지를 이동했을 때 또는 검색 조건이 포함되어 있는 상황에서 이전 페이지 정보를 유지하는 방법을 알아볼 건데요, 페이지 정보 유지가 필요한 케이스는 다음과 같습니다. 1. 게시글 상세 페이지에서 뒤로가기 버튼을 클릭했을 때 2. 게시글 수정 페이지에서 뒤로가기 버튼을 클릭했을 때 3. 기존에 등록된 게시글을 수정했을 때 4. 기존에 등록된 게시글을 삭제했을 때 5. 페이지 새로고침(Refresh)이 실행됐을 때 만약, 150페이지에 있는 게시글을 수정 또는 삭제했는데 1페이지로 리다이렉트 된다면...? 네, 사용자 입장에서는 환장.. 2022. 1. 24.
스프링 부트(Spring Boot) JPA 게시판 - 비동기(Ajax) 페이징(Paging) 및 검색(Search) 처리하기 (With. MySQL) 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 페이징에 대한 기본적인 지식을 가지고 있지 않으시다면, 페이징 알아보기를 읽어보시기를 권장드립니다 :) 이전 글에서는 게시글 상세 페이지(수정/삭제)를 구현해 보았습니다. 이번 글에서는 게시글 리스트 페이지에 페이지네이션 기능을 적용해볼 건데요. JPA의 Pageble이라는 녀석을 이용해도 되지만, 검색 조건 등을 쉽게 처리하기 위해서는 개인적으로 MyBatis를 이용하는 것이 효율적이라고 생각합니다. JPA에서 검색 조건이나 JOIN 등을 처리하기 위해서는 Repository에 직접 SQL을 작성하는 네이티브(Natvie) 쿼리를 이용하거나, Query DSL이라는 프레임워크를 이용해야 하는데요. 사실, 저는 Query DSL을.. 2022. 1. 24.
스프링 부트(Spring Boot) JPA 게시판 - 게시글 상세 페이지 구현하기 (With. MySQL, Thymeleaf) 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 게시글 등록을 위한 write 페이지를 구현해 보았습니다. 이번 글에서는 게시글 상세 페이지인 view 페이지를 구현하게 되는데요. 게시글 상세 페이지에 필요한 대표적인 기능들은 다음과 같습니다. 1. 게시글 수정 페이지로 이동할 수 있는 기능 2. 게시글을 삭제하는 기능 3. 게시글의 조회 수를 증가시키는 기능 네, "백문이 불여일견이요, 백견이 불여일각이며, 백각이 불여일행"이지요. (어디서 주워들은 건 있어가지고...) 그럼, 바로 시작해 보도록 할게요 :) 1. Entity 클래스에 조회 수 증가, 게시글 삭제 기능 추가하기 package com.study.board.entity; import java.tim.. 2021. 11. 20.
스프링 부트(Spring Boot) JPA 게시판 - 게시글 등록 페이지 구현하기 (With. MySQL, Thymeleaf) 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 타임리프(Thymeleaf) 템플릿 엔진과 부트스트랩(Bootstrap) 프레임워크를 이용해서, 모든 페이지에 사용될 레이아웃(layout.html)과 게시글 리스트 페이지(list.html)를 구현해 보았습니다. 이번 글에서는 게시글 등록 페이지를 구현하게 되는데요. 이전 글에서 레이아웃 작업을 미리 해두었기에 지금까지 보다 훨씬 수월하게 진행하실 수 있을 거예요 :) 그럼, 시작합니다! 1. 게시글 등록 HTML 생성하기 templates/board 폴더에 write.html을 생성해 주세요. 다음으로 write.html을 다음과 같이 변경해 주세요. 설명이 필요하지 않을 만큼 심플한 코드네요 :) 제목 이름 내.. 2021. 10. 2.
스프링 부트(Spring Boot) JPA 게시판 - 게시글 리스트 페이지 구현하기 (With. MySQL, Thymeleaf) 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 게시글 생성/수정, 리스트 조회를 처리하는 API를 구현하고, 테스팅까지 진행해 보았습니다. 이번 글부터는 화면(UI)을 담당하는 Presentation Layer(컨트롤러, 뷰)를 처리하는데요. JPA 게시판을 시작할 때 말씀드렸듯이 JS 영역에서는 jQuery 라이브러리를 이용하지 않고, 순수한 자바스크립트(Vanila JS)만을 사용해서 코드를 작성하며, 화면은 타임리프(Thymeleaf) 템플릿 엔진과 부트스트랩(Bootstrap) 프레임워크를 이용해서 구성합니다. 그럼, 바로 시작해 볼까요? 1. 정적 리소스(Static Resources) 추가하기 업로드한 static.zip에는 부트스트랩 관련 css, .. 2021. 9. 28.
스프링 부트(Spring Boot) JPA 게시판 - 게시글 등록/수정 구현하기 (With. MySQL) 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 애플리케이션 전역에서 예외를 핸들링하는 방법을 알아보았습니다. 이제부터 각 기능별로 서비스, 컨트롤러, 화면까지 전체적으로 구현해보는 시간을 가져볼 건데요. 이번 글에서는 비즈니스 로직을 담당하는 Service Layer와 API 호출을 담당하는 Rest Controller를 처리해 보도록 할게요. 그럼, 바로 시작해보죠 :) 1. 서비스 레이어(Service Layer)에서 사용할 클래스(Classes) 생성하기 Service Layer에서 API를 처리하기 위해 필요한 클래스는 다음과 같습니다. 자세한 내용은 각 클래스를 생성하는 과정에서 설명해 드리도록 할게요. 1. 게시글의 생성과 수정을 처리할 요청(Requ.. 2021. 9. 15.
스프링 부트(Spring Boot) JPA 게시판 - 전역 예외 처리(Global Exception Handling) 알아보기 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 JPA의 개념과 사용 방법에 대해 간단하게 알아보았고, 게시글 생성(Create), 조회(Read), 삭제(Delete) 기능을 테스팅해 보았습니다. 이번 글에서는 스프링에서의 예외 처리 방법에 대해 말씀드리려 합니다. 기존에 알던 예외 처리와는 차원이 다른, 애플리케이션 전역에서 예외를 핸들링할 수 있는... (두근두근) 그럼, 바로 시작해 볼게요 :) 1. 로그백(Logback) 적용하기 이전 글에서 테스팅을 진행했을 때 SELECT 쿼리의 결과는 다음과 같았습니다. 개발 과정에서 로깅(Logging)은 너무나도 필수적인 요소인데요. 작업에 들어가기 전, 몇 가지 부가적인 설정들을 적용하고 시작하는 게 좋을 듯합.. 2021. 9. 14.
윈도우(Windows)에 MySQL 8.0 다운로드(Download) & 설치(Install)하기 1. MySQL 다운로드(Download)하기 MySQL 다운로드 바로가기로 접속하시면 다음과 같은 화면을 보실 수 있습니다. 페이지에 접속하시면 기본적으로 최신 버전이 선택되어 있을 텐데요. "글쓴아.. 나는 이전 버전을 원한다 이 자식아!"라고 하신다면 상단 Archives 탭을 클릭해서 이전 버전 다운로드 페이지로 이동한 뒤에 아래 이미지와 같이 다운로드할 버전을 선택해 주시면 됩니다. 자, 이제 본격적으로 다운로드와 설치를 진행해 보도록 하겠습니다. MySQL 다운로드 페이지 중앙쯤 위치한 Go to Download Page 버튼을 클릭해 주세요. 두 개의 다운로드 항목 중 용량이 큰 아래의 파일을 다운로드해 주세요. 이쯤 되면 다운로드를 허락해 줄만도 한데, 또다시 페이지가 이동해 버리죠? (딱.. 2021. 8. 27.
기획자 필수툴:: 파워목업(POWER MOCUP) 안녕하세요! 오늘은 회사를 다니면서 가장 많이 접하게 되는 PPT 기획서 관련해서 TIP!을 나눠드릴까 합니다. 기획서를 열어보면 적게는 몇장, 많게는 수십장의 장표로 이루어져 있습니다. 이렇게 많은 장표들은 모두 수많은 아이콘과 이미지들로 이루어져있는데요, 이때 각 기능에 맞는 아이콘과 이미지를 찾는데 기획자들은 굉장히 많은 시간을 소요하게 됩니다. 따라서 기획자들은 그런 시간을 줄이기 위해 다양한 툴을 사용하고 있는데요, 가장 유용하게 사용하고 있는 POWER MOCUP을 소개합니다. 파워목업은 기능 구현을 설명할 수 있는 다양한 아이콘(스크롤,얼럿,캘린더 등)을 PPT내에 설치해서 바로 사용 할 수 있도록 만든 툴입니다. 따라서 달력 아이콘이 필요할때, 얼럿이 필요할때, 브라우저가 필요할때 별도 검.. 2021. 5. 6.