목록분류 전체보기 (181)
개발자의 오르막
환경변수란? 환경변수는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임이다. 우리가 흔히 Java 와 golang 을 처음 설치할 때 설정해주는 JAVA_HOME, GO_PATH 처럼 서버에서 특정 값을 담아, 해당 변수만 호출하여 다른 프로세스도 그 값을 참조하게끔 사용하는 변수이다. 그렇다면 위의 환경변수는 우리가 개발할 때 어떤 용도로 많이 쓰일 수 있을까? 하나의 서버에서 여러 프로세스가 공통적으로 사용하는 정보 ex) DB 접속 정보, 언어 환경변수, 주키퍼와 같은 접속서버 하나의 프로세스가 여러 서버에 배포되는 경우 DEV, STAGE, PROD 등 같은 프로세스이지만 다른 서버에 배포될 때 우리는 제일 보편적으로 config 파일에서 사용하는 정보를 환경변수로 전달할 ..
Keyword FFmpeg , Process , JDK7 , Library , Framework Overview 우리는 개발을 할 때 서비스의 모든 것을 원천 개발하지 않습니다. 코드의 특성 상 재사용이 가능하기 때문에 서비스들간의 공통적인 기능들은 오픈소스로 제공되고 있으며, 이는 많은 개발자들의 시간을 단축시켜줍니다. 여러 오픈소스들은 GitHub 에서 수많은 개발자들의 이슈제기와 해결을 통해 리팩토링과 버전관리가 되고 있습니다. 위의 사이트는 MVNRepository 로 자바 개발을 할 때 필요한 라이브러리를 찾을 수 있는 사이트입니다. 각 라이브별 버전관리가 되어있으며, Maven, Gradle, Jar 등의 형태로 해당 라이브러리를 제공하고 있습니다. 우리는 dependency 에서 라이브러리 ..
Transfer Object Pattern Transfer Object Pattern 은 우리가 흔히 아는 VO (Value Object) 인 데이터를 전송하기 위한 객체이다. Dto 와 Vo 의 차이에 대해 여기서 사람들은 많은 혼동을 한다. 둘의 차이는 무엇일까? DTO (Data Transfer Object) Dto 란 데이터를 계층 간으로 전달하는 객체이다. 클라이언트에서 Controller 로 데이터를 받아오는 역할을 하며, Client 에서 Request 로 던지는 Parameter 를 그대로 받아오는 역할을 수행한다. 따라서 우리의 Service 에서 그대로 사용하는데 있어서 필드의 빈값이 존재할 수도 있고, 데이터 타입이 Service 에 적합하게 내려오지 않을 수 있다. 이에 대한 적합한..
비사이드에서는 네이버클라우드와 NHN 클라우드 중 선택해서 크레딧을 제공하고 있다. 나는 기존 AWS 와 GCP 를 사용해보았는데, 이참에 크레딧을 제공해주는 타 클라우드 플랫폼을 경험해보는 것도 나쁘지 않다고 생각했다. 서버 생성 → ACG 설정 → 공인 IP 할당 → 웹 서버 설치 서버생성 : 서버의 스팩과 OS를 결정 ACG 설정 : 해당 서버의 방화벽을 구성 공인 IP 할당 : 외부에서 해당 서버로 접근하도록 공인 IP를 할당 웹 서버 설치 네이버 클라우드에서 계정 및 크레딧을 신청한다. 네이버 클라우드에서 제공하는 무료 서버 스택 OS : CentOS 6.6(64bit) 서버스팩 : [Micro] 1vCPU, 1GB Mem, 50GB Disk 스토리지 : [HDD] 기본 50GB 포트 포워딩(서..
Logstash 의 Jsonevent-layout 이란? Logstash 의 jsonevent-layout 은 log4j를 위한 json Layout Format 을 지원하는 라이브러리이다. log4j 에서는 로그 레이아웃을 지원하기 위해 Appender 형식을 사용하는데, Jsonevent-layout 은 log4j 의 Appender 를 커스텀하여 지원한다. log4j.appender.uploadProcessFile.layout=net.logstash.log4j.JSONEventLayoutV1 따라서 우리는 log4j 의 1.x.x version 을 그대로 사용하면서 logstash 가 지원하는 JsonLayout 을 log4j Appender 로 사용할 수 있다. 추가 라이브러리 jsonevent-..
프로젝트 에서 log4j-1.12.16 → log4j-2.12.4 로 마이그 작업 중 이슈 발생 NoClassDefFoundError: Lorg/apache/log4j/Logger; 이유는 프로젝트 에서 공통 Utils.jar 파일을 의존하고 있는데, 공통 Utils.jar 파일이 log4j-1.12.16 라이브러리를 의존하고 있음 따라서, log4j-1.12.16 라이브러리를 삭제하면 kollus_utils.jar 파일에서 해당 클래스를 호출할 때 위의 이슈가 발생함. quartz-all-2.1.3.jar 과 slf4j-api-1.6.1.jar 를 의존하고 있음 StdSchedulerFactory.class 가 org.slf4j.Logger 를 의존하고 있음 java.lang.NoClassDefFoun..