목록Advanced (22)
Written by coh at home
View에서 DTO로 데이터를 넘기거나 Parameter로 넘길 때 Controller에서 String 타입으로 받게 된다.그래서 개인적으로 나는 View에서는 DTO를 쓰고 해당 DTO를 Entity로 만드는 것이 좋다. 오늘 할 주제는 넘어온 String 데이터를 LocalDateTime / LocalDate 형식으로 바꾸는 방법이다.DTO에 넘어오는 캘린더 값은 "2024-05-25" 형식의 데이터가 넘어오게 된다.String -> LocalDateTimepublic static ProductOrder toEntity(OrderDTO orderDTO, Member member, ShopProduct shopProduct, ShopConnection shopConnection) { Dat..
Process vs Programprogram : 실행할 수 있는 명령어의 집합. 메모리에 올라가지 않은 상태.process : 메모리에 올라간 프로그램.ThreadProcess에서 실행의 단위.예를 들어 노션에서 글씨를 칠 때 다음과 같은 3가지 스레드가 동시에 돌아간다.I/O를 감지하는 쓰레드모니터에 출력하는 스레드문법을 검사하는 스레드OS컴퓨터는 계산기다. 컴퓨터는 하드웨어와 소프트웨어로 나뉘는데 소프트웨어에서는 크게 운영체제와 그 위에서 동작하는 애플리케이션으로 나눌 수 있다.운영체제운영체제는 간단하게 커널, 시스템콜, 드라이버로 이루어져 있다. 시스템콜은 통로라고 볼 수 있다. 사용자가 자원에 직접 접근하는 것을 막고 해당 API를 통해 접근하게 함으로서 컴퓨터 자원을 보호한다.도커란?컨테이너라..
spring은 크게 3가지 방법이 있고 주로 쓰는 방법은 두 가지이다. 첫번째는 정적컨텐츠를 사용, html을 그냥 화면에 뿌려주는 것이고 두번째는 MVC를 이용 Controller에서 Model에 화면에 필요한 정보를 담고 템플릿엔진이 View를 화면에 뿌려주는 방법이 있다. 세번째는 API 방법으로 View를 거치지 않고 그냥 json을 만드는 방법이다. 이때 @ResponseBody를 사용하여 http 바디 부분에 데이터를 직접 넣어주는 형식이다. API방식은 ~/hello-api -> 내장톰켓서버가 스프링에 던짐 -> 컨트롤러에서 @hello-api 발견 -> @ResponseBody 발견 -> http body에 그대로 넘김. (여기서 MVC와 차이가 발생함 MVC는 model에 데이터 담고 r..
스프링 하다가 발생한 에러이다. lsof -itcp | grep 8080으로 process id 파악한 후 kill -9 해당PID 하면 된다. // -9는 강제종료 옵션이다. lsof 는 현재 열려있는 파일 목록들을 보여주는데 그 중 listening socket 목록을 확인하는 -itcp 옵션을 붙인다.

Face detection, Object detection, Hand classification. face detection 과 object detection은 yolo2 모델을 사용 line tracking은 hough transform을 이용한다. (ROI를 가져오고 gray scale, blur, canny edge, hough transform을 적용) hand classification은 classifier를 이용해 모델을 하나 만들고 이용한다. 그중에서도 나는 hand classifier를 통한 가위바위보 제스쳐 인식 project를 진행했다. 모델을 학습시키기 위한 데이터를 얻기 위해 https://teachablemachine.withgoogle.com/train/image 에서 가위바위보..

K210 chip의 storage구조를 살펴보자 0 ~ 0x300000 까지는 기본적인 firmware 데이터로 ADC, PWM, Timer, LCD 등등의 기능이 들어있다. ~0xD00000까지는 딥러닝 모델을 넣을 수 있는 공간 ~0xffffff 까지는 custom memory로 컴퓨터로 따지면 heap 영역으로 생각하면 될거 같다. 여기까지가 flash 메모리로 non-volitile 하다. 이후 딥러닝 모델을 삽입하는 방법은 k-flash를 사용하여 이루어진다. 이미 만들어진 딥러닝 모델을 임베디드 시스템에 올려서 실습해보자. 1. Mnist import sensor,lcd,image import KPU as kpu lcd.init() sensor.reset() sensor.set_pixforma..

import sensor, image, time, lcd lcd.init(freq=15000000) sensor.reset() # Reset and initialize the sensor. It will # run automatically, call sensor.run(0) to stop sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE) sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240) sensor.skip_frames(time = 2000) # Wait for settings take effect. clock = time.clock() #..

우리는 디지털 디바이스인데.. 아날로그 데이터 출력은 어떻게 할 수 있을까? 바로 PWN(pulse width modulation)을 통해서 할 수 있다. 음.. duty cycle을 이용하여 우리는 출력의 세기를 결정할 수 있다. 입력도 우리는 analog data를 ADC를 통해 12bit 해상도로 입력받았다. 마찬가지로 출력도 digital로 출력하는데 PWM을 통해 아날로그와 비슷하게 출력하는 것이다. 아두이노는 PWM출력 핀이 정해져있지만 Maixduino는 PWM핀으로 모두 사용가능하다. (ADC핀 제외) LED밝기를 조절하는 코드이다. 보면 frequency = 5 * 10^5 이다. T = 1 / freq이므로 (1 * 10^6) / (5 * 10^5) = 2us이다. PWM의 밝기 조절은..