반응형

Bash 스크립트에서 매번 if [ $? -ne 0 ];을 써서 명령어의 실행 결과를 확인하는 건 번거롭고 코드가 지저분해 보일 수 있다. 이를 깔끔하게 처리할 수 있는 몇 가지 방법을 소개한다.

  1. set -e 사용
    스크립트에 set -e를 추가하면, 명령어가 실패할 때(exit code가 0이 아닐 때) 자동으로 스크립트 실행이 중지된다. 이렇게 하면 매번 $?를 체크할 필요가 없어진다.
#!/bin/bash
set -e

# 명령어 실행 (실패하면 스크립트가 중지됨)

command\_1  
command\_2

echo "이 메시지는 위 명령어들이 성공한 경우에만 출력됨"  

set -e는 스크립트 실행을 중단해야 할 때 유용하지만, 모든 경우에 적합하지 않을 수 있다. 실패해도 계속 실행해야 하는 상황이라면 다른 방법을 고려하는 게 좋다.

  1. 함수로 처리
    자주 사용하는 에러 확인을 함수로 만들어 놓으면 매번 $?를 확인하는 중복을 줄일 수 있다.
#!/bin/bash

check\_command() {  
"$@"  
if \[ $? -ne 0 \]; then  
echo "Error: '$\*' 명령어가 실패했습니다." >&2  
exit 1  
fi  
}

check\_command ls /path/to/dir  
check\_command another\_command  

check_command 함수는 전달받은 명령어를 실행하고, 실패하면 에러 메시지를 출력한 뒤 스크립트를 종료하는 방식이다.

  1. 명령어 체인 (&&와 || 사용)
    명령어가 성공하거나 실패할 때 각각 다른 동작을 하고 싶다면 &&와 ||를 사용하는 것도 깔끔하다.
command && echo "성공" || echo "실패"  
&&는 명령어가 성공했을 때 실행되고, ||는 명령어가 실패했을 때 실행된다. 단순한 에러 처리를 할 때 유용하다.
  1. 트랩(Trap) 사용
    스크립트 전체에서 에러가 발생할 경우에 대한 공통 처리가 필요하다면 trap을 사용할 수 있다. 특정 상황이나 에러 발생 시 자동으로 호출되는 함수를 정의할 수 있다.
#!/bin/bash

trap 'echo "Error occurred at line $LINENO"; exit 1' ERR

# 명령어 실행

command\_1  
command\_2  

이 코드는 ERR 신호가 발생할 때, 즉 명령어가 실패하면 해당 트랩이 실행돼 에러 메시지를 출력하고 스크립트를 종료한다.

반응형
반응형

프라하 국립 극장(Národní divadlo)

프라하와 비엔나를 비교를 많이 하는데, 사실 양쪽에서 모두 본 입장에서 예술쪽에 조예가 깊지 않은 이상 비엔나에서 예술 공연을 보는 가격이 부담이 된다면, 프라하에서 보는 것을 추천한다. 필자는 발레 공연을 보았는데, 단순히 조그만데서 발레 비슷한걸 보여주고 끝나는 그런 공연이 아닌 국립극장에서 제대로된 공연을 보았다.
국립 극장도 19세기 후반에 지어진 극장으로 체코의 민족주의의 상징이라고 불린다고 한다.

예약 방법

예약은 아래의 사이트에서 예약이 가능하며, 외에도 오페라 등등 예약이 가능하다.
예약 방법은 검색해보면 많이 나온다.


https://www.narodni-divadlo.cz/en

 

National Theatre in Prague

The National Theatre is the representative stage of the Czech Republic. It is one of the symbols of national identity and part of the European cultural space.

www.narodni-divadlo.cz

 

복장

기본적으로 발레를 볼 때에 드레스 코드가 있는 것 같다. 대부분 여자분은 드레스 등을 입고 있었고, 남자 성인은 수트를 많이 입고 있었다.
필자는 코스상 복장을 따로 준비를 못해서, 반바지, 반팔, 스냅백을 쓰고 당당히 입장했다. 딱히 쫒아내거나 눈치를 주지 않고 일관되게 친절했다.
다만 다 그러고 있어서 약간 눈치가 보이지만 그렇다고 뭐라하는 사람은 없었다.

공연

프라하나 비엔나 모두 공연에는 카메라 촬영 등이 엄격히 금지되어 있다. 서양은 공연에 대한 에티켓이 잘 지켜지는지 핸드폰 한번 울리는 일 없이 모두 핸드폰을 끄는 것 같았다. 물론 찍지 말라는데 카메라로 사진을 찍는 사람도 한둘은 보였지만, 절대 하지 않는 것을 추천한다.

쉬는 시간

쉬는 시간마다 나와서 간단한 와인 등 주류 혹은 음료를 마시고 흡연 등을 하면서 시끌 벅적하게 얘기를 한다.
공연에 대한 얘기인지는 잘 모르겠지만, 상당히 인상적이었다.

추천 사항

국립극장 맞은 편에 카페가 있는데, "카페 슬라비아" 라는 카페로, 또한 100년이 넘는 역사를 자랑한다고 한다.
서빙해주시는 분들도 상당히 격식이 있었고, 공연을 기다리는 사람들이 주로 많이 이용하는 것 같았다.
드레스를 입어야 할 수도 있다는 것을 알고는 갔지만 여행객이 많은데 다 입겠어? 하고 갔다가 국립극장 들어가기 전부터 모두 드레스를 입은 상태로 카페를 이용하는 것을 보고 아차 싶긴했다.

마지막으로

체코에 갔으면 오페라와 발레 등은 보고 오는 것을 강력히 추천한다.
가격도 그렇게 부담스럽지 않고, 진짜 예술가들의 퍼포먼스를 역사가 깊은곳에서 보는 비용으로 상당히 저렴하게 볼 수 있다.

https://g.co/kgs/eDkNbiq

 

국립극장 · Národní 2, 110 00 Nové Město, 체코

4.8 ★ · 공연예술 극장

www.google.com

 

아래에  좌석 관련 이전 포스트 첨부한다.

https://onestepcloser.tistory.com/248

 

[체코 국립극장] 프라하 국립극장에서 발레 볼때 좌석별 정보

비엔나에서 발레를 보려니 가격이 만만치 않다.포기를 하던차에 지인이 프라하 국립극장에서 보면 가격도 부담없고, 퀄리티도 좋다 그래서 보니 정말 메리트 있어서 예약을 하려고 보니 좌석이

onestepcloser.tistory.com

 

반응형
반응형

필요 패키지 설치

$ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

gpg key 추가

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Repository 추가

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

업데이트

$ sudo apt update

Docker 설치

$ sudo apt-get install docker-ce docker-ce-cli containerd.io

필요시 Reboot 혹은 docker service restart

$ sudo reboot now

or 

$ sudo systemctl restart docker

Docker service 확인

$ systemctl status docker

User docker group 권한 추가

$ sudo gpasswd -a ${USER} docker

이후 shell 종료 및 재접속 필요

반응형
반응형

시작전

docker-ce는 설치되어 있어야 함

gpg 키와 저장소 추가

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

apt package repository update

$ sudo apt update

nvidia-docker2 설치

$ sudo apt install nvidia-docker2

필요시 테스트

$ docker run --rm --gpus all ubuntu:18.04 nvidia-smi
반응형
반응형

Smart TV

필자는 중소기업의 가성비 스마트 티비를 사용한다.
처음에는 안드로이드 TV 라서 모든 OTT 서비스를 사용하고 4K 티비를 저렴한 가격에 쓸 수 있다는 것에 엄청난 만족을 하며 사용하고 있었다.
현재는 모든 컨텐츠의 소비가 Streaming Service 기반으로 되어 있어서 아무 거리낌 없이 사용하고 있지만, 초반에는 시작할 때나 이동할때 Loading 표시가 그렇게 거리낌이 있을 수가 없었지만 지금은 그려려니 하고 쓰는데 요즘 Android가 무거워진건지 앱들이 기능들의 개선으로 무거워 진건지 예전처럼 빠릿 빠릿 한거 같지도 않고, 유투브 볼때도 조금 건너뛸때마다 Loading이 걸리는게 조금씩 짜증이 났다.

PS5

필자는 학생때가 지난 이후로 게임은 단순히 성능 평가 정도로만 하고 예전처럼 의욕이 없어서 게임기를 사본적이 없다.
그러다가 동생에게 PS5를 기회가 될 일이 있어서 뺏어서 쓰고 있는데, 갓오브워 같은 명작만 1주에 한두번 정도 하다가 한달에 한두번 킬랑 말랑 한 상태로 여태까지 쓰다가 요즘 오공이라는 게임의 화려함에 빠져 구매하고 가끔 플레이를 하고 있다.
그러다가 회사 동료였던 후배가 SONY에서 근무할 때에 PlayStation 개발자였는데, 그 때에 사놓은 PS를 넷플릭스나 유투브 보는 용도로만 사용한다는 얘기를 했던게 기억이 나서 몇년만에 PS5를 키고 YouTube, Netflix, DisneyPlus 등의 앱을 설치를 해보았는데, 이게 엄청 빠른것이다!.
티비로 보면 화면속 화질이 4k가 될때까지 기다려야 했는데 바로 4k로 뜨고, 찾기등을 해도 바로 바로 결과가 나오고 심지어 음성인식도 훨씬 잘되는 것 같아보여서 PS5로 티비를 봐야겠다 하면서 "여태까지 내가 왜 그냥 티비로 참으며 쓰고 있었지?" 하고 생각하고 있었는데, 쓰다보니 또 사람이란게 불편해지는게 생기는데 그건 바로 컨트롤러 였다.
게임 컨트롤러로 리모컨 대신 사용하자니 이거 또 여간 불편한게 아니다.
티비 리모컨 따로 써서 티비 컨트롤 하다가, 앱을 사용할 때에는 PS5 컨트롤러를 사용하는데 이거 또 조이스틱 스치기라도 하면 위치찾기로 멈춰있는다. 뭐 그래도 이게 좋으니까 써야지 하다가, 지난 후배가 했던 말이 생각나서, 리모컨이 있지 않을까 생각되서 이리 저리 검색해보니 PS5용 리모컨이 있다는 것을 알게 되었다.

PS5 리모컨

처음에는 Aliexpress에는 뭐 어떻게든 호환되게 해서 파니까 라는 생각에 Aliexpress에서 검색해서 구매를 했는데, 한국에서도 판매를 하는 것 같다. 필자가 구매한 곳도 국내 판매업자가 등록한거라서 사실 다를바가 없는데 Aliexpress에서 자체적인 할인등으로 인해서 약 15% 정도는 더 저렴하게 산 것 같다.

아무 생각없이 가품을 생각하고 주문했는데 정품이 왔다.

장점

간단하게 사용해보고 장점을 열거한다.

  1. 컨트롤러를 사용할 필요가 전혀 없다.
  2. 가볍고 필요한 버튼만 있어서 조그맣고 디자인도 이쁘다.
  3. TV기능도 사용할 수 있다(다만 모니터에 연결할 경우 안된다고 알고 있다. HDMI로 연결된 특정할 수 없는 브랜드도 사용이 가능한 것 같다. HDMI로 TV 동작에 필요한 명령도 날릴 수 있는 것 같다. 현재 전원 ON/OFF, 소리 등 티비 리모컨은 당장 사용을 안해도 될것 같다)
  4. Netflix, Youtube, Disney+ 버튼이 있다. 공교롭게도 제일 활용을 잘하는 세가지 서비스다.
  5. 컨트롤러로 PS 5의 전원을 켜거나 잠에서 깨울 경우 미디어 카테고리로 이동을 해야하는데 리모컨으로 동작시킬 경우 바로 미디어로 켜진다.

단점

  1. 충전식이 아닌 배터리 교환식이다. 근데 리모컨이 그렇듯 자주 배터리가 떨어질 일이 없으니 큰 문제가 되지 않는 것 같다.

아직 생각나는 단점이 없다. 사용을 해보다가 불편한 점이 있으면 추가하도록 하겠다.

반응형

+ Recent posts