⭐️ 1. 전 GitHub CTO, "지난 10년간 가장 큰 아키텍처 실수는 풀 마이크로서비스로 전환한 것" ⭐️
- 이번주 메일 제목이었는데 흥미로운 주제였구만
https://twitter.com/jasoncwarner/status/1592227285024636928
트위터에서 즐기는 Jason Warner
“I'm convinced that one of the biggest architectural mistakes of the past decade was going full microservice On a spectrum of monolith to microservices, I suggest the following: Monolith > apps > services > microservices So, some thoughts”
twitter.com
- "Monolith > apps > services > microservices"
- 첫째, 이건 규칙은 아니고 내 생각이 그렇다는 것. 대규모 분산 시스템을 구축해 본 사람은 실제로 그대로 작동하지 않으며, 적응해야 한다는 것을 알고 있음
- 둘째, 단계가 중요함
- 5-50인 회사라면 그냥 Monolith로 가세요
- 1만명 회사라면, 위의 모든 것들을 다 가지고 있을 것. 근데 예전과 달라진 생각들을 얘기해보자면..
먼저 정의(Definition) 부터
- monolith - xyz.com
- apps - abc.xyz.com
- services - 앱/모노리스를 지원, 핵심 인프라, 핵심 컴플라이언스 기능, 앱팀에서 작성하지 않을 수 있음(인프라에서 유지관리)
- microserivces - 몇백라인의 코드, 대부분 일회성, 라이브러리 또는 SDK 일수/있어야(could/should) 함
일반적으로 내가 추천하는 것은
- #1 가능하면 최대한 오래 Monolith를 유지
- #2 서비스는 인프라에 필요한 것에서 시작하고, 앱 개발쪽에서 시작하지 말 것
- #3 Mono를 쪼개야 한다면, 작은 서비스들이 아닌 큰 앱들로 분해할 것
- #4 각 새로운 앱은 회사내의 가상 벽이라고 생각할 것
- #5 가능하다면 마이크로서비스 대신 라이브러리를 선호
2. Web Automation: Don't Use Selenium, Use Playwright
- 셀레니움만 썼었는데 이것도 써보고 싶다.
https://new.pythonforengineers.com/blog/web-automation-dont-use-selenium-use-playwright/
Web Automation: Don't Use Selenium, Use Playwright
For web automation/testing, Selenium has been the de facto "standard" since forever. It's simple to get started with and supports almost every programming language. My problem with it has been: It's good enough, but nothing more. It doesn't work that well
new.pythonforengineers.com
- 웹 자동화/테스트는 Selenium이 사실상 표준이었음
- 시작하기 쉽고, 거의 모든 프로그래밍 언어를 지원
- 충분하지만, 딱 거기까지임
- 최신 자바스크립트 프레임워크 사이트에선 잘 동작안함(Angular,React,..)
→ 동작 안 한다는게 아님. 잘 되지 않는다는 것 - 문서화가 잘 되어 있다고 하지만, 실제로 조금만 메인 경로에서 벗어난 일을 하려고 하면 예제를 찾기 어려움
- Chai, Mocha, Cypress 같은걸 써보려고 했지만, 완전히 설정히 다르고 파이썬 개발자에게는 쉽지 않음
- 수십가지의 Selenium 대체제가 만들어졌지만, 대부분 몇년만에 사라짐
Enter Playwright
- 훌륭하고, 게다가 마이크로소프트가 만들고 있다는게 중요. 오래 지원될 것
- Playwright의 킬러 피쳐는 "테스트 자동 생성"
- 브라우저를 열고 단계별로 실행하면 그걸 녹화해서 파이썬 스크립트로 만들어줌
- Selenium에서 XPath같은 걸 찾는 수고를 덜어줌
- 이렇게 저장된 단계는 거의 수정없이 바로 수행 가능
- 또 다른 장점은 실행과정을 비디오로 저장해서 볼수 있다는 것
- 유일한 단점은 아직 새롭다는 것. 버그도 많고 문서가 좋지 않음
- 하지만 전반적으로 봐서, 모든 새 프로젝트에는 난 Playwright를 선택할 듯
3. Keep ’Em Coming: Why Your First Ideas Aren’t Always the Best
https://www.gsb.stanford.edu/insights/keep-em-coming-why-your-first-ideas-arent-always-best
Keep ’Em Coming: Why Your First Ideas Aren’t Always the Best
What’s the secret to coming up with good ideas? For Jeremy Utley, it’s about generating as many as possible. The director of executive education at the Stanford d.school, Utley says, “very few problems we face in business or in life have a single rig
www.gsb.stanford.edu
- 좋은 아이디어를 내는 비결은 최대한 많이 생각해 내는 것
- 종종 나쁜 아이디어가 먼저 나오고, 좋은 아이디어가 따라 나오기 때문
- 모든 Good/Bad/Ugly 아이디어들은 모두 혁신(Innovation)을 위한 필수 Input
- 인간의 두뇌는 가장 먼저 떠오른 해결책에 집착하는 경향이 있음. 그러나 시간과 품질에 영향이 있다는 연구는 거의 없음. 즉, 최고의 아이디어는 처음에 나오지 않는 다는 것
- 시간이 지나면서 창의성이 실제로 증가하는 사람은 "계속 좋은 아이디어를 낼 것이라고 기대하는 사람"
- 일일 아이디어 할당량(Daily Idea Quota) 를 지정한 뒤, 특정 문제에 대해서 올바른 답을 계속 찾으려고 노력할 것
- 문제를 해결하든 안하든, 첫번째 아이디어에 집착하는 경향을 재훈련 해야함
- 문제를 해결하면 좋고, 아니면 (아이디어를 생각하는) 근육을 생성하는 것
4. PublicDataReader
https://github.com/WooilJeong/PublicDataReader
GitHub - WooilJeong/PublicDataReader: 공공 데이터 조회를 위한 오픈소스 로우코드 파이썬 라이브러리
공공 데이터 조회를 위한 오픈소스 로우코드 파이썬 라이브러리. Contribute to WooilJeong/PublicDataReader development by creating an account on GitHub.
github.com
PublicDataReader는 Open API를 통해 공공 데이터를 조회하는 과정을 자동화하는 오픈소스 로우코드 파이썬 라이브러리입니다. 즉시 분석에 활용할 수 있는 형태로 데이터를 조회할 수 있어 생산성 향상에 도움을 주는 도구입니다. 공공 데이터 제공처 마다 서로 다른 API 명세를 확인하는 작업, 명세에 따라 적합한 형식으로 데이터를 요청하는 코드를 작성하는 작업 그리고 반환된 데이터를 분석 가능한 형태로 가공하는 작업 등의 번거로운 작업들을 단 몇 줄의 코드로 자동화할 수 있습니다. 발급받은 Open API 서비스 인증키와 PublicDataReader 라이브러리만으로 원하는 데이터를 쉽게 조회할 수 있습니다.
⭐️ 5. 0x00D - Open-source Business Models 💸 ⭐️
- 여러모로 공부해봐야할 부분!
https://unzip.dev/0x00d-open-source-business-models/
0x00D - Open-source Business Models 💸
Problem: Developers easily adopt open-source, but it’s unclear how to monetize an open-sourced solution. Solution: Using an open-source business model and keeping it sustainable while maintaining high developer adoption.
unzip.dev
https://news.hada.io/topic?id=7822&utm_source=weekly&utm_medium=email&utm_campaign=202247
오픈소스 비즈니스 모델들 | GeekNews
어떻게 동작하는가오픈코어 : 메인 제품은 오픈소스. 추가 기업용 기능들(서비스/확장/성능..)은 유료서비스 제공(Active 수익화)SaaS 제공서포트 기반(SLA)배포 모델전문 서비스 제공Passive 수익화광
news.hada.io
6. Rewind - 당신의 삶을 위한 검색엔진
- 재밌는 서비스가 나왔당
Rewind
The search engine for your life. Find anything you've seen, said, or heard.
www.rewind.ai
- 내가 "보고, 말하고, 들은 것"을 검색하는 엔진
- 맥OS에 일어난 모든 작업을 로컬에 녹화하고 검색 가능하게 인덱싱
- 압축 및 OCR(문자인식)/ASR(음성인식)도 모두 로컬에서 처리해서 개인정보 보호(외부 API 사용 안함)
- 놀라운 효율의 압축 성능(3750x 압축)으로 레코딩을 저장
- 평균적으로 1달에 14GB 용량을 사용. 적은 경우 월 1GB, 많으면 39GB
- 화상회의 내역도 모두 저장하고 검색 가능
- 특정 앱은 녹화 제외 가능
- 애플 실리콘의 모든 부분을 활용해서, 시스템 자원을 거의 쓰지 않음(애플 M1 & M2)
- a16z 로 부터 $10m 투자 받음
7. I record myself on audio 24x7 and use an AI to process the information. Is this the future?
유토피아와 디스토피아의 차이점은 누가 그 정보에 접근할 수 있냐는 것
https://roberdam.com/en/wisper.html
I record myself on audio 24x7 and use an AI to process the information. Is this the future?
What will happen when our phones record everything we say 24x7 using AI to process that information?, before someone else does, I tried to do it myself, and this is the result. First of all some clarifications. It’s not really 24x7 because I didn’t fin
roberdam.com
https://news.hada.io/topic?id=7833&utm_source=weekly&utm_medium=email&utm_campaign=202247
내 말을 24x7시간 녹음해서 AI로 처리합니다. 이게 미래일까요? | GeekNews
폰이 우리가 말하는 것을 항상 녹음해서 AI로 처리한다면 무슨 일이 일어날까요? 제가 먼저 해봤습니다잠잘때 빼고 깨어 있는 시간 동안 항상 녹음(부적절한 상황에서는 끄기도 함). PoC이고 아직
news.hada.io
8. Crsql - SQLite에 Multi-Writer, CRDT 기능을 추가하는 확장
- 그동안 db가 다 같은건 줄 알았는데 내가 처음 써 본 sqlite는 바이너리 파일이라 한다. 공부해봐야지
https://github.com/vlcn-io/cr-sqlite
GitHub - vlcn-io/cr-sqlite: Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite
Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite - GitHub - vlcn-io/cr-sqlite: Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite
github.com
- SQLite에 CRR(Conflict-Free Replicated Relations) 과 CRDT(Conflict-free Replicated Data Type) 기능을 구현
- 공통 스키마를 공유하는 두개 이상의 SQLite DB를 Merge 가능하도록 지원
- 기존 DB스키마에 메타데이터 테이블과 트리거를 추가하여 동작하므로 기존 스키마를 변경할 필요 없음
- 런타임시에 로딩 가능한 확장
9. Github 명함 생성기
GitHub Business Card
Generate your custom image from your GitHub username. A fun experiment of image generation.
crd.so
- 자신의 깃헙 ID를 넣으면 해당 정보 기반으로 명함 이미지를 생성해주는 사이트
- 이미지 및 임베드 가능한 HTML / 마크다운 코드 생성
- Vercel 의 이미지 생성 라이브러리를 이용. 소스코드도 공개
- 이름, 깃헙 아이디/URL, 팔로워, 팔로잉, 로케이션, 이메일, 컨트리뷰션 그래프, QR코드
10. Slashbase - DB 협업 개발용 웹 IDE 오픈소스
- 서버를 실행하고 브라우저에서 DB에 접속, 쿼리를 실행하고 팀내에서 공유하는 협업 IDE
- PostgreSQL 과 MongoDB 지원
- Go + Nextjs 로 개발되었고 싱글바이너리로 실행됨
11. 네이버 검색에서 HTTP/3 도입
https://n.news.naver.com/mnews/article/029/0002766299
네이버, HTTP/3 도입… 검색화면 출력 29% 단축
네이버가 국내 플랫폼 기업 최초로 자사 검색 서비스에 HTTP/3를 도입했다고 15일 밝혔다. HTTP/3는 앱·브라우저와 웹 간 데이터 교환을 위한 3세대 표준 프로토콜이다. 지난 6월 국제인터넷기술위
n.news.naver.com
- 네이버 검색에서 HTTP/3 적용
- HTTP/3를 3G 네트워크 환경에서 테스트를 거친 결과 TTFB은 2.3초에서 1.8초로, FCP는 3.4초에서 2.4초로 각각 약 23%, 29%씩 단축
- 네이버는 지난 2015년 국내 플랫폼 사업자 중 최초로 HTTP/2를 도입한 데 이어 HTTP/3도 국내 사업자 중 가장 빠르게 서비스에 접목
'Etc > GeekNewsWeekly' 카테고리의 다른 글
22.12.12 GeekNews Weekly (0) | 2022.12.12 |
---|---|
22.12.05 GeekNews Weekly (0) | 2022.12.05 |
22.10.17 GeekNews Weekly (0) | 2022.11.16 |
22.10.10 GeekNews Weekly (0) | 2022.10.14 |
22.09.12 GeekNews Weekly (0) | 2022.09.12 |