본문 바로가기
반응형

전체 글171

[DevOps] Github Actions로 Workflow 자동화하기 Intro Github Actions는 Github의 push, pull 등의 이벤트 발생 시 해당 이벤트에 대해 미리 정해둔 동작을 자동으로 수행하는 도구다. 이를 통해 pull 하기 전 자동으로 테스트를 수행하여 Fail 시 PR을 취소시키고 Slack을 통해 알림을 준다거나, 배포용 브랜치에 push 이벤트가 발생할 경우 AWS에 자동으로 Deploy 하는 등의 CI/CD 구성이 가능하다. 이번 시간엔 간단한 예제를 통해 Github Actions를 사용하는 방법에 대해 알아보자. 테스트 프로젝트 생성 Github Actions를 사용하기에 앞서 테스트용 프로젝트를 만들어주자. 아래와 같이 4개의 Dependency만 추가했다. 그리고 간단한 웹 어플리케이션을 작성한다. Github 링크에 소스코드.. 2022. 8. 31.
[Spring] 빌드 시 invalid source release: XX 뜰 때 Intro 프로젝트가 잘 돌아가다가 다른 개발환경에서 다시 빌드하려 하면 위와 같은 에러가 뜨며 빌드가 되지 않을 때가 있다. 생각보다 이 문제가 자주 발생해서 해결방법을 정리해두려고 한다. [Project Structure (Ctrl + Alt + Shift + S)] - [Project Settings] - [Project] Project SDK를 Project language level에 맞게 변경한다. [Settings (Ctrl + Alt + S)] - [Build, Execution, Deployment] - [Build Tools] - [Gradle] Gradle JVM을 JAVA 버전에 맞게 변경한다. 여태껏 발생한 에러들은 위의 2가지 설정을 맞춰주는것 만으로도 다 해결되었다. 만약 위의.. 2022. 8. 31.
[JPA] 공통 속성 매핑 공통 속성 매핑 Audit과 같이 상속 관계는 아니지만 생성일자, 수정일자 등 공통적인 속성을 여러 클래스가 사용해야 하는 경우가 있다. JPA에서 이런 공통 속성을 매핑하는 방법에 대해 알아보자. 실습하기 전 공통 속성을 물려받을 테스트용 클래스를 만들어주자. @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PROTECTED) public class Member { @Id @GeneratedValue private Long id; private String name; } @MappedSuperClass 위의 그림과 같이 공통 속성을 상속받고 싶을 경우 부모 클래스에 @MappedSuperClass 어노.. 2022. 8. 26.
[JPA] 상속관계 매핑 Intro 관계형 데이터베이스에서는 기본적으로 상속 관계를 지원하지 않는다. JPA에선 이런 문제를 해결해줄 수 있는 3가지 상속관계 매핑 방법을 지원한다. 이번 시간엔 JPA를 통해 상속 관계를 매핑하는 방법에 대해 알아보자. 실습하기 전 아래의 간단한 테스트용 Entity 2개를 만들어보자. @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PROTECTED) public class Item { @Id @GeneratedValue private Long id; private String name; private int price; } @Entity @Getter @Setter @NoArgsConstru.. 2022. 8. 26.
[JPA] 연관관계 매핑 Intro DB를 설계할 때 테이블이 하나만 있는게 아닌 이상 거의 대부분의 경우에 테이블 간 연관관계 설정이 필요하다. 연관관계 종류로는 1:1, 1:N, N:1, M:N이 있으며, Foreign Key를 사용해 매핑해야 한다. 하지만 JPA에선 Entity에 연관된 테이블의 ID를 넣는 것 대신 객체 자체를 변수로 넣을 수 있게 해준다. 실습하기 전 아래의 간단한 테스트용 Entity 2개를 만들어보자. @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PROTECTED) public class Member { @Id @GeneratedValue private Long id; private String.. 2022. 8. 25.
[JPA] 구문 오류로 테이블 생성이 안될 때 구문 오류로 테이블 생성이 안될 때 아래와 같은 Entity를 생성하고 실행하니 다음과 같은 구문 오류로 인해 테이블이 자동 생성되지 않았다. @Entity @Getter @NoArgsConstructor @AllArgsConstructor(access = AccessLevel.PROTECTED) public class Order extends BaseEntity { @Id @GeneratedValue private Long id; private int number; private int totalPrice; @Enumerated(value = EnumType.STRING) private OrderStatus orderStatus; @OneToMany(mappedBy = "order") private L.. 2022. 8. 23.
[센서 모니터링 시스템] 13. Android Chart 구현 (프로젝트 종료) Intro 이제 마지막이다. 이전에 받아온 센서 데이터를 차트 형태로 출력해보자. 차트 라이브러리는 MPAndroidChart를 사용했다. GitHub - PhilJay/MPAndroidChart: A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubb A powerful 🚀 Android chart view / graph view library, supporting line- bar- pie- radar- bubble- and candlestick charts as well as scaling, panning and animations. - GitHub - PhilJay/MPAndroidCha.. 2022. 8. 19.
[센서 모니터링 시스템] 12. Android Request 구현 Intro 시간이 조금 남아서 간단하게라도 안드로이드 앱을 만들어볼 예정이다. 우선 서버로 센서 데이터 Request를 보내고, Response를 받는 것부터 해보자. 언어는 Kotlin을 사용했다. Kotlin에 편한 함수들이 많다. HTTP 라이브러리로는 Volley를 사용했다. https://developer.android.com/training/volley?hl=ko Volley 개요 | Android 개발자 | Android Developers Volley 개요 Volley는 Android 앱의 네트워킹을 더 쉽고, 무엇보다도 더 빠르게 하는 HTTP 라이브러리입니다. Volley는 GitHub에서 사용할 수 있습니다. Volley를 사용하면 다음과 같은 이점이 있습니다. 네트 developer.. 2022. 8. 19.
[센서 모니터링 시스템] 11. Rechart를 사용한 센서 데이터 시각화 Intro 인터넷을 찾아보다 Rechart라는 좋은 그래프 패키지를 찾았다. 디자인도 괜찮고 사용방법도 어렵지 않아 이 패키지로 센서 데이터를 시각화 해보기로 했다. Rechart 패키지 설치 우선 rechart 패키지를 설치해주자. npm install recharts 그 다음 App.js에 아래의 코드를 추가한 뒤에 차트가 잘 나오는지 테스트해보자. import React, { PureComponent } from 'react'; import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend } from 'recharts'; const data = [ { name: 'Page A', uv: 4000, pv: 2400, amt: 2400,.. 2022. 8. 19.
반응형