no image
The type className is already defined 에러 해결 방법
사소하고 단순한 문제지만 협업하다 보면 발생할 수 있는 문제로서 작성한다.자바 개발을 하다 보면 "The type 클래스명 is already defined" 에러를 마주칠 때가 있다.이 에러는 동일한 이름의 클래스가 이미 정의되어 있을 때 발생한다. 1. 중복 클래스 이름 확인동일한 패키지 내에 동일한 이름의 클래스가 두 번 정의되어 있을 수 있다.이를 해결하기 위해서프로젝트 내 클래스명 검색: 프로젝트 전체에서 클래스명을 검색하여 동일한 이름의 클래스가 여러 곳에서 정의되어 있는지 확인중복 클래스명 변경: 중복된 클래스 중 하나의 이름을 변경하여 충돌 회피 2. 동일한 파일에서 중복 정의 확인같은 파일 내에 동일한 이름의 클래스를 두 번 정의한 경우이를 해결하기 위해서는파일 내용 확인: 클래스가 정의..
2024.06.25
no image
SMTP 발송 vs SMTP 릴레이(Relay) 발송: 차이점과 장점
현재 운영중인 서비스 중 특정 프로세스에 접근 시 사용자 2차 인증 과정이 필요하다.현 프로세스에서 2차 인증 시, 2가지 방식으로 인증이 가능하다.1. FIDO 기반 2차 인증2. 외부 메일을 통한 OTP 인증위와 같이 2가지 방식으로 인증이 가능한데, 오늘은 2번 [외부 메일을 통한 OTP 인증] 시에 발생한 문제 사항에 대해 다루어 보려고 한다.서론현재는 OTP 인증 코드를 [일반 SMTP 발송]을 통해 처리하고 있었다.평소에는 위와 같은 방식이 문제없이 처리 되었지만, 특정 시즌이 되면 사용자가 몰리는 특성을 가진 서비스이기에 사용자가 몰릴 경우 아래와 같은 크리티컬한 문제들이 발생했다.1. 발신 서버 과부하2. 수신자 서버에서 이메일을 거부하거나 스팸으로 분류위 사항들을 개선하기 위하여 [SMT..
2024.06.24
no image
[ORACLE] 트리거(Trigger)를 이용한 테이블 수정 이력 관리
데이터베이스에서 데이터의 변경 이력을 관리하는 것은 매우 중요하다.사용자가 데이터를 수정하거나 삭제하는 경우, 그 내역을 저장하여 추후에 어떤 변경이 있었는지 추적할 수 있어야 한다.이를 위해 Oracle에서는 트리거를 사용하여 테이블의 수정 이력을 관리할 수 있다.이번 포스팅에서는 트리거를 이용하여 수정 이력을 관리하는 방법을 알아보자. 1. 사용자 작업 테이블 생성먼저 사용자가 직접 데이터를 삽입(insert), 수정(update), 삭제(delete)할 수 있는 테이블을 생성한다.예를 들어, users 테이블이라고 가정하여 생성해 보자.(실제 운영 테이블은 예시와는 비교도 안될 정도로 복잡할텐데, 예시니까^^. 참조만 부탁드립니다)CREATE TABLE users ( id NUMBER PRIMAR..
2024.06.21
no image
[영화] 원더랜드 (후기, 쿠키)
*지극히 주관적이고 개인적인 후기이므로 참고만 해주시면 감사하겠습니다.개봉: 2024년 06월 05일장르: 드라마국가: 대한민국출연진: 탕웨이, 수지, 박보검러닝타임: 113분스토리: ⭐⭐☆ ☆ ☆ 연기력: ⭐⭐⭐ ☆ ☆ 총평점: ⭐☆ ☆ ☆ ☆ 쿠키: O 혹평이 가득했던 영화였다.그와 반대로 직업과 관련된 내용이라 그런지 흥미로웠던 영화였다.빠르게 발전하는 기술력을 본다면 이러한 시대도 멀지 않았다는 생각이 든다.신선한 소재, 흥미로운 주제였지만 관객으로서는 아쉬운 부분이 많았다.
2024.06.18
no image
[Linux] AH00548: NameVirtualHost has no effect and will be removed in the next release
Apache 웹 서버를 사용하다 보면 로에 "AH00548: NameVirtualHost has no effect and will be removed in the next release"와 같은 메시지를 보게 될 때가 있다. 이는 Apache 2.4 버전에서 나타나는 경고 메시지로, 다음 릴리즈에서는 해당 구문이 제거될 예정임을 알리는 것이다. 이 메시지의 원인과 해결 방법에 대해 알아보자. 원인Apache 설정 파일에서 NamevirtualHost 지시어가 더 이상 사용할 필요가 없기 때문에 출력된다.Apache 2.2 버전에서는 여러 가상 호스트를 설정하기 위해 NameVirtualHost 지시어를 사용해야 했다.하지만 Apache 2.4 버전부터는 이 지시어가 필요 없도록 변경되었다.Apache 2..
2024.06.04
no image
[책] 4개의 통장
*지극히 주관적이고 개인적인 후기이므로 참고만 해주시면 감사하겠습니다.평점: ⭐⭐⭐ ☆ ☆ 오래된 책이지만 통장 관리에 대한 시작점을 잘 설명해 주는 책이라고 생각한다. 급여통장(고정지출) + 소비통장(생활지출) + 예비통장(예비자금) + 투자통장(투자관리)위와 같이 4개의 통장을 이용하여 돈을 관리하라단기 투자시 원금 손실이 낮고 위험성이 낮은 채권형장기 투자시 물가 상승에 따른 돈의 가치 유지가 중요하므로 위험성은 높지만 금리보다 높은 수익률을 기대 가능한 주식형복리 투자를 이용하여 장기 투자하라
2024.05.28
no image
[영화] 그녀가 죽었다 (후기, 쿠키)
*지극히 주관적이고 개인적인 후기이므로 참고만 해주시면 감사하겠습니다.개봉: 2024년 05월 15일장르: 미스터리, 스릴러국가: 대한민국출연진: 변요한, 신혜선, 이엘러닝타임: 103분스토리: ⭐⭐⭐ ☆ ☆ 연기력: ⭐⭐⭐⭐⭐총평점: ⭐⭐⭐⭐ ☆ 쿠키: ❌️평론가 후기에 있는 '정시우'님 평론이 가장 와닿는 영화 후기인 것 같다.  누군가는 훔쳐보고 싶어 하고(‘관음’), 누군가는 보여주고 싶어 한다(‘관종’).이 영화에서 전자가 궁금해하는 건 관음 대상의 ‘진짜’ 모습이고, 후자가 지켜내고 싶은 건 노출되기 싫은 자신의 ‘진짜’ 모습이다.
2024.05.20
no image
Apache-Tomcat server.xml 파일이란?
서론Apache-Tomcat은 널리 사용되는 오픈 소스 서블릿 컨테이너다.Java 기반 Web Application을 구동하는데 필수적인 역할을 한다.톰캣 설정 파일 중 하나인 server.xml은 서버의 다양한 요소와 동작을 정의하는 데 사용된다.예를 들자면 포트, 이벤트 리스터, DB 접속정보, 웹 리소스 참조경로 등 다양한 정보를 설정가능하다.그럼 server.xml에 대해서 알아보자. server.xml 위치톰캣의 server.xml 파일은 보통 conf 폴더 내에 위치하게 된다. 본론1. server는 톰캣 서버의 최상위 요소로, 서버의 전체 설정을 정의한다.- port: 톰캣이 종료 명령을 수신할 포트 번호 (기본값은 8005)- shutdown: 톰캣을 종료하기 위한 명령어 (기본값은 SHU..
2024.05.16
no image
[Linux] 서버 점검을 위한 Bash 스크립트
매번 리눅스 서버 점검할 때마다 명령어를 날려야 한다는 건 매우 번거로운 일이다.물론, 상세한 정보와 정확한 파악을 위해서는 직접 명령어를 날리며 상세 내역을 확인하는 것이 옳다고 생각한다.하지만 간단한 점검 차원이라면 스크립트를 이용하여 다양한 시스템 정보를 한눈에 확인할 수 있다. 스크립트 소개아래 스크립트는 다음과 같은 기능을 수행한다.시스템 정보 출력: 운영체제 버전, DB 버전 및 현재 시간 출력시스템 리소스 모니터링: CPU, 메모리, 스왑 사용량 출력 파일 시스템 사용량 출력: 각 파일 시스템의 사용 용량 및 상태 출력 디스크 건강 상태 확인: SMART Health Status를 통한 디스크 건강 상태 확인 부팅 정보 출력: 시스템 부팅 시간 및 운영 시간 출력 현재 로그인 사용자 목록 출..
2024.05.13