본문 바로가기

전체 글292

[Docker] Ubuntu 도커 설치 Ubuntu와 Docker 이 글에서는 Ubuntu 도커 설치와 관련된 내용을 다룬다. Docker는 리눅스를 기반으로 하기 때문에 리눅스 운영체제 위에서 돌아가야한다. Ubuntu는 Linux계열 운영체제로 바로 설치가 가능하다. Ubuntu Docker 설치 Ubuntu Docker Install Manual Install Docker Engine on Ubuntu docs.docker.com $ sudo apt-get update $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release apt가 HTTPS 프로토콜을 통해서 repository를 사용할 수 있도록 패키지를 설치한다. $ curl.. 2021. 10. 6.
[Docker] CentOS 도커 설치 CentOS와 Docker 이 글은 CentOS 도커 설치에 대한 내용을 담고 있다. Docker는 리눅스를 기반으로 하기 때문에 리눅스 운영체제 위에서 돌아가야한다. CentOS는 Linux계열 운영체제로 바로 설치가 가능하다. CentOS 도커 설치 CentOS Docker Install Manual Install Docker Engine on CentOS docs.docker.com $ sudo yum install -y yum-utils $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo yum 패키지 관리툴의 부가 기능을 설치하고 repository 목록에 docker의 re.. 2021. 10. 6.
Docker란 무엇인가? 왜 사용할까? Docker 개요 어느 순간부터 Docker가 마치 업계 표준이된 것 처럼… 많은 서비스에서 사용되고 있는 기술이 되었습니다. 특히 MSA(Micro Service Architecture) 가 대세로 떠오르면서 MSA의 단점인 관리의 복잡성을 해결해주기 위해 서비스의 컨테이너화가 이루어지고, 이 과정에서 Docker와 Kubernetes가 많이 도입되었습니다. MSA(Micro Service Architecture) ※ MSA는 서비스간의 의존성을 없애고 기능을 쪼개는 것을 중점적으로 설계한 아키텍처입니다. 예를 들어, 은행 시스템을 하나의 통합된 프로그램으로 개발하지 않고… 입/출금 서비스, 조회 서비스, 대출 서비스 등 기능별로 작게 쪼개서 MSA 형태로 되어 있다고 가정하겠습니다. 이 때 새로운 대.. 2021. 10. 6.
[Docker] Windows 도커 설치 Windows와 Docker 이번 글에서는 Windows 도커 설치하는 내용을 다룬다. Docker는 리눅스를 기반으로 하기 때문에 리눅스 운영체제 위에서 돌아가야한다. Linux 계열 이외의 운영체제에서 도커를 사용하기 위해서는 다른 툴을 이용해야한다. Windows 운영환경에서 도커를 사용하기 위한 2가지 방법이 존재한다. Hyper-V 옵션 –> Bare Metal Hypervisor 사용 Docker Toolbox –> Hosted Hypervisor 사용 (Deprecated) 둘의 차이는 Hyper-V 옵션 : OS가 자체 가상화를 지원 Docker Toolbox : VMWare, VirtualBox와 같은 Hosted Hypervisor를 통해 가상화해서 사용하는 것이다. 즉, Linux를 .. 2021. 10. 6.
PKI 란? 공개키 기반 구조 개념 PKI(Public Key Infrastructure) PKI 공개키 기반 구조에 대해서 굉장히 어렵게 설명이 되어 있는 경우가 많아 쉽게 이해할 수 있도록 정리할 겸 글을 작성합니다. 공개키 암호화와 전자서명을 사용할 수 있게 기반을 마련해둔 것이 PKI(Public Key Infrastructure)이다. 이전 글에서 [CS/보안] - 대칭키 / 비대칭키 양방향 암호화 기법 방법에 대해서는 알아봤습니다. 이런 공개키 암호화를 쉽게 사용할 수 있도록 기반을 마련하는게 PKI인데... 이런 기반? 인프라?를 구축하기 위해서 CA라는 개념이 등장하게 됩니다. 공개키 암호화에서 개인키는 오로지 개인이 소유하고 있어야 합니다. 반면 공개키의 경우 다른 사람들도 사용을 해야하는데... 이것을 어떻게 구할 수 있.. 2021. 10. 6.
전자서명과 동작 원리 전자서명 전자서명은 프로그램, 드라이버, 서비스 등 여러 매체들이 안전하게 사용할 수 있다는 것을 인증하기 위해 사용되는 서명이다. 안전한 파일이나 드라이버임을 인증하기 위해 Code-Signing과 같은 작업도 전자서명이고… 웹사이트가 안전하다는 것을 인증 받기 위해 SSL을 적용하는 것도 전자서명이고 인증서에 Timestamping하는 것도 전자서명이다. 즉, 안전하다는 것을 인증하기 위한 행위가 전자서명의 포괄적인 의미이다. 위의 이미지는 크롬 브라우저에서 SSL을 적용한 인증서에 대한 확인하는 방법이다. https가 적용되어 자물쇠 아이콘이 있으면 SSL이 적용된 사이트라는 표시이다. 인증서를 확인해보면 인증서 3개가 연결되어 있는것을 확인할 수 있다. 이는 인증서 체인이라고 하는데 가장 상단에 .. 2021. 10. 6.
대칭키 / 비대칭키 양방향 암호화 기법 양방향 암호화 이전 글에서는 봤던 단방향 암호화 기법과 반대로... 대칭키와 비대칭키는 양방향 암호화 방식 이다. Hash를 사용한 단방향 암호화 방식과는 다르게 암호화된 암호문을 복호화할 수 있는 알고리즘이다. 대칭키 : 암호화, 복호화에 사용되는 키가 동일하다. 비대칭키 : 암호화, 복호화에 사용되는 키가 다르다. 암호화와 복호화에 사용되는 키들의 실체는 대체로 파일형태로 되어있고 열어보면 암호화된 값이 있다. 대칭키 암호화 양방향 암호화 방식 중에 널리 사용하는 대칭키는 암호화와 복호화에 같은 암호 키를 쓰는 알고리즘이다. 비교 예시 2차 세계대전 때 독일 스파이들은 모스부호를 이용해서 민감한 군사 정보를 암호화해서 서로 전달을 했다. 여기서 중간에 이 모스 부호로 암호화된 정보를 가로챈다고 하더라.. 2021. 10. 6.
Hash 단방향 암호화 기법 Hash 해시는 데이터를 다루는 기법 중 하나이다. 해시의 가장 큰 특징은 데이터의 크기와 상관없이… 해시 알고리즘을 통해 얻는 해시값은 항상 고정된 길이를 반환한다. 이런 특징을 갖고 보안적인 관점에서는 단방향 암호화으로 사용 할 수 있다. 용어 정리 용어 설명 해시 함수(알고리즘) 임의의 크기의 데이터를 input값으로 고정된 길이의 output(해시값)으로 반환해주는 함수 해시 값 해시 알고리즘에 의해 얻은 데이터. 해시코드, 해시 체크섬 이라고도 한다. 해싱 해시 알고리즘에서 해시값을 매핑하는 과정 해시의 특징 해시 알고리즘은 아래와 같은 몇가지 중요 특징들이 있다. 고정된 길이 hash(10GB Data) = '84960594d762e2534b56c2e8f8b2a3f6770e1ae8e13d255.. 2021. 10. 6.
백준 2839 파이썬 - 설탕 배달 - 동적 계획법 백준 2839 파이썬 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net N킬로그램의 설탕이 주어졌을 때, 설탕을 담기 위해 3키로그램과 5키로그램 봉지로 가장 적은 양의 봉지를 만들어 내는 방법을 구하는 문제이다. 이 문제는 계산 횟수를 줄이기 위해 이전에 계산했던 값을 기억해뒀다가 재사용하는 메모이제이션을 활용하는 것이 적당하다고 판단했습니다. 3 ~ N킬로그램까지 작은 숫자부터... 각각 가장 적은 양의 봉지를 저장해두면... 해당 값보다 3, 5 큰 .. 2021. 10. 5.
Django Oracle11g 연동하는 방법 Django Oracle11g 연동 Django 프레임워크 사용할 때 Oracle 버전에 대한 Dependency가 있습니다. https://docs.djangoproject.com/en/2.0/releases/2.0/#dropped-support-for-oracle-11-2 Django 2.0 release notes | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate docs.djangoproject.com Django 2.0부터 Oracle11g에 대한 지원.. 2021. 10. 5.