이전 포스팅에서 이어지는 글이다. 1) Packer로 이미지 생성하기 설치 페이지 튜토리얼 페이지 Packer는 Hashicorp라는 회사에서 만든 오픈소스 이미지 빌드 자동화 도구이다.기본적인 사용방법은 위의 설치 페이지에서 Packer를 설치했으면, 실행 파일 (packer.exe) 이 있는 위치에서 cmd 명령으로 packer build filename.json 을 실행하면 이미지를 만들어준다. 파일이름의 확장자에서 볼 수 있듯 Packer에서는 JSON 형식으로 VM 이미지에 대한 설정을 정의하는데 이 JSON 파일을 템플릿 파일이라 부른다. 템플릿 파일에는 뭘 써야하는지 튜토리얼 페이지의 예제 코드를 먼저 보고 얘기해보자. { "variables": { "aws_access_key": "XXXX..
어제 트위터 타임라인을 보다가, '부동소수점' 이라는 단어를 보면 어떻게 해석하게 되느냐는 그런 트윗이 RT로 넘어왔다. 생각해보니까 굉장히 비직관적인 단어다.원래 영어단어는 floating point인데, 소수점 (point) 이 둥둥 떠다닌다 (floating) 고 써놔도 뭔 소린지 단번에 이해가 안되는데, 이걸 또 '부동' (浮動) 이라고 번역을 해놨다. 문제는 한국어에서 그냥 '부동' 이라고 하면 저것보다 더 높은 빈도로 쓰이는 다른 단어들이 많다는 것이다. 不動 (움직이지 않음. '부동자세' 의 부동) 이나 不凍 (얼지 않음. '부동항' 의 부동), 不同 (같지 않음. '표리부동' 의 부동) 등등. '부동소수점' 이라는 단어만 딱 보고 저 부동이 움직인다는 뜻이라는 걸 단번에 알아챌 사람은 아마..
상상을 해보자. 친구랑 같이 온라인 쇼핑몰을 하나 차리기로 했다.굉장히 좋은 아이템이라 오픈 전부터 SNS에서 화제가 되고 있고 많은 유저들이 몰릴 것 같다. 실제 상황이면 참 좋겠다 홈페이지를 오픈해야 하는데, 서버 컴퓨터를 사자니 유저가 얼마나 들어올지 예상하기도 어렵고 초기 비용도 많이 든다. 웹 호스팅 서비스를 이용해도 된다. 웹 서버와 인프라에 대한 지식이 딱히 필요없고 사실 일반적으로 쇼핑몰 같은 간단한 홈페이지라면 웹 호스팅을 많이 이용하는 걸로 안다. 그렇지만 제한적인 트래픽, 떨어지는 자유도 등 문제가 없는 것은 아니다. 그래도 컴공을 나와서 웹 서버가 어떤 건지 알긴 하는 친구와 나는 클라우드 서비스, AWS를 이용하기로 했다.지난 번에 클라우드 컴퓨팅에 대한 소개 포스팅에서 얘기했듯 ..
(https://rubygarage.org/blog/technology-stack-for-web-development) 웹 사이트를 만들겠다고 하면, 클라이언트 사이드 (프론트엔드) 와 서버 사이드 (백엔드) 두 부분을 고려해야 한다. 클라이언트 사이드를 만들기 위한 언어는 예나 지금이나 HTML, CSS, 자바스크립트로 변함이 없다. jQuery부터 시작해서 AngularJS니 React니 Vue.js니 하는 신기술들이 끊임없이 나오는 것 같지만 쟤네는 근본적으로 다 자바스크립트랑 관련된 것들이다 (라이브러리나 프레임워크라고 하는데 안 써봐서 잘은 모르겠다). 서버 사이드는 좀 다르다. 내가 학부생이었던 시절만 해도 (그렇게 막 오래된 것두 아니구 5~6년 전) 웹 사이트 만드는 과제가 있으면 PHP를..
어젠가 그저껜가, 트위터를 하는데 어떤 개발자가 쓴 트윗 몇 개가 RT로 넘어왔다.자기가 면접을 본다는 걸로 봐선 꽤 경력이 많은 개발자인 것 같은데 내용을 대충 요약하면 이렇다. 온라인으로 코딩 면접을 보는데 요즘 지원자들 너무 못해서 수준을 낮췄다. 문자열로 큰 정수 두개 주면 덧셈하는 프로그램, 예를 들면 "9999999999999999999" + "1" 의 결과를 리턴하는 프로그램을 짜보라는 문제도 제대로 못 푸는 사람이 많다. 초등학생도 하는 덧셈 알고리즘을 코드로 옮기는 것 뿐인데.어떤 사람은 "int로 바꿔서 더하면 안되나요?" 라고 묻던데 기가 차더라. 더 쉬운 문제로 바꿔야 하나 싶다. 보자마자 확 짜증이 났는데 이유는... - 나라는 사람 자체가 스스로 개발자라 칭하는 사람들하곤 다르게..
클라우드 컴퓨팅이 뭔지는 이젠 컴퓨터 전공자가 아니더라도 다들 대충은 안다.그래도 일단 클라우드에 대해서 쓰는 글이니까 정의를 한번 써보면 "인터넷을 통해 원격에서 IT 자원을 빌려쓸 수 있는 대여형 컴퓨팅 환경" 이다. 대중적으로 많이 쓰이는 클라우드 서비스는 스토리지 서비스다. Google Drive라던지 Dropbox라던지 iCloud라던지 한때 N드라이브라는 이름으로 서비스됐던 네이버 클라우드 같은 것들이다. 일반 사용자 레벨에서는 스토리지 이외의 다른 클라우드 서비스를 사용할 일이 거의 없지만, 개발자나 기업을 대상으로는 훨씬 더 다양한 클라우드 서비스들이 제공된다. 가장 대표적인 것이 서버이다. 예를 들어서 내가 1인 개발자인데, 많은 접속자를 수용해야 하는 서버 컴퓨터를 집에 들여놓기엔 초기..