전체 글 234

[SQL] WHERE 절

본 강의를 수강 후 정리한 글입니다 . https://www.youtube.com/playlist?list=PLlCujDgOz8x6nDWtRr5AlHWB9Xp-Lxf-z 01. SQL 기본 #SQL기본 #SQLD #SQLP 이론적인 내용이 지루하다고 생각할 수도 있습니다. 하지만 SQL을 현장에서 능숙하게 활용할 수 있기 위해서는 기본적인 지식에 대한 기초를 튼튼하게 다져야 할 필요가 있습니 www.youtube.com WHERE 절 정의 SELECT, DELETE, UPDATE 문 모두 WHERE 절 사용 / 생략 가능 : ~보다 크다 = : ~보다 크거나 같다 = v1 AND column 하나라도 T면 T 5. NOT연산자 우선순위는 NOT, AND, OR 순 NOT column..

[SQL] SQL 종류 - DML / TCL / DCL / TRANSACTION

본 강의를 수강 후 정리한 글입니다 . https://www.youtube.com/playlist?list=PLlCujDgOz8x6nDWtRr5AlHWB9Xp-Lxf-z 01. SQL 기본 #SQL기본 #SQLD #SQLP 이론적인 내용이 지루하다고 생각할 수도 있습니다. 하지만 SQL을 현장에서 능숙하게 활용할 수 있기 위해서는 기본적인 지식에 대한 기초를 튼튼하게 다져야 할 필요가 있습니 www.youtube.com DML DML (Data Manipulation Language) : 데이터 조작어 테이블에 있는 행과 열을 조작하는 언어 정의된 데이터베이스에 입력된 레코드를 조회하거나 수정하거나 삭제하는 등의 역할 데이터베이스 사용자가 질의어를 통하여 저장된 데이터를 실질적으로 처리하는 데 사용하는 ..

[SQL] 제약조건 / VIEW / SEQUENCE / SYNONYM / INDEX

본 강의를 수강 후 정리한 글입니다 . https://www.youtube.com/playlist?list=PLlCujDgOz8x6nDWtRr5AlHWB9Xp-Lxf-z 01. SQL 기본 #SQL기본 #SQLD #SQLP 이론적인 내용이 지루하다고 생각할 수도 있습니다. 하지만 SQL을 현장에서 능숙하게 활용할 수 있기 위해서는 기본적인 지식에 대한 기초를 튼튼하게 다져야 할 필요가 있습니 www.youtube.com 제약조건 1. NOT NULL : 칼럼이 NULL 값을 포함하지 못하도록 지정 2. UNIQUE : 칼럼 값이 해당 테이블 전체에서 유일한 값 3. PRIMARY KEY : NOT NULL & UNIQUE Table 레벨로 만드는 경우 CREATE TABLE table_name( col_..

[SQL] SQL 종류 - DDL / Data Type

본 강의를 수강 후 정리한 글입니다 . https://www.youtube.com/playlist?list=PLlCujDgOz8x6nDWtRr5AlHWB9Xp-Lxf-z 01. SQL 기본 #SQL기본 #SQLD #SQLP 이론적인 내용이 지루하다고 생각할 수도 있습니다. 하지만 SQL을 현장에서 능숙하게 활용할 수 있기 위해서는 기본적인 지식에 대한 기초를 튼튼하게 다져야 할 필요가 있습니 www.youtube.com Object의 종류 실제로는 종류가 훨씬 많지만 짧게만 정리 Table : Data를 저장 Index : 테이블의 data에 대한 빠른 검색을 위한 수단 View : 테이블의 data에접근하기 위한 SELECT문을 저장 Synonym : Object에 대해 다른 이름을 제공 Sequenc..

[JAVA] java.lang.OutOfMemoryError : Java heap space (5) 임시방편 - 크론탭을 이용한 서버 재시작 자동화

최종 프로젝트를 진행하면서 인프라를 담당하게 되었는데 그 중 마주친 OOM 에러.(22.10.13 THU) 끝끝내 원인을 찾지는 못하였지만 어떻게 문제를 분석하고 임시방편이지만 어떻게 처리하였는지 기록해 보고자 한다. 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (1) 문제 정의 & 사실 수집 & 원인 추론 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (2) 조사 방법 구현 & 결과 관찰 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (3) ..

🪓삽질노트 2022.10.27

[JAVA]java.lang.OutOfMemoryError : Java heap space (4) Scouter를 통한 모니터링

최종 프로젝트를 진행하면서 인프라를 담당하게 되었는데 그 중 마주친 OOM 에러.(22.10.13 THU) 끝끝내 원인을 찾지는 못하였지만 어떻게 문제를 분석하고 임시방편이지만 어떻게 처리하였는지 기록해 보고자 한다. 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (1) 문제 정의 & 사실 수집 & 원인 추론 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (2) 조사 방법 구현 & 결과 관찰 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (3) ..

🪓삽질노트 2022.10.27

[JAVA] java.lang.OutOfMemoryError : Java heap space (3) Heap Dump 분석 - MAT

최종 프로젝트를 진행하면서 인프라를 담당하게 되었는데 그 중 마주친 OOM 에러.(22.10.13 THU) 끝끝내 원인을 찾지는 못하였지만 어떻게 문제를 분석하고 임시방편이지만 어떻게 처리하였는지 기록해 보고자 한다. 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (1) 문제 정의 & 사실 수집 & 원인 추론 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (2) 조사 방법 구현 & 결과 관찰 다시 원점으로 돌아왔다. 원인을 파악해야한다. 일단은 로그를 찾아보았다. 확인을 해보니 java.lang.OutOfMemoryError 를 내..

🪓삽질노트 2022.10.26

[JAVA] Heap 모니터링 & Heap Dump 분석하기

Heap Memory 모니터링 & Heap Dump Spring으로 개발한 웹어플리케이션을 운영하다보면, 어떠한 이유로 사용하지 않는 메모리가 쌓이면서 메모리 누수현상이발생할 수 있다. 이를 방치하면 GC(Garbage Collection)가 과도하게 일어나면서 어플리케이션의 성능이 저해되거나, 심한 경우에는 OOM(Out Of Memory)이 발생하여 결국 어플리케이션이 죽게 된다. 따라서 주기적으로 Heap 영역을 모니터링하고, 의심되는 상황이 있다면 Heap Dump를 떠서 어떤 객체가 원인이 분석해야 한다. 즉 장애가 났을 때의 Heap 상태를 기록으로 남겨 그 당시에 어떤 Java 객체들이 많이 만들어졌는지 분석해보아야 한다. Heap Dump 파일 추출하는 방법 Java Application ..

[JAVA] java.lang.OutOfMemoryError : Java heap space (2) 조사 방법 구현 & 결과 관찰

최종 프로젝트를 진행하면서 인프라를 담당하게 되었는데 그 중 마주친 OOM 에러.(22.10.13 THU) 끝끝내 원인을 찾지는 못하였지만 어떻게 문제를 분석하고 임시방편이지만 어떻게 처리하였는지 기록해 보고자 한다. 2022.10.26 - [🪓삽질노트] - [JAVA] java.lang.OutOfMemoryError : Java heap space (1) 문제 정의 & 사실 수집 & 원인 추론 문제를 정의하면서 나름의 원인에 대한 가설을 3가지로 분류해보았다. 가설에 따른 문제해결 방법을 적용해본 후 경과를 관찰하였다. 가설1 - Heap space 메모리 용량 부족 메모리 크기를 너무 적게 잡아 놓거나, 아예 메모리 크기를 지정하지 않은 경우 해결방법 Heap space Memory 를 늘려주자! f..

🪓삽질노트 2022.10.26

[JAVA] java.lang.OutOfMemoryError : Java heap space (1) 문제 정의 & 사실 수집 & 원인 추론

최종 프로젝트를 진행하면서 인프라를 담당하게 되었는데 그 중 마주친 OOM 에러.(22.10.13 THU) 끝끝내 원인을 찾지는 못하였지만 어떻게 문제를 분석하고 임시방편이지만 어떻게 처리하였는지 기록해 보고자 한다. 문제 정의 & 사실 수집 최종 프로젝트 런칭 전, 인프라를 구성하고 배포를 한 뒤 테스트를 진행하는데 갑자기 서버가 죽어버렸다. 로그를 확인하니 java.lang.OutOfMemoryError : Java heap space 를 반복적으로 내뱉더니 이내 서버가 뻗어버렸다. Out Of Memory Error? 주로 가비지 컬렉터가 새로운 객체를 생성할 공간을 더이상 만들어 주지 못하고, 더이상 힙영역의 메모리가 증가될 수 없을때 나타난다. 원인은 다음과 같이 다양하다. Exception i..

🪓삽질노트 2022.10.26

[JAVA] JVM의 구조 와 메모리 구조

JVM 구조 자바의 주요 장점 중 하나인 OS 플랫폼의 독립성이 있다. WORN (wtite once, run anywhere) 이를 가능하게 하는 것이 바로 JVM이다. 자바소스코드를 컴파일러가 컴파일하면 컴퓨터가 직접 해석 및 실행할 수 있는 바이트 코드가 되고 이를 JVM이 실행하여 Class Loader -> Bytecode verifier -> interpreter를 거쳐 자바 소스가 어느 환경에서든지 잘 구동 될 수 있도록 해준다. JVM 구성요소 ClassLoader 컴파일러가 만든 클래스 파일을 JVM 내의 메모리영역 (Runtime Data Area)에 올리는 역할 이 과정은 런타임시 실행되지만, 필요하다면 계속해서 동작함. Garbage Collector 메모리 관리 기능을 자동으로 수..

22.10.22 (토) 83일 차

오늘 한 것 2022.09.07 - [🌿SPRING/🍀공부 [SPRING]] - [SPRING] Frontend와 협업 ! - CORS 원리 / 설정 (22.10.22 수정) 2022.10.23 - [🚨에러노트] - [Solved][Ubuntu] ubuntu reboot 후 port connection error 소켓만 없으면 될 거야... 하던 기대는 무너지고 메모리 사용량을 62%로 유지했는데도 OOM 에러가 났다. Java Heap Memory 공간은 다르겠지 으이구! 힙덤프 파일을 저장하는 경로를 다르게 해두어서 그런지 이번 에러는 힙덤프 파일이 쌓이지 않았다. 일단 다시 뻗을때까지 기다려 본다... ㅎㅎ

🔔[항해99]/TIL 2022.10.23

[Solved][Ubuntu] ubuntu reboot 후 port connection error

문제상황 서버의 램이 부족하여 인스턴스 용량을 늘려준 뒤 인스턴스를 재부팅하였다. 서버도 동일하게 $ reboot 를 진행하고 무사히 jar 파일을 돌렸는데 .. 돌아가는 건 확인이 되었지만 막상 도메인으로 들어가면 연결이 되어있지 않았다. 해결방법 reboot를 하면서 포트포워딩 설정이 빠졌었다. sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 🧨 서버를 재부팅한 후에는 꼭 포트포워딩을 해주자..

🚨에러노트 2022.10.23

22.10.21 (금) 82일 차

오늘 한 것 서버 안정화 .. 를 위한 분석 툴 사용하기 => 에러가 안났으면 좋겠다.. 원인이 뭘까? 미뤄둔 에러들 하나씩 정리하기 최종 프로젝트 런칭 ! https://www.earthus.net/ Earth, us 제로웨이스트 커뮤니티 www.earthus.net 오늘 배운 것 Heap Dump file 추출하여 분석하기 => 추후 방안 생각하기 2022.10.22 - [🚨에러노트] - [Solved][Spring]the authorization header is malformed; the authorization component "..."is malformed 2022.10.22 - [🚨에러노트] - [Solved][Ubuntu] ERROR c.i.b.d.M.service.Service.'.....

🔔[항해99]/TIL 2022.10.22

[Sloved][SPRING] Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR & java.lang.StackOverflowError: null & Infinite recusion 무한참조에러

문제상황 서버도 잘 돌아가고 아무 무리없이 진행하던 중에 갑자기 팀원 한병이 UX를 해보던 중에 버그가 있다고 하였다. 아까까지만해도 잘되고 있던 로그인에서 갑자기 콘솔에서 🧨Failed to load resource: net::ERR_HTTP2_PROTOCOL_ERROR 에러가 뜬다고 하여 나도 급하게 접속을 해보니 같은 에러가 나타났다 서버로그를 확인해보니 🧨java.lang.StackOverflowError: null 검색을 해보니 Lombok 사용으로 인한 순환참조에러라고 한다. (toString)? 그런데 에러로그를 더 내려보고나서야 제대로된 원인을 찾을 수 있었다. 🧨Infinite recusion (StackOverflowError) : .. 아주 친절하게도 무한 참조 / 무한 재귀 라고 알..

🚨에러노트 2022.10.22