분류 전체보기 381

Linux) Oracle VM Virtual Box 창 이동 안될때

Intro Oracle VM Virtual Box는 InnoTek 에서 개발한 가상머신 소프트웨어 입니다. Sun Microsystems가 2008년 초 InnoTek을 인수하고, 2년 후인 2010년 1월 오라클이 썬 마이크로시스템즈를 인수 하며 오라클이 배포하게 되었습니다. 대부분의 OS를 설치 해 사용 할 수 있으며, 또한 대부분의 OS에 설치가 가능하기 때문에 널리 사용 되고 있습니다. 사실, Linux 에서 가상 환경으로 Windows를 구동 하기 위해 여러가지 가상머신 소프트웨어를 사용 해 봤는데 VM Virtual Box가 가장 괜찮아서 IE 호환성 테스트 등이 필요할 때 마다 꾸준히 사용 하고 있습니다. 창 크기 조절 및 이동 증상 사용하면서 한가지 아쉬운게, 이상하게 창 이동 및 크기 조..

IT Computer/Linux 2022.01.14

Linux) KIME 한글 입력기

우분투 IntelliJ IDEA 한글 입력 문제 해결하기 Intro 한글을 입력 하기 위해서는 한글 입력기가 필요합니다. 다른 여타의 언어와는 다르게 한글은 초성, 중성, 종성으로 이루어지는 특이한 구성을 가지고 있으며, 종성이 있을때도 없을때도 있을 뿐만 아니라 자음이나 모음 각각 마저 여러개의 자음 혹은 모음이 모여 하나의 초성이나 중성 혹은 종성이 되는 경우가 있기 때문에 컴퓨터 입장에서는 참 입력을 받기 난해한 문자 입니다. 다 라는 입력을 했을때, 이것이 입력이 끝난 것인지 혹은 닭을 입력 하기 위한 과정일 뿐인지 컴퓨터는 물론이고 한국어를 모국어로 사용해온 사람이라도 예측 하기는 어렵습니다. 이로인해 수많은 운영체제에서는 한글 끝 글자 문제가 고질병이고, 그나마 마이크로소프트의 Windows ..

IT Computer/Linux 2022.01.14 (2)

Git) 실수로 삭제한 Branch 복구하기

Intro Pull Request를 기다리다가, merge가 되었다고 착각하고 커밋 했던 브랜치를 삭제해 버렸습니다.. 로컬과 remote 모두에서 삭제 했기 때문에 원래대로라면 데이터를 날려먹은게 맞지만, 다행히도 복구하는 방법이 있습니다. branch 생성 및 삭제 같은 상황을 만들기 위해 branch를 생성 해서 커밋 한 후 삭제 하겠습니다. 이미 branch가 삭제되어 복구가 필요한 분은 아래로 스크롤을 내려 삭제한 branch 복구 를 확인하시면 됩니다. branch 생성 및 commit & push dev 라는 branch를 만들어서, gitbranch.txt 파일을 추가해 commit 및 push 까지 마친 상태입니다. 이 상태에서는 dev에 커밋이 되었지만, 해당 사항이 master에 까지..

Development/Git 2022.01.12

DBeaver) CSV 파일을 데이터베이스로 importing 하기

Intro 엑셀 파일을 데이터베이스로 간편하게 이동하고 싶을 때가 있습니다. 혹은 필요한 데이터들을 csv 파일로 생성 해 두었는데, DB에 한번 에 넣고 싶을 때도, DBeaver를 이용하면 아주 간단하게 데이터를 밀어 넣을 수 있습니다. Excel 파일을 csv 파일로 예를 들어 이런 엑셀 파일이 있을 때에, 간단하게 csv 파일을 생성 할 수 있습니다. 제가 사용중인 Libre Office를 예를 들면 File > Save As... 를 누릅니다. 엑셀에서도 방법은 같습니다. 그럼 어떤 파일로 저장할지 하단에 설정 하는 셀렉트 박스가 있는데요, 거기에서 .csv파일을 선택 해 줍니다. 그러면 아래와 같이 names.csv 파일이 생성 됩니다. CSV 파일 임포팅 CSV DB 생성 Database 목..

일간에러 2022-01-11 remaining connection slots are reserved for non-replication superuser connections

Postgres 에러 증상 remaining connection slots are reserved for non-replication superuser connections 커넥션이 충분히 있는데도 커넥션을 얻지 못함. iRods에서도 커넥션을 얻지 못하니 파일 업로드를 하다가 빈번히 Connection reset이 되어 버림 원인 커넥션이 말라버려서 더이상 제공할 커넥션이 없음. 해결 보통은 커넥션 수를 늘리는 방법으로 해결하는 경우가 많은데 max_connections 를 먼저 확인 해 본다. select * from pg_settings where name='max_connections'; max_connections가 100으로 세팅 되어 있는데, 이 경우에는 운영중인 서버도 아니고..

웹 브라우저 애드온 추천: Momentum

Intro 인프런에서 영한님의 강의를 듣다보면 크롬 브라우저를 켜실 때 마다 좋은 풍경 그림이 보입니다. 시간도 대문짝만하게 나와서 한번씩 지금 시간을 환기 할 수도 있고 해서 괜찮아 보여 이번에 저도 설치 해서 사용 해 보았습니다. Chrome과 Firefox에 각각 설치해 두고 사용을 하고 있는데, 워낙 괜찮다고 느껴져서 혹시 모르는 분들이 계시면 권유해드리고 싶었습니다. Momentum https://momentumdash.com/ 해당 플러그인을 찾아 보니 Momentum 이라는 이름의 Extention 이었습니다. 포스팅을 작성 하며 확인 해 보니 Safari에서도 사용 가능한걸 확인해서, Chrome과 Firefox에 이어서 Safari에도 설치하려고 합니다. 설치 Chrome 아래의 링크에서..

Ubuntu) Terminator 설치 및 사용법

Intro Terminator는 자바로 작성된 오픈소스 터미널 에뮬레이터 입니다. Windows, MacOS, Linux 및 기타 Unix 시스템에서 모두 사용이 가능 합니다. 보통 맥북에서는 iTerm2를 사용하는데요, 우분투 기본 터미널이 좋긴 한데 창 분할에서 불편함을 느껴 설치했습니다. Install apt install로 간단하게 설치 할 수 있습니다. sudo apt install terminator 설치는 금방 됩니다. 설치를 완료 하고 Terminator를 실행 해 봅니다. 폰트도 깨지고 디자인이 엉망이 되어 있지만 일단 실행은 됩니다. 설정 적당히 까만 화면을 우클릭 하고 Preferences 버튼을 눌러 설정 화면에 진입합니다. 설정을 Global에서 바꾸도 되지만 그럴 경우에는 Pro..

IT Computer/Linux 2022.01.07

인코딩 깨진 한글 파일 이름 복구하기

Intro 파일들을 주고 받다보면, 사용하고 있는 운영체제와 상관 없이 한글 파일명이 알아볼 수 없게 깨져있는 경우가 종종 있습니다. 특히 인터넷에서 파일을 다운받았을 때 그런 일이 많은데.. 모두 아시는 것 처럼 인코딩 문제 입니다. 파일명이 중요하지 않다면 그냥 한번 열어보고 말면 되지만, 파일명이 중요해서 꼭 알아야 할 때는 굉장히 절망적입니다. 다행인 것은 단방향 암호화처럼 원본 데이터가 손상된게 아닌 단지 인코딩문제로 못 알아보는 것 이기 때문에 다시 디코딩을 해 주면 원래의 파일 명을 알아 낼 수 있습니다. 원인 왠만한 인코딩 문제는 이렇게 못 알아 볼 정도는 아닌데. euc-kr로 인코딩 되어 있는 경우에는 이런 상황이 됩니다. 요즘에는 흔하게 일어나지 않는데, 오래된 소프트웨어를 사용하다 ..

Development/DevOps 2022.01.06

일간에러 2022-01-04 iRODS:-24000

iRods The Integrated Rule-Oriented Data System https://irods.org/ 아마 대부분 처음 들어보셨을 거라 생각해 간단한 설명을 붙여보려 합니다. iRODS는 전세계의 연구, 기업, 정부기관등이 사용하는 오픈소스 데이터 관리 소프트 웨어 입니다. mission critical 한 환경에서의 production 레벨을 목표로 릴리즈 되었으며, 데이터 저장소 리소스를 가상화하기 때문에 사용자가 데이터가저장된 디바이스와 상관 없이 데이터를 다룰 수 있게 해 줍니다. 사실 한국어로 된 레퍼런스는 논문 한두개를 제외하면 전무하기 때문에 영어로 자료를 검색 해야 하는데, 그마저도 잘 정리된 도큐먼트가 없기 때문에 정보를 얻으려면 주로 Github에 올라온 issue들을 ..

일간에러 2021-12-29

'append' called on an object that does not implement interface FormData. 문제 jQuery Ajax와 FormData를 이용해 파일을 비동기로 업로드 하던 중 해당 아래와 같은 에러 발생 'append' called on an object that does not implement interface FormData 코드는 다음과 같다. $('#migration_form').on('submit', function () { var formdata = new FormData(); const file = $('#input_file')[0].files[0]; formdata.append..

log4 보안 취약점 CVE-2021-44228 공격 원리와 시연 및 대응 방안

Intro 최근 갑자기 사내 연말 행사에서 15분간의 짧은 발표를 맡게 되었습니다. 좀 더 미리 알았더라면 준비를 충분히 했을 텐데.. 갑자기 공지가 되어 굉장히 당황스러웠지만 어쨌든 아쉬운대로 부랴부랴 준비를 시작했습니다. 회사의 사업 내용이 IT계열이다 보니, 개발에 관련되었지만 동시에 사내에서 개발직종에 속하지 않은 분들에게도 흥미를 끌 만한 주제를 여러가지 후보군에 두고 메모앱에 기록해가며 며칠간 후보를 좁히고 있었습니다. 평소 블로그를 작성하다 보니 여유만 되면 의견을 나누고 싶은 주제가 몇가지 있었습니다. 그러던 중 출근길 버스에서 평소처럼 책을 읽다가, 보안에 관련된 항목이 나오자 한창 떠들썩하게 만들고 있는 log4 보안 이슈에 대해 고민하게 되었습니다. 그러다 문득 발표 주제로 참 괜찮겠..

IT Computer/News 2021.12.25

Eclipse Apple Silicon 지원소식

Intro 길고 긴 기다림 끝에 Eclipse가 애플 실리콘을 지원 하기 시작했습니다. 사실 저는 그 길고 긴 기다림에 지쳐 4개월 전에 IntelliJ IDEA로 넘어갔습니다. 비용의 부담이 전혀 없었던 건 아니지만, 2021년 8월에 한국어 언어팩 출시 기념 30% 할인을 해 준 덕에 용기내어 넘어 갈 수 있었습니다. 인텔리제이를 본격적으로 사용하기 시작 한 이후로는 이클립스의 필요성을 전혀 느끼지 않아 한참동안 사용 할 일이 없었는데요.. 그래도 한 때 m1 맥북의 초창기 사용자로서, 이클립스를 사용하며 정말 크나큰 불편을 느꼈었기 때문에 애플 실리콘 출시와 함께 그 불편함들이 얼마나 해소되었는지 궁금함에 확인을 해보지 않을 수 없었습니다. 설치 https://www.eclipse.org/downl..

IT Computer/News 2021.12.24

Docker) 도커로 Tomcat 컨테이너 실행

Intro log4j 취약점 테스트 진행 중 로컬에서 테스트하기에는 부담이 있어서 도커를 이용해 가상환경에서 하고자 합니다. 간단하게 톰캣만 돌리면 되는데, 우분투 컨테이너를 생성해서 JDK 설치하고 jar파일을 바로 실행 해 돌리다가, 이제 war로된 프로젝트로 테스트를 하려니 외장 톰캣이 또 필요해져서 어차피 이렇게 하나씩 올리면서 할꺼, 그냥 톰캣 컨테이너 만들어진걸 쓰게 되었습니다. 제가 나중에 필요할때 쉽게 찾아 할 수 있게, 또한 혹시나 또 필요한분이 있으시면 도움이 되었으면 하는 마음에 글로 간단하게 정리 해 올려 둡니다. Tomcat 공식 Tomcat 이미지 https://hub.docker.com/_/tomcat 딱히 복잡할 건 없고 docker run tomcat:9.0 이면 간단하게 ..

Development/DevOps 2021.12.23

Vim) 찾아바꾸기 Find And Replace

https://vim.fandom.com/wiki/Search_and_replace 검색 vim에서 검색을 할 때에는 입력 모드가 아닌 일반모드에서 / 키를 입력해 검색 대화 창을 띄우고 검색할 문자를 입력해 엔터키를 입력 하면 해당 문자열을 찾아 커서를 그 위치로 이동합니다. 그 상태에서 다음 검색결과로 넘어가려면 그 상태에서 n키를 누르고, 이전 검색결과는 N(Shift 키를 함께 입력)를 입력해 이동 할 수 있습니다. 찾아 바꾸기 단순 변경 :substitute 커맨드는 text pattern을 찾아 text string으로 치환합니다. 많은 옵션이 있지만 보통은 아래의 내용이 필요합니다. :s/foo/bar/g 현재 라인의 foo를 찾아 bar로 변경 :%s/foo/bar/g 모든 foo를 찾아 ..

일간에러 2021-12-22 파일 다운로드시 한글 파일명 처리

문제 드디어 파일 업로드 모듈을 성공적으로 붙여서 테스트를 마치고 운영 서버에 반영을 해 보았다. 파일이 업로드도 잘되고, 업로드 한 파일을 다운로드도 잘 하고. 문제가 전혀 없는 듯 보였는데.. 하필(?) 샘플 코드로 받았던 jsp파일을 한글 파일명 테스트 겸사 해본다고 한글파일.jsp로 파일명을 바꿔서 업로드를 하니 업로드에는 문제가 없었는데 다운로드 할 때 404 에러가 발생했다. 정말 다 끝났다고 생각 했고, 같은 파일의 업로드가 개발 환경에서는 아무 문제가 없었기 때문에 굉장히 골치가 아파지던 상황. 원인 정말 신기한건 다른 한글 파일명에도 문제가 없었고, 심지어 확장자를 조금 변경해 한글파일.jyp 로 바꿔도 아무 문제 없이 작동했다. 또 어떤 다른 확장자가 들어갔을 때 같은 에러가 터질지 몰..