본문 바로가기

프로젝트91

[Etc] 22.10.26. 한 달의 공백 무려 한 달이라는 시간이 흘렀다. 그 사이에 어떤 일들이 있었을까? 우선 생각과는 다른 점을 가장 먼저 마주하게 되었다. 기존 국비 과정에서의 프로젝트의 경우 회원 가입과 로그인을 구현하는 것에 있어서 다음과 같이 구현하였다. 회원 가입 : 가입 시 아이디(이메일)과 비밀 번호 등에 대한 필수 작성 요소의 validation을 통과하면 DB에 작성한 내용을 저장하도록 하는 방식. 비밀 번호는 BcryptEncoding. 로그인 : 회원 가입 시 입력한 내용을 바탕으로 DB의 내용과 비교하여 일치하는 경우 Session scope에 정보를 주어서 로그인을 유지. 기존 국비 과정에서의 프로젝트는 Spring과 JSP를 사용했고, JSTL을 사용해서 session scope의 data 유무에 따라 elemen.. 2022. 10. 26.
[git] gitignore.io 와 .gitignore Google에 gitignore io 를 검색해서 나오는 다음의 사이트가 있다. gitignore.io - 자신의 프로젝트에 꼭 맞는 .gitignore 파일을 만드세요 (toptal.com) gitignore.io Create useful .gitignore files for your project www.toptal.com 해당 사이트에서는 프로젝트를 진행하고 있는 환경의 운영 체제, 사용하는 IDE, 사용 언어 등에 따라 .gitignore file에 들어갈 내용을 자동으로 build 해준다. 그런데 최근 프로젝트에 사용할 Spring Security에 대한 강의를 이어서 들으면서, 해당 실습 source를 github에 올리는 과정에서 문제를 발견했다. 필자는 .idea 와 .gradle 폴더는 .. 2022. 10. 5.
[Dev] 22.09.26 signinform.html (feat. Regular Expression, FormData) signinform.html 작업 중 일어난 일들 Regular Expression (정규 표현식) 회원 가입을 위한 정보 입력에 대한 validation을 위해 사용한 것이다. 문제는 비밀 번호에 대한 validation에서 시작되었다. 원하는 방식은 영문과 숫자를 조합해서 8 ~ 20 자로 작성하도록 하는 것이었다. var regex = /^[a-zA-Z0-9]{8,20}$/; 처음에는 단순하게 이렇게 작성했던 것으로 기억한다. 다른 여러 오류들을 마주하면서 테스트를 진행하던 도중, 이런 방식은 영문으로만 입력하더라도 validation을 통과할 수 있다. var regex = /^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]{8,20}$/; 이것이 정한 regular expres.. 2022. 9. 26.
[MySQL DB] 22.09.20. InnoDB, Schema와 Database InnoDB, Schema와 Database InnoDB InnoDB는 MySQL이 제공하는 storage engine(스토리지 엔진) 중에 하나이다. 다른 여러 엔진들도 있지만, 이 친구는 ACID transaction(트랜잭션) 처리를 위해 고안되었다고 한다. 대부분의 경우는 roll back(롤백) 되지 않고 완료되어 정상 종료되는 짧은 transaction이 많은 경우를 처리하기 좋게 되어있다고 한다. 그래서 storage engine 중에 가장 많이 사용된다고 한다. MySQL을 기반으로 프로그램을 설계할 때는 어떤 storage engine을 사용해서 data를 저장할지 설계 단계에서 결정해야한다고 한다. 설계 단계에서 고민하지 않으면 나중에 번거로워질 수 있다고 한다. Table 별로 sto.. 2022. 9. 20.
[intelliJ, MySQL DB] 22.09.19. intelliJ에 MySQL 연결하기 (feat. 수많은 난관) intelliJ에 MySQL 연결하기 1. build.gradle에 dependency 추가 // MySQL connector for java implementation 'mysql:mysql-connector-java' // JPA implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 2. application.properties에 내용 추가 # MySQL 설정 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # DB Source URL spring.datasource.url=jdbc:mysql://:/?useSSL=false&useUnicode=true&serverTi.. 2022. 9. 19.
[DB] 22.09.18. MySQL workbench 계정 추가 MySQL workbench 계정 추가 MySQL workbench에 접속해서 좌측 MANAGEMENT의 Users and Privileges를 눌러 보이는 화면에서 Add Account를 클릭한다. 위 이미지와 같이 보이게 될텐데, 표시된 Login Name과 Password를 작성한다. Limit to Hosts Matching을 %로 두지 않으면 local에서만 사용하는 계정이 되는 것 같다. 이어서 Administrative Roles tab의 모든 항목에 체크하고 Apply 한다. 왼쪽 상단의 Home 버튼으로 처음 화면으로 돌아온 후, Connection을 하나 추가한다. 새로운 setup 창에서 이전에 작성했던 Name을 작성해주고 Password에 Store 버튼을 눌러 입력했던 passw.. 2022. 9. 18.