Your comment about java was somewhat misleading. Java 21 has virtual threads which are lightweight and won't hog a system thread. Besides, even a system thread isn't as expensive as you think, a modern os can handle couple of thousands or more idle threads with just some memory use. Nodejs can't compare with java on performance and features on its built in API, and node js is single threaded which is good for incompetent engineers but not for engineers with brains
Agreed. With the feature of virtual threads, which greatly increases the overall performance, I wonder if it’s really necessary to design the application in a non-blocking way, which is less intuitive and more complex 🤔. Also, it seems the issue of Thread Safe has nothing to do with the Cron job example she mentioned.
你講的non-blocking/blocking sync/async 根本上有錯。blocking I/O 指 before the operation complete, the calling thread cannot continue execution. Non-blocking means the call return regardless the operation has completed or not. Typically non-blocking return with indication if the operation is not completed. Sync means before the operation complete the calling thread is suspended, async on the other hand, return right the way regardless the operation status. The status of the async operation can be checked later. These operations are not the same as you suggested.
There is no such categories of blocking or non-blocking of a programming language. It is all about your design. Javascript natively uses a single threaded runtime, that's why javascript uses a model called Event Looping that handles concurrency. Either javascript or any other languages (Java, C++, and much more), blocking/non-blocking is something you have to deal with on your own!
I was pleasantly surprised that there is a Cantonese Developer channel. Yet, I want to point out that the host may have overloaded the term "thread safe" with "general concurrency concern". "Thread safe" usually refers to whether the data structures within an OS process can be maintained correctly, when multiple threads are run within that OS process.
好支持廣東話講tech嘢,特別係實戰system design或者coding。podcast又好yt都好,好似都係普通話或英文,廣東話真係絕無僅有。支持繼續做多啲呢類型嘅片。
有個上海婆北乜扮陀地揸流攤明明純粹係搞venture cap/angel fund融資但一日到黑扮專家.
好開心RUclips recommend 你呀❤,好叻女,難得遇到廣東話女仔教學。
多謝你呀🥺
非常開心有粵語講developer知識👍🏻
但可以減少表情和肢體動作,有d over左。我睇住個mon有視覺疲勞,另外圖面似係由多個剪輯而成,可以試下一個鏡頭連接下一個鏡頭好d就。我覺得tech talking可以平實d。
真係太多....
雖然javascript non-blocking 係正
但無type checking, 大少少嘅project 真係玩完
就算你話用typescript 都好, 好多時都做唔到你想要嘅效果
而且呢D 唔係OOP language, design pattern 都好難用到落去
Javascript 呢D都係用黎寫下frontend / 細backend project / AWS serverless 就得
大少少project 想trace code 真係bye bye
好正, 好耐無聽過廣東話講tech 野
唔建議比microservice同microservice之間直接synchronous咁communicate...
落條message queue (kafka, rabbitmq) 同define清楚啲ownership 可以有效減少好多scalability問題
終於有廣東話講K8s 而又係流暢清楚既, 加油
Your comment about java was somewhat misleading. Java 21 has virtual threads which are lightweight and won't hog a system thread. Besides, even a system thread isn't as expensive as you think, a modern os can handle couple of thousands or more idle threads with just some memory use. Nodejs can't compare with java on performance and features on its built in API, and node js is single threaded which is good for incompetent engineers but not for engineers with brains
Sorry, I missed out the release of Java 21. My bad 🫡
Agreed. With the feature of virtual threads, which greatly increases the overall performance, I wonder if it’s really necessary to design the application in a non-blocking way, which is less intuitive and more complex 🤔.
Also, it seems the issue of Thread Safe has nothing to do with the Cron job example she mentioned.
@louiskwan great point. I would also want to add that Java 8 has completablefuture which can make your java code non-blocking as well.
你嘅聲線、樣貌好NICE, 吸引到我睇
多謝支持😊
你講的non-blocking/blocking sync/async 根本上有錯。blocking I/O 指 before the operation complete, the calling thread cannot continue execution. Non-blocking means the call return regardless the operation has completed or not. Typically non-blocking return with indication if the operation is not completed. Sync means before the operation complete the calling thread is suspended, async on the other hand, return right the way regardless the operation status. The status of the async operation can be checked later. These operations are not the same as you suggested.
There is no such categories of blocking or non-blocking of a programming language. It is all about your design.
Javascript natively uses a single threaded runtime, that's why javascript uses a model called Event Looping that handles concurrency.
Either javascript or any other languages (Java, C++, and much more), blocking/non-blocking is something you have to deal with on your own!
Kubernetes只係提供個框架令無system design concept人好似有新野要跟咁啫, 一向做system design都要諗thread-safe, OOM, concurrent access/process依堆野, 唔好講到好似得Kubernetes先有, 老細聽到會質疑你未用K8S之前你其實返工攪緊乜 🤣 對管理層而言,k8s唔伏,伏位係當azure/aws配k8s或者其實cloud service, 個costing點解可以out of control,依啲先係高層想知嘅
的確,呢啲唔係淨係Kubernetes先要諗,但我眼見太多project一埋到嚟就話要Kubernetes+Java8+Springboot,然後又要啲嘢拆開做microservices。之後launch咗,又慢又容易死,仲要問返點解⋯
其實我某程度上係宣洩緊我嘅不滿,先出呢條片
@@an.it.a 每間公司職場文化唔同可以理解,有時未必有say,但如果一開始俾工具框死咗,而唔係因應business requirement所需去design,個project已經預咗唔易行,慢唔慢其實都未必關工具事,工具只係implement你嘅想法,慢都可以有caching嘅design, 甚至off load某啲process, 或者行hybrid design等等, 無話k8s一定只可配一隻叫java,每個工具都有利弊, java都唔係大哂最好,設計嘅闊度某程度上可以好大,即使受限於k8s environment,但前提始終係團隊嘅能力,其實好多上cloud行k8s project, 最大問題係cost management個透明度, 依個又down to系統設計有幾周全,反而performance嘅,有錢就有方法,當然要有能力諗到方法先,依個就係團隊嘅能力問題,黜確保system design嘅quality, 點measure而又容易發現問題所在而修復,依方面都要諗,管理層唔會理仔細嘅howto,但要有位去做到monitoring同review。
@@an.it.a其實Java 8加k8n加springboot有咩問題?因為blocking? 轉用java.nio會唔會解決到問題?有冇咩文獻講呢樣嘢?
@@an.it.a 新 project 仲話要用 Java8 都知有伏, 年頭就 EOL, 而且好多 framework 要求都唔止 Java8, 直接用 Java21 啦
啲動畫好比心機,希望可以keep到出片,想睇多啲
好少見有料既女developer 既video. 讚!
很喜歡聽呢啲從工作經驗而得出的知識😊
多謝支持!希望幫到大家!
親切的廣東話channel
多謝支持☺️
專业,實战,心得分享。👍👍👍👏👏👏🌹🌹🌹
第一次睇到這條片 多謝分享 😊
多謝支持!希望條片幫到你😊
終於有個廣東話channel. 講得好好. 我指教下如果想學k8s programming, 例如片中提到既Node.js, 方間有冇咩機構有提供以上課程呢?
k8s 唔係 programming...
Anita 把聲好似配音員, 內容亦簡單易明 👍已sub
多謝支持😊
我做開large scale systems,工作原因18年接觸k8s, 純簡單分享, k8s 本身google自己用, 如果公司無去到google咁既規模, 都玩死自己, 當人未到位, $未到位, 會選擇serverless請azure/aws/google做devops,尤其香港, business logic最緊要, 見唔少CTO, IT膠層, k8s出名就話要跟, 問深少少都黑人問號
轻量级的k3s更适合小型个人系统,我自己就用紧😊
K3s我反而用嚟做dev或者uat場,當啲客比得幾百蚊budget做呢兩個場,我唯有出動k3s
k3s係self hosted 先用,正常人用k8s都係買現成cloud service,同埋用docker實現ci cd的確係有佢優勢,唯一同級嘅替代品係用vm build image,主要優點係發揮最高性能,因為docker network io就算用ingress直連都係會有少少overhead。所以我個人反而建議細公司唔想花太多成本就用k8s/k3s
唔怪得香港it咁廢,k8s係完全適合細公司,1 team 4-5個人已經夠dev+ops,大陸外國一早已經做緊,自己唔識就學啦,仲好意思話做large scale,要去到goolge規模先用 k8s就唔會流行啦天才
@@ken-nc1wd 我可能真係無你咁勁,事實依家有managed k8s係簡單左,有無玩過k8s係vm上面行,有無試過公司要過PCI, ISO, 一大堆野要搞,無話k8s唔可以用,重點係錢同人配合,如果你做緊細公司,有一日要幫公司過ISO,PCI,auditor show百幾頁PowerPoint, 有關一大堆network ,access control, vulnerability management 等,可能你知我講咩
其实如果系数据库就唔太建议放kubernetes入面,更好的做法系开一个独立的server或者用云端服务商自己的RDS。甘样更简单而且安全。毕竟数据最值钱
無錯!無奈為了節省成本,有啲客戶會要求將database放入Kubernetes,的確可以省錢,但就忽略咗潛在風險
@@an.it.a永遠有啲客就係唔見棺材流眼淚,不過生意就係咁様來
I was pleasantly surprised that there is a Cantonese Developer channel.
Yet, I want to point out that the host may have overloaded the term "thread safe" with "general concurrency concern".
"Thread safe" usually refers to whether the data structures within an OS process can be maintained correctly, when multiple threads are run within that OS process.
true. Thread-safe is a topic within a single host. For cluster wise, the problem mentioned is race condition
雖然唔知你講緊乜,但都係訂閱咗先!希望有日知你講乜啦。 :)
其實我唔識
non-blocking 同
blocking (by threading pool, 不過可能有 server resouce limit, 只計 同 os / cpu cores tune 得好咁計)
之間 應用 起上黎 既 performance different
###
一直都想試下, 但不過我未有時間玩.
(
如果聽你解釋,
其實感覺 non-blocking 果支 thread 都係一直 switch 緊佢既 working context (regs) (當佢底層收到 可以 continue 既 event 時?? - 我唔識唔熟 😂)
應該都會有少少 overhead,
如果計 performance, 唔計 own 住 thread expesnse 既 resource limit, non-blocking 唔太 sure 有幾勁 @_@..'
)
不過感覺暫時做既野未有斟酌到 blocking / non-blocking performance tuning 呢個位既可能, 顧好 tcp port limit 呢 d db lock 仲實際.
反正 blocking 寫計 唔夠機一樣可以 加 cpu cores / 加 ram / 加機.
不過 Anita 好似好可愛 😂
好多資訊,諗好耐。錯誤3 嗰度講,cron job 係一個 service,同一時間三個一齊行,點解會咁做而唔係三個不同嘅 service 或者落 parameter 呢?另外通常 thread safe 係形容 multithread 裡面 resource 唔想互相影響,放喺 service 上面我唔太諗到點樣 lock 住個 resource,用 common flag 去分辨?都一樣叫 thread safe?
謝謝分享
如果唔好燈大隻眼望個鏡頭會好好多,依家內容好好但只敢聽唔敢望條片
Thx and god bless 😊
好貼地。加油
我也是做 IT Technical team 的女性,主力 security products
多謝你~😊
好正 多謝分享
多謝支持😊
成條片講得非常好! 文字講解同術語都非常清楚 但可以再改善 就係唔使特登自己show個樣表情咁大 開頭同結尾都可以直show鏡頭嘅 但後面就可以用圖講解cam放係左下
有廣東話,真好
多謝支持😊
@@an.it.a 加油👍🏻
作為solo dev 我淨係識直接俾錢用PaaS😂 一直覺得除非係privacy問題 與其請人main一大堆野 PaaS好似仲化算 不過香港好似比較少聽到人用 多謝你既分享!
香港招唔招内地噶it工程师啊
我做infra Ssystem in-house 1x ,多年,都未有機會好似你做SI 咁多野學,真是😅
講句笑話,徇個別觀眾要求,戴返副黑超囉,不過現場有啲歌播放時,記得除咗佢呀,否則惹來麻煩
支持廣東話拍片解釋tech
但可以考慮把頭像縮小同減少身體語言
聽完之後我決定放棄唔用kubernetes了
好難得有個廣東話 又IT 工作相關既channel
唔使太多動作,自然啲,而家有啲做作
多謝你,希望我會有進步😊
Thx and god bless 😊
難得有廣東話講devops野:))
廣東話講tech嘢 gogogogo
唔帶眼鏡的it 狗好少見呀
溫故知新好正👍🏻
多啲整片
竟然有香港人講system 支持
講解清晰,仲要廣東話,支持支持🙏🏼🙏🏼
謝謝分享,好落地
多謝支持😊
😮讚👍🏻
至憎Docker 多蓝鱼
咁又唔係完全多舊魚嘅,佢喺maintenance方面都有好多好處嘅
Docker 做develop 幾好用
尤其是你多個project 係手
PDB, 伏. PSA, 可以好伏. Pod OOM'd 伏. Namapace quota. 大伏
都唔及要執其他人手尾伏⋯
@@an.it.a 呢啲咪人哋手尾囉. 我行個cluster畀佢哋啫
支持Die Hard廣東話頻道 不過我係早 2星期睇過docker YT先有推過黎
多謝支持😊其實呢條片已經大半年前,YT依家先肯幫我推
@@an.it.a 可否教人玩Raspberry Pi 可以細路仔學下stem 功課 又夠平
Thanks
☺️
push
Thanks!🤩
簡單易明.會唔會有多d 類似分享,多謝分享
多謝支持☺️
Thank you❤
🫰🏻
Useful ...too technical ...target senior and used K8s a while for SRE or PE
Yes, this is assumed to have K8s basic knowledge instead of newbie tutorial 😊
小小建議表達嘅時候可以唔使咁多表情,其實mild啲講tech嘢已經好ok。聽tech嘢嘅都係為咗content多過performance/entertainment。可以參考yolo街、Karenly或者Rannes Man個tone已經可以,唔需要太多支體語言同面部表情,一啲自信嘅笑容已經足夠。
這是外國人的風格.若果她再發展埋外語片.這是需要的.
Er... 你可能講緊啲gadget kol,我睇開啲tech kol都係內斂啲。Anyway,呢個始終係廣東話channel,都要留意吓廣東話市場嘅口味。
@@KenKwan-k3n 呢種表情/動靜唔知係咪上咗某啲課程教, 睇開另一個本地pole dance channel 又係類似咁
一副欠奏嘅樣子😅😂😂
🫣🫣🫣
但係我鐘意,廣東話特別親切入腦。
講得好👍🏻
多謝支持😊