반응형

2024/05 4

[개발관련] JAVA_ SLF4J와 Logback에 대한 이해(+ServiceLoader)

들어가며실무에서 로그의 중요성을 체감하고 있습니다. 이번에 개발한 스케줄러에 예외 및 로깅을 보완하는 김에 로그의 기본적인 개념과 Java진영의 로그 라이브러리인 SLF4J, 그리고 LogBack 대하여 알아보았습니다. 로그(Log)의 의미과거 항해일지 등을 통나무(Log)에 기록한 것에서 유래하여 기록하는 것을 로그라고 칭한다고 합니다.개발 분야에서는 시스템이나 애플리케이션 등이 남긴 기록을 로그라고 부릅니다. 로그는 문제 해결의 단서가 되기 때문에 트러블 슈팅을 할 때 로그를 잘 보는 것과 개발을 할 때 로그를 잘 남기는 것이 굉장히 중요합니다.로그의 예로는 OS에서 기록하는 Syslog, Apache Tomcat이 기록하는 catalina.out 등이 있습니다. 그리고 이클립스나 인텔리제이 IDE에..

개발/개발 2024.05.24

[개발관련]JAVA_ Getter/Setter vs Field Direct Access 비교

회사에서 필드의 접근제한자를 private 가 아닌 public으로 사용하고, Getter/Setter 없이 직접 필드에 접근하여 연산처리하는 소스를 만났다. 아무래도 Getter/Setter 메서드를 호출할 때마다 Call Stack에 메서드가 쌓였다가 사라질 테니 필드에 직접 접근하여 연산하는 것보다 성능이 좋지 않을 것이라고 생각했다. 하지만, 은닉, 캡슐화를 위반하는 듯하여 이를 Getter/Setter로 변경하였을 때 성능이 얼마나 안 좋아질지 시간을 측정해보고자 하였다. 대략 간단하게 필드 직접 접근 10억번 반복 vs Getter/Setter 10억 번 반복을 비교해 보았다.package practice; public class GetterDirect { public static void m..

개발/개발 2024.05.17

[개발관련] firewall-cmd, zone, service

보안 조치 때문에 firewall-cmd 명령어를 이것 저것 사용해보고 있다.목적은 기본적으로 모든 인바운드를 드랍하고 특정IP:특정서비스(port)만 허용하는 것.TCPWrapper인 경우 /etc/hosts.allow, /etc/hosts.deny 파일을 편집하여 설정하라고 하는데, Rocky8버전인지라 firewall-cmd 를 이용하여 ACL(Access Control List, 접근제어리스트) 을 설정해주어야 한다.firewall-cmd 를 사용해보면서 조금 알게된 부분을 기록한다.[이해]1. zone: 방화벽 정책 그룹 정도로 이해. public, dmz, drop, internal, external, home 등이 있다. NIC에 매핑할 수 있다. -> 공용 네트워크에서 갖추어야 할 보안 정..

개발/개발 2024.05.06

[개발관련] Rocky8 비밀번호 5회 틀림 잠김 처리 (authselect, pam.d, faillock)

리눅스 보안 조치 중 비밀번호를 5회 이상 틀릴 경우 해당 계정이 잠기도록 설정할 일이 생겼다.이해 -> 조치 -> 실패 -> 다른 조치 -> 성공의 과정을 겪었다.결론은 rocky8 버전에서 직접 pam.d 디렉터리 하위의  파일을 수정하였을 때 제대로 동작하지 않았다.authselect를 이용하여 faillock 모듈을 enable 처리하고, faillock 모듈의 설정을 /etc/security/faillock.conf 에서 세팅해 주면 그대로 동작하게 된다.직접 설정 파일을 변경해주던 것에서 점점 전용 명령어(인터페이스)를 사용하게 되는 것 같다. EX) network-script -> nmcli 이해아래의 글을 보고 리눅스 PAM 모듈에 대해 이해하였다.출처:이글루 Security Issue리눅..

개발/개발 2024.05.04
반응형