반응형

IT 85

[안드로이드 앱 서버 만들기] 5. 안드로이드 앱과 서버 통신

게시된 내용은 작성자가 공부한 내용을 정리하여 기록하였습니다. 일부 빠지거나 부족한 부분이 있을 수 있습니다. 최대한 편집 없이 기록하였습니다. 출처 블로그 사용 도구 : STS 4 (Spring Tools Suite), AWS EC2, MariaDB, Windows, Android Studio 아래와 같은 앱을 만들겠습니다. 이름, 나이, 주소를 넣고 ADD를 누르면 DB에 추가 됩니다. 수정을 눌러서 이름, 나이, 주소를 수정합니다. 삭제를 눌러서 데이터를 삭제합니다. 1. 안드로이드 프로젝트 생성 안드로이드 프로젝트를 생성하겠습니다. Empty Activity를 선택합니다. 그리고 프로젝트 이름을 정하고, Java를 선택합니다. 2. 설정 추가 Lombok, RecyclerView, Retrofit..

IT/Spring 2021.07.07

[안드로이드 앱 서버 만들기] 4. AWS EC2 인스턴스에 배포

게시된 내용은 작성자가 공부한 내용을 정리하여 기록하였습니다. 일부 빠지거나 부족한 부분이 있을 수 있습니다. 최대한 편집 없이 기록하였습니다. 출처 블로그 사용 도구 : STS 4 (Spring Tools Suite), AWS EC2, MariaDB, Windows 1. Github에 올리기 Github Desktop 애플리케이션을 이용해서 스프링 프로젝트를 Github에 올리겠습니다. Github 주소와 연동한 후에 Local에서 프로젝트를 가져와서 올려줍니다. 올라갔습니다. 2. 인스턴스에 프로젝트 가져오기 Putty를 이용해서 ec2 인스턴스에 접속합니다. 접속하는 방법을 잊어버리셨다면, 여기에 있습니다. 아래 명령어로 Github의 프로젝트를 가져옵니다. Private 레파지토리를 가져올 경우에..

IT/Spring 2021.07.06

[안드로이드 앱 서버 만들기] 3. MariaDB와 연동 그리고 JPA로 CRUD 메소드 만들기

게시된 내용은 작성자가 공부한 내용을 정리하여 기록하였습니다. 일부 빠지거나 부족한 부분이 있을 수 있습니다. 최대한 편집 없이 기록하였습니다. 출처 블로그 사용 도구 : STS 4 (Spring Tools Suite), AWS EC2, MariaDB, Windows 1. 라이브러리 추가 DB 연동을 위한 라이브러리를 추가 하겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplemen..

IT/Spring 2021.07.06

[안드로이드 앱 서버 만들기] 2. AWS EC2와 MariaDB 생성

게시된 내용은 작성자가 공부한 내용을 정리하여 기록하였습니다. 일부 빠지거나 부족한 부분이 있을 수 있습니다. 최대한 편집 없이 기록하였습니다. 사용 도구 : STS 4 (Spring Tools Suite), AWS EC2, MariaDB, Windows 1. AWS EC2 인스턴스 생성 AWS EC2 인스턴스 생성 방법을 포스팅 해놓아서 그대로 사용하겠습니다. 생성한 인스턴스에 접속하는 방법도 여기 있습니다. AWS 인스턴스에 대해 공부하고 싶으신 분은 여기 유튜브 강의가 있습니다. 2. MariaDB 생성 AWS에서는 RDS 서비스로 MariaDB를 선택해서 데이터 베이스를 간단하게 생성할 수 있습니다. 구글에서 간단하게 찾아보시면 되겠습니다. 저는 Terminal로 MariaDB 5.5를 설치했었습..

IT/Spring 2021.07.06

[안드로이드 앱 서버 만들기] 1. 프로젝트 생성

게시된 내용은 작성자가 공부한 내용을 정리하여 기록하였습니다. 일부 빠지거나 부족한 부분이 있을 수 있습니다. 최대한 편집 없이 기록하였습니다. 출처 블로그 사용 도구 : STS 4 (Spring Tools Suite) 1. 프로젝트 생성 옵션을 선택합니다. 저는 Gradle, Java 8을 선택하고 이름을 바꿔주었습니다. 라이브러리는 Spring Web과 Lombok을 선택합니다. Lombok에 대한 설명은 이분의 블로그에서 보시면 좋을 것 같습니다. 2. 생성한 프로젝트 테스트 @SpringBootApplication이라고 붙은 파일에서 run을 눌러 실행시켜 봅니다. 포트 8080이 이미 사용중이라고 합니다. 바꾸겠습니다. application.properties에서 포트 번호를 바꿀 수 있습니다...

IT/Spring 2021.07.03

OCP (Open Closed Principle)

객체지향의 가장 멋진 부분은 OCP이다 라는 말을 들었습니다. OCP를 알아볼려고 합니다. 객체지향이 개발하는데 편해서 좋다라는 말은 많이 들었습니다. 그리고 SOLID 원칙을 이유로 들었습니다. 그런데 와닿지 않았습니다. 어느날, 현직자분께서 실전 예제 코드를 보여주면서 OCP를 설명하는 장면에서, OCP가 객체지향을 멋지게 만드는 녀석이지 않을까 생각하게 되었습니다. 위키백과에서 정의된 OCP의 의미는 아래와 같습니다. 개방-폐쇄 원칙 (OCP, Open-Closed Principle)은 '소프트웨어 개체(클래스, 모듈, 함수 등등)는 확장에 대해 열려 있어야 하고, 수정에 대해서는 닫혀 있어야 한다'는 프로그래밍 원칙이다. 제가 이해한 예시를 들어보겠습니다. A 노트북이 있고, 마우스, 키보드, 웹..

IT/Others 2021.07.01

[IntelliJ] 내가 필요한 단축키 모음

제가 IntelliJ를 사용하면서 필요한 단축키를 모아 놓을 저장소입니다. 자동 완성 스마트 자동완성 MacOS: Ctrl + Shift + Space Win/Linux: Ctrl + Shift + Space getter/setter/생성자 자동완성 MacOS: Cmd + n Win/Linux: Alt + Insert 테스트 코드 자동 완성 MacOS: Cmd + Shift + T Win/Linux: Alt + Shift + T 리펙토링 이름 일괄 변경 MacOS: Shift + F6 Win/Linux: Shift + F6 변수 추출 MacOS: Cmd + Opt + v Win/Linux: Ctrl + Alt + v 메소드 추출 MacOS: Cmd + Opt + m Win/Linux: Ctrl + Alt..

IT/Spring 2021.06.26

PSA (Portable Service Abstraction)

PSA (Portable Service Abstraction) 간단하게 말하면, 어떤 기술을 추상화하여 숨겨서(Service Abstraction) 간단하게 사용할 수 있게 하고, 다른 기술에도 적용할 수 있게 해주는(Portable) 방법입니다. Spring으로 만든 서블릿 애플리케이션을 보면 HttpServlet을 사용하지 않고 단지, @GetMapping 이나 @PostMapping으로 간단하게 구현하는 것을 볼 수 있습니다. 이렇게 서블릿 기술을 숨겨서 개발자들에게 편의성을 제공합니다. Spring은 Spring Web MVC, Spring Transaction, Spring Cache 등 다양한 PSA를 제공합니다. 하나씩 살펴보겠습니다. Spring Web MVC Servlet 애플리케이션을 ..

IT/Spring 2021.06.24

AOP (Aspect Oriented Programming)

AOP (Aspect Oriented Programming) 간단하게 말하면, 프로그램에서 여기저기에 공통으로 들어가는 코드가 있다면 그 코드를 따로 모듈화시켜서 재사용하는 하는 것을 말합니다. 위키백과에서 인용한 문구입니다. It does so by adding additional behavior to existing code (an advice) without modifying the code itself, instead separately specifying which code is modified via a "pointcut" specification, such as "log all function calls when the function's name begins with 'set' ". 기존 ..

IT/Spring 2021.06.23

IoC (Inversion of Control)

IoC (Inversion of Control) 위키백과의 내용입니다. in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom, or task-specific, code. 전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용합니다. 하지만 제어 반전(Inversion of Control)이 적용된 구조에서는 외부 라이브..

IT/Spring 2021.06.22
반응형