본문 바로가기

분류 전체보기

(173)
await의 함정, 숨은 병목을 찾자 자바스크립트에서 async await을 사용하면 좀 더 깔끔한 코드를 작성할 수 있습니다. 하지만, 적절하게 사용하지 않으면 적지 않은 시간을 사용해야할 수도 있습니다. 특히, 여러개의 await을 사용할 경우에 주의해야합니다. 위와 같은 코드가 있을 때, end를 보려면 얼마나 기다려야할까요? 2,700ms를 기다려야합니다. 생각보다 긴 시간입니다. Promise.all를 사용해서 시간을 단축해보았습니다. 이제는, 1,900ms만 기다리면됩니다. 800ms나 줄였습니다. 하지만 아직 개선의 여지가 있어보입니다. 자, 이제 1200ms면 모든 작업을 끝내고, end를 볼 수 있습니다. API의 응답시간 개선 없이 1700ms를 단축했습니다. 어째서 이렇게 차이가 나는것 일까요? async, await을 ..
갤럭시 S20+ 야간 사진 비교 퇴근길에 S20+으로 야간사진을 다양한 모드로 찍어 봤다. 개인적으로 어느 때든 장면 최적화를 영 좋지 않다. 과도한 밝기나 색 등 왜곡이 너무 심해서 있느니만 못하다. 밝다. 근데 장명최적화를 꺼도 크게 문제가 없다. 야간사진은 거의 초저녁급으로 사진이 찍힌다. 하지만 5초씩이나 걸린다는 것은 매우 큰 단점. 가만히 있어야하는시간이 대부분의 경우에 1~3초였으면 한다. 64MP는... 야간에는 쓸 게 못된다. 64MP는... 야간에는 쓸 게 못된다. 초광각이지만 메인카메라의 야간모드와 별 차이가 없다. 하지만 일반 모드일 때는 사용이 어려울 듯 하다. 문제점 초점을 못잡는다. 정말 못잡는다. 노이즈가 끼는 것은 이해하지만 초점을 못잡는 건 너무 심각한 문제라 생각된다. 특히 확대를 했을 때 더 큰 문제..
갤럭시 S20+ 개봉기 삼성 갤럭시 S20+를 14일에 사전예약이 시작되자마자 구매했다. 원래는 쿠팡에서 구매하려고 했는데, G9에서 5% 스마일 캐시 적립이 있어, G9에서 구매했다. 색깔은 클라우드 블루로 했다. 그레이는 정말 마음에 들지 않았다. 울트라 같은 블랙이 있었다면, 블랙을 골랐을 것이다. 구매이유 갤럭시 S20+를 구매하게 된 이유는 새로운 핸드폰이 필요했기 때문이다. G6는, 너무 느리고, 카메라도 안좋고, 배터리도 안 좋다. 어처피 게임을 핸드폰으로 하지는 않기 때문에, 배터리 & 카메라가 좋은 폰에 중요했고, S20 Ultra 같은 거대한 인덕션에, 무겁고, 비싼 핸드폰은 필요 없었다. 그래서 남은 선택지는 S20과 S20+라 할 수 있는데, 이 중에서 나는 S20+를 선택했다. 화면크기가 좀 더 크기 때..
구글지도의 한국 데이터가 개선될 예정? 우연히 구글지도에 들어갔다가 알게 된 사실이 하나 있다. 위와 같이 1호선과 인천 2호선이 그려져있다. 다른 노선들이나, 역, 마커같은 것은 없다는 점에서 보아, 시범적으로 테스트를 하려고 한 것 같다. 하지만, 항상 skt에서 데이터를 받아와 비트맵으로 사용했었던 구글지도가 자체적으로 지하철 노선을 그렸다는 것 한가지를 시사한다고 볼 수 있다. 비트맵방식의 현재 방식에서, 백터지도로의 전환과 더불어 업데이트도 안되는 반쪽짜리 지도에서 온전한 서비스를 제공하는 것이다. 이는 아마도 한국 리전이 올해 생기기 시작하면서 온전한 서비스를 제공하려 하는 것이라 생각된다. 대부분의 (해외) 서비스에서 구글지도를 사용하는 만큼, 해외 서비스의 이용이 좀 더 편리해지지 않을까 싶다. 또한, 네이버와 다음이 좀 더 지..
[TypeScript] 옵셔널 체이닝(Optional Chaining) 타입스크립트 3.7이 릴리즈 되면서 새롭게 사용할 수 있게 된 문법 중에 하나가 바로 "옵셔널 체이닝(Optional Chaining)"이다. null이나 undefined인 값이 반환되면, 즉시 중단하고 undefined를 반환하는 문법이다. 코드가 즉시 중단 되는 것은 꽤 멋진 것이, 보통의 경우, null이나 undefined에 접근하여 함수를 실행시키는 경우에는 오류가 발생하지만, 이 경우에는 오류 없이 바로 undefined를 반환 한다는 것이다. const apple = garden?.tree.getApple(); 위 코드는 아래와 같다. const apple = (garden === nulll || garden === undefined).tree.getApple(); 위의 코드가 헐씬 간결한..
깔끔한 모던 날씨 카드 디자인 HTML과 CSS만 이용해서 만든 날씨 카드 샘플이다. 영감은 https://story.pxd.co.kr/1379 그래프는 생각보다 어렵기 때문에(이미지가 아니면 좀 복잡하다) 제외했다. 생각보다 깔끔하게 디자인이 나왔다.
내가 렌딧 투자를 그만 두는 이유 렌딧의 수수료는 생각보다 크다. 렌딧에서는 평균적으로 1.5%정도(0.8% ~ 2.3%)라고는 한다. 나 같은 경우에는 추심수수료 0.01% 포함 -0.88%p정도가 수익률에서 깎이게 된다. 부도의 경우에는 보통 원금의 50%정도 상환이 되었을 때 일어나는 경우가 많다. 그 이하의 경우에도 일어나는 경우도 있다. 대부분 개인 희생이나 파산으로 인한 것이다. 대충 10%정도는 부도가 난다. 한달에 한번정도는 꼭 채권이 특수채권으로 변경되었다는 메일이 온다. 물론, 분산투자로 인해서 원금 자체가 손실 보는 경우는 거의 없다고 할 수 있다. 참고로 특수 채권으로 변경되어 채권을 매각하는 경우에는 보통 원금의 10%수준이 들어오게 된다. 세금의 경우에는 10원미만 절사로 실질 세율은 12~20%대로, 이자 소득..
전설의 휴대폰 테이크(EV-S100) 초등학교 5학년 때 처음으로 가지게 된 스마트폰인 테이크(EV-S100)은 추억이 담긴 휴대폰이다. 지금은 없어진 KT Tech라는 회사의 핸드폰이다. 무려 고대 유물인(?) 진저브래드 휴대폰이다. 버전은 2.3.4 스냅드레곤 S1을 사용했고, 디스플레이는 3.8인치. 옛날에는 지하차도나 터널이 참 야속했던 것이, DMB가 중간에 끊겼기 때문이었다. SD카드가 없으면 아무것도 할 수가 없다. 램은 무려 512MB.