분류 전체보기 (295) 썸네일형 리스트형 Modbus Modbus란?산업용 전기 장비에서 데이터를 전송하기 위해 사용되는 통신 프로토콜로, 최초에는 Modicon 사 ( 현재 슈나이더 일렉트릭에 인수 )의 PLC 간 통신을 위해 개발되었다. 국제 표준으로 지정된 적은 없지만, 산업계에서 워낙 많이 사용되기 때문에 사실상 표준(de-facto)에 해당한다. HMI와 같은 PLC 관련 장치들은 대부분 Modbus를 지원한다.RS232, RS422, RS485 등 시리얼 통신 방식 또는 이더넷 - TCP/IP 기반으로 동작할 수 있다.특징마스터 - 슬레이브 구조: 하나의 마스터 디바이스(PC 등)가 여러 슬레이브 디바이스와 요청 - 응답프로토콜이 공개되어 있음 => 무료로 사용 가능(시리얼)네트워크 상에서 최대 247개 장치를 운용할 수 있으며, broadcas.. [spring] thymleaf 배포 시 template might not be accessible 문제 IDE에서는 아무 문제가 없지만, jar 파일로 만들어 배포하니 타임리프 템플릿을 찾지 못하는 문제가 발생했다.spring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.suffix=.html타임리프 리졸버는 classpath:/templates/을 기본 prefix로 사용한다. 만약 th:replace 또는 th:insert로 템플릿을 참조할 때 경로 앞에 "/"을 붙이면 "//"으로 처리되어 경로 인식에 실패한다고 한다.모든 템플릿 경로 앞에 "/"을 빼면 문제가 해결된다.푸터푸터 [spring] 메일 송신 기능 테스트(GreenMail) 진행 중인 토이 프로젝트는 아이디 / 비밀번호 찾기 기능에서 메일 송신 기능을 이용한다. 스프링부트를 이용하는 경우 springboot-starter-mail 패키지를 통해 메일 송신 기능과 관련된 기능을 이용할 수 있다.package com.blaxsior.board.domain.mail;import jakarta.mail.MessagingException;import jakarta.mail.internet.MimeMessage;import lombok.RequiredArgsConstructor;import org.springframework.beans.factory.annotation.Value;import org.springframework.mail.SimpleMailMessage;import o.. [spring] 외부 설정 사용 스프링 부트와 관련된 각종 설정은 일반적으로 application.properties 파일에 저장한다. 이 파일은 각종 설정을 담고 있기 때문에 git에 직접 커밋하는 경우도 많다.그런데, 모든 정보를 git 또는 github 환경에 공개할 수는 없다. 메일 API나 데이터베이스 연결 등 스프링을 다른 시스템과 연동하기 위해서는 해당 시스템에 대한 username과 password가 필요한데, 이러한 정보를 외부에 노출하는 순간 해커의 공격으로 데이터를 잃어버리거나, 디도스 공격 등을 통해 엄청난 금액의 손실을 맛볼 수 있다.따라서, 여러 계정과 관련된 정보의 경우 스프링 설정이라고 하더라도 커밋되지 않는 별도의 파일에 저장해두는 것이 적합하다고 생각했다. node.js 진영의 .env 파일처럼, 비밀 .. [프로그래머스 SQL] 오랜 기간 보호한 동물(2) / TIMESTAMPDIFF / TO_SECONDS 모 시험에서 시간 차이를 계산하는 문제가 나왔다. 이전에 SQL로 시간을 다루는 문제를 풀어본 적이 없어서 해당 문제는 풀지 못했다. 프로그래머스에 시간을 계산하는 비슷한 문제가 있어서 제시한다.https://school.programmers.co.kr/learn/courses/30/lessons/59411 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 입양 간 동물들을 보호한 시간 (나간 시간 - 들어온 시간)을 기준으로 내림차순 정렬하는 문제다. 시간을 계산하는 함수만 알고 있다면 정말 쉽게 풀리지만, 모르면 못푼다.이때, MYSQL에서 시간 관련 타입은.. [백준] 2292 벌집 수학적 풀이 https://www.acmicpc.net/problem/2292입력: N(1 ≤ N ≤ 1,000,000,000)출력: 주어진 방까지 이동할 때 최소 방의 수최소로 이동하는 방의 수는 다음과 같은 규칙을 가지고 있다.방 번호(N)이동하는 수(K)112 ~ 728 ~ 19320 ~ 374위 숫자에는 어느 정도 규칙성이 있다. 범위 내 마지막 번호(E) - 1 => 6의 배수이다.방 번호(S ~ E)(E - 1) / 6이동하는 수(K)1(1 - 1) / 6 = 012 ~ 7(7 - 1) / 6 = 128 ~ 19(19 - 1) / 6 = 3320 ~ 37(37 - 1) / 6 = 64(E - 1) / 6 값은 1 ~ 이동하는 수 K에 대해 1 ~ (K - 1) 까지의 등차수열 = (k - 1) * k / .. [WEB] HTTP Method HTTP Method https://developer.mozilla.org/ko/docs/Web/HTTP/Methods 비교적 자주 사용되는 HTTP 메서드는 다음과 같다. GET: 서버에 특정 리소스를 요청. 정보를 가져올 때 사용 POST: 서버에 데이터를 제출. 데이터를 추가 / 업데이트할 때 사용 PUT: 특정 리소스 전체를 갱신(대체) PATCH: 특정 리소스의 일부를 수정 DELETE: 특정 리소스를 제거 MDN에서는 다음 3가지 특성을 기준으로 HTTP 메서드를 설명한다. 안전함(Safe): 메서드가 서버의 상태를 변경하지 않는다. 안전한 메서드는 멱등성을 가지지만, 역은 성립하지 않는다. ex) PUT은 멱등성을 가지지만, 서버의 상태를 변경한다. GET / HEAD / OPTIONS 캐시.. HTTP HATEOAS 하이퍼미디어는 멀티미디어(텍스트, 이미지, 영상 등)를 하이퍼 링크를 통해 이동할 수 있는 비선형 구조를 의미한다. HATEOAS는 직역하면 "어플리케이션 상태 엔진으로써의 하이퍼미디어"이다. 상태 엔진을 state machine으로 해석하면, 애플리케이션의 상태를 전이(조작)하는데 하이퍼 미디어를 이용한다 정도의 의미가 된다. 구체적으로는 서버가 응답할 때 요청된 자원과 해당 자원과 관련된 링크를 함께 보내는 형식으로 표현된다. { "id": 123, "name": "John Doe", "age": 30, "links": [ { "rel": "self", "href": "https://api.example.com/users/123" }, { "rel": "update", "href": "https://.. 이전 1 2 3 4 5 6 7 ··· 37 다음