| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- MariaDB
- Linux
- Docker
- wsdl
- Database
- 스레드 덤프
- 영상편집
- 안드로이드 스튜디오
- http
- equals
- integer
- ibatis
- JDBC
- 스레드
- java
- cmd
- START WITH
- 톰캣
- 오블완
- 삼성증권
- 컨트롤러
- 키보드
- 티스토리챌린지
- 프로세스
- Tomcat
- oracle
- API
- MySQL
- HTML
- letterspacing
- Today
- Total
목록전체 글 (249)
블로그 이름
에러로그는 다음과 같다.Failed to find a valid digest in the 'integrity' attribute for resource 'http://111.111.11.11:7070/5-es2015.해시값...js' with computed SHA-384 integrity 'PPtH5Ef2TzD5FfSlWDOT/5qpFVsjq2OknGZxdVOoFaxS7cIHQFwxkQXjruTIkM4K'. The resource has been blocked. 서버 경로의 webapps\html\index.html 파일에 톰캣이 켜진 후에 로그인 시 콘솔에서 발생하는 에러인데에러에 표시되는 파일명 + sha384 해시가 누락되어 발생, 파일명 + 해시 확인하여 index.html에 스크립트 태그 ..
임시저장된 글을 보니 날짜가 2023-12-20... 오래된 순으로 정리하고 있는데 많이 밀렸다. 시간 날 때 하나씩 정리해야겠다. 당시에 특정 페이지 저장 시, 변수 하나가 초기화되는 이슈가 존재하였다.이슈 재현 방법은 클라이언트에서 자산정보를 올린 뒤, 서버에서 해당 자산을 조회하여 페이지 조회 하면 한개 변수가 안보이는 현상이었다.● 이슈 정리1. 이력 확인 시, 특정 변수 변경점이 조회되지 않음2. 페이지 목록 조회 시, 특정 변수가 표시되지 않음 > DB에는 데이터가 있는 상태이고 웹에서도 변수 seq를 잘 받아온다. ● 원인 파악1. 해당 필드를 표시하는건 표시용 모델 객체에서 캐시로 조회하는걸 확인2. 캐시를 갱신하는 부분을 모두 파악한다. 캐시는 톰캣 시작 시, 해당 필드 추가/변경/제거..
리눅스를 하다 보면 터미널(Terminal), 콘솔(Console), 쉘(Shell) 3가지 단어가 헷갈려져서 차이점을 알아보고자 한다. 터미널 (Terminal)사용자가 리눅스 시스템과 상호작용하기 위한 프로그램으로 컴퓨터에 데이터 입력하거나 볼 때 쓰는 기기다. 이전 컴퓨터가 보급되기 전 대학과 기업에서 다중 이용자 시스템으로 사용하였다. 터미널을 통해 상호작용하였고 추후 키보드가 존재하는 디스플레이로 변경되었다고 한다. 예시 프로그램으로는 macOS의 Terminal, Windows의 PowerShell, CMD 등 존재사용자가 명령어를 입력할 수 있는 창을 제공하여, 입력을 쉘(Shell)에 전달하고, 출력 결과를 화면에 보여준다.쉘을 실행하는 프로그램이다. 콘솔 (Console)시스템과 직접 연..
run.bat (실행파일) 을 실행하여 java -jar test.jar 로 프로그램 실행 시, Exception in thread "main" java.lang.noclassdeffounderror org/sl4j/loggerfactory 라는 오류가 발생했다. SLF4J 관련 클래스(org.slf4j.LoggerFactory) 를 찾을 수 없어 실행이 중단되었다는 뜻이다. 라이브러리는 교체된 이력이 없고 원래 잘 실행되던 프로그램이 갑자기 실행되지 않는 것 해결 방법을 찾아보니 2가지 방법이 있다. 1. SLF4J 라이브러리를 포함하기 > .jar 파일을 클래스패스에 추가해야 한다는데, 해당 부분엔 문제 없었다.2. 실행 명령 수정 > java -cp "test.jar;slf4j-api-버전.jar..
타 언어의 경우 Python의 getsizeof나 c의 sizeof 를 사용하여 객체의 크기를 확인 할 수 있다.JAVA의 경우 객체의 메모리 크기를 확인 할 수 있는 방법이 기본적으론 없는 편 확인 시 2가지 방법이 있다는데1.Runtime.getRuntime().totalMemory() 를 사용하여 메모리 사용량을 확인하고 객체 생성 전후의 차이를 계산하여 객체 크기를 추정하거나2. Object의 경우 16bytes (12 header, 4 padding), Integer의 경우 16 bytes (12 header, 4 int) 와 같이 객체 안의 타입을 확인하여 크기를 예상하는 방법 둘 다 두루뭉실하여 확실하지가 않다 다른 방법을 찾아보던 중 JOL (Java Object Layout) 이라는 Op..
JAVA의 heap 메모리 부족 문제 발생 힙 메모리에 객체 저장 시 메모리 부족하여 발생하는 에러로 JVM이 더이상 객체를 할당할 수 없어 OutOfMemoryError를 던져 발생. 주요 원인은 아래와 같다고 한다.1. 처리해야할 데이터의 양이 많을때 (대용량, 컬렉션 대용량 List,Map 등)2. 메모리 누수, 객체 참조 유지로 가비지 컬렉션 처리 불가3. JVM 힙 메모리 설정값이 적을때 -XX:+HeapDumpOnOutOfMemoryError JVM 옵션을 설정하면 에러 발생 시 힙 덤프를 남겨 문제 분석이 가능하다 하는데 나는 이슈 재발이 안되어 로그만 보고 원인을 분석해야 하는 상황이었고 대충 로그 보고 어디:쯤에서 끊겼는지 확인해보니특정 기능 데이터 조회가 안되는듯함한 테이블 전체 조회..
우선 Java의 임시파일 경로가 무엇인지Java에서 임시파일 경로는 시스템 프로퍼티(java.io.tmpdir) 에 의해 결정되며, 이 경로는 File.createTempFile() 등 API에서 기본적으로 사용된다. \JAVA는 내부적으로 해당 경로를 통해 임시 파일을 생성하며, 기본 경로는 OS에 따라 다르다. (WIN : C:\users\username\AppData\local\temp, linux/unix : /tmp, macOS: /tmp) jAVA 임시파일 경로 확인은 System.getProperty("java.io.tmpdir") 를 사용하여 현재 시스템에서 사용중인 임시 디렉터리 경로를 확인할 수 있다. 내가 출력해 보았을때 내 java.io.tmpdir 기본 경로는 C:\Users\u..
개발 및 학습용으로 사용하기 위해 JAVA를 설치하는 과정을 정리해보고자 한다. 매번 개발 환경을 구축할 때마다 필수적으로 하는 JAVA 설치 및 환경변수 설정 우선 오라클 홈페이지에서 원하는 버전을 선택 후 다운로드한다.보통 개발 환경에 맞는 1.8, 11, 17 버전을 주로 다운로드 받는데, 해당 버전은 다운로드 받으려면 오라클 로그인이 필요하다.현재 21, 24 버전은 로그인 하지 않고 다운로드가 가능 JDK 다운로드 후, 설치 파일을 실행하거나, zip 파일을 기본 경로에 압축 해제 (C:\Program Files\Java\jdk-버전) 이후 환경 변수 설정을 해주면 된다. Win + Pausebreak 키를 눌러 단축키를 사용하여 설정으로 이동 후, '고급 시스템 설정' 창 으로 이동 환경변수..
리눅스 VM 서버에 윈도우 로컬 PC의 파일을 옮기고자 한다. 우선 리눅스 서버를 실행, 윈도우 서버에서 복사할 파일의 폴더 위치에서 CMD 창을 실행한다. 파일탐색기 주소창에서 CMD 를 친 뒤 엔터 버튼을 누르면 해당 위치에서 CMD 창을 실행 할 수 있다. 이후 명령어는 아래와 같이 치면 된다.scp ./파일명 리눅스서버아이디@리눅스서버IP:옮길디렉토리위치/경로ex) scp ./hello.java admin@1.2.3.4:/home/admin/test 리눅스 서버의 계정은 이전에 생성해뒀던 계정 아이디로,IP는 리눅스 서버의 터미널에서 ifconfig 명령어를 입력하여 확인 가능,옮길 디렉터리 경로는 pwd 명령어로 확인 할 수 있다. 반대로 리눅스 서버에서 윈도우로 파일을 가져올 때에도 scp a..