Tips
-
AWS AccessDeniedException: user is not authorized to perform: iam:PassRole on resource 에러 해결 방법Tips 2022. 6. 15. 21:37
Boto3나 AWS CLI를 사용하여 Glue 명령어를 수행할 때 다음과 같은 에러메세지가 떴다. botocore.errorfactory.AccessDeniedException: An error occurred (AccessDeniedException) when calling the UpdateJob operation: UserL arn:aws:iam:***:user/{유저이름} is not authorized to perform: iam:PassRole on resource: arn:aws:iam:***:role/{역할이름} because no identity-based policy allows the iam:PassRole action 처음 봤을 때 일단 똑같은 말을 여러 번 하면서 쓸데없이 길게 뜬..
-
맥 실리콘 m1칩에서 brew와 brew로 aws cli 설치하기Tips 2022. 5. 24. 23:08
나는 pro가 아닌데 무려 맥북 pro에 m1 pro를 사용하게 되었다. aws cli를 설치해야하는데 홈페이지에는 intel칩 사용자의 설치방법밖에 안나와있어(왜요..?) 뒤적거리다가 편하게 설치하려고 brew도 다시 깔고 brew 사용해서 설치하는 방법을 찾았다. brew 설치 방법 일단 간단하게 brew가 깔려있는지 확인하려면 다음 command line을 실행해보면 된다. command not found가 뜨면 brew가 설치 안되어 있는 것이다. $ which brew 설치는 다음 명령어로 할 수 있다. bash명령어이기 때문에 현재 사용중인 쉘이 zsh이나 다른 쉘이어도 그냥 복붙하면 된다. $ /bin/bash -c "$(curl -fsSL https://raw.githubuserconten..
-
OLTP vs OLAPTips 2022. 3. 29. 14:51
데이터를 저장하는 목적은 저장된 데이터를 활용하기 위해서다. 데이터를 활용하는 방법은 크게 OLTP와 OLAP 두 가지로 구분할 수 있다. 어떻게 데이터를 활용하냐에 따라 저장하는 데이터 베이스의 종류, 데이터 베이스 엔진의 선택, 데이터 모델링 방법이 달라지므로 저장되는 데이터의 활용 목적을 분명히 하는 것은 중요한 작업이다. OLTP OLTP는 OnLine Transaction Processing의 약자로 "트랜잭션"이 목적인 처리방법이다. 비즈니스 활동 자체를 지원하는 작업이라는 설명이 있는데, 이 말이 좀 어렵다면 돈을 벌어다주는 활동을 지원하는 작업이라고 생각하면 된다. 사용자의 요청을 적절하게 하나의 트랜잭션으로 묶고, 이 트랜잭션이 완벽하게 처리되는 것을 목표로한다(하지만 완벽이란건 없기에 ..
-
CPU 성능 측정에 관련된 용어들 - Clock cycle, Clock period, Clock speed, CPI, ICTips 2022. 3. 25. 20:54
CPU (clock) Cycle: CPU가 명령어를 실행(Fetch-Decode-Execute로 이루어지는)하는 단위 Clock period: CPU cycle이 한 번 돌기 위해 걸리는 시간 Clock speed: clock period의 역수. 단위는 헤르츠(Hz) CPU 실행시간 = 프로그램 하나를 처리하는데 돌아야하는 CPU 클럭 사이클 수 x 클럭 사이클 시간 CPI (Clock cycles per instruction): 한 프로그램에서 명령어 하나를 처리하는데 필요한 평균 clock cycle 수. 명령어 종류마다 필요한 clock cycle 수가 다르므로 평균으로 표현. IC (Instruction count): 프로그램 하나를 처리하는데 필요한 명령어의 수 CPU 성능 식 = IC x C..
-
포트포워딩으로도 외부에서 접속이 안 될 때: Ngrok으로 로컬PC 서버에 띄우기Tips 2021. 10. 27. 21:39
앞서 포스팅한 포트포워딩으로도 webhook에서 로컬 jenkins에 연결하는 것에 실패했다. 원인은 자세히 알아봐야하지만 아마 집에서 사용하는 개인 공유기가 바로 인터넷에 연결되어있는 것이 아니라 건물에서 사용하는 공유기에 연결되어 있는 것 때문이 아닌가(포트포워딩이 두 번 필요한 상황이지만 건물 공유기에 내가 접속할 수 없으므로 불가)로 추측된다. 로컬 Jenkins에 연결하는 것을 포기하고 EC2에 띄운 젠킨스를 사용하려다가 Ngrok을 사용하면 외부에서 접근 가능한 dns를 만들 수 있다고 하여 시도해봤다. 이전 포스팅에서 적었듯 외부에서 내 컴퓨터에 접근하기 위해서는 포트포워딩을 하거나 공인 IP를 돈을 주고 사야하는데, Ngrok을 사용하면 공인 IP를 만들어 주는 느낌으로 외부에서 로컬 컴퓨..
-
Oh-my-zsh 설치하기, zsh 테마 변경 및 한글 폰트 적용, 자동완성 설정하기Tips 2021. 8. 20. 01:31
zsh는 z-shell이라고 읽으며 bash shell의 기능을 포함하여 여러가지 기능이 추가되어 있는 쉘의 한 종류이다 (bash shell base라 맥에서만 사용 가능한 줄 알았는데 윈도우에서도 WSL등을 사용해서 설치할 수 있다고 한다). 원래 Mac OS에서 기본 shell은 bash shell이어서 zsh를 기본 shell로 사용하려면 변경하는 절차가 추가로 필요했는데 카탈리나부터는 기본 쉘이 zsh로 변경됐다. 기존에 bash shell을 쓰고 있던 맥북이라면 카탈리나로 업그레이드해도 자동으로 바뀌지는 않는 듯 하다. 반대로 기본 쉘이 zsh로 설정되어 있어도 chsh 명령어로 bash shell로 변경이 가능하지만 애플은 zsh를 사용할 것을 권하고 있다. zsh의 기능들로는 맞춤법 수정,..
-
Python 가상환경 비교, Anaconda/ Homebrew/ Git/ Docker 간단 정리 및 설치 TroubleshootingTips 2021. 8. 12. 22:50
(포스팅 할 수록 느끼는건데 티스토리 편집기 진짜 별로다.. 벨로그로 갔어야했나...) *간단한 CLI 명령어 Python version 확인: python --version Directory 삭제: `rm -r the name of the directory you want to delete` - Directory가 비어있지 않으면 삭제가 안됨 `rm -rf the name of directory you want to delete` - 비어있지 않은 directory도 삭제 *가상환경 가상환경 사용 이유: 원하는 환경을 구축하기 위해 필요한 패키지만 담아놓는 바구니 역할 프로젝트마다 요구하는 버전이나 패키지가 다를 수 있는 데, 이 때 충돌이 일어나기 쉽기 때문에 프로젝트 별 환경을 독립적으로 구축하기위..