분류 전체보기 74

Linux: 리눅스란, 쉘, 프롬포트, 로그인쉘, 터미널, 리눅스 디렉토리 구조

리눅스 넓은 의미의 리눅스: 리눅스 커널 + 명령어 + 애플리케이션 (사용자가 바로 사용 가능) 좁은 의미의 리눅스: 리눅스 커널 커널: OS에서 하드웨어 제어하는 소프트웨어 리눅스 종류 Red Hat: Red Hat Enterprise Linux, CentOs, Fedora Debian: Debian GNU/Linux, Ubuntu 쉘 커널의 인터페이스 사용자가 커널을 직접 조작할 수 없기 때문에 사용자와 하드웨어 사이에서 명령어를 전달하여 커널의 실행 결과를 출력하는 소프트웨어 커널과 쉘이 분리된 이유 리눅스 외 OS를 사용할 때 쉘만 이식하면 동일하게 사용 가능 쉘을 사용하며 에러 또는 높은 부하가 발생해도 본체인 리눅스 커널에 미치는 영향 최소화 쉘 종류 sh 표준 쉘. 오래된 쉘이라 기능이 적고..

운영체제란? OS 종류, Linux 종류, 커널이란? 프로세스와 쓰레드의 차이점? 쓰레드란?

운영체제 정의 운영체제(OS, Operating System): 소프트웨어 사용자에게 인터페이스를 제공하고, 하드웨어 자원을 효율적 관리하는 소프트웨어 목적 컴퓨터 자원 관리와 자원 보호 최신 컴퓨터: CPU 등 성능 향상으로 여러 작업을 동시에 처리하는데 이때 응용 프로그램에게 컴퓨터 자원을 할당하고 회수 사용자가 하드디스크에 직접 접근해서 데이터 저장을 할 수 없다면 데이터를 덮어 씌워서 데이터를 손실하는 실수 방지 ex. 사용자(손님), 운영체제(웨이터), 하드웨어(레스토랑) 자원 관리: 응용프로그램들에게 자원 배분 자원 보호: 사용자와 하드웨어 사이에서 인터페이스 제공(조작, 결과 제공) 하드웨어 인터페이스 제공 소프트웨어 인터페이스 제공 종류 MS Window, MS Mac android, ma..

AWS

AWS란? AWS는 아마존 웹 서비스로 데이터베이스 및 서비스를 오픈 API 형태로 개방한 퍼블릭 클라우드 서비스를 제공한다. AWS의 대표 컴퓨팅 서비스 EC2(Elastic Compute Cloud): 아마존의 시스템 자원을 임대해주는 서비스로 다양한 사양의 가상화 서버를 선택하여 사용한 만큼 비용을 지불한다. S3(Simple Storage Service): 외장 디스크를 구매하지 않고 인터넷으로 이용할 수 있는 클라우드 상에서 데이터를 저장하고 사용한 만큼 돈을 지불하는 서비스 Auto Scaling scale-out: 수평으로 가상의 서버가 여러 개로 늘어나는 것 서버가 언제 증가될 것인지, 고객의 접속률이 하락하면 서버를 축소하는 조건을 설정해야 한다. Amazon Lightsail Amazo..

Cloud/AWS 2023.07.18

0. 프로젝트 초기 설정 : 컨벤션 규칙 지키기

코딩 컨벤션 코딩 컨벤션은 가독성이 좋고 관리하기 쉬운 코드를 작성하기 위한 코딩 스타일 규칙이다. 오류를 발생시키는 오류를 줄어주어서 유지보수 비용(시간)을 줄일 수 있다. Checkstyle 지정된 코딩 컨벤션을 준수하는지 확인하는 도구이다. Java 언어를 사용하여 웹 프로젝트를 개발하기 위해 초기 설정으로 구글 코딩 컨벤션을 Code Style Formatter로 설정하고 Checkstyle을 적용하는 과정을 정리했다. 1. 네이버 컨벤션 다운받기 아래 깃허브 주소에서 naver-intellij-formatter.xml 파일을 다운 받는다. https://github.com/naver/hackday-conventions-java/blob/master/rule-config/naver-intellij..

프로젝트 2023.07.16

네트워크 토폴리지와 네트워크의 분류

네트워크의 기초 네트워크: 노드(node)와 링크(link)가 서로 연결되어 있는 집합체 노드: 서버, 스위치 등 네트워크 장치 링크: 유선 또는 무선 처리량: 링크를 통해 전달되는 단위 시간당 데이터양을 말한다. 단위는 bps(bits per second)를 사용한다. (초당 수신되는 비트 수라는 의미이다) 지연시간: 요청이 처리되는 시간을 말하며 메시지가 두 장치 사이를 왕복하는 데 걸린 시간이다. 대역폭: 주어진 시간 동안 네트워크 연결을 통해 흐를 수 있는 최대 비트 수 네트워크 토폴리지 네트워크 토폴리지(Network Topology): 상호 간에 정보를 교환할 수 있도록 하는 노드와 링크들의 배치 형태를 말한다. 트리 토폴리지: 계층형 토폴리지라고 하며 트리 형태로 배치한 네트워크 구성이다. ..

🎨 디자인 패턴 : 싱글톤 패턴, 팩토리 패턴, 어댑터 패턴, MVC 패턴

디자인 패턴 디자인 패턴: 프로그램을 설계할 때 발생했던 문제들을 해결할 수 있는 솔루션을 규약 형태로 만들어 놓은 것이다. 싱글톤 패턴 싱글톤 패턴: 하나의 클래스의 오직 하나의 인스턴스만 가지는 패턴이다. 데이터베이스 연결 모듈에 많이 사용한다. 이를 통해 DB 연결에 대한 인스턴스 생성 비용을 절감할 수 있다. 단점: TDD TDD를 할 때 단위 테스트를 수행하는데, 단위 테스트는 테스트가 서로 독립적이어야 하고 테스트를 어떤 순서로든 실행할 수 있어야 한다. 하지만 싱글톤 패턴은 미리 생성된 하나의 인스턴스를 기반으로 구현하는 패턴이므로 각 테스트마다 독립적인 인스턴스를 만들기 어렵다. 유의: 싱글톤 패턴은 모듈 간의 결합을 강하게 만든다. 의존성 주입을 통해 모듈 간의 결합을 느슨하게 만들어서 ..

Computer Science 2023.07.14

쿠버네티스 객체의 종류 : deployment, service, configmap, secret, replicaset

Deployment (배포): 여러 개의 Pod를 생성하고 관리하는 객체, 애플리케이션의 스케일링과 롤링 업데이트들을 관리한다. 2. Service (서비스): 네트워크 경로를 Pod 집합에 노출시키는 추상화 객체로, 여러 Pod에 대한 로드 밸런싱과 서비스 디스커버리를 제공한다. yamlCopy code apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx ports: - protocol: TCP port: 80 # 포트 설정 targetPort: 80 3. ConfigMap (구성 맵): 애플리케이션에 필요한 구성 데이터를 저장하는 객체로, 환경 변수, 설정 파일 등을 관리한다. YAML 파일에 키-값..

DevOps/Kubernetes 2023.07.14

파드(Pod)와 YAML 파일

Pod란? Pod: Kubernetes 모델의 기본 구성요소로, 배포 가능한 가장 작은 Kubernetes 객체다. 가장 작은 Kubernetes 객체는 컨테이너라고 생각하셨던 분들 말이죠. 하지만 그렇지 않다. .YAML 파일 Kubernetes Pod 객체를 생성하기 위한 YAML 구성 파일로 Pod: Kubernetes 생태계에서 가장 작고 가장 간단한 단위로, 클러스터에서 실행 중인 단일 프로세스 인스턴스다. apiVersion: v1 **kind: Pod** **# 고유한 객체 이름** **metadata**: **# Pod 속성 정의** **name:** nginx uid: 4dd474fn-f389-11f8-b38c-42010a8009z7 # 객체 고유식별자 할당 labels: app: ngi..

DevOps/Kubernetes 2023.07.14

[Git] Branch : Git으로 협업하기, Git 커밋 관리, Git Bash 명령어 정리

Branch: Git으로 협업하기 Branch: 시간순으로 최신 커밋을 ‘master’ 브런치가 가리킨다. master 브랜치를 기준으로 새 브랜치를 생성한다. HEAD: 과거/최신 브랜치(커밋)를 넘나들 수 있다 merge: [master] 브랜치에 n개의 버전의 합집합을 구하는 것 Merge Commit(병합 커밋): 새로운 커밋 Fast-forward(빨리 감기): 기존 커밋과 같아서 이동만 하면 되어서 빨리 감기라고 한다 Conflict(충돌): 충돌이 난 부분을 확인하고 무엇을 남길지 수동으로 선택 Pull Request: 협력자에게 병합 요청 메시지를 보내는 것 의의 장점 단점 branch 하나의 원본저장소에서 분기를 나눈다 하나의 원본저장소에서 코드 커밋 이력을 편하게 볼 수 있다 다수의 브..

Git 2023.07.14

docker ps, iconfig

docker ps 정지되지 않은 컨테이너만 출력 docker ps 명령어 출력 목록 CONTAKINER ID: 컨테이너에게 자동으로 할당되는 고유 ID IMAGE: 컨테이너를 생성할 때 사용된 이미지 COMMAND: 컨테이너가 시작될 때 실행될 명령어 CREATED: 컨테이너가 생성되고 난 뒤 흐른 시간 STATUS: 컨테이너의 상태. 컨테이너가 실행 중이면 ‘Up’, 종료된 상태이면 ‘Exit’, 일시 중지된 상태이면 ‘Pause’로 표시한다. PORTS: 컨테이너가 개방한 포트와 호스트에 연결한 포트를 나열한다 NAMES: 컨테이너의 고유한 이름. 컨테이너를 생성할 때 —name 옵션으로 이름을 설정하지 않으면 도커 엔진이 임의로 형용사와 명사를 무작위로 조합해서 이름을 설정한다. docker ren..

DevOps/Docker 2023.07.14