본문 바로가기

분류 전체보기231

리눅스 - 명령어 정리 자주 사용하는 명령어와 명령어의 옵션들을 정리해논다. 많이 사용하는 것에서는 다양한 옵션을 정리하고, 자주 사용하지 않지만 알고 있어야하는 명령어들을 한 곳에 모아서 정리한다. cd (change directory) cd [디렉토리 경로] cd . - 현재 디렉토리 cd .. - 한 단계 상위 디렉토리로 이동 cd / - 최상위 디렉토리로 이동 cd or cd ~ or cd $HOME - 사용자 홈 디렉토리로 이동 cd $변수명 - 변수에 저장된 경로로 이동 cd ~계정명 - 입력한 사용자의 홈 디렉토리로 이동 cd - - 이전 경로로 이동 pwd (print working directory) pwd - 현재 작업 중인 디렉토리의 절대 경로를 출력해준다. mv (move) mv [옵션][이동 할 파일][.. 2021. 10. 14.
JPA - JPQL @Query 기록 JPA - JPQL 기록 해당 글은 jpql을 사용할때 쉽게 찾기 못했던 쿼리들을 정리하고 기록하는 용도이다. 정리하기 앞서 jpql은 Java Persistence Query Language에 약자로 관계형 데이터베이스의 엔티티에 대한 쿼리를 만드는데 사용한다. SQL 문법과 유사하지만 데이터베이스에 직접적으로 사용되는 것이 아닌 JPA 엔티티에 대한 동작이므로 JPQL의 쿼리문이 SQL 문법과 차이가 있으므로 정리해둔다. (지속적인 업데이트 예정...) LIKE 사용 시 @Query(value = "select c from Contact c where c.address like concat('%', :address, '%')") -> % 사용 Contact getContactByAddress(@Par.. 2021. 10. 12.
Bootstrap - grid 영역 이름으로 정의하여 사용 방법과 팁 Bootstrap - grid 영역 이름으로 정의하여 사용 방법과 팁 템플릿을 이용하다보면 대부분의 템플릿들이 부트스트랩을 사용하고 반응형을 위해 부트스트랩에서 제공하는 그리드를 사용하여 페이지 구성을 많이한다. 처음에 그리드를 접하면 바로 쉽게 이해가지는 않는다. 이번에 웹 페이지 작업 중에 그리드 형식을 직접 만들어야 하는 상황이 생겼고 이때 사용한 방법과 세부적으로 컨트롤 할 수 있는 팁(찾고 나니 별거 아니었는데 찾는데 시간이 참 걸렸다.)을 정리하려고 한다. 먼저 그리드를 사용할때 여러 방식들이 존재한다. 그중에 그리드를 이름으로 정의해서 사용하는 방법을 정리하려고 한다. 이렇게 되면 css에 선언을 해줘야 하는 것이 꽤 많아지지만 각 셀 별로 컨트롤 할 수 있다는 장점이 있다. 그리드에 기본 .. 2021. 10. 11.
JPA Auditing 을 이용한 생성 시간과 수정 시간 자동화하기 JPA Auditing 을 이용한 생성 시간과 수정 시간 자동화하기 스케줄 기능을 이용하여 전날에 문의 들어온 문의 개수를 알려주는 알람 기능을 구현하던 도중에 문의를 남겼을시에 카운트를 할 수 있지만 그렇게 되면 카운트 값을 저장을 해야하기 때문에 Audit Log을 위해 생성하였던 생성 시간을 이용하기로 하였다. 이때 사용되었던 JPA Auditing을 이용한 생성일과 수정일을 자동화하는 방법에 대해 정리한다. JPA Auditing을 사용하지 않고 메서드를 따로 만들어서도 가능하겠지만 그렇게되면 db에 수정이나 생성등의 작업이 이루어질때마다 메서드가 실행되야 되기 때문에 비효율적이며 코드도 지저분해진다. Date Entity 생성하기 각 Entity 마다 Date를 저장할 멤버 변수를 생성해도 되지.. 2021. 10. 8.
JAVA - String / StringBuffer / StringBuilder 정리 JAVA - String / StringBuffer / StringBuilder 정리 다음 3가지 클래스는 자바에서 대표적으로 문자열을 다루는 클래스들이다. 어떠한 차이점들이 있는지 정리해본다. String String과 StringBuffer/StringBuilder에 가장 큰 차이점은 String은 불변(Immutable)의 속성을 갖는다. 여기서 불변이란 객체가 생성된 후 내부의 상태가 변하지 않고 계속 유지되는 객체를 말한다. 이 말은 즉, 변수에 객체가 할당이 되면 해당 객체의 참조를 변경할 수도, 내부의 상태를 수정할 수도 없는 것이다. String str = "hi"; 를 선언한 후에 str = str + "hello"; 를 하게 되면 hi를 저장하고 있던 참조변수 str에 hello가 들어.. 2021. 10. 4.
Thymeleaf - Utility Object 함수를 활용한 문자열 변수 핸들링 하기 Thymeleaf - Utility Object 함수를 활용한 문자열 변수 핸들링 하기 게시판 작성중에 넘겨받은 이름을 보안상에 문제로 가운데 이름을 '*'로 바꿔서 렌더링을 해줘야 하는 경우가 생겼다. 템플릿 엔진으로는 thymeleaf를 사용하고 있었기에 thymeleaf가 제공해주는 기능이 없는지 찾아보았는데 역시나 있다. (찾아보면 왠만한건 다 구현..) 블로그로도 찾아보았는데 해당 경우가 없는거 같아서 글로 남겨둔다. 문법 먼저 사용법은 Utility Object 함수에서 제공해주는 strings 함수를 사용하면 된다. 사용법은 아래와 같다. ${#strings.substring(name,3,5)} 사용법 하지만 원하는 기능인 이름을 *로 변경하는 작업은 여러 기능을 합쳐서 사용해야된다. 먼저 .. 2021. 10. 2.