반응형 전체 글58 Windows OpenJdk 다운로드 및 설치 Windows OpenJdk 다운로드 및 설치 방법 1. 공식 홈페이지 : https://jdk.java.net/archive/ Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he jdk.java.net 2. 버전선택 및 다운로드 3. JAVA PATH .. 2022. 10. 21. Java 상위로 예외 넘기기 throws Java 상위로 예외 넘기기 throws throws : 호출한 상위 메소드로 예외처리 넘기기, 메소드 선언부에 작성 A메소드에서 B메소드를 호출시 예외가 발생했을 경우 B메소드 자체적으로 try-catch를 통해 처리 할 수 있지만 B메소드를 여러곳에서 사용한다고 할 때에는 호출하는 여러 메소드 마다 필요한 예외가 각각 다를수 도 있기에 예외처리를 구현할 기회를 줄 수 있다. throws 사용하여 호출한 메소드로 예외 책임을 전가하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 public class ThrowsTest { public static void main(String[] args){ try {.. 2022. 10. 14. Spring boot + JPA (1) 목적 JPA 개념정리 및 사용법 정리하게된 계기 기존에는 Mybatis 를 사용하였는데 새프로젝트에서 JPA 를 사용하게되어 정리 JPA (Java Persistence API) 자바 ORM 을 위한 표준기술로 Hibernate, Spring JPA 와 같은 구현체가 있고 이것의 표준인터페이스 장점으로는 Mybatis 프로젝트와 비교하면 코드량이 줄고 객체위주 코드가 작성됨으로 가독성이 좋아지고 특정 데이터베이스에 종속되지 않는다. 단점으로는 복잡한 쿼리처리,성능저하위험,학습시간등 이있는데 복잡한 쿼리는 QueryDSL로 처리가 가능한거 같다. 개발환경 OS 윈도우10 Jdk 1.8 Framework Spring Boot 2.7.0 DB mysql 8.0 패키지 구조 의존성추가 1 2 3 4 5 6 7 .. 2022. 9. 26. IntelliJ Lombok 적용 IntelliJ Lombok 적용 OS : 윈도우 의존성 설정 Maven (https://mvnrepository.com/artifact/org.projectlombok/lombok) IntelliJ Lombok Plugin 설정 file -> settings -> Pluings : Lombok 검색 후 Install 및 IDE 재시작 Enable annotation processing 체크 File -> settings -> Build. Execution, Deployment -> Compiler -> Annotation Procssors -> Enable annotation processing 체크 2022. 9. 20. DDL - CREATE 정리 https://devhj.tistory.com/21?category=721157 -- DDL 정리 -- DATABASE 생성 create database prod; -- 테이블생성 create table USER_INFO ( ID int primary key auto_increment, NAME VARCHAR(30) not null, AGE INT not null, ADDRESS VARCHAR(255) ); 2022. 9. 20. Redis 명령어 정리 Redis 명령어 keys * 저장 되어있는 현재의 키값들을 확인 (데이터량이 많은 경우 부하가 심하므로 운영중일때는 주의필요) set [key] [value] 데이터 저장 get [key] 키의 데이터 조회 mset [key] [value] [key] [value] ... 여러개의 데이터 저장 mget [key] [key] [key] ... key들로 데이터 조회 exists [key] 해당 key 존재여부 존재 1 미존재 0 리턴 keys *word* 해당 단어가 포함된 key 조회 DB Like 검색 rename [기존key] [변경할key] 존재하던 key를 변경 setex [key] [second] [value] 지정한 시간만큼만 존재하는 key value 생성 ttl [key] 소멸까지 남은시.. 2022. 9. 20. Spring Data Redis 로 Redis 연동 개발환경 Spring Boot 2.7.0 JDK 1.8 Build Maven https://devhj.tistory.com/24?category=721156 윈도우10 Redis 설치 및 기본 설정 1.Redis란? 레디스(Redis)는 Remote Dictionary Server의 약자로서[4], "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 2009년 살 devhj.tistory.com 프로젝트생성 (의존성 : Spring data Redis) application.yml spring: redis: lettuce: pool: max-active: 10 max-idle: 10 min-idle: 2 port: 6379 host.. 2022. 9. 20. 윈도우10 Redis 설치 및 기본 설정 1.Redis란? 레디스(Redis)는 Remote Dictionary Server의 약자로서[4], "키-값" 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 2009년 살바토르 산필리포(Salvatore Sanfilippo)가 처음 개발했다. 2015년부터 Redis Labs가 지원하고 있다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이다. BSD 라이선스를 따른다. DB-Engines.com의 월간 랭킹에 따르면, 레디스는 가장 인기 있는 키-값 저장소이다.[5] 레디스 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 레디스(Redis)는 Remote Dictionary Server의 약자로서.. 2022. 9. 15. MySql 8.0 접속오류 Public Key Retrieval is not allowed 실무에서는 5버전을 사용하다 개인용으로 8버전을 설치하고 바로 사용했을때에는 문제가 없었으나 재부팅 후 다시 사용하려고하니 Public Key Retrieval is not allowed 오류가 발생 8.0버전부터는 보안의 이슈로 useSSL 옵션에 대한 추가 설정이 필요 접속 URL 설정 jdbc:mysql://localhost:3306/database?useSSL=false&allowPublicKeyRetrieval=true 툴설정 2022. 9. 14. Intellij Spring boot Jmx RMI remote objects have benn exported Intellij 에서 Spring boot 2.7.3 프로젝트를 생성 후 내장톰캣으로 프로젝트를 구동하였는데 JMX 관련하여 오류가 발생 The server sockets created using the LocalRMIServerSocketFactory only accept connections from clients running on the host where the RMI remote objects have been exported Port already in use: nested exception 구동할때마다 바뀌는 Exception 내용들이 있어서 구글링을 통해 JMX 를 비활설화 application.properties 에서 spring.application.admin.enabled=false.. 2022. 9. 13. SQL DML, DDL, DCL, TCL DML - Data Manipulation Language (데이터 조작어) SELECT 테이블의 데이터를 조회하기 위한 명령어 INSERT 테이블의 데이터는 삽입하기 위한 명령어 UPDATE 테이블의 데이터를 수정하기 위한 명령어 DELETE 테이블의 데이터를 삭제하기 위한 명령어 DDL - Data Definition Language (데이터 정의어) CREATE 테이블을 생성하기 위한 명령어 ALTER 테이블을 수정하기 위한 명령어(컬럼 추가,삭제,속성변경, 키추가,삭제 등) DROP 테이블을 삭제하기 위한 명령어 TRUNCATE 테이블의 구조만 남기고 데이터를 전체 삭제하기 위한 명령어 DCL - Data Control Language (데이터 제어어) GRANT 특정 데이터베이스 사용자에게 권한.. 2021. 12. 27. Java HMAC 암호화 Java HMAC 암호화 API개발중 받는쪽에서 HMAC SHA256를 이용하여 시그니쳐를 생성하여 헤더에 담은 후 요청 HMAC이 뭔지도 모르고 검색을 하다 알게되어 사용하는 이유, 방법정리. HMAC(keyed-hash message authentication code, hash-based message authentication code) 암호화 해시 함수와 기밀 암호화 키를 수반하는 특정한 유형의 메시지 인증 코드(MAC)이다. 여느 MAC처럼 메시지의 데이터 무결성과 진본 확인을 동시에 수행하기 위해 사용할 수 있다. (출처 : https://ko.wikipedia.org/wiki/HMAC) API를 통해 데이터를 주고 받을시 중간에 다른사람이 보내는사람의 메시지를 가로챈 후 변조하여 보내는것을.. 2021. 12. 15. List removeAll(Collection<?> c) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 import java.util.*; public class ListRemoveAllTest { public static void ma.. 2021. 12. 3. Git Bash 를 사용하여 Git Hub Repository 연결 Git Bash를 이용하여 GitHub Remote Repository와 Local Repository Java Project를 연결 1. GitHub에 Repository 생성 - Java 소스를 올려야 하기에 첫번째 그림에서 보이는것 처럼 Add .gitignore 옵션에서 JAVA 선택 후 두번째 그림에서 .classpath .project 를 추가 후 Commit Push 를 진행 2. JavaProject 생성 - eclipse 에서 Java Project를 생성 한 뒤 해당 경로로 들어가서 파일을 확인 3. Git Bash 를 이용한 git init - cd 이동할경로 명령어를 사용하여 생성한 경로로 이동 후 git init 명령어를 실행 (ex : cd c:\stsworkspace\gitTe.. 2019. 12. 12. Spring + Mssql + Mybatis 연동 개발환경 Os Windows 10 IDE STS 3.9.6 Jdk 1.8.0_172 Spring 5.2.1.RELEASE DB MsSql 1. 프로젝트 생성 - Spring Legacy Project > Spring MVC project 생성 후 Java 버전을 1.8로 변경 2. Pom.xml 의존성추가 - mybatis, mybatis-spring, spring-jdbc, mssql-jdbc, spring-test - https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc.. 2019. 12. 3. Spring Security 구성하기(2) - 패턴구분 및 로그아웃 개발환경 Os Windows 10 IDE STS 3.9.6 Jdk 1.8.0_172 Spring 5.2.1.RELEASE Spring Security 4.2.13.RELEASE DB MsSql View JSP 1. security-context.xml > url 별로 접근권한 구분 1) security:intercept-url pattern - hasRole(role) : 현재 로그인된 사용자가 설정된 role이 존재하면 true 를 반환 - hasAnyRole(role1,role2) : 현재 로그이된 사용자가 콤마로 구분된 role중 하나라도 가지고 있으면 true를 반환 권한의 갯수는 제한이 없음 - permitAll : 어떤 사용자든 true를 반환 - denyAll : 어떤 사용자든 false를 .. 2019. 11. 26. Spring Security 구성하기(1) 개발환경 Os Windows 10 IDE STS 3.9.6 Jdk 1.8.0_172 Spring 5.2.1.RELEASE Spring Security 4.2.13.RELEASE DB MsSql View JSP 1. 프로젝트 최초 생성 / 구조 - New > Spring Legacy Project > SPring MVC Project 2. Spring Security 관련 추가 작업 1) 의존성 추가를 위해 POM.xml 에 Spring Security 4.2.2.RELEASE 추가 org.springframework.security spring-security-core 4.2.2.RELEASE jar compile org.springframework.security spring-security-web 4.. 2019. 11. 26. DBeaver 설치 및 Oracle 연결 DBeaver 설치 및 Oracle 연결 업무상 Oracle 만 사용하는게 아니고 Mssql 도 사용하는데 Oracle을 접속할때는 SqlGate, Sql Developer를 사용하고 Mssql을 접속할때는 SSMS를 이용하였는데 좀더 편한 Tool을 찾다보니 DBeaver를 알게되어 글을 쓰게됨. DBeaver는 무료 DB Tool이고 Mssql, Oracle, PostgreSql, MariaDB 등 여러 DB를 하나의 Tool로 접속하여 사용할 수있다. 1. DBeaver 다운로드 다운로드 Url : https://dbeaver.io/download/ Download | DBeaver Community Download Tested and verified for MS Windows XP/7/8/10, .. 2019. 7. 31. eclipse + git - branch 생성 및 master branch 와 Merge(병합) 새로운 브랜치를 생성 후 커밋하고 마스터브랜치와 병합 하기 1. New Branch 생성 - Team > Switch To > New Branch.. - 생성할 브랜치(devHjlee) 명 작성 후 Finish - 브랜치 생성 후 Push를 진행하지 않았기 때문에 Local Repository에만 생성이 된상태이고 아래 화면처럼 Github Branch 목록을보면 Master 브랜치만 존재한다. 2. 생성한 브랜치(devHjlee)에서 커밋 진행 - DzGitTestApplication.java 에서 //devHjlee Branch Commit Test 1 주석을 추가 후 Commit - Team > Switch > Other.. 들어가보면 Remote Tracking에는 Master만 존재 - devH.. 2019. 7. 8. eclipse + git 연동 1. Github Repository 생성 - Repository name 을 설정 후 Create repository 클릭 2. eclipse Git Repositories 추가 - Open Perspective에서 Git을 추가 후 Github에서 생성한 Repository Clone 후 추가 3. Git Repository 에 올릴 프로젝트를 Git에 연동 - Team > Share Project... - 2번에서 생성한 Git Repository선택 4. 연동된 Git Repository (dzGitTest) 에 첫 Commit - dzGitTest Repository와 연동이되면 아래 화면처럼 프로젝트옆에 NO HEAD로 표시가 나옴 - Team > Commit : Git은 Svn과 다르게 Co.. 2019. 7. 5. node.js + eclipse 기존에는 Atom 편집기를 이용하여 사용하다가 이클립스에서도 지원하는거같아서 검색을 해본후 글을 작성하게됨. 1. 설치된 이클립스에서 Eclipse Marketplace 창을 여신후 node 검색(이클립스 설치글을 작성하지 않아서 다른분의 블로그 참조) 2. 위에 사진에 보이시는 Nodeclipse 1.0.2 설치 3. node project 만들기 - 이클립스에서 File > new > other > node > node.js project 4. 생성된 프로젝트내에 파일들을보면 hello-world.js, pakage.json 등 파일이 생성됨. 5. 해당프로젝트를 생성하면 콘솔에 Server running at http://127.0.0.1:1337/ 이 찍히고 브라우저로 접속해보면 HelloWorl.. 2019. 3. 12. node.js 설치 - 윈도우10 1. node.js 다운로드 : https://nodejs.org/ko/ 2. 다운로드한 node-v10.15.3-x64.msi 파일을 실행 후 설치완료 3. cmd창에서 node -v npm - v로 설치된 node , npm 버전확인 -npm (노드 패키지 매니저/Node Package Manager)은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자이다. 자바스크립트 런타임 환경 Node.js의 기본 패키지 관리자이다. 명령 줄 클라이언트(npm), 그리고 공개 패키지와 지불 방식의 개인 패키지의 온라인 데이터베이스(npm 레지스트리)로 이루어져 있다. 이 레지스트리는 클라이언트를 통해 접근되며 사용 가능한 패키지들은 npm 웹사이트를 통해 찾아보고 검색할 수 있다. 패키지 관리자와 레지스트리는 .. 2019. 3. 11. Git 명령어 1. git status : Local Repository 를기준으로 Remote Repository 와 다른파일들을 보여준다. 변경사항들을 체크한다. Changes not staged for commit - Remote Repository 에 올라가있고 추적이 되있는 파일들, 관리대상인 파일들 Untracked files - Remote Repository에 올라가 있지 않아서 깃이 추적을 하지 않는 파일들, 관리대상이 아닌파일들 ex) gitAddTest2.txt 파일은 로컬에서 생성 2. git add : git commit 전단계로 Remote Repository 에서 해당 파일을 추적한다. git add * : 변경된 모든파일을 stage 영역으로 변경 ex) git add gitAddTest2.. 2018. 12. 12. STS Java Virtual Machine Launcher 오류 개발환경 Os Windows 10 IDE STS 3.9.5 Jdk 1.8.0_172 Spring 5.0.9.RELEASE View Thymeleaf 1. Java Virtual Machine Launcher 오류 - 현재 로컬에 설정되어있는 STS.ini -startup plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.700.v20180518-1200 -product org.springsource.sts.ide --launcher.defaultAction openFile -vmargs -vm C:/Pro.. 2018. 10. 4. Spring Boot + Maven 웹프로젝트 시작하기_ application.properties 설정 개발환경 Os Windows 10 IDE STS 3.9.5 Jdk 1.8.0_172 Spring 5.0.9.RELEASE View Thymeleaf 1. application.properties - Spring boot 를 이용시 DB,Logging, Server port 등에 관한 설정을 적용하는 환경설정파일 (application.properties 에 대한 지식이 부족하여 해당내용은 나중에 더 보강해야됨) - 아래는 현재 글을 작성하면서 사용하고있는 설정들이고 DB나 log 등 추가설정도 가능하다. - 프로젝트 구조 - application.properties 내용 # =================================================================== # COM.. 2018. 10. 1. STS.ini 및 이클립스 설정변경 STS.ini 및 이클립스 설정변경 개발환경 Os Windows 10 IDE STS 3.9.5 Jdk 1.8.0_172 1. STS.ini 최적화 설정변경 현재 사용중인 STS.ini 설정내용 -startup plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.700.v20180518-1200-productorg.springsource.sts.ide--launcher.defaultActionopenFile-vmargs-Dosgi.requiredJavaVersion=1.8-vmC:/Program Files/Jav.. 2018. 9. 26. Spring Boot + Maven 웹프로젝트 시작하기_프로젝트생성 개발환경 Os Windows 10 IDE STS 3.9.5 Jdk 1.8.0_172 Spring 5.0.9.RELEASE View Thymeleaf 1.File > New > Spring Starter Project 2. 프로젝트의 사용할 Dependency 선택 - 저는 뷰단을 JSP가아닌 Thymeleaf 를 사용하기위해 Thymeleaf를 추가 3. run as > spring boot app - Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured - 아래와같이 에러가 떨어지는 것은 SpringBoot는 어플리케이션이 시작될 때 필요한 기본 설정들을.. 2018. 9. 21. SpringSTS Darkest Drak Theme 적용 IDE : SpringSTS 3.9.5 (Eclipse photon 4.8) Darkest Dark Theme 사이트 : https://marketplace.eclipse.org/content/darkest-dark-theme-devstyle Darkest Dark Theme 는 이클립스 4.6이상 부터 지원 기존에는 Eclipse Moonris UI Theme 를 사용했었는데 버튼변화를 주고싶어서 사용하게됨. Help > Eclipse Marketplace 2018. 9. 21. 이전 1 2 다음 반응형