전체 글

spring legecy MVC프로젝트 만들기 new-other를 클릭한 후 spring을 검색, spring legecy 프로젝트 선택 next 선택 후 spring MVC Project 선택. 프로젝트이름은 아무렇게나 지으면 된다. 이 후 project setting 창에서는 패키지를 3단까지 쓰면 된다. 여기서 작성한 패키지에 HomeController가 위치하게 된다. 적당히 com.study.home으로 작성하자. com.study.home에 HomeController가 있는 것을 확인할 수 있다. 프로젝트 세팅 1. 프로젝트 properties spring legecy프로젝트는 기본적으로 빌드를 Maven으로 한다. Maven은 빌드된 파일을 배포할 때 jre가 아닌 jdk를 필요로 한다. 그..
Spring이란 무엇일까? 위키백과에서 '자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크'라고 한다. 즉 JAVA로 만든 프레임워크의 일종이다. 스프링을 한마디로 정의하는 건 상당히 어려워서 스프링의 등장배경을 이해하고스프링의 특징과 스프링에서 제공하는 여러 모듈들을 배운 후 'XX 한 것들을 제공하면서 XX한 특징이 있는 JAVA로 만든 프레임워크다' 정도로 이해하면 될 것이다. Spring 등장 배경 spring이 등장하기전 자바엔터프라이즈개발(기업환경의 애플리케이션을 만드는 개발)에서는 EJB가 사용되었다. EJB란 분산 애플리케이션을 지원하는 컴포넌트 기반의 객체다. Servlet이 TOMCAT 같은 Servlet Container에 올려서 서비스 되는 것과 같이 EJB는 JBoss와 같은 ..
· jsp
필터란 https://dololak.tistory.com/602 참고 Filter 인터페이스 필터를 구현하기 위해 Servlet/Jsp에서는 javax.servlet.Filter라는 인터페이스를 제공합니다. package javax.servlet; import java.io.IOException; public interface Filter { default void init(FilterConfig filterConfig) throws ServletException { } void doFilter(ServletRequest var1, ServletResponse var2, FilterChain var3) throws IOException, ServletException; default void destro..
· jsp
JDBC 사용의 불편함 기존에 JSP에서 모든일을 처리했었던걸 이제 MVC패턴까지 적용하면서 완벽하게 5계층으로 나누어졌다. 각 계층별로 정해진 역할을 하면서 확장 및 유지보수에 용이해지도록 했다. 근데 Persistence 계층의 DAO부분에 보면 JDBC를 이용한 코드가 괜히 불편해보인다. 쿼리문을 쓰고 나서 PreparedStatement의 ? 처리 pstmt.setString(i++,freeBoard.getBoTitle()); 결과를 Result으로 받고 VO에 하나하나 setting해주기 FreeBoardVO freeBoard = new FreeBoardVO(); freeBoard.setBoNo(rs.getInt("bo_no"));​ 등의 불편함이 있다. 여기서 '?' 처리도 쉽게하고 쿼리의 결..
· 아두이노
Serial 통신 직렬(Serial) 통신은 대게 하나의 신호선을 이용하여 데이터를 주고받는 통신을 일컬어 지칭합니다. 하나의 신호선을 이용하기 대문에 데이터 전송은 일정한 시간 간격으로 전송하게 됩니다. 즉 한 시간 간격 동안에 하나의 논리적인 데이터인 0과 1(High 혹은 Low)을 보내며, 일정한 길이의 데이터를 모두 전송하기 위해서는 다소 시간이 소요됩니다. 그렇지만 시리얼 통신은 적은 수의 신호선을 사용하기 때문에 저렴하게 통신을 할 수 있습니다. 이런 장점 때문에 최근에 대부분의 통신은 직렬 통신으로 데이터를 전송합니다. 시리얼 통신의 적용 예는 USB, PC COM Port 등이 있습니다. Serial통신하기 아두이노로 읽은 데이터를 자바에서 읽기 위해서 아두이노측에서 무언가 할 필요는 없..
· 아두이노
아이폰의 경우 블루투스 3.0이후버전만 있어 HC-06이 제공하는 1.0 블루투스는 사용할 수 없다. 이에 블루투스 4.0을 제공해주는 BLE-HM10을 이용해 실습한다. 연결하기. 소스코드 아이폰 : 스토어에서 bitBlue 또는 BHluetoothForArduino 를 깔고 통신해봅시다.
· 아두이노
근거리 무선통신 네트워크(WPAN : Wireless Personal Area Network) 10m 이내의 짧은 거리에 존재하는 무선기기들을 연결하여 기기 간에 통신을 지원함으로써 다양한 응용서비스를 가능하게 하는 무선 네트워크 . 특징은 짧은거리, 낮은 전력 소비이다. 대표적인 WPAN 통신시스템으로는 Bluetooth통신, UWB통신, Wi-fi통신시스템이 있다. 이 중 Bluetooth통신에 대해 알아보자. Bluetooth 통신 블루투스는 휴대폰,노트북,이어폰,헤드폰 등의 휴대기기를 서로 연결해 정보를 교환하는 WPAN의 대표적 기술 중 하나로 IEEE 802.15.1 표준으로 규격화한 기술이다. ISM : 산업,과학,의료용으로 할당된 주파수 대역으로, 전파 사용에 대한 허가를 받을필요가 없어 ..
· 아두이노
DC모터는 고전압,고전력으로 동작해서 외부 전원 공급이 필요한 경우가 많다. 또 서보모터는 함수 내에서 각도를 조절했지만 DC모터는 기본적으로 회전이라는 하나의 기능만 수행한다. 이를 전류의 방향을 바꿔줌으로서 역방향,정방향 회전을 가능하게 한다. 이를 위해 모터 드라이버 쉴드를 이요한다. DC모터 제어 상단부터 시계반대방향으로 M1,M2, M3, M4 입니다. 결선도 모터드라이버쉴드 DC모터 M1 (+) (+) M1(-) (-) 쉴드 연결하기 초록색은 초록색끼리, 빨간색은 빨간색끼리 맞물리게 꽂으세요. 드라이버를 이용해 직접 연결합니다. DC모터를 사용하기 위해선 라이브러리가 필요합니다. 실습 : . 문제 : Serial 모니터를 통해 입력한 문자에 따라 멈춤, 정방향,역방향으로 가도록 하세요 ※모터 ..
· 아두이노
서보모터란? 서보모터(Servo Motor)의 Servo는 ‘노예, 추종하다, 따르다’를 의미하는 라틴어의 Servus에서 유래했습니다. 그래서 서보모터는 해당 기기를 시스템이 요구하는 특정 위치로 이동시키거나, 특정 속도 및 토크로 가동시킬 때 정확하게 제어할 수 있는 구조를 갖추고 있죠. 즉, 주인의 명령에 의해 통제는 모터를 '서보 모터'라고 합니다. 서보모터는 로봇팔 , 공장 자동화 등에서 사용됩니다. 실습에 사용할 서보모터 SG-90은 0~180' 까지만 돌아가는 저렴한 서보모터입니다. Servo 모터 제어 펄스 서보모터의 펄스폭은 1ms ~ 2ms 이고 1ms일때 0', 2ms일 때 180'이다. 1.5ms일 때 90'가 되고 정확한 각도는 pulse를 조절해서 설정할 수 있다. 하지만 실제로..
· 아두이노
외부 입력 변화를 인지하고 그 처리를 수행하는 프로그램을 작성할 때 폴링(polling)방식 또는 인터럽트(interrupt)방식으로 작성 폴링 vs 인터럽트 폴링 : 상사 눈치보는중. 10초마다 상사가 뭐하나 확인. 인터럽트 : 상사의자에 센서장착. 상사가 일어나면 알 수 있음 ※인터럽트가 더 좋아보이지만 센서가 비쌀 경우? 상사가 시도 때도 없이 왔다갔다하는 경우? 지금까지 사용한 digitalRead(), ananlogRead() 등의 함수는 폴링방식이었습니다. 이제 외부의 변화를 감지하면 그때만 실행되는 인터럽트에 대해 알아봅시다. 인터럽트 프로그램 실행 중 하드웨어 등이 장치나 내 외부의 어떤 변화에 의한 예외상황이 발생해, 그에 대한 처리가 필요한 경우 기존 프로그램을 일시 정지 후 변화에 대..
기발개발
기발개발