[GN#64] 새로운 아이디어를 찾는 법

2020-09-21 ~ 2020-09-27 사이의 주요 뉴스들
뭔가 아이디어가 필요할 때 어떻게 하시나요? 전 다양한 것들을 보고 그걸 발전시키거나, 본 것들을 조합하거나 더 파고 들어서 찾곤 합니다. 이번 주는 이 아이디어를 찾는 방법 두 가지 기사를 묶어봤습니다. Backlinko 에 올라온 "17 Untapped Ways to Find New Content Ideas" 글은 블로그나 유튜브 콘텐츠를 만들 때 어떤 내용을 사람들이 재미나게 볼까 고민할 때 참고할 만한 글입니다. 구글 이미지 Tags에서 사람들이 많이 검색한 것들을 찾아보거나, 다양한 주제를 다루는 Reddit 커뮤니티를 활용한 Keyword 검색 도구를 통해서 요즘 사람들이 뭐에 관심 있어 하는지를 쉽게 찾아보실 수 있을 것 같아요. 그리고 "Deck of brilliance" 는 기본적으로 광고 Creative 제작자들을 위한 아이디어 생성도구 이긴 한데요. 52개나 되는 상황별 정리를 통해서 지금까지 성공적이었던 광고들이 뭔지를 볼 수 있어서, 우리가 뭔가를 얘기하고자 할때 어떻게 하면 사람들한테 더 강하게 인상을 줄 수 있는지를 배울 수 있는 사이트 입니다.

해커뉴스의 Ask란은 IT 관련된 정말 다양한 질문이 올라와서 제가 아주 좋아하는 섹션입니다. 여기에 "지금까지 본 Bad Code 중 가장 큰게 뭔가요?"라는 질문이 올라왔는데, 2500만 라인짜리 오라클 DB 12버전이 가장 나빴던 코드다 라면서 오라클에 다녔던 개발자가 자신의 근무 경험을 아주 상세히 적은 글이 재미있어서 옮겨 봤습니다. 고려해야 할 수많은 플래그와 수백만개의 기존 테스트가 있고, 한번 테스트팜에 올리면 30시간 기다려야 테스트 결과가 나오는 제품을 개발하는 개발자의 삶은 어떨까요? 전 역설적으로 테스트가 진짜 중요하다고 생각하게 만드는 글이었습니다.

iOS14 출시 이후로 사용자들에게 가장 관심을 끄는 것은 아마 위젯일거 같은데요. 홈 화면을 예쁘게 꾸민 사진이 여기저기 많이 올라오고 있습니다. 근데 실용적인 기능으로는 접근성 기능 중에 새로 추가된 백탭 기능이 정말 유용합니다. 바로 폰의 뒷면을 더블탭 또는 트리플탭 하면 미리 지정한 동작을 할 수 있게 하는 기능입니다. 요즘 코로나19 때문에 매장들 방문시 QR코드 체크인할 때 마다 특정 페이지를 접근해야 하는데, 이 백탭을 하면 해당 QR코드 페이지로 움직이는 단축어를 만들어서 연결한 글이 인기를 끌었습니다. 아이폰 사용중이시라면 꼭 사용해 보시기 바랍니다.

이번 주에는 Microsoft 와 Windows 관련 뉴스가 여러개 나왔습니다. 애플이 밀고 있는 개발언어 Swift 의 윈도 버전이 출시 되었고, 구글의 크로스 플랫폼 UI툴킷 Flutter 도 윈도용 알파 버전이 공개되었습니다. 근데 Windows XP 소스 코드가 유출된 사고도 있었구요. 또한 MS가 유명한 개발사인 Bethesda 를 8.7조원에 인수한다는 뉴스가 나오면서 게이머들 뿐만 아니라 다양한 게임 개발자들의 관심을 받았습니다. 모바일의 실패 이후로 하향세일꺼라고 생각했던 MS가 클라우드와 게임, 오픈소스 등으로 다양한 이슈로 관심 받는걸 보면서 저력을 느끼게 됩니다.


✓ 사내에서 슬랙을 쓰신다면 뉴스채널에 GeekNews SlackBot 을 추가하여 편하게 새 글을 받아보시고, 멤버들에게도 공유해주세요.
✓ 주위분들께 긱뉴스 위클리 - https://news.hada.io/weekly 를 추천해 주세요.
Twitter , Facebook 에서도 긱뉴스를 받아 보실 수 있습니다.
✓ 긱뉴스를 팟캐스트로 들어보세요 : 애플, 유튜브, 팟티, 팟빵, 구글, 네이버 오디오클립

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


새로운 콘텐츠 아이디어를 찾는 방법들

블로그/유튜브 콘텐츠를 만들 때 새로운 글감을 찾게 도와주는 도구들
1. 구글 이미지 Tags 활용하기
2. 페이스북 AD Library 에서 다른 광고들 보기
3. Reddit Keyword Research Tool 에서 다른 사람들이 많이 얘기하는 단어들 찾기
4. SEO도구의 백링크 확인하기
5. The Exploding Topics(무료)로 새 토픽 찾기
6. 자신과 경쟁자 블로그의 댓글
7. 경쟁자의 유튜브 채널
8. Product Hunt
9. Google Analytics Landing Pages Report
10. Ahrefs Content Explorer
11. 예전 콘텐츠 업데이트
12. 년도별 가이드 작성
13. 컬렉션 글 만들기
14. 구글 연관 검색
15. 경쟁없는 키워드 찾기
16. A/B Rankings 의 사람들이 주요 묻는 질문들 리스트
17. Podcast 제목과 설명

 
광고 아이디어 생성 도구

특정 상황에 대한 광고 아이디어(Creative)가 떠오르지 않을 때 참고 가능한,
52개 상황별 설명과 함께 최고/최적의 광고 영상만 모아놓은 페이지
꼭 광고만이 아니라 컨텐츠를 만들 때 두고두고 참고해야할 추천 사이트

1. 영광과 축하 : 개인/그룹/물건/장소를 띄우고 칭찬하세요. 신이 아니라 제사장이 되세요. 어떤 브랜드도 스스로를 미화해서는 안됩니다.
2. 공감과 지원 : 중요한 사람들의 그룹을 식별하고 그들을 대변해주세요.
3. 문제를 극적으로 표현 : 모든 제품은 문제에 대한 해결책. 90% 문제와 10% 솔루션, 농담은 90%가 설정이고 10%가 펀치라인.
4. 해결책을 극적으로 보여줄 때 : 이런 광고의 90%는 제품을 사용함으로써 발생하는 흥미로운 상황을 보여주는 것. 제품의 장점에 대한 흥미로운 표현을 많이 찾고, 가장 신선하고 진실된 표현을 선택하기
5. 해결책이 새로운 문제를 일으킨다는걸 알려줄 때
6. 문제를 유추하도록 도와줄 때 : 올바른 비유를 통해서 해당 문제를 이해하기 쉽고, 수용가능한 느낌으로 만들기
7. 해결책을 유추하도록 도와줄 때
8. 제품이 귀중하다는걸 보여주고 싶을 때
9. 이야기 하기 : 어떻게 갈등을 보여줄 것인가 - 캐릭터 vs 자신, 캐릭터 vs 캐릭터, 캐릭터 vs 자연, 캐릭터 vs 사회, 캐릭터 vs 기술 , 캐릭터 vs 운명
10. 환상적인 세계, 사람, 물건을 만들기 : 신이 된 것처럼 해보세요
11. "아하!"가 나오도록 데모 보여주기
12. 청중을 백스테이지로 데려가기 : 제품이 어떻게 만들어졌는지 보여주세요
13. 정의하고 라벨링하고 그룹핑하기
14. 고객,전문가,유명인들을 이용하여 추천하기
15. 지속적으로 캐릭터 또는 마스코트 사용하기
16. 비교와 대조 : 경쟁 제품과의 비교가 아니라 장소/상황/아이디어, 태도/감정/관점, 행동/액션과 결과, 과거와 현재, 이전과 이후, Yes 와 No 같은 걸 비교하기
17. 역할을 바꾸기 : 비교해야할 두가지를 식별한 후 서로를 바꿔서 보기
18. 자신에게 도전하기 : 이전에 시도한적 없는 목표를 선택하고 세상에 알리고 그 목표를 추구하기
19. 소비자에게 도전하기 : 청중에게 도전할 것을 주고 참여시키기. 긍정적이고 영감을 주는, 추구할 가치가 있는 목표를 줄 것
20. 원인을 효과와 연결 : 사회적인 이슈들은 사람들에게 요청해서 실행되더라도 바로 결과가 보이지 않음. 이렇게 시간과 공간이 먼 것들을 시각적으로 보여줄수 있다면 그 차이를 크게 느낄수 있음.
21. 고유한 속성을 사용 : 제품에 특이한 것들이 있다면 그걸 보여주기. 특이한것이 없다면 포지션을 바꾸거나 프레임을 변경해서 눈에 띄도록 하기
22. 다른 카테고리의 스타일 채택하기 : 자동차를 스포츠 언어로, 기업광고를 패션 광고처럼, 화장품 광고와 같은 여행 광고, 음식 광고를 뮤지컬로..
23. 친숙한 것을 낯설게 만들기 : 다르게 취급하는 것 만으로 오래된 것을 신선하고 새로운 느낌으로 만들수 있음.
24. 인간적으로 : 추상적인 개념을 전달하는게 어렵다면, 인간적인 차원을 부여해보기. 주제를 의인화 하고, 사람의 이름/모양/목소리를 지정하고 특성/성격/감정도 부여하기. 애플의 Siri처럼
25. 패러디, 풍자, 속이기 : 스스로에게 웃을수 있는 브랜드는 호감이 가는 브랜드
26. 적을 만들기 : 많은 사랑을 받는 브랜드는 공개적으로 적을 식별해왔음. 브랜드가 상징하는 것보다 반대하는 것에 이야기함으로써 브랜드 가치를 표현하는 것이 더 쉬운 경우가 많음
27. 죄책감의 힘 사용 : 죄책감은 강한 감정이므로 그걸 이용하기. 단 너무 직접적인것 보다는 미묘한 터치로
28. 언더독 챔피언 : 소비자는 기업이 적절한 가치와 신념을 갖기를 기대. 약자를 옹호하고, 억압받는 사람을 위해 일어서고, 희생자를 찾고 그들의 곤경을 강조, 비특권 계층을 위한 설계 또는 기술 솔루션을 생각해보기
29. 갈등 해결 하기 : 가족,직원,이웃,팀,세대,지역 사회,사회,인종,국가 간의 해결되지 않은 갈등을 식별하고 양쪽의 당사자를 하나로 모으는 적절한 방법을 찾기
30. 누군가의 하루 만들기 : 타겟 고객 한명을 선택해 그들의 꿈을 실현해주기. 그 사람을 도움으로서 좋은 브랜드라는 것을 인지 시키기
31. 편견을 뒤집기 : 사람들이 오해하고 있거나, 편견이 있는 카테고리를 찾아서 틀렸다는 것을 증명하기. 부정적인 것에서 긍정적인 것을 찾고, 언뜻 보기엔 흉하게 보일수 있는 것의 아름다움을 드러내기. 세상이 결코 할수 없다고 말한 모든 것을 하세요.
32. 잔인할 정도로 정직하게 : 브랜드와 제품에 대한 절대적인 진실을 얘기하기. 불완전함과 결점을 지적하고, 실수를 저질렀고 약속을 어겼음을 인정하기. 절대적인 만족을 제공하지 못한 것에 대해 사과하기.
33. 사회적 압력을 적용하기 : 우리는 다른 사람이 우리를 어떻게 생각하는지에 집착하며, 같은 그룹내에서 좋아하고, 존경하고 존경받기를 갈망함. 따라서 우리는 그에 맞추기 위해 모든것을 하게 되며, 사회적 압력은 긍정적 행동을 강화하거나 부정적인 행동을 교정할 수 있음.
34. 놀라운 구경거리를 만들기 : 입소문을 만들고, 소셜미디어에서 공유될 만한 콘텐츠 만들기. 야심을 품고, 가능하면 세계 기록을 세우는걸 목표로.
35. 귀여움의 힘 사용 : 페이스북에서 고양이 동영상을 보고, 아기를 유심히 보았다면 이미 알듯이, '귀여움'은 마음을 녹이고, 사람들이 고난을 견딜수 있게함.
36. 잔인할 정도로 심플하게 : 가장 간단하게 표현하기. 돈과 장소, 카메라, 배우를 제한하기. 말과 이미지를 제안해 보기. 시간을 제한해 보기. 제한이 클수록 더 많은 아이디어가 추출됨.
37. 보완적인 제품을 만들어 보기 : 브랜드에 가치를 더하면서 기존 제품을 보완할 새로운 제품을 생각해 보기.
38. 커스터마이징 및 개인화 : 누구도 숫자처럼 느껴지는 것은 좋아하지 않음. 고객 자신만을 위해 존재하는 것처럼 느끼게 만들기. 메시지 또는 경험을 맞춤해서 제공.
39. 다른 사람의 파티를 파괴하기 : 당신과 관련된 다른 주제를 찾고 그걸 뺏아오기. 소비자를 존중하여 세련된 배려를 보이면 사람들의 관심도 얻을수 있음.
40. 참여하도록 초대 : 시청자가 참여할수 있도록 하기위해 1) 의견을 묻고, 2) 창의력을 요구하고, 3) 함께 뭔가를 구축하는데 기여하도록 하고, 4) 다른 계층을 도울수 있는 플랫폼 만들기
41. 실험 하기 : 사회적 실험은 관음증 같은 본능에 호소.
42. 장난 치기 : 브랜드에 반 권위주의적이고 혁명적인 분위기를 주는 즐거운, 성공적인 장난을 준비하기
43. 설치 하기 : 사용자들이 지나가다 보고 만질수 있는, 3차원적인 조각 또는 대화형(디지털,비디오,사운드) 장치를 설치하기
44. 게임으로 만들기 : 프로젝트를 게임화하여, 목표를 보여하고 발전에 따른 보상을 주기. 꼭 경쟁일 필요는 없고, 협업게임이 더 매력적일수도 있음.
45. 예술 작품 만들기 : 기능과 실용성은 버리고, 아름다움을, 장인정신을 생각하기. 완전히 새로운 스타일, 모양 또는 사운드를 만들기
46. 저항하기 어려운 걸 제안하기 : 할인이나 프로모션이 아니라, 누구나 관심을 가질만한, SNS에 공유되고, 역사에 남고, 아마도 세계 기록을 세울만한 그런 제안을 하기. 단, 판매하는 제품과 관련이 있는 것으로
47. 다른 브랜드와 파트너십 맺기 : 땅콩버터와 젤리처럼 잘 어울리는 것을 찾기.
48. 제품 무료 평가판 제공하기 : 제품에 새로운 것이 없다면, 타겟 고객이 아닌 사람들에게 무료로 사용해 보기. 트럭을 스포츠카 운전자에게 시험 드라이빙 맡기고, 휴양지를 마케팅한다면 한번도 와보지 못한 사람들에게 휴가를 제공해보기.
49. 적합한 위치 찾기 : 이제 출력물,라디오,광고판,TV 뿐만 아니라 모든 위치의 모든 표면에 광고 메시지를 보낼수 있게 되었음.
50. 실제 경험을 가상 경험으로 대체해보기 : 이전에는 갈수 없었던 곳을 디지털 기술로 갈수 있도록, 목적지를 파악하고 감동적인 여행을 만들어 보기.
51. 뉴스 또는 엔터테인먼트로 꾸미기 : 사람들은 광고를 싫어하므로, 최대한 광고가 아닌것처럼 꾸며보기.
52. 기술의 경계를 넓히기 : 예전에는 불가능 했던 것들을 생각해보세요.

시간 가는줄 모르고 보게 되네요.
각 상황별로 설명 글도 좋아서 간략히 요약하거나 주요 문구만 옮겨 봤습니다.

 
지금까지 본 Bad Code중 가장 큰게 뭔가요?

"2500만 라인짜리 Oracle Database 12.2 코드요"
HN에서 올라왔던 질문에 예전 오라클 재직자가 남긴 답

"상상할수 없는 공포죠. 1000개의 기존 테스트를 통과하지 않고는 한줄의 코드도 작성이 불가능해요.
손으로 노트에 적어가며 풀지 않으면 알 수 없는 신비한 매크로가 있어서, 매크로 기능을 실제로 이해하는데 하루에서 이틀정도 걸려요.
때로는 코드가 서로 다른 상황에서 어떻게 작동할지 예측하기 위해 20가지 플래그의 값과 효과를 이해해야 합니다.
가끔 100개 넘을때도 있어요. 과장 아님.
이 제품이 여전히 살아남고 작동하는 유일하는 이유는 말 그대로 수백만개의 테스트 때문 입니다."

오라클 DB 개발자의 삶

1. 새 버그 작업 시작
2. 이 버그를 유발하는, 신비한 방식으로 상호작용하는 20개의 서로 다른 플래그를 이해하기 위해 2주 소요
3. 새로운 특수 시나리오를 처리하기 위해 플래그를 하나 더 추가. 이 플래그를 체크하기 위한 코드를 몇줄 더 작성하고, 문제상황을 해결하고 버그를 방지하는 몇줄의 코드 추가
4. 코드 변경 한 걸 100~200대로 구성된 테스트팜에 서브밋. 그러면 새로운 오라클 DB를 빌드하고 수백만개의 테스트를 분산해서 실행
5. 집에 감. 다음 날 와서 다른 작업 시작. 테스트는 완료되는데 20~30시간 필요함
6. 집에 감. 다음 날 와서 테스트 결과 확인. 좋은 날엔 실패한 테스트 100개쯤. 나쁜 날엔 1000개쯤 실패. 이 테스트중 몇개 골라서 내 가정이 뭐가 틀렸는지 알아보기. 아마도 버그의 본질을 알기위해 고려해야 할 10개정도의 플래그가 더 있을 거임
7. 이 이슈를 해결하기 위해 몇개의 플래그를 더 추가. 다시 변경 테스트팜에 서브밋. 다시 20~30시간 기다리기
8. 2주동안 이 플래그 조합들이 잘 동작하도록 수정하고 반복
9. 마침내 '어느 좋은 날' 모든 테스트가 실패하지 않게 됨
10. 내가 만든 변경에 대해 백개 이상의 테스트를 추가해서, 운 나쁜 다음 개발자가 이 수정사항을 깨뜨리지 못하게 함
11. 마지막 테스팅을 위해 다시 서브밋. 그리고 리뷰를 위해 서브밋. 리뷰는 다시 2주에서 2달정도 걸릴수 있으니 다른 버그로 옮겨서 작업시작.
12. 2주에서 2달후, 모든게 끝나면 코드가 메인브랜치에 머지

이게 버그를 수정하는 오라클 프로그래머의 삶입니다. 과장 없음.
그럼 새로운 기능을 개발하는 것은 어떤 공포가 될지 상상해 보세요.
하나의 작은 기능을 개발하는데 6개월에서 1년, 때로는 2년까지 걸립니다. (Active Directory 인증과 같은 새로운 인증을 추가한다거나 하는 )

이 제품이 작동한다는 건 기적입니다.

난 이제 오라클에서 일하지 않고, 다시는 오라클에서 일하지 않을꺼에요

저 분이 힘들었던 것도 이해가 가는데,
역설적으로 "테스트가 이 만큼 중요하구나" 라는 생각이 들게 만드는 글이어서 번역해봤습니다.

이 답변의 원 질문글에는 총 578개의 답변이 달렸는데요.
Ask HN: What's the largest amount of bad code you have ever seen work?
https://news.ycombinator.com/item?id=18442637
1레벨 답변들만 봐도 재미납니다. 사람사는데 다 똑같다는 생각이..

뭐 오라클 입장에선 뭔가 당연해 보이고, 오히려 해당 소프트웨어가 역시 엔터프라이즈용이구나...싶을 정도로 신뢰가 가네요.
근데 저 글 처럼 저기서 일하고 싶진 않네요.

전 오히려 테스트 중심의 개발문화 때문에 개발 프로세스가 망가진건 아닐까 하는 생각이 드는군요.
모로 가도 테스트만 통과하면 된다는 식으로 개발이 이루어지고... 아마 저런 환경이면 리팩토링은 꿈도 못 꾸겠죠.

 
iOS14 의 Back Tap기능을 이용한 Covid-19 QR체크인 간소화

- 단축어 기능으로 체크인 QR코드 생성 URL 접속하게 한 후
- iOS14에 추가된 백탭 기능으로 뒷면을 세번 탭(두번도 가능)하면 해당 단축어 실행
- 매장 방문시 뒷면을 세번 탭하면 바로 QR코드 생성 창으로 가서 체크인

- 페이지 맨 아래에 이미 만들어진 네이버/카카오 체크인 숏컷 제공

저도 적용해서 써보는데 넘 편하네요. 가게 앞에서 QR찾느라 허둥댔는데 바로 해결!

저도 이거 활용해서 Covid-19 QR체크인이랑 후레시 사용 중인데, 많이 편해졌어요 ^*

 
유용한 테스트 케이스를 위한 개발자의 자세

테스트는 현대 소프트웨어 개발에서 빠질 수 없는 요소입니다만, 테스트 케이스 또한 결국은 개발자가 작성하는 코드이므로 때에 따라 문제가 발생할 수 있습니다. 객체지향적 관점에서 ‘유용한’ 테스트 케이스에 관해 살피는 글을 소개합니다. (한국어)

요점은 테스트가 [캡슐화된 다른 모듈을 테스트할 책임을 지닌 모듈]이라는 점입니다. 그 말은 테스트 또한 엄연히 개발하는 코드의 일부이므로 (객체지향적 패러다임에서) 객체지향의 원칙을 준수하며 지속적으로 개선하고 리팩토링해야 함을 의미합니다. 그렇다면 테스트 케이스는 테스트 대상 모듈의 구체적인 내부 요소(private 메소드 등)에 접근하거나 의존해서는 안 된다는 점도 SOLID 원칙에 의해 유추할 수 있습니다. 테스트 케이스가 점검해야 하는 것은 어디까지나 해당 모듈의 추상적인 책임이어야 하므로, 이를 반영하는 그 모듈의 외부 인터페이스를 통해서만 테스트가 이루어져야 합니다.

개인적으로는 이 내용이 프로그래밍 초보자가 넘어야 할 여러 산 중 하나가 아닌가 싶습니다. 저도 객체지향을 처음 배울 때 강의에서 “private 메소드를 직접 테스트해서는 안 된다”는 것과 그 이유에 대한 설명을 듣긴 했지만, 솔직히 그때는 제대로 이해를 못 했었거든요. 위 내용에 관해 어느 정도 이해하게 된 것은 그로부터 한참 지난 뒤였습니다.

 
댓글은 가고 Webmentions가 온다

W3C 권고안(Recommentation) 단계인 표준
- 블로그의 Pingback 과 마찬가지로 해당 글에 대해서 다른 곳에서 링크를 올리거나 언급했음을 알려주는 기능
- 데이터를 포함해서 노티가 가능
- Like, Retweet, Reply 등을 하나의 정보 구조로 묶을수 있음
- Webmention endpoint 를 페이지 헤더에 추가하여 받은 웹멘션들을 기록 해두고 보여주는 방식

→ IndieWeb에서 만든 Webmention.io 서비스를 통해서 별도 구현없이 헤더에 추가하는 것만으로 수집 가능
→ Bridgy 서비스로 트위터,인스타그램,플리커,깃헙,마스토돈,레딧 등에서 자신의 사이트 링크가 등록될 시 자동으로 웹멘션 수집 가능

시험삼아서 긱뉴스 사이트도 https://webmention.io/ 를 이용해서 웹멘션을 수집하고, https://brid.gy/ 로 트위터에서 링크수집을 하도록 적용해 봤습니다.
아직 화면에 보여주는 기능은 안 만들었는데 상황을 보고 살짝 넣어보려고 합니다.

 
Liteboard - 오픈소스 온라인 강의 플랫폼

- WebRTC 기술을 이용, 실시간 화상/음성 및 고품질 화이트보드 를 제공
- 별도 설치 필요없이 강의 생성하고 링크 공유하면 누구나 접속하여 수강 가능
- 채팅에서 사진 및 문서 첨부 지원
- 50명의 수강생 동시 수용 가능
- 간단한 수업 통계 지원
- Node 코드이며 Docker 이미지로 로컬에서 쉽게 설치 가능
- 오픈소스로 공개되었고, Liteboard 서버는 무료로 운영되며 TURN 서버를 제공해서 다양한 네트웍에서 접근 가능

 
Winning the Internet - 뉴스레터 큐레이션

약 100여개의 일간/주간/격주 뉴스레터에 공유되는 링크들중 추천 링크들을 모아서 보내주는 뉴스레터.
일주일단위로 발행되며 보통 한주동안 오는 300여개의 메일에 있는 3000개 이상의 링크들중 중복이 많았던 것들만 추천
모두 해외 뉴스레터 기반이지만, 이거 하나만 구독해두면 해외 이슈중 큰 것들은 놓치지 않고 볼 수 있습니다.

 
Windows 용 Swift 공개

- 윈도우에서 Swift 코드를 빌드하고 실행하기 위한 툴체인
- 컴파일러, 표준 라이브러리, 코어 라이브러리(Dispatch,Foundation,XCTest) 를 제공하여 전체 에코시스템을 지원
- 현재는 CMake로 빌드하지만, Swift Package Manager 도 제공 예정
- Readdle(PDFExpert, Spark, Scanner Pro등을 만든 곳)은 이걸 이용해서 크로스플랫폼 어플을 개발 테스트 중

 
구글 Flutter 윈도우용 알파버전 공개

- 모바일부터 시작한 크로스 플랫폼 UI 툴킷
- 이제 macOS 와 Linux 에 이어 Windows 네이티브 데스크탑 앱도 지원
- Android Studio 또는 VS Code 용 확장 제공
- UWP도 지원 예정

 
10명에서 1000명으로 : WhatsApp 의 Erlang 경험

왓츠앱은 Erlang을 11년째 성공적으로 사용중 : "우리가 했던 기술 결정중 최고"
Erlang의 강점
- 효율적인 아키텍처, 안정적
- 코어디자인 변경이 없음(8년간) : BEAM(가상머신) 기반 가벼운 프로세스, 메시지 전달, 분산, 아무것도 공유하지 않는 메모리 모델
- 뛰어난 스케일링 : 20억명의 사용자 대상, 여러 데이터 센터, 다양한 기능들을 추가해 왔음
- 작은 팀에 최적 : 50명의 엔지니어로 9억명 사용자 대응(2015년)
- 엄청 빠른 개발 사이클 : 고수준 선언형 언어, 빠른 컴파일, 빠른 배포(핫로드)

왓츠앱팀이 페이스북에서 배운 것
- 개발자 생산성 향상을 위한 방법
ㅤ→ 예) Hack 이 IDE에서 Typechecker Error를 보여주는 방식

Erlang의 한계
- 정적 타입 없음
ㅤ→ 내부에서 프로토타입 개발중, 오픈소스 할 예정
- Flat한 네임스페이스
- 좋은 개발도구의 부재 : IDE 연동, 포매터, 빌드 시스템등
ㅤ→ Erlang_LS(Language Server) 등장으로 어느정도 개선

 
Killed by Google

- 구글이 종료한 서비스, 제품, 기기 및 앱 목록
- 구글의 종료된 프로젝트에 대한 역사와 팩트를 제공

 
Killed by Mozilla

- 모질라가 만들다가 개발 중단한 제품과 서비스들을 리스팅한 디렉토리
- Firefox Send, Firefox Notes, Firefox OS, Appmaker, Thimble, Mozilla Persona, Mozilla Sunbird, Minimo, Camino..
- Inspired by Killed by Google

 
Duet Date Picker - 접근성 지원 날짜 입력기

- WCAG 2.1 호환하여 접근성 지원을 염두에 두고 개발
- 의존성 없고, ~10kb
- 대부분의 모던 브라우저와 스크린리더, 키보드 지원
- CSS Custom 속성으로 테마 지원
- Localization 지원
- 바닐라JS/Angular/Vue/React/Ember
- IE11 및 Edge 17/18용 Polyfill 제공
- hydrate 제공해서 SSR(Server Side Rendering) 가능

 
MS, 엘더스크롤과 폴아웃 개발사 Bethesda 8.7조원에 인수

- 여러 스튜디오를 보유한 베데스다의 모회사 ZeniMax Media를 인수한 것
ㅤ→ id : 둠, 퀘이크
ㅤ→ Bethesda : 엘더스크롤, 폴아웃, 스타필드
ㅤ→ ZeniMax Online : 엘더스크롤 온라인
ㅤ→ Arkane : 디스아너드, Prey, Deathloop
ㅤ→ MachineGames : 울펜슈타인
ㅤ→ Tango Gameworks : 이블 위딘
ㅤ→ Alpha Dog : 몬스트로시티 램페이지(모바일)
- 베데스다의 미래 게임들이 모두 Xbox Game Pass에 추가될 예정
- 임원진은 그대로 유지

스타워즈를 가졌던 루카스필름 가격의 두배고, 픽사의 인수가격과 비슷하네요

Xbox 와 PS5 의 싸움에서 항상 얘기나오는게 엑박엔 독점게임이 좋은게 없다 였는데,
영어권에서 절대적인 인기인 엘더스크롤이 포함되면서 이제 그런 얘기는 좀 덜 나올듯

관련한 개발자들의 반응
https://gamesradar.com/developers-react-to-xbox-buying-bethesda-fallou…

존 로메로 ( 둠, 퀘이크 ) : 내 아이를 잘 돌봐주세요.
XBox : 매일 많은 악마들을 먹이로 주고, 방어구를 닦아줄께요.

존 카맥 ( 둠, 퀘이크, 현 오큘러스 CTO ) : MS는 게임IP에 좋은 모회사이고, 저한테도 적대적이지 않아서 아마도 제 옛날 타이틀에 참여하게 될지도 모르겠네요.

베데스다가 개발중인 스타필드 와 엘더스크롤6 는 엑스박스에 잘 없는 RPG여서 큰 환영 받고 있습니다.

 
Epic과 Spotify 등 12개회사, '앱 공정성 연합' 결성

- Coalition for App Fairness
- 모든 개발자가 공정한 대우를 받을수 있도록,
ㅤ애플이 경쟁앱들을 직접 만드는 반 경쟁 정책들 및
ㅤ앱스토어가 부여하는 30% 수수료 문제등을 대응하기 위한 비영리 단체
- Basecamp, Epic Games, Spotify, Match Group, Tile, ProtonMail, SkyDemon, News Media Europe, Prepear, Blix, Blockchain.com, deezer, European Publishers Council
- App Store Principle 10 가지를 제시

로고때문에 고소당한 Prepear, Hey로 한바탕한 Basecamp, Fortnite로 싸우는 Epic 등이 다 들어갔네요. Tile 은 아마도 애플이 만든다는 AirTag가 나오면 위험할테구요.
애플, 레시피 앱 Prepear를 로고가 유사하다고 고소 https://news.hada.io/topic?id=2623

 
Java 의 2020년 현재

- 전세계 Java 개발자 520만명
- Java를 주 언어로 쓰는 개발자 비중 : 중국 51%, 한국 50%, 인도 41%, 미국 33%
- 언어 사용자로는 JavaScript 42%, Java 36%로 2등
- 개발 제품 : 웹서비스 52%, 유틸리티 36%, 데이터베이스 32%, 시스템 소프트웨어 26%
- 산업 분야 : 금융 및 핀테크 44%, IT서비스 42%, 모바일 개발 25%, 빅데이터/데이터 분석 21%
- 가장 많이 쓰는 버전 : Java 8 (75%), 11 (32%), 13 (14%)
- 가장 많이 쓰는 서버 : 톰캣 (62%), Jetty (17%)
- 웹 프레임워크 : Spring Boot (61%) , Spring MVC (42%)
- JVM Profiler : VisualVM (24%), JProfiler (15%)
- IDE : IntelliJ IDEA (72%) , Eclipse (13%), Android Studio (6%), VS Code (4%)
- 자바 커뮤니티에서 가장 뜨거운 토픽
ㅤ1. Java가 요즘 배우기 좋은 언어인가요 ?
ㅤ2. 다른 언어에서 Java로 전환하는 법
ㅤ3. Java 어플리케이션을 컨테이너에 배포하는 법
ㅤ4. JavaFX 앱을 만들기위해 IDE 설정 하는법
ㅤ5. 성능 최적화
ㅤ6. 유닛테스트에서 Mock 사용하는 법
ㅤ7. 백엔드 & 프론트엔드 개발
ㅤ8. 현대적인 웹 어플리케이션 개발
ㅤ9. Switch 및 패턴매칭 같은 새로운 자바 기능들
ㅤ10. JEP(Java Embedded Python) 에서 외부 메모리 접근

 
Print.js - 웹 프린팅 라이브러리

다양한 상황에서 브라우저 프린트 창을 원하는 대로 조정해서 보이기
- PDF 출력 : 서버에서 생성한 PDF를 즉시 출력, 큰 파일 다운로딩 알림, base64 지원
- HTML 출력 : 특정 엘리먼트만 선택 가능. 인자 전달 가능
- 이미지 출력 : 헤더 추가 및 멀티 이미지 지원
- JSON 출력 : 테이블 형태로 데이터 출력, 스타일링 가능, 헤더 추가 가능

 
SQL을 이용한 Anomaly Detection

고교수준 통계학과 SQL 지식만으로 간단한 이상탐지 하기
- 평균과 표준편차를 구해서 범위를 벗어난 이상값 찾기
- Z값(표준값) 으로 찾기, Z값 최적화 하기

Nginx 로그 분석해서 이상값 찾기
- 갑작스런 500/400/404/200 상태코드의 증가량 잡아내기
- 일분마다 상태코드 갯수를 저장하는 테이블을 만들고, 그 데이터에서 평균/표준편차로 이상 탐지
- 반복 알림 제거하기

큰 서비스라면 다양한 도구를 쓸수 있겠지만, 이렇게 설명해주니 한번 적용해 보고 싶어 지네요.

 
MS Edge팀, 듀얼/폴더블 화면을 위한 Web API 공개

CSS
ㅤ→ screen-spanning : single-fold-vertical, single-fold-horizontal
ㅤ→ env(fold-top/left/width/height) : 접혀지는 영역 크기
JS
ㅤ→ getWindowSegments() 로 각 분할된 윈도우 객체를 배열로 리턴

- 현재는 한번 접는(single fold) 만 있지만, 차후에 2번 접는 3화면 기기가 나오면 CSS 는 dual-fold 같은 값이 추가 될 수 있음. JS는 배열이라 바로 적용 가능.
- Edge 86 부터 듀얼스크린/폴더블을 에뮬레이트 해서 테스트 가능
- 크롬이나 안드로이드에도 적용을 제안한 상태

 
리눅스 저널 복간

지난해 폐간 소식을 알린 리눅스 저널이 슬래시닷 미디어(https://slashdot.org/ 운영사) 소유로 복간됩니다.

반갑기도 하면서도, 정작 모회사가 운영하는 Slashdot/SourceForge 둘 다 예전의 명성을 다소 잃어버린터라..
작년에 폐간하면서 사람들을 다 내보냈고 다시 뽑거나 저쪽에서 데려왔을거라고 예상이 되는데, 잘 해나갈수 있을지 걱정도 됩니다.
과연 LWN과는 다른 색을 보여줄수 있을까요?

 
Klipse - 인터랙티브 코드 스니펫 플러그인

- 기술 블로그에 동작하는 코드를 임베드 할수 있게 해주는 오픈소스
- 코드는 실시간으로 브라우저에서 실행 되며, 페이지내에서 수정 가능
- JavaScript, Ruby, PHP, Python, SQL, Lua, C++, Clojure 등 다양한 언어 지원
- 내부 에디터는 CodeMirror 사용
- JS는 eval을 이용하고, 다른 언어들은 내부에서 다양한 오픈소스를 이용
ㅤ→ Ruby:Opal, C++:JSCPP, Python:Skulpt, PHP:Uniter, SQL:sql.js, LUA:wasm_lua

 
구글, 워크 트래킹 도구 Tables 발표

- 구글 내부 인큐베이터인 Area 120이 제작
- 봇을 통한 자동화를 통해 프로젝트 관리/CRM/채용/제품 개발등을 위한 관리기능을 쉽게 만들어주는 도구
- 구글 챗/그룹/컨택드 및 슬랙과 연동, 이메일 전송
- 구글 Sheet 나 CSV 임포트
- 무료 버전은 100개의 테이블을 지원하며, 테이블당 1000개의 로우, 1GB 첨부파일, 50개의 액션 생성 가능
- 유료 버전은 1사용자당 월$10으로 1000개의 테이블(10000개의 로우,10GB첨부파일,500개의 액션)
- NoCode 플랫폼으로 Airtable의 경쟁 상대가 될듯

베타 인데 유료모델, 게다가 G Suite 공식도 아니고 Area120 하부 도메인..
과연 사용자들이 선택할지는 의문입니다.

Area120 은 구글이 얘기했던 20% 프로젝트를, 100% 시간을 할애해서 할수 있도록 만든 구글의 사내벤처프로그램 입니다.

 
대마 농가를 위한 자원관리회사 Canix, TC Disrupt 2020 우승

- 대마(Cannabis) 재배는 합법이지만 심한 규제산업. 화분 하나마다 바코드를 붙여서 움직일때마다 정부에 보고해야함.
- 이 규제때문에 입력해야 할게 너무 많아서 산업을 망치고 있음.
- Canix 는 모바일앱과 RFID리더로 이 입력을 자동화하고 백엔드에서 정보를 관리해주는 ERP플랫폼.
- 농가의 인건비를 줄여서 수익을 올려주는 것을 목표로 하며, 최종 비전은 Seed 부터 Sale까지 전체를 통합하는 마켓플레이스
- 현재 300명 이상의 고객이 1050개의 농장에서 사용중이며, 2020년 9월 기준 MRR(Monthly Recurring Revenue,월 반복 매출) $119K
- 15%의 고객의 추천으로 가입

 
Windows XP 소스 코드 유출

- 윈도 XP 와 윈도 Server 2003의 코드가 토렌트를 통해서 배포됨
- MS는 XP에 대한 지원을 2014년에 중단했지만, 2017년에 WannaCry 멀웨어때문에 패치를 배포한적 있음
- 유출 코드의 일부는 Windows CE와 MS-DOS 관련도 있음
MS의 소스코드 유출 역사
- 2017년 Windows 10 관련코드 1GB 정도 유출
- 2020년 3월, Xbox Series X 그래픽 소스코드가 도난당해서 유출
- 2020년 5월, 오리지널 XBox와 Windows NT 3.5 소스코드 유출

관련해서 재미난 기사는, 해당 유출된 코드를 뒤져보니
XP개발 초기에 MS가 Mac 의 Aqua 와 유사한 테마를 만들어 썼다는 기록이 있다는 거네요.
테마 이름은 "Candy"로 "Whistler kin with Eye Candy" 라는 설명과 함께 "내부 사용 전용"이라고 붙어있다고.
(Whislter 는 XP 의 코드네임)

Microsoft had a secret Windows XP theme that made it look like a Mac
https://theverge.com/2020/9/…

 
Amazon, 클라우드 게이밍 서비스 Luna 공개

- 클라우드에서 PC,맥,Fire TV,웹,아이폰/아이패드 등으로 스트리밍
- 전용 Luna 컨트롤러($49)
ㅤ→ Cloud Direct 기술로 직접 게임 서버에 접속하여 지연시간을 최소화 (17~30ms)
ㅤ→ 여러 스크린간에 쉽게 전환하며 게임 가능
- 엑스박스,듀얼쇼크4 컨트롤러도 사용가능
- 게임 채널별로 구독
ㅤ→ Luna+ 채널 : 구독 월 $5.99 (얼리 억세스 할인 가격), 동시 2기기 스트리밍 가능, 1080/60fps 이며 4K 지원 예정
ㅤ→ Ubisoft 채널도 별도 개설 예정

완전한 클라우드 스트리밍게임의 경우 레이턴시가 이슈였는데,
Luna는 컨트롤러가 WiFi로 직접 서버에 붙어서 레이턴시를 줄이는 방법을 취했네요.

- Google Stadia : 가장 빨리 나왔지만, 요즘은 좀 잊혀진듯 하고
- MS Xbox Cloud Gaming : 게임 패스 지원과 함께 요즘 가장 기대를 받고 있고
- Sony PlayStation Now : 소니는 그냥 독점게임 사서 콘솔에서 하는게 나은거 아닌가 싶고
- Nvidia Geforce Now : 가능은 한데 여기서 왜 ?
- Amazon Luna (*NEW) : 과연.. ?

저보고 이중에 선택하라고 하면 Xbox 가 가장 우세할듯 하네요.

 
2020년 Ig Nobel상 수상자 발표

노벨상을 패러디하여 만들어진 이그 노벨상
“반복할 수 없거나 반복해선 안 되는” 업적에 수여

경제학상 : 국민소득 불평등과 구강키스의 관계 정량화
음향학상 : 악어가 헬륨가스를 마셨을때 성대공명이 일어나는가
심리학상 : 눈썹으로 나르시스트 성향 판단
물리학상 : 지렁이를 고주파로 진동시키면 어떻게 되는가
경영학상 : 중국에서 경쟁자를 제거하기 위해 살인청부업자를 고용했으나, 그 청부업자가 하청을 주고, 그 사람은 또 하청을 주고해서 점점 작은 돈으로 하청이 되었는데, 마지막 5번째 청부업자가 표적에게 죽은척하자고 제안했다가 들통남. 결국 아무도 죽지 않음.
곤충학상 : 곤충학자 대상 설문조사를 하여 곤충학자들이 가장 두려워하는 생명체는 분류상 곤충에 포함되지 않는 "거미" 라는 사실을 알아냄
평화상 : 인도와 파키스탄 정부(한밤중에 벨누르고 도망가기)
의학상 : 다른사람이 씹는 소리를 들을때 고통을 느끼는 Misophonia 에 대한 연구
의학교육상 : 코로나19를 이용하여 정치인이 과학자나 의사보다 삶과 죽음에 더 즉각적인 영향을 미칠수 있다고 세계에 알려준 트럼프,보리스 존슨,푸틴 등 정치 지도자 9명
재료과학상 : 인간의 배설물을 얼려서 만든 칼은 잘 들지 않는다는 것을 보여줌.

 
어도비, PDF용 Liquid Mode 공개

- Adobe Sensei(AI 프레임워크) 기반으로 PDF 구조를 파악하여 모바일에서 보기 좋게 PDF를 재구성하는 기술
- 텍스트/이미지/표를 재구성하여 작은 화면에서 빠르고 편하게 볼수 있게
ㅤ→ 지능형 개요, 축소/확장 가능한 섹션, 검색 가능한 문자열을 자동으로 생성
ㅤ→ 글꼴 크기 및 줄 간격 조정 가능
ㅤ→ 핀치/확대/축소 필요없이 볼수 있게,
ㅤㅤ글자는 크기 조절 가능하며 재배열 가능, 이미지도 확대/축소 자유로우며 테이블들은 반응형으로
- iOS/Android 용 Acrobat 리더에 먼저 적용하고, 데스크탑과 브라우저에도 적용 예정

- 미래에는 AI를 이용하여 수백만개의 PDF가 상호 참조 및 검색 가능하도록 확장이 가능 할 것
- Liquid Mode 는 다년간의 PDF 비전을 위한 첫 걸음

어찌 보면 그냥 HTML로 만들면 다 가능한 일입니다만.. ^^;
이미 만들어진 수많은 PDF들을 보고,연결하고,검색 가능하게 하는데에는 좋은 기술이 될것 같아요.

어도비 만의 기술이라 아쉽긴 합니다만.. 아마도 같은 기능의 오픈소스 쪽 어프로치가 있을것도 같네요.