본문 바로가기

전체 글

(104)
WearOS development - ADB Galaxy watch 4는 usb debugging이 불가능하다. 직접 physical하게 PC와 연결이 불가능하기 때문이다. 때문에 와이파이나 블루투스를 통해서 debugging을 할 수 있고 이때, 우리는 ADB를 쓸 수 밖에 없게 된다. ADB는 Android Debug Bridge의 줄임말로, pc에서 안드로이드 기기와 통신할 수 있는 다목적 명령줄 도구로 이해하면 된다. 이를 이용해 mac에서 terminal command line을 통해 기기와 통신을 하고 안드로이드 스튜디오에서 build할 수 있게 된다. 삼성 갤럭시 워치에서 설정에서 소프트웨어 버전을 찾아 7번 클릭하여 개발자모드를 활성화해주게 되면, 개발자모드에서 Adb Debugging을 활성화할 수 있다. Adb debugging을..
WearOS development - Samsung Galaxy Watch 4 REF: https://developer.android.com/training/wearables Wear OS 개요 | Android 개발자 | Android Developers Wear OS 개요 Wear OS by Google을 사용하면 사용자가 연결을 유지한 상태로 작업을 수행하고 자신을 표현할 수 있는 앱을 작성할 수 있습니다. Wear OS는 Android를 기반으로 하며 손목에 최적화되었습니 developer.android.com WearOS는 Android 베이스의 스마트워치 앱 개발 플랫폼이다. 모바일 앱의 Android 어플리케이션을 전부 migration하는 것 보다는 중요한 작업을 Wear OS 인터페이스 위에 올려 집중하는 것이 좋다. 다양한 Design Surface가 존재하며 적..
소나를 활용한 다양한 인터랙션 연구 Unleashing the Power of Active Sonar - Rajalakshmi Nandakumar and Shyamnath Gollakota Sonar를 이용한 인터랙션 연구의 장점 - Sonar는 inaudible sound, 따라서 audio 센서를 사용한다. 이 때, mic와 speaker은 어느 device에서나 장착되어 있기에 쉽게 적용이 가능하다. - Sound는 air에서 약 340m/s로 48KHz의 sampling rate로 인터랙션을 했을 때 대략 7mm의 resolution을 제공할 수 있다.(FingerIO) 이는 RF-based radar solution에 비해 훨씬 high resolution을 가지게 된다. - Various Sensor 필요없이 contactles..
[책 리뷰] Clean Code _ 완벽한 코드 작성을 위한 클린 코드 1. 의미 있는 이름 - 의도가 분명하게 이름을 지어야 한다. (변수, 함수, 클래스 이름 모두 존재 이유와, 수행 기능, 사용 방법까지 나타내어야 한다) - 그릇된 정보를 피해라. - 의미있게 이름을 구분해라. - 발음하기 쉬운 이름을 사용해라. - 클래스의 이름은 명사나 명사구가 적합하다. - 메소드의 이름은 동사나 동사구가 적합하다. - 개념하나에 단어 하나를 쓸 것. (controller, manager / fetch, get, retrieve)같은 무분별한 이름 사용은 혼동을 준다. 2. 함수 - 작게 만들어라 - 더 작게 만들어라 (블록과 들여쓰기에 들어가는 블록은 한 줄이어야 한다.) - 함수는 한 가지만 해야한다. - 서술적인 이름을 사용하라. - 이상적인 함수 인수 개수는 0개이다. 3개..
Google tts 음원파일 추출(extract voice) 방법 Text to Speech 음원파일을 추출해야 할 일이 있었는데, Google TTS 서비스가 가장 좋은 퀄리티를 제공해주고 있었다. 하지만 음원파일을 제공받기 위해서는 돈을 내고 api를 이용해야 했는데... 옳지 않은 방법이지만 사이트를 해킹하여 들려주는 음원파일을 추출해보았다. 1. https://cloud.google.com/text-to-speech 방문 2. Text-to-Speech 활용에 원하는 영어 문장 채우기. 3. 개발자모드 (F12) 열고 Network 켜기. 4. Speak It 버튼 클릭하기. 5. 목록 중에 유난히 사이즈가 MB단위로 로 큰 아이의 Name을 클릭해준다. 6. Response에 들어가 해당 audioContent에 있는 LINEAR16으로 인코딩되어있는 오디오파..
[JAVA / 안드로이드] 데이터 입출력 및 전송 1. Stream (스트림) 데이터의 흐름을 의미하여 자바프로그램은 입력장치로 부터 InputStream을 읽어들이고, 출력장치로 OutputStream을 내보낸다. 2. File 생성 java.io.File을 import하여 사용 File foo = new File("foo.txt") -> 파일 불러오기 파일이 없을 경우에는 foo.createNewFile(); 을 통해 실제로 생성 가능. 폴더의 경우에는 foo.mkdir(); 삭제는 간단히 foo.delete(); 3. File 문자데이터 읽고 쓰기, read and write FileReader("문자열") 혹은 FileReader(File 객체)를 통해 FileReader object를 생성 후(FileWriter도 마찬가지), read() 혹은..
Pytorch 01. 파이토치 시작하기. 이 포스팅은 순수 개인 연구 목적으로 처음 딥러닝을 사용하며 정리용으로 작성되었습니다. 1. Pytorch 설치 #ANACONDA conda install pytorch torchvision -c pytorch #PIP pip3 install torch torchvision 2. 텐서(Tensor) numpy의 ndarray와 같은 자료구조라고 생각하면 됨. 이는 자동미분에 최적화되어있음. #array data 바로 tensor화 data = [[1, 2],[3, 4]] x_data = torch.tensor(data) #numpy의 tensor화 #이 때 서로의 값을 참조하고 있기 때문에 변경사항이 서로 반영됨 np_array = np.array(data) x_tensor = torch.from_num..
AWS 01. 계정 생성, 루트(root)와 아이엠(IAM) 유저. 아마존을 사용하다보니 계정 생성부터 정책(Policy)까지 꽤나 복잡해서 정리용으로 작성. AWS 서비스를 이용하기 위해서는 결국 AWS에서 제공하는 API를 사용하게 됨. 이 때 접근을 위해서는 자격 증명(Credential)을 해야 하며, 이를 위해서 Access Key , Secret Key와 같은 것을 제출하게 됨. 이 때, AWS에서는 서비스이용의 보안에 있어서 Shared Responsibility Model(공동 책임)을 강조하는데, 클라우드에 대해서는 AWS가 보안을 책임지지만, 그 위에 올라가는 데이터 및 어플리케이션은 고객이 담당을 해야한다는 것이다. 그러므로 유저는 각 리소스에 접근을 제어하기 IAM(Identity and Access Management)을 활용하여야 하는 것이다. ..