본문 바로가기

728x90

개발공부

(53)
CS 강의 1. CPU와 메모리 출처 : 내일배움캠프 CPU와 메모리에 대해, 64비트 프로세서, L2/L3 캐시, 주파수 등 CPU의 성능과 작동방식에 대한 내용을 설명하고 있으며, CPU의 핵심 동작인 데이터 가져오기, 디코딩, 실행에 대한 내용. 레지스터, 제어장치, 연산장치 등 CPU의 구성요소와 컴퓨터의 구성에 대한 내용도 포함되어 있다 1. 컴퓨터의 구성 2. CPU의 구성 (우뇌) 산술논리 연산장치(ALU) : 비교, 판단, 연산을 담당한다 (좌뇌) 제어부(CU)와 내부 버스 : 명령어의 해석과 올바른 실행을 위해 CPU를 내부적으로 제어 (양손) 메모리 유닛 1) (오른손) 레지스터 : 처리할 명령어를 저장 ~ 연산할 도구를 저장 2) (왼손) 캐시 메모리(L1) : 처리속도를 높여주는 역할 레지스터의 종류(특수목적 레지..
프로그래머스 Lv 0 : 더 크게 합치기 문제 설명 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다. 12 ⊕ 3 = 123 3 ⊕ 12 = 312 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요. 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다. 풀이 더보기 class Solution { public int solution(int a, int b) { String aPlusB = String.valueOf(a) + b; String bPlusA = String.valueOf(b) + a; return Math.max(Integer.parseInt(aPlusB), Integer.parseI..
깔끔한 파이썬 - 탄탄한 백엔드 (1) 0. 환경 설정 - 파이썬 2와 파이썬 3은 서로 호환하지 않고, 현재 많은 프로그램이 파이썬 2로 작성되어있기 때문에 두 가지 모두 설치하는 것이 좋다. 일반적인 파이썬 가상 환경 1. 콘다 : 외부 개발 툴, 파이썬 패키지 매니저와 개발 환경 매니저 기능을 제공하는 개발 툴이다(pip과 venv의 기능을 동시에 제공한다), 아나콘다라는 파이썬 배포판에 포함되어 있다. 데이터 분석 및 사이언스에 특화되어 있다. 2. venv : 파이썬 3에 포함되어 있는 가상 환경 ~ 책에서는 콘다를 사용한다 : 아나콘다 전체가 아닌 콘다만을 설치할 수 있다. => 미니 콘다 - 터미널 ~ 우분투 사용, 깃 설치 cf) 깃 관련 터미널 툴 : TIG, Diff So Fancy - 셸 설치 : Bash 또는 ZSH(Oh..
Udemy : Docker & Kubernetes 실전 가이드 (9) - 1 Docker 컨테이너 배포하기 - 수동 배포 1. 배포 프로세스 & 프로바이더 1) 리모트 서버 설정 2) SSH 연결 3) 로컬 호스트 머신에서 도커 이미지 푸시 4) 리모트 호스트에서 컨테이너 실행 후 웹에 포트 노출 5) 리모트 서버, 머신 찾기 ~ 대표적인 프로바이더 : AWS, Azure, Google Cloud Platform 2. AWS EC2를 리모트 서버로 활용 1) 인스턴스 생성 2) 가상 공개 클라우드와 보안 그룹 생성, 포트 노출을 보안 그룹에 구성 3) SSH를 통해 인스턴스에 연결 3. 프로덕션에서 바인드마운트 - 프로덕션은 로컬 호스트 머신에 있지 않고 리모트 머신에 있고, 컨테이너는 스탠드얼론으로 작동하며 리모트 머신의 환경과 독립적이여야 한다. 이미지를 통해 컨테이너를 실행..
Udemy : Docker & Kubernetes 실전 가이드 (8) Laravel & PHP 도커화 1. Target 설정 애플리케이션 컨테이너 : PHP 인터프리터, Nginx 웹 서버, MySql 데이터베이스 유틸리티 컨테이너 : Composer : npm 유사, 써드파티 패키지를 설치하는 관리자, Laravel 설치 Laravel Artisan : 데이터베이스 마이그레이션 등 npm : Laravel의 뷰에서 일부 자바스크립트 코드가 필요한 경우 2. Nginx - nginx 포트 80 노출이 기본값 역할 : 요청을 받고 그 요청을 PHP 컨테이너로 송신하는 역할 공식 이미지 작업 방법 : ./nginx/nginx.conf:/etc/nginx.conf:ro 3. PHP - PHP 공식 + Laravel 언어 버젼 : 7.4-fpm-alpine ~ nginx 구성을 ..
Udemy : Docker & Kubernetes 실전 가이드 (7) 유틸리티 컨테이너 노드를 예로 들면 비어있는 프로젝트 폴더에서 npm init 명령어와 함께 package.json 생성 후 종속성 추가 ~ 프로젝트를 생성하기 위해 호스트 머신에 설치해야하는 부가 도구를 도커화한 것이 유틸리티 컨테이너 1. 컨테이너에서 명령을 실행하는 다양한 방법 노드 공식 이미지를 docker run 하면 인터렉티브 모드가 아니기 때문에 중지된다. docker run -it -d node + docker exec : 실행 중인 컨테이너 내 특정 명령을 실행할 수 있다. ~ 도커파일에 지정된 명령 외 특정 명령을 실행한다. docker exec 실행 중인 컨테이너 이름 ~ ex) docker exec -it hopeful_spence npm init - 계속 프로세스와 연결되려면 인터..
Udemy : Docker & Kubernetes 실전 가이드 (6) Docker Compose 1. 기본 개념 - 다수의 docker build와 docker run을 하나의 구성 파일로 정리할 수 있든 명령 셋이다. - 도커 컴포즈 파일 작성이 가장 첫 번째 단계 Service(Containers) : 다중 컨테이너 애플리케이션을 구성하는 컨테이너 - 터미널에서 도커 명령으로 할 수 있는 모든 것을 다 할 수 있다. 2. Compose 파일 만들기 docker-compose.yaml ~ 들여쓰기 사용가능 https://docs.docker.com/compose/compose-file/ Overview docs.docker.com 1) 버전 설정하기 : 문서를 참고해 컴포즈의 최신 버전을 사용한다. 2) services : yaml 파일은 들여쓰기로 종속성을 표현하기 때..
Udemy : Docker & Kubernetes 실전 가이드 (5) 다중 컨테이너 애플리케이션 구축 데이터베이스 컨테이너, 백엔드 서버 컨테이너, 프론트엔드 컨테이너 ~ 일반적으로 웹 애플리케이션을 만드는 방법 데이터베이스 컨테이너 : 컨테이너가 변경되더라도 담겨있는 내용은 보존되어야 한다 ~ Mongo 이미지는 로그인 방식을 지원하기 때문에 이를 이용해 데이터를 보존 할 수 있다. 백엔드 컨테이너 : 마찬가지로 로그 데이터 등이 보존되어야 한다. = 컨테이너는 계속 동작해야 하기 때문에 호스트 머신에서 리팩토링하는 소스 코드가 즉시 컨테이너에 반영되는 방식을 취한다. 프론트엔드 컨테이너 : 컨테이너 재실행 없이 코드의 즉시 반영 1. 데이터베이스 도커화 - MongoDB의 경우 27017 포트를 디폴트로 제공한다. 2. 백엔드 도커화 : 포트 넘버 노출에 유의하기 3...

728x90