Computer/C, CPP, MFC

CRegKey/SetValue 바꾸자

디자인변환 프로그램을 만들일이 있어서 오랜만에 C++를 만지작 만지작 하던 중, 레지스트리에 저장된 값을 불러오고, 저장할 일이 생겼다. 그래서 생각없이, 예전에 많이 사용하던 그때 그 코드로 사용했다. 저장할때, SetValue를... CRegKey RegKey; RegKey.Create(HKEY_CURRENT_USER, "블라블라"); RegKey.SetValue(nConversionEnabled, "이거블라블라"); RegKey.Close(); 그리고 빌드. 빌드. 빌드... 으움? 왜!!!!!!!! C4996이 뜨냐고!!!!! 그랬다. 또, 무언인가 고전틱한 고전고전의 느낌이라 취약점이 있겠지. 오버플로우가 생길수 있을려나... 바로 검색! 뚜뚱! 해당함수는 QueryValueEx , Setval..
Computer/ETC

CAN 통신 이해하기

CAN 통신 프로토콜CAN 메시지에 있는 식별자(ID)의 길이에 따라표준 CAN : 11비트 식별자 (2.0A)확장 CAN : 29비트 식별자 (2.0B) CAN 메시지 구조CAN에서는 데이터 프레임(data frame), 리모트 프레임(remote frame), 에러 프레임(error frame), 오버로드 프레임(overload frame)의 4가지 프레임 타입을 정의하고 있습니다. 데이터 프레임은 일반적으로 데이터 전송에 사용되며, 리모트 프레임은 수신할 노드에서 원하는 메시지를 전송할 수 있는 송신 노드에게 전송을 요청할 때 사용됩니다. 에러 프레임은 메시지의 에러가 감지되었을 때 시스템에 알릴 목적으로 사용됩니다. 마지막으로 오버로드 프레임은 메시지의 동기화를 목적으로 사용됩니다.CAN 통신에서..
Computer/ETC

CAN (Controller Area Network) 정리!

CAN CAN 통신(Controller Area Network)은 차량 내에서 호스트 컴퓨터 없이 마이크로 콘트롤러나 장치들이 서로 통신하기 위해 설계된 표준 통신 규격이다. CAN 통신은 메시지 기반 프로토콜이며 최근에는 차량 뿐만 아니라 산업용 자동화기기나 의료용 장비에서도 종종 사용되고 있다. Controller Area Network (CAN)은 각 제어기들 간의 통신을 위해 주로 사용되는 non-host bus 방식의 메시지 기반 네트워크 프로토콜이다. 1983년 최초로 Bosch社에 의해 개발되었고, 1986년 공식적으로 소개된 이래, 현재 생산되는 대부분의 자동차에서 사용되고 있으며, 기타 다양한 분야에서도 적용이 되고 있다. CAN 통신은 로버트 보쉬사에서 1983년부터 개발에 착수해 19..
Computer/C#

마우스 좌표 가져오기

스크린 기준 마우스 좌표 int X; int Y; // X 변수에 마우스 X 좌표 (스크린 기준) 대입 X = Control.MousePosition.X; // Y변수에 마우스 Y 좌표 (스크린 기준) 대입 Y = Control.MousePosition.Y; 특정 컨트롤 기준, 마우스 좌표 // 컨트롤 기준으로 마우스 좌표를 반환 PointToClient(new Point(Control.MousePosition.X, Control.MousePosition.Y));
Computer/WEB, PHP-JAVA-Script

웹소켓으로 전송할 수 있는 데이터 종류

웹소켓 프로토콜은 텍스트와 바이너리 데이터를 지원합니다. 자바스크립트에서 바이너리 데이터는 ArrayBuffer와 Blob 클래스로 표시되고, 텍스트는 문자열로 표시된다. 일반 텍스트와 바이너리 포멧을 사용하면, 거의 모든 유형의 HTML5 미디어를 전송/ 디코딩할 수 있다. 웹소켓은 한 번에 하나의 바이너리 포멧만을 지원하며, 아래와 같이 반드시 명시적으로 선언해야 한다. socket.binaryType ="arraybuffer"; 또는 socket.binaryType = "blob" 문자열 OnMessage 이벤트가 발생할 때 마다 클라이언트가 데이터 타입을 확인하고 동작. 자바스크립트에서 동등 연산자(===)를 사용해 데이터 타입의 문자열인지 여부를 쉽게 판단가능. socket.OnMessage =..
Computer/WebDesign, Animation

배경이미지 쉽게 지우기!! 무려 인공지능 (누끼작업)

오랜만이다. 일단 여기다! (솔직히 아래글들은 볼 필요가 없다.) 너무 솔직했어..https://www.remove.bg/ (바로가기) 지금까지 포토샵을 열어서 파일 하나하나 선을 따라가며 배경이미지를 지우던 시기는 지나갔다. 아주 쉽게 5초면 이미지에서 배경은 사라지는 원하는 이미지만 남는 작업이 가능하다. 쉽고 빠르고 깨끗하게 누끼작업이 가능한것이다. 이제 사이트에 들어가보자.! https://www.remove.bg/ (바로가기) 쉽다.! 빠르다.! 쉽게 배경을 제거하고싶은 이미지만 업로드하면 5초안에 자동으로 배경이 제거되고 파일을 다운로드 또는 공유할수 있는 버튼이 보인다. 단점이라면,배경이 선명하거나(블러처리가 안되어 있음) 여러가지 아이템들이 보이는 배경이면 배경제거가 깨끗하게 되지는 않았다..
Computer/Image processing

Converting Image

### Mat -> System.Drawing.Bitmap ### Mat mat = new Mat("foobar.jpg", ImreadModes.Color); Bitmap bitmap = OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat); ### System.Drawing.Bitmap -> Mat ### Bitmap bitmap = new Bitmap("foobar.jpg"); Mat mat = OpenCvSharp.Extensions.BitmapConverter.ToMat(bitmap); ### Mat -> byte[] ### Mat mat = new Mat("foobar.jpg", ImreadModes.Color); byte[] bytes1 = mat.To..
Computer/ETC

장치관리자에서 디바이스 이름 변경하기

컴퓨터를 사용하다보면 동일한 디바이스를 사용할때가 있다.그럴때! 장치관리자에서 동일하게 이름이 뜬다면, 당황스러울것이다. 자 그럼 장치관리자를 불러볼까?윈도우10은 돋보기에서 'devmgmt.msc' 윈도우8이하는 실행에서 'devmgmt.msc' 실행시키면 물론, 내컴퓨터-시스템으로 들어가서 장치관리자로 들어가도된다. 그럼 장치관리자 윈도우가 나타나면서, 연결된 디바이스를 볼수 있다. Razer Kiyo를 사용하는데, 같은 이름으로 나타나니 설정하기도 애매하고 On/Off 하기도 힘들다. 그래서!장치관리자에서 디바이스 이름 변경하기. 해보자. 1. 해당 디바이스에서 오른쪽마우스 클릭 후, [속성] 2. [속성]에서 [자세히] 탭으로 들어가서 '드라이버 키'를 눌러 '값'을 확인한다.3. 그리고 복사! ..
Computer/C#

Higherbit, Lowbit 합치기

비트 합치기 모드버스 값 받아올때, 조금 빠르게 하고 싶어서 만듬. 다음에 그냥 복사해서 써야지! public int modbusMake32(ushort Higherbit, ushort Lowbit) { int result = Higherbit; result = (result
EIGHTBOX
EIGHTBOX
hwaya.

programmer

🍋일상의 소소한 순간들부터 큰 꿈까지, 호기심을 만족시킬 다양한 카테고리를 담은 블로그 입니다. 그리고, 소소한 행동에 감동하며 기뻐하고 하루하루에 감사하는 사람🌵

Today Yesterday Total
최신글