728x90

분류 전체보기 224

[Java] 자바 개요 - 정의, 역사, 실행 과정 (feat. 자바 가상 머신)

자바(Java)란? 자바(Java)는 C언어에 객체 지향적 기능을 추가하여 만든 C++과는 달리, 처음부터 객체 지향 언어로 개발된 프로그래밍 언어다. 자바는 자바 가상 머신(JVM, Java Virtual Machine)을 사용하여, 운영체제와는 독립적으로 동작할 수 있다. 따라서 자바는 어느 운영체제에서나 같은 형태로 실행될 수 있다. 자바의 역사 처음에 자바는 가전제품 내에서 동작하는 임베디드 프로그램을 위한 언어로 썬 마이크로시스템즈(Sun Microsystems)사의 제임스 고슬링(James Gosling) 팀에 의해 개발되었다. 1991년에 오크(Oak)라는 이름으로 시작하여, 1996년에 발표된 1.0.2 버전부터 자바(Java)라는 이름을 사용하게 되었다. 썬 마이크로시스템즈사는 1997년..

Language/Java 2024.04.03

도커(Docker) 컨테이너 연결 - 링크, 네트워크, 앰배서더

도커 컨테이너란? Docker 컨테이너는 이미지를 실행한 상태다. 이미지로 여러 개의 컨테이너를 만들 수 있다. 운영체제로 보면 이미지는 실행 파일이고 컨테이너는 프로세스다. 이미 실행된 컨테이너에서 변경된 부분을 이미지로 생성할 수도 있다. 같은 서버의 컨테이너끼리 연결하기 link 옵션으로 도커 컨테이너 연결하기 Docker로 이미지를 생성할 때 웹 서버, DB 등 필요한 프로그램을 모두 설치할 수도 있지만 보통 프로그램별로 이미지를 생성한다. 이렇게 프로그램별로 이미지를 생성하고, 컨테이너를 생성했을 때 옆에 있는 컨테이너에 접속할 일이 많아 컨테이너끼리 연결하기도 한다. Docker 컨테이너끼리 연결할 때는 docker run 명령에서 --link 옵션을 사용한다. $ docker run $ do..

Tool/Docker 2024.01.19

도커(Docker) 사용법 - 이미지 생성 방법 (feat. Dockerfile)

도커 이미지란? Docker 이미지는 베이스 이미지에 필요한 프로그램과 라이브러리, 소스를 설치한 뒤 파일 하나로 만든 것을 말한다. 베이스 이미지란 리눅스 배포판의 유저랜드만 설치된 파일을 뜻한다. 유저랜드란 OS는 메모리 사용을 기준으로 커널 공간과 유저 공간으로 나눌 수 있는데, 유저 공간에서 실행되는 실행 파일과 라이브러리를 유저랜드라고 한다. 도커파일(Dockerfile)이란? Dockerfile은 Docker 이미지 설정 파일로, Dockerfile에 설정된 내용대로 이미지를 생성한다. Dockerfile은 형식으로 작성한다. 명령은 대소문자를 구분하지 않지만 보통 대문자로 작성한다. # 우분투 22.04 기반 nginx 서버 설치한 Docker 이미지 생성 예제 FROM ubuntu:22.0..

Tool/Docker 2024.01.18

도커(Docker) 사용법 - 설치, 권한 설정, Bash, 기본 명령어

1. 리눅스에서 Docker 설치하기 $ sudo apt update $ sudo apt install docker.io # 설치 $ docker --version # 버전 확인 2. 명령 방법 항상 root 권한으로 docker 형식으로 실행한다. docker 명령은 root 권한으로 실행해야 하기 때문에 일반 계정에서는 항상 sudo를 사용해야 한다. 아니면 아래 방법으로 root 계정으로 전환하거나 그룹에 포함해 root 권한을 부여해준다. $ sudo su # root 계정으로 전환 $ sudo usermod -aG docker ${USER} # 현재 계정을 docker 그룹에 포함 $ sudo systemctl restart docker # 로그아웃한 뒤 다시 로그인 Docker가 리눅스 기반이..

Tool/Docker 2024.01.18

도커(Docker)란? - 기본 개념 및 배경, 이미지와 컨테이너 의미

Docker란? Docker는 2013년 3월 Docker, Inc(구 dotCloud)에서 출시한 오픈 소스 컨테이너 프로젝트다. 현재 전 세계적으로 큰 인기를 끌고 있으며 컨테이너 분야에서 사실상 표준으로 자리잡았다. Docker 탄생 배경 2010년을 넘어서면서 서버 시장은 급속히 클라우드 환경으로 옮겨가면서, 클릭 몇 번 만으로 가상 서버를 만들어낼 수 있게 되었다. 이렇게 생성된 가상 서버에 각종 소프트웨어를 설치하고 설정을 해야 하는데, 서버 개수가 많아지면서 사람이 하기가 어려워진다. 따라서 클라우드 환경에서 각종 소프트웨어 설치와 배포가 큰 어려움으로 다가왔다. 리눅스/유닉스 환경에서 오랫동안 사용해왔던 셸 스크립트로 설치 및 설정 자동화를 구현해도 되지만 셸 스크립트로는 중앙 관리 기능이..

Tool/Docker 2024.01.18

.gitignore로 파일 제외하는 방법 - 생성 및 적용

.gitignore란? .gitignore 파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다. 예를 들어 Nodejs에서 npm 모듈들은 용량이 크기 때문에 Git에 올리지 않는다. .gitignore 파일 생성 git init 을 한 폴더에다가 확장자 없는 .gitignore 파일을 만들어 준다. notepad .gitignore // Window touch .gitignore // Mac .gitignore 사용법 .gitignore 파일 안에 아래와 같이 쓰면 된다. 특정 파일 fileName 제외하기 fileName.js 현재 경로에 있는 fileName_1 만 제외하기 /fileName.js 특정 폴더 node_module 안의 파일 다 제외하기 node_modules/ 특정 ..

Tool/Git 2023.11.05

웹 프로그래밍 구조 - 웹서버와 WAS, 서버와 클라이언트, HTTP 프로토콜

웹 프로그래밍이란? 웹 프로그래밍은 인터넷을 통해 웹 브라우저에서 실행되는 소프트웨어인 웹 애플리케이션을 개발하는 과정을 말한다. 웹 프로그래밍은 클라이언트와 서버 간의 상호작용을 구현하고 웹 페이지를 개발하는 데 필요한 기술과 도구를 사용하는 것을 포함한다. 웹 프로그래밍에서는 서버 측과 클라이언트 측 개발이 필요하다. 서버 측 개발은 서버에서 동작하는 웹 애플리케이션의 백엔드를 구현하는 것을 의미하며 주로 Python, Java, PHP 등의 프로그래밍 언어와 웹 프레임워크를 사용하여 데이터베이스와의 상호작용, 사용자 인증, 비즈니스 로직 처리 등을 구현한다. 반면에 클라이언트 측 개발은 사용자가 웹 페이지를 브라우저에서 인터랙션하는 부분을 개발하는 것을 의미하며, 주로 HTML, CSS, JavaS..

Programming/Study 2023.10.28

[Css] Float 설정 이후 아무것도 안 될 때, Clear 속성

문제점 Css의 Float 속성으로 Left Navigation과 Main 영역을 분할해서 레이아웃을 배치했는데, 이상하게 그 뒤에 소스 코드인 Footer 영역 코드가 아무것도 안 먹혔다. 이유가 뭔가해서 보니까 Float 속성을 해지하지 않아서 뒤에 영역까지 영향을 끼치는 문제였다. 해결방법 Css의 Clear라는 속성값을 사용해서 Float로 설정된 속성을 취소해주면 된다. clear: none /* 기본값, clear 설정하지 않는 것과 동일 */ clear: left /* 왼쪽 취소 */ clear: right /* 오른쪽 취소 */ clear: both /* 왼쪽 오른쪽 둘 다 취소 */ 나는 'clear: both'를 Footer 영역에 추가해주었더니 아래처럼 푸터에 부여한 속성값들이 올바르..

Language/Css 2023.10.23

정규 표현식(Regular Expression) 기본 문법들 및 테스트 방법

기본적으로 알아야 하는 정규 표현식 집합은 표현하고 싶은 문자를 대괄호 [ ] 에 넣는 식으로 사용한다. 대괄호 안에 들어간 문자들은 or 연산이 적용되어 집합 안에 있는 문자 중 하나라도 매칭되면 선택된다. [bce]ar // bar/car/ear를 동시에 선택 [0123456789] // 문장에 있는 모든 숫자 [abcdefghijklmnopqrstuvwxyz] // 알파벳 중 소문자만 [ABCDEFGHIJKLMNOPQRSTUVWXYZ] // 알파벳 중 대문자만 [ABCDEFGHIJKLMNOPQRSTUVWXYZ][abcdefghijklmnopqrstuvwxyz] // 대소문자가 붙어서 나오는 부분 선택 하이픈 - 은 문자 사이의 범위를 나타낸다. [0-9] // 숫자 [a-z] // 영어 소문자 [A..

Language/Etc. 2023.10.22

마크다운(Markdown) 기본 문법들 - 줄바꾸기, 이미지, 테이블 등

띄어쓰기 및 줄바꾸기 띄어쓰기는 스페이스 1번, 여러번 띄어쓰고 싶으면 을 사용 줄바꾸기는 줄 끝에서 스페이스 2번이나 을 사용 단락바꾸기는 엔터를 두번쳐야하고, 엔터 여러번 친다고 여러 줄이 띄어지는건 아님 동해물과 백두산이 마르고 닳도록 하느님이 보우하사 우리나라 만세 무궁화 삼천리 화려 강산 대한 사람 대한으로 길이 보전하세 제목 # 헤더1 ## 헤더2 ### 헤더3 #### 헤더4 ##### 헤더5 ###### 헤더6 목록 숫자 목록 1. 하나 2. 둘 3. 셋 기호 목록 * 하나 + 둘 - 셋 강조 _이탤릭_ , *이탤릭* __볼드__ , **볼드** ___이탤릭볼드___ , ***이탤릭볼드*** **이렇게 _할수도_** ~~취소선~~ 구분선 --- *** ___ * * * ***** - - -..

Language/Etc. 2023.10.22
728x90