분류 전체보기 166

JSP와 DB 연결

스프링을 사용하다보면 JSP만으로 코딩을 할 일이 많이 없습니다. 하지만 적은 인원으로 빠른 개발이 필요한 경우 JSP를 사용할 수 있습니다. (여러분 그냥 PHP, node, Django 쓰세요...) 일단 jsp 만들 사용하여 backend를 만들려면 서버를 구동시키는 법을 알아야 합니다. sql과 태그 라이브러리 jar를 다운받아 lib에 넣어주세요. https://mvnrepository.com/artifact/mysql/mysql-connector-java Maven Repository: mysql » mysql-connector-java JDBC Type 4 driver for MySQL VersionVulnerabilitiesRepositoryUsagesDate8.0.x8.0.29Centra..

BACK END/jsp 2022.07.01

Mysql Trigger(트리거)

mysql 에는 트리거라는 개념이 있습니다. 이 개념은 어떠한 이벤트가 발생하면 사전에 지정한 행동을 DB가 자동으로 실행해줍니다. 보통 DB에 로그를 남기거나, 백업 데이터를 만들어 두기 위해서 사용합니다. 저는 heidisql을 사용합니다. 테이블 생성처럼 오른쪽 클릭을 사용하시면 됩니다. 생성을 하시면 아래 화면이 나옵니다. 이름 : 트리거 이름 (하이디에서 자동으로 지어줍니다. 그냥 사용하셔도 되고, 바꾸셔도 됩니다.) 정의자 : 트리거를 만든 사람(기본으로 둡니다. 서버에서는 root면 안 됩니다.) 테이블 : 트리거를 실행할 테이블을 선택합니다. 즉, 이벤트가 발생할 테이블을 선택해주시면 됩니다. 이벤트 : 트리거가 발생할 이벤트를 선택합니다. 총 6 가지입니다. after insert 값 삽..

DB/mysql(mariaDB) 2022.06.28

tcp 서버 설계 경험

*개인적인 경험에서 나온 글입니다. 다르게 생각하실 수 있습니다.* *그 점은 다른사람도 볼 수 있게 댓글로 알려주세요. * 실무 일을 하던 도중에 tcp 서버의 언어를 바꿀 일이 생겼습니다. 서버의 언어를 바꾸는 도중 tcp 서버의 설계에 대해 고민을 하게 되었습니다. 1. 여러개의 주소를 만들어 한가지의 데이터를 넘겨 제어할 것인지 2. 한개의 주소에서 받은 여러 종류의 데이터를 알고리즘으로 파싱하여 제어할 것인지 이 2가지의 경우를 고민하고 있는 도중에 팀장님이 다른 한가지 방법을 추천하였습니다. 그 방법은 서버에서 간단한 일만 처리하게 설계를 해봐라 그 이유는 서버의 안전성을 우선으로 생각하였기 때문입니다. 1. 서버에서 복잡한 로직을 실행할 시 오류가 날 확률이 높다. 만약 복잡한 로직을 통신서..

http multipart

일을 하던 중에 tcp서버로 받은 센서 값을 사진과 함께 서버로 http 통신을 사용하여 넘겨주는 일을 맡았습니다. 이를 해결하기 위해 http multipart를 사용했습니다. multipart란 해석 그대로 '여러 부분'이라는 뜻입니다. 쉽게 설명하면 파일과 문자를 같이 서버에 post방식(사진은 용량이 커 GET방식 사용 불가)으로 넘겨주어야 하는 일이 발생합니다. 기본적으로 post는 하나의 타입만 보낼 수 있습니다. 이를 해결하기 위해 나온 것이 MULTIPART입니다. 이는 text부분의 공간과 file 부분의 공간을 나누어 보내는 방법을 사용합니다. 이 방법으로 한번에 다른 형식의 데이터를 보내 리소스를 줄일 수 있습니다.

Relational Database(관계형 데이터베이스)

RDB는 각 테이블간의 관계를 정의하는 DB입니다. 관계형 DB의 가장 중요한 키워드는 '동사형'입니다. 이렇게 생각해봅시다. 만약 사용자가 물건을 구매하는 사건이 일어납니다. 이는 행동에는 행위자와 목적어인 구매자와 물건이 있습니다. 그리고 가장 중요한 '구매하다'라는 동사가 나옵니다. 여기서 고정되어 있는 값은 구매자와 물건입니다. 즉, 주체와 목적어는 고정되어 있죠. 이는 RDB에 넣지 않고, 엑셀과 같은 간단한 DB로 관리할 수 있습니다. 하지만 계속 값이 바뀌는 '구매하다' 라는 동사는 그 변화된 값을 계속 기록해주어야 합니다. 이 말은 역사를 기록하는 행위라고도 할 수 있습니다. 그래서 RDB를 설계할 때 값이 변하는 동사형을 찾는 일이 가장 중요합니다. 그리고 그 동사와 관련된 값이 고정된 ..

DB 2022.06.23

apache tomcat 설치

저는 이클립스로 코딩을 하고 이클립스 내부 톰캣을 사용하여 테스트만 하다보니 톰캣을 직접 돌릴줄 몰랐습니다. 하지만 최근 jsp를 직접 돌려야 할 일이 생겨 톰캣서버에 대해 공부하고 적어봅니다. 1. 톰캣 다운로드 https://tomcat.apache.org/ Apache Tomcat® - Welcome! The Apache Tomcat® software is an open source implementation of the Jakarta Servlet, Jakarta Server Pages, Jakarta Expression Language, Jakarta WebSocket, Jakarta Annotations and Jakarta Authentication specifications. These s..

SERVER/window 2022.06.20

TCP통신 서버 만들기

node-red서버에서 tcp통신은 매우 쉽게 만들 수 있습니다. 보통 언어에서는 socket을 열고 thread를 만들고 실행해주어야 합니다.(그 외에도 예외처리 등...) 하지만 node-red는 블록 2개면 tcp서버를 받고, 보내줄 수 있습니다.(보통은 MQTT를 추천합니다.) 이 두개의 블록을 사용하여 데이터를 tcp로 보내고 받을 수 있습니다. 일단 node-red 서버를 실행시키고 localhost:1880으로 들어옵니다.(기본 포트는 1880입니다.) 들어오면 오른쪽 위에 메뉴를 클릭하여 가져오기를 누르세요. 열린 창 안에 아래 JSON을 넣으시고 확인을 누르면 제가 만든 서버측 TCP블록이 생성됩니다. [ { "id": "303ed48cda1eef2c", "type": "http in",..