본문 바로가기
반응형

hwan-shell15

도커 볼륨/마운트 설명과 차이점. Docker를 실행하게 되면 프로세스 위에 Container가 돌아가게 됩니다. 이런 Conatainer들은 Docker image를 기반으로 만들어지고 실행됩니다. 이러한 Container들은 Image layer위에 write형식으로 데이터들을 저장하게 됩니다. 그리고 이러한 것들을 sha256 digest 형태로 저장하고 관리하게 됩니다. 저 layer는 Overlay2 드라이버로 저장되며, /var/lib/docker/image/overlay2/layerdb/sha256 경로에 저장되게 됩니다. 여기에 Container에 작성되고 저장된 모든 데이터와 파일들이 담겨있습니다. 단, Container가 지워지면 기존에 write형식으로 저장되었던 layer도 지워지게 됨으로, Image로 해당 Con.. 2023. 3. 12.
Part 3. DevOps vs SRE ?(공통점과 차이점) 앞선 글에서 DevOps와 SRE가 하는 역할에 대해 간략하게 적어봤습니다. DevOps : https://hwan-shell.tistory.com/361 Part 1. DevOps 란 무엇일까? DevOps란 무엇일까?... 이 글을 작성하고 있는 지금 시점에서 저는 Streami 회사에서 1년 4개월 동안 DevOps Engineer로 근무를 하고 있습니다. 하지만 아직까지도 DevOps의 정의를 설명해 보라고 누군가 질 hwan-shell.tistory.com SRE : https://hwan-shell.tistory.com/362 Part 2. SRE란 무엇일까? DevOps에 대해 공부하는 도중에 SRE란 개념이 나왔고 이 개념이 저를 햇갈리게 했습니다. DevOps == SRE 인 것 같았거든.. 2022. 10. 2.
Part 2. SRE란 무엇일까? DevOps에 대해 공부하는 도중에 SRE란 개념이 나왔고 이 개념이 저를 햇갈리게 했습니다. DevOps == SRE 인 것 같았거든요. 그래서 이 둘의 차이점을 알아내려고 이것저것 알아봤습니다. 이 둘이 의미하는 뜻은 명백히 다르지만 하는 역할은 비슷합니다. https://bcho.tistory.com/1325 블로그에서 설명을 인용하자면 "SRE implements DevOps" 입니다. 즉, 광범위한 DevOps의 문화중 일부분을 구현하는 것이 SRE입니다. SRE SRE는 Site Reliability Engineering의 약자로 처음 이 개념을 제시한 곳은 Google입니다. 해당 개념은 DevOps와 굉장히 밀접해 있으며, 추 후 DevOps vs SRE에 대해서 다룰 예정입니다. SRE의.. 2022. 9. 24.
Part 1. DevOps 란 무엇일까? DevOps란 무엇일까?... 이 글을 작성하고 있는 지금 시점에서 저는 Streami 회사에서 1년 4개월 동안 DevOps Engineer로 근무를 하고 있습니다. 하지만 아직까지도 DevOps의 정의를 설명해 보라고 누군가 질문 한다면 정확히 말할 자신이 없습니다. (단순 개발과 운영을 합친 포괄적인 의미로 설명하고 싶지 않습니다.) 하여 이 글을 통해 생각을 정리해보고자 합니다. DevOps DevOps는 Development & Operations의 합성어로 전채적인 개념을 보자면 개발과 운영을 합쳐놓은 것입니다. 또한 해당 용어는 Engineer의 뜻도 가질 수 있지만, 철학적인 뜻으로 설명되는 경우도 많습니다. 우선 철학적인 뜻으로 설명을 하자면... 지속적 통합 / 지속적 배포(CI/CD).. 2022. 9. 4.
V8 Engine에 대해서....(메모리구조, 컴파일방식) 1. V8 Engine이란?? Google에서 만든 JavaScript 컴파일러로 C++언어를 기반으로 만들어 졌습니다. 때문에 독립적으로 실행이 가능하며, 다른 웹 브라우저 없이 JavaScript, Node.js 코드를 컴파일 할 수 있습니다. 2. JIT Compiler (Just-In-Time) V8은 JIT Compiler을 지원합니다. 일반적인 Compiler에는 동적 컴파일(인터프리터)와 정적 컴파일(Compiler)가 있습니다. JIT Compiler는 이 두개를 합친 것으로 실행시점에서 인터프리터 방식으로 바이트 코드를 생성합니다. 그 후 V8 Engine은 바이트 코드를 기계어 코드로 만들고, 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지합니.. 2021. 5. 31.
JavaScript 탄생 과 ECMAScript에 대해서 1. JavaScript 탄생 첫 탄생은 브랜든 아이크가 10일만에 설계한 것으로부터 시작합니다. 처음에는 Mocha라는 이름이었지만, 4달 만에 LiveScript라는 이름으로 개명하고 다시 3달 후에는 JavaScript라는 이름이 되어 오늘날까지 이어지고 있습니다. JavaScript라고 지은 이유는 Java의 유명세를 타서 묻어가려고 의도적으로 만들었다고 합니다. 해당 언어는 웹 브라우저 내에서 주로 사용되며, node.js를 통해 Backend도 만들 수 있게 되었습니다. 뿐만아니라 라즈베리파이에도 사용이 가능하며, 여러곳에서 사용될 수 있는 언어로 발전했습니다. 2. ECMAScript ECMA International 이라는 국제 표준화 기구가 있습니다. 표준화 시킨 대표적인 것들은 JSON.. 2021. 5. 31.
Ansible(앤서블)에 대하여.... (간단한 설명) 서버를 운용하다보면 셋팅이 필요한 경우가 있습니다. 예를들면 패키지 설치, 응용프로그램 설치 등... 설치가 끝나면 해당 프로그램에 맞게 셋팅도 해줘야 합니다. apache라면 '/var/www/html/' 에 위치해 있어야 겠죠. nginx 라면 '/usr/share/nginx/html' 에 위치하겠죠. 클러스터를 구축한다고 가정해보겠습니다. 즉, 동일한 기능을 하는 웹 서버를 5대 셋팅한다는 뜻입니다. 5대라면 충분히 서버 하나하나에 접속해서 셋팅할 수 있습니다. 시간이 좀 걸리더라도요... 그럼 100대, 200대 라고 생각해봅시다. 또한 위 서버들의 셋팅은 전부 다 다릅니다. 한 그룹은 웹서버, 다른 그룹은 DB, 다른 그룹은 다른 웹서버 등.... 거의 하루 이틀 날잡아서 될 양이 아니죠?? 특.. 2021. 4. 1.
리눅스 파이프(pipe) 에 대한 설명 ( '|' ) 리눅스에서 저희는 파이프( | )를 자주 사용합니다. 이 파이프에 대해 알아보려고 합니다. 그럼 우선 리눅스 명령이 어떤식으로 실행되는지 알아야 합니다. 1. 리눅스 쉘 사용자는 리눅스 커널과 통신하기 위해서 리눅스 쉘이라는 녀석을 사용합니다. 정확히는 커널과 운영체제를 이어주는 녀석입니다. 기본적으로 리눅스를 사용하는 환경은 /bin/bash 라는 쉘을 사용합니다. 일명 배쉬쉘.... 자신이 어떤 쉘을 사용하는지 확인하려면 다음과 같은 명령어를 입력해주시면 됩니다. # echo $SHELL 저희가 이런 쉘을 사용하기 위해서 터미널 창을 열게 됩니다. 이런 터미널은 하나의 프로세스입니다. 그리고 'ls', 'cd', 'cat' 등의 명령어는 이 터미널이 갖고있는 정보를 기준으로 실행되게 됩니다. 2. 리.. 2021. 3. 31.
프로그래머스] C++ 풍선 터트리기(Level 3) 해당 문제는 프로그래머스에서 푸실 수 있습니다. programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 1. 문제 과자를 바구니 단위로 파는 가게가 있습니다. 이 가게는 1번부터 N번까지 차례로 번호가 붙은 바구니 N개가 일렬로 나열해 놨습니다. 철수는 두 아들에게 줄 과자를 사려합니다. 첫째 아들에게는 l번 바구니부터 m번 바구니까지, 둘째 아들에게는 m+1번 바구니부터 r번 바구니까지를 주려합니다. 단, 두 아들이 받을 과자 수는 같아야 합니다(1 2021. 3. 31.
DNS에 대한 설명(디테일 하게....) DNS란 무엇일까요?? Domain Name System의 약자로 인터넷 주소창에 Host Domain Name을 입력했을 때(ex, naver.com, google.com 등..) 해당 문자를 IP주소로 변환해 주는 시스템을 말합니다. 저는 URL창에 Host Domain Name을 입력했을 때 어떤식으로 해당 IP주소를 받아오는지, DNS서버의 구조는 어떻게 되어있는지, 좀 더 효율적인 방법을 위해 어떤걸 사용하는지 등에 대해 상세히 적어보자 합니다. 1. 기지국 DNS서버 (Local DNS Server) 저희가 URL에 Domain Name을 입력했을 때 해당 IP를 찾기위해 가장먼저 찾는 DNS서버입니다. 기본적으로 컴퓨터의 LAN선을 통해 인터넷이 연결되면, 인터넷을 사용할 수 있게 IP를 할.. 2021. 3. 29.
AWS Lambda 설명 AWS 에서 Lambda라는 기능이 있습니다. 저는 이 Lambda에 대해 알려보려고 AWS 공식 홈페이지에 들어가서 글을 읽어 봤지만.... 도무~~ 지 무슨 소리인지 전혀 모르겠어서 마구잡이로 자료를 찿고 이해하는데 성공했습니다. AWS 공식 홈페이지에서 Lambda는 다음과 같이 설명하고 있습니다. "AWS Lambda는 서버를 프로비저닝하거나 관리하지 않고도 코드를 실행할 수 있게 해주는 컴퓨팅 서비스입니다." 서버를 프로비저닝? 코드를 실행? 어디서 무슨 코드를 실행 한다는거지? 컴퓨팅 서비스? 뭐가 컴퓨팅 서비스지? 이런 것들에 대해 하나하나 짚고 넘어가면서 Lambda가 어떻게 사용되는지 알아보도록 하겠습니다. 1. AWS Lambda 프로그래밍 공부를 하다보면 Lambda 함수에 익숙하신 .. 2021. 3. 22.
AWS T2의 CPU 크레딧이란? AWS에는 CPU Credit이라는 기능이 존재합니다. 기본적으로 EC2에서 인스턴스를 만들 때 tier type 별로 각각 성능이 다릅니다. 이렇게 tier와 type별로 cpu 성능이 다르게 부여됩니다. tier가 올라갈 수록 가격도 올라가지요. 이런 EC2의 CPU에 Boost 기능이 있습니다. 흔히 일반적인 컴퓨터에서 사용되는 인텔 CPU의 부스터 쿨럭을 생각하시면 됩니다. AWS에서는 해당 CPU Boost기능을 제안하고 있는데, 이에 대해 알아보고자 합니다. 1. CPU Credit? AWS에서 CPU Credit은 1분동안 CPU Boost를 해줄 수 있는 갯수를 의미합니다. Credit이 사용되는 원리는 다음과 같습니다. 1개의 CPU의 사용률이 100%가 되었을 때, CPU는 Boost상.. 2021. 3. 22.
JAVA 어노테이션에 대해서.... JAVA 스프링을 보면서 어노테이션을 굉장히 많이 활용하는 것을 보고 조사해야 겠단 생각이 들어서 조사를 했습니다. 1. 어노테이션이란? 어노티에션은 메타데이터로 클래스 파일에 임베디드되어 컴파일러에 의해 생성된 후 자바 가상머신에 포함되어 작동됩니다. 즉, 어노테이션이 있으면 프로그래머 입장에서 해당 코드가 어떤 상태인지 알 수 있는 가독성이 올라가게 되며, 컴퓨터 입장에서는 해당 코드에 오류발생시 좀 더 정확한 지점의 오류를 찾아줄 수 있는 좋은 메타데이터 입니다. 여기서 메타데이터란 데이터에 대한 데이터라는 뜻으로 데이터가 데이터의 상태를 표현한다. 라고 생각해주시면 될 것 같습니다. 2. 어노테이션의 종류 어노테이션에는 기본 어노테이션, JAVA 커스텀 어노테이션이 있습니다. 우선 기본 어노테이션.. 2021. 3. 15.
AWS 시작하기(EC2 사용해보기) 1. EC2란? AWS에서 EC2는 Elastic Compute Cloud의 약자로(C가 2개라 C2....) 클라우드에서 컴퓨터를 가져온다라고 생각하시면 됩니다. 즉, 서버를 원격으로 임대하는 것이죠. 다른말로 표현하자면 아마존 서버가 클라이언트에게 자신의 클라우드 서버를 인스터스해 준다. 라고 말할 수 있습니다. (클라우드 공부하면서 느낀게 인스턴스화 한다. 인스턴스를 준다. 라는 말을 자주 사용하게 됩니다.) 2. EC2 시작하기 aws.amazon.com/ko/ 클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services 제조 AWS를 활용한 Siemens의 에너지, 의료 서비스, 제조 분야 혁신 Siemens가 AWS를 사용하여 어떻게 문화를 바꾸고 혁신을 장려하며 비즈니스 .. 2021. 3. 14.
백준 2447] C++ 별 찍기 - 10 해당 문제는 백준 사이트에서 풀 수 있습니다. www.acmicpc.net/problem/2447 1. 문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k < 8이다. 출력 첫째 줄부터 N번째 .. 2020. 11. 22.
반응형

스킨편집 -> html 편집에서