기본 콘텐츠로 건너뛰기

UIUC MCS-DS 코세라 Fall 2018수강신청중 이런저런 내용 정리

UIUC MCS-DS과정에 관심있어하는 분들이 보이는 것 같아(혹은 코세라에서 진행하는 다른 온라인 코스) 중간중간에 내용 업데이트를 해봄. UIUC 의 CS 410의 첫 반은 코세라의 Text Retrieval and Search Engines 과목인데, UIUC로 지불하는 학비 외에 코세라에서 이 수업을 듣기 위한 비용이 159달러 정도 된다. specialization 수업들을 듣는게 한달에 대략 50달러 정도의 구독 비용을 지불해야 하니까 대략 3달 정도의 코세라 specialization 과정 비용을 지불하는 셈. 융통성 있게 하려는 건지 시스템의 한계인지는 모르겠지만 학기 시작전에 혹시라도 개인적으로 해당 수업을 듣고 있었다면(그리고 진도가 좀 나갔다면) UIUC학기 시작 바로 전날 코세라의 과목에 배정될 때, 진행중이던 과목이 자동으로 UIUC 크레딧 코스로 변경된다. 즉 가을학기 수업이 8월 27일이고 26일날 학생들이 코세라 수업에 배정되는데 만약 지금부터 수업을 시작하면 대략 20일정도 먼저 진도를 뺄 수 있는 기회가 생기는 셈이다. (그리고 퀴즈 역시도) 다만 문제는 specialization 코스에 포함되는 과목들은 $49/mo를 지불하지 않고 그냥 audit으로 수업을 듣는 경우 quiz는 풀 수 있으되 퀴즈 푼 내용을 submit할 수가 없다. 따라서 만약에 2학기에 좀 빡시게 2~3과목을 듣고 싶은데 지금 당장 여유가 있어서 한과목 정도는 진도를 빼놓고 싶은 경우라면 $49를 내고 지금 수업을 시작하고 또 8월말 수업이 시작되면 첫 퀴즈를 submit할 때 요구되는 $150달러 정도의 비용을 또 지불해야(아마도?) 한다.
다행히(?)도 specialization 코스의 $49/mo 지불은 7일간의 free trial기간이 있어서 7일간 열심히 해서 quiz까지 죄다 풀 수 있는데까지 풀고 나서 7일이 되기 전에 subscription을 취소하는 식으로 돈 안들이고 진도를 미리 빼놓을 수 있을 것 같긴 한데(안해봐서 안될지도)... …
최근 글

도커 이미지에 볼륨 마운트시 소유권한 문제

Docker 이미지를 VM 이나 기타 환경에서 동작시킬 때 문제 중 하나는, 특정 프로퍼티파일이나 볼륨 마운트를 실시간에 Puppet등으로 docker -v 를 통해서 붙이는 경우의 파일 퍼미션이다. 이를테면 도커 이미지에서 동작하는 톰캣의 UID와 GID가 각각 1200:1200 이런 식이라고 할 때, 볼륨 마운트 시킨 파일의 퍼미션이 위와 같이 일치하지 않거나 최소한 읽기 권한 등이 없으면 파일에 접근할 수가 없다.
이것의 또 다른 문제점은 해당 docker 이미지 내의 UID / GID가 puppet이나 도커 이미지를 실행하는 VM에 의해서 생성된 것이 아니라는 것이다. 언뜻 생각하기에는 실행하는 VM이 해당 도커 이미지 안으로 로그인하여 파일 소유 권한을 바꿔야 하는 특정 디렉토리에 접근해서 해당 디렉토리/파일의 UID GID를 VM의 것으로 바꾸던지(이런 경우 passwd와 group의 것도 바꿔야 함) 하면 될 것 같지만 이런 경우 immutable environment 라는 컨셉이 깨질 수가 있고( 도커 이미지로 만들어질 때와 그 이후 실행될 때의 상태가 다름), 또한 의도치 않게 도커 이미지 안에서 해당 UID GID로 실행되어야 하는 다른 것들이 있을 경우 그 프로세스들이 접근 퍼미션 문제를 겪을 수가 있다. 또 다른 방법으로는 도커를 실행하는 프로세스가 docker run -t <image name> /bin/bash 등으로 도커 이미지 내부에 들어가서 /etc/password와 /etc/group 등에 접근해서 UID PID를 알아낸 다음 그걸 이용해서 도커에 마운트하는 로컬 볼륨의 소유권한을 바꾸는 방법이 있을 수 있다. 이것도 뭔가 구리다 싶으면 마지막 방법으로는 그냥 서로 "약속"을 통해서 해당 마운트를 읽어들여야 하는 계정의 UID와 GID를 미리 정해놓는 것이다. 즉 도커 이미지를 생성할 때 추가할 tomcat의 UID GID를 1200으로 미리 맞춰놓고 도커 이미지를 실행하는 VM의 Puppet등이 …

Hyper X Cloud II vs. Logitech G633 비교

페이스북에서 쓰기 시작하다가 내용이 길어져서 미디엄과 블로거로 옮김. 집에서는 HyberX Cloud II Gaming Headset을 쓰고 회사에서는 Logitech G633을 쓰고 있는데 나름 두개 다 게이밍 헤드셋 중에서는 가격이나 성능이 중급 이상은 되는 기기들이다. 혹시라도 게이밍 해드셋 고민중이신 분들께 도움을 드릴 겸 평을 써보자면… 헤드셋의 마이크 감도는 로지텍쪽이 월등한 듯 하다. 문제는 굳이 들리지 않아도 되는 주변 소음까지 너무 잘 잡는 듯한 느낌. 마이크의 성능이나 상대방이 듣는 음질 자체는 HyberX Cloud II가 나은 듯. G633은 헤드셋 자체에 매크로 버튼이랑 볼륨 조절 버튼이 왼쪽 헤드셋 자체에 붙어 있어서 게임하거나 음악 듣다가 음량 조절이 무척 쉽다. 매크로 키는 거의 쓸데가 없고… HyberX Cloud 는 다른 헤드셋과 마찬가지로 헤드셋 줄에 붙어있는 컨트롤러를 통해서 조절가능. 다만 여기 마이크랑 헤드셋, 그리고 7.1채널 시뮬레이션을 해주는 버튼이 같이 붙어 있어서 마이크와 헤드셋 음량을 동시 조절하긴 이쪽이 편함. G633은 USB와 3.5mm잭을 동시에 입력받을 수 있음. 이 말이 뭐냐면 만약에 PC와 맥을 동시에 가지고 있다면 PC에 G633의 USB 포트를 연결하고 맥에 3.5mm잭을 연결하면 PC로 게임이나 작업을 하면서 소리를 듣다가도 혹시라도 맥쪽에서 이벤트가 발생하거나 뭔가 소리가 시스템으로부터 발생하면 그 소리도 같이 들을 수 있음. 쓸데없다면 쓸데없지만 또 유용하게 쓸 수 있는 기능. (당연히 3.5mm용 컨트롤러도 붙어 있어서 볼륨조절이나 마이크 뮤트가 가능) 글을 쓰고 있는 현재 시점에 가격대는 둘 다 비슷비슷한 $100 USD근처. 다만 무선 버전을 원한다면 G633의 무선버전인 G933도 있다. G933은 유선기능은 G633과 동일하고 거기다가 무선 연결도 지원하는 버전. 가격은 현재 기준으로 대략 $140USD. 귀와 접촉하는 부분의 재질을 보자면, HyberX Cloud II는 두가…

Hackerrank Array Left Rotation test case failing at test case 6, 8, 9

I'm learning GoLang and decided to do some algorithm quiz at Hackerrank with Go instead of reading and just follow up the tutorial code.

The one I tried yesterday was https://www.hackerrank.com/challenges/ctci-array-left-rotation

Following was my initial solution. It's kind of brute-force algorithm for shift things left, but anyway...

package main import ( "fmt" "strings" "bufio" "os" "bytes" ) func main() { var len, nToRotate int var input string var buffer bytes.Buffer fmt.Scanln(&len, &nToRotate) scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { buffer.WriteString(scanner.Text()) } input = buffer.String() var items []string items = strings.Fields(input) //fmt.Printf("%d", len(items)) for i := 0; i < nToRotate; i++ { items = append(items[1:], items[0]) } fmt.Println(strings.Join(it…

HVAC 수리 및 견적 요령

아파트가 아닌 스스로 관리해야 하는 개인주택 혹은 콘도 등에 살게 되면 HVAC(Heating Ventilation and Air-Conditioning) 문제를 꼭 한번씩은 겪게 된다.  새로 지은 주택이 아닌 이상 미국에서 주택을 구입하면 주택이 20~50년 된 경우가 아주 흔한데, 이런 경우 에어컨이나 히터, 혹은 그 공기들을 집 안으로 배분해주는 Duct등에 꼭 문제가 있기 마련이다.

특히나 태양이 뜨거운 Southern California지역이라면 한여름에 에어컨이 고장나서 온 가족이 고생하고, 수리기사를 불러도 죄다 바빠서 2~3주 후에나 올 수 있는 경우가 있기 때문에 다가오는 여름을 대비해서 날씨가 더워지기 전에 미리미리 에어컨을 점검하고 손봐두는 것이 필요하다.

오래된 집의 에어컨이 고장나서 기사를 부르게 되는 경우 간단한 수리 이외에도 열에 아홉은 에어컨 교체를 권유하는 경우가 흔하다. 특히나 전국적으로 체인을 가지고 있는 큰 회사일수록 이런 upselling을 하려는 경우가 많은데, 그 대부분은 예전 에어컨들이 사용하는 냉매인 R22의 생산이 금지되었고 대체제인 R410A를 사용하는 제품들이 나와 있기 때문에 멀쩡한 것도 고장났다든가 혹은 냉매가 어디선가 세고 있다면서 이번 기회에 R410A를 쓰는 에어컨으로 교체해야 한다라는 식으로 유도한다.
 R22는 환경을 파괴한다는 오존성분이 들어가 있어서 그렇다고 하는데, 아무튼 돈이 넘쳐난다면 뭐 죄다 바꿔버리면 되겠지만 그렇지 않고 에어컨을 교체해야 하는 경우라면, 이 에어컨이 실외기(AC condenser)만 교체하면 되는게 아니라 R22에서 R410A로 냉매를 바꾸게 되면 집 안 attic이나 기타 위치에 설치되어 있는 evaporate coil도 함께 교체를 해야 한다. 요렇게 두개만 교체하게 되더라도 이미 기기값이 대략 2천후반에서 4천달러 가까이 되고(SEER라고 해서 에너지 효율이 높은 것일수록 크고 비쌈), 역시나 미국답게 인건비가 거의 한 태반을 차지하게 되서 아무리 저렴한 기본…

사진 온라인 2차 백업을 위한 선택. 아마존 프라임 포토 vs 구글 포토

현재 내가 아이폰과 카메라로 찍는 모든 사진과 동영상은 아이맥의 Photos를 통해서 가져오기를 하고 있고, 그 아이맥을 외장 USB 하드디스크를 이용해서 타임머신으로 백업을 하고 있다. 그리고 만약의 경우를 대비해서 잘 나온 사진들이나 즐거운 추억이 담긴 사진들은 코스트코를 이용해서 사진출력을 해서 앨범에 보관하고 있다. 문제는 이 모든 사진 소스들이 집이라는 한 곳에 모여 있다는 곳이고, 심지어 타임머신 백업 하드는 본체 아이맥과 10cm도 안떨어져 있는 관계로 화재라든지 혹시라도 지붕을 통한 워터 데미지, 지진, 도난 등이 발생하는 경우 통째로 디지털 원본과 백업이 사라질 수 있다는 것. 불나면 뭐... 앨범까지 홀라당 다 터버릴 것이고. 애플 아이클라우드를 통해서 백업하는 방법도 있겠지만, 이미 사진과 동영상의 용량이 1TB에 달하고 있어서 이것도 추가 공간 구입등의 문제로 비용이 만만치 않다. 그래서 뭔가 클라우드나 온라인 백업을 고려하기 시작햇는데, 어디 듣도보도 못한 이상한 그냥 웹하드랑 별반 다름없는 영세기업이나 언제 사라질지 모르는 스타트업이 운영하는 서비스는 이용하기 싫고, 저장용량 문제도 있고, 개인적으로 이것저것 따지다 보니 결국 아마존 프라임 포토와 구글 포토 두 가지가 물망에 올랐다.

Amazon Prime Photo : https://www.amazon.com/photos
Google Photo : https://photos.google.com

아마존 프라임 포토의 경우 이게 사실 별게 아니고 아마존 드라이브 서비스의 일종인데.. 프라임 포토를 통해서 업로드를 하면 그냥 아마존 드라이브 저장공간 중에 Pictures 쪽으로 저장이 된다. 아마존 프라임 멤버쉽이 있는 이용자의 경우 사진에 한해서는 무제한 용량을 제공하고, 동영상의 경우에는 5G의 용량 제한이 있어서, 이것보다 더 업로드를 하려면 추가로 1년에 $60 달러 정도를 지불하면 사진과 동영상 뿐만 아니라 아마존 드라이브에 업로드하는 모든 형태의 파일 저장 공간이 무제한이다…

근황 포스팅

혹시라도 제 오랜 친구들 중에 이 도메인만 알고 있고 아직 페이스북 친구가 아닌 분들을 위해, 제 페이스북은 https://www.facebook.com/AaronJung 여기입니다.

여기 마지막으로 글을 올린게 벌써 2년전이라 간단하게 근황 포스팅을 할까 합니다.

1. 여전히 미국에서 같은 회사를 다니고 있습니다.
2. 이제는 부모가 되었습니다.

안타깝게도 이정도가 전부인 듯 하네요 -_-; 블로그에 꾸준히 포스팅을 하고 싶었지만 사실 페이스북이 너무 편하고 .. 뭐 그렇습니다. 언젠가 또 여기로 돌아올 날아 올수도 있겠지만요.

아무튼 그렇습니다. 도메인도 참.. 개인 블로그를 운영하기에는 참 적절치 않은 도메인이라서 이걸 어떻게 할까 싶네요. 거의 10년 넘게 유지하고 있는 도메인이라고 계속 가지고 싶기는 하나... 조만간에 변화를 조금 주어 볼까 합니다.

그럼 이만.