전체 글

Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험과 공부한 내용을 기록하며 지속가능한 엔지니어가 되는 것이 꿈입니다.
보통 전통적으로 리눅스에서 사용하는 퍼미션 (permision)은 우리에게 익숙한 drwxrwxr-x 이러한 형태로 확인이 된다. 그런데 전통적인 퍼미션으로는 others 에 해당하는 사용자에게 권한을 세부적으로 주는 것에 한계가 있다. 이를 해결하기 위한 것이 posix ACL이다. 1. 파일에 posix acl 를 설정하는 명령어 setfacl [OPTION] FILE 명령어) setfacl -m u:user01:rw userfile3 특정 유저 (=user01)에게 userfile3 라는 파일에 대해 read write를 할 수 있는 권한을 부여. 주의해야 할 점은, POSIX ACL로 권한을 설정한 이후에 일반 퍼미션 (chmod 같은 명령어) 을 주면 충돌이 일어날 수도 있다. rmission에..
·Algorithm (PS)
https://www.acmicpc.net/problem/7570 7570번: 줄 세우기 입력은 2 개의 줄로 이루어져 있다. 첫 줄에는 어린이 수를 나타내는 정수가 주어진다. 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하 www.acmicpc.net 가장 긴 증가하는 수열의 길이를 찾은 후 전체 길이 n에서 빼준다. n = int(input()) data = list(map(int, input().split())) count = 1 # 길이가 1 인 수열로 취급 max_len = 0 position = [0] * (n+1) for i in range(1, len(data)): position[data[i]] = i # index를 저장한다. I#ND..
우선 리눅스는 멀티유저 운영체제이다! 여러명의 유저가 사용할 수 있도록 지원한다. 따라서 사용자를 생성, 수정, 삭제할 수 있다. 리눅스의 시스템 설정 파일은 /etc 디렉토리 하위에 있다. 그리고 /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow 4개의 파일에 사용자와 그룹의 정보가 저장되고 있다. 시스템에 등록된 사용자 정보 확인하기 1. /etc/passwd /etc/passwd 에는 시스템에 등록된 사용자 정보가 저장된다. 이눅스는 멀티유저 운영체제이다! 여러명의 유저가 사용할 수 있도록 지원한다. 내부를 살펴보면, user:x:1000:1000:user:/home/user:/bin/bash 과 같이 사용자 계정에 대한 등록 정보를 확인할 수 있다. : 는..
Multitasking : 동시에 실행되는 것처럼 보이지만, 사실상 CPU에서는 매 순간 하나의 작업만이 실행되고 있다. 하나의 프로그램이 끝나기 전에 다른 프로그램이 실행되는 것 Multi programming : 메모리에 여러 프로그램이 동시에 올라가 있음. 메모리 측면을 강조 Time sharing : CPU 를 좀 더 강조한 측면. 시간을 쪼개서 여러가지 프로그램을 실행한다. Multiprocess : 실행중인 프로그램을 프로세스라고 하며, 여러 프로그램이 동시에 실행된다는 의미 Multiprocessor : processor라는 것은 보통 CPU를 말한다. CPU가 여러개 있는 컴퓨터를 의미한다.
1. 운영체제의 의미 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 좁은의미로 OS는 커널을 가리킨다. (보통 커널만을 이야기하기도 한다. ) 커널은 항상 메모리에 상주한다. 넓은의미로 OS는 커널을 포함해서 주변 시스템들 , 각종 유틸리티들을 포함하는 개념이다. 2. 운영체제의 목적 하드웨어 바로 윗단에 설치되고, 소프트웨어 바로 아랫단에 설치된다. → 하드웨어를 효율적으로 관리해주는 것이 가장 중요한 역할이다. 1) 컴퓨터 시스템의 자원을 효율적으로 관리 자원이라는 것은 프로세서, 기억장치, 입출력 장치 (하드웨어 자원) 등을 효율적으로 관리하는 것이다. 주어진 자원으로 최대한의 성능을 낼 수 있도록 한다. → 효율성 효율성만 추구하다보면 특..
·Algorithm (PS)
https://school.programmers.co.kr/learn/courses/30/lessons/67257 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 연산자의 우선순위를 정하는 것을 순열 라이브러리로 구해 모든 경우를 확인해주는 brute force방법으로 풀었다. 계산할 때는 연산자 우선순위대로 순회한다. 해당 연산자를 계산하는 순서가 되었을 때, 연산을 한다. expression 에서 해당 연산자가 아니라면 피연산자 취급을 해서 스택에 쌓는다. x + y 라고 할 때 먼저 오는 x 에 해당하는 피연산자는 stack에 쌓인 것 중 맨 위에 있..
·Algorithm (PS)
https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 삼성 코딩테스트에서는 collections 라이브러리를 못쓰게 한다는 소식을 듣고 ~ n과 m을 풀어보았읍니다.. 비내림차순으로 순열을 구하는 알고리즘입니다 중복된 값을 출력하는 것을 방지하기 위해, 처음에 입력받는 숫자들을 set()으로 묶어서 중복된 숫자를 빼줍니다 import sys input = sys.stdin.readline n, m = map(int, input().split())..
1. Ethernet LAN 의 약자는 Local Area Network 이다. 그리고 LAN의 종류중 하나가 Ethernet 이다. Ethernet의 frame 구조는 다음과 같다. Link Layer 계층에서의 데이터프레임의 명칭이 frame이다. preamble destination address source address type data - IP protocol CRC - error checking frame 은 header와 데이터로 이루어져 있으며, 이 데이터에는 ip packet의 내용이 담겨져 있다. Ethernet이 사용하는 MAC protocol 은 CSMA/CD이다. Link Layer가 하는 일 중 하나가 link 에 access 하는 것이다. 여기서 link 란 네트워크 토폴로지..
minjiwoo
minji's engineering note