부제: 개발자 새로운 언어 공부, 프로그래밍 언어 공부 요즘 새로운 프로그래밍 언어를 익혀야만 하는 상황에 직면해있다. 사실 모든 프로그래머는 나와 같은 상황에 직면해 있을 것이다. 아직 경력도 짧고, 짧은 프로그래머 인생 평생 JAVA만 해왔는데 새로운 프로그래밍 언어를 무작정 시작하려니 힘들었다. 그동안 책을 훑어보거나, 인강을 듣거나, 다른 사람이 제작한 소스코드를 읽어보는 등 나름의 노력을 했는데 썩 만족스럽지 않다. 그래서 '정신 무장'을 위해 이 포스팅을 작성한다. 그러니까 본론은... "새로운 프로그래밍 언어를 빠르게 익히려면 무엇을 중점으로 봐야 하는가?" 이다. 그냥 나 혼자 생각해본 것이니 무조건 정답이라고 받아들이는 사람이 없었으면 좋겠다. 1. 기본적인 문법 문법을 알아야 소스코드를..
부제: NOSQL 모듈화 경험기. 나는 다룰줄 아는 언어가 JAVA 밖에 없다. 그래서 요즘 JavaScript를 열심히 보고 있다 ㅎㅎ. 내 생각에는 JAVA와 JavaScript는 완전히 다른 언어이다. 그리고 굉장히 매력적인 언어라고 생각한다. 내가 프로그래밍 언어를 JavaScript로 접했으면 좋았겠다는 생각도 한다. 금요일에 휴가도 썼겠다.. 3일간에 뭘 만들어볼까 고민을 해봤는데, 야구선수 데이터를 활용한 간단한 선수 추천 앱같은 것을 만들어보고 싶었다. 그런데 문제는.. KBO는 OPEN API를 제공하지 않는다.... 나는 phantom.js와 같은 고오급 기술은 사용하지 않았다. request, cheerio 모듈을 활용했다. 닭잡는데 소잡는 칼이 나설 필요는 없으니까! ㅎㅎㅎㅎ 다음 ..
Iaas: Infrastructure as a Service 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태. 이해하기 편하게 설명하자면, 컴퓨터의 하드웨어를 가상화 환경에서 제공하는 것이라고 보면 된다. IaaS를 사용하는 개발자는, OS 설치부터 각종 서버 환경을 직접 세팅하는 고통을 겪어야 해야한다. (예: AWS EC2) ▶ IaaS, PaaS, SaaS를 도식화하여 비교한 자료. PaaS: Platform as a Service 애플리케이션이나 서비스가 동작할 수 있는 환경을 제공하는 형태. IaaS에서 '동작환경세팅'이 이루어진 형태이며, SaaS의 개념을 개발플랫폼에도 확장한 것이다. 애플리케이션의 시작을 위한 복잡한 환..
사진 관련 웹 애플리케이션을 개발하다보니, 썸네일처리를 신경쓸 수밖에 없었다. 조금 고민을 해보니 썸네일 처리는 결국 두가지의 큰 흐름으로 나뉘게 된다. 그것은 바로.. 미리미리 vs 그때그때 여기서 '미리미리'라 함은, 사진을 최초 업로드할 때 썸네일을 생성하여 같이 S3서버에 저장하는 방식을 의미한다. 반면, '그때그때'는 이미지 조회를 요청할 때마다 썸네일을 생성하여 응답으로 돌려주는 방식을 의미한다. ▶ 구글에서 발표한 이미지 리사이징 라이브러리 SKIA. C/C++과 Python버전만 있어서 사용은 못해봤다. 나는 깊은 고민을 하지 않고 '그때그때' 썸네일을 생성하려고 했는데 자칫 위험할 수 있는 행동이었던 것 같다. 그래서 '미리미리'와 '그때그때'의 장점을 한번 정리해봤다. '미리미리'의 장..
시리즈 바로가기 링크아마존 웹 서비스(AWS) EC2 생성과 기본환경 구축 - 1. 인스턴스 생성아마존 웹 서비스(AWS) EC2 생성과 기본환경 구축 - 2. IP할당 및 접속 지난 포스팅에 이어, 아마존 웹 서비스(AWS) EC2 인스턴스 생성과 기본환경 구축을 계속하도록 하겠다. 지난 번에 접속까지 성공했으니, 이번에는 설치 위주로 진행될 것이다. 이번 포스팅에서 설치할 유틸들은 - JAVA 1.8- Mysql- nginx- Tomcat8 등이다. 본인이 원하는 것이 더 있다면, 이 포스팅의 내용과 상관없이 진행해도 무관하다. 1. Root Password 설정 우리는 ec2-user라는 계정으로 접속한 상태이다. root계정의 비밀번호를 설정해보자. 아래와 같이 명령어를 입력하고 진행하면 된다. ..
시리즈 바로가기 링크아마존 웹 서비스(AWS) EC2 생성과 기본환경 구축 - 1. 인스턴스 생성아마존 웹 서비스(AWS) EC2 생성과 기본환경 구축 - 3. 서버환경구축 지난 포스팅에 이어, 아마존 웹 서비스(AWS) EC2 생성 및 환경 구축을 진행하도록 하겠다. 가장 먼저 고정 IP를 할당하도록 하겠다. EC2 Sevice 메뉴의 좌측을 살펴보면, Elastic IPs가 있다. 이를 클릭하여 아래 그림과 같이 진행한다. EC2 Instance에는 어차피 public IP가 할당되므로 고정 IP할당은 필요 없다고 생각할 수도 있다. 하지만 public IP는 Instance가 재기동 될때마다 계속 바뀐다. 그래서 불편을 초래할 수 있으므로 고정 IP를 생성 및 할당하는 것이다. 여기서 유의해야할 점..
시리즈 바로가기 링크아마존 웹 서비스(AWS) EC2 생성과 기본환경 구축 - 2. IP할당 및 접속 출처아마존 웹 서비스(AWS) EC2 생성과 기본환경 구축 - 3. 서버환경구축 최근 아마존 웹 서비스(AWS)의 EC2를 기반으로 한 웹 애플리케이션 구축에 한창이다. 필자 또한 AWS가 매우 생소해서, 인스턴스를 없앴다 만들었다를 반복하다가 이번에 새로 만드는 김에 포스팅을 같이 해보려고 한다. 먼저 AWS에 가입을 해야한다. AWS를 가입하는 것은 다른 포스팅을 참고하도록 하자 (링크: http://preamtree.tistory.com/57) 1. EC2 인스턴스 생성 AWS Services 페이지에서 EC2를 찾아 클릭한다. 그러면 Launch Instance라는 버튼을 쉽게 찾을 수 있는데, ..
AWS를 활용하여 웹 어플리케이션을 만들어보겠다는 도전은 사실 지난달(5월)초에 시작했다. 그리고 현재 어느정도 prototype이 거의 완성된 상황이다. 비루한 개발실력으로 말미암아.. 이리 헤매고 저리 헤매다가 겨우 누더기 같은 소스코드를 덕지덕지 이어붙여 모래성을 쌓은 느낌이다. 이번 개발일지에서는 내가 어떤 계기로 웹 어플리케이션을 만들게 되었으며, 요구사항들을 해결하기 위해 어떻게 아키택처를 구성했는지 간단하게 기록하려고 한다. 만들게 된 계기 (아이디어) 엄청난 발명품의 영감은 항상 작은 것에서 나온다고 하던데, 어쩌면 이것도 해당될지도 모른다. 여자친구와 사귀는 시간이 점점 길어지면서, 여자친구와 함께 찍은 사진을 보관하는 것이 골칫거리가 되었다. 카카오톡은 대화형 UI라 사진보관이 불편하고..
부제: IntelliJ에 JRebel 설치하기, IntelliJ에 JRebel 적용하기 웹 어플리케이션을 개발할 때, Local WAS와 웹서버에 배포할 때 불편한 점이 있다. 내가 수정한 소스코드가 브라우저에 반영된 모습을 보려면 빌드와 배포, WAS 재기동을 꼭 해줘야한다는 것! IDE설정으로 이를 해결할 수 있지만, 프론트엔드 쪽에만 한정되어 적용되는 경우가 많다. (사실, 프론트엔드의 수정사항을 즉각 반영해야할 상황이 백앤드에 비해 훨씬 많기는 하다.) 상용 툴이긴 하지만, JRebel을 활용하면 아주 간편하게 소스코드 수정사항을 서버에 즉각 반영할 수 있다. 1. JRebel 사이트에 접속한다. ( https://my.jrebel.com/ ) 2. 페이스북, 트위터 로그인을 활용하거나 회원가입을..
JAVA에서 이미지의 메타데이터에 접근할 수있는 표준 라이브러리는 현재 없다.(JAVA8 기준) 하지만 외부 라이브러리를 통해 편리하게 메타데이터를 가져올 수 있다. 아래 링크를 참고하자. https://drewnoakes.com/code/exif/ 링크를 참조하면, directory와 tag라는 것을 통해 이미지의 메타데이터에 접근할 수 있음을 확인할 수 있다. 다만 주의해야할 것이 있는데, Exif는 JPEG파일에서만 제공된다는 점이다. 아래 예제는 File Class 형태의 이미지파일에 대한 모든 메타데이터를 출력하는 예제이다. Metadata metadata = ImageMetadataReader.readMetadata(file); for (Directory directory : metadata...