본문 바로가기

전체 글326

WebRTC - 실시간 PC 화면 가져오기 출처 : https://ui.toast.com/weekly-pick/ko_20160812 WebRTC는 웹을 통해 유저 간의 실시간 통신을 가능케 하는 기술이다. 물론 WebRTC 기술을 사용하지 않고도 이미 많은 서비스가 실시간 통신을 지원하고 있다. 하지만 비싼 영상/음성 기술을 사용해야 하고, 사용자는 네이티브 앱이나 플러그인을 설치해야 하는 등의 장벽이 존재한다. 그렇지만 WebRTC는 플러그인이 필요 없는, 실시간의, 영상과 음성, 데이터 통신에 대한 표준과 기술을 제공한다. 영상, 음성, 메시지, 파일까지 중개 서버가 필요 없는 피어간 통신(P2P)을 지원한다. WebRTC Tutorial 조금 더 자세한 WebRTC 소개와 튜토리얼은 아래 페이지들을 참고하면 좋다. WebRTC 공식: htt.. 2022. 2. 9.
[자바스크립트] 마이크 녹음 테스트 원본출처 : https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder 관련소스 깃헙 : https://github.com/mdn/web-dictaphone/ GitHub - mdn/web-dictaphone: A sample MDN app that uses getUserMedia and MediaRecorder API for recording audio snippets, and The A sample MDN app that uses getUserMedia and MediaRecorder API for recording audio snippets, and The Web Audio API for visualizations. - GitHub - mdn/w.. 2022. 2. 9.
[자바스크립트] 마이크 음성 소리 녹음 방법 : MediaRecorder 별도 라이브러리 없이, 자바스크립트만으로 마이크로 입력 받는 오디오를 녹음하는 방법을 정리한다. 대략 아래와 같은 순서로 진행하면 된다. 1. 마이크 소리 입력: MediaStream 2. 입력된 소리 녹음: MediaRecorder 3. 녹음된 소리 재생: Blob, Audio 마이크 음성 녹음의 원리를 알기 위해서는 MediaStream, MediaRecorder, Blob 등에 대해 알아두면 좋다. ▼이에 대해서는 아래 글을 참고하자.▼ 자바스크립트 Media Capture and Streams API: MediaStream, MediaStreamTrack 자바스트립트 Media Stream Recording API: MediaRecorder 자바스크립트 File API 파헤치기: Blob, Fil.. 2022. 2. 9.
매니지먼트 차원에서 실무자에게 일을 던질 때, 심사숙고해야 할 몇가지 대표나 매니저는 직원들의 열정을 강조하고, 실무자는 열정 또는 최소한의 의지가 필요한 것은 맞다.(좀 더 정확히는, "의지를 발동시킨다"는 의미는, 이미 그 업무는 수동적인 태세하에 진행될 것이고, 결국 기획의 궤도를 이탈할 확률이 높다는 뜻이기도 하지만) 다만 매니지먼트 차원에서 실무자에게 일을 던질 때, 심사숙고해야 할 몇가지가 있다. 1. 리소스 대비 업무량 및 난도의 타당성 (또는 정반대) 직원의 역량에 맞는 업무 양과 난도를 지정해야한다. 여기서 역량이라함은 테크닉은 물론 성장에 대한 욕구를 포함한다. 리오넬메시는 좋은 축구 선수이지만 90~120분을 지나거나 골키퍼라는 포지션을 맡기면 효율이 떨어진다. (본인이 골키퍼에 대한 욕심으로 성장할 것이 아니라면) 그래서 이런 말이 있지 않은가. "인.. 2022. 1. 26.
[MYSQL] 다중테이블 JOIN문 쓰기 여러개의 테이블을 검색하여 join을 해야 할 때가 있는데, 규칙만 잘 맞추면 조인문을 여러개 사용해도 된다. SELECT * from table1 as A LEFT JOIN table2 as B ON B.idx = A.idx LEFT JOIN table2 as C ON C.idx = A.idx WHERE A.idx = 1 과 같은 방식으로 조인문을 계속해서 사용을 하면 된다. 다중으로 데이터를 전부 다 원한다면 조인으로 붙여도 되고, 특정 컬럼만 필요하다 싶으면 SELECT * ,(SELECT name from table2 as B where B.idx=A.idx) ,(SELECT nick from table3 as C where C.idx=A.idx) from table1 as A WHERE A.id.. 2022. 1. 13.
엑셀에서 insert쿼리문(query)문 만들기 엑셀 데이터를 DB에 집어넣기 위한 자료 만들어보는 방법이다. 먼저 테이블 구조를 살펴보자. 네이버지식인에서 문의한 테이블 구조를 가지고 작성한다. CREATE TABLE IF NOT EXISTS `test` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `id` varchar(20) NOT NULL, `count` int(11) NOT NULL, `state` varchar(10) NOT NULL, PRIMARY KEY (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; 테이블에 데이터를 Insert 하는 쿼리문을 작성한다. INSERT INTO test (id, count, state) VALUES ('test1.. 2022. 1. 6.
[C++] 윈도우에서 GetWindowRect, GetCllientRect를 통해 크기 얻기 Window의 컨트롤이나 핸들러의 크기나 위치를 관리하기 위한 API를 살펴보겠다. 일단 컨트롤의 위치 값을 얻는 API는 두 가지가 있다. GetWindowRect와 GetClientRect이다. GetWindowRect: 윈도우 화면 좌표 값으로 위치 정보 반환한다. GetClientRect: 윈도우 클라이언트 영역에서의 좌표값 반환한다. 일단 윈도우의 좌표 표시는 일반적으로 사용하는 수학의 좌표와는 조금 틀리다. 수학에서 X, Y축의 증가하는 값는 각각 오른쪽과 위쪽이다. 그러나 윈도우에서는 Y축의 방향이 반대인 아래로 향한다. 그렇기에 Y축의 값을 계산할 때 주의를 요한다. 다음으로는 화면 좌표간의 변환를 사용하는 API를 보겠다. ScreenToClient와 ClientToScreen 함수이다... 2021. 12. 14.
[C#] 윈도우 좌표 Please note that this does NOT work properly with Windows Vista Aero (this includes Windows 10), and reports faulty values. This is largely due to Aero incorporating additional invisible borders which are used to "resize" the window using the cursor. In this instance, the developer should look into using DwmGetWindowAttribute (dwmapi.dll) with DWMWA_EXTENDED_FRAME_BOUNDS. For .NET CF you may nee.. 2021. 12. 14.
[C#] user32.dll API 함수 프로젝트 준비중 user32.dll를 사용해야 할 필요가 생겼다, 그리고 준비하는 동안 사용했던 user32.dll api 함수들을 정리해본다. using System.Runtime.InteropServices; 추가해주고, 시작하자 추가하는 이유는 dllimport를 하기위함이다. 윈도우 창 찾아주는 API - Findwindow를 이용해 찾은 handle을 활용해서 하위 classname 을 검색하는 API 함수 이다. 부모 -> 자식 순서로 찾아야하며 자식 중에 찾지 못하는 경우도 있으니 이럴 땐 당황하지말고 우회 방법을 찾아보도록 하는게 낫다. [DllImport("user32.dll")] public static extern int FindWindow(string lpClassName, stri.. 2021. 12. 14.
[C#] listview(리스트뷰)의 Row높이를 조절 리스트뷰의 타이틀과 row의 높이는 font의 크기에 따라 영향을 받는다. 타이틀의 폰트를 작게하고 Row의 높이를 별도로 조절하고 싶은경우 아래코드를 참고하자. public void Form_Telephone_Load(object sender, EventArgs e) { //글자의 폰트는 알아서 정하고 lvi = new ListViewItem(); lvi.Font = new Font("굴림", 14); lvi.SubItems.Add(iName); ... listView1.Items.Add(lvi); //Row의 높이를 높이기위해 ImageList를 삽입 SetHeight(listView1, 25); } private void SetHeight(ListView listView, int height) { .. 2021. 12. 4.