[GN#39] 빠르고 정확하게 답변을 받을 수 있는 질문하는 법

2020-03-30 ~ 2020-04-05 사이의 주요 뉴스들
'질문' 에 관해서는 다양한 말들이 있습니다.

"질문이 정답보다 중요하다 - 아인슈타인"
"대답이 아닌 질문으로 사람을 판단하라 - 볼테르"
"질문을 많이 하는 사람이 많이 배우고 많이 기억한다 - 프랜시스 베이컨"

질문이 이렇게 좋은데 우리는 왜 많이 질문하지 않을까요? 부끄러워서, 좋은 답변을 받은 경험이 없어서, 질문하는 연습을 못 한 건 아닐까 생각이 듭니다. 좋은 답변을 잘 끌어내기 위한 질문법을 이 주의 메인 기사로 추천합니다.

데브시스터즈의 쿠키런 팀에서 작성한 JIRA 도입기도 꼭 읽어보시기 바랍니다. 스타트업들도 초기부터 적용해야 좋은 도구지만, 실제로 보면 적절한 BTS 없이 운영되는 회사들이 꽤 많습니다. 꼭 버그만이 아니라, 회사 내에서 일어나는 다양한 이슈와 피쳐를 트래킹하기 위해서는 필수 도구입니다.

Rust 는 요즘 가장 핫한 언어입니다. 저수준 언어이기 때문에 OS나 커널 단에서도 많이 쓰이지만, 언어 자체가 훌륭해서 UI에도 적용하기 위해 많은 시도를 하고 있습니다. 긱뉴스를 통해서 다양한 Rust 튜토리얼과 기사들을 공유해드리고 있으니 한 번쯤 경험해 보시면 좋겠습니다.

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

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


빠르고 정확하게 답변을 받을 수 있는 질문하는 법

세상에 나쁜 질문은 없습니다. 물어보고 답변하는 과정에서 서로가 좀 더 성장할 수 있습니다.
원하는 답변을, 빠르고 정확하게 들을 수 있는 질문하는 법에 대해서 제안합니다.
1. 궁금한 점은 언제든 질문합니다.
2. 질문은 공개된 채널을 통해서 합니다.
3. 질문에는 충분한 정보를 포함합니다.
4. 첫 줄의 타이틀에서 문제상황을 간단히 요약합니다.
5. Slack을 사용할 경우, 하루가 지난 질문은 새로운 쓰레드로 합니다.
6. 새롭게 알게된 내용을 Slack/위키 페이지/블로그에 공유합니다.

기본적으로 "내가 뭘 몰라서 물어봤다는 것" 자체에 대해서 기록을 남기기 싫어하는것 같더군요. 질문하는 것이 창피하다고 생각하는 문화가 그렇게 만든게 아닐까 합니다. 무엇이든 질문해도 괜찮다는 심리적 안정감을 주는게 조직뿐만 아니라 학교에서부터 교육되어야 한다고 생각해요.

@xguru 저도 심리적 안정감, 안전감의 조성이 회사에서도 커뮤니티에서도 중요하다고 생각했어요. 그리고 한편으론 답변하는 사람에 대한 존중도 꼭 필요한데 그 부분에 대해서도 이야기 하고 싶었어요.
글 공유해주셔서 감사합니다. :)
블로그 레퍼러 타고 들어오게 되었어요.

2번과 관련해서, 공개된 장소에 질문을 올려서 원하는 답변을 얻은 질문자가 질문글 자체를 삭제하는 경우가 꽤 있더군요. 이런 경우가 빈번하게 일어나자 질문에 적극적으로 답해주던 사람들이 갈수록 허탈해져서 질문글에 부정적으로 변하게 되고, 심지어 일부 커뮤니티에서는 질문글에 공격적인 문화가 생기기도 합니다. 이런 패턴이 한 커뮤니티에서만 일어나는 것이 아닌데, 대체 어떤 심리로 그러는지는 잘 모르겠지만 이러한 행동이 질문에 쉽사리 답하는 분위기를 해친다는 것은 분명합니다.

 
서버리스 솔루션 정리 2020

컴퓨팅: AWS Lambda
ID: Auth0
실시간 대화: PubNub
컴포넌트: BitDev
NoSQL: Azure CosmosDB
CMS: Contentful
RDB: Aurora Serveless
로깅&모니터링: DataDog
File: S3
DevOps: Azure DevOps
CDN: CloudFront
API: AWS API Gateway
Workflow Orchestration: Zappier

CDN은 요즘 Lambda@Edge 기능이 정말 훌륭해서 CloudFront 가 여러모로 활용이 가능한 듯합니다.
CloudFlare Workers 가 V8을 직접 올려서 속도는 정말 빠른데, 올릴수 있는 스크립트 크기 제한(1Mb)이 있어서 다양하게 쓰기가 어려워요.
Lambda 는 50MB까지 가능한데다 특정부분은 S3에 올려서 써도 되니까..

https://github.com/alixaxel/chrome-aws-lambda 50MB 제한에 맞춘 람다용 크로미엄 바이너리 아주 잘 쓰고 있습니다.

 
Rust로 OS만들기

- Rust 언어로 작은 OS를 만들어 보는 것을 설명한 시리즈 글
- 미니멀 커널/VGA Text 모드/인터럽트 처리/메모리 페이징 등을 단계별로 설명하며 구현
- Rust의 Async/Await 기능을 이용하여 협동(Cooperative) 멀티태스킹 만들기
- 블로그 내용과 코드는 깃헙에 공개, 의견을 들어가며 수정중

2년전에 첫글을 시작으로 계속 업데이트 되고 있는 블로그
Rust 에 새로 추가된 Async/Await 를 이용해서 멀티태스킹을 개발하는게 3/27에 새로 올라왔습니다.
ㅤ→ Rust 1.39.0 에 async-await 추가 https://news.hada.io/topic?id=869

OS개발을 떠나서 Rust 언어 자체의 튜토리얼로서도 괜찮은 글

 
JIRA를 하자! - 쿠키런 : 오븐브레이크의 JIRA 도입기

- 구글 스프레드시트 → 트렐로 → JIRA 로 변경한 이유들에 대한 장/단점 회고
- JIRA 선택후 운용방식 / 워크플로 / 이슈 유형 / 이슈 화면 / 레이블 등을 설정한 내역을 정리
- 릴리즈후 개선한 내역들 : 프로필 이름, 수정 버전 미입력시 Close되지 않도록, 필수 입력 정보 확인 등

 
저작권 걱정없는 안심 글꼴파일 서비스

- 한국저작권위원회 공유마당에서 제공하는 한글폰트 71종
- KOGL(41종) : 출처표시후 상업적 이용 및 변경, 2차 저작물 작성 가능
- OFL(30종) : 폰트 판매를 제외하고 자유롭게 이용

 
Office Noise Generator

- 사무실 소음이 그리운 분들을 위한 화이트 노이즈 생성기
- 떠드는 동료/복사기&프린터/키보드&마우스/노트 필기/시계/에어컨 소리등
- 몇 개의 프리셋들 : The Late Hours, Work Conditioner, Geeks At Work, Office Machines, So Quiet, Break Time

이 사이트는 예전에 한번 공유했었는데, 요즘 상황에 맞게 사무실 노이즈를 출시했네요.
"myNoise - 다양한 환경의 화이트 노이즈 생성기" https://news.hada.io/topic?id=771

카페,해안가,여름밤 등 다양한 화이트 노이즈를 들려주는 사이트 입니다.

 
gifcap - 브라우저에서 화면을 GIF로 녹화하기

- 별도 앱/확장 없이 브라우저 기술만으로 로컬에서 녹화하고 GIF로 저장
- 전체화면, 애플리케이션 창, 크롬 탭 등을 선택 가능
- Trim & Crop 지원
- Javascript 소스 공개

 
Lens - 쿠버네티스 IDE

- DevOps 및 개발자를 위한 오픈소스 k8s IDE
- 윈/맥/리눅스 앱
- 멀티 클러스터 관리 및 운영을 편하게
- Workspace로 클러스터들의 논리 그루핑 가능
- Prometheus 내장
- Minukube/EKS/AKS/GKE/Pharos/UCP/Rancher/OpenShift
- Context Aware Terminal
ㅤ→ 클러스터별로 kubectl 버전이 달라도 알맞는 컨텍스트로 자동 변경

쿠버네티스 클러스터 관리도구는 비슷한게 여러가지 나와있긴 합니다.

웹인터페이스인 Octant https://octant.dev/
맥용 별도 앱인 Infra.app https://infra.app/
CLI 도구인 k9scli https://github.com/derailed/k9s

 
Eclipse Theia 1.0 공개 - VS Code의 오픈소스 대체제

- VS Code 오픈소스를 이용해서 확장한 오픈소스 플랫폼
- 기초부터 클라우드 & 데스크탑 개발을 위해 설계된 IDE
- 좀 더 모듈라된 방식으로 확장 가능하지만, 기존 VS Code 확장들도 그대로 사용가능
- ARM, Arduino, EclipseSource, Ericsson, Gitpod, Google Cloud, IBM, Red Hat, SAP과 TypeFox 등 많은 회사의 참여

MS의 텔레메트리/트래킹만을 제거한 오픈소스 버전의 VS Codium https://vscodium.com/ 과는 달리 아예 Eclipse재단이 만드는 별도 IDE입니다.
VS Code 의 최신 기능을 사용하는게 아니라면 한번쯤 스위칭해서 해볼만 한듯하여 찾아봤는데,
정작 1.0은 Desktop용 설치가 없고 Docker 이미지 로만 있네요.
https://github.com/theia-ide/theia-apps

왜 Desktop 바이너리도 없이 이리 급하게 공개했는지 의문. 처음엔 만우절인가 해서 공식 릴리즈 노트 찾아봤는데 3월31자군요.
https://www.eclipse.org/org/press-release/20200331-theia.php

 
인터페이스 디자인 패턴 & 체크리스트 (152 PDF)

- 앱/웹 디자인시 참고할만한 좋은 패턴 예제와 주요 체크리스트 정리
손가락 터치, 아코디언, 네비게이션, 햄버거, 필터링
캐러셀, 테이블, 슬라이더 & 비디오플레이어, 날짜 선택
Configurators, 기능 비교, 타임라인, 지도,
좌석 선택 및 배치, 개인 정보 보호

 
Metabase - 오픈소스 BI 및 시각화 솔루션

- Tableau 대체제로 가장 많이 얘기 되는 오픈소스 도구
- 여러 DB로 부터 조회하고 시각화 가능
- MySQL,Postgres,Mongo,Presto,RedShift,BigQuery 등 대부분의 DB 지원
- Google Analytics, Cube.js, Teradata 등 분석도구와도 연동 가능
- 도커, AWS EB, Heroku 에 바로 설치
- Mac용 로컬버전, 윈/리눅스는 Java 스탠드얼론 사용

나온지 6년된 오픈소스라 꽤 안정적입니다.

다른 오픈소스 BI 도구로 아파치의 Superset 프로젝트도 있습니다.
https://superset.incubator.apache.org/

Metabase가 아직 정식으로 지원 안하는 아파치 계열 Athena, Drill, Hive, Impala, Kylin, Pinot 들과
ElasticSearch, Greenplum, SAP Hana, Google Sheet 등을 지원하는 장점이 있습니다.

하지만 저는 가장 기본분석도구인 Google Analytics 가 직접 지원되는 Metabase 에 한표.
Superset 에 GA 데이터 연동하려면 Stitch https://www.stitchdata.com/ 또는 Panoly https://panoply.io/ 같은 변환서비스를 써야 해서..

 
table-magic : CSV/HTML/마크다운 테이블 상호 변환

- CSV,TSV,HTML,SQL,Markdown 간에 테이블 형식을 상호변환 해주는 오픈소스 도구
- 간단한 폼 에디터로 테이블 직접 편집도 가능
- GitHub Readme에 테이블 넣기 편리. 거의 유사한 미리보기
- SQL : MySQL CLI의 결과값을 붙여넣기 하는것을 지원

GitHub Protips: Tips, tricks, hacks, and secrets from Vitor Monteiro
https://github.blog/2020-04-02-github-protips-tips-tricks-hacks-and-se…

이 글에서 알게 된 도구인데, 정말 충격적으로 편해서 왜 몰랐나 싶네요. 그래서 다른팁 무시하고 이 도구만 공유..

 
Howler.JS - 모던 웹을 위한 오디오 라이브러리

- MP3,OGG,WAV,AAC,MP4,M4A,WEBA,WEBM,FLAC,DOLBY 등 지원
- 재생/중지/탐색/페이드/반복 등 풀 컨트롤
- 폴백 내장:모든 브라우저 지원
- 3D게임을 위한 Sptial Audio
- Audio Sprites / Auto Caching 지원
- 의존성 없는 7KB 크기 라이브러리

첫 페이지 데모들만 봐도 훌륭합니다. 웹에서 소리 관련 뭔가를 만들려면 가장 먼저 시험해볼만한 라이브러리

다른 라이브러리들
Tone.js - https://tonejs.github.io/
Sound.js - https://createjs.com/soundjs
wad - https://github.com/rserota/wad

 
Low-Code / No-Code 개발 플랫폼들 리뷰

- NCDP:No-Code Development Platform 이란 ?
- NC와 LC의 비교
- 장점: 빠른 프로토타이핑,비용감소,쉬운 변경 및 유지보수 ,생산성 증가,
- 단점: 보안 문제,플랫폼 종속,복잡한 기능 불가,디버깅&커스터마이즈 어려움
- NC플랫폼들: Bubble, KissFlow, Bettyblocks
- LC플랫폼들: Outsystems, Zoho, Mendix, Caspio
- 워크플로우 관리: Notion, Coda
- 생성기: Generato, Skaffolder

저는 올해의 주요 트렌드?가 될거라 계속 주장하고 있는데..
여기서 얘기하는 No-Code,Low-Code 플랫폼들은 좀 더 일반적인 용도로 사용되는 플랫폼들이고,
다양한 버티컬들에서도 NC/LC 들이 적용된 서비스들을 만날 수 있습니다.

Y컴비네이터 W20 참가 197개 스타트업들 https://news.hada.io/topic?id=1751
위 링크에 올해 YC 배치에 나온 No-Code/Low-Code 스타트업들이 많이 리스팅 되어 있습니다.

No Code is New Programming https://news.hada.io/topic?id=1099

The Information의 2020년 기술 업계 예상 https://news.hada.io/topic?id=1069

The Developer's Way - 모두가 코딩을 배울 필요는 없다 https://news.hada.io/topic?id=1593

 
Toast UI Editor가 마크다운 파서를 새로 만든 이유

Toast UI Editor( https://ui.toast.com/tui-editor/ )는 2018년 초 NHN에서 공개한 마크다운 위지윅 에디터로, 웹사이트에서 Markdown 문서를 WYSIWIG 편집할 수 있게 해줍니다. 이 에디터는 최근에 2.0대로 버전업( https://ui.toast.com/weekly-pick/ko_20200318/ )을 했는데, 이는 마크다운 파서를 교체하는 등 내부 구조가 크게 바뀌었기 때문입니다. 이와 관련하여, TUI Editor 개발진이 왜 기존의 파서 대신 commonmark.js 기반의 새로운 마크다운 파서를 구현해야 했는지를 설명하는 블로그 글을 소개합니다. (한국어)

 
Rust, Are we GUI Yet?

Rust용 GUI 라이브러리들 현황을 한눈에 볼수 있는 사이트
저수준 언어로 시작했지만, UI로 확장하고 싶은 사람들이 많아서 다양한 Crate들이 개발중
웹 엔진 위에서 실행되는 Azul / Sciter-RS / Neutrino / WebRender
자체 그래픽 라이브러리를 이용한 Relm/ Druid / Iced 등과 GTK 바인딩들

 
페이스북 새 디자인의 CSS에서 알게된 것들

- 안쪽 그림자 처리위해 Avatar에 SVG 사용
- Margin대신 스페이서 div
- 이미지에 CSS필터
- box-shadow 대신 그림자 이미지(2x14 px)
- 많은 CSS 변수 사용
- 멀티라인 줄수 제한을 위해 Line Clamp 사용
- :hover 대신 .hover-div 사용
- 주요색으로 동적인 그라디언트 배경생성
- 다중 박스 쉐도우

이미지 처리를 위해서 특정 줄수만 보여야 할게 있었는데 Line Clamp 딱이네요. 맘에 듭니다.
그냥은 동작 안하고 overflow: hidden 이랑 붙어야 합니다.
display: -webkit-box;
-webkit-line-clamp: 3;
overflow: hidden;

왜 이렇게 했을까 싶은 것도 있지만, 이것 저것 참고하기 좋네요.
Line Clamp 는 함 적용해봐야 할 듯.

 
PostgreSQL의 결함들

- 17년동안 Postgres를 써온 개발자의 정리 및 대응방법, 미래 변경 예상
#1 트랜잭션ID(XID) Wraparound
#2 Failover의 데이터 손실 가능
#3 비효율적인 복제로 인해 하드웨어 문제 발생시 데이터 손실의 확대
#4 MVCC의 Garbage 문제
#5 Process-Per-Connection이라서 Scale어려움
#6 PK 인덱스가 쓸데없는 공간을 차지함
#7 Major 버전업시 다운타임을 필요로 함
#8 번거로운 복제 설정
#9 Query Planner Hint 제공 안함
#10 Block 압축 지원 안함

몇일전 올라왔던 "PostgreSQL is the worlds’ best database" https://2ndquadrant.com/en/blog/… 에 대한 반박? 글 이라서 같이 보면 좋습니다.
( 정작 저는 이 글이 너무 공격적?이어서 긱뉴스에 공유도 안했네요 )

 
구글의 여섯 가지 ‘팩트 체크' 팁

웹상에서 사실 여부를 분별하고, 읽고 있는 내용이 거짓인지 아닌지를 판단할 수 있는 방법
1. 뉴스 출처를 한번 더 확인
2. 이미지가 올바른 맥락에서 사용되고 있는지 확인
3. 영상의 기본 정보를 확인
4. URL을 자세히 확인
5. 팩트 체크 탐색기에서 최근 다뤄진 주제를 확인
6. 기사가 인용하고 있는 세부 사항을 검색

어떤 얘기를 보았을때 그게 거짓인지 아닌지 확인해보는 것은 이제 인터넷 이용자가 필수로 해야할 일 이라고 생각합니다.

 
FSF의 원격통신/화상회의 도구들 추천

Zoom의 대안들을 Free Software Foundation 쪽에서도 정리
음성통화: Mumble, Asterisk/SIP
화상통화: Jitsi, Jami, OBS
문자대화: XMPP, IRC
토론: 암호화된 email, Discourse
문서공유: Etherpad
파일공유: Nextcloud, Up1