일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 단축키
- Full text
- Random
- Login with OAuth Authentication
- 형변환
- 이클립스
- 스프링
- 로또
- 자바 야구게임
- Validations
- 다형성
- 전체텍스트
- 전체
- 25가지 효율적인 sql작성법
- 자바
- 업캐스팅
- 야구게임
- 추상클래스
- angular2
- 상속
- 상속예제
- 페이징
- full text indexing
- jquery
- while
- 전자정부
- IBatis procedure
- 다운캐스팅
- 가변인자
- Today
- Total
목록분류 전체보기 (448)
nalaolla
이번 시간은 이 시리즈의 마지막 시간으로 1인 개발 시작시에 미리 알았으면 좋았을 것들을 정리하였습니다. (모든 코드는 Github에 있습니다.) 회사나 팀 단위의 서비스가 아닌, 1인 개발로 서비스 구축시 Tip을 나열하였습니다. 회사나 팀 단위의 서비스라면 전혀 다를수 있습니다. Tip) 회사 혹은 팀 단위 서비스라면 권남님의 신규 Web 서비스시 고려해 볼 사항을 참고해보시길 추천드립니다. 실전 초고수 손권남님의 경험을 토대로 작성된 노하우라서 정말 많은 도움이 됩니다. 백엔드 개발자라면 비법서와 같은 팁들이 넘치기 때문에 꼭꼭 보시길 추천드립니다. 내용이 계속 추가되고 있기 때문에 정기적으로 방문해서 보시는것도 좋습니다. 1인 개발이라 하더라도 개인마다 느낀 점이 전혀 다를수 있기 때문에 저 개인..
이번 시간엔 지금까지 만든 프로젝트에 도메인을 연결해보겠습니다. (모든 코드는 Github에 있습니다.) 저는 회사에서도 구글 계정으로 모든 처리를 진행하고 있어 연습 삼아 구글 호스팅 서비스를 사용하겠습니다. 다른 분들은 좀 더 저렴한 국내 서비스를 쓰셔도 됩니다. 이번 과정부터는 비용이 직접 청구되니 당장 서비스하실게 아니라면 가장 하단에 있는 9-4. 타임존 변경만 진행하셔도 됩니다! Tip) 도메인 구매를 진행하신다면 Master 혹은 VISA 카드가 하나 있어야 합니다. 9-1. 도메인 및 서비스 메일 생성 G Suite는 구글에서 제공하는 비지니스 서비스 입니다. 회사에서 사용하기 위한 이메일과 도메인, 구글 앱스등을 제공하는데요. 보통 회사에서 업무용 이메일을 구성원들에게 나눠주고, 회사내에..
저번시간까지 배포 환경에 대한 설정을 진행했습니다! 이제는 서비스 중단 없이 배포가 가능한 상태가 되었는데요. 이대로 서비스 하면 될까요? 뭔가 하나 놓친게 있지 않으신가요? 현재는 스프링부트에서 실제 운영 DB의 설정을 갖고 있지 않습니다. 즉, 아직은 프로젝트가 AWS RDS와 연동된 상태가 아닙니다. 그래서 이번 시간엔 스프링부트와 운영 DB 접근 등의 실제 운영환경 설정을 진행하겠습니다. 8-1. 운영 DB 접근 저번 시간에 저희는 운영 YAML (real-application.yml)만 별도로 분리해 EC2 서버에 추가했습니다. 간단하게 생각하면 운영 DB 접속 정보는 real-application.yml에 추가하면 됩니다. 하지만 이렇게 될 경우 set1, set2 설정에 같은 내용을 반복 추..
이번 시간엔 무중단 배포 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 7-1. 이전 시간의 문제점? 이전 시간에 저희는 스프링부트 프로젝트를 Travis CI를 활용하여 배포 자동화 환경을 구축해보았습니다. 이젠 Master 브랜치에 Push만 되면 자동으로 빌드 & 테스트 & 배포가 자동으로 이루어집니다. 하지만! 배포하는 시간 동안은 어플리케이션이 종료가 됩니다. 긴 시간은 아니지만, 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜놓기 때문에 서비스가 안됩니다. 하지만 최근 웹 서비스들은 대부분 배포하기 위해 서비스를 정지시키는 경우가 없습니다. 어떻게 서비스의 정지 없이 배포를 계속 할 수 있는지 이번 시간에 확인하고 서비스에 적용해보겠습니다. 7-2. 무중단 배포? 예전..
이번 시간엔 배포 자동화 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) 6-1. CI? 이전 시간에 저희는 스프링부트 프로젝트를 간단하게나마 EC2에 배포해보았습니다. 스크립트를 개발자가 직접 실행시킴으로써 발생하는 불편을 경험했습니다. 그래서 이번 시간엔 CI 환경을 구축해보려고 합니다. 코드 버전 관리를 하는 VCS 시스템에 PUSH가 되면 자동으로 Test, Build가 수행되고 Build 결과를 운영 서버에 배포까지 자동으로 진행되는 이 과정을 CI (지속적 통합)이라고 합니다. 단순히 CI 툴을 도입했다고 해서 CI를 하고 있는 것은 아닙니다. 마틴 파울러의 블로그를 가보시면 CI에 대해 다음과 같은 4가지 규칙을 이야기합니다. 모든 소스 코드가 살아있고(현재 실행되고) 어느 ..
이번 시간엔 지금까지 개발한 내용을 EC2에 배포 해보겠습니다. (모든 코드는 Github에 있습니다.) 5-1. EC2에 Git 설치 및 프로젝트 Clone 배포에 앞서 기반작업이 되는 Java와 Git을 EC2에 설치하겠습니다. 5-1-1. Java 8 설치 현재(2018.01.14) EC2가 Java7이 기본버전이라 Java8로 버전업하겠습니다. AWS EC2에 접속하셔서 아래 명령어를 실행 합니다. sudo yum install -y java-1.8.0-openjdk-devel.x86_64 설치가 완료되셨으면 인스턴스의 Java 버전을 8로 변경하겠습니다. sudo /usr/sbin/alternatives --config java 버전이 변경되셨으면 사용하지 않는 Java7을 삭제합니다. sudo..
이번 시간엔 SpringBoot를 운영할 AWS 환경을 구축하겠습니다. (모든 코드는 Github에 있습니다.) Tip) 운영 서버는 크게 클라우드 서비스(AWS, Azure 등) 과 호스팅 서비스(Cafe24, 코리아호스팅 등)을 이용하시면 됩니다. 비용은 일반적으로 호스팅 서비스가 훨씬더 저렴합니다. (24시간중 특정 시간에만 트래픽이 급격히 올라가는 경우가 아니라, 전반적으로 일정한 트래픽이 유지된다는 가정하에 입니다.) 하지만 여기서는 호스팅 서비스를 쓰지 않고 클라우드 서비스인 AWS를 사용하겠습니다. 많은 서비스 기업들이 클라우드 환경으로 이전중이기 때문에 이직하실때도 큰 도움이 되실꺼라 생각합니다. 4-1. AWS EC2 생성하기 기본적으로 AWS 계정이 있다는 가정하에 시작합니다. 혹시나 ..
이번 시간엔 SpringBoot & Handlebars로 간단한 화면을 만들 예정입니다. (모든 코드는 Github에 있습니다.) Handlebars는 흔히 사용하시는 Freemarker, Velocity와 같은 서버 템플릿 엔진입니다. JSP는 서버 템플릿 역할만 하지 않기 때문에 JSP와 완전히 똑같은 역할을 한다고 볼순 없지만, 순수하게 JSP를 View 용으로만 사용하실때는 똑같은 역할이라고 보시면 됩니다. 결국 URL 요청시, 파라미터와 상태에 맞춰 적절한 HTML 화면을 생성해 전달하는 역할을 하는것으로 보시면 됩니다. Tip) JSP, Freemarker, Velocity가 몇년동안 업데이트가 안되고 있어 사실상 SpringBoot에선 권장하지 않는 템플릿엔진입니다. (Freemarker는 ..
이번 시간엔 SpringBoot & JPA로 간단한 API를 만들 예정입니다. Tip) 아직 SI 환경에선 Spring & MyBatis 를 많이 사용하지만, 쿠팡/우아한형제들/NHN Entertainment 등 자사 서비스를 개발하는 곳에선 SpringBoot & JPA를 많이 사용하고 있습니다. 특히 기존 프로젝트 환경을 개편하시는 분들은 거의 위 스택으로 전환하려고 합니다. SpringBoot & JPA로 진행하시면 진짜 집중해야할 비지니스 로직에만 집중할수 있습니다. (Express, Django, Rails 못지않게 생산성이 좋습니다.) 자사 서비스를 운영하는 회사에선 점점 더 많이 사용되고 있기 때문에 이런 회사로 가고자 하시는 분들은 이번 기회에 꼭! 시작해보셨으면 합니다. 첫번째 기능으로 ..
많은 웹 서비스 구축하기 강좌들이 Python, NodeJS, Ruby, PHP만 다루고 있습니다. 국내에서 가장 많이 사용하는 언어인 Java로 웹서비스 구축 강좌는 본적이 없습니다. Java는 대부분 로컬에서 CRUD & localhost:8080으로 게시판 구축하기가 전부였습니다. 그러다보니 웹 서비스를 시작하는 많은 분들이 Java가 아닌 스크립트 언어로만 진행하십니다. 분명 국내 웹 환경이나 자료들이 Java & Spring이 많음에도 다른 스크립트 언어들로 시작하는 것은 이런 강좌가 없어서 그럴수 있다고 가정했습니다. 그래서 Java & Spring으로 웹 서비스 구축하기 시리즈를 시작하게 되었습니다. 개발환경 기본적으로 Git & Github을 써보신걸 가정하고 진행하겠습니다. 만약 Git을..