전체 글

프로그래머로 거듭나는 발자취
· DevOps/Git
회사에선 NAS로 GitLab을 사용하다보니 집에서 접근하려면 Github에도 같이 Commit를 해줄 필요성이 느껴졌다. 그래서 디렉토리별로 git config를 설정할 수 있다면 좋을 것 같은 생각에 찾아보았다. home 디렉토리에 있는 .gitconfig 파일을 열어보자.vim ~/.gitconfig .gitconfig 파일을 열면 다음과 같이 기존에 입력한 정보가 들어있다. [user] email = user@email.com name = username 그럼 그 아래에 추가 다음과 같이 추가하자. [includeIf "gitdir:~/code/personal/"] path = .gitconfig-github includeIf: 기준이 되는 디렉터리 명.gitconfig-github: 개..
웹 서버 자동 점검소개: 웹 홈페이지의 출력 상태 및 서버 상태를 수시로 체크하여 오류 보고 메일을 전송하는 프로젝트 프로젝트 개요: 홈페이지가 종종 서버가 다운되거나 서버가 살아있음에도 페이지 출력이 안되는 경우가 있어 수시로 확인해줘야했다. 따라서 이를 매시간마다 자동으로 점검하여 오류 발생 시 이메일로 전송하는 애플리케이션을 개발하고자한다. 기술적 세부 사항 SpringBoot 3.3.5JAVA 17JSOUPJSCHSpringBoot-stater-mail 주요 특징: 홈페이지의 HTML 출력 상태, HTTP Status, Server Status, processChild 를 Jsoup(HTML Parser)와 JSCH(SSH 접속) 라이브러리를 사용하여 점검 후 발생한 에러를 전역으로 수집하여 메일..
· Backend/Java
멀티프로세싱 vs 멀티태스킹멀티프로세싱은 하드웨어 장비의 관점이고, 멀티태스킹은 운영체제 소프트웨어의 관점이다.멀티프로세싱여러 CPU(여러 CPU 코어)를 사용하여 동시에 여러 작업을 수행하는 것을 의미한다.하드웨어 기반으로 성능을 향상시킨다.예: 다중 코어 프로세서를 사용하는 현대 컴퓨터 시스템멀티태스킹단일 CPU(단일 CPU 코어)가 여러 작업을 동시에 수행하는 것처럼 보이게 하는 것을 의미한다.소프트웨어 기반으로 CPU 시간을 분할하여 각 작업에 할당한다.예: 현대 운영 체제에서 여러 애플리케이션이 동시에 실행되는 환경 프로세스와 스레드 프로세스프로그램은 실제 실행하기 전가지는 단순한 파일에 불과하다.프로그램을 실행하면 프로세스가 만들어지고 프로그램이 실행된다.이렇게 운영체제 안에서 실행중인 프로그..
· DevOps/Git
1. CI/CD란 Continous Integration, Continuous Deployment라는 의미를 가지고 있다. 쉽게 표현하자면 테스트, 통합, 배포의 과정을 자동화하는 것을 의미한다.  2. CI/CD를 학습하려는 이유이전 프로젝트에서 AWS EC2서버를 이용해 배포까지 해봤다. 그 후 코드 수정이나 기능 업데이트를 할 때마다 여러 과정을 거쳐 재배포를 하는 것이 너무나 번거롭고 반복적이었기 때문에 자동화를 시키기 위해 CI/CD를 학습하고자 한다.  3. Github Actions vs Jenkins사용 방식GitHub에 내장된 클라우드 기반 CI/CD 도구자체 서버에 설치해 운영하는 CI/CD 도구서버 관리서버 관리 불필요 (GitHub에서 제공)자체 서버 관리 필요사용 편의성GitHub..
보호되어 있는 글입니다.
Coffebara
차곡 차곡 모듈화