이전에 리버스 프록시 기능을 공부할 목적으로 Nginx 웹서버를 설치해서 테스트 했었는데, 이제 필요 없게 되어 삭제하며 체크한 내용들을 적어놓는다. 서비스 상태 확인 sudo systemctl status nginx Nginx 서버 정지 1. Stop the service sudo systemctl stop nginx 2. Disable service auto start after OS reboot 서버가 재부팅될 때 자동으로 실행되는 데몬 서비스들이 있는데 여기서 Nginx를 제거함. sudo systemctl disable nginx 3. Check whether the update has been applied disable이라고 출력되면 이제 재부팅 이후에도 자동으로 서비스가 실행되지 않음. s..
이전글 2023.06.29 - [본업/etc.] - [Git] Git이란? - #2 Git의 주요 특징 Git의 객체 https://git-scm.com/book/en/v2/Git-Internals-Git-Objects Git - Git Objects You will get a different hash value because of different creation time and author data. Moreover, while in principle any commit object can be reproduced precisely given that data, historical details of this book’s construction mean that the printed commi gi..
이전글 2023.06.26 - [본업/etc.] - [Git] Git이란? - #1 일단 git book의 문서를 보고 작성한 내용인데 사실상 번역하고 요약한 정도이니 빠르게 읽고 넘어가도 된다. '차이'가 아닌 '스냅샷' 기존의 VCS들은 위 그림과 같이 시간순으로 연대기적으로 파일들의 집합을 관리하며 이를 일반적으로 '델타 기반 버전 관리 시스템(Delta-based VCS)'이라고 한다. hot)으로 취급한 즉, 현재의 프로젝트 상태를 커밋하거나 저장할 때마다 Git은 그 순간에 모든 파일 시스템이 어떻게 생겼는지를 사진으로 찍어 해당 스냅샷의 참조로 저장한다. 대부분의 작업을 로컬 영역에서 진행 가능 Git은 DVCS이기 때문에 개발자 본인의 로컬 디스크에 프로젝트의 모든 이력이 존재한다. 따라서..
이전글 2023.06.22 - [본업/etc.] - [Git] 버전 관리 시스템의 종류 Git이란? https://git-scm.com/book/en/v2 Git - Book git-scm.com 2005년 Linux의 아버지인 리누스 토발즈가 리눅스 커널 프로젝트를 위해 개발한 분산식 버전 관리 시스템(DVSC; Distributed Version Control System)이다. 현재 개인부터 빅 테크 기업까지 다양한 규모와 다양한 분야에서 사용되는 버전 관리 시스템이다. Git의 자세한 탄생 배경이나 역사는 여기를 참고. Git의 설계 목표 이전 포스팅들에서 설명했듯이, 모든 VCS는 고유한 탄생 배경, 한계점을 가지고 있다. 특히 탄생 배경은 이전에 사용하던 시스템의 한계를 극복하기 위함인데 Gi..
이전글 2023.06.19 - [본업/etc.] - [Git] 버전 관리 시스템(Version Control System)의 역사? 로컬 버전 관리(Local Version Control) 시스템 가장 기본적인 형태의 버전 관리 시스템이다. 개발자가 하나의 로컬 컴퓨터에서 작업을 수행, 간단한 데이터베이스 등을 사용해 버전을 저장하고 관리한다. 데이터베이스에 파일의 변경 사항이 저장되어 있기 때문에 언제든지 특정 버전으로 복원하고 변경 내역을 확인, 비교할 수 있다. 다만, 이러한 환경은 다수의 개발자가 동시에 협업을 하기 힘들고, 모든 파일, 버전과 같은 데이터가 하나의 로컬 컴퓨터에 저장되기 때문에 데이터 손실의 위험이 매우 크다. 대표적인 예로는 RCS, SCCS 등의 시스템이 있다. 중앙 집중식 ..
이전 글 2023.06.15 - [본업/etc.] - [Git] 버전 관리(Version Control)란? 그리고 목표는? VCS란? 버전 관리 시스템(VCS; Version Control System)의 줄임말로 파일 변경 사항을 시간에 따라 기록하고, 필요할 때 특정 버전을 다시 호출할 수 있는 시스템을 말한다. RCS(Revision Control System)이라고도 한다. 요즘은 주로 소프트웨어의 소스 코드의 변경 사항을 추적하며, 파일이 언제, 누가, 어떻게 변경되었는지를 기록한다. VCS를 사용하면 개발자의 실수를 쉽게 복구할 수 있고 여러 사람이 협업하는 경우 각자의 작업을 병합하는데 큰 도움이 된다. 가장 널리 사용되는 VCS에는 Git, SVN, Mercurial 등이 존재한다. 버전..
버전 관리란? '버전 관리(Version Control)'는 파일 변경 사항을 시간에 따라 기록하고, 필요할 때 특정 버전을 다시 호출할 수 있는 시스템을 일컫는다. 간단히 설명하자면 동일한 정보에 대해 여러 버전을 정의하고 관리하는 것을 의미한다. 특히 소프트웨어 엔지니어링 분야에서는 일반적으로 소프트웨어의 소스 코드의 변경 사항을 추적한 내역을 '버전 관리'라고 칭한다. 하지만 이는 주로 과거의 관습이고, 최근에는 소프트웨어 구성을 이루는 소스 코드 뿐 아니라 각종 환경, 설정 파일등을 모두 포함하는 소프트웨어 구성 관리(SCM, S/W CM; Software Configuration Management)라는 확장된 개념이 등장되었다. 이를 주로 형상 관리라고도 한다. - 관련 용어 정리 - 버전 관..
3rd-party DBMS를 테스트하기 위해 진짜 오랜만에 순수 JDBC 코드를 작성할 일이 생겨서 이클립스를 실행함. 그러나 일하지 않겠다고 당당하게 에러 띄우며 태업을 시전. Cause of Error Version 11.0.16 of the JVM is not suitable for this Product. Version: 17 or greater is reuiqred. - JVM 11.0.16 버전은 해당 제품에 맞지 않는다. 17버전 이상이 필요하다. - 내가 쓰는 툴은 Azul의 11.0.18 버전의 OpenJDK를 사용하기 때문에 나도 이 버전에 맞춰 따라간다. 그런데 17버전 이상을 설치하라니 이는 에러가 분명하다. Error Fix '17버전 이상의 JDK를 설치'하라는 권고 사항에서 굳..
사내 CCR(Central Control Room) 구축 업무 중 CCR용 웹 애플리케이션 개발을 시작하기에 앞서 HMI Philosophy를 정립하던 도중 좋은 자료를 발견하여 직접 한국어로 해석하여 공유한다. 나는 Inductive Automation사의 Ignition이란 프로그램을 사용해 개발하는데 해당 소프트웨어의 주요 개발사 중 하나인 Vertech라는 자동화 솔루션 업체에서 '7 UI TIPS FOR SUCCESSFUL INDUSTRIAL AUTOMATION PROJECTS'라는 주제로 백서를 만들었다. https://www.vertech.com/ui-tips-white-paper 7 UI Tips for Successful Industrial Automation Projects Slash ..
클램쉘(clamshell) 모드 애플 진영에서 사용하는 용어로, 말 그대로 '조개 껍질(clamshell) 모드'다. 맥북에 전원이 공급되는 상태이고, 외장 출력 모니터가 연결되어 있으며 마우스나 키보드 등의 입력 장치가 연결되어 맥북을 일어나게 할 수 있는 상태여야 한다. 1. 전원 공급 2. 외장 모니터 연결 3. 입력 장치 연결 클램쉘 모드의 필요성 콩글리시로 노트북, 정식 명칭으로 랩탑을 작업 도구로 돈을 버는 사람들은 거북목을 패시브로 장착하고 있다. 나도 분명 대학교 1학년때 병무청 신체 검사를 받으러 갔을 때 키가 180cm, 복무할 때 재봐도 180cm이었다. 하지만 정말 신기하게도 4학년 2학기에 취업하고 나서 랩탑이 메인 작업 도구인 삶을 살기 시작한 이후로 4년째인데 이제 키를 재면 ..
언제 필요할까 이클립스나 STS등과 같이 Java 언어를 사용하는 IDE에서 종종 JSP나 HTML와 같은 태그 언어를 작업할 때가 있다. 이 때, 내가 보고있는 IDE상의 여백이 과연 띄어 쓰기(space)인지, 들여 쓰기(tab)인지 구분이 안 될 때가 많다. 특히 구글링을 통해 태그 언어를 스크랩 해오거나, 팀원이 작성한 태그 언어를 보면 같은 글자수의 공백이어도 VSCode에서 넘어온 코드들은 들여 쓰기를 tab이 아닌 띄어 쓰기로 표시되는 경우를 반드시 접하게 되어 있다. Microsoft Office의 워드에서는 이를 서식 기호라고 부르는데, 이와 같은 설정을 이클립스(=STS)에서도 설정할 수 있다. 설정 방법 [Preferences] > [General] > [Editors] > [Text..
Extension의 무한한 확장성 마이크로소프트의 Visual Studio Code는 사실, 엄밀히 말해서 IDE라기 보다는 Text Editor에 가깝습니다. (왜냐하면 Visual Studio가 마이크로소프트의 전통적인 IDE이기 때문이죠.) 하지만 수 많은 Extensions(확장팩)들 덕분에 우리들이 단순한 텍스트 편집기가 아닌 IDE로써 활용할 수 있는 것이죠. C/C++, Python 등, 텍스트 편집기를 IDE로 만들어주는 다양한 컴파일러들은 마이크로소프트에서 기본적으로 제공해줍니다. 이 뿐만 아니라 VSCode를 사용할 때 성능을 극대화시킬 수 있는 응용 프로그램 개념의 Extension들도 제공합니다. 이러한 많은 Extension들 중, 코드를 작성할 때 comment(주석)를 자동으로..