Web Push for Web Apps on iOS and iPadOS : iOS/iPadOS 16.4 베타 1에서 홈 화면 Web Push 지원이 추가되었다. 웹 개발자가 매니페스트 파일을 제공해서 웹사이트를 홈 화면 웹앱으로 홈 화면에 설치할 수 있게 되는데 이 웹앱에서 Push API, Notifications API, Service Workers를 사용해서 사용자에게 푸시를 보낼 수 있게 되었다. Badging API도 지원해서 웹앱 아이콘에 뱃지를 표시할 수 있다.(영어)
New headless Chrome has been released and has a near-perfect browser fingerprint : 새로운 헤드리스 크롬이 2022년 나왔지만, 여전히 --headless=new 플래그 밑에 숨겨져 있었으나 곧 크롬의 표준 헤드리스 모드가 될 예정이라고 한다. 헤드리스를 탐지할 수 없는 것은 아니지만 새 헤드리스 모드는 실제 크롬과 핑거프린트의 차이가 거의 없기 때문에 navigator.plugins.length = 0나 window.chrome를 검사하는 정도로는 구별할 수가 없어졌고 탐지하기가 훨씬 어려워졌다고 한다.(영어)
그 밖의 개발 관련
프로젝트 발할라, 야심찬 자바 리팩터의 내부 들여다보기 : Java에서 int, byte, short, long, float, double, boolean, char의 프리미티브와 객체로 나뉘어져 있는데 이 균열을 해소하는 것이 프로젝트 발할라의 목적이다. 객체 참조로 성능 최적화에 어려움이 있고 참조 버킷으로 인해서 부풀려진 메모리가 저장되는 문제가 있는데 이를 해결하기 위해 값 클래스와 프리미티브 클래스를 도입한다고 한다.(한국어)
파이썬 프로그래머를 위한 러스트 입문 : indosaram님이 작성한 Python 프로그래머를 위한 Rust 입문서로 책의 내용이 모두 온라인에 공개되어 있다.(한국어)
Hakana: Taking Hack Seriously : Slack에서 Hack 언어 정적분석 도구인 Hakana를 오픈소스로 공개했다. 2014년 PHP로 구축된 Slack은 2016년 Facebook이 만든 Hack으로 마이그레이션 하기 시작했고 보안 분석, 잠재적 버그 탐지, 죽은 코드 정리 등을 위해 Rust로 정적 분석 도구를 작성했다.(영어)
인프라 관련
How does Kubernetes assign QoS class to pods through OOM score? : Kubernetes에서 메모리가 부족한 경우 OOMKilled로 죽게 되는데 이는 리눅스 커널에서 OOM Killer가 시스템에 영향이 적도록 가장 적은 수의 프로세스를 죽여서 최대한의 메모리를 가져오도록 죽일 프로세스를 선택합니다. 이를 위해 oom_score를 사용하는데 oom_score_adj로 이 값을 조정할 수 있으므로 Kubernetes도 oom_score_adj를 사용합니다. QoS 클래스마다 점수가 있는데 Guaranteed는 -998, BestEffort는 1000, Burstable은 min(max(2, 1000 - (1000 * memoryRequestBytes) / machineMemoryCapacityBytes), 999)로 부여해서 가장 높은 oom_score의 프로세스를 죽이게 된다. 이를 확인해 볼 수 있는 과정을 설명하고 있다.(영어)
Writing Terraform for unsupported resources : Terraform으로 인프라는 코드화할 때 프로바이더가 필요하기 때문에 원하는 리소스 관리에 프로바이더가 없으면 프로바이더를 기다리거나 원하는 기능이 추가되기를 기다려야 한다. 하지만 해당 서비스가 API를 제공하고 있다면 TerraCurl를 이용해서 API를 호출해서 프로바이더를 기다리지 않고 코드화할 수 있다.(영어)
Sync 10,000 Argo CD Applications in One Shot : Argo CD에서 수천 개의 앱을 Kubernetes 클러스터에 동기화할 때 병목 지점을 확인하기 위해 2천 개에서 만개까지의 애플리케이션을 동기화하는 실험을 한 과정이다. Kustomization을 쓰고 있다면 CPU 병목이 생길 수 있고 수천 개의 앱을 사용한다면 기본 재동기화 시간을 늘려야 할 수 있고 최악의 상황에는 동기화 지연이 발생할 수도 있다.(영어)
How should AI systems behave, and who should decide? : OpenAI에서 ChatGPT의 동작과 어떻게 개선할 예정인지를 정리했다. ChatGPT는 사전 훈련 단계에서 데이터로 다음 단어를 예측하는 방법을 학습하고 시스템의 동작을 좁히기 위해 미세 조정하는 단계를 거쳐서 모델이 완성된다. AI 시스템이 즉시 유용하도록 편견을 줄이도록 노력하고 각 사용자가 커스터마이징할 수 있도록 업그레이드 중이지만 문제를 일으키지 않도록 한계를 정의하고 사용자에게 시스템 규칙에 영향을 미칠 수 있는 권한을 주려고 준비 중이라고 한다.(영어)
ChatGPT에 대한 교육자 고려 사항 : OpenAI에서 교육자들이 ChatGPT와 관련해서 고려해야 할 가이드라인으로 작성한 Educator considerations for ChatGPT의 번역문이다. 학생들이 자료를 만들 때 ChatGTP를 사용했음을 명시하기를 권장하고 있고 잘못된 답변을 할 수 있으므로 학생들이 정보의 신뢰성을 평가하는 방법을 알아야 하고 결과물을 사용할 때 주의해야 한다고 하고 있다. ChatGPT의 등장으로 교육 업계에도 고민이 많을 텐데 이 문서를 참고하면 좋을 것 같다.(한국어)
Comments