본문 바로가기

분류 전체보기

(45)
Spring + Kotlin API Server 만들기 (4) : Service , TDD Service 설계 Device API가 제공해야 할 Service를 분석하면 다음과 같다. Device list를 조회 할 수 있어야 한다. 특정 Device를 조회 할 수 있어야 한다. 특정 Device의 value를 수정 할 수 있어야 한다. 특정 Device의 command를 수정 할 수 있어야 한다. 이를 토대로 Service를 작성하면 다음과 같다. package com.studuy.study.device import org.springframework.data.repository.findByIdOrNull import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transacti..
Spring + Kotlin API Server 만들기 (3) : Entity , Repository Entity 설계 Entity란? 간단히 말해선 DB에 저장될 객체라고 생각하면 될거 같다. 각각이 별도로 구분이 가능 해야 하고, 안에 들어가 있을 data들을 기술해 놓은 것이다. 이번 프로젝트 & 포스팅은 전체적인 흐름을 소개하는 포스팅이니 Table mapping같은 건 하지 않고 목표로 했던 Device Entity를 설계하는 걸로 한다. Device 분석 Entity를 설계하기 위해 Device를 살펴보면 다음과 같다. 각각의 Device는 구분 가능해야 한다. Device는 Sensor에서 나온 데이터인 value를 가지고 있다. Device는 command를 가지고 있다. 이를 토대로 Entity를 만들어 보자. Device Entity 작성 Spring에서는 @Entity를 통해 해당 c..
Spring + Kotlin API Server 만들기 (2) : project setting Project Setting 각종 설계에 들어가기 전에, project setting을 진행한다. JVM + Spring Setting 2021.12.20 - [Spring] - Spring + Kotlin 환경 세팅 (Ubuntu 20.04 + VScode) Spring + Kotlin 환경 세팅 (Ubuntu 20.04 + VScode) Ubuntu 20.04에서 Spring + Kotlin 환경 세팅 1. JVM 설치 sudo apt install default-jre sudo apt install default-jre java -version javac -version 2. Gradle 설치 VERSION=7.3.2 wget https://services.gradl.. coding-robot.ti..
Spring + Kotlin API Server 만들기 (1) : 프로젝트 시작, MVC 패턴 API Server + React Project 프로젝트 목표 : API server 구현 및 이해 + react 구현 및 이해 프로젝트 github: https://github.com/ladianchad/spring_kotlin_api_study GitHub - ladianchad/spring_kotlin_api_study Contribute to ladianchad/spring_kotlin_api_study development by creating an account on GitHub. github.com MVC 패턴이란? Model - View - Control의 약자로, web application을 구성 할 때 역할에 따라 책임 영역을 구분하여 개발하는 방식을 의미한다. Model : Data..
[ROS] XmlRpc 사용법 ubuntu 20.04, ROS noetic 기준 포스팅 XmlRpc란? ROS launch file에서 yaml file을 load해주는 편리한 도구이다. 사용법 1. launch file에 yaml file load launch/test.launch param/test.yaml xml_params: value: "what" type: "test" list: [ "1", "2", "3" ] 2. main.cpp code 작성 #include int main(int argc, char **argv) { ros::init(argc, argv, "xml_study"); ros::NodeHandle nh; XmlRpc::XmlRpcValue params; nh.getParam("xml_params", para..
[ROS] plugin 사용법 본 포스팅은 ubuntu 20.04 , ros noetic 기준으로 설명 되어 있습니다!! ROS Plugin이란? ros에서 프로그램 런타임에 특정 패키지를 load하여 사용할 수 있게 해주는 기능이다. 사전에 정의된 base interface를 상속받은 플러그인이면 어떤 것이든 사용 할 수 있게 해주며, 특정 기능에 대해 추상화를 잘 해준다. ROS Plugin을 사용하면 좋은 때 특정 기능을 개발해야 하는데 기능의 인터페이스는 변하지 않고 내부 기능만 계속 변화할 때 특정 기능이 개발이 안돼있는 경우 mocking하여 임시로 개발할 때 상황에 따라 사용해야하는 기능이 달라질 때 Interface, BaseClass plugin을 설계 할때, 먼저 만들고자 하는 기능의 interface를 정의 한다...
Spring + Kotlin 환경 세팅 (Ubuntu 20.04 + VScode) Ubuntu 20.04에서 Spring + Kotlin 환경 세팅 1. JVM 설치 sudo apt install default-jre sudo apt install default-jre java -version javac -version 2. Gradle 설치 VERSION=7.3.2 wget https://services.gradle.org/distributions/gradle-${VERSION}-bin.zip -P /tmp sudo unzip -d /opt/gradle /tmp/gradle-${VERSION}-bin.zip sudo unzip -d /opt/gradle /tmp/gradle-${VERSION}-bin.zip echo "export GRADLE_HOME=/opt/gradle/lates..
Swarm Mode 기초 Docker Swarm Mode Docker Swarm Mode는 여러 대의 server를 하나의 resource pool로 사용하기 위해 제공 되는 docker의 기능으로, docker version 1.12이후 부터 사용 가능하다. Docker Swarm Mode(이하 Swarm Mode)는 어떤 server에 container를 할당 할 것인지 결정하는 scheduler, load balancer, High Availability등을 해결해 준다. Swarm Mode의 구조 Swarm Mode는 크게 manager node 와 worker node로 구성 되어 있으며, Swarm Mode 내부에는 여러개의 도커 서버 정보를 저장하고 동기화 하는 Distributed Coordinator, 각 서버를..