개발을 몇 년 하다 보면 오히려 기초를 대충 넘어가게 된다. HTML 태그도 그렇다. 화면에 똑같이 보이니까 아무거나 쓰게 되는데, 사실 각각 의미가 다르다.예전에 정리해뒀던 메모를 다시 꺼내 보충한다.이탤릭체: em vs i : 강조하고 싶은 부분을 이탤릭체로 표시 : 단순히 이탤릭체로 표시둘 다 화면에서는 기울어져 보인다. 차이는 의미가 있느냐다.은 emphasis, 즉 문장에서 강세를 두어 읽어야 할 부분이다. 스크린 리더는 이 부분의 억양을 실제로 다르게 읽는다. "나는 오늘 간다"와 "나는 오늘 간다"는 의미가 다른데, 그 차이를 마크업으로 표현하는 것이다.는 강조가 아니라 결이 다른 텍스트를 나타낸다. 학명, 외국어 단어, 배 이름, 생각을 나타내는 문장 같은 것이다.<!-- 강조: 읽을..
Flutter GetX 패키지를 사용하고 있는데, 그중에 모듈을 자동으로 생성해주는 get_cli를 잘 사용하고 있다.그런데 어느 날 갑자기 아래와 같은 에러가 나왔다.Synchronous waiting using dart:cli waitFor and C API Dart_WaitForEventis deprecated and disabled by default. This feature will be fully removedin Dart 3.4 release. You can currently still enable it by passing--enable_deprecated_wait_for to the Dart VM.See https://dartbug.com/52121원인Dart가 동기 대기(waitFor) ..
AirPrint를 지원하지 않는 구형 프린터를 아이폰·아이패드에서 바로 인쇄할 수 있게 만드는 방법이다. 리눅스 서버에 CUPS를 올려서 프린터를 공유하면 된다.설치1. 개발자라면 누구나 가지고 있는 개인 서버에 CUPS를 설치# cups installapt install cups# setting cups vim /etc/cups/cupsd.conf2. 접속하기localhost:6313. 프린터 설치 및 공유 프린터로 지정하기고생했던 부분: /admin 접근 권한localhost:631/admin 에 접근하면 인증을 요구하는데, 어떤 계정으로 로그인해야 하는지가 명확하지 않다.# 리눅스 계정 을 lpadmin 그룹에 넣기sudo usermod -aG lpadmin 위 명령어를 입력하면 리눅스의 계정의..
DeepL이라는 번역 서비스가 있다. 우리에게는 구글 번역과 파파고가 익숙하지만, 번역 품질만 놓고 보면 DeepL이 최강자라고 생각한다.그동안 DeepL은 한국어 번역은 지원하면서도 개발용 API에서는 한국어를 제공하지 않았다. 그러다 한국어 개발 API가 정식 오픈했고, 그 김에 젯브레인의 번역 플러그인으로 유명한 Translation에 기여를 하게 됐다.별로 한 것도 없는데 기여자 목록에 이름이 표시되니 기분이 좋더라.Translation 플러그인이란JetBrains IDE(IntelliJ, PhpStorm, WebStorm 등)에서 쓰는 번역 플러그인이다. 코드 안에서 단어나 문장을 선택하고 단축키를 누르면 바로 번역이 뜬다.변수명·함수명을 지을 때 적절한 영단어 찾기영문 라이브러리 문서나 주석을..
레거시 시스템에서 넘어온 CSV 수백 개를 열었더니 한글이 전부 깨져 있었다. euc-kr(정확히는 cp949)로 저장된 파일을 utf-8 환경에서 열었을 때 나오는 전형적인 증상이다.파일이 한두 개면 에디터로 열어서 다시 저장하면 되지만, 수백 개는 그렇게 못 한다. iconv와 셸 스크립트로 한 번에 처리한다.기본 스크립트#!/bin/bash# csv 파일 목록을 가져온다csv_files=`ls -1 *.csv`# 변환 결과를 담을 디렉터리mkdir -p utf8for csv_file in $csv_files; do iconv -c -f euc-kr -t utf-8 "$csv_file" > "utf8/$csv_file"done옵션 의미는 이렇다.-f euc-kr : 원본 인코딩-t utf-8 : 변..
