실리콘 밸리하면 '기회의 땅', '스타트업의 요람', '고소득 엔지니어'라는 이미지를 떠올린다. 하지만 실리콘 밸리에 대해서 조금 찾아보면 어마어마한 집값에 대해서 알게 된다. 전세계의 IT 엔지니어가 실리콘 밸리로 모여들어 이 곳의 부동산 가격을 붐업 시켰기 때문이다. (실리콘 밸리의 엔지니어들의 고소득이 한 몫했다.) 때문에 실리콘 밸리의 고소득 엔지니어들이 주택을 구하지 못해 홈리스로 살거나 실리콘밸리에서 멀리 떨어진 샌프란시스코 근교까지 밀려나 길고 긴 출근길에서 시간을 보내는 일이 흔하다. 실리콘 밸리 회사들의 복지를 찾아보면 주택 자금 대출 지원과 관련된 내용을 심심치 않게 볼 수 있는데 이런 현실과 크게 관련이 있다. 애플이 이런 실리콘 밸리 인근의 주택 문제 해결을 위해 25억 달러를 투입..
깃허브 페이지 기능을 이용해서 기술 블로그를 만들어 보는 사이드 프로젝트를 진행하고 있었다. 찾아보니 깃허브가 지킬(Jekyll)을 공식적으로 지원한다고해서 지킬 개발 환경을 설치했었다. 이후 맥 운영체제를 카탈리나(Catalina)로 업그레이드를 했고, 뭔가 잘 안되기 시작했다. Gem 을 이용해 설치한 디펜던시들이 하나둘씩 없어졌고, 하나씩 설치하는데 너무 짜증나서 지킬 데몬을 도커 컨테이너로 띄워보기로 했다. 지킬 도커 이미지 만들기 우선 우분투 도커 이미지를 이용해서 실행 환경을 띄우자. docker run -it --name jekyll_tmp ubuntu 컨테이너에 접속이 된다. 필요한 기본 패키지들을 설치한다. apt-get update apt-get install vim ruby-full ..
프로그래머라면 구글에서 일하는 꿈을 한번씩은 꿔 볼 것이다. 평균 연봉이 12만 달러를 넘는 구글의 엔지니어가 되기 위해서 필요한 11가지 스킬을 정리한 글이 있어서 정리를 해봤다. (링크 : 11 skills you need to master to land a $100,000 engineering job at Google - Business Insider India) 1. Mastering the foundation (기초 습득) 우선 컴퓨터 사이언스 관련 기초 지식을 확실하게 습득해야한다. 운영체제와 컴퓨터 구조 같은 정보는 실무에 쓸 모 없을 것 같아보이지만 새로운 지식을 얻을 때 두고두고 도움이 된다. 최근에는 각 대학들이 오픈 코스웍으로 강의 정보를 공개하고 있고, Undacity나 Course..
우분투에서 패키지를 설치하기 위해 apt-get 명령을 많이 사용한다. apt-get은 Advanced Packaging Tool의 약자로 우분투를 포함한 데비안 계열의 리눅스에서 사용되는 패키지 관리 툴이다. 터미널을 통해 간편하게 패키지를 설치할 수 있어 GUI 기반의 패키지 설치 도구보다 더 널리, 많이 사용되는 소프트웨어다. apt-get에는 update와 upgrade 명령이 있는데 유사해보이지만 분명 다른 역할을 하는 명령이다. apt-get update 'apt-get update'는 운영체제에서 사용 가능한 패키지들과 그 버전에 대한 정보를 업데이트하는 명령어다. 설치되어 있는 패키지를 최신으로 업데이트하는 것이 아닌 설치가능한 리스트를 업데이트하는 것이다. apt-get install 명..
도커를 사용할 때 우분투 이미지를 기본 이미지로 이것저것 많이 설치하곤 한다. 도커에서 얻을 수 있는 기본 우분투 이미지에는 거의 아무것도 설치가 안되어 있어서 하나하나 다 설치를 해야하는데, 그 중에 네트워크와 관련된 테스트를 하기 위한 'ping'과 'ifconfig' 명령을 사용해야할 필요가 있다. 우선 apt-get으로 설치가능한 패키지와 버전을 최신으로 업데이트하자. sudo apt-get update ping 유틸을 설치한다. sudo apt-get install iputils-ping ifconfig 유틸을 설치한다. sudo apt-get install net-tools 이제 우분투 환경에서 ping 명령과 ifconfig 명령을 사용할 수 있다.
REST API 서버로 요청을 보낼 때 아이디와 비밀번호를 이용한 기본 인증(Basic Authentication)이 요구될 수 있다. 터미널에서 curl 명령을 이용해서 REST API를 사용할 때 -u 옵션으로 아이디와 비밀번호를 입력할 수 있다. curl -u userId:userPassword {...} Basic Authentication 기능을 요구하는 REST API 서버에 OkHttp 클라이언트를 사용해서 요청을 전송하는 예제를 살펴보자. BasicAuthenticator 구현 OkHttp 클라이언트는 OkHttp3.Authenticator 라는 인터페이스를 구현한 Authenticator를 이용해 인증을 할 수 있다. 아이디와 비밀번호를 이용한 BasicAuthenticator를 얻어오는..
톰캣을 이용하여 내부 모니터링 시스템을 운영하고 있는데, 시스템을 배포하면서 뭔가 문제가 생겨버렸다. 아마도 톰캣을 재시작하면 해결될 것 같았다. 톰캣을 재시작하는 방법은 톰캣에서 제공하는 스크립트를 이용하면 된다. 톰캣이 설치된 디렉토리를 '$TOMCAT_HOME'이라고 했을 때, $TOMCAT_HOME/bin/shutdown.sh $TOMCAT_HOME/bin/start.sh 이 두 스크립트를 실행시켜주면 톰캣이 재구동된다. ps -aux | grep {user id} | grep tomcat 위 명령을 실행하면 현재 머신에서 로그인한 사용자 계정으로 구동시킨 톰캣 서버의 프로세스 정보를 확인할 수 있으며, 재시작된 시간 정보를 확인할 수 있다.
Docker 엔진 위에 하둡 클러스터를 띄워놓고 호스트 머신에서 IntelliJ를 통해 Docker에 구축해놓은 하둡 클러스터로 접근하는 테스트를 해봤다. (코드 분석 때문에 IntelliJ의 디버깅을 사용하고 싶었는데 실제로 구축해놓은 테스트용 하둡 클러스터에 붙기보다는 테스트를 위해 즉석으로 도커에 띄운 클러스터로 접근하는 것을 해보고 싶었다.) 구축한 하둡 클러스터의 데이터 노드들은 172.17.0.x 의 내부 IP를 할당 받았고 같은 포트로 구동되어 있었다. IntelliJ로 DFSClient 예제를 작성하여 도커에 떠있는 하둡 클러스터로 붙어서 돌려보는데 동작이 네트워크 IO 쪽에서 멈춰버렸다. 네트워크 문제인가해서 'ping 172.17.0.2'로 컨테이너에 ping을 보내보니 $ ping 1..
서버 머신의 네트워크 트래픽을 모니터링 할 일이 생겨서 여러가지 툴을 알아보다 'iftop' 명령과 'nethogs' 명령을 알게 되었다. iftop 명령이 서버의 NIC 레벨에서 트래픽을 모니터링하는 도구였다면 'nethogs' 명령은 서버의 운영체제에서 프로세스 레벨로 트래픽을 모니터링 할 수 있는 도구다. nethogs 설치 nethogs 명령은 패키지 관리 유틸리티인 yum 혹은 apt-get으로 쉽게 설치할 수 있다. # Ubuntu $ sudo apt-get install nethogs # Centos $ sudo yum install nethogs nethogs 사용법 'nethogs' 명령의 사용법은 굉장히 간단하다. $ sudo nethogs {인터페이스 이름} nethogs 명령의 인자..
서버 머신의 네트워크 트래픽을 모니터링 할 일이 생겨서 여러가지 툴을 알아보다 'iftop' 이라는 툴을 알게 되었다. 이름에서 알 수 있듯이 'top' 명령어를 이용해 CPU와 메모리 사용 현황을 모니터링하는 것처럼 iftop 명령을 이용해서 네트워크 인터페이스의 트래픽을 모니터링 할 수 있다. 네트워크 인터페이스를 통해 오고가는 트래픽을 프로토콜 별, 소스별, 목적지 별로 모니터링 할 수 있으며 다양한 형태의 응용을 할 수 있도록 옵션들이 제공된다. iftop 설치 iftop 사용을 위해서 libpcap과 libcurses가 설치되어 있어야 할 수 있으니 미리 설치해두자. # Centos yum install iftop # ubuntu apt-get install iftop 각 운영체제에 맞는 패키징..
- Total
- Today
- Yesterday
- 청양고추
- 도커
- 상추
- 자바
- 베란타 텃밭
- docker
- 리눅스
- java
- nf_conntrack
- okhttp
- 깃허브
- 하둡
- hadoop
- GitHub
- InterlliJ
- 지킬
- 베란다 텃밭
- MacOS
- 화분 버리기
- 파이썬
- 상추 재배기
- pycharm
- 화분
- Python
- 파이참
- 고추
- monitoring
- 텃밭
- Jekyll
- linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |