반응형

Web 25

3. AWS - EC2 서버에 프로젝트 배포

1. EC2에 프로젝트 clone 받기 git hurb에서 코드를 받아 올 수 있게 EC2에 git을 설치합니다. > sudo apt install git 프로젝트를 저장할 디렉토리를 생성합니다. > mkdir ~/app && mkdir ~/app/footprinter_server > cd ~/app/footprinter_server git hurb 웹페이지에서 복사할 repository의 https 주소 (.git으로 끝남)를 복사합니다. > git clone 복사한 주소 > cd 프로젝트명 gradle build > ./gradlew build //코드가 잘 수행되는지 확인 > chmod +x ./gradlew maven build > mvn package 공교롭게도 아래와 같이 빌드 에러가 발생했습..

Web 2022.03.05

2. AWS - RDS 환경 구축

RDS (Releational Database Service) AWS는 관리형 서비스인 RDS를 제공합니다. RDS는 AWS에서 지원하는 클리우드 기반 관계형 데이터베이스입니다. 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같이 잦은 운영작업을 자동화하여 개발자가 개발에 집중할 수 있게 지원하는 서비스 입니다. 이러한 RDS를 이용하여 본인만의 데이터베이스 환경을 구축해 보겠습니다. RDS 인스턴스 생성 1. 데이터베이스 생성 AWS 서비스 > RDS 검색 > 데이터베이스 생성 > MySQL or MariaDB 등 선택 > 프리 티어 > 스토리지 선택 > DB 인스턴스, 마스터 사용자 정보 등록 ( 네트워크 및 보안 : 서브그룹 default, 퍼블릭 엑세스 가능 > VPC 새로 생성, 새 ..

Web 2022.03.04

1. AWS 서버 환경 구축 (AWS EC2)

외부에서 본인이 만든 서비스에 접근하려면 24시간 작동하는 서버가 필수입니다. 일반적으로 비용은 호스팅 서비스나 집 PC를 이용하는 것이 저렴하나 특정시간에만 트래픽이 몰린다면 유동적으로 사양을 늘릴수 있는 클라우드가 유리합니다. AWS의 EC2는 서버 장비를 대여하는 것이지만, 실제로는 그 안의 로그관리, 모니터링, 하드웨어 교체, 네트워크 관리 등을 기본적으로 지원하고 있습니다. 그럼, AWS 서버환경을 만들어 보겠습니다. 1. AWS 회원가입 http://aws.amazon.com/ko/ 에서 무료계정 생성 (준비물: Master 혹은 Visa card) 2. 콘솔 로그인 > EC2 인스턴스 생성 EC2(Elastic Computer Cloud)는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사..

Web 2022.03.04

1. SpringBoot - JPA server using MySQL

안드로이드에서 정해진 시간마다 데이터베이스에 시간/위치 정보를 저장할 수 있게 시간 정보와 Location 정보의 데이터베이스를 처리하는 서버를 만들겠습니다. 먼저 Project를 생성한 뒤, dependency를 추가해 줍니다. 4.0.0 org.springframework.boot spring-boot-starter-parent 2.6.3 com.kakaroo.springlocationjpa SpringLocationJPA 0.0.1-SNAPSHOT SpringLocationJPA Eclipse JPA project for Spring Boot 11 org.springframework.boot spring-boot-starter-data-jpa org.springframework.boot spring..

Web 2022.02.18

Android에서 SpringBoot JPA 서버와 연동하기

SpringBoot에서 JPA Repository 를 활용해 CRUD를 구현했습니다. https://kakaroo.tistory.com/49 Spring Boot - Eclipse Maven으로 Spring Web Layer 실습 아래 기등록한 포스트는 IntelliJ + Gradle 로 구현하였기에 Eclipse + Maven 환경으로 다시 해 보겠습니다. (공부삼아.. ) https://kakaroo.tistory.com/39 2 - Spring Boot - JPA 구현 by Spring Web Layer Spri.. kakaroo.tistory.com 이제, Android UI에서 input 을 서버에 주고 서버의 결과를 화면에 출력하는 것을 만들어 보겠습니다. 기본적인 UI는 아래처럼 JPA re..

Web 2022.02.17

Spring Boot - Eclipse Maven으로 Spring Web Layer 실습

아래 기등록한 포스트는 IntelliJ + Gradle 로 구현하였기에 Eclipse + Maven 환경으로 다시 해 보겠습니다. (공부삼아.. ) https://kakaroo.tistory.com/39 2 - Spring Boot - JPA 구현 by Spring Web Layer Spring Web Layer 구조로 H2 database를 사용하여 JPA를 구현해 보겠습니다. https://kakaroo.tistory.com/41 Spring Web Layer (공사중...) 보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요. kak.. kakaroo.tistory.com 1. Project 생성 여기까지만 하면 아래 Project 생성한 게 간단하게 끝이 납니다. https://kaka..

Web 2022.02.14

3 - Spring Boot - 웹화면 구성 with JPA, Mustache

mustache 사용하기 위해 implementation('org.springframework.boot:spring-boot-starter-mustache') -- footer.mustache -- -- header.mustache -- -- index.mustache -- {{>layout/header}} Spring boot JPA using mustache 글 등록 {{#userName}} Logged in as: {{userName}} Logout {{/userName}} {{^userName}} Google Login Naver Login {{/userName}} 게시글번호 제목 작성자 최종수정일 {{#posts}} {{id}} {{title}} {{author}} {{#createdDate}}..

Web 2022.02.11

JPA(Java Persistence API) vs Mapper

웹 어플리케이션에서 관계형 데이터베이스는 빠질수 없는 요소입니다. 객체를 관계형 데이터베이스에서 관리하는 것이 무엇보다 중요합니다. 관계형 데이터베이스가 계속해서 웹 서비스의 중심이 되면서 모든 코드는 SQL 중심이 되어 갑니다. 프로그래밍 언어는 객체지향 패러다임을 지향하는데 반해, 관계형 데이터베이스로 객체지향을 표현할 수가 없었습니다. 서로 지향하는 바가 다른 2개 영역을 중간에 패러다임 일치를 시켜주기 위한 기술이 JPA 입니다. 즉, 개발자는 개발지향적으로 프로그래밍을 하고, JPA가 이를 관계형 데이터베이스에 맞게 SQL을 대신 생성해서 실행합니다. 개발자는 항상 객체지향적으로 코드를 표현할 수 있으니 더 이상 SQL에 종속적인 개발을 하지 않아도 됩니다. 앞서 데이터베이스 사용으로 예를 든 ..

Web 2022.02.07

2 - Spring Boot - JPA 구현 by Spring Web Layer

Spring Web Layer 구조로 H2 database를 사용하여 JPA를 구현해 보겠습니다. https://kakaroo.tistory.com/41 Spring Web Layer (공사중...) 보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요. kakaroo.tistory.com 1. Dependency 등록 (lombok, h2, JPA) dependencies { implementation('org.springframework.boot:spring-boot-starter-web') testImplementation('org.springframework.boot:spring-boot-starter-test') implementation('org.projectlombok:lombok'..

Web 2022.02.07

1 - Spring Boot - Start Application<IntelliJ-Gradle>

1. Gradle project 를 Spring Boot preject로 변경하기 아래와 같이 Spring Boot 환경에 맞게 gradle을 수정해줍니다. buildscript { // ext는 build.gradle에서 사용하는 전역변수를 설정하겠다는 의미이다. ext { springBootVersion = '2.1.7.RELEASE' //springBootVersion을 2.1.7.RELEASE로 하겠다는 의미이다. } //repositories는 각종 의존성(라이브러리)들을 어던 원격 저장소에서 받을지를 정한다. repositories { mavenCentral() //기본적으로 얘를 많이 사용하지만, jcenter() //얘를 많이 사용하기도한다! } dependencies { //spring-..

Web 2022.02.07

Spring Boot - Database 처리방법

1. EnitityManager 2. JPQL 활용 3. Criteria API 4. MyBatis - https://kakaroo.tistory.com/16?category=1001571 Spring Boot - MyBatis MyBatis는? 쿼리 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼(Mapper) 프레임워크입니다. 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도 kakaroo.tistory.com JPQL 쿼리 구현해야함 public List find(String fstr) { Query query = entityManager.createNameQuery("findWithName").setParameter("fname", "%" + ..

Web 2022.02.06

Spring Boot - Thymeleaf

Spring Web Application 구현시 JSP를 이용해서 View를 구성하고 data 표현을 위해 HTML 태그에 로 자바 언어를 사용했습니다. JSP를 사용하면 Web Application 배포시 WAR(Web Archive) 파일로 생성되는데, WAR는 Web Application 압축타입으로 Servlet(JSP) 해석과 관련된 모든 패키지들을 포함시키면서 복잡하고 무거운 구조였습니다. 그리고, JSP 자체가 서버 측 언어로 그 사용빈도가 줄고 있습니다. JSP 의 잇점인 '스크립틀릿(scriptlet)'이라는 기능이 있어서 자바코드를 직접 태그안에 작성할 수 있습니다. 이런 이점이 있지만, 뷰 부분에 코드가 섞여서 로직을 분리하기 어려워 지기 때문에 JSP에 의존하는 개발은 피해야 하는 ..

Web 2022.02.05

3. Spring Boot - MyBatis

MyBatis는? 쿼리 기반 웹 애플리케이션을 개발할 때 가장 많이 사용되는 SQL 매퍼(Mapper) 프레임워크입니다. 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크로서 JDBC를 통해 데이터베이스에 엑세스하는 작업을 캡슐화하고 일반 SQL 쿼리, 저장 프로 시저 및 고급 매핑을 지원하며 모든 JDBC 코드 및 매개 변수의 중복작업을 제거 합니다. Mybatis에서는 프로그램에 있는 SQL쿼리들을 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있는 장점을 가지고 있습니다. 마이바티스를 사용하지 않고 직접 JDBC를 이용할 경우 문제점: 개발자가 반복적으로 작성해야 할 코드가 많고, 서비스 로직 코드와 쿼리를 분리하기가 어렵습니..

Web 2022.02.03
반응형