[GN#101] 건강한 On-Call 문화 만들기

2021-06-07 ~ 2021-06-13 사이의 주요 뉴스들
건강한 On-Call 문화 만들기

24시간 운영되는 서비스들은 업무시간 외에도 많은 문제가 발생합니다. 스타트업의 경우는 인원이 적어서 모두가 항시 대기하게 되고, 이 때문에 지치거나 번아웃이 오는 경우도 많습니다. 그래서 업무시간 외에 문제가 발생했을 때 담당자를 두는 On-Call(온콜) 제도를 다양한 방식으로 도입하게 되는데요. 온라인 음악 플랫폼 SoundCloud가 자신들의 온콜 문화를 정리한 글을 공개했습니다. 신청자 위주로 추가수당을 지급하고, 1~2일 단위로 교대하면서 한 달에 3일 정도 들어가도록 약 10명 내외의 팀으로 교대팀을 구성하는데, 각 팀 내에서 일정을 자유롭게 관리하게 한다고 하네요. 물론 가장 중요한 것은 "사고가 났을 때 비난하는 문화가 아닌 학습하는 문화를 육성하는 것" 이라고 합니다. 예전 직장에서 제 보스가 "실수로 사람을 처벌하면 성장할 기회를 잃어버린다"라고 하셨던 말씀이 그대로 적혀있어서 인상적이었습니다. 안정적인 서비스를 지향하는 모든 분들이 한번 읽어보시면 좋을 것 같아요.

No-Code / Low-Code 가 시장에서 꽤 중요한 위치를 차지하게 될 것이라고 계속 강조 드리고 있는데요. 웹/앱 빌더, 워크플로우 자동화, 사내용 도구 개발 등 다양한 상용 서비스부터 오픈소스들이 계속 많아지고 있습니다. ToolJet 는 새로 공개된 오픈소스 비쥬얼 노코드 앱 빌더인데요. 놀라운 건 이 툴 자체를 7주 만에 개발했다고 하네요. Ruby On Rails 와 ReactJS 로 구성된 오픈소스이니 참고하시기 바랍니다.

제가 긱뉴스를 만들었던 이유 중 하나는 국내에서는 새로 만들어진 서비스/오픈소스를 홍보할 곳이 마땅치 않다는 것이었습니다. 현재는 최신 기술뉴스를 올려서 더 많은 분이 지속적으로 긱뉴스에 오시도록 만드는 데 중점을 두고 있지만, 곧 HackerNews 처럼 별도의 홍보가 가능한 Show 섹션을 만들어서 더 편하게 직접 개발한 서비스와 오픈소스들을 등록하고 피드백을 받는 공간으로 키우려고 합니다. 영어권에서는 꽤 많은 곳을 통해서 홍보가 가능한데요. SaaS/Ecommerce 의 SEO 를 분석 및 컨설팅 해주는 Rocket labs 에서 280개 정도의 커뮤니티/뉴스레터/미디어/디렉토리 등을 정리한 리스트를 Airtable로 공개했습니다. 영어권 서비스를 오픈하시는 분들은 꼭 저장해두고 활용하시면 좋겠습니다. 한국도 이렇게 별도의 리스트가 필요할 정도로 홍보할 사이트들이 많아지길 기대해 봅니다.

WWDC 2021에서 애플이 많은 것을 쏟아내었는데요. 키노트와 애플의 발표페이지를 보고 정리해 봤습니다. 저는 애플이 자신의 하드웨어 역량을 이용해서 소프트웨어 역량을 극대화하고 있다고 생각이 들었습니다. M1칩을 통해 데스크탑과 아이패드에서도 자신들이 원했던 강력한 성능을 제공하고, 이제 자신들의 모든 기기에 Neural 엔진이 들어가면서 AR/VR/ML 관련 기능들을 훨씬 다양하게 만들 수 있게 되었고요. U1 칩을 활용한 Nearby Interaction으로 주변 기기와의 연동에도 신경을 쓰고 있고, AirPods 들은 공간 오디오, Dolby Atmos 기능과 함께 무손실 음원을 늦게나마 지원하면서 조금 밀렸던(?) 음악시장에서 다시 또 애플의 저력을 보여줄 것 같습니다. 지금 애플이 만들고 있는 많은 것들이 앞으로 나올지도 모를 애플 Glass 와 애플 Car에 대한 실마리를 제공하는 게 아닐까 기대해 봅니다.

이제 iOS 에서 "계정 생성 가능한 앱은 계정 삭제도 앱내에서 지원" 하도록 App Store의 심사 지침이 변경 되었습니다. 기존에 많은 서비스들이 탈퇴 기능은 만들지 않거나 어렵게 만들어서 사용자들이 불편을 겪었는데요. 이번 변경으로 계정을 사용하는 앱들에도 대폭 변화가 필요할 것 같습니다.


✓ 사내에서 슬랙을 쓰신다면 뉴스채널에 GeekNews SlackBot 을 추가하여 편하게 새 글을 받아보시고, 멤버들에게도 공유해주세요.
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 를 추천해 주세요.
Twitter , Facebook 에서도 긱뉴스를 받아 보실 수 있습니다.

매주 월요일 아침, 지난 일주일간의 GeekNews 중 엄선한 뉴스들을 이메일로 보내드립니다.


건강한 On-Call 문화 만들기

- 업무시간 외에 문제 발생시 호출(Paging)받아서 해결할 엔지니어를 지정하는 "온콜"에 대한 SoundCloud의 팁
1. 온콜 업무는 선택 사항임(Optional, 신청자만)
2. 정규 근무시간 외 근무이므로 시간당 수당으로 지급되고, 페이징에 응답시 시간당 추가 지불
3. 온콜 엔지니어는 여러 로테이션들로 구성
4. 각 로테이션은
ㅤ→ 한개 또는 여러 팀을 대표하는 엔지니어들의 그룹으로 구성
ㅤ→ 로테이션내의 모든 팀의 문제에 대해 1차 지원을 담당할 1명의 엔지니어가 항상 대기
ㅤ→ 그외의 엔지니어들은 자기 팀들의 서비스에 대한 문제를 담당하는 2차 지원을 제공하기 위해 대기
ㅤ→ 2차 지원은 최선 노력(best-efforts) 기반 : 언제든 페이징 받아서 가능하면 최선을 다해서 처리하지만, 자신이 불가능할 때는 꼭 응답할 필요 없음

왜 온콜 업무가 엔지니어들한테 좋을까?
- DevOps 및 SRE(Site Reliability Engineers) 외에 다양한 엔지니어들을 온콜 업무에 넣는 것은 회사와 엔지니어 본인들에게도 좋음
- 항상 시간외 근무가 많은 운영팀 엔지니어 들의 부담을 줄여줌
- 엔지니어들이 안정적이고 잘 문서화된 시스템을 구축하도록 동기를 부여
ㅤ→ 문제발생시 직접 보는 것은 시스템을 어떻게 개선하고 탄탄하게 만들지에 대한 인사이트를 얻게 됨
- 자신들의 시스템과 남의 시스템을 함께 지원하는 것은 엔지니어들한테 배울 수 있는 좋은 기회

절차적 모범사례 : 모든 조직은 다르지만 SoundCloud가 찾은 최적의 프로세스
- 각 로테이션마다 교대 주기가 다르지만, 대부분 1일에서 2일단위로 교대
- 한달에 3일정도 온콜에 들어가는게 최적. 그것 보다 많으면 번아웃 되고, 적으면 효율적이지 못함.
ㅤ→ 즉 로테이션의 최적 인원은 8~12명. 10명이면 완벽.
- 로테이션내에서 공식/비공식 관리자를 뽑아서, 교대 근무 일정 관리 및 인원 변경 등 로테이션을 관리
ㅤ→ 예) 연휴 기간의 교대 일정에 대한 조정

로테이션 팀과 조직들
- SoundCloud 조직은 시간에 따라 발전하고, 병합/분할/새로운 팀 생성/팀의 부서간 이동등이 일어났음
- 그러나 온콜 로테이션팀은 엔지니어링 조직과 같은 속도로는 발전하지 않았음
- 현재는 많은 로테이션들이 전혀 관련없는 팀의 무작위 그룹처럼 보이기도 함
- 하지만 문제가 되지 않고, 이걸 변경하려는 시도에 엔지니어들이 이의를 재기해서 중단됨

문화적 모범사례 : 온콜 엔지니어와 회사 전체의 이익을 위해 다음과 같은 규범 및 태도를 육성
- 온콜인 사람들은 온콜에 있기를 원함. 자의로 책임을 부담하고 (보상을 받는) 엔지니어는 사고에 대응할 때 더 많은 동기를 부여받음
- 교대 주기 같은 문제는 각 로테이션의 엔지니어들이 협의 하여 결정. 회사는 교대 패턴/교대 시각/개인간 교대 이관 등에 대해서 표준 절차를 제공하지 않음
- 온콜 엔지니어들은 정규 근무시간 내에 이런 문제들이 악화되거나 다른 사람을 비근무시간에 페이징하지 않도록 조사하는데 시간을 쓰는 경우가 많음
- 사고 대응시, 엔지니어들은 다른 엔지니어를 호출해서 도움 요청 가능. 누구도 한밤중에 2차지원 호출을 받는걸 좋아하지 않지만, 가능하다면 응답해서 도와줌으로써, 차후에 같은 상황을 혼자 처리 가능하게 교육해줄 수 있게 됨
- 합리적인 시간이 지난후, 다른사람에게 자유롭게 작업을 넘겨 줄 수 있음. 중대 또는 장기지속 되는 사고의 경우 엔지니어들이 피곤해져서 효율적으로 작업이 불가능하다면, 4시간 또는 그 안에라도 남에게 인계하는게 좋음
- 가장 중요한건, "비난 문화가 아닌 학습 문화를 육성하는 것". 아무리 강조해도 지나치지 않음
ㅤ→ 실수는 사고 대응에서 불가피한 부분이고, 실수로 부터 배우면 더 강력하고 기술적으로 능숙한 엔지니어링 조직이 구축 됨
ㅤ→ 실수로 사람들을 처벌하면 엔지니어는 새로운 상황 발생시 행동하는 것을 두려워하고, 도움요청하는 걸 두려워하게 되고, 투명성을 두려워 하게 됨
ㅤ→ 결국 비난의 문화에서는 온콜 로테이션을 그만두거나 회사를 떠나게 됨

큰 사고가 일어났을 때
- 전체 사이트 중단 또는 심각한 사고에 대응하는 것은 모두에게 스트레스
- 이건 또한 회사의 온콜 문화에 대한 스트레스 테스트 이기도 함
- 엔지니어가 함께 일하고 서로를 신뢰하는 것이 그 어떤것보다 중요
- 모르는 것을 인정하고, 다른 사람에게 도움을 요청하고, 실수를 한 것에 대해 정직하게 말하고, 너무 피곤해서 계속 진행하기 어렵다고 말할수 있게 되면 문제를 더 빨리 해결할 수 있음
- 이런 행동을 육성하는 건 큰 사고가 발생하기 전에 해야 함. 엔지니어는 작은 사고들에 대응하고 동료와 협력하면서 경험으로 배우게 됨.
ㅤ→ 작은 사고 들은 큰 사고에 대한 연습임

- GitHub이 구축한 온콜 문화 https://news.hada.io/topic?id=3551
- GitLab On-Call Runbooks https://news.hada.io/topic?id=966

스타트업은 사람이 없으니, 항상 온콜해야 하는 느낌이긴 합니다만..
조직이 조금 커지기 시작하면 일부 인원만 게속 온콜하게 되고, 저녁과 주말에도 문제를 해결하면서 번아웃 되는 걸 볼 수 있습니다.
기본적으로 문화 형성을 잘 해야 할 것 같아요 (정작 저도 잘 못했던 것 같아서 반성 중입니다..)

 
ToolJet - 오픈소스 NoCode 프레임워크

- 비 개발자들이 코딩 없이 회사 내부용 도구를 만들기 쉽게 해주는 도구 : Retool/AppSmith 대체제
ㅤ→ 비쥬얼 앱 빌더 : 테이블/차트/알림창/버튼..
ㅤ→ 모바일 & 데스크탑 레이아웃 지원
ㅤ→ PostgreSQL, MongoDB, ElasticSearch등 데이터 소스 접근
ㅤ→ API Endpoint 이용 : OpenAPI & OAuth 2 인증
ㅤ→ 외부 서비스 연동 : Stripe, Slack, Google Sheets, Airtable
ㅤ→ 다양한 UI 위젯 제공
- 빌더 화면 어디에나 JS 코드 추가 가능

개발자가 해커뉴스에 7주 동안 열심히 개발했다고 공개를 했는데요.
- Show HN: Open-source alternative to Retool, Internal.io, etc. https://news.ycombinator.com/item?id=27421408

비슷한 오픈소스 Low-Code 플랫폼인 Budibase 가 자기네는 2년간 개발중인데, 7주만에 대단한 걸 만들었다고 칭찬하는 댓글을 달았네요.
( 경쟁자이지만 잘 되길 바라고, 따로 연락 하려면 연락처 남겨달라는 얘기와 함께 )
- Budibase - 사내용 도구 개발을 위한 오픈소스 Low-Code 플랫폼 https://news.hada.io/topic?id=3750

그러자 그 댓글에 GitSense 개발자가 두 프로젝트간의 비교를 공개
ㅤ→ https://gitsense.com 는 Git 기록으로 Metric을 확인할수 있는 프로젝트 대쉬보드를 보여주는 도구
- ToolJet https://public-001.gitsense.com/insights/github/…
- Budibase https://public-001.gitsense.com/insights/github/…

어찌보면 칭찬이면서, 자신의 서비스를 홍보하는 댓글들이라고도 볼 수 있는데
이런 얘기들이 오고 갈 수 있는게 HN이 가지는 강점이라고 생각합니다.

 
스타트업/서비스/모바일 앱 홍보할 곳들 280+개 (영어권)

- 사이트명과 URL
- 각 사이트가 다루는 주요 토픽
- 글 등록시 승인 필요 여부
- 유/무료
- 타입 : 디렉토리, 뉴스레터, 미디어, 커뮤니티, 앱 리뷰, 포럼, 게이밍, 서브레딧, 서비스
- 난이도 : 하(몇개 필드), 중(많은 필드와 정보 요구), 상(엄청 많은 정보 및 편집팀과 컨택 필요)
- Domain Authority 점수 by MOZ : 1~100
- Monthly Traffic by SimilarWeb
- Organic Traffic by Ahrefs

- 개발자들은 오픈소스 프로젝트를 어떻게 홍보 하는가 https://news.hada.io/topic?id=532
- $6k 광고비로 $200k 판매하기 https://news.hada.io/topic?id=3187
- 해커뉴스에 글 올리기 좋은 날과 시간은 https://news.hada.io/topic?id=2970

 
WWDC 2021 에서 발표된 것들

- iOS 15
ㅤ→ FaceTime
ㅤㅤ✓ Spatial Audio 지원
ㅤㅤ✓ 머신러닝을 이용해 잡음 제거
ㅤㅤ✓ 인물사진 모드 지원
ㅤㅤ✓ Links 기능으로 통화 링크 공유 (웹에서도 FaceTime 지원해서 안드로이드/윈도우 와도 통화 가능해짐)
ㅤㅤ✓ SharePlay : FaceTime 하는 중에 영상을 같이 보고, 음악을 듣고, 화면 공유도 가능. TV 멀티 공유도 가능
ㅤㅤ✓ 개발자들은 자신의 앱을 SharePlay 지원하게 가능 : 디즈니+, 트위치, HBO, 틱톡, 마스터클래스 등이 작업중
ㅤ→ Messages & Memoji
ㅤㅤ✓ 공유된 이미지들이 콜라쥬/스택으로 표시
ㅤㅤ✓ 메시지로 공유된 링크/이미지/콘텐츠 들을 Pin 하면, 관련앱의 Shared With You 섹션에 표시 되고 앱 화면에서 바로 회신도 가능 : 사진/사파리/애플뉴스/애플뮤직/팟캐스트/TV 앱이 지원
ㅤ→ Focus
ㅤㅤ✓ 뭔가에 집중할수 있도록, 원하는 알림만 받게 설정 가능 : 운전/운동/게임/독서 등등
ㅤㅤ✓ iMessage 보내려는 상대에게 현재 Focus 상태라고 알림이 보여짐
ㅤ→ Notification
ㅤㅤ✓ Summary 기능으로 중요도/연관도로 묶어서 한번에 보여주기
ㅤㅤ✓ 아이콘을 더 크고 알기 쉽게 디자인 재설계
ㅤ→ Live Text
ㅤㅤ✓ 사진에서 글자를 읽어내어 선택하고 복사하는 동작 가능 : 전화 / 이메일보내기 등등
ㅤㅤ✓ 영어/중국어/불어/이탈리이어/독일어/포르투갈어/스페인어 인식하고 시스템 내장 번역도 지원
ㅤㅤ✓ 아이폰/아이패드/맥 모두 지원
ㅤ→ Visual Look Up
ㅤㅤ✓ 사진내의 객체를 인식하고 검색 지원
ㅤ→ Spotlight 에서 Live Text / Visual Lookup 을 이용한 사진 검색도 지원
ㅤ→ Photo Memories
ㅤㅤ✓ 사진을 분석하고 애플뮤직의 음악을 맞춤 적용해서 박자에 맞춰서 바뀌는 훌륭한 메모리 동영상 생성
ㅤ→ Wallet
ㅤㅤ✓ 다양한 ID 카드 추가 : 운전면허, 디즈니..
ㅤㅤ✓ 집, 차고, 호텔방, 회사 등등의 키 등록 가능
ㅤㅤ✓ UWB 지원하는 자동차들은 핸드폰 꺼낼 필요없이 근처에 가는 것만으로 잠금 해제 가능(BMW 올해 말 예정)
ㅤ→ Weather
ㅤㅤ✓ 새로운 애니메이션, 공기질(한국 지원), 날씨지도
ㅤ→ Apple Maps
ㅤㅤ✓ 미국,영국,아일랜드,캐나다,스페인,포르투갈,이탈리아,호주
ㅤㅤ✓ 상세한 디테일이 적용된, 3D 랜드마크, 도로, 나무..
ㅤㅤ✓ 상세한 도로 정보로 네비게이션 제공 : 회전 차선, 횡단보도, 자전거 차선등. 고속도로 IC를 3차원으로 렌더링
ㅤㅤ✓ 대중교통 정보 추가 : 근처 정류장, 시간표
ㅤㅤ✓ AR을 이용한 걷기 모드 지원

- AirPod
ㅤ→ Conversation Boost
ㅤㅤ✓ 대화중 남의 소리를 더 잘들리게, 노이즈 감소
ㅤ→ 중요한 내용을 Siri로 읽어주기
ㅤ→ 더 강력한 내 AirPods 찾기 : Separation Alert 제공 (멀어지면 알려주기)
ㅤ→ Spatial Audio 를 모든 기기(아이폰 외에 맥/애플TV)에서 지원
ㅤ→ 애플뮤직 Dolby Atmos 지원

- iPadOS 15
ㅤ→ 위젯을 홈스크린에 배치하고 앱라이브러리 추가 및 새로운 대형 위젯들 공개
ㅤ→ 멀티태스킹 강화
ㅤㅤ✓ 멀티태스킹 메뉴 추가 : 홈화면에 접근, Split View
ㅤㅤ✓ 별도의 센터윈도우로 뷰변겅없이 작업 가능
ㅤㅤ✓ Shelf 기능으로 여러개의 윈도우를 이동가능
ㅤㅤ✓ App Switcher 에서 드래그앤 드랍으로 Split View 생성
ㅤㅤ✓ 키보드 단축키 지원
ㅤ→ Note
ㅤㅤ✓ 메모장에 멘션 기능 및 태그 기능 추가
ㅤㅤ✓ 시스템 전반적으로 사용가능한 Quick Note 기능 추가 : 어디서나 빠르게 메모를 작성. 현재 사용중인 앱을 감지하고 정보를 추가 가능
ㅤ→ Auto Translate
ㅤㅤ✓ 어디너사 버튼 입력없이 자동 번역 지원
ㅤ→ Swift Playground
ㅤㅤ✓ SwiftUI를 이용해 실제로 앱을 제작 가능
ㅤㅤ✓ 아이패드에서 직접 AppStore에 제출가능
ㅤ→ iOS 15에 적용된 기능들 대부분 같이 추가 : FaceTime, SharePlay, 메시지, Focus, Noti, Live Text..

- Privacy
ㅤ→ Mail Privacy Protection
ㅤㅤ✓ 수신자의 IP 와 위치정보, 메일 오픈여부를 숨김
ㅤ→ App Privacy Report
ㅤㅤ✓ 각 앱의 개인정보 취급상황을 개괄적으로 보여줌
ㅤㅤ✓ 승인된 접근권한의 사용빈도를 알수 있음
ㅤㅤ✓ 앱이 접근하는 써드파티 도메인 전체를 확인 가능
ㅤ→ Siri
ㅤㅤ✓ 인터넷 연결 필요없는 온디바이스 음성인식 지원

- iCloud
ㅤ→ Account Recovery
ㅤㅤ✓ Recovery Contact 추가 가능 : 계정 접근이 불가능할때 그들을 통해서 6자리 코드를 획득 가능
ㅤㅤ✓ Legacy Contact 추가 가능 : 자신이 죽은뒤 계정 상속이 가능한 사람들. 사후에 그들이 계정 접근 요청 가능
ㅤ→ iCloud+ : 유료 구독 서비스의 기능 확장. 가격 인상 없음
ㅤㅤ✓ Private Relay : 기기로 부터 나오는 모든 정보를 암호화
ㅤㅤ✓ Hide My Email : 본인의 이메일 주소를 숨기는 랜덤 이메일 계정 생성 기능
ㅤㅤ✓ HomeKit Secure Video : 무제한 카메라 지원

- Health
ㅤ→ Mobility : Walking Steadiness
ㅤㅤ✓ 다양한 데이터를 통해서 낙상(넘어질) 위험이 증가하면 보행상태를 개선하기 위한 선제 조처가 가능
ㅤ→ Labs
ㅤㅤ✓ 건강상태에 대한 상세한 설명 제공
ㅤ→ Trends
ㅤㅤ✓ 자신의 걸음,혈당,수면 등 다양한 영역에 걸친 추세를 알려줌
ㅤ→ 자신의 건강정보를 의사에게 직접 전달하는 기능 제공 : 의사들이 사용하는 시스템과 연동
ㅤ→ Health Sharing
ㅤㅤ✓ 소중한 사람들의 건강 데이터, 추세, 경고 내역을 공유 가능

- watchOS 8
ㅤ→ 인물사진 이용한 멀티레이어 워치페이스 추가
ㅤ→ 기존 심호흡(Breathe) 앱을 성찰(Mindfulness) 앱으로 확장/변경
ㅤㅤ✓ 명상과 심호흡
ㅤ→ 태극권과 필라테스 운동 추가
ㅤ→ 매일 만들어지는 Photo Memories 워치에서 편하게 확인 하고 사진을 공유 가능
ㅤ→ 스마트홈 기기 자동으로 인식하고 동작 명령 추천
ㅤ→ 시간에 기반한 Mission: control
ㅤ→ UWB 기능으로 집/자동치 등의 키로 동작
ㅤ→ 쉬워진 메시지 작성 및 편집
ㅤ→ Focus 지원

- Home
ㅤ→ 아이폰의 홈키 기능 으로 문열기
ㅤ→ Siri 를 다른 브랜드에서도 사용 가능하게 지원
ㅤ→ 오픈소스로 공개한 matter 기반 홈 오토메이션 표준 지원

- macOS Monterey
ㅤ→ FaceTime, SharePlay, Spatial Audio, Potrait Mode..
ㅤ→ Focus 기능 지원
ㅤ→ Continuity
ㅤㅤ✓ Universal Control : 하나의 마우스/키보드로 맥/아이패드를 부드럽게 연결해서 제어. 서로간에 드래그앤 드롭도 가능
ㅤㅤ✓ AirPlay to Mac : 맥이 아이폰/아이패드 에서 송출가능한 AirPlay 스크린으로 동작
ㅤ→ Shorcuts on Mac
ㅤㅤ✓ 아이폰의 단축어 기능을 맥에서도 그대로 도입
ㅤㅤ✓ 맥 전체 어디서에서나 사용 가능
ㅤㅤ✓ 기존 Automator 에서 만든 것을 임포트 가능
ㅤ→ Safari
ㅤㅤ✓ UI 를 깔끔하게 재설계 : 주소바와 탭바가 한줄에, 탭그룹 지원
ㅤㅤ✓ 탭 그룹은 모든 애플 기기간에 동기화
ㅤㅤ✓ iOS에선 탭 간에 더 쉽게 이동하기 위한 Swipe 기능을 추가
ㅤㅤ✓ 브라우저 확장을 아이폰/아이패드에도 도입 (코드 공유)

- 개발자를 위한 다양한 것들 공개
ㅤ→ Object Capture : 아이폰 카메라를 이용해서 객체를 3D 캡쳐해서 모델으로 불러오기 가능
ㅤㅤ✓ 쉽게 AR 기능에서 실생활 오브젝트를 사용 가능
ㅤ→ Swift
ㅤㅤ✓ Fast,Modern,Safe 한 Concurrency 지원 : async, await, actor
ㅤ→ App Store
ㅤㅤ✓ 여러 버전의 앱 소개 페이지를 제작 가능 : 아이콘, 영상, 설명을 모두 다르게
ㅤㅤ✓ in-App Envents : 앱내에서 발생하는 이벤트를 앱스토어에서 홍보할 수 있게 해주는 기능. 소개페이지에도 추가 가능
ㅤ→ xCode Cloud :
ㅤㅤ✓ 워크플로우를 단순화
ㅤㅤ✓ 코드를 클라우드에서 빌드하고 테스트
ㅤㅤ✓ TestFlight 테스터에게 쉬운 배포
ㅤㅤ✓ 맥 앱에도 TestFlight 기능 제공

 
App Store 심사 지침 변경 : 계정 생성 가능한 앱은 계정 삭제도 지원해야 함

- 5.1.1 데이터 수집 및 보관 의 (v) "계정 로그인"
ㅤ→ "앱이 계정 생성을 지원한다면, 앱 내에서 계정 삭제를 지원 해야함" 항목이 추가 됨
ㅤ→ 기존엔 "계정이 꼭 필요한게 아니면, 비 로그인 상태에서도 동작 가능해야함" 부분만 있었음
- 6/7일자 변경에 포함(아직 한국어 번역은 없음)

이게 GDPR 개인정보보호 규격에 맞춰서 들어가는 거라고 하더군요. KISA에서는 삭제권이라고 부르네요.
https://www.kisa.or.kr/uploadfile/201805/201805241934148238.pdf

많은 앱들이 계정 삭제는 지원 안하는데, 이제 아예 애플이 리뷰에서부터 걸러주겠군요.

HN 댓글에 "호텔 캘리포니아 비즈니스 모델" 이라는 단어가 나와서 빵 터졌네요.
https://news.ycombinator.com/item?id=27444915
"You can check out any time you like, But you can never leave"

- 뉴욕타임즈 구독을 취소하는 방법 https://news.hada.io/topic?id=3763
- Dark Patterns - 사용자를 어렵게 만드는 나쁜 패턴들 모음 https://news.hada.io/topic?id=455

 
Snowtrack - 디자이너와 일러스트레이터를 위한 버전관리 도구

- 다양한 2D/3D 바이너리 파일의 버전관리에 최적화
ㅤ→ Auto-Pilot : 자동으로 변경을 감지해서 파일 버전 트래킹
ㅤ→ 자동 브랜치 기능 지원
ㅤ→ 프로젝트 폴더만 드래그 앤 드롭하면 바로 버전관리 시작
- 윈/맥
- 그래픽 파일 버전관리 스토리지 오픈소스인 SnowFS 기반
ㅤ→ 큰 파일의 변경부분을 빠르게 감지, 비동기 파일해슁
ㅤ→ 다양한 파일 포맷 인식 (psd, blend, c4d..)
ㅤ→ Tracks(브랜치) 지원
ㅤ→ 인스턴트 스냅샷/롤백 지원
- 현재 베타. 연말에 정식 출시 예정(1회 결제를 통한 영구 라이선스)

 
알아두면 좋은 WebStorm용 플러그인 | The WebStorm Blog

제목은 WebStorm용 플러그인이지만, JetBrains에서 만든 여러 IDE에서 대부분 동일하게 사용할 수 있는 유용한 플러그인 모음

생산성에 직접적인 도움이 되는 몇 가지를 추려보면,

- Key Promoter X
→ IDE 내에서 모든 버튼에 마우스 클릭 시 마우스 대신 사용할 수 있는 키보드 단축키 표시
→ 단축키가 없는 버튼의 경우, 플러그인이 단축키를 할당할 것을 제안
→ 마우스에 대한 의존도를 줄이고 빠르게 코딩할 수 있도록 도움

- Codota
→ AI 기반 코드 완성 제안
→ 코드 완성 제안을 더욱 관련성 있게 만들어 코딩 속도를 더욱 높여줌
→ PyCharm에는 AiXCoder가 있고, 파이썬/자바스크립트/타입스크립트 등 다양한 언어 지원

- Randomness
→ 개발하며 임의의 데이터를 입력할 일이 있을 때 유용하게 쓸 수 있는 플러그인
→ 단축키로 난수, 문자열 및 UUID 등을 삽입해줌
→ 테스트 코드 작성 등 상황에 맞춰 유용하게 쓸 수 있을 것

- Presentation Assistant
→ 행사에서 IDE 기반 발표를 하거나 페어 프로그래밍을 할 때 유용하게 쓸 수 있는 플러그인
→ 사용 중인 단축키 표시를 표시하여 청중이 발표자의 액션을 쉽게 따라갈 수 있게 해줌

 
Mastershot - 무료 웹기반 비디오 에디터

- 간단하고 빠른 브라우저 기반 로컬 비디오 편집 도구
- 1080p 지원
- 비디오 잘라내기
- 여러개의 비디오/이미지/오디오 하나로 묶기
- 영상에 소리 추가하기
- 이미지로 슬라이드쇼 만들기, 비디오에 이미지 추가하기
- 영상에 텍스트 추가
- 영상에서 오디오 추출 가능
- 추가 예정 기능
ㅤ→ Stock 이미지/비디오 사이트 연동
ㅤ→ 그린 스크린 (Chroma Keying)
ㅤ→ 클립간 트랜지션
ㅤ→ 키프레임 애니메이션

 
Astro : JavaScript를 최소한으로 배포하기

- 웹사이트를 빠르게 하기 위해 기존 웹프레임워크에서 JS를 최대한 걷어내주는 오픈소스 도구
ㅤ→ React, Svelte, Vuew, Preact, Vanilla JS+HTML.. (BYOF) 로 만든 사이트에서
ㅤㅤJS를 다 걷어내고 100% Static 사이트로 변환
- TypeScript, CSS Module, Sass, Tailwind, Markdown, MDX 및 모든 npm 패키지 지원
- 인터랙티브 필요한 것들은 쓸 때만 On-Demand로 불러오기 (Partial Hydration)
- SEO & Syndication 지원 : 자동 Sitemaps, RSS 피드, 페이징 및 컬렉션..

기존 도구들을 그대로 쓸수 있으니, 프레임워크를 위한 프레임워크 라고 봐야 하려나요.
Introducing Astro - https://astro.build/blog/introducing-astro

Snowpack 팀이 만들었습니다.
- Snowpack - 웹앱을 번들러 없이 빠르게 빌드해주는 도구 https://news.hada.io/topic?id=1267
- Snowpack 2.0 릴리즈 https://news.hada.io/topic?id=2174
- Snowpack 3.0 릴리즈 https://news.hada.io/topic?id=3584

 
HTTP Cats - HTTP 상태코드를 고양이로 보여주는 API

- HTTP 상태코드 200,404,500 등 100~599 까지의 총 60가지 상태 코드를 고양이 이미지로 보여주기
- https://http.cat/[status_code] 형태만으로 동작
- .jpg 확장자 지원

엔지니어 버전을 원하신다면 - https://httpstatuses.com
강아지 버전을 원하시는 분들은 - https://httpstatusdogs.com

HN에 재미난 댓글이 있네요 https://news.ycombinator.com/item?id=27420936

회사 내부용 도구에서 404/503 에러를 그냥 보여주면 "어라 문제가 있네, 에이 나중에 다시해야지" 라고 생각하는데,
고양이/개 이미지를 보여주면 기술팀에 "고양이는 뭐야?" 라고 물어보는 경향이 있다고..
뭔가 잘못되었을때 사람들이 주의를 기울이게 하는데는 동물 이미지가 제격 이라는 얘기

비슷하게 아마존은 에러대신 강아지를 보여주는 것으로 유명하죠
https://businessinsider.com/amazon-dogs-on-error-page-prime-day2018-7/

 
Open Source Insights - 오픈소스를 이해하기 쉽게

- 구글의 실험적인 프로젝트
- 오픈소스 소프트웨어 패키지의 구조와 보안 등을 쉽게 이해할 수 있도록 도와주는 도구
ㅤ→ 의존성을 가지는 각 패키지를 조사해서 한눈에 볼 수 있는 그래프로 표현
- npm/go/maven/cargo 등의 수백만개 패키지를 조사해서 디펜던시 그래프를 그리고 오너십/라이센스/유명도 등의 메타데이터를 포함
- NuGet / PyPI도 지원 예정

 
Handsfree.js - 웹에서 얼굴/손/포즈 인식을 쉽게

- 몇줄의 코드로 웹앱에서 얼굴/손/포즈 트래킹 기능을 구현
ㅤ→ 예) 손가락 모션으로 페이지 스크롤하기
- MediaPipe Hands/FaceMesh/Pose + TensorFlow Handpose + Jeeliz Weboji 모델들 이용
- 플러그인 : faceScroll, parmPointer, pinchers, faceClick, pinchScroll..
- 웹브라우저 확장으로도 제공

 
VSCode용 REST Client 확장

- VSCode 안에서 HTTP요청을 바로 보내고 받아서 표시해주는 확장
ㅤ→ URL 또는 RFC2616 표현
ㅤ→ 단축키로 바로 실행
- 응답은 별도 창으로 구문강조 해서 표시
- GraphQL Query / SOAP 도 지원
- cURL 명령으로 실행 가능. 요청을 cURL 명령으로 복사 지원
- 요청 내역 자동 저장 및 보기 가능
- 한개의 파일에서 여러개의 리퀘스트 관리 가능(### 으로 분리)
- 인증 지원 : Basic/Digest/SSL인증서/Azure/MS/AWS
- Python/JS 등의 언어용 HTTP Request 코드 스니펫 생성
- Proxy 지원

이거 보고 비슷하게 구현한 웹버전 오픈소스인 Prestige https://prestigemad.com/ 도 있습니다.
근데 사용하기엔 이 VSCode 버전이 더 편할 것 같네요.
테스트할때 주로 쓰는 API 요청들을 텍스트(.http)로 묶어서 저장해두면 관리도 쉬울 듯 합니다.

 
초대형 AI NLP Model은 어디로 가고 있는가?

현재 상황
- 구글 IO에서 발표한 람다(LaMDA), MS에서 독점 라이센스를 구매한 GPT-3, 페이스북에서 번역 및 콘텐츠 관리용 자체적으로 개발한 LLM(Large Language Model) 등 거대 기업들에서 각자의 초대형 NLP Model들을 개발 중
- 각자 비공개적으로 만들고 있는 모델들이 실생활에 활용될 때, LLM의 결함이 사람들에게 어떤 영향을 미치는지, 어떤 문제가 있고 그걸 해결 할 수 있는 지에 대한 연구는 전무한 상황.
- 지난 12월 구글은 윤리적 AI(Ethical AI) 부서의 공동 팀장 팀닛 게브루(Timnit Gebru)를 해고 되면서 문제가 더 심화됨

새로운 시도를
- 허깅페이스(Huggingface)가 이끄는 빅사이언스(BigScience) 프로젝트에 전 세계에서 500명이 넘는 연구자들이 모여 오픈소스 LLM을 구축하기 위해 박차를 가하고 있다.
- 슈퍼컴퓨터의 생애주기 비용(life-cycle costs)을 고려하여 모델의 훈련과 운용에 따른 탄소발자국을 포함한 LLM의 환경 영향을 측정하는 실무그룹
- 어떻게 하면 책임 있는 방식으로 훈련 데이터를 확보할 수 있을지를 고민하는 실무그룹

---------
요약이 어려워서 요약을 잘 못했는데요.
기술에 대한 걱정 및 희망으로 "기본소득"이라는 아젠다가 나온 것처럼, 작년에 나온 GPT-3에 대한 기대와 우려로 "폐쇄적인 AI 개발에 대한 우려"라는 아젠다가 수면 위로 올라오고 있는 듯 합니다. 2050년 즈음에 이 글을 다시 한번 보고 싶네요.

 
Faves - 뉴스 큐레이션 앱

- 유명한 큐레이터들을 팔로우해서 스크롤하며 보는 뉴스앱
ㅤ→ TikTok의 제품 총괄, Sequoia의 VC, 구글의 AR제품 총괄..
- 틱톡 + 트위터 + 인스타그램 스토리
- 링크 / 이미지와 함께 큐레이터가 음성으로 간단한 설명을 남길 수 있음
ㅤ→ 보는 사람도 텍스트 또는 음성으로 댓글 남기기 가능
ㅤ→ 스크롤하면 음성 자동 재생
- 밈/기사/비디오/팟캐스트 등 공유에 최적
ㅤ→ 트위터/인스타그램/틱톡/레딧/미디엄/유튜브 등 대부분의 서비스 링크에 대해서 훌륭한 임베딩 UI 제공
- 현재는 iOS만 지원

 
구글 검색 상위에 있는 HTML 에디터/클리너가 SEO Scam 입니다

- 구글에서 HTML 편집 및 클린으로 검색해서 나오는 여러개의 툴이 실제로는 다 같은데서 만든 것
- 이 도구들은 사용자가 실제 넣은 페이지의 일부 단어를 자신들이 운영하는 웹사이트로 연결되는 링크를 삽입
ㅤ→ score 라는 단어가 나오면 무조건 자신들의 scorecounter 웹 사이트로 연결
- scorecounter 웹사이트는 이를 이용해서 계속 검색 상위에 머무르고 있음
- 같은 사람들이 루빅스 큐브를 푸는 ruwix 라는 사이트에 대해서도 같은 방식을 이용
ㅤ→ 심지어 안티바이러스 만드는 Kaspersky 홈페이지에도 ruwix 링크가 걸려있었음 (지금은 삭제)
- 웹에서 이런 도구들 찾아서 사용할 때 조심할 것

Cleaner / Beautifier 들은 정말로 구글 검색에서 찾아서 사용하고는 하는데.. 조심해야 겠네요.

 
애플,모질라,구글,MS가 웹브라우저 플러그인 표준화 그룹 결성

- W3C WECG (WebExtensions Community Group)
ㅤ→ 일관되고 공통된 기능/API/권한을 제공해서 개발자들이 확장을 쉽게 개발
ㅤ→ 성능을 향상시키면서도 안전하고 어뷰징 불가능한 아키텍처 구상
- 작업 범위
ㅤ→ Extension 모델 : 확장의 기본 아키텍쳐. 확장과 브라우저/확장과 웹페이지간의 신뢰 모델 포함
ㅤ→ Permissions 모델 : 어떤 기능을 접근 가능하고, 어떻게 사용자에게 권한을 획득하는지
ㅤ→ WebExtensions API
ㅤ→ 패키징 포맷, 매니페스트 포맷 및 다국어 지원 방법 포함
ㅤ→ Native Messaging : 호스트 시스템의 네이티브 어플리케이션과 메시지를 교환하는 API

 
jina - 딥러닝 기반 검색엔진 오픈소스

- "Cloud-Native Neural Search" : DNN을 이용한 정보검색 프레임워크
ㅤ→ 모든 비정형 데이터 지원 : 영상, 이미지, 글자, 음악, 소스코드, PDF..
- 클라우드에 적합한 분산 아키텍처
ㅤ→ REST/gRPT/WebSocket을 이용한 통신
ㅤ→ 컨테이너 기반
ㅤ→ 병렬/사딩/비동기
- 단순 텍스트/이미지 검색만이 아니라 챗봇/스마트 스피커/추천 시스템 등에도 적용 가능

 
lookatme - 터미널 기반 마크다운 프리젠테이션 도구

- 터미널에서 인터랙티브한 프리젠테이션 지원
- 라이브 리로딩(파일 변경 감지)
- 슬라이드에 실시간 터미널 임베딩 가능
- Syntax Highlighting
- 코드 블록에 외부파일 로딩 지원
- 확장 구현 가능
ㅤ→ 기본 제공 확장들 : QRCode, 이미지 뷰어, 외부 렌더러