목록Programming (41)
ㄷㅣㅆㅣ's Amusement
아무리 WebRTC가 P2P VoIP를 할 수 있도록 해준다해도, 클라이언트에서 Audio Session관리와 계정 및 컨텐츠를 위한 RestApi호출은 필수다. 그리고 사용자가 원하는 Peer를 지정하기 위해서는 Signal Server가 있어야 하는데, 서버에서는 계정관리를 통해 NearEnd와 FarEnd를 이어주도록 한다. 해당 사항을 도식화하면 다음과 같다. WebRTC를 사용하면 VoIP를 쉽고 빠르게 구현할 수 있는데, Example들을 살펴보면 길어도 하루 안에는 어느정도 구축할 수 있고, 1:1 통화를 위해 서버의 계정관리와 Signalling까지 한다해도 3일이면 충분하다. (퇴근하고 이것저것 놀면서 하는 기준) 해당 예제들은 앞으로 연재하고 리뷰할 계획이다.
개발하다 보면 "당연히 이러하겠지"라고 생각했다가 낭패를 보는 경우가있다.오늘도 낭패를 봤기 때문에 하나씩 정리해 나가기로 하였다. - getter/setter, subscript, property wrapper에서의 get/set. 12345678910111213141516171819201. get/setstruct Getset { private var _value = 0 var value: Int { get { print("get") return _value } set { print("set") _value = newValue } }}var getset = Getset()getset.value = 10 // ----------// setcs당연히도 위의 코드의 결과는 set한번 찍히는 것이 전부다. ..
WWDC 2018Summary 올해 WWDC에는 그 누구보다 Coder에게 집중한 해라고 생각된다.http://www.apple.com 으로 접속해보면, 정확히 Coder라고 적혀있다. 한국에서 코더라고 칭하면 뭔가 비하하는거 아니냐고 그러던데, 잘 생각해보면 코딩할줄 아는 사람이 생각보다 드물고 더 인정받는다... (한글 안다고해서 다 소설 쓸 수 있는것은 아니다. 쓴다고해도 잘써야하고.)신제품 공개의 장이었던 다른 해와는 달리, 2018년에는 오직 신규 OS (iOS, tvOS, watchOS)만을 다루었고, 특히 Siri Shortcut, CreateML등은 "AI는 우리가 할테니 너희는 서비스 개발에 집중하거라"하는 메시지를 보내는 듯 하였고, 그로 인해 iOS에서는 할 수 없었던 많은 것들이 가..
AVSArchitecture of Alexa Voice Service Audio Signal ProcessorThird Party Module - Acoustic Echo Canceler, Beam Foaming, Vocie Activity Detection, Dynamic Range Compression 등 오디오 처리를 위한 처리. Shared Data StreamRing buffer (Circular Buffer)로 구성되어 하나의 음성 입력을 여러 출력으로 내보낼 수 있도록 설계됨.버퍼의 형태는 Android AudioFlinger HAL 의 방식과 비슷하지만 multi read가 추가지원되는 것으로 예상됨. Key Word DetectionSensory의 truely hands free - tr..
How to convert from void* to char* I had to use f**king idiot library which is written by C++ in Swift project. That library use void* for call back function to return.(There are so many call back event, but that library use only one function pointer (returning void*) like above.) 12typedef void (* ANY_CB)(void *);void registerListener(ANY_CB *cbs, ANY_CB cb, ANY_EVENT event);cs And I faced to p..
Private git repository in carthage. If you add 'private git' to Cartfile, You can see the error above.1234DCs-OfficePC:temp childc$ carthage update*** Cloning TempProjectA shell task (/usr/bin/env git clone --bare --quiet https://@/.git /Users/) failed with exit code 128:fatal: could not read Password for 'https://@': terminal prompts disabledColored by Color Scriptercs This error, "failed with ..
목차2017/04/13 - [Programming/React] - [React] Node.js + React -- 1. 초간단 프로젝트 만들기2017/04/13 - [Programming/React] - [React] Node.js + React -- 2. 개발환경 구축 포스팅 1,2를 하는데에 30분이 채 걸리지 않았으리라 믿어 의심치 않는다.일단 환경까지 구축했으니... 디폴트 뷰 말고 react를 이용해서 멋드러진(물론 비교대상은 디폴트뷰)를 만들어보자. 그럼 한시간쯤 될듯? 1. react-router- routing은 문자 그대로 path를 설정해주는 것이다. 예를들어 ("localhost:3000/", "localhost:3000/about", "localhost:3000/404"등 주소에따라..
목차2017/04/13 - [Programming/React] - [React] Node.js + React -- 1. 초간단 프로젝트 만들기 이전 포스팅만으로 React를 이용한 front end 개발을 하기위한 준비는 모두 마쳤다.(Raspberry pi에 설치한 것만 아니라면 대략 5분쯤 걸렸으려나... 아참, raspberry pi에서 Node.js를 설치하는 방법은 부록으로 나중에 포스팅 해야겠다.) $ npm startcs- 이 커맨드를 날리면, dev향 서버를 띄우게 되는데, 우리가 전에 봤던.. 그 원자력(?)모양의 아이콘이 돌돌 돌아가는 기본 페이지가 뜬다.- express(express도 node 앱을 만들어준다. 물론 주된 사용은 라우팅)를 사용했다면 "Welcome to Expres..
React를 처음 공부할 때에는 Rails에서 했으나, 요즘 트렌드가 Node (Node.js)이고 앞으로도 계속 그러할 것이므로... Node.js도 공부하면서 다시 포스팅을 시작한다. (구글 형님들의 V8엔진은 역시 후덜덜) (React가 무엇인지 궁금하다면 클릭!!) 일단 놀라운 것은, Node.js에서 React를 돌리게끔 하는것은 Rails의 그것보다 만배는 더 쉽다는 것이었다!!(개인차가 있을 수 있으나, 대부분 Ruby보다 JavaScript가 더 친숙할 것이라는 가정 하에...)(물논 나에게 React를 가르쳐줬던 사수는 Ruby on Rails의 절대고수였었다.) 1. Node.js 설치 - 공식 URL : https://nodejs.org/ko/ - 이 포스트에서 쓰는 버전 : Mac ..
GlideModelLoader & DataFetcher 2016/11/02 - [프로그래밍/Android] - [Android/Java] Glide, An Image Loader. -- 1. Overview2016/12/09 - [프로그래밍/Android] - [Android/Java] Glide, source analysis. -- 2. Flow2016/12/19 - [프로그래밍/Android] - [Android/Java] Glide, source analysis. -- 3. EngineJob & DecodeJob 앞서 3장에서 봤던 DecodeJob은 rungenerator()에서 다음과 같은 이유/단계로 동작했다.12345678910111213141516171819202122232425262728..