목록분류 전체보기 (231)
도찐개찐
방화벽(firewalld)은 IPv4, IPv6, 이더넷 브리지 및 IPSet의 방화벽(firewall) 설정을 지원하는 리눅스(linux) firewall 관리 도구이며, linux 커널 netfilter 프레임워크의 프런트 엔드 역할을 하는 RHEL 7 제품군의 기본 firewall 관리 소프트웨어입니다. 우분투(ubuntu)의 기본 firewall 시스템은 UFW(uncomplicated firewall)이지만, firewalld를 설치하여 사용할 수 있습니다. 이 포스트에서는 ubuntu 환경에서 패키지로 firewalld를 설치하고 설정하는 방법을 소개합니다. UFW 설정 방법은 우분투(Ubuntu) 환경에 방화벽(UFW) 설정하기 포스트를 참고하시기 바랍니다. 선행조건(PREREQUISITE)..
Docker daemon은 기본적으로 /var/run/docker.sock에서 생성된 unix domain socket(IPC socket)을 사용하여 통신하는데, root 권한이 있거나 사용자가 docker 그룹의 멤버이어야 한다. sudo 없이 docker 명령어를 사용하려면, 'docker' 그룹에 사용자를 추가해야 한다. $ sudo usermod -aG docker $USER 로그아웃 후 재접속 $ exit sudo 없이 docker 명령이 실행되는 것을 확인한다. $ docker ps -a
아래 명령어로 hosts 파일을 편집툴로 엽니다. $ sudo vi /etc/hosts 파일 내용을 수정 후, ESC를 누르고 "Shift + :"을 누르고 qw 입력 후 enter 를 누르면 저장이 됩니다. 127.0.0.1 localhost 255.255.255.255 broadcasthost ::1 localhost 터미널에서 아래 명령으로캐시를 갱신하면, 수정한 호스트 파일이 바로 적용됩니다. $ dscacheutil -flushcache
Mapper XML과 DAO Interface를 연결해주는 MapperFactoryBean을 사용하지 않고, SqlSession을 DAOImpl 클래스에 의존성을 주입(DI)해 사용해보자. MapperFactoryBean은 **DaoImpl 클래스가 필요 없는 대신 DAO 인터페이스가 늘어날 때마다 root-context.xml에 bean을 등록해줘야 하는 반면에 SqlSession을 **DaoImpl 클래스에 DI해 사용하면 bean 객체를 추가해주지 않아도 되지만 DAO 인터페이스를 구현하는 DAOImpl 클래스를 필요로 한다. root-context.xml을 열어 MapperFactoryBean 객체를 추가해줬던 코드를 주석 처리한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15..
들어가며 transient키워드를 이해하기 위해서는 Serialize에 대한 이해가 필요합니다. https://dev-truly.tistory.com/entry/JAVA-%EC%A7%81%EB%A0%AC%ED%99%94Serialize Java transient이란? transient는 Serialize하는 과정에 제외하고 싶은 경우 선언하는 키워드입니다. 왜(Why) 필요할까요? 패스워드와 같은 보안정보가 직렬화(Serialize) 과정에서 제외하고 싶은 경우에 적용합니다. 다양한 이유로 데이터를 전송을 하고 싶지 않을 때 선언할 수 있습니다. Example Model class Member implements Serializable { private String name; private String ..
직렬화(Serialize)란? 직렬화(Serialize) 자바 시스템 내부에서 사용되는 Object 또는 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술. JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술 역직렬화(Deserialize) byte로 변환된 Data를 원래대로 Object나 Data로 변환하는 기술을 역직렬화(Deserialize)라고 부릅니다. 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태. 직렬화(Serialize) 시작하기 직렬화(Serialize) 조건 java.io.Serializable 인터페이스를 상속받은 객체는 ..
Rest Api 애플리케이션 개발에 있어 API 스펙에 대한 문서작업은 적지 않은 시간을 요구합니다. 또한 운영을 하게 되면서 지속적으로 문서를 업데이트하는 것 또한 많은 리소스가 필요합니다. 이러한 시간을 단축시키기 위해 문서 자동화 프레임 워크를 이용하는 방법이 있습니다. 대표적으로 Swagger, Spring REST Docs가 있는데 그중 Swagger 적용 방법에 대해 알아보겠습니다. 1. Dependency 설정 Maven io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui 2.9.2 Gradle // https://mvnrepository.com/artifact/io.springfox/springfox-swagger..
웹어플리케이션 개발 중 날짜 형태 표기에 대한 부분이 개발 언어별로 다르기 때문에 가끔 헷갈릴때가 있습니다. 물론 자바 개발시에도 예외는 아니기도 하고 개발 방법에 따라서 TimeStamp, Date, String, LocalDateTime 등 다양한 방법으로 개발 하게 되는데요 본 포스팅에서는 각 타입의 데이터를 받아서 Thymeleaf로 formatting 를 하는 방법에 대해서 정리해 봤습니다. 타임리프를 사용하는데 타임리프가 존재 하지 않으면 안되겠죠? 1. 타임리프 종속성 추가 maven org.thymeleaf thymeleaf 3.0.11.RELEASE gradle // build.gradle // thymeleaf implementation group: 'org.thymeleaf', nam..