본문 바로가기

분류 전체보기

(173)
구글 지도의 귀환 - 국내 백터 지도 지원 구글지도가 돌아왔다. 구글지도는 항상 국내에서 환영 받지 못하는 존재였다. 몇몇 서비스들이 구글지도를 사용했었지만, 화질도, 데이터의 정확성도 구글지도는 최악의 사용자 경험을 안겨주었다. 위와 같았던 구글지도가 이제 확실히 달라졌다. 백터형 지도로 바뀌었다. 자동차 경로탐색은 지원하지 않는 상황이지만, 선명해지고 데이터도 업데이트되었다. 하지만 몇몇 장소 핀들의 배치에는 문제가 있는 듯하다. 안산시의 가게가 판교에 뜨고, 핀들도 중구난방이다. 확대하면, 각 건물들의 이름이 뜨게 된다. 최근에 개통한, 서부간선지하도로도 뜰 정도로, 최신데이터로 변경되었다. 하지만 위의 사진 처럼 국도 표시가 끊기다던지, 이상하게 표현되는 것은 별 달라지지 않은 것 같다. 구글지도의 귀환 이제 네이버 지도의 품질도 올라 갈..
크롬 한글 폰트 버그 및 해결법 Chrome 96이 출시 되고 오른쪽 사진 처럼 한글 폰트 일부가 흐려지면서 이상하게 보여지는 버그가 생겼다. 굴림, 돋움, 바탕, 궁서 글꼴이 볼드체가 제대로 랜더링되지 않는 버그이다. 가까운 릴리즈인 크롬 97에 해결되거나, 아니면 핫픽스로 해결되지 않을까 싶다. 사실 크롬 97은 4주뒤에 정식버전으로 나오기 때문에 많은 사람들이 오랫동안 불편함을 겪지 않을까 싶다. 버그 원인은 다음과 같다고 한다. 1. 원래 굴림, 돋움, 바탕, 궁서 글꼴에는 볼드체 폰트가 별도로 없었다. 2. 윈도우에서는 자체적으로 볼드체를 구현했었다. 3. 크롬이 스키아(Skia) 엔진을 도입하면서 버그가 발생했다. 여담이지만, 다른 언어팩의 윈도우에서는 한글 표기를 위해 기본적으로 '맑은 고딕'만 제공하기 때문에, 이슈 확인..
TypeScript 4.5의 변경 사항 요약 지난주, TypreScript 4.5가 출시되었습니다. 아래의 글에서는 TypeScript 4.5에 추가된 기능이나 변경사항들을 요약하여 소개합니다. 이 요약사항의 원본 글은 Announcing TypeScript 4.5 입니다. Awaited 유형을 통한 Promise 개선 Promise들을 재귀적으로 언래핑하여 'Promise' 와 같은 타입을 'number'로 바꿔주는 Awaited가 추가 됩니다. 이번 업데이트를 통해 Promise.all과 같은 함수를 사용할 때, 타입이 잘못 추론되는 오류를 해결 할 수 있습니다. 개인적으로 이번 업데이트 중 가장 크게 느껴질 업데이트라 생각합니다. 추가적이 기능들은 깃허브 PR을 참조하세요. 사용하지 않는 import 제거를 끄는 플래그 추가 eval을 사용하..
11/10 - 하루에 한 개, 조금씩 글쓰기 글쓰기를 자주 하는 것은 좋다고 생각한다. 왜냐하면 그래야 표현력이 높아지기 때문이다. 보통 생각의 흐름대로 쭉쭉 쓰거나 아니면 고민하면서 쓰게 된다. 결과적으로는 일단 쭉쭉 써보는 경우가 좀 더 좋았다. 어차피 어떤 경우에도 퇴고를 한번 하기 때문이다. 일단 생각나는 데로 소재를 다 꺼내보고 만약에 잘 안맞거나 보충 설명자료가 필요하면 조사해서 채워 넣으면 된다. 하지만 고민하느라 생각한 것들을 다 풀지 못하고 조금만 적게 된다면, 글이 너무 빈약하게 돼버린다. 글이 빈약해지면 아예 글을 포기하거나 미완성인 채 잊어지다가 버려지는 경우가 왕왕 있었다. Daily Thinking 카테고리의 글 같은 경우에 엔터를 엄청치는 경향이 있는데 별 이유가 있는 건 아니고 모바일에서 볼땐 긴 글이 그렇게 가독성이 ..
11/5 - 배달 팁 필터 추가 배달의 민족, 요기요, 쿠팡이츠 등 많은 배달 앱에서 배달비 정렬 기능이 포함되어 있다. 배달비가 낮은순으로 정렬할 수 있도록 하는 기능이다. 배달비에 대한 민감도가 음식 가격보다 높기 때문에 사람들이 많이 사용하는 기능일 것이다. 하지만 이 배달비 정렬에는 한 가지 맹점이 존재한다. 최소 배달비가 기준이기 때문에 조건형 배달비를 통해 사실상 무력화할 수 있다. 배달비 낮은 순 정렬 기능을 의도에 맞게 유지시키기 위해서는 주문 금액 별 배달비 필터가 필요하다고 생각한다. 위에서도 말했듯이 소비자들은 배달비에 민감하다. 음식점 입장에서는 소비자들이 자주 사용할 낮은 순 정렬 상위 노출을 이끌어 내야 한다. 하지만 이 과정에서 최소한의 비용을 위해 실질적인 주문 금액을 벗어난 금액에서 0원으로 설정하는 방법..
11/16 - 5030 정책과 일괄규제 「안전속도 5030」 규제는 취지자체가 문제라기 보다는 적용하는 방법에 있어서 문제가 많다고 생각한다. 조금 나쁘게 말하면 탁상 행정이라고 할 수 있다. 사실 일반 4차선 정도 규모의 도심 도로에서는 그다지 불만이 없다. 애초에 도심 도로는 막히기 때문이다. 서울시내에서 5030으로 불만이 많은 경우는 1. 한강 다리 2. 고가도로 3. 대형 간선도로 정도가 된다. 일단 한강다리는 차도와 인도가 대부분 완전히 분리되어 있고 그나마도 보행자도 적은데다가 직선 + 고속화처리 되어있다. 몇몇 특수한 다리가 있겠지만 그건 그것대로 예외로 취급하면 된다. 고가도로는 일단 보행자가 없다 그리고 대부분 한강다리 양 끝에 달려있는데, 거기서 속도 제한이 50km/h일 이유는 그렇게 까지 없다고 생각한다. 이 부분은 주..
11/4 - 전기차가 비효율이어도? 전기차가 비효율적이라도 전기차 보급은 계속되어야 한다고 생각한다. 만일 전기차의 최종 효율이 내연기관차보다 안좋더라도 전기차가 더 좋은 이유는 바로 '매연' 때문이다. 미세먼지와도 연관성이 있는 점이다. 대기 중 미세먼지가 0인 상황이더라도 자동차 배기구 근처에서 공기를 마시면 미세먼지 1000이나 다름 없기 때문이다. 근본적으로 도로가를 거닐거나 버스정류장에서 서있으면 배기가스를 많이 마실 수 밖에 없게 된다. 버스가 설령 천연가스더라도 연소 후의 가스는 나오기 때문에 건강에 좋지 않다. 미세먼지와 관련해서 내연기관보다 전기차가 더 좋은 이유는 간단히 생각해서 석탄 자동차와 석탄 발전소 + 전기차의 조합 중 대기오염을 덜 시키는 것은 당연히 전기차의 쪽이다. 아무리 필터를 걸거나 해도 소형화에는 한계가..
[리팩토링] 코드 숨기기, 가독성 좋은 코드 짜기 변수 추출(Extract Variable) 어떤 코드가 조금 보기 복잡해 졌다고 가정했을 때, 먼저 시도 해볼만한 것은 코드를 쪼개 변수로 나누는 것이다. 예를 들어 아래와 같이 부모와 자식의 값을 더하는 함수가 있다고 가정한다. 읽기 매우 난해할 것이다. 물론 함수명을 잘 지어도 좋지만, 여기서는 논외로 둔다. 각 값들을 변수로 쪼개면 아래와 같은 코드가 된다. 조금 더 알아보기 쉬운 코드가 됐다. 긴 코드들이 있었지만, 이 함수에서의 핵심 로직은 부모 값과 자식 값을 더한다는 것을 알 수 있게 됐다. 코드의 추상화 제멋대로 붙인말이지만, 뭔가 좀 있어보이게 말하자면, '코드의 추상화'라고도 할 수 있을 것 같다. 실제 데이터의 흐름은 app.store.data.parent.value + app.sto..