분류 전체보기 62

[자바웹개발워크북] 6. AJAX와 JSON

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * AJAX, JSON, REST, swagger UI, */ 1. 용어정리 / Swagger UI 준비 / 댓글엔티티 처리 AJAX(Asynchronous JavaScript And XML)방식은 브라우저에서 서버를 호출하지만 모든 작업이 브라우저 내부에서 이루어지기 때문에 현재 브라우저의 브라우저 화면의 변화없이 서버와 통신할 수 있습니다. 대표적인 예로 '자동완성'이나 '지도서비스'등이 있습니다. Ajax가 적용되면서 자바그크립트 기술의 수요가 늘었고, 최근에는 프론트엔드중심의 개발방식이 자리 잡게됐습니다. Ajax의 약자처럼 자바스크립트를 이용해서 XML을 주고받는 방식을 이용했습니다만, 최근에는 JSON(JavaScript Obj..

개발/JAVA 2023.02.03

Git Remote origin already exists 에러해결

해당 에러는 기존에 연결되어 있는 repository가 새로운 repository에 코드를 올리려고 하면 발생되는 에러입니다. 해결방법은 간단합니다. 기존의 연결을 끊고 새로 올리고 싶은 곳에 소스코드를 올리면 됩니다. 1. git remote remove origin 명령어를 입력해서 기존에 연결되어 있는 원격 저장소와의 연결을 끊어줍니다. 2. git remote add origin [새롭게 연결할 깃 레파지토리 주소] 명령어를 입력합니다. 3. git remote -v 명령어를 입력해서 로컬 저장소를 원격 저장소에 연결시켜줍니다. 4. git push origin master 명령어를 입력해서 소스코드를 올리면 됩니다.

개발/Git 2023.02.02

[자바웹개발워크북] 5. 스프링에서 스프링부트로

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 스프링부트, Thymleaf, Spring Data JPA */ 1. 스프링부트와 환경설정 스프링부트는 스프링에서 파생된 여러 서브 프로젝트에서 시작해서 이제는 완전한 메인 프로젝트가 되어버린 특이한 케이스입니다. 스프링부트를 엄밀하게 말하면 '스프링 프레임워크 개발도구'라고 봐야할 것입니다. 스프링부트는 엔터프라이즈급 애플리케이션을 개발하기 위해서 필요한 기능들을 제공하는 개발도구입니다. 스프링부트의 중요한 특징으로 Auto Configuration(자동설정)을 내세울수 있습니다. 예를들어 스프링부트는 데이터베이스와 관련된 모듈을 추가하면 자동으로 데이터베이스 관련 설정을 찾아서 실행합니다. 또다른 특징으로는 '내장 톰캣'과 단독 실..

개발/JAVA 2023.01.26

[자바웹개발워크북] 스프링 MVC 구현 - 페이지네이션, 검색/필터링

/* * * 스프링 프레임워크와 스프링MVC를 결합해서 이전에 웹MVC로 개발했던 Todo예제를 개발하며 전체적인 구조를 이해합니다. */ 1. 페이징 처리 더미 데이터 추가하기 insert into tbl_todo (title, dueDate, writer) (select title, dueDate, writer from tbl_todo); 흔히 재귀복사라고 하는 방식으로 기존의 tbl_todo테이블의 내용을 다시 insert하는 방식입니다. 약 1000개 정도의 더미를 만들겠습니다. 페이지 처리를 위한 DTO 페이지 처리는 현재 페이지의 번호(page), 한 페이지당 보여주는 데이터의 수(size)가 기본적으로 필요합니다. 2개의 숫자를 매번 전달할 수도 있겠지만 확장성을 고려해서 별도의 DTO로 만..

개발/JAVA 2023.01.26

[자바웹개발워크북] 스프링 MVC 구현 - 환경설정, CRUD

/* * * 스프링 프레임워크와 스프링MVC를 결합해서 이전에 웹MVC로 개발했던 Todo예제를 개발하며 전체적인 구조를 이해합니다. */ 1. 프로젝트의 구현목표와 준비 ■ 검색과 필터링을 적용할 수 있는 화면을 구성하고 MyBatis의 동적쿼리를 이용해서 상황에 맞는 Todo를 검색합니다. ■ 새로운 Todo를 등록할때 문자열, boolean, LoacalDate를 자동으로 처리하도록 합니다. ■ 목록에서 조회화면으로 이동할 때 모든 검색, 필터링, 페이징조건을 유지하도록 구성합니다. ■ 조회화면에서는 모든조건을 유지한채로 수정/삭제 화면으로 이동하도록 구성합니다. ■ 삭제시에는 다시 목록화면으로 이동합니다. ■ 수정시에는 다시 조회화면으로 이동하지만 검색, 필터링, 페이징조건은 초기화합니다. ■ 프..

개발/JAVA 2023.01.17

[자바웹개발워크북] 4-2. 스프링 Web MVC

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 스프링 Web MVC, 예외처리 */ 1. 스프링 Web MVC(이하 스프링MVC)의 특징 스프링MVC는 이름에서 알 수 있듯이 Web MVC패턴으로 구현된 구조입니다. 따라서 기본적인 흐름은 이전에 다루었던것과 같고 컨트롤러, 뷰, 모델 등의 용어들 역시 그대로 사용됩니다. 스프링MVC가 기존 구조에 약간의 변화를 주는 부분은 다음과 같습니다. ■ Front-Controller패턴을 이용해서 모든 흐름의 사전/사후처리를 가능하도록 설계된점 ■ 어노테이션을 적극적으로 활용해서 최소한의 코드로 많은 처리가 가능하도록 설계된점 ■ HttpServletRequest/HttpServletResponse 를 이용하지 않아도 될 만큼 추상화된 방..

개발/JAVA 2023.01.14

[자바웹개발워크북] 4-1.스프링과 MyBaits

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 스프링, 의존성주입, MyBatis연동 */ 1. 스프링의 시작 : 스프링프레임워크는 원래 웹이라는 제한적인 용도로만 쓰이는 것이 아니라 객체지향의 '의존성주입(dependency injection)'기법을 적용할 수 있는 객체지향 프레임워크였습니다. 스프링프레임워크는 로드존슨이 2002년도에 집필했던 'J2EE설계 및 개발'이라는 책의 예제코드에서 시작됐는데 말그대로 효과적이고 가볍게 J2EE를 이용할 수 있다는 것을 증명하면서 예제의 코드를 발전시킨것입니다. 2000년당시 자바진영에서 javaEE의 여러가지 스펙을 정의하고 비대해지는 동안, 스프링프레임워크는 반대로 경량프레임워크를 목표했습니다. 스프링프레임워크는 가장 중요한 '코어..

개발/JAVA 2023.01.02

[자바웹개발워크북] 3. 세션/쿠키/필터/리스너

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 세션, 쿠키, 서블릿컨텍스트, 필터 */ 1. 세션 트랙킹 : 웹은 기본적으로 과거의 상태를 유지하지 않는 무상태연결입니다. 따라서 과거의 요청 기록을 알 수 없습니다. HTTP가 무상태를 선택한 가장 큰 이유는 적은 자원으로 여러개의 요청을 처리할 수 있기때문이지만 덕분에 과거의 방문기록을 추적하는 기법이 필요하게 됩니다.이러한 기법들을 세션 트랙킹(session tracking)이라고 합니다. 2. 쿠키 : HTTP에서 세션트랙킹은 '쿠키(Cookie)'라는 존재를 이용합니다. 쿠키는 문자열로 만들어진 데이터의 조각으로 서버와 브라우저 사이에서 요청이나 응답시에 주고받는 형태로 사용됩니다. 쿠키는 문자열로 되어있는 정보로 기본적으로..

개발/JAVA 2022.12.28

[MySQL] 사용자 생성/DB생성/권한부여

사용자 조회 MySQL의 사용자 목록을 조회하기 위해 MySQL의 기본 스키마인 mysql안에 user테이블에서 아래와 같은 명령어를 통해 조회할 수 있습니다. # mysql 스키마 선택 use mysql; # 사용자 목록 조회 select user, host from user; 사용자 생성 사용자 생성시에는 create명령어를 사용해서 아래와 같은 예시대로 생성할 수 있습니다. create user '사용자'@'host' identified by '비밀번호'; # ex1) 내부 접근을 허용하는 사용자 추가 create user 'test'@'localhost' identified by '0000'; # ex2) 외부 접근을 허용하는 사용자 추가 create user 'test'@'%' identifie..

개발/DATABASE 2022.12.24

[MariaDB] MacOS에서 MariaDB설치하기

맥북 유저라면 homebrew를 이용하여 간단하게 설치할 수 있습니다. 우선 터미널을 열고, brew install mariadb homebrew가 업데이트가 되며, 설치가 될때까지 기다려줍니다. 설치가 완료되었다면 실행시켜봅니다. brew로 설치한 서비스들을 시작할때는 아래와 같은 구문을 사용합니다. 동작 : brew services start mariadb 중지 : brew services stop mariadb mariadb를 실행시켰다면 실제로 동작하는지 확인해봅시다. brew services list 그럼 brew로 설치된 서비스들의 동작 여부를 확인할 수 있습니다. rrumang@yuminhaui-MacBookPro ~ % brew services list Name Status User Fil..

개발/DATABASE 2022.12.24