1XX(조건부 응답) - information서버로부터 요청을 받았지만, 클라이언트에 대한 몇가지 추가정보가 필요하다. 2XX(성공) - success성공적으로 처리되었다. 200이외에 모든 성공 코드는 추가로 전달 한다. 3XX(리다이렉션) - redirection리소스가 이전되어 클라이언트에 새로운 URL을 응답 해준다. 4XX(클라이언트 에러) - client error자주 발생하는 404(찾을 수 없음 - not found)는 클라이언트 측에 문제가 있음을 나타낸다. 5XX(서버 에러) - server error500은 서버 에러를 나타낸다. 웹 서버와 백엔드 애플리케이션 서버가 연결되어 있지 않다면 502(불량 게이트 웨이 - bad gateway)를 볼 것이다.
지난 시간에 이어 오늘은 Dockerize를 적용했다. Jenkins에 올려 빌드까지 자동화 하려고 했으나, 토이 프로젝트엔 조금 오바인듯 싶어 그만두었다. 로컬에서 build후 Dockerize 하고 push 했다.(https://hub.docker.com/r/kaniz/home-api/) (라즈베리 파이용 docker 자바 셋팅은 간단한듯 복잡했다.) Docker 컨테이너끼리 내부 네트워크 통신을 위해 bridge를 만들고 mysql container를 띄웠다. 그리고 Dockerize한 API 서버를 Docker로 띄웠다.. 아.. 서버가 올라가는데 5분가까이 걸렸다.. ㅜㅜ 어쨋거나 올라갔다.. 이게 중요하다. 테스트를 해보자 Hal Browser도 잘뜬다. 그럼 이제 온습도를 쟤보자. 실행하고 ..
생각보다 기록을 남기는 일은 귀찮은 일이다.. -_-;; 그래도 노력해 보려 한다. 센서는 라즈베리에 달려 있고, 코딩은 .. 맥에서 해야하니 SSHFS로 맥과 라즈베리에 작업 디렉토리를 마운트 해서 진행했다. 자 테스르를 해볼까.?음.. 잘 된것 같은데 라즈베리가 느리다보니 좀 버벅 되긴한다. 동기화에 조금 시간이 걸린다. 30초마다 한번씩 온도를 측정해서 라즈베리파이에서 API서버로 전송하도록 했다. (이전편에서 만든 모듈을 사용했다.) API서버로 Request가 정상적으로 들어오고 쿼리가 실행되는 로그를 확인 할 수 있다.DB에도 잘 들어간다. 문제점이라면 조금 느리다. 1~2초 정도 측정하는데 시간이 걸리는듯 하다. 다음 포스팅에는 API 서버를 Dockerize하고 다른 라즈베리파이에 배포 하..
이번에는 온습도를 기록해 보도록 하자. MySQL 을 이용할 것이고, 측정값을 주기적으로 기록할 테이블을 만들자. 테이블 하나로 기록 할 예정이다. id : 키값이 될 예정(Auto Increament 적용)region : 지역 (주방이냐, 방이냐)temperature : 온도 humidity : 습도 measurement_date : 측정일시 (CURRENT_TIMESTAMP 적용) Spring Boot + HATEOS 를 적용하여 Controllerless API서버를 만들었다.간단하다. 아주..간....간단한데 왜 해멧냐 ㅠㅠ 작동을 테스트 해보자. HAL Browser를 이용하면 Swagger같이 테스트 할 수 있다. 잘되는 것 같다. Python에서 해당 API Url을 호출하면 바로 이용이 가..
파이썬과 도통 친해지지 않는다. 그래서 놀고있던 라즈베리 파이 2대로 홈 프로젝트를 진행하기로 마음먹었다. (그러나 API는 역시 자바가.. -ㅅ-) 머릿 속으로는 큰 그림을 그리고는 있는 중...-_-a 일단 라즈베리파이로 간단하게 온습도를 측정하는 것을 시작으로 길고 긴 프로젝트의 시작을 끊어 보았다. DHT-11 온습도 센서.. (1200원 주고 구입) 그러나 장착하다 모듈이 휘었다..ㅠㅠ 작동은 잘되니..됐다. 괜히 삿다 싶을 정도로 1년 반정도 집에서 그냥 켜져있던 라즈베리파이 2대 ..이제 서버와 클라이언트 관계로 활용 되리라. 일단 잘 꼽아 보자. 상단 1,3 하단 4번 연결(참조 : http://www.circuitbasics.com/how-to-set-up-the-dht11-humidit..
MacOS Mojave(모하비) 업데이트 후 다음과 같은 메시지가 나오면 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun xocde를 설치하거나 터미널에 다음과 같은 명령어를 입력하자 xcode-select --install 끝! 출처 : https://gist.github.com/gaquino/87bdf0e6e852e445c0489379d3e9732a
docker run -p 8080:8080 \ -v /var/run/docker.sock:/var/run/docker.sock \ --name jenkins \ jenkins/jenkins:lts docker exec -it -u root jenkins bash apt-get update && \ apt-get -y install apt-transport-https \ ca-certificates \ curl \ gnupg2 \ software-properties-common && \ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \ ad..
태어나고 돌도 지나기전에, 온몸 구석구석 하얀 반점들이 나타났다. 내가 자라면서 하얀 점들은 점점 커지기도 했고있던 것 들이없어지기도 하고, 때로는 생기기도하고.. 뭐.. 그런 병이다. 보기에만 좀 그런.. 어렸을적부터 이런걸로 많이 놀림을 받아, 어머니께서는 무척이나 속상하시고 미안해 하셨다.부모님 책임은 아닌데... 부모님께 어떻게 위로도 해드려야 할지 몰라 미안해했던 기억이난다. 초등학교 시절 몇몇 담임은 내 피부를 보고 그냥 대놓고 싫어 했으며, 차별대우를 했다. 이러한 이야기를 부모님께 이야기 할 수 없었다. 이 또한 부모님 탓도 아니고 내 탓도 아니기에.. 치료를 시도한적이 없는건 아니다, 큰 기계안에서 자외선 치료도 받고, 약도 바르고, 독한 약도 먹었다.피부약은 참 독했다. 치료는 고3시절..
2.1. DI어떤 클래스가 필요로 하는 컴포넌트를 외부에서 생성한 후, 내부에서 사용 가능하게 만들어주는 과정을 '의존성을 주입(DI) 한다.' 또는 '인젝션(Injection) 한다'라고 말한다. 의존성 주입을 자동으로 처리하는 기반을 'DI 컨테이너'라고한다.DI 장점의존성 해결싱글톤(Singleton) 및 프로토타입(Prototype)같은 인스턴스 스코프(Scope)관리를 DI가 대신함2.1.1 DI 개요DI는 의존성 주입이라고도 하며, IoC라고하는 소프트웨어 디자인 패턴중 하나. 이때의 IoC는 인스턴스를 제어하는 주도권이 역전된다는 의미로 사용되는데, 컴퓨넌트를 구성하는 인스턴스의 생성과 의존 관계의 연결 처리를 해당 소스코드가 아닌 DI 컨테이너에서 대신해 주기 때문에 제어가 역전됐다고 보는..