https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT PRODUCT_CODE, SUM(PRODUCT.PRICE * OFFLINE_SALE.SALES_AMOUNT) AS SALES FROM PRODUCT LEFT JOIN OFFLINE_SALE ON PRODUCT.PRODUCT_ID = OFFLINE_SALE.PRODUCT_ID GROUP BY OFFLINE_SALE.PRODUCT_ID ORDER BY SALES ..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻❄️☁️조건에 맞는 도서와 저자 리스트 출력하기 https://school.programmers.co.kr/learn/courses/30/lessons/144854 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT BOOK_ID, AUTHOR_NAME, date_format(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATE FROM BOOK book LEFT JOIN AUTHOR author ON book.AUTHOR_ID = author.AUTHOR_ID WHERE CATEGORY = '경제' O..
at 명령어를 통해서 특정 시점에 작업이 실행될 수 있도록 예약해서 사용할 수 있다. 아주아주 간단하다 !! 단 !! at 명령어로는 단일성 작업을 예약하는 것이다. 주기적으로 작업을 스케줄링 하려면 condtab 명령어들을 사용해야 한다. at [OPTION] TIMESPEC 시간을 표기하는 방법은 다음과 같다 at 22:30 at 11:00 AM //오늘 오전 11시에 실행된다. at Jan 4 2023 13:00 at 01-03-22 at 010322 at 01.03.22 at 3:00pm 5 Jan 2023 at now + 5min //현재시점을 기준으로 실행될 시점을 지정한다. at noon tomorrow : 내일 정오에 작업 실행 예약 at midnight tomorrow : 내일 자정 작업..
디스크 (Hard Disk) 플래터 (Platter) : 실제 데이터가 저장되는 위치 스핀들(Spindle) : 플래터를 회전시키는 역할 담당. RPM이란 Round Per Minute이란 뜻으로 spindle의 회전속도를 의미한다. 헤드 (Head) : 플래터에 있는 데이터를 읽거나 기록을 하는 기능. 디스크 플래터 (Disk Platter) 의 구성요소 섹터 (Sector) : Platter의 가장 작은 단위. 디스크 블록이라고도 함. 트랙 (Track) : Sector 들이 합쳐저서 하나의 원을 이루는 것. 실린더 (Cylinder) : 여러 track에 대한 스택 구조이다. Partitioning 의 종류 MBR Partitioning GPT Partitioning MBR Partitioning의..
system 관리 작업과 사용자의 작업 스케줄링은 원래는 같이 crond 로 관리되었다가, 보안상의 이유로 시스템 관리 작업은 system cron으로 분리하게 되었다. 시스템 cron 작업은 crontab 명령어를 통해서가 아니라, /etc/crontab 파일의 템플릿을 이용하여 /etc/cron.d 디렉토리에 파일을 생성하여 작업을 예약한다. /etc/crontab 의 내용은 다음과 같다. 여기서 제공하는 템플릿을 이용하여 시스템 작업을 스케줄링히자. cp 옮길파일경로 새로운경로/파일이름 명령어를 톻해 /etc/crontab 내용을 복사한 후 /etc/cron.d 디렉토리 하위에 test1 파일을 생성하는 동시에 내용을 붙여넣어주었다. /etc/cron.d 에 템플릿을 복사하여 추가해주었다. 다음과 ..
리눅스에서 주기적으로 작업을 스케줄링하는 종류는 크게 두가지로, user의 작업 스케줄링과 시스템 작업 스케줄링이 있다. 우선, user의 작업 스케줄링이다. 사용자별로 예약할 수 있게 하는 작업이다. crontab crontab 명령을 사용하여 작업을 등록, 확인, 삭제할 수 있다. crontab -e 작업 예약 내용 → vi 에디터가 열리면서 설정할 수 있다. crontab -l crontab 예약한 내용을 확인할 수 있다. crontab -r crontab을 모두 지워버린다. 참고로 crontab 으로 예약 건 작업 중에서 하나만 지우고 싶을 때는 crontab -e 에서 직접 필요없는 줄을 지워주면 된다. crontab 작업 예약 내용 작성하는 방법 분 시 일 월 요일 명령어 순서로 작성한다. 예..
일반 ACL과 다르게 앞에 d:가 붙는다. Default ACL은 일반 ACL과 달리, 디렉토리에만 부여할 수 있다. Default ACL에서 퍼미셜 d:u::PERMS 파일의 소유자 d:u:USER:PERMS 특정 사용자 d:g::PERMS 파일의 소유 그룹 d:g:GROUP:PERMS 특정 그룹 d:o::PERMS 기타 사용자 Default ACL 설정 아래 두가지 명령어는 같은 의미로, default acl 를 설정하는 명령어이다. $ setfacl -m d:ACL_ENTRY DIRECTORY 디렉토리에만 적용할 수 있으며, 일반 acl를 하위 파일에게 적용시켜준다. $ setfacl -d -m ACL_ENTRY DIRECTORY -d 옵션은 default acl 설정하는 옵션이다. 뒤에는 일반 a..
우선 mask란 무엇일까? 전통적인 Permission으로 권한 관리할 때의 umask가 있다. umask 란 ? 파일을 생성할 때 초기의 퍼미션을 결정해주기 위해 사용하는 mask값이다. 여기서 mask라는 것은 가린다는 의미이다. 파일에 지나치게 많은 권한들이 부여될 경우에 보안상 위험하다. 따라서 umask값을 통해서 적절한 권한을 설정할 수 있도록 도와주는 역할을 한다. 즉, 필요하지 않은 권한들을 빼주는 역할을 한다. -> 그러나 POSIX ACL에서의 mask는 umask와 오히려 반대 개념으로 이해할 수 있다!! POSIX ACL에서의 mask 란 ? posix acl를 가지고 최대한 부여할 수 있는 권한을 나타내는 의미의 mask값이다. setfacl 명령어로 POSIX ACL값을 설정하는..