만쥬의 개발일기
article thumbnail
[PostgreSQL] - PostgreSQL vs MySQL
🛠️TOOL/🐘PostgreSQL 2024. 1. 1. 21:39

PostgreSQL이란? PostgreSQL이란, 객체 관계형 데이터베이스(ORDBMS) 중 하나로 무료로 제공되고 있는 데이터베이스 즉, 기본적으로는 관계형 데이터베이스(RDBMS)이지만 객체 데이터베이스와 연관되는 기능(ex:테이블 상속 및 함수 오버 로딩) 포함 1985년 개발을 시작해서 1996년에 첫 출시 / Oracle DB와 유사함 PostgreSQL은 고유한 데이터베이스 시나리오를 관리할 수 있을 만큼 유연하기 때문에 MySQL이 처리할 수 없는 복잡한 대용량 데이터 작업을 위한 솔루션으로 자리 잡았다. ORDBMS란? ORDBMS(Object-Relational DataBase Management System)는 객체 지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템이다. R..

article thumbnail
[Linux] - wget의 개념과 사용 예시
🛠️TOOL/📄Linux 2023. 12. 14. 15:45

wget의 개념 wget은 webget의 줄임말 HTTP, HTTPS, FTP와 FTPS 등 가장 널리 사용되는 인터넷 프로토콜을 이용해 파일을 검색하기 위한 자유 소프트웨어 패키지 상호작용 하지 않는 (non-interactive) 커맨드라인 툴이기 때문에 스크립트, cron 작업, X-Windows(GUI) 지원이 없는 터미널에서 쉽게 호출됨 특징 REST와 RANGE를 사용해서 중단된 다운로드 재개 가능 파일 이름 와일드카드를 사용하고, 디렉토리를 재귀적으로 미러링 가능 Windows, 대부분의 UNIX-like OS에서 사용 가능 HTTP 프록시, 쿠키와 영속적인 커넥션 지원 미러링할 때 문서를 다시 다운로드 해야 하는지 여부 결정을 위해 로컬 파일 타임스탬프 사용 재귀적 미러링이란? 특정 디렉토..

[Linux] - nohup 사용법과 다양한 활용 방법
🛠️TOOL/📄Linux 2023. 11. 29. 23:34

nohup이란? "no hangups"라는 의미로 리눅스, 유닉스에서 명령어나 쉘 스크립트 파일(*. sh)을 데몬 형태로 실행시키는 프로그램이다. 데몬 형태로 실행시킨다는 것은, UI 없이 시스템 백그라운드에서 동작하는 프로그램을 지칭한다. nohup을 사용하는 이유 nohup은 터미널이나 세션이 종료된 후에도 해당 프로세스가 종료되지 않고 지속적으로 동작하게 해준다. 즉 리소스를 끊지 않는 이상, (로컬의 컴퓨터를 종료하거나 인스턴스를 종료하거나 프로세스를 죽이거나 등등) 계속해서 프로세스는 동작하게 된다. 오랜 시간이 걸리는 스크립트나, 항상 켜두어야 하는 서버 등을 배포할 때 주로 사용한다. 사용방법은 프로그램 실행어 앞에 nohup을 붙여주면 되고, 실행 시 실행한 경로에 "nohup.out"이..

[git] - git pull 할 때 fatal: Need to specify how to reconcile divergent branches. 에러
🛠️TOOL/🐈‍⬛GIT 2023. 11. 29. 21:26

git pull을 할때 git 최신 버전의 경우 다음과 같이 merge 전략을 어떻게 해야할 지 설정해달라는 문구가 뜨곤 한다. hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull.rebase false # merge hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hi..

article thumbnail
[AWS] - EC2 프리티어 사용시 메모리 부족 현상 해결
🛠️TOOL/🔶AWS 2023. 11. 29. 21:19

개요 개발 연습을 할 때 EC2 프리티어 만큼 좋은게 없다. 구글 계정을 만들기는 쉬운데, 구글 계정을 만들 때마다 인스턴스를 하나씩 무료로 쓸 수 있기 때문이다. 그러나 메모리 때문에 아쉬울 때가 종종 있다. 일례로 이전에 리액트 웹 프로젝트를 배포할 때, 리액트를 빌드하지 못하고 서버가 멈춰 원인이 뭔지 엄청 헤맸던 기억이 있다.. 이번에도 스프링 부트 프로젝트를 진행하며 gradle을 통해 빌드를 시도했는데, 또 서버가 터져버리고 말았다. 그래서 리눅스의 SWAP 메모리를 통해 문제를 해결해보기로 하자. 일반적으로 SWAP Space는 다음과 같이 권장된다. 물리적 RAM의 양 권장 스왑 공간 RAM 2GB 이하 RAM 용량의 2배(최소 32MB) RAM 2GB 초과, 32GB 미만 4GB + (R..

article thumbnail
[WSL2] - Vmmem 램(RAM) 점유율 이슈 해결하기
🛠️TOOL/📄Linux 2023. 10. 25. 21:54

문제점 WSL 2 consumes massive amounts of RAM and doesn't return it · Issue #4166 · microsoft/WSL Your Windows build number: 18917 What's wrong / what should be happening instead: WSL 2 starts using huge amounts of RAM after a while, just using it like normal. At the moment I'm using ph... github.com WSL을 사용하고, 이 글 까지 읽게 된 사람들은 모두 공감하겠지만 WSL이 램을 잡아먹는 비율은 어마어마하다. 이러한 현상은 WSL2의 특성과 리눅스의 특성의 환상의 콜라보로 인..

article thumbnail
[git] - Commit Message Convension : 협업을 위한 커밋 메시지와 PR 잘 쓰는 법
🛠️TOOL/🐈‍⬛GIT 2023. 10. 24. 14:49

깃으로 코드관리를 하고 협업을 할 때, 커밋과 PR은 매우 중요하다. 다른 사람이 코드를 어떻게 썼는지가 직관적으로 보이고, 어떤 작업을 했는지를 쉽게 알 수 있게 해준다. 그러나 이러한 장점을 살리려면, 커밋 메세지와 PR 내용을 직관적이고 자세하게 써주어야 한다. 커밋 메시지 예시 Feat: "게임 기능 구현" -> 제목 date: 23/10/24 -> 커밋을 작성한 날짜 (선택) 1.게임의 시작 , 종료 기능 구현 -> 본문 2.게임 재시작 기능 구현 -> // 3.신규 기능 테스트 코드 추가 -> // Resolves: #67 -> 꼬리말 (해결된 이슈) Ref: #64 Related to: #33, #34 -> 꼬리말 (관련된 이슈) 커밋 메시지는 제목과 본문으로 나누어서 작성한다. 제목으로 설..

article thumbnail
[git] 'Key is already in use' error 발생 시 여러 repository에 각각 sshkey 설정 하기
🛠️TOOL/🐈‍⬛GIT 2023. 10. 23. 14:12

github에서 id/pw인증이 막힌 후로, 대부분의 사람들은 보통 ssh 인증을 이용한다. 그러나 github 프로필에 등록된 ssh 키를 다른 repository에서도 사용하고자 하면, Key is already in use에러가 뜬다. 이러한 문제는 private repository에 ssh키를 등록하여 젠킨스 연동등의 작업을 해야할 때 발생한다. 따라서 이 때에는, 해당 repository용 ssh 키를 새로 발급받아주어야한다. 만약 sshkey가 없는경우, 터미널에 다음과 같이 입력한다 ssh-keygen 그러면 default로 id_rsa(개인키), id_rsa.pub(공개키)가 ~/.ssh 폴더에 생성된다. 만약 sshkey가 이미 존재하는 경우 다음과 같이 입력한다. ssh-keygen -..