울음참고 개발공부
article thumbnail
TIL | 리눅스 내에서 war 파일 배포시 자바경로 문제로 발생한 500 에러 해결 과정
TIL 2025. 2. 11. 14:28

문제 상황 springboot 프로젝트로 생성한 war 파일을 리눅스에서 실행하던 중 500 오류가 발생했다 최초 배포가 아닌, 수정사항 반영후 재 배포한 상태에서 갑자기 뜬 오류였고 이에 대한 해결과정을 다뤄보고자 한다.   내용 : WARN  10:55:01.827 [main] org.apache.tomcat.util.scan.StandardJarScanner[log:175] - Failed to scan JAR [war:file:/home/folder/project.war*/WEB-INF/lib/spring-security-taglibs-5.2.0.RELEASE.jar] from /WEB-INF/lib java.io.IOException: Unable to open root Jar file 'war..

TIL | Quartz 에서 Clustering 기능의 의미
TIL 2025. 2. 5. 13:11

Quartz 란 ? -자바(Java) 기반의 오픈 소스 스케줄러 라이브러리-특정 작업(Job)을 정해진 시간(스케줄)에 맞춰 자동으로 실행해주는 도구- DB 연동 및 클러스터링 기능 제공    Quartz 에 대해서 공부하던 중, 클러스터링 기능을 제공한다는 것에 대한 이해가 되지 않았다. 애초에 클러스터링 개념에 대해 잘 알지못하는 것도 있었다.    📌 'Quartz 에서 클러스터링 기능을 제공한다'는 의미에 대해 알아보자   Clustering 의 일반적인 개념내가 기존에 클러스터링에 대해 알고 있던 개념은 다음과 같다( 정처기 공부할 때 배운내용임 ) 두 대이상의 서버를 하나의 서버처럼 운영하는 기술서비 이중화 및 공유 스토리지를 사용하여 서버의 고가용성을 제공함클러스터링 종류고가용성클러스터링하..

AOP 동작 방식
Spring & Spring Boot 2025. 2. 4. 16:07

AOP(Aspect-Oriented Programming) 가 프록시 기반으로 동작하는 원리   - AOP 는 Spring의 프록시 기반 방식으로 동작하기 때문에 @Controller 이든 @RestController 이든 @Component 이든 Spring이 관리하는 Bean 이면 적용된다. @Controller vs @RestController 차이점- @Controller : 주로 View(HTML,JSP) 반환하는 MVC 컨트롤러- @RestController : JSON 데이터를 반화하는 REST API 컨트롤러(@ResponseBody 가 기본 적용)  동작 예시 ) [ AOP 적용 전 ]@Servicepublic class SampleService { public void doSomethi..

Spring에서 @Autowired와 static 메서드 사용 시 NullPointException
Spring & Spring Boot 2025. 1. 22. 17:57

해당 글에서는 @Autowired로 주입된 빈을 static 메서드에서 사용하려고 할 때 NullPointerException 이 발생하는 원인과 해결방안에 대해 다루려고 한다.   문제 상황 static 메서드 exctractBrandName() 에서 @Autowired로 주입된 someDAO를 사용하여 실행하면 NullPointerException이 발생한다.  @Slf4j@Service("dataService")public class DataService { @Autowired private someDAO someDAO; public static String extractBrandName(String input) throws Exception { List brandNam..

article thumbnail
코딩테스트 입문 > 최빈값 구하기

오랜만에 진행한 코딩테스트.... 입문 문제 이게 맞나.... ? 3시간 가까이 걸린....       각 풀이과정은 주석을 통해 작성했다 다소 직관적일 수 있다는 점 ㅜㅜ 느낀점은 step by step 이 중요하다는 점이다 손코딩을 통해 실제로 내가 어떻게 비교하는지 로직 생각 -> 코드로 풀어쓰기       import java.util.*;class Solution { public int solution(int[] array) { // 배열이 하나일경우 최빈값 바로 반환 if(array.length == 1) return array[0]; Map maxMap = new HashMap(); // Step 1: 배열..

유클리드 호제법
코테연습/알고리즘 2024. 12. 18. 13:47

유클리드 호제법: 두 수의 최대공약수(GCD)를 구하기 위한 수학적 알고리즘  반복적으로 큰 수를 작은 수로 나누면서 나머지를 계산해, 나머지가 0이 될 때의 나누는 수를 GCD로 반환    유클리드 호제법의 원리 두 정수 A와 B의 최대공약수를 구하려고 할 때:A%B 를 계산하여 나머지를 구한다.A를 B로, B를 나머지로 바꾼다.나머지가 0이 될 때까지 이 과정을 반복한다.나머지가 0이 되면, 그때의 B 값이 GCD가 된다.    유클리드 호제법 구현 (Java 코드) class GCDExample { public static int getGCD(int a, int b) { // 유클리드 호제법 while (b != 0) { int temp = b; ..

SFTP( SSH File Transfer Protocol ) 란 ?
CS 용어 및 개념 2024. 11. 21. 09:27

[ 개념 ] SSH(Secure Shell) 기반으로 작동하는 파일 전송 프로토콜파일 전송뿐만 아니라 디렉토리 관리, 파일 권한 설정 등 다양한 작업을 암호화된 채널에서 처리할 수 있음   [ 주요 특징 ] 암호화데이터 전송은 SSH를 통해 암호화 되며, AES, Blowfish 같은 강력한 암호화 알고리즘이 사용됨인증 방식비밀번호 인증 : 간단하지만 보안상 취약할 수 있음SSH 키 인증 : 공개 키 / 개인 키 쌍을 사용해 더 높은 보안성을 제공함다중 인증(MFA) : 일부 환경에서는 추가 보안을 위해 OTP, 인증 앱과 함께 사용.     그렇다면 실무적인 관점에서 바라본 SFTP 란?  SFTP 는 실무에서 파일 전송의 표준으로 잡은 프로토콜이다. 보안과 편의성 측면에서 탁월하며, 적절히 구성하면 ..

bad SQL grammar []; nested exception is java.sql.BatchUpdateException: 키워드 'OPTION' 근처의 구문이 잘못되었습니다.
MSSQL 2024. 10. 17. 10:49

[ 예외 구문 & 문제 ]  bad SQL grammar []; nested exception is java.sql.BatchUpdateException: 키워드 'OPTION' 근처의 구문이 잘못되었습니다.    "OPION"     MSSQL 에서 사용하는 예약어를 컬럼명으로 사용하여 조회하려 하는경우 발생     오타문제인줄알고 눈알빠져라 확인했는데 아니었음    [ 해결 ]  [ ] 로 감싸서 조회한다 ex) SLECT [OPRION] FROM YOUR_TABLE;     +) 추가  ; uncategorized SQLException; SQL state [S0001]; error code [102]; '1' 근처의 구문이 잘못되었습니다.; nested exception is java.sql.Ba..