본문 바로가기
반응형

hwan121

V8 Engine의 integer, string이 메모리 어디에 할당 되는가? JavaScript는 debug하기가 어렵습니다. 때문에 node에서 컴파일러로 사용되는 V8 engine의 docs를 보거나, 여러 사람들이 작성한 Reference를 봐야합니다. 책 JavaScript Deep Dive에서 간략하게 JavaScript메모리에 대해 설명하고 있는데, 이를 좀 더 파보려고 합니다. 1. V8 Engine 메모리 구조 V8 Engine에는 기본적으로 Stack과 Heap메모리가 있으며, Literal을 저장하기위한 Constant pool이 있습니다. 2. Integer가 저장되는 방식. Integer는 기본적으로 V8 engine의 stack pointer에 저장됩니다. 저장되는 영역은 SMI(Small Integer)라는 곳에 저장되는데, 운영되는 OS에 따라 32Bi.. 2023. 1. 23.
Docker에서의 -i -t의 의미 Docker를 사용할 때, 도커 컨테이너를 실행 후 해당 컨테이너에 접근하기 위해서 위 옵션을 붙여서 사용합니다. 물론 -d(Detached)로 실행한다면 위 옵션은 필요하지 않겠죠. 그럼 -i와 -t는 무슨 역할을 하며 이거 2개의 옵션이 없으면 도커 컨테이너 내부에 접근해서 명령어를 실행하지 못할까요? 이것을 설명하기에 앞서 UNIX는 다음과 같은 말을 합니다. "everything is a file". 이 글을 읽고 저 문장이 무엇을 뜻하는지 이해하시면 성공한 겁니다~ 1. -i (STDIN) https://docs.docker.com/engine/reference/commandline/exec/ docker exec docker exec: The `docker exec` command runs a.. 2023. 1. 15.
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.
IPad로 Vscode 작업하기. (code-server를 EC2로 띄우기) 이번에 회사에서 IPad를 받게되었는데, vscode를 설치할 수 없어서 찾다가 code-server라는 걸 발견하게 되어, 글을 작성합니다. 이 글은 AWS Cloudformation으로 VPC, Subnet, EC2, InternetGateway를 자동으로 구축합니다. 소프트웨어는 code-server를 사용했습니다.(https://github.com/cdr/code-server) GitHub - cdr/code-server: VS Code in the browser VS Code in the browser. Contribute to cdr/code-server development by creating an account on GitHub. github.com ※ 제가 설명드린 순서대로 안하면 ng.. 2021. 10. 31.
프로그래머스] C++ 위클리 챌린지 9주차 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/86971 1. 문제 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세.. 2021. 10. 10.
Shell script STDOUT vs STDERR (2>&1) Bash shell에서는 표준출럭(stdout) 과 표준에러(stderr)이 있습니다. 서로 출력을 해주는 것이지만 성격이 다릅니다. 이것들을 설명해보고자 합니다. 1.File descriptor STDIN 0 STDOUT 1 STDERR 2 파일 디스크립터는 파이프, FIFO, 소켓, 터미널, 디바이스, 일반파일 등 종류에 상관없이 모든 열려있는 파일을 참조할때 쓴다. 2. STDOUT vs STDERR 해당 출력은 stdout에 해당될까? stderr에 해당될까? 답은 stdout에 해당되는 출력입니다. 해당 출력은 stderr에 해당되는 출력입니다. 두개의 공통점은 출력을 해주고 있는 것이죠. 하지만... 쉘 스크립트를 만들어 실행시키다 보면 해당 문구가 정상 출력 문구인지, 에러 출력 문구인지 구.. 2021. 9. 26.
docker cli vs Dockerfile vs docker-compose 1. Docker docker cli는 단일 컨테이너를 위한 명령어들을 제공합니다. 예를들어 이미지를 생성하려면, $ docker pull [IMAGE] 컨테이너를 생성하려면 $docker create [OPTIONS] IMAGE [COMMAND] 즉, 단일 컨테이너에 대해서 만들거나, 실행하거나 하는 용도로 사용되는 명령어입니다. 2. Dockerfile 도커 파일은 이미지를 생성할 때, 해당 이미지 안에 기본적으로 어떤 소프트웨어를 설치할지 결정하는 도구입니다. 예를들어 $ docker pull ubuntu 를 사용하여 이미지를 받으면 우분투만 들어있는 깡통 이미지만 받아와 집니다. 해당 이미지에 저희는 컨테이너를 만들고 접속하여 원하는 소프트웨어를 설치하는 작업을 거쳐야 합니다. 하지만 Docker.. 2021. 9. 19.
Local stack 이란? 1. Local stack 이란? Site : https://localstack.cloud/ LocalStack Develop and test your cloud apps offline. localstack.cloud Github : https://github.com/localstack/localstack GitHub - localstack/localstack: 💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps of 💻 A fully functional local AWS cloud stack. Develop and test your cloud & Serverless apps offline! - .. 2021. 9. 19.
Golang 변수 초기화와 정의된 데이터 타입, 함수 Golang의 특징중 하나는 무조건 변수의 초기값이 할당된다는 것입니다. 즉, 쓰레기 값이 없습니다. 또한 이미 정의된 키워드(int, true, float32 etc...) 들도 있으며, 이에 대해 설명하고자 합니다. 1. Go 정의된 데이터 타입과 함수 상수 true, false, iota, nil 타입 int, int8, int16, int32, int64 uint, uint8, uint16, uint 32, uint64, uintptr float32, float64, complex64, complex128 bool, byte, rune, string, error 함수 make, len, cap, new, append, copy, close, delete complex, real, imag pani.. 2021. 8. 29.
Linux awk 사용법 및 응용법. awk에 대한 설명이 많고, 1. awk 란? AWK(오크;Aho Weinberger Kernighan)는 유닉스에서 처음 개발된 일반 스크립트 언어입니다. AWK라는 이름은 이 스크립트 언어를 만든 앨프리드 에이호, 피터 와인버거, 브라이언 커니핸 세 명의 성의 앞글자를 따서 붙여졌다고 합니다. AWK의 기본 기능은 텍스트 형태로 되어있는 입력 데이터를 행과 단어 별로 처리해 출력하는 것입니다. awk는 기본적으로 하나의 행을 레코드(Record)로 바라보며 처리합니다. awk는 처리방식도 특이하고, 명령어를 스크립트처럼 사용할 수 있는 것이 특징입니다. 즉, 입력을 주어진 분리자(field seperator)로 분리하여 명령을 처리합니다. 2. awk 명령어 awk는 기본적으로 문장을 문자 단위로 나.. 2021. 7. 20.
프로그래머스] C++ 2017 카카오 - 단체사진 찍기(Level 2) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/1835 1. 조건 첫 번째 글자와 세 번째 글자는 다음 8개 중 하나이다. {A, C, F, J, M, N, R, T} 각각 어피치, 콘, 프로도, 제이지, 무지, 네오, 라이언, 튜브를 의미한다. data는 1 ~ 100개까지 들어 있다. data의 각 요소들은 다음과 같은 형태를 갖는다. - 첫번째와 세번째는 알파벳(A, C, F, J, M, N, R, T 중 1개) - 네번째 글자는 ( , = ) 중 하나이다. - 다섯번째 글짜는 숫자로 각 인원이 원하는 거리를 뜻한다. data의 조건을 만족하면서 줄을 설 수 .. 2021. 7. 20.
프로그래머스] C++ 2020 카카오 인턴십 - 키패드 누르기(Level 1) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/67256 1. 조건 1. 왼손과 오른손이 있다. 왼손에 가까운 키페드는 1, 4, 7 이고, 오른손에 가까운 키패드는 3, 6, 9 이다. 2. 숫자가 주어질때, 왼손과 오른손을 사용해서 번호를 눌러야 하는데, 2, 5, 8, 0 숫자인 경우 현재 있는 손의 위치에서 가장 가까운 손으로 터치한다. 3. 만약 양손의 거리가 같다면 hand에 있는 손을 우선순위로 둔다.(오른손잡이, 왼손잡이) 2. 풀이 왼손과 오른손은 각각 1, 4, 7 과 3, 6, 9로 나뉘어서 해당 부분만 if문 처리해주면 쉽게 도출할 수 있습니다.. 2021. 7. 14.
프로그래머스] C++ 2021 카카오 인턴십 - 거리두기 확인(Level 2) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/81302 1. 조건 1. String이 담긴 배열이 주어진다. 해당 String은 5X5로 무조건 고정이다. 2. P, O, X가 있으며, P는 사람의 위치, O는 빈공간, X는 칸막이 이다. 3. P1 와 P2 사이의 거리는 멘허튼 거리 2이상을 유지해야 한다. (여기서 멘허튼 거리는 다음 공식으로 계삲할 수 있다.) ※ 두 테이블 T1, T2가 행렬 (r1, c1), (r2, c2)에 각각 위치하고 있다면, T1, T2 사이의 맨해튼 거리는 |r1 - r2| + |c1 - c2| 입니다 4. 멘허튼 거리에 P1와 .. 2021. 7. 11.
반응형

스킨편집 -> html 편집에서