NOMO.asia
Twitch.tv 서버 위치 확인하는 브라우저 확장기능 (UserScript)
개발/UserScript 2019. 9. 18. 22:46

요즘 저녁만 되면 트위치의 버퍼링이 심해지고 있다. 버퍼링이 심한 근본적인 이유까지는 정확히 모르겠다. 다만 쉽게 알 수 있는 사실은, 트위치 live는 작은 동영상 조각들을 연속해서 다운 받아 이어 재생하는 형식인데, 그냥 단순하게 2초짜리 동영상 조각을 받는데 2초보다 더 걸려서 버퍼링이 걸리고 있었다.나는 KT 회선을 사용 중인데, 라이브 시청 시 서버가 서울(SEL)로 연결되면 버퍼링이 없었지만 주말 피크 시간에는 10차례 이상 새로고침을 해도 서울 서버에 연결이 안 되는 경우도 있었다. 평일 저녁에는 Akamai Korea 서버도 상태가 괜찮았지만 주말 피크 시간에는 여기도 버퍼링이 걸렸고, 서울 서버가 아니고서는 답이 없었다. 이전에는 서버가 어떤 서버로 잡혔는지 확인하기 위해 Twitch S..

VIEW POST
unsafeWindow 의 의미와 사용법
개발/UserScript 2019. 9. 12. 01:31

unsafeWindow 는 UserScript 를 개발하면서 함수를 덮어쓰고 싶을 때 주로 사용되는 도구 중 하나이다. 페이지 내에 전역으로 선언된 funcA 라는 이름의 함수를 덮어쓰고 싶은 경우 메타태그 블록에 @grant unsafeWindow 를 적어두고 아래와 같이 하면 된다. unsafeWindow.funcA = function(){console.log("funcA 하이재킹됨")}; UserScript 를 가장 처음 야매로 개발하던 아주 옛날에는(지금도 야매지만) 그냥 함수를 덮어씌우는 예제를 보고 그대로 따라한 것이라, unsafeWindow 가 함수를 덮어씌우는 역할을 하는가 싶었는데 알고보니 그런 것이 아니었고 unsafeWindow를 쓰는 이유가 따로 있었다.UserScript 가 아닌..

VIEW POST
FLO 뮤직 웹의 속도가 느린 이유??
개발/JavaScript 2019. 9. 5. 22:35

FLO 뮤직을 사용한지 대충 3개월정도 되었는데, 이 서비스는 분명한 장단점이 있다. FLO 뮤직의 좋은 점으로는 PC로 이용할 때 별도의 프로그램 설치 없이 웹기반으로 이용할 수 있다는 점, 그리고 추천 음악 리스트가 꽤 괜찮다는 점이 있다.그렇지만 속도와 편의성 면에 있어서 불편점이 꽤 많았다. 전체적인 동작 속도가 느렸고, 각 메뉴를 이동하는데 꽤 오랜 시간이 걸렸으며, 어떤 동작을 실행하려고 할 때 잠깐 먹통이 되는 경우가 잦았다. 그리고 편의성 면에서 불편한 것이 엄청 많았다. 특히 플레이리스트가 마음에 안 드는데, 한 곡을 표시하는 높이가 너무 두꺼워서 한 화면에 많은 곡을 보기가 힘들었고, 플레이리스트에 등록된 곡을 삭제하려면 매번 편집 메뉴로 들어가야 한다는 점이 불편했다. 또, 추천 음악..

VIEW POST
갤럭시 노트10, 노트10+ 에 폰트 파일(ttf, ttc, otf) 적용하기
정보 2019. 8. 31. 17:28

주의: 본 방법을 따라하여 발생할 수 있는 보안 문제, 휴대폰 고장 등에 있어 글쓴이는 책임지지 않음. 최근 갤럭시노트 10+ 로 스마트폰을 바꾸었다. 새 스마트폰을 산 기념으로 이것저것 꾸미다가, 기본으로 제공하는 폰트들이 전부 마음에 안 들어서 폰트 파일로부터 글꼴을 적용할 수 있는 방법이 있나 찾아보았다. 결론부터 먼저 설명하면... 한 줄 요약: Wings Fonts v3.2 버전을 이용하면 된다.갤럭시 스마트폰에 폰트 파일을 적용하기 위한 알려진 방법들은 꽤 있었지만, 노트 10과 노트 10+ 에 대해서는 아직 업댓이 안 되어서 제대로 안 되는 방법들이 많았다. 내가 테스트해본 결과 현재 시점(2019. 8. 31.)에서 확실한 방법은 Wings Fonts v3.2 버전을 이용하는 것이다.Win..

VIEW POST
UserScript 로 click 이벤트를 수정 및 삭제(hijacking) 하기
개발/UserScript 2019. 8. 30. 04:26

이 글은 UserScript 환경에서 JavaScript 를 이용해 이벤트의 동작을 수정 및 삭제(hijacking) 하는 과정을 정리한 글이다. 꼭 UserScript 뿐만이 아니라 웹사이트의 동작을 바꾸는 브라우저 확장기능을 JavaScript 기반으로 개발한다면 모두 사용할 수 있는 방법이다. 예제어떤 웹 채팅 시스템이 있다. 이 채팅 시스템은 다른 사용자가 올린 링크를 클릭할 때 아래와 같은 확인 창을 띄운다.문제는 이것이 링크의 안전성 여부를 직접 확인해주는 것도 아니고, 최초 1회만 물어보는 것도 아니면서 매번 링크를 클릭할 때마다 단순히 물어보기만 하기 떄문에 결국 사용자를 귀찮게만 만드는 쓸모없는 절차라는 점이다.그래서 나는 브라우저 확장 기능의 일종인 UserScript 로 이러한 동작,..

VIEW POST
visibilitychange 이벤트를 무력화하기 위한 방법들
개발/UserScript 2019. 8. 26. 02:32

Twitch, Youtube 같은 웹사이트는 사용자가 웹페이지를 최소화 했거나 다른 탭을 보고있는지를 체크한 후 재생 중인 동영상의 화질을 낮추거나, 화면은 내보내지 않고 음성만 재생하거나, 자동 재생이 되지 않도록 막아 데이터 전송량을 줄이는 동작을 한다. 이 때 사용자가 웹페이지를 보고있는지를 확인하기 위한 것이 바로 visibilitychange 이벤트 (https://developer.mozilla.org/ko/docs/Web/API/Page_Visibility_API)이다. 이 이벤트에 리스너로 등록된 함수는 웹페이지의 visibility 상태가 변하면, 즉 사용자가 탭을 다른 탭으로 변경하거나 원래 탭으로 복귀하는 등의 행동을 취하면 실행되게 된다. 따라서 웹사이트의 관리자가 앞서 설명한 경우..

VIEW POST
Javascript 로 Twitch API 접근하여 Stream 정보 얻기 - v3 과 v5 버전의 차이
개발/JavaScript 2019. 8. 12. 11:04

이전에 [Javascript 로 Twitch API 접근하여 Stream 정보 얻기] 라는 글을 포스팅한 적이 있었는데 당시 Twitch API v3 을 이용하며 적은 것이었다.최근 한 통의 메일을 받았는데, 이 메일에는 Twitch API 의 버전이 v3 에서 v5 로 변경되어서(사실 바뀐지는 꽤 되었다) 구버전인 v3 은 더 이상 지원하지 않을 예정이라 몇 가지를 수정해주어야 한다는 내용이 담겨있었다. 다음의 링크로 가면 이에 대한 내용을 볼 수 있다. [v3 to v5 Migration Guide - Twitch Developers] Twitch API v5 의 변경점 - Login name 대신 User ID 를 사용해야 함 대표적인 변경점으로, v5 에서는 Live stream 의 정보를 가져올..

VIEW POST
물리 기반(physics based) 이란 표현은 대체 뭘까?
엔지니어링 2019. 8. 8. 16:20

나는 최근 취미로 Chrono Engine 이라는 오픈소스 시뮬레이션 툴에 대해 공부하고 있는데, 이 툴의 소개글 중 physics-based modelling and simulation 이라는 설명이 있었다. 우리나라 말로 다시 적으면 물리 기반 모델링 및 시뮬레이션 정도가 되겠다. 내가 의아했던 부분은 이 툴이 시뮬레이션 툴로 사용되고 있음에도 굳이 "물리 기반"이라는 표현을 썼다는 것이다. 시뮬레이션 툴이라면 당연히 물리 기반이어야 하는것이 아닌가? 만약 이 툴이 그래픽 작업을 위한 툴이라면 물리 기반이라는 단어를 씀으로써 이 툴이 물리 수식을 기반으로 한다는 것을 강조할 수 있었을텐데 왜 그것도 아니면서 물리 기반이라는 표현을 썼을까? 그러니까 내 의문은, 물론 이런 표현을 써도 상관은 없겠지만 ..

VIEW POST
스팀 게임 Visitor 2 (방문자 2) 공략 (스포)
게임 2019. 8. 1. 22:25

# 이전 편인 방문자1 에 대한 공략은 [이곳을 클릭]2018년 출시되었던 실사 기반 추리 게임 방문자(Visitor) 의 후속작, 방문자2가 출시되었다. https://store.steampowered.com/app/1065200/Visitor2__2/ Visitor 2 에 대한 간단평 이 게임이 전작보다 확실히 더 좋아진 부분은 이쁜 등장인물이 추가되었다는 것이다! 모사 역을 맡은 배우가 참 이쁘다. 가잼비가 뛰어나다는 점도 여전히 장점. 단점으로는 게임이 친절하지 않다는 것. 이전작도 마찬가지였지만 이번작의 한글 번역 상태가 더 나빠서 이해하기가 더 어려웠고 몰입도 방해됐다. 하지만 높은 난이도가 꼭 번역의 문제라고 하기에는 중국어를 하는 현지인도 어려운 몇몇 단계를 못푸는 것은 마찬가지였다. 이번..

VIEW POST
듀얼 모니터로 휴먼폴플랫 로컬 멀티하기 (NVIDIA 기준)
게임 2019. 8. 1. 12:42

얼마 전 조카가 우리집에 놀러와서 같이 게임하려고 로컬 멀티가 되는 PC게임을 찾다가 휴먼폴플랫(Human Fall Flat)이 로컬 멀티가 된다는 것을 알았다. 그래서 게임을 바로 구매한다음 조카와 같이 로컬 멀티로 즐겼는데, 한 모니터에서 화면이 절반으로 나뉘는 방식으로 로컬멀티를 이용할 수 있었다.그런데 나는 듀얼 모니터를 쓰기 때문에 모니터 하나로만 이 게임을 즐긴다는 것이 너무 아쉬워서, 듀얼 모니터로 로컬 멀티가 가능한 방법을 찾아놨다가 조카들이 다시 놀러왔을 때 적용해서 써먹을 수 있었다. 아래에서는 이 방법을 정리해보았다.NVIDIA 의 Surround 기능 활성화하여 휴먼폴플랫 로컬멀티를 듀얼모니터로 즐기기 출처: https://steamcommunity.com/sharedfiles/fi..

VIEW POST