본문 바로가기

분류 전체보기

(136)
컬쳐랜드 비밀번호 규칙의 문제 스팀에서 컬쳐랜드로 구매를 시도하면, 알 수 없는 오류가 발생한다고 해서, 컬쳐랜드에 로그인했다. 애매한 문구를 확실한 문구로 그랬더니, 인증 후에 아래와 같은 화면이 떴다. 그런데, 아래의 화면에는 크게 2가지 문제가 있다. 부드러운 말투를 사용한다고, "권장합니다"를 사용한 것으로 보이지만, 실제로 뒤로가기를 눌러 로그인을 시도하면, 다시 인증 후 비밀번호를 변경해야한다. (다음에 변경하기가 없는 것에서 눈치챘어야 했지만) 필수로 해야하는 항목은 '권장합니다' '좋습니다' 대신, '~~이 필요합니다.', '~~을 해야합니다' 같이, 확실하게 행동을 요구하도록 쓰는 것이 좋다. 보안을 망치는 비밀번호 규칙 이건 꽤 많은 사이트들이 갖고 있는 문제점 중 하나다. 최소 6자리인 것도 문제이고, 최대 12자..
await의 함정, 숨은 병목을 찾자 자바스크립트에서 async await을 사용하면 좀 더 깔끔한 코드를 작성할 수 있습니다. 하지만, 적절하게 사용하지 않으면 적지 않은 시간을 사용해야할 수도 있습니다. 특히, 여러개의 await을 사용할 경우에 주의해야합니다. 위와 같은 코드가 있을 때, end를 보려면 얼마나 기다려야할까요? 2,700ms를 기다려야합니다. 생각보다 긴 시간입니다. Promise.all를 사용해서 시간을 단축해보았습니다. 이제는, 1,900ms만 기다리면됩니다. 800ms나 줄였습니다. 하지만 아직 개선의 여지가 있어보입니다. 자, 이제 1200ms면 모든 작업을 끝내고, end를 볼 수 있습니다. API의 응답시간 개선 없이 1700ms를 단축했습니다. 어째서 이렇게 차이가 나는것 일까요? async, await을 ..
판교 사진 주로 퇴근길에 찍은 사진을 공유해본다 판교의 건물은 정말 파란 빛이 많이 도는 특성이 있다.
마스크 판매를 주민센터에서 해야하는 이유 주민센터(행정복지센터)의 장점 주민센터가 있어서 좋은 장점은, 행정 서비스를 받는 데 드는 비용이 줄어든다는 점이다. 전국 방방곡곡에 주민센터(면사무소, 읍사무소 포함)가 있기에, 시청이나 군청, 구청에 방문을 해야 하는 횟수가 준다. 예를 들어, 등본을 뽑기 위해 매번 시청을 들려야 한다 하면, 행정서비스를 받기 위한 비용이 무척이나 증가할 것이다. 하지만, 주민센터가 있기 때문에, 근거리에서 행정서비스를 받을 수 있다. 기초자치단체 단위에서 처리하기에는 너무 많은 사람이 몰리지만, 이를 읍/면/동 단위로 분산시킬 수 있다. 왜 주민센터에서 해야할까? 먼저 1인의 구매량을 제한할 수 있다는 장점이 있다. 주민등록증으로 최근 n일간 구매한 이력이 있다면 구매를 거부하는 방식을 사용할 수도 있다. 더불어,..
갤럭시 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(); 위의 코드가 헐씬 간결한..