On Air NOW
Your Browser’s UI Thread is overworked, underpaid and begging your help.》
有咩問題,可以留 Comment,會在 Q&A 解答 💪
Live Link: https://bit.do/devfesthk2020
Live Deck: https://slides.com/gaplotech/offload-ui-thread
Your Browser’s UI Thread is overworked, underpaid and begging your help.》
有咩問題,可以留 Comment,會在 Q&A 解答 💪
Live Link: https://bit.do/devfesthk2020
Live Deck: https://slides.com/gaplotech/offload-ui-thread
Jetpack Compose 取代一啲好簡單嘅 RecyclerView 會簡潔幾多?
https://twitter.com/vinaygaba/status/1315371644278325248?s=20
https://twitter.com/vinaygaba/status/1315371644278325248?s=20
Twitter
Vinay Gaba
How it started: How it's going: #AndroidDev #JetpackCompose
有 QUIC 嘅存在,TCP 可能好快會變成歷史!第一步由 HTTP/3 開始,Chrome 早幾日已經上咗 QUIC
https://blog.chromium.org/2020/10/chrome-is-deploying-http3-and-ietf-quic.html
理論上用 Chrome 上 google.com 應該會快咗!另外你手上用緊嘅 Uber App 原來一早已經行緊 QUIC!
Uber Engineering 高質長文:https://eng.uber.com/employing-quic-protocol/
TLDR;
// QUIC is a stream-multiplexed modern transport protocol implemented over UDP. It replaces portions of HTTPS and TCP layers on the stack, using UDP for packet framing. QUIC only supports secure data transmission, hence the TLS layer is completely embedded within QUIC.
Below, we outline features that made it compelling for us to adopt QUIC in addition to TCP for this edge communication:
- 0-RTT connection establishment
- Overcoming HoL blocking
- Congestion control
- Loss Recovery
- Optimized ACKing
- Connection Migration
//
如果你做緊嘅 Application 曾經「嫌 TCP 慢」嘅朋友(High Frequency Trading?),不妨轉個 Protocol 比較下!
https://blog.chromium.org/2020/10/chrome-is-deploying-http3-and-ietf-quic.html
理論上用 Chrome 上 google.com 應該會快咗!另外你手上用緊嘅 Uber App 原來一早已經行緊 QUIC!
Uber Engineering 高質長文:https://eng.uber.com/employing-quic-protocol/
TLDR;
// QUIC is a stream-multiplexed modern transport protocol implemented over UDP. It replaces portions of HTTPS and TCP layers on the stack, using UDP for packet framing. QUIC only supports secure data transmission, hence the TLS layer is completely embedded within QUIC.
Below, we outline features that made it compelling for us to adopt QUIC in addition to TCP for this edge communication:
- 0-RTT connection establishment
- Overcoming HoL blocking
- Congestion control
- Loss Recovery
- Optimized ACKing
- Connection Migration
//
如果你做緊嘅 Application 曾經「嫌 TCP 慢」嘅朋友(High Frequency Trading?),不妨轉個 Protocol 比較下!
[BREAKING] 美國空軍都用 Kubernetes!
"The successful combination of the U-2’s legacy computer system with the modern Kubernetes software was a critical milestone for the development of software containerization on existing Air Force weapon systems"
相信每個人都有個「軍用級別」嘅迷思,Kubernetes 已經達到呢個程度,大家點睇?
https://www.af.mil/News/Article-Display/Article/2375297/u-2-federal-lab-achieves-flight-with-kubernetes/
"The successful combination of the U-2’s legacy computer system with the modern Kubernetes software was a critical milestone for the development of software containerization on existing Air Force weapon systems"
相信每個人都有個「軍用級別」嘅迷思,Kubernetes 已經達到呢個程度,大家點睇?
https://www.af.mil/News/Article-Display/Article/2375297/u-2-federal-lab-achieves-flight-with-kubernetes/
Air Force
U-2 Federal Lab achieves flight with Kubernetes
Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management. Its container-centric management environment orchestrates
Introducing SharedFlow in Kotlin 1.4, (Hot Flow)
Design Philosophy: https://github.com/Kotlin/kotlinx.coroutines/issues/2034
Documentation: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-shared-flow/
Kotlin Online Event(Shared Flow) : https://youtu.be/E5bje5HgKs0
Design Philosophy: https://github.com/Kotlin/kotlinx.coroutines/issues/2034
Documentation: https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-shared-flow/
Kotlin Online Event(Shared Flow) : https://youtu.be/E5bje5HgKs0
//Knowledge management is so important in organizations, but they rarely undergo that critical step of reorganizing to reflect the current understanding.//
https://daverupert.com/2020/11/technical-debt-as-a-lack-of-understanding/
https://daverupert.com/2020/11/technical-debt-as-a-lack-of-understanding/
daverupert.com
Technical debt as a lack of understanding
Some time back, I was working on a project where it felt like the timebomb of technical debt was exploding in our faces. We couldn’t refactor the whoositz because of the whatsitz and when we asked about the whatsitz no one knew about the whatsitz and how…
點睇你公司的 Knowledge Management ?
Anonymous Poll
3%
Well Mantained & Useful
14%
Fine
41%
Not Good
41%
None
Single Core 快到一個點,Multi-core 5nm Fanless 跑贏 14nm …
> The new MacBook Air with M1 chip scored 1687 in single-core and 7433 in multi-core tests.
> the higher-end 16-inch MacBook Pro model with an Intel Core i9 processor scores 1096 single-core and 6870 multi-core.
全文: https://9to5mac.com/2020/11/11/macbook-air-with-m1-chip-beats-16-inch-macbook-pro-performance-in-benchmark-test
Macbook Air M1 流出: https://browser.geekbench.com/v5/cpu/4648107
> The new MacBook Air with M1 chip scored 1687 in single-core and 7433 in multi-core tests.
> the higher-end 16-inch MacBook Pro model with an Intel Core i9 processor scores 1096 single-core and 6870 multi-core.
全文: https://9to5mac.com/2020/11/11/macbook-air-with-m1-chip-beats-16-inch-macbook-pro-performance-in-benchmark-test
Macbook Air M1 流出: https://browser.geekbench.com/v5/cpu/4648107
9to5Mac
MacBook Air with M1 chip beats 16-inch MacBook Pro performance in benchmark test
Apple introduced its first Macs with the Apple Silicon “M1” chip, which brings the ARM architecture to the Mac with improved performance and energy efficiency. While the company said that the M1 chip is more powerful than most PC processors, a new benchmark…
Good Reading on GraphQL
#GraphQL
https://netflixtechblog.com/how-netflix-scales-its-api-with-graphql-federation-part-1-ae3557c187e2
#GraphQL
https://netflixtechblog.com/how-netflix-scales-its-api-with-graphql-federation-part-1-ae3557c187e2
Medium
How Netflix Scales its API with GraphQL Federation (Part 1)
Learn how Netflix uses GraphQL federation for its API architecture, offering a unified, curated API powered by decoupled back-end services.
睇睇下 Kotlin Actual Server side use case, 中間有一個 JIRA 嘅 Sharing
//Jira used to be a standalone monolithic Java application that users installed on their servers. However, with the introduction of Jira cloud, the need emerged to decompose the application into multiple services in order to scale it better.//
話唔定早排 Confluence 要摺咗 Server License 嘅原因 可能係因為由一個 Java Monolitic Application Revamp 轉做 Kotlin Microservice.
//Jira used to be a standalone monolithic Java application that users installed on their servers. However, with the introduction of Jira cloud, the need emerged to decompose the application into multiple services in order to scale it better.//
話唔定早排 Confluence 要摺咗 Server License 嘅原因 可能係因為由一個 Java Monolitic Application Revamp 轉做 Kotlin Microservice.
The JetBrains Blog
Productive Server-Side Development With Kotlin: Stories From The Industry - The JetBrains Blog
Kotlin was created as an alternative to Java, meaning that its application area within the JVM ecosystem was meant to be the same as Java’s. Obviously, this includes server-side development. We woul
Page level server-side rendering 🧐?
Component level server side rendering😌!
目標係唔洗點改 Code 改用 GraphQL 嘅情況下,解決咗一堆 Waterfall Data fetching 問題
https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html
Component level server side rendering😌!
目標係唔洗點改 Code 改用 GraphQL 嘅情況下,解決咗一堆 Waterfall Data fetching 問題
https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html
legacy.reactjs.org
Introducing Zero-Bundle-Size React Server Components – React Blog
This blog site has been archived. Go to react.dev/blog to see the recent posts. 2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components. To introduce React…
✅ Inline value classes in Beta
✅ Sealed interfaces preview
https://github.com/JetBrains/kotlin/releases/tag/v1.4.30-RC
未來 Architect Domain Model, Typing 將會很不一樣 😛
✅ Sealed interfaces preview
https://github.com/JetBrains/kotlin/releases/tag/v1.4.30-RC
未來 Architect Domain Model, Typing 將會很不一樣 😛
GitHub
Release Kotlin 1.4.30-RC · JetBrains/kotlin
CHANGELOG
1.4.30-RC
Info about particular features
JVM IR backend reaches Beta
Inline classes improvements
JVM records preview with -language-version 1.5 and -Xjvm-enable-preview
Sealed interfaces...
1.4.30-RC
Info about particular features
JVM IR backend reaches Beta
Inline classes improvements
JVM records preview with -language-version 1.5 and -Xjvm-enable-preview
Sealed interfaces...
ElasticSearch + Kibana 改 License,由 7.11 版本開始,Cloud Service Provider 將不能直接提供 7.11 或以後的 Managed Elastic Search 服務!
Self-Host Binary Distribution 將不會受到限制
繼 Redis、MongoDB、Confluent 後另一個大型 Open Source Project 限制 Cloud Service Provider 直接提供 SaaS 服務
// We are moving our Apache 2.0-licensed source code in Elasticsearch and Kibana to be dual licensed under Server Side Public License (SSPL) and the Elastic License //
//
So why the change? AWS and Amazon Elasticsearch Service. They have been doing things that we think are just NOT OK since 2015 and it has only gotten worse. If we don’t stand up to them now, as a successful company and leader in the market, who will?
//
// The primary reason for this change is to protect our investments by not allowing cloud providers to take our products and provide them directly as a service without collaborating with us. We are making the effort to stay as free and open as possible while doing so.
//
🥜🥜🥜《Amazon: NOT OK - why we had to change Elastic licensing》
《Doubling down on open, Part II》
FAQ
#ElasticSearch
Self-Host Binary Distribution 將不會受到限制
繼 Redis、MongoDB、Confluent 後另一個大型 Open Source Project 限制 Cloud Service Provider 直接提供 SaaS 服務
// We are moving our Apache 2.0-licensed source code in Elasticsearch and Kibana to be dual licensed under Server Side Public License (SSPL) and the Elastic License //
//
So why the change? AWS and Amazon Elasticsearch Service. They have been doing things that we think are just NOT OK since 2015 and it has only gotten worse. If we don’t stand up to them now, as a successful company and leader in the market, who will?
//
// The primary reason for this change is to protect our investments by not allowing cloud providers to take our products and provide them directly as a service without collaborating with us. We are making the effort to stay as free and open as possible while doing so.
//
🥜🥜🥜《Amazon: NOT OK - why we had to change Elastic licensing》
《Doubling down on open, Part II》
FAQ
#ElasticSearch
Elastic Blog
Amazon: NOT OK - why we had to change Elastic licensing
We've had a few questions about our recent license change to Elasticsearch and Kibana....
近呢兩年,我一直尋尋覓覓一個可以真正行 Zero DevOps 而且 Maintenance Free 嘅 Managed Service 行 Micro-service Architecture。
相信大部份主力做 Backend 嘅朋友,就算有新 Project 想行 Micro-service Architecture 都會撠喺缺乏 DevOps 同事或認知,採取決定時多數會以弊多於利被否決,再加上海量 DevOps 知識及 Practice,學習成本基本上半年起跳...
//
市面上大部份 Managed Service 都只是 Managed Container Orchestration,只能說可以減輕 DevOps 負擔,一定要擁有相關 DevOps 知識及經驗才能正確運用,所以稱不上是一套完整 Solution。
//
於機緣巧合下,正與 Azure 洽談合作宣傳一個 2021年 2 月的 Open Azure Day Event 時,在洽談過程中得知 Azure 幾個月前剛推出一個全新服務 Azure Spring Cloud!
睇咗少少網頁介紹,非常有可能實踐 Zero DevOps,於是自費試一試個 Azure Spring Cloud!
P.S. 除了宣傳 Open Azure Day Event 之外,以下所有內容㫮是自費測試,Azure 方面沒有提供、修改或刪減任何內容。
想了解更多 Managed Spring Cloud 的使用,於 23 Feb 2021 (Tue) 11:25am - 11:55am 有一場 《The Cloud Native Platform for your Microservice Apps with Azure Spring Cloud in real life》,亦有其它 Azure 相關係服務講解!
➡️ 立即登記 Open Azure Day(Virtual Event)
https://aka.ms/OpenAzureDayHKG
➡️ 全文
https://gaplo.tech/searching-zero-devops-microservice/
#OpenAzureDay
相信大部份主力做 Backend 嘅朋友,就算有新 Project 想行 Micro-service Architecture 都會撠喺缺乏 DevOps 同事或認知,採取決定時多數會以弊多於利被否決,再加上海量 DevOps 知識及 Practice,學習成本基本上半年起跳...
//
市面上大部份 Managed Service 都只是 Managed Container Orchestration,只能說可以減輕 DevOps 負擔,一定要擁有相關 DevOps 知識及經驗才能正確運用,所以稱不上是一套完整 Solution。
//
於機緣巧合下,正與 Azure 洽談合作宣傳一個 2021年 2 月的 Open Azure Day Event 時,在洽談過程中得知 Azure 幾個月前剛推出一個全新服務 Azure Spring Cloud!
睇咗少少網頁介紹,非常有可能實踐 Zero DevOps,於是自費試一試個 Azure Spring Cloud!
P.S. 除了宣傳 Open Azure Day Event 之外,以下所有內容㫮是自費測試,Azure 方面沒有提供、修改或刪減任何內容。
想了解更多 Managed Spring Cloud 的使用,於 23 Feb 2021 (Tue) 11:25am - 11:55am 有一場 《The Cloud Native Platform for your Microservice Apps with Azure Spring Cloud in real life》,亦有其它 Azure 相關係服務講解!
➡️ 立即登記 Open Azure Day(Virtual Event)
https://aka.ms/OpenAzureDayHKG
➡️ 全文
https://gaplo.tech/searching-zero-devops-microservice/
#OpenAzureDay
Gap撈Tech
尋找 Zero DevOps 的清新感覺
巧遇 Azure Spring Cloud
GraphQL for Spring Boot Open Sourced by Netflix !!!
Domain Graph Service Framework(DGS),Standardize 咗好多做 GraphQL Service 時遇到嘅問題... 例如 Authorization, File Upload,而其一個最難最有價值嘅難題就係 GraphQL Federation!
//
The framework was mostly just an easier way to build GraphQL services, both standalone and federated.
//
我自己相信未來幾年嘅重點一定係 GraphQL Federation,今次 Netflix 幫 JVM GraphQL 世界起碼推進咗好幾年!
有認識阿 Gap 嘅朋友都知,我係 #信Kotlin得永生嘅人,自己一直有留意開 Netflix 對 JVM 世界嘅貢獻,上一篇文先讚完 Netflix OSS 貢獻咗好多係 RESTful Spring Boot + Microservice 世界,咁快就見到 Netflix OSS 對 GraphQL 嘅貢獻;自己啱啱開始睇緊 Apollo GraphQL Gateway,睇黎已經可以轉陣!
//
Both approaches, schema-first and code-first, are supported in our framework. At Netflix we strongly prefer schema-first development because
//
全文
https://netflixtechblog.com/open-sourcing-the-netflix-domain-graph-service-framework-graphql-for-spring-boot-92b9dcecda18
上一回(How Netflix Scales its API with GraphQL Federation)
https://netflixtechblog.com/how-netflix-scales-its-api-with-graphql-federation-part-1-ae3557c187e2
Domain Graph Service Framework(DGS),Standardize 咗好多做 GraphQL Service 時遇到嘅問題... 例如 Authorization, File Upload,而其一個最難最有價值嘅難題就係 GraphQL Federation!
//
The framework was mostly just an easier way to build GraphQL services, both standalone and federated.
//
我自己相信未來幾年嘅重點一定係 GraphQL Federation,今次 Netflix 幫 JVM GraphQL 世界起碼推進咗好幾年!
有認識阿 Gap 嘅朋友都知,我係 #信Kotlin得永生嘅人,自己一直有留意開 Netflix 對 JVM 世界嘅貢獻,上一篇文先讚完 Netflix OSS 貢獻咗好多係 RESTful Spring Boot + Microservice 世界,咁快就見到 Netflix OSS 對 GraphQL 嘅貢獻;自己啱啱開始睇緊 Apollo GraphQL Gateway,睇黎已經可以轉陣!
//
Both approaches, schema-first and code-first, are supported in our framework. At Netflix we strongly prefer schema-first development because
//
全文
https://netflixtechblog.com/open-sourcing-the-netflix-domain-graph-service-framework-graphql-for-spring-boot-92b9dcecda18
上一回(How Netflix Scales its API with GraphQL Federation)
https://netflixtechblog.com/how-netflix-scales-its-api-with-graphql-federation-part-1-ae3557c187e2
Forwarded from Gap
法國 Data center 大火,整個 SBG2 Zone 燒毀,Rust (Gaming 平台) 整個 EU Server Data Total Loss 😦
事實証明,冇行 Multi-Availability Zone、冇 Remote Backup,遇上天災人禍隨時 Total Loss!
一夜摧毀哂所有遊戲資料,聽到都覺得痛...
//We've confirmed a total loss of the affected EU servers during the OVH data centre fire. We're now exploring replacing the affected servers.
Data will be unable to be restored.//
https://twitter.com/playrust/status/1369611688539009025?s=21
事實証明,冇行 Multi-Availability Zone、冇 Remote Backup,遇上天災人禍隨時 Total Loss!
一夜摧毀哂所有遊戲資料,聽到都覺得痛...
//We've confirmed a total loss of the affected EU servers during the OVH data centre fire. We're now exploring replacing the affected servers.
Data will be unable to be restored.//
https://twitter.com/playrust/status/1369611688539009025?s=21
Twitter
Rust
Update: We've confirmed a total loss of the affected EU servers during the OVH data centre fire. We're now exploring replacing the affected servers. Data will be unable to be restored.
S3 Object Lambda 真係一個幾有用 Cloud Feature!好適合去放一啲 Stable Implementation 做一啲 Default Service Endpoint
不過將愈多 Logic 放喺 Cloud Unique Managed Service,愈難做到 Cloud Agnostic,一要諗埋 3 Month Exit Plan 就會好頭痛 🥲
講就可以講 fallback Knative 做個 S3 Proxy Service Endpoint
Fallback 方法講就講得好好聽,不過去到實際操作上其實都改變咗好多 Application Development,即係一啲 Code 本身黐喺 Dedicate Application 都冇乜問題亦會被無辜抽咗出黎,而且仲要 Develop + Maintain 多個 S3 Proxy ACL,如果不幸地有人用嚟放 __unstableFunc() ,感覺上成件事會變得比想像中更爛更 Fragile...
//Today, I’m very happy to announce the availability of S3 Object Lambda, a new capability that allows you to add your own code to process data retrieved from S3 before returning it to an application.//
https://aws.amazon.com/blogs/aws/introducing-amazon-s3-object-lambda-use-your-code-to-process-data-as-it-is-being-retrieved-from-s3/?fbclid=IwAR0IXhMXaApsoDgd2qgoAJ1FtjOv4cXDvtAzJhEs7rWQsM7EsxnEZkRsdHA
Original FB Post
不過將愈多 Logic 放喺 Cloud Unique Managed Service,愈難做到 Cloud Agnostic,一要諗埋 3 Month Exit Plan 就會好頭痛 🥲
講就可以講 fallback Knative 做個 S3 Proxy Service Endpoint
Fallback 方法講就講得好好聽,不過去到實際操作上其實都改變咗好多 Application Development,即係一啲 Code 本身黐喺 Dedicate Application 都冇乜問題亦會被無辜抽咗出黎,而且仲要 Develop + Maintain 多個 S3 Proxy ACL,如果不幸地有人用嚟放 __unstableFunc() ,感覺上成件事會變得比想像中更爛更 Fragile...
//Today, I’m very happy to announce the availability of S3 Object Lambda, a new capability that allows you to add your own code to process data retrieved from S3 before returning it to an application.//
https://aws.amazon.com/blogs/aws/introducing-amazon-s3-object-lambda-use-your-code-to-process-data-as-it-is-being-retrieved-from-s3/?fbclid=IwAR0IXhMXaApsoDgd2qgoAJ1FtjOv4cXDvtAzJhEs7rWQsM7EsxnEZkRsdHA
Original FB Post
Amazon
Introducing Amazon S3 Object Lambda – Use Your Code to Process Data as It Is Being Retrieved from S3 | Amazon Web Services
March 15, 2023 – You can now use S3 Object Lambda with Amazon CloudFront to tailor content for end users. August 13, 2024 – Added a note clarifying that, when following the walkthrough, you should not mark the Specify Lambda function version option that was…
Deno Raise 咗 4.9m 成立一間公司,集中做 Deno (MIT License) 再以 Deno 貫穿的 Commercial Application,期待下一個真正解決到問題嘅 Open Source Business 💪🏻
除了 Open Source 精神非常值得尊敬之外,最尾帶出一句預測,大家覺得點睇?
//But JavaScript and TypeScript scripts calling into WebAssembly code will be increasingly common. Many developers, we think, prefer web-first abstraction layers.//
他日 Web 愈放愈多權限出黎,夠做哂大部份功能,Mobile-first 將會變成奢侈品(雖然而家已經有跡像),大公司先夠錢做 Mobile App。
https://deno.com/blog/the-deno-company
除了 Open Source 精神非常值得尊敬之外,最尾帶出一句預測,大家覺得點睇?
//But JavaScript and TypeScript scripts calling into WebAssembly code will be increasingly common. Many developers, we think, prefer web-first abstraction layers.//
他日 Web 愈放愈多權限出黎,夠做哂大部份功能,Mobile-first 將會變成奢侈品(雖然而家已經有跡像),大公司先夠錢做 Mobile App。
https://deno.com/blog/the-deno-company
Deno
Announcing the Deno Company | Deno
We have raised money to enable the millions of web programmers out there to
maximally leverage their craft.
maximally leverage their craft.