개발 251

vi에서 `Out of memory saving lines for undo - try using ed` 오류 해결 방법

서버에 존재하는 파일을 vi로 열었더니평소에는 잘 열리던데 이제 열리지 않았다.Out of memory ~~ 어쩌구 메시지와 함께 편집을 할 수 없었다.이유라도 들어보자.vi에서 Out of memory saving lines for undo - try using ed 오류 해결 방법오류 원인vi 편집기에서 다음과 같은 메시지가 나타날 수 있다:Out of memory saving lines for undo - try using ed이는 편집 시 undo(되돌리기용 버퍼) 를 저장할 메모리를 확보하지 못했을 때 발생한다.주로 다음과 같은 상황에서 발생한다:편집하려는 파일 크기가 매우 큰 경우 (수십~수백 MB 이상 로그, 덤프 파일 등)시스템 메모리가 부족한 경우 (임베디드 장비, Docker 컨테이너 ..

개발/리눅스 2025.09.17

[javaScript] undefined 값 if 문에서 처리하기

안녕하세요.한가지 더 정리해 보겠습니다.javaScript에서 alert로 변수 하나를 출력해 보았습니다.값은 undefinded가 나왔습니다. 정의되지 않은 변수라는 뜻입니다.해당 값을 if문으로 제어해야 하는데동적으로 해당 값이 있을 수 도 있고, 없을 수도 있습니다.이를 위해 undefinded 값도 if문에서 잡아보려고 합니다.JavaScript에서 변수 undefined 체크하기자바스크립트에서 변수를 alert로 찍었을 때 undefined가 나올 수 있습니다.이 경우를 if문으로 체크하는 여러 가지 방법을 정리했습니다.1. 기본적인 undefined 체크if (typeof a === "undefined") { alert("a는 undefined 입니다.");} else { alert("a의..

[javaScript 라디오 버튼] 텍스트 선택해도 체크 가능하도록 코딩

안녕하세요.라디오 버튼말고 텍스트를 선택해도 라디오가 체크 가능하도록 만들어 보려고 합니다.사실 엄청 오래된 기술(?)이지만 매번 잊어서 적어둡니다.HTML Radio 버튼에서 텍스트 클릭으로 체크 가능하게 하기라디오 버튼()은 기본적으로 작은 원형 버튼만 클릭 가능하지만, 태그를 활용하면 텍스트를 클릭해도 체크가 가능합니다.1. 라디오를 label로 감싸는 방법 신용카드 계좌이체 휴대폰결제 라벨 안에 라디오와 텍스트를 함께 넣으면, 텍스트 클릭 시 라디오가 선택됩니다.접근성(키보드, 스크린리더)에도 유리합니다.2. for와 id를 활용하는 방법 신용카드 계좌이체 휴대폰결제라디오에 id, 라벨에 동일한 for를 지정.라벨 클릭 시 ..

[docker] 컨테이너(Container), 이미지(Image), 볼륨(Volume) 개념 정리

안녕하세요. 도커를 처음 접하게 되었습니다.좌측 메뉴에 보면 Containers, Images, Volumes 가 있는데 개념에 대해서 헷갈려정리하고자 합니다.🐳 Docker 기본 개념Docker는 애플리케이션을 빠르고 안정적으로 배포하기 위한 컨테이너 기술입니다.이 문서에서는 컨테이너(Container), 이미지(Image), 볼륨(Volume) 개념을 쉽게 이해할 수 있도록 정리했습니다.1. 컨테이너(Container)란?컨테이너는 애플리케이션이 실행되는 독립된 환경입니다.운영체제 위에서 실행되지만, 마치 별도의 작은 컴퓨터처럼 동작합니다.특징격리성(Isolation) : 다른 컨테이너와 독립적으로 실행경량성(Lightweight) : 가상머신보다 빠르고 리소스 절약일관성(Consistency) :..

개발/개발도구 2025.08.13

[oracle Like In 절] 오라클 LIKE를 IN절처럼 사용하는 방법 (IN-LIKE 구현 팁)

개인정보가 들어있는 데이터를 수정하기위해in 절로 데이터를 찾고 있었다.그러나 나오지 않는다. 해당 개인정보가 포함되어있기 때문이다오라클 like를 in 절처럼 사용할 수 있을까? 조사해 보았다.오라클 LIKE를 IN절처럼 사용하는 방법 (IN-LIKE 구현 팁)오라클(Oracle)에서 IN 절은 특정 값 목록을 조회할 때 자주 사용됩니다. 하지만 LIKE 연산자와는 직접 호환되지 않기 때문에, 다음과 같은 구문은 사용할 수 없습니다:-- 잘못된 문법 예시WHERE column_name LIKE IN ('%가%', '%나%', '%다%') -- ❌ 오류 발생그렇다면, LIKE 조건을 다수 적용하여 IN 절과 유사한 효과를 내는 방법은 무엇이 있을까요?아래에서 SQL 실무에서 유용하게 쓰이는 4가지 방법을..

개발/DB 2025.08.10

springframework.web.filter.CharacterEncodingFiler cannot be cast to class jakarta.servlet.Filter

안녕하세요.이렇게 에러 관련된 포스팅을 쓰다가 너무 많아 질까 걱정이네요.거의 개인 노트가 되어가고 있습니다.프로젝트 환경을 java 21로 업데이트를 해야합니다.그러다 보니 이클립스 버전을 바꾸게 되고, 톰캣 버전을 바꾸게 되고, 그다음 스프링 버전까지 올려야 하는 상황입니다.그러다 발생한 오류를 적어봅니다.❗ CharacterEncodingFilter cannot be cast to class jakarta.servlet.Filter 오류 해결 가이드📌 오류 메시지springframework.web.filter.CharacterEncodingFilter cannot be cast to class jakarta.servlet.Filter이 오류는 javax.servlet.Filter와 jakarta...

개발/java,spring 2025.07.20

dynamic web module facet version 5.0 was not found

기존에 쓰던 프로젝트의 자바와 스프링 버전을 올리려고 하는데뭐.. 잡다한 에러들이 굉장히 많이 나오네요.결론적으로 이클립스에서 설정만 바꾸면 에러가 없어지는줄 알았습니다.그러나..톰캣 버전까지 맞지않아 엄청 고생하고 있습니다.(에러 하나 잡으면.. 또다른 에러가 ㅠㅠ)프로젝트를 진행하며 이런 이슈사항들을 기재해 둡니다.(제가 참고할 용도로 적어두는거에요.)✅ jakarta.servlet.http.HttpServlet 오류 및 Dynamic Web Module 5.0 설정 가이드📌 1. 오류 메시지 개요jakarta.servlet.http:HttpServletdynamic web module facet version 5.0 was not found이 오류는 Jakarta Servlet 5.0 기반 프로젝..

개발/java,spring 2025.07.17

[Oracle Blob Maping] Cause: java.sql.SQLException: 부적합한 열 유형

Oracle BLOB 매핑 오류 해결 가이드에러가 발생했다. 에러 없는 세상에서 살고 싶다.이상하다 로컬에서는 에러가 나지 않던게 서버에 적용시키니까 에러가 난다.Blob 데이터를 select 할때 에러가 난다.오류 내용을 살펴 보자.💥 오류 내용org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [99999]; error code [17004]; Cause: java.sql.SQLException: 부적합한 열 유형: getString not implemented for class oracle.jdbc.driver.T4CBlobAc..

개발/DB 2025.07.16

[Oracle 문법 merge into] 문법, 예제, 활용도에 대해 기록

Oracle MERGE INTO 문법 정리프로젝트를 진행하며 merge into절이 있어이번기회에 정리해 봅니다.설명Oracle의 MERGE INTO 절은 UPSERT (Update or Insert) 작업을 수행할 때 사용됩니다.즉, 대상 테이블에 해당 데이터가 존재하면 UPDATE, 존재하지 않으면 INSERT 합니다.✅ 기본 문법MERGE INTO target_table tgtUSING source_table srcON (tgt.key_column = src.key_column)WHEN MATCHED THEN UPDATE SET tgt.col1 = src.col1, tgt.col2 = src.col2WHEN NOT MATCHED THEN INSERT (col1, col2, col3) ..

개발/DB 2025.07.09

[vscode 플러그인 설치] chatGPT API키를 cline을 활용해서 사용해봤다.

안녕하세요. 요즘 ChatGPT에 부쩍 관심이 많이 가고 있습니다.저는 유료 결제도 하였고, API키도 구매 하였습니다. API키는 vscode 에디터에서 활용 가능합니다.아주 유용하게 사용할 예정입니다. 먼저 vscode에 cline 이라는 플러그인을 설치 합니다. Cline 이란?Cline은 VS Code에서 사용할 수 있는 자동화 AI 코딩 에이전트로, 다음과 같은 장점을 가집니다 - 코드 생성, 파일 생성/수정, 터미널 명령 실행, 브라우저 시뮬레이션 등을 인간 승인 하에 진행 - ChatGPT, Claude, Gemini, Ollama 기반 모델과 호환 - 목표에 따라 코드를 생성하고 자동 실행까지 지원 ("vibe 코딩"에 적합!) 이제 cline 플러그인을 설치하겠습니다. 설치는 쉽습니..

개발/개발도구 2025.07.08