분류 전체보기 79

[MFC/VISION] 최소자승법으로 선 그리기(feat.C++)

visual Studio 2015 - MFC/C++ MIL 라이브러리를 사용해서 작성한 코드 일부분을 가져왔습니다. 카메라로 찍은 영상을 버퍼에 올리고(흑백), 해당 픽셀의 좌우 2개, 즉, 5 픽셀 값의 평균값을 계산해서 다시 버퍼를 셋팅합니다. (평균값을 사용하는 이유는 중간에 픽셀값이 튀거나 어두운 픽셀이 있다면 정확한 라인을 찾기 힘들기 때문입니다.) 해당 픽셀 좌우를 비교하여 일정값 이상이면 그 좌표를 저장하는 방식으로 모든 좌표를 저장합니다. 최소자승법에 사용할 좌표를 얻었으니 이제 선을 찾아봅시다! 최소자승법 식 구현 위 식을 그대로 구현하기만 하면 됩니다! (....?) 일단 변수 선언 부터 //최소자승법 - 직선 시작 - 모두 double double sigma_Lx, sigma_Ly, ..

MFC 2022.09.27

[GCP] Coturn 서버 만들기 - 2

이전 글에서 GCP에서 인스턴스를 만들고 포트를 여는 것 까지 진행했습니다. https://firstws.tistory.com/17 [GCP] Coturn 서버 만들기 - 1 Google Cloud Platform(GCP)에 새 인스턴스를 생성하여 COTURN 서버를 만들어보겠습니다. (저도 처음이라 일단 도메인, SSL인증서 발급등은 생략하겠습니다.) 1. GCP 콘솔 → Compute Engine → VM 인스턴스 → 인. firstws.tistory.com Coturn서버를 만드는데 도메인, SSL이 필요하다는 글과 전혀 안쓰고 서버를 구축하는 글이 있어서 혼란스러웠으나 저는 회사에서 도메인을 제공해줬고, 그 도메인으로 무료 SSL을 따와서 진행했습니다. 도메인, 무료 SSL 인증서를 발급받는 방법..

AWS & GCP 2022.09.26

[C# / Unity] Unity의 'Quaternion.Euler' C# 코드로 만들기

IMU센서에서 출력되는 쿼터니언 값을 Euler_Angle, 즉, 우리가 흔히 접하는 각도로 나타내기 위한 여러가지 방법이 있지만, 저는 Unity에서 작업한 코드 → 다른언어로 변환 할 수 있도록 1차적으로 C# 코드로 구현하려고 했습니다.(구글링으로도 찾기 힘들더라구요...) 1. Unity의 Quaternion 구조체 → Class로 작성 Quaternion a_quat = new Quaternion(x, y, z, w);// Unity clsQuat b_quat = new clsQuat(w, x, y, z); clsQuat 는 4개의 float값을 저장하는 간단한 클래스입니다. ★ x, y, z, w 순서 주의해 주세요! 2. 쿼터니언 → 라디안 → Degree protected static cl..

C# & Unity 2022.09.23

[GCP] Coturn 서버 만들기 - 1

Google Cloud Platform(GCP)에 새 인스턴스를 생성하여 COTURN 서버를 만들어보겠습니다. (저도 처음이라 일단 도메인, SSL인증서 발급등은 생략하겠습니다.) 1. GCP 콘솔 → Compute Engine → VM 인스턴스 → 인스턴스 만들기 클릭! 테스트용이므로 머신 구성 → 시리즈(N1) → 머신 유형(f1-micro) 로 설정하였습니다. 방화벽에서 'HTTP 트래픽 허용', 'HTTPS 트래픽 허용' 체크 후 '만들기 버튼 클릭 새 인스턴스가 생성됩니다. 2. 네트워크 방화벽 설정하기 참조(https://burning-dba.tistory.com/125) (1) VPC 네트워크 → 방화벽 → 방화벽 규칙 만들기 (2) 규칙 설정하기. 방화벽 이름과 네트워크 설정(default..

AWS & GCP 2022.09.19

[springboot] 파일 다운로드 구현할 때, 메모리 잡히는 것 해결 방법!!

상황 byte[] totalByte = Files.readAllBytes(Paths.get(resourceMasterEntity.getPath())); .... BufferedOutputStream outStream = new BufferedOutputStream(response.getOutputStream()); .... outStream.write(totalByte); 파일을 byte로 저장한 뒤, response로 보내려는 목적으로 작성했고 실제로 작동을 했으나 서버가 터졌습니다......ㅠㅠ 이유를 알아보고자 해당 API가 동작할 때 서버 cpu와 메모리를 관찰했습니다. .......?!?! 실제로 CPU 사용량의 %가 100을 훌쩍 넘겼으며 CPU 사용량이 비정상적일 때 나타나는 Controll..

[IntelliJ] 인텔리제이 주석 안됨 현상 해결 방법!("/", "¿")

IntelliJ를 사용하다 보면 주석이 안되는 경우가 발생합니다. (주석 단축키가 잘 되다가 Unity, vsc에서 작업 좀 하다오니 안되더라구요...) 일단 크게 두가지 방법이 있습니다. 1. "한/영" 키를 누른다. 임시방편입니다. 다른 작업에서 "한/영" 변환키가 엉켜있을 경우 주석 할 때마다 변환해줘야합니다. 2. 윈도우 한글입력방법 전환 !! 윈도우 오른쪽 하단에 보시면 "한" 이라는 아이콘 클릭 후 "한국어 - Microsoft 입력기" 를 클릭하면 해결!!

Java 2022.09.13

[JPA&SQL] QueryDSL - 적용하기

build.gradle /* * queryDSL 설정 추가 */ // querydsl에서 사용할 경로 설정 def querydslDir = "$buildDir/generated/querydsl" // JPA 사용 여부와 사용할 경로를 설정 querydsl { jpa = true querydslSourcesDir = querydslDir } // build 시 사용할 sourceSet 추가 sourceSets { main.java.srcDir querydslDir } // querydsl 컴파일시 사용할 옵션 설정 compileQuerydsl{ options.annotationProcessorPath = configurations.querydsl } // querydsl 이 compileClassPath ..

JPA & SQL 2022.08.10

[Java] StringUtils.hasText, isEmpty, isBlank 비교하기

개발할 때 String 값이 null, "", whitespace 인지 체크해야할 경우가 있습니다. Java에서는 위와 같은 값들을 걸러내는 여러가지 방법이 있지만 위 3개를 가장 많이들 찾아보고 사용해오셨을거라고 생각합니다. 그렇다면 위 3개는 어떤 차이점이 있을까?? 간단하게 정리하자면, isEmpty → "", null, whitespace 체크! → 3개중 해당사항이 있다면 return true. isBlank → "", null 체크! → 2개중 해당사항이 있다면 return true. hasText → "", null, whitespace 체크! → 3개중 해당사항이 있다면 return true. ('그럼 isEmpty나 hasText를 사용하면 되겠군..!') 위 예제를 보면, 나머지 케이스..

Java 2022.08.05

[JPA/SQL] 현재 시간과 비교해서 데이터 가져오기

목표 : 현재시간 기준으로 일정시간이 안에 생성된 데이터 찾기 아래 DB에서 현재 시간과 비교해 조건에 맞는 데이터를 가져오는 쿼리를 만든 후 JPA로 변환 하고자 합니다! (MySQL Workbench, MariaDB 사용했습니다.) 처음 만드는 쿼리라 만드는데에 시간을 좀 썼습니다... select * from 테이블명 WHERE date(date_created) >= date(subdate(now(), INTERVAL 1 MINUTE)) And date(date_created) DAY, HOUR 등등 대체 가능) 참조 블로그 : https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=fromyongsik&logNo=40122605914 My..

JPA & SQL 2022.07.20