最近 Agile 台中 #單元測試線上工作坊 連三發。
先由 Max 打頭陣,用 Python 示範,
再由 Kuma 接棒,用 Java 示範,
接著由 Recca 用 PHP 示範。
我可以拍胸脯跟各位保證,他們幾位講單元測試內容都很專業的,因為都來過我的單元測試課一起交流過,他們實務上也都會落實撰寫單元測試,甚至 TDD 去輔助開發他們的產品。
至少我們這個流派,測試都是用來描述需求使用情境的,用來抓 production code API 易用性問題、職責設計的問題,那種 auto-validation(testing) 的回歸測試,只是順便的好處而已。
要聽,就要聽這種專業的陣容啊,大家都是實際在戰場用這種方式在打仗的。
那種只是教教 test framework, 工具, mock framework 的,要聽也是可以啦,只是如果連這樣的簡介你都不想花時間了解,即使聽了,你在實務上還是用不上去,得不到真正的好處的。只會產生一種錯覺:「我也會寫測試,只是 legacy code 太髒,要花我太多時間去寫測試了,我時間不夠,不然我也可以」
No, sorry,你不行,你就是不行。
因為可以的、能寫測試的,從來都不會覺得自己「沒時間寫測試」。
--
偷偷蹭一下大家的光芒,雖 #不要臉,但 #我驕傲
java validation 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的最讚貼文
โค้ดดิ้งให้ปลอดภัยจาก hacker
💥การโจมตีแบบ Cross-Site Scripting ชื่อย่อ "XSS"
เป็นช่องโหว่ที่ปล่อยให้ผู้ไม่หวังดี
สามารถใส่ โค้ดJava Script หรือฉีด (inject) เข้ามาได้
จากนั้น JavaScript ก็จะทำงานหน้าเว็บของผู้ใช้งาน
ซึ่งเป็นอันตรายอย่างยิ่งยวด
.
ตัวอย่างในรูปที่โพสต์
โค้ด Java Script ของ hacker
่เป็นโค้ดโชว์กล่องข้อความ ไม่มีพิษสง ไม่อันตราย
ของจริงอาจเจอผู้ประสงค์ร้าย
สามารถดำเนินการ เช่น
- อาจโดนขโมย session id
- ล้วงตับข้อมูลผู้ใช้งานนั้น
- เด้งหน้าจอให้ผู้ใช้คลิกลิงก์ไปยังเว็บอันตราย
- เด้งหน้าจอให้กดลงโปรแกรม malware
- และอื่นๆ สุดแต่ครีเอททีฟฝ่าย hacker เข้าละ
.
หมายเหตุ
🤓 เทคนิคการโจมตี XSS มีหลายแบบ
แต่นี้เป็นตัวอย่าง ชนิด Stored XSS
เป็นช่องโหว่ที่โค้ดฝั่ง Web Application
ปล่อยให้เก็บ Java Script ได้
.
พอผู้ใช้ส่ง request url มา
เว็บแอพลิเคชั่นก็เอาข้อมูล javaScript ที่อยู่ในฐานข้อมูล (hacker แอบส่งมา)
นำมาแนบไปพร้อม HTML
ส่งไปยังหน้าบราวเซอร์ของผู้ใช้
จากนั้น JavaScript ก็จะทำงานทันที
.
ซึ่งช่องโหว่นี้
#โปรแกรมเมอร์ ต้องรับผิดชอบนะจะบอกให้
แต่แก้ง่ายมากเลยสมัยนี่ เพราะ
.
1) เพราะ library/framework สายเว็บแอพลิเคชั่น
เดี๋ยวนี้มันช่วยเราได้เยอะตรงจุดๆ นี้
.
มันจะช่วยเข้ารหัสข้อมูลที่เป็น java script ไม่ให้ทำงานได้ ทำให้มันเป็นแค่ข้อความหนึ่งเท่านั้นเอง
คือเข้ารหัสพวกเครื่องหมาย <, >, /> และอื่นๆ
.
2) หรือจะใช้วิธี validation ตอนผู้ใช้กรอกข้อความ
ต้องห้ามกรอก java script ก็เป็นการป้องกันอีกวิธีหนึ่ง
.
.
เป็นช่องโหว่เจอบ่อย แต่ก็ป้องกันได้
แต่ถ้าเราไม่ใช่ library/framework มาตรฐาน
ที่เขาผ่านร้อนผ่านหน้า แก้ช่องโหว่มาให้เราแล้ว
ก็ต้องลำบากหาทางป้องกันเอา อย่าลืม
.
.
✍ เขียนโดย โปรแกรมเมอร์ไทย thai programmer
java validation 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
跟大家分享一個熱騰騰的消息,來自於 CNCF 上面 Apple Inc 的分享
Apple 未來將會將內部的應用都部署從過去的 Apache Mesos 給逐漸轉移到 Kubernetes 上。
# 重點整理
1. Kubernetes 這種 plug-in 的生態系其實對使用者來說非常方便,針對網路,儲存等相關選擇不會再是一次定生死的玩法。任何時刻都可以根據需求重新評估並且不需要整個系統重新打掉
2.. Kubernetes 透過 CRD + Controller 這種概念讓開發者可以存取其 API 來達到很多客製化的功能
3. 要如何讓整個組織內的團隊都採用 Kubernetes 並且使用其學習曲線非常高,對整個團隊帶來的衝擊也是不可忽視
4. 目前內部已經正在嘗試 Kubernetes 想辦法來符合來自於不同團隊的需求,譬如 Java/Python/Go 的開發者, SRE 團隊, 硬體團隊與機器學習團隊
5. Apple 打算基於 namespace-as-a-service 以及 cluster-as-a-service 來提供環境給不同團隊使用
6. Apple 工程師也積極的參與 Kubernetes 的開發與貢獻,同時也在研究關於 microVM 等技術,希望能夠針對多租戶的應用情況下有所幫助。
註:
1. Kubernetes 透過 CRI/CNI/CSI 來提供彈性的 運算/網路/儲存 選擇
2. 對於 CNCF 來說,Apple 的公開使用是一個令人振奮的消息,愈來愈多的大公司往這邊邁進。
3. 多年前 Linux Foundation 一段演講中提到, Linux 之於作業系統,就如同 Kubernettes 之餘雲端,不知道這件事情會不會發生?
有興趣的點選下文觀看全部訪談
https://thenewstack.io/apple-plans-to-run-most-of-its-compute-management-on-kubernetes/