JDBC 와 MYSQL 연동하기 1) 커넥션 생성

DB와 연결해 CRUD를 하는 MVN 프로젝트를 새로 만드는 프로젝트가 숙제로 나와서 이왕 처음부터 DB도 새로만드는거 오라클은 학원에서 충분히 써보니깐 MYSQL을 한번 시도해 보려고 합니다. OJDBC의 O는 Oracle을 의미합니다. MYSQL을 쓴다면 커넥터를 MYSQL용으로 받아야합니다. mvnrepository.com/artifact/mysql/mysql-connector-java MYSQL이 아직 설치되어 있지 않거나 접속할 서버가 없다면 Mac의 경우에는 아래 튜토리얼을 따라하시면 됩니다. shanepark.tistory.com/41 mac) MYSQL 설치 및 초기설정하기 HOMEBREW 패키지 설치를 이용해 설치하는게 가장 간단합니다. [ homebrew가 설치되어있지 않다면?] sha..

Programming/JPA ⁄ Spring 2021.04.15
이클립스에서 메이븐 MAVEN 웹 프로젝트 만들기

메이븐으로 프로젝트를 만들면 빌드관리가 매우 수월해집니다. 꼭 자바에서만 쓸 수 있는건 아닌 듯 합니다. 최근엔 Gradle이 널리들 쓰이는 것 같은데 아직 학원에서는 MAVEN을 가르쳐 주고 있습니다. 여유가 있다면 MAVEN에 충분히 익숙해 진 후에 Gradle로도 연습 프로젝트를 만들어 보고 싶고, 괜찮다면 최종 프로젝트때는 Gradle을 쓰고 싶습니다. 중급프로젝트부터 Windows 에서 개발하던걸 Mac OS로 전환해 개발을 하니 학원에서 가르쳐주는걸 온전히 내 것으로 만들지 않고 무작정 따라하기만으로는 벽에 부딪히는 점이 많아 더욱 정신을 바짝 차리고 수업을 듣게 된 것처럼, DB는 오라클로 배워서 MYSQL로, 빌드관리는 Maven으로 배워서 Gradle로 프로젝트를 한다면 더 힘든만큼 더 ..

Programming/Java 2021.04.14
Playddit 비밀번호 이중 암호화 적용기

🔐 AES256 Playddit에서는 AES256 방식으로 비밀번호를 암호화 하고 있었습니다. 이유는 단 한가지 학원에서 AES256를 이용한 암호화를 배웠기 때문이었습니다. public static String encryptAES256(String str, String key) throws UnsupportedEncodingException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidKeyException, InvalidAlgorithmParameterException, IllegalBlockSizeException, BadPaddingException { String iv = key.substring(0,16); byte[] keyBytes..

Development/Projects-DDIT 2021.04.12
객체지향설계 5대원칙 SOLID

학원 수업에서 선생님이 항상 강조하셨던 SOLID 원칙이 잘 이해가 되지 않아서 개인적으로 공부하기 위해 여러가지 검색을 해보고 많은 글들을 읽어보았습니다. 그러다 우연히 Youtube에서 41분짜리 영상을 접하게 되었는데, 앞부분만 잠깐 보려고 했던게 결국 영상을 마지막까지 보게 되었고 도움이 제법 많이 되었습니다. ​ https://www.youtube.com/watch?v=rtmFCcjEgEw 북 마케도니아 출신 개발자 Katerina Trajchevska가 2018년 암스테르담에서 열린 컨퍼런스에서 SOLID를 주제로 강연을 했던 내용인데요, 본인의 경험을 예로 들어가며 설명을 잘 해줘서 이해하기가 좋았습니다. SOLID는 Robert. C. Martin (Uncle Bob 이라고 불립니다) 이 ..

Development/Fundamentals 2021.04.11
JSP 수업) 데이터 베이스 10개 문제 풀어보기 - 조인 쿼리 작성

Oracle 데이터 베이스 10개 문제 풀어보기 ​ 1. 남녀 성별 인원수 조회 SELECT * FROM (select COUNT(*) AS MEN from member where SUBSTR(mem_regno2,1,1) = '1' OR SUBSTR(mem_regno2,1,1) ='3' ), (select COUNT(*) AS WOMEN from member where SUBSTR(mem_regno2,1,1) = '2' OR SUBSTR(mem_regno2,1,1) ='4' ) ​ 2. 지금까지 한번도 상품을 구매한 적이 없는 회원의 인적사항 조회(아이디, 이름, 이메일) select mem_id, mem_name, mem_mail from ( s..

Data/Oracle 2021.04.07