본문 바로가기
728x90
반응형

분류 전체보기278

[SpringMVC] @Value로 Static 변수에 값 주입할 수 있을까? Spring에서 @Value 어노테이션은 application.properties와 같이 프로퍼티에 정의된 값을 주입하는데 사용된다.@Value 어노테이션 사용 방법.propertiesapp.name=MyApplicationapp.version=1.0.0  .java@Componentpublic class AppConfig {    @Value("${app.name:default}")    private String appName;    @Value("${app.version:0}")    private String appVersion;}보통 이렇게 @Value 형식에 맞춰 properties 값을 주입하여 주면 간단히 사용할 수 있지만 한 가지 주의할 점이 있다.@Value로 값을 주입할 변수가 sta.. 2024. 12. 10.
[SpringFramework] 서비스 중인 WAS 트러블슈팅 (with. Spring) WAS에서 에러가 발생하는데 GlobalException으로 잡히거나 Elastic의 HighLevel 클라이언트를 쓰는 경우 정확한 에러 파악이 어려울 수 있다 서버에서 발생한 에러 로그를 보고 파악하는 것이 가장 빠르고 간단한 방법이지만 에러 로그만으로 파악이 어려운 상황이 많고, 서버와의 환경이 달라 로컬(IDE)에서는 에러가 재현되지 않는 경우도 있다.서버 에러 확인 방법1. 에러가 발생하는 메서드의 에러 처리 (try/catch)를 제거한다.try {}catch(Exception e) {}2. log.debug()로 에러 발생이 의심되는 (Http 호출 등) 지점들에 로그를 찍는다log.info("호출 전 카운트 값 : {}", count);// 에러 의심 지점log.info("호출 후 카운트 .. 2024. 12. 9.
[PostgreSQL] 데이터베이스 서버 보안 취약점 방지 실제 운영중인 서비스에서 데이터베이스의 보안은 매우 중요한 문제이므로 보안 관련 설정을 적용하여 취약점을 미리 방지하는 것이 좋다.  PostgreSQL은 데이터베이스 보안을 강화하기 위해 다양한 설정과 기능을 제공한다. 특히 서버 설정 파일을 통해 암호화를 적용하고 안전한 인증 방식을 사용할 수 있다. 이 글에서는 PostgreSQL의 pg_hba.conf 파일을 중심으로 hostssl 및 scram-sha-256 설정 방법과 관련 정보를 다룬다. pg_hba.conf 파일 개요경로: /var/lib/postgresql//main/pg_hba.conf역할: PostgreSQL의 호스트 기반 인증(HBA, Host-Based Authentication) 방식을 정의하며, 클라이언트 접속을 제어한다. 1... 2024. 10. 22.
[Tomcat] 네트워크 설정으로 서버 성능과 보안 향상시키기 WAS로 가장 많이 사용되는 톰캣의 네트워크 설정에 대해 알아보자  톰캣의 네트워크를 설정하려면 server.xml 파일을 확인해야 한다.[Tomcat 설치 경로]/conf/server.xml server.xml 파일은 서버 설정을 관리하는 핵심 구성 파일 중 하나이며 그 중 태그는 클라이언트와 서버 간의 연결을 관리하는 역할을 한다. 는 특정 프로토콜(HTTP, HTTPS, AJP 등)에 따라 클라이언트 요청을 처리하는 포트를 지정하며, 다양한 속성을 통해 성능, 보안, 기타 여러 항목을 세밀하게 조정할 수 있다.  SSL을 통한 HTTPS 설정 예시위와 같이 SSL을 적용해야 한다던가 네트워크 관련 설정을 변경해야 할 경우 이런 식으로 다양한 속성들을 활용하여 설정해줄 수 있다. Connector .. 2024. 10. 22.
[PostgreSQL] 테이블 데이터 파일로 간단하게 백업하기 개발하다 데이터를 잠깐 백업해야 하는데 pg_dump..등 사용하기 귀찮을 때 간단하게 백업하는 방법  1. 테이블 데이터 백업하기 (Backup)PostgreSQL에서 COPY + TO 명령어를 사용하여 테이블 데이터를 파일로 백업할 수 있다.#COPY {schema.table} TO '{backup_path}' DELIMITER ',' CSV HEADERCOPY test.user TO '/path/to/backup/user.csv' DELIMITER ',' CSV HEADER;  2. 백업 데이터 복구 (Restore)백업된 CSV 파일을 다시 테이블로 복구하려면 COPY + FROM 명령어를 사용하여 데이터를 복구할 수 있습니다.# COPY {schema.table} FROM '{file_path}.. 2024. 10. 22.
[Linux] 노트북으로 개인 Linux 서버 만들기 백엔드 개발자로 살다보면 서버가 필요한 경우가 많은데 그럴 때 마다 AWS를 사용하기에는 비용적인 부담이 크다.. 남는 노트북(PC)이 있다면 직접 서버를 만들어 사용하면 된다.  💡준비물 : 노트북, USB 혹시 이렇게 노트북 모니터가 깨져서 뽑아버렸다면 HDMI 케이블로 다른 모니터에 연결해주면 된다. ⏩️ 진행 단계 : Ubuntu 설치 - USB 부팅 디스크 만들기 - USB로 부팅 1. Ubuntu 설치*Ubuntu 말고 다른 배포판을 사용하고 싶다면 원하는 운영체제를 다운받으면 된다. 아래의 링크에서 Ubuntu Server 다운로드https://ubuntu.com/download/serverUbuntu Desktop도 있지만 서버로 사용할거면 굳이 GUI는 필요 없기 때문에 서버로 사용하는.. 2024. 10. 3.
[Java] MyBatis: ClassNotFoundException 트러블 슈팅 (JVM 네이밍 규칙) InnerClass 사용 시 Mybatis에서 ClassNotFound 에러를 발생시키는 원인인 JVM의 클래스 네이밍 규칙..? TDD 개발 중 Mybatis 매퍼 파일에 쿼리를 작성하여 실행했을 때 resultType으로 InnerClass인 Authority 클래스를 사용한 쿼리들에서 ClassNotFoundException이 발생했다. 이래서 테스트 주도 개발이 중요하다.... SELECT authority_id AS authorityId, authority_name AS authorityName, created_date AS createdDate FROM authorities Caused by: java.lang.ClassNotFoundException: Cannot find class: kr... 2024. 9. 18.
[Server] WebtoB(WEB) & Tomcat(WAS) 연동. with ReverseProxy WebtoB의 Reverse Proxy를 이용하여 외부 서버에 WebtoB를 두고 내부 서버에 WAS를 두어 연동하는 방식은 보안, 성능, 유지보수 측면에서 유리하기 때문에 많이 사용된다. WebtoB는 TmaxSoft에서 제공하는 고성능 웹 서버이다.WAS는 일반적으로 HTTP Listener를 가지고 있는데, WebtoB는 reverse proxy 설정을 통해 WAS의 HTTP Listener와 연결 을 맺어 연동하게 된다. WebtoB 라이센스 발급우선 WebtoB를 실제 운영 시스템에 사용하는 것이 아니라 학습 또는 테스트 목적으로 진행할 경우 데모 라이선스를 발급받아 일정 기간동안 무료로 사용할 수 있다.데모 라이선스는 제품 구입 전 테스트 및 검토를 위하여 제한된 기간 동안 발급받아 사용 가능.. 2024. 9. 18.
[JavaScript] 집합(Set) 자료형 사용하여 시간복잡도 줄이기 a배열을 반복하며 b배열에 a의 값과 일치하는 값이 있다면 a[?] 값을 1로 변경해야 한다. // 예시 데이터let a = [ { id: 1, value: 0 }, { id: 2, value: 0 }, { id: 3, value: 0 }];let b = [ { id: 2, value: 1 }, { id: 4, value: 1 }]; 기존 로직 - 이중 반복문기존에는 배열을 순차적으로 돌며 값을 비교하기 위한 가장 쉬운 방법인 이중 반복문을 사용하였다.a 배열의 크기만큼 (i)를 반복한다.b 배열의 크기만큼 (j)를반복한다.a배열의 i와 b배열의 j번째 값을 비교한다.값이 일치한다면 a[i]를 1로 변경한다. for (let i = 0; i  외부 반복문이 a.length만큼,.. 2024. 8. 29.
728x90
반응형