분류 전체보기 166

node-red는 무엇인가?

Node-RED(노드 레드)는 하드웨어 장치들, API, 온라인 서비스를 사물인터넷의 일부로 와이어링(배선화)시키기 위해 본래 IBM이 개발한 시각 프로그래밍을 위한 플로 기반 개발 도구이다. Node-RED는 브라우저 기반 플로 편집기를 제공하므로 자바스크립트 함수를 개발하는데 사용할 수 있다. 애플리케이션의 요소들은 재사용을 위해 저장하거나 공유할 수 있다. 런타임은 Node.js 위에서 개발되어 있다. Node-RED에서 만든 플로는 JSON을 사용하여 저장된다. 버전 0.14 이후 MQTT 노드들은 적절하게 구성된 TLS 연결을 만들 수 있다. -위키백과 이처럼 node - red는 IBM사가 개발한 로우코드 프로그램으로 nodejs기반으로 동작합니다. 그래서 여러가지 일을 처리하는 싱글스레드 기..

피벗(PIVOT) 테이블

다른 분이 만들어분 SQL에 GROUP_CONCAT()함수가 나와 인터넷에 찾아보니 이는 테이블 피벗을 위한 함수임을 알았습니다. 여기서 피벗이란 '테이블 데이터를 행에서 열로 바꾸는 과정'입니다. 즉, 보통의 테이블은 세로로 데이터가 나오지만 특정한 데이터를 가로로 묶어 보여주기 위한 함수입니다. idx group name 1 1 white 2 1 black 3 2 green 4 2 orange 이처럼 데이터가 있으면 이를 group으로 묶어서 보여주고 싶을 경우 아래 SQL처럼 사용하면 됩니다. SELECT group, GROUP_CONCAT(name) FROM test GROUP BY group 이 결과 아래 테이블이 나옵니다. group name 1 white, black 2 green, oran..

DB/mysql(mariaDB) 2022.06.19

stored procedure(저장 프로시저) 만들기

저번글에서 적었듯 sp(저장 프로시저)는 장점과 단점들이 있습니다. 하지만 빠른 처리속도와 DB의 보안을 간단하게 높여준다는 것에서는 장점이 있습니다. 이번편에서는 저장 프로시저를 어떻게 만들고 실행하는지 알아보겠습니다. DELIMITER $$ CREATE PROCEDURE 프로시저 이름() BEGIN SELECT 뽑을 이름 FROM 사용할 테이블 [where][order by][group by]; END $$ DELIMITER ; 1. 처음에 문단의 마침을 ; 에서 $$로 바꾸어 준다는 의미의 DELIMITER를 사용합니다. (꼭 $$가 아니어도 됩니다.) 2. 다음은 프로시저를 생성하는 단계입니다. CREAT PROCEDURE 이름()으로 생성합니다. 3. BEGIN 을 시작으로 프로시저 내용을 적습..

DB/mysql(mariaDB) 2022.06.19

mysql stored procedure(저장 프로시저) 란?

mysql에는 sp(stored procedure)이 있습니다. 이는 저장된 sql을 순차적으로 실행하는 프로그램으로 질의 형식만 가능한 sql에 절차적인 실행을 가능하게 해주는 방법입니다. 이는 oracle에선 pl/sql이라고 불리며 mysql은 sp라고 불립니다.(정확히는 다르지만 sql을 절차적으로 실행하게 해줍니다.) 많은 분들이 장점과 단점을 말씀하시고 극명히 나타나는 장점과 단점도 있습니다. 장점 -빠른 처리속도(더하기 등의 사칙연산은 제외) DB에서 직접 데이터를 처리하여 더 빠른 속도의 처리가 가능 합니다. -높은 보안성 각 sp간의 보안이 개별화 되어 있어 일차적인 해킹을 막습니다.(sql injection 등) -높은 재활용성 필요한 부분의 sp를 만들고 이를 호출하여 데이터만 받아오..

DB/mysql(mariaDB) 2022.06.06

iBATIS는 무엇인가?

***기본적으로 egov가 ibatis를 사용하므로 mybatis와 함께 알아두어야 합니다.*** iBATIS(아이바티스)는 SQL에 기반한 데이터베이스와 자바, 닷넷(.NET), 루비(Ruby) 등을 연결시켜 주는 역할을 하는 영속성 프레임워크(Persistence Framework)이다. 이러한 연결은 프로그램의 소스코드에서 SQL 문장을 분리하여 별도의 XML 파일로 저장하고 이 둘을 서로 연결시켜주는 방식으로 작동한다. 또 다른 영속성 프레임워크인 하이버네이트(Hibernate)와 비교하여 하이버네이트는 객체모델을 사용자가 생성을 하면 프레임워크에서 데이터베이스와 연결을 시켜주는 방식인데 반해 iBatis는 사용자가 SQL 문장을 만들면 그에 적합한 객체모델을 생성하는 방식으로 작동한다. http..

BACK END/iBATIS 2022.05.25

두 날짜의 차이값 계산 함수(TIMESTAMPDIFF)

TIMESTAMPDIFF(단위, 날짜 1, 날짜 2) 순서로 사용합니다. 이 함수는 날짜 2 - 날짜 1 의 값을 단위로 표현해준다. SECOND : 초 MINUTE : 분 HOUR : 시 DAY : 일 WEEK : 주 MONTH : 월 QUARTER : 분기 YEAR : 연 참조 : https://extbrain.tistory.com/78 [MySQL] 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶MySQL 날짜 차이 가져오기 (DATEDIFF, TIMESTAMPDIFF 함수) ▶설명 MySQL에서 두 날짜간의 차이를 가져올 때 사용하는 함수가 두 가지가 있습니다. 단순히 일 차이를 가져올 때 사용하는 것이 DATEDIFF 함수 extbrain.tistory.com

DB/mysql(mariaDB) 2022.05.25

javax.net.ssl.SSLException: closing inbound before receiving peer's close_notify

spring mvc를 사용해 DB를 연결하여 sql을 사용하려고 하는데 서버를 실행했더니 이런 오류가 나왔습니다. 오류의 원인은 DB연결을 할 때 ssh연결이 필요하지만 그 설정을 안 하여 오류가 나온 것입니다. 해결방법은 jdbc:log4jdbc:mysql://localhost:3306/DB?&useSSL=false 로 수정합니다. 출처 : https://kikikimoong.tistory.com/entry/SpringBoot-Closing-inbound-before-receiving-peers-closenotify-%EC%98%88%EC%99%B8-%EC%97%86%EC%95%A0%EA%B8%B0 [SpringBoot] Closing inbound before receiving peer's close..

spring missing required library

jar파일을 이클립스가 못 읽어와서 다시 다운을 받고 다시 등록해주었습니다. 1. 못 읽어오는 jar파일을 다운받고 jar파일을 모아놓은 곳에 넣기 저는 json-simple jar를 못 읽어와서 다시 다운받았습니다. 다운 받은 후 다른 라이브러리를 모아놓은 곳에 넣어두었습니다. 2. 다운받은 라이브러리 다시 등록 사용할 프로젝트에서 오른쪽 클릭 후 Properties 를 클릭합니다. 클릭하면 아래 사진처럼 창이 나오는데 검색창에 build를 칩니다. java build path를 클릭하고 오은쪽에 add jars를 클릭한 후 다운받은 jar파일을 선택 후 apply and close를 누릅니다. 잠시 기다리시면 오류가 해결되는 것을 확인 하실 수 있습니다. 참조 : https://stackoverflo..

Target runtime Apache Tomcat 8.0 is not defined

egov의 소스를 받아 임포트 하였더니 이러한 에러가 나왔습니다. 이 에러는 기존에 설치된 톰켓 버전과 소스의 버전이 달라서 나오는 에러입니다. 이 오류를 해결하기 위해서는 소스의 톰켓 버전을 기존에 설치된 버전으로 변경해주어야 합니다. 저는 아래 블로그를 참조하였습니다. https://ktko.tistory.com/entry/Target-runtime-Apache-Tomcat-is-not-defined-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95 Target runtime Apache Tomcat is not defined 해결 방법 Target runtime Apache Tomcat v8.5 is not defined 오류가 발생하였습니다. 이 해결 방법은 8.5 버전뿐만아니라..

spring mvc error - src/test/resources missing

깃허브에서 내가 만들어 놓은 프로젝트를 서버에서 돌리기 위해 임포트하였을 때 나온 오류입니다. 이 문제의 해결은 아래 내용을 참조하였습니다. https://stackoverflow.com/questions/11976223/how-to-deal-with-missing-src-test-java-source-folder-in-android-maven-project How to deal with missing src/test/java source folder in Android/Maven project? I'm not very experienced with Maven in combination with Android yet, so I followed these instructions to make a new A..