본문 바로가기

기타

(6)
Envelope pattern(봉투 패턴) - Rest API Design Pattern - 삽질중인 개발자 - Envelope Pattern - 최근 점점 더 많은 서비스들이 Rest API 형태로 개발이 되고 있다. 이런 Rest API를 개발하다 보면 응답 값은 어떤 식으로 넘겨줘야 할 지에 대해서 고민을 하게 된다. 이 포스트에서는 데이터를 캡슐화하는 방법 중 하나인 Envelope Pattern에 대해서 설명한다. 우선 멤버(Member)라는 객체가 있다고 가정을 해보자. public class Member { private Long id; private String name; private int age; } 멤버 객체를 JSON 형태로 표현을 한다면 아래와 같이 나오게 된다. { "id" : 1, "username" : "홍길동", "age" : 15 } 만약 이 멤버를 여러 명을 조회해야 하는 A..
H2 DB 설치 및 사용법 - 삽질중인 개발자 - H2 DB 설치 및 사용방법 - 1. H2 database 다운로드 후 설치 H2 Database 홈페이지에서 all download-> Last Stable 버젼 다운로드 2. 압축을 풀고 OS에 맞는 실행파일 실행 (h2.bat or h2.sh) 3. 실행이 되면 인터넷 브라우저가 실행되는데 해당 IP 주소에서 localhost로 변경해준다. http://IP주소:8082/login.jsp?jsessionid=d6ea708cd06ce124372296a97ad566a2 -> http://localhost:8082/login.jsp?jsessionid=d6ea708cd06ce124372296a97ad566a2 이때 jsessionid 는 건들지 말기 -> 파일 모드로 파일은 만들기 위해 세션 키값이 ..
Zulu OpenJDK 11 (LTS) 다운로드 및 설치 방법 - 삽질중인 개발자 Oracle JDK 가 유료로 전환됨에 따라 무료로 JDK를 사용하고 싶다면 기존 Oracle JDK를 OpenJDK로 변경을 해야한다. OpenJDK의 벤더는 여러곳이 있는데 그중 TCK 인증이 된 Zulu의 OpenJDK를 설치하는 방법이다. 다운로드 방법 1. Zulu 홈페이지에 접속한다. 2. 왼쪽 상단에 있는 Download Zulu을 클릭한다. 3. Java Version 에 Java 11 (LTS) 선택 후 OS 선택후 자신에 맞는 msi 파일 다운로드 4. 설치 후 CMD에서 java -version 입력후 아래와 같이 OpenJDK가 나오면 된다. openjdk version "11.0.9.1" 2020-11-04 LTS OpenJDK Runtime Environment Zulu11.43..
JAR vs WAR 차이점 - 삽질중인 개발자 JAR & WAR java 기반의 application의 배포 형태이다. JAVA JAR TOOL을 이용하여 압축한 압축 파일이다. ( 즉, 둘이 같은 압축 형태 ) JAR와 WAR는 사용 목적이 다르다. JAR Java ARchive path 정보를 유지한 상태로 압축한다. 자바 클래스 파일과, 각 클래스들이 사용하는 관련 리소스파일 및 메타데이터을 압축한 파일이다. 실제로는 ZIP 파일 포맷으로 압축된 파일이다. WAR Web application ARchive 웹 어플리케이션을 어떻게 설정할 지에 대한 정의가 있는 web.xml 파일이 있다. 자바 서버 페이지, 자바 서블릿, 자바 클래스, XML, 파일, 태그 라이브러리, 정적 웹페이지(HTML 관련 파일) 및 웹 application을 구성할 때..
[java , javascript ] 비밀번호 정규 표현식 (숫자,영문,특수문자 각 1개 이상) - 삽질중인 개발자 숫자, 영문, 특수문자 각 1자리 이상이면서 8자에서 16자 사이 통과 ex) test1234% (O) ex) test12341234 (X) ex) test123 (X) ex) test123!@가나다 (O) ^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[$`~!@$!%*#^?&\\(\\)\-_=+]).{8,16}$ 숫자, 영문, 특수문자 각 1자리 이상 ( 그외 글자 X ) ex) test1234% (O) ex) test12341234 (X) ex) test123 (X) ex) test123!@가나다 (X) ^(?=.*[a-zA-z])(?=.*[0-9])(?=.*[$`~!@$!%*#^?&\\(\\)\-_=+])(?!.*[^a-zA-z0-9$`~!@$!%*#^?&\\(\\)\-_=+]).{8,1..
[ google smart lock ] 자동으로 채우기 막기 이곳 저곳 찾다보면 여러가지 방법이 나오지만 사람들마다 다 다른것 같다. 이 중에서 되는거 하나 골라서 사용하면 된다. google smart lock 은 기본적으로 input[type=password] 인 경우 password input 위에 있는 input tag 랑 password input 이랑 같이 인식을 한다. 즉, 브라우저에서 password input을 인식 못하게 하면 된다. 1. readonly onfocus="this.removeAttribute('readonly');" 주기 이 방법을 쓰면 브라우저에서 처음 열릴 때 readonly 라서 접근을 못한다. 하지만 사용자가 마우스로 포커스를 맞추면 readonly 속성을 제거하는 방법이다. 2. autocomplete="off" 주기 f..