본문 바로가기
반응형

hwanshell107

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.
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.
DNS Record란? 1. DNS Record DNS는 인터넷의 모든 사이트에서 IP 주소, 도메인 이름, 호스팅 및 기타 등록 정보를 포함하는 대규모 정보 시스템을 말합니다. 이 시스템이 만들어지기 전에 사람들이 웹 사이트에 액세스 할 수있는 유일한 방법은 IP 주소를 입력하는 것입니다. DNS Record는 DNS서버가 해당 패킷을 받았을 때 어떤식으로 처리할지를 나타내는 지침을 말합니다. DNS 레코드에는 서버가 요청에 응답하는 방법에 대한 다양한 구문과 명령이 포함되어 있습니다. 2. 일반적인 Record A record : 이 레코드는 도메인과 연결된 실제 IP 주소를 나타냅니다. CNAME record : 이 레코드는 현재 도메인 아래에 나열되거나 현재 도메인과 연결된 하위 도메인을 나타내는 데 사용됩니다. MX .. 2021. 6. 28.
Golang Array, Slice 사용법. (append) Golang에는 Array와 Slice가 있습니다. Array는 정적 배열, Slice는 동적 배열로 표현됩니다. 사실 이 둘의 차이는 선언할 때 배열의 길이를 정해주느냐, 정해주지 않느냐의 차이입니다. 하지만 이 차이가 정적과 동적 배열을 결정하게 됩니다. 1. Array package main import "fmt" func main() { var arr1 [5]int = [5]int{1, 2, 3, 4, 5} var arr2 = [3]int{1, 2, 3} arr3 := [4]int{1, 2, 3, 4} fmt.Println(arr1) //output : [1, 2, 3, 4, 5] fmt.Println(arr2) //output : [1, 2, 3] fmt.Println(arr3) //output.. 2021. 6. 27.
ARP통신에 대해서... 1. ARP (Address Resolution Protocol) ARP는 통신 프로토콜중 하나 입니다. ARP 통신의 목적은 MAC 주소를 알아내기 위해 사용되는 프로토콜 입니다. 사진에서 보는것과 같이 OSI 7 Layer중 2계층에 속한 프로토콜로 라우터 통신이 아닌, 브릿지, 허브, L2 스위치에서 사용되는 로컬 통신 입니다. 2. ARP?? IP?? ARP통신은 상대방의 IP주소는 아는데, MAC 주소를 모를때 사용합니다. 일반적으론 IP주소만 알면 통신이 가능하다고 생각을 하지만, 컴퓨터는 기본적으로 MAC주소를 가지고 통신하게 됩니다. 그럼 왜 IP주소가 아니라 MAC주소를 보고 통신을 할까?? IP주소는 유동적으로 변하고, MAC주소는 고정(static)이기 때문입니다. MAC주소는 NIC.. 2021. 6. 16.
Golang interface에 대한 설명.... Go는 기본적으로 상속을 지원하지 않습니다. 단, interface를 제공함으로써 추상화를 돕고, 객체들을 서로 연결시켜주는 역할을 해줍니다. 단, 상속이 아니기 때문에 dependency가 낮으며, 느슨한 관계가 됩니다. 이는 Go언어의 설계목적에 있는것이죠. 1. interface 선언방법 type Calculator interface {...} Golang의 guideline을 보면 interface를 선언할 때 시작문자는 대문자로, 단어 끝에는 -er로 끝나도록 만들라고 합니다. 즉, 어떠한 일을 하는 행위자를 표현하는것이 좋습니다. 기본적으로 golang의 struct는 상속이 없기때문에, insterface안에 선언된 함수들을 사용하려면 리시버라는 기능을 통해함수를 따로 정의해야 합니다. 2... 2021. 6. 6.
반응형

스킨편집 -> html 편집에서