implementation group:'mysql', name: 'mysql-connector-java', version: '8.0.23' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' mysql을 spring에서 사용하려면 디펜던시를 추가해주어야 한다. 위는 많이 사용되는 JPA와 MySQL을 연결하기 위해 connector를 설치해주자. build.gradle이 변경됐다면 꼭 새로고침 버튼을 눌러 관련 디펜던시의 데이터를 갱신해야한다. 오른쪽 하단에 작업중인 상태가 표시된다. 만약 서버가 실행되어 있다면 서버를 종료해주자 그 후 세팅해주어야 하는 부분은 application.yml 파일이다. 기본적으로는 applicati..
뷰 템플릿 thymeleaf 을 사용하여 진행하려 했던 쇼핑몰 프로젝트의 수정사항이 발생했다. 이미 알고있는 스택에 대한 이해도 중요하지만, 많은 기술 스택을 넓히는 것도 중요하다고 생각했다. JSP를 이용한 프로젝트는 이미 한 번 진행해본 적이 있고, JSP와 문법은 조금 다르지만 형태는 비슷한 thymeleaf 보다는 전혀 새로운 기술인 React를 이용해 페이지를 구성해보고 싶었다. 그렇기 때문에 이에따른 프론트작업은 개별적으로 진행했다. React 설치, 프로젝트 생성은 아래 글을 참고할 수 있다. React 설치, 및 프로젝트 생성해보기 (tistory.com) React 설치, 및 프로젝트 생성해보기 리액트 설치하기 리액트는 Node.js를 설치하여 진행할 수 있는 기술스택이다. Node.js..
UUID Universally Unique Identifiers, 범용 고유 식별자를 뜻한다. 고유 식별이 가능해야 하는 중요한 Key값들을 중복이 없게 규칙에 따라 난수를 생성해 사용하는 값이다. 완전히 중복을 배제하는 것은 아니지만 높은 확률로 중복을 방지해준다. C#에서는 비슷한 기능으로 GUID 메서드가 존재한다. JAVA에서 어떻게 UUID를 생성하는지 알아보자 import java.util.UUID; public class Test { public static void main(String[] args) { String id = UUID.randomUUID().toString(); } } UUID.randomUUID() 는 UUID 형태의 값을 생성해주는데, 해당 속성을 컨트롤하는건 아무래도 ..
스프링 시큐리티 implementation 'org.springframework.boot:spring-boot-starter-security' gardle의 같은 경우, 위와 같이 디펜던시를 추가하여 사용할 수 있다. 추가되면 기본적은 기능으로 모든 요청(get, post 등등)들은 인증을 해야 데이터에 접근이 가능하다. 서버가 기동될때에 스프링 시큐리티 초기화가 진행되며, 보안설정이 자동으로 이루어진다. 인증방식은 폼 로그인, httpBasic 방식을 제공한다. 기본적으로 스프링 시큐리티를 추가하면 인증용 계정이 주어진다. user/password인데, password는 서버 실행시마다 콘솔창에 표시되는 값이 그 비밀번호이다. spring.security.user.name=user spring.secu..
Login.html gnb에 만들어놓은 로그인 버튼을 클릭하면 이동하는 로그인 페이지를 어떤 팝업으로 할 지, 페이지 이동으로 할지 요즘 대세는 어떤것인지 파악하고 그에 맞는 동작을 수행하는게 구성하기 편하다. 이렇게 코드를 직접 짤때 고민을 하게되면 뭔가 진행상황이 부진한것 같고, 주제를 도는 느낌을 받는다. 개발을 하며 하루종일 붙잡고 있어도 한걸음도 나아가지 못하는 날도 많지만, html에서 그런 고민을 하고싶진 않다. 그래서, 설계라는것이 중요하다. 미리 어떤 페이지를 만들지, 디자인은 어떻게 구성할지, 필요한 기능이 무엇인지 등을 모두 계산해놓고 구성해놔야 실제로 코드로 작업을 할때 계속해서 수정하지 않고 시간을 오히려 단축시킬 수 있다. 무작정 버튼을 만들어놓고 개발자도구를 눌러 css를 추가..
https://www.erdcloud.com/ ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 해당 홈페이지에 들어가면 제일 먼저 Sample 영상이 보인다. 간략하게 어떻게 사용되는지 사용법을 알 수 있다. 밑의 사용해보기 버튼을 누르면 로그인부터 하라고 나온다. 로그인하면 자신의 프로필 페이지가 나오고, 고유한 프로필 주소도 존재한다. CREATE TEAM에서 팀 멤버(ERD 계정)를 추가해서 협엽 ERD툴을 생성할 수도 있다. 간단한 설명과 링크를 설정하는 폼도 존재한다. 새로운 erd를 생성할때 Public과..
RDBMS 여러가지 RDBMS가 있고, 상황에따라 사용하는 것도 다 다르다. 장점이 다 다르게 존재하기 때문에, 기업에 따라 프로젝트에 따라 다르기때문에 어떤것이 정답이고 어떤것이 대세라던가를 쉽게 얘기할 수 없다. Springboot에서는 h2 라는 DBMS를 밀어주는 느낌이라, 해당 DB를 사용하면 별도의 설정할게 적다. 하지만, 보통 Oracle, mysql도 많이 사용되고 있으니, 사용할 줄 아는 DB를 늘리는건 분명 도움이 된다. 세부적으로는 다르지만 공통언어 DDL,DML,DCL 이 있기때문에 무엇을 선택하던 다른 툴로 바뀌었다고 퍼포먼스가 확 떨어지진 않는다. 이 프로젝트에서는 mysql을 사용해서 진행할 예정이기 때문에 mysql을 먼저 설치하고 환경구성을 완료하자. https://www...
GNB, LNB, SNB 란 흔히 말하는 header, footer, sidebar 를 뜻한다. 개발자, 디자이너에 따라 다르게 말하는 명칭이기 때문에 알아두는 것이 좋다. 결과적으로는 페이지 공통의 부분, 각각 GNB(header), LNB-SNB(sidebar), FNB(footer) 이다. 이런 공통부분을 잘 구성해 놓는것이 친절한 UI/UX 인터페이스를 만드는 일이다. UI UX 개발하며 기능구현에 쫓기다보면, UI/UX를 올바르게 구성하는것을 놓치기 쉽다. UI는 User Inteface, UX는 User Experience, 즉 유저 인터페이스와 유저 경험이다. 왜 두개를 묶어 말하는가는 유저 경험에 따른 인터페이스의 통일성이 중요하기 때문이다. 사용자 중심 설계 : 사용자를 중심으로, 요구 ..