✅타임리프 실습 이유 JSP와 유사하게 ${ } 이용 가능 Model에 담긴 객체를 화면에서 JS로 처리하기 편리함. 연산이나 포맷과 관련된 기능을 지원함. .html 파일 생성 시 문제가 없고 별도의 확장자를 이용하지 않음. 🤍Thymeleaf 이용 프로젝트 생성 Spring Boot DevTools / Lombok / Spring Web / Thymeleaf 추가 타임리프를 이용하는 프로젝트는 변경 후 만들어진 결과를 보관(캐싱)하지 않도록 설정해두는 것이 편리함. application.properties 파일에 아래 코드 추가 spring.thymeleaf.cache=false SampleController 클래스 생성 @Controller @RequestMapping("/sample") @Log4..
🤍MariaDB 설치와 데이터베이스 생성 MariaDB는 MySQL과 거의 동일한 기능을 제공하면서 완전한 오픈 소스라는 장점이 있다. MariaDB를 통해 상용화된 서비스를 개발하고 운영하여도 라이센스 비용 걱정X, AWS와 연동 시에도 최소한의 비용으로 운영이 가능함. 1. 먼저 MariaDB를 설치해 준다. 나는 이미 설치되어 있어서 이 과정은 생략했다. 2. ROOT 계정 패스워드 기억하기, UTF-8 세팅 중요!! 3. HeidiSQL 프로그램을 실행해서 ROOT 계정 정보를 입력 후 접속 4.신규 데이터베이스를 bootex라는 이름으로 생성한다. 5. 사용자 인증 및 권한 관리를 선택 후, bootuser라는 이름으로 계정을 생성하고 해당 데이터베이스에 모든 권한을 추가하고 저장한다. 🤍Spr..
스프링부트 공부를 위해 책 한 권을 끝냈지만 너무 맛보기 느낌이라 부족한 거 같아서 책 한 권을 추가 회독하기로 했다. 이번에 선택한 책은 구멍가게 코딩단 - 코드로 배우는 스프링부트 웹 프로젝트 !! 🤍프로젝트 생성 Gradle, War 선택 의존성은 Spring Web, Lombok, Spring Boot DevTools 3가지 추가 간단한 컨트롤러 실습 @RestController를 이용해 별도의 화면 없이 데이터를 전송 @GetMapping을 이용해 브라우저의 주소창에서 호출이 가능하도록 설정 실행 결과 🤍스프링부트 단독으로 실행 가능한 파일로 만들기 💡기존 스프링은 Tomcat 등의 별도의 WAS가 필수적이었으나 스프링부트에서는 단독으로 실행 가능한 웹 애플리케이션을 jar 파일로 제작하고 사용..
🔍lombok이란? Java의 라이브러리로 반복되는 메소드를 어노테이션을 사용해서 자동으로 작성해주는 라이브러리 보통 DTO나 Model, Entity의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티에 대해 Getter, Setter, 생성자 등을 매번 작성해줘야 하는 경우가 많은데 이러한 부분을 자동으로 만들어주는 라이브러리라고 생각하면 된다. 🤍lombok 세팅 맨 처음에 프로젝트를 만들 때 lombok 의존성을 추가해주었다. 이제 STS에서 사용할 수 있도록 설치를 해줘야 한다. pom.xml을 보면 dependency가 아래와 같이 추가되어 있다. org.projectlombok lombok true user 폴더의 .m2 -> repository 폴더가 의존성이 추가되는 폴더인데 여기에서 위..
🔍HTTP 요청 방식 HTTP 통신 : 약속 통신 방법 4가지 : GET, POST, PUT, DELETE (이외에도 더 많지만 이 4가지만 기억하면 된다고 하셨다.) GET : 데이터를 줘! -Select POST : 데이터를 추가해줘! -Insert PUT : 데이터를 수정해줘! -Update DELETE : 데이터를 삭제해줘! -Delete 🔍MIME (Multipurpose Internet Mail Extensions) 이란? 다목적 인터넷 메일 확장이란 뜻으로 전자우편의 데이터 형식을 정의한 표준 포맷 기존 전자우편은 문자 데이터 이외의 바이너리 데이터(이미지, 동영상, MS 워드 등)를 전송할 수 없었다. 그리하여 여러 멀티미디어 데이터들의 바이너리 데이터를 ASCII 코드로 변환하는 방법(인..
오늘부터 일주일 안으로 메타코딩 님의 스프링부트 블로그 만들기 총 75강을...끝내기로 했다 도저언! 1강부터 9강까지는 자바 환경변수 설정, MySQL 설치, STS 설치, Git 연동 등 기본적인 세팅에 관한 내용인데 이미 내 노트북에 이런 기본 설정은 되어 있어서 슉슉 넘어갈 수 있었다. 🤍STS4 설치 이 강의에서는 인텔리제이 대신 STS4 툴을 사용한다. 내 컴퓨터에는 3버전이 깔려 있어서 STS4를 새로 설치해주었다. https://spring.io/tools Spring Tools 4 is the next generation of Spring tooling Largely rebuilt from scratch, Spring Tools 4 provides world-class support fo..
✅일반 변수의 선언 방식 let num = 1; num = 2; ✅useState 선언 방식 let [num, setNum] = useState(1); setNum(2); ✅useState 사용 시 주의할 점 상단에 정의할 것 바로 실행하지 말 것 반복문 안에 정의하지 말 것 if문 안에 정의하지 말 것 🤍버튼을 눌렀을 때 1씩 증가하는 기능을 구현하고 싶을 때 아래와 같이 코드를 짜고 실행해 보면 버튼을 눌렀을 때 아무런 변화가 없으나 console.log(num); 을 찍어보면 1씩 증가하고 있는 것을 확인할 수 있다. 이때 useState()를 활용할 수 있다. 실행해 보면 버튼을 누를 때마다 1씩 증가하는 것을 확인할 수 있다. useState를 사용하면 -> setNum이라는 함수를 사용했을 때..
🤍React.js 구조 build : 빌드 시 생성되는 디렉토리 node_modules : 리액트 실행에 필요한 모듈 디렉토리 public : 정적 파일 디렉토리 src : 프로젝트 source 디렉토리 🤍React.js 변수 적용 기존 자바스크립트에서 태그 안에 변수를 적용할 때에는 아래와 같은 코드가 필요했다. 하지만 리액트에서 변수를 적용할 때에는 이렇게 {변수명} 간단한 방법으로 변수를 적용할 수 있다. let name = 'hancoding'; {name} 실제 크롬에서 확인해 봐도 태그 안에 hancoding이 들어간 것을 확인할 수 있다.