HOME

07
4월
2020

UA가 가고 Client Hints가 온다

navigator.userAgent는 브라우저 환경 별로 다른 화면과 기능을 제공하려고 할 때 유용한 웹브라우저 내장 객체입니다. navigator라는 이름에서 보이듯 1990년대 넷스케이프 웹브라우저 시절부터 2020년 현재에 이르기까지 클라이언트 환경을 분석하기 위해 많이 사용되고 있지만, 이 객체는 곧 사용하지 못하게 될 예정입니다. https://www.zdnet.com/article/google-to-phase-out-user-agent-strings-in-chrome/ 구글이 자사의 Chrome 브라우저에서 User Agent 문자열을 단계적으로 사용 중단할 계획을 발표하고 대안으로 Client hints 를 제안했습니다. 이는 사용자 개인정보를 보호하기 위해 추진하고 있는 프라이버시 샌드박스 정책 중 하나입니다. Client hints는 W3C 표준은 아니며, W3C 표준 트랙에도 없는 내용입니다. Web platform Incubator Community Group(WICG)에서 발표한 제안일 뿐, 앞으로 변경될 가능성도 있습니다. 현재 Accept-CH 헤더로 크롬과 파이어폭스에서...

19
2월
2020

모바일 Dark mode 대응

Dark mode는 UI 트렌드 중의 하나이며 UI 전체를 어두운 톤으로 설정하는 기능을 말합니다. 이전에도 앱 자체의 설정을 통해 “밝은 테마, 어두운 테마”를 지원하는 경우는 있었지만, 당연히 해당 앱에서만 적용될 뿐 다른 앱에 이 설정이 공유되지 않습니다. 하지만, Dark mode는 OS의 자체 설정이며 OS, 모든 앱과 서비스가 이 설정을 공유하여 UI 색상을 변경시킴으로 디바이스의 사용자 경험 자체를 어두운 색상 위주로 일관되게 전환시키는 것을 말합니다. 현재 가장 많이 쓰이는 OS인 Windows 10, macOS 10.14 mojave, 그리고 모바일에서는 iOS 13 (2019.09 발표), Android 10 (2019.09.03 발표) 에서 Dark mode를 지원하고 있습니다. 모바일의 경우 마치 약속한 듯 비슷한 시기에...

30
1월
2020

AME Argent, Radioso 청음기

AME는 홍대 근처에 자리잡은 Sharkwave 라는 샵에서 자체 런칭한 커스텀이어폰 브랜드입니다. 런칭 초기에는 다중 BA 방식의 인이어 및 커스텀 이어폰을 만들었는데, 최근에는 다른 종류의 드라이버를 사용한 하이브리드 방식… 즉 다이나믹 드라이버(DD)나 소니온의 정전형 트위터(EST)를 채용한 이어폰도 개발했습니다. 이어폰 제조사들이 이어폰을 개발할 때엔 대부분 DD, BA를 기준으로 조합하고 튜닝합니다. 그런데, 최근에는 EST(정전형 트위터)를 채용하는 브랜드들이 많아졌습니다. EST는 말 그대로 고음을 내는 트위터라서 다른 드라이버와 꼭 결합을 해야 하는데, DD와 BA 등과 비교해서 소리가 튀는 특징이 있어서 조합하기 어렵다고 알려져 있기도 합니다. Argent 4BA (2bass+1middle+1high), 2EST (super high) 의 구성입니다. 고음은 매우 곱고 해상도가 높습니다. 중음과 저음도...

31
12월
2019

내맘대로 돌아보는 2019 Frontend 트렌드

오랫동안 프론트엔드 쪽의 일을 해왔지만, 이 분야는 새로운 것들이 등장하는 속도가 정말 빠름을 느끼고 있습니다. 어느덧 한해를 정리하고 다음 해를 준비하는 연말이 왔는데요, 나름대로 2019년에 프론트엔드 분야에서 화제가 되었던 것들을 돌아보고, 관심있는 분야와 공부해야 할 것들을 개인적으로 정리해봤습니다. 자세한 설명은 구글링으로 훨씬 좋은 자료를 찾을 수 있기 때문에 이론 설명보다는 개인적인 의견을 좀 더 담아봤습니다. 함수형 프로그래밍 현재의 프로그래밍 패러다임은 절차형에서 객체지향형, 객체지향형에서 함수형으로 이동하고 있는데요, 올해엔 유난히 함수형 프로그래밍 (Functional Programming, FP) 도입에 대한 논의가 많았던 것 같습니다. 함수형 프로그래밍은 기존의 절차형 / 객체지향형 프로그래밍과 다른 사고방식으로 문제를 해결합니다. 간단하게 정리하자면 어떤 문제를 해결할...

19
10월
2019

타임 타이머 활용 후기

얼마 전 업무에서 시간관리를 위한 아이템으로 타임 타이머를 도입해서 글을 써본 적이 있었습니다. 그 후, 약 6개월 정도를 회사에서 사용하면서, 활용 후기를 간략하게 공유해보려고 합니다. 과연 타임 타이머는 업무에 적합했을까요? 사용사례 1. 빠른 업무 처리? 가장 기대했던 효과 중 하나였지만, 결론적으로는 큰 효율을 기대하기는 힘들었습니다. 급하게 생기는 장애 이슈에 시간 제한을 설정하는 효과 등을 기대할 수 있는데요, 사실 급한 업무는 그 자체로 최우선순위가 되어야 하기 때문에 한가롭게 time timer를 설정할 수 있는 여유(?)가 없었습니다. 그리고 아이 구하는 엄마처럼 갑자기 없던 능력을 발휘한다는 것도 사실 힘든 일이기 때문에 업무 속도의 개선은 미미했습니다. 사용사례 2. 한시간 회의?...

10
10월
2019

음악감상에 목숨걸기 (feat. Empire Ears)

미국의 엠파이어 이어스는 고가의 IEM을 만드는 곳으로 유명하며, 신제품이 나올때마다 항상 화제가 되는 곳이기도 하다. 이번에 새로운 라인업이 발표되었는데, 가격은 기존 X series 중 최고가의 이어폰을 뛰어 넘는다. 그 소리가 궁금해서 새로 발표된 발키리와 레이스를 셰에라자드에서 청음을 해보았다. TL;DR Valkyrie – 고음이 강하지만 극저음 역시 인상적. 하지만 전체적으로 가벼운 음이라, 라이브나 재즈에 잘 어울릴 것 같은 소리.Wraith – 이전 라인업에서 저음이 보강되고, 모든 음이 균형있게 들리는 레퍼런스 사운드. 하지만, 너무 비싸다. 튜닝을 열심히 했고 신기술도 많이 적용되고 실제로 좋은 소리이긴 하지만, 이것을 위해 이정도의 투자가 필요한가? 발키리(Valkyrie) – 1DD, 1BA, 1EST 최근의 이어폰들은 서로 다른...

24
9월
2019

JSCONF KOREA 2019 돌아보기

저는 이전에 Deview(https://deview.kr/) 등을 참여한 경험은 있지만, 국내 IT기업 위주로 진행되는 대형 컨퍼런스들은 사실 프론트엔드 개발자에게 큰 도움이 안된다는 생각을 하고 있습니다.게다가, 여느 개발자가 거의다 그렇듯 샤이한 성격의 본인이 컨퍼런스에서 기대했던 것은 “순수한 기술 습득 및 공유“였지만, 최근엔 해외 컨퍼런스처럼 개발자간의 네트워킹을 유도하거나, 또는 자사/조직의 PR 등이 더 많은 것 같아서 컨퍼런스는 언젠가부터 잘 안가게 된 것 같습니다. 그러나 Jsconf(https://2019.jsconfkorea.com/)는 자바스크립트 개발자만을 위한 컨퍼런스이고 세계적으로 많은 도시를 순회하면서 개최하고 있기 때문에 꽤 기대를 했습니다.모든 세션이 자바스크립트 및 프론트엔드 개발을 위한 대규모 컨퍼런스는 처음이었고, 티켓 가격도 가격인지라 앞으로도 갈 수 있는 기회가 얼마나 있을지 알 수...

30
5월
2019

좋은 소리를 되찾기 위한 여정

2016년 발표되었던 아이폰7부터는 마진쿡 애플의 “용기 드립”과 함께 3.5파이 이어폰 잭이 빠져버렸다. 폰으로 음악을 듣는 걸 좋아했던 난 큰 충격을 받았고… 뜻하지 않게 DAC와 앰프를 공부하고, 각종 이어폰을 청음하러 다니고, 이어폰 케이블도 바꾸는 등… 좋은 소리를 되찾기 위한 여정으로 쓸데없는 시간을 보내게 되었다. 물론 이 550만원짜리 이어폰을 살 생각은 없었지만 확실히 소리는 매력적이고 듣기는 좋았다. 🙂 지금은 단종. 한동안 사용했던 조합은 SHURE SE846과 동사에서 나오는 RMCE-LTG (lightning to mmcx cable) 케이블의 조합이었다. SE846에 대해서는… 출시된지 오래되었지만 좋은쪽으로 할말이 많은데 언젠가 기회가 있겠지? 다만, 불만이라면 RMCE-LTG 케이블에 내장된 DAC가 내 취향과는 먼 튜닝을 했다는 것. Shure의...

20
5월
2019

{ passive:true } 의 진정한 의미

addEventListener는 대상에 지정한 이벤트가 들어올 경우 호출할 함수를 등록하는 method입니다. 자바스크립트를 하는 사람이라면 누구나 아는 기초적인 method이죠. 하지만, 과거에는 addEventListener가 웹브라우저 별로 동작이 달랐고 버그도 많아서 jQuery 같은 라이브러리의 on(), off() method로 간단히 처리하는 경우가 많았습니다. 지금 많이 사용되는 react, vue.js 도 addEventListener를 직접 사용할 일은 많지 않습니다. 자바스크립트의 대표적인 method이지만 의외로 addEventListener를 직접 사용할 일은 점점 줄어들고 있는 것 같습니다. AddEventListener addEventListener는 세개의 인자를 받을 수 있습니다. 첫번째 인자는 type으로 target에 반응할 이벤트 유형 (예. click, focus, scroll, …)입니다. 두번째 인자는 listener 함수이며 지정한 이벤트가 발생할 경우 실행할 함수 (=지정한 이벤트를 전달받을 함수) 입니다....

25
4월
2019

VS CODE extension for FE

전통적으로 Javascript 개발 환경은 java처럼 복잡한 IDE 대신에 매우 가벼운 에디터로도 충분했습니다. 하지만 현대에는 frontend 개발의 주축이 되면서 매우 복잡해졌기 때문인지 Webstorm과 같은 강력한 IDE로 개발하는 경우도 많아졌습니다. 개발자에 따라 자바스크립트의 개발환경은 새롭고 강력한 IDE를 사용하는 환경, 전통적인 간단한 에디터를 그대로 사용하는 환경… 이렇게 두 분류로 나눠져 있다고 생각하는데요, 물론 이것은 개발 상황, 조직의 상황, 그리고 개인의 취향으로 어떤 것이든 선택할 수 있죠. Webstorm이 IDE계의 왕좌에 있다고 한다면, Visual Studio Code(줄여서 vscode)는 가벼운 에디터를 선호하는 개발자에게 있어 끝판왕이라고 해도 과언이 아니라고 생각합니다. microsoft에서 개발하고 있으며, Update log에 소개되는 추가 기능을 따라가기 힘들 정도로 업데이트가 활발한...