這一年我的新的地圖PO比較少,您想知道我一直在忙什麼嗎?我將有一個驚喜給大家, 目前還是秘密,但是這裡有個提示: 大自然愛好者,瀑布探險者和戶外愛好者的下一個大型平台即將到來。
這將改變您的探索方式,並使我的小網站變得過時。 這次,我不僅要與所有人共享我的地圖,而且要創建一個由探索者和地圖製作者組成的整個社區。 我想探索一個更具包容性的空間。
順便說一句,我正在尋找一名Frontend Engineer加入其中,並幫助使這個項目成為可能。 您或您認識的某個人是一位經驗豐富的程序員,熱衷於共享和冒險嗎? 請閱讀以下詳細訊息,如果您想申請或有任何疑問,請聯繫Bryan。
😊☀😊
This year I haven't been able to add as many new maps. Would you like to know why I've been so busy? It's still a bit of a secret... but here's is a hint: The next big platform for nature lovers, waterfall explorers, and outdoor enthusiasts is coming. It's going to change the way you go exploring and make my fun little website obsolete. This time I'm not just looking to share my maps with everyone, but to create an entire community of explorers and mapmakers. I want to make exploring a more inclusive space.
Incidentally I am looking for a Frontend Engineer to join the team and help make this project possible. Are your or someone you know an experienced programmer with a passion for sharing and adventure? Please check the details below and contact Bryan if you would like to apply or have any questions.
😊☀😊
Job Details:
* Participate in brainstorming sessions for product features and system architecture
* Collaborating with the design team
* Research into new technologies
Required Qualifications
* Proficient in Javascript along with a frontend framework, angular and/or react
* Experience using HTML5 & CSS3 features (websockets, webrtc, SSE, LESS, SASS, Stylus, PostCS, etc.)
* Experienced with RESTful APIs
* Experienced with SPA, Flux, Redux is good.
* Experience with building real-time applications
* Experience with build pipeline tools: grunt, gulp, webpack, etc
* Experience with Git and Git flow
Preferred Qualifications
* Experience with building native webapps (react native, etc.)
* Experience developing optimistic UI style applications
* Experience optimizing frontend for performance and user experience
* Strong knowledge of media handling on client
* Open-source advocate
Nice to have
* UI/UX Design
How to Apply
Please submit the following here or to bryankuo@fusionnextinc.com
* CV/Resume
* A link to your Github/Bitbucket
git flow 在 BorntoDev Facebook 八卦
⌛ ปฏิเสธไม่ได้เลยว่าอาชีพ DevOps ก็กำลังมาแรงมากในยุคนี้เช่นกัน อีกทั้งยังเป็นอาชีพที่มีค่าตัวสูงมากๆ ทำให้ใครหลายๆ คนจึงอยากทำอาชีพนี้
.
💡 DevOps พูดกันง่ายๆ คืออาชีพที่จะช่วยเชื่อมกระบวนการพัฒนาโปรแกรม ไปจนถึงขั้น Deploy รวมถึงการติดตามสถานะการทำงานของโปรแกรม และนำมาปรับปรุงพัฒนาให้มีประสิทธิภาพยิ่งขึ้น
.
👉 สิ่งสำคัญที่ต้องเรียนรู้หากอยากจะทำอาชีพนี้มีอะไรบ้าง? วันนี้แอดสรุปคร่าวๆ มาให้แล้วจ้า
.
✨ 1) ต้องมีแนวคิดในการพัฒนาซอฟต์แวร์
ซึ่ง DevOps อาจจะไม่ต้องเขียนโปรแกรมโดยตรง แต่ต้องมีความรู้ที่ครอบคลุมและทำงานร่วมกับทีม Developer เพื่อพัฒนาปรับปรุงโปรแกรมให้เป็นไปตาม Flow มากที่สุด
.
✨ 2) ต้องมีความรู้พื้นฐาน Linux
การทำงานจะต้องจัดเตรียมโครงสร้างต่างๆ ซึ่งส่วนใหญ่จะทำบนเซิร์ฟเวอร์ และเซิร์ฟเวอร์ส่วนใหญ่ก็จะใช้ OS เป็น Linux ดังนั้นจึงต้องมีความรู้ด้านนี้มาบ้าง เช่น คำสั่ง Command Line พื้นฐาน, SSH Key เป็นต้น
.
✨ 3) Networking & Security
เช่นการ Configure Firewalls, HTTP/HTTPS, โครงสร้าง IP addresses และ DNS เป็นต้น
.
✨ 4) Docker
DevOps ส่วนใหญ่จะใช้งาน Docker กันเป็นหลัก หากใครยังไม่มีพื้นฐานสามารถเข้าไปเรียนได้ฟรีได้ที่ลิงค์นี้เลย >> https://www.youtube.com/watch?v=3c-iBn73dDE
.
✨ 5) CI/CD
เป็นกระบวนการ Monitor การพัฒนาแอปพลิเคชันแบบอัตโนมัติ ตั้งแต่การนำโค้ดมา Merge กัน ไปจนถึงการทดสอบเพื่อ Deploy ขึ้น Production ซึ่งเราควรเรียนรู้เครื่องมือต่างๆ ที่จะทำ CI/CD อย่างเช่น CI/CD pipeline, การ Set Up CI/CD, การใช้งาน Docker Image เป็นต้น
.
✨ 6) ผู้ให้บริการ Cloud
ซึ่งในหลายบริษัทใช้บริการโครงสร้าง Cloud สำเร็จรูป โดยที่ไม่ต้องออกแบบ IaaS เอง ซึ่งเราควรเรียนรู้ และใช้เครื่องมือต่างๆ ของระบบ Cloud นั้นๆ ไว้บ้าง ซึ่งที่ฮิตกันตอนนี้ก็มี AWS, Azure, และ Google Cloud เป็นต้น
✨ 7) Kubernetes
เป็นที่นิยมอย่างมากในการใช้จัดการ Containers บนเซิร์ฟเวอร์ต่างๆ และเราก็ควรเรียนรู้ว่ามันทำงานยังไง มีคำสั่งอะไรบ้าง หากใครสนใจอยากเรียนพื้นฐานการใช้งาน Kubernetes แบบฟรีๆ คลิกลิงค์ได้เลยจ้า >> https://www.youtube.com/watch?v=X48VuDVv0do
.
✨8) ภาษา Script
การจัดการแอปพลิเคชันแบบอัตโนมัติก็ต้องมีการเขียน Script เพื่อให้มันทำงานตาม Flow จึงจำเป็นที่จะต้องเขียนภาษา Script พื้นฐานให้เป็นด้วย เช่น Python, Ruby, NodeJS และ Go
.
✨ 9) การใช้งาน Git
จำเป็นต้องรู้โครงสร้าง และคำสั่งพื้นฐานในการใช้งาน Git เพื่อช่วยจัดการและติดตามการเปลี่ยนแปลงของโค้ด และการอัปเดตเวอร์ชันต่างๆ ก่อน Deploy ขึ้น Production
.
✨ 10) พื้นฐาน Infrastructure
ต้องรู้จักเครื่องมือต่างๆ ที่ใช้ในการจัดการ Infrastructure อย่างมีประสิทธิภาพ เช่น Ansible, Puppet, และ Chef เป็นต้น
.
หากใครมีประเด็นเพิ่มเติม หรือพี่ๆ คนไหนที่กำลังทำอาชีพนี้ มีสิ่งที่อยากจะแชร์ให้กับเพื่อนๆ หรือน้องๆ ที่สนใจ สามารถคอมเมนต์ไว้ใต้โพสนี้เลยนะคะ 😍
.
❤️ หวังว่าข้อมูลนี้จะเป็นประโยชน์กับเพื่อนๆ น้า
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
git flow 在 91 敏捷開發之路 Facebook 八卦
看吧,每人每天至少 merge 回主幹一次,基於主幹的開發 搭配 feature toggle,才能比較容易達到真實的 CI, CD 的精神。
CI 本質是「持續整合」,不是 build server。
CD 是「持續佈署」,不是自動化佈署。
TDD 也不是自動化測試,是測試輔助開發,用測試來描述情境,確保每一行程式碼都是剛好的為某些情境而存在,沒有多餘,重構沒有負擔,顆粒度小的單元測試能完整且扎實。(你們確定你們團隊有能力在實務上有效、有用地使用TDD來獲得好處嗎?)
紅燈除錯時間降到最低,上版後要 hotfix 也可以直接關掉 toggle 再找到問題的原因,快速地 merge 回主幹,直接推到 production 再開 toggle。
如果走 feature branch,那你們產品是多久才 merge 回主幹一次?一天多次?如果是,那你會覺得連開 feature branch 本身都是個多餘、不必要的 effort。
一切都是基本功,不要只被絢麗的工具、解決方案給迷惑了。
#給了你鑿子也不會因此變成米開朗基羅
--
每次在上課或是在輔導的客戶那邊聊到,Odd-e 幾乎所有人一般都是不走/不建議 用 git flow 之類的 feature branch,工程師們總是十分吃驚。你們不拆 feature branch? 那你們怎麼做的?
feature branch 的主要目的就是為了避免 conflict 造成的成本,然後透過 delay merge 來降低這一段成本(事實上降低的是頻率,而不是成本),因此而付出「延遲整合」的代價。
其實如果退回來敏捷出來之前的瀑布式或傳統的開發方式,大部份都是 component team 或是專業分工團隊,依據大家的專業去內聚成一個 team, 看起來貌似 efficiency 提高,其實是在增加整合的困難,失去全局概念,增加依賴的不穩定性,甚至「避免」溝通。
如果你看過前端一個 team, 後端一個 team 在做一個產品,他們只透過 API spec 跟 文字在溝通如何界接,最終都會導致許多無形的浪費。(怪了,我們這樣分的原始目標還是為了避免浪費)
一個需求需要兩個 team 跨 team 合作的配合,才能正常且順利 deliver,分頭開發就是導致延遲整合,如果再用類似 sprint 的 iteration,一個 sprint 的結束之前才來做整合,當時間已經用盡,但整合出現問題時,就會開始出現責任歸屬問題。
例如前端改也可以,後端改也可以,那麼誰要改?沒時間了啊...後面的工作跟時程都安排好了。
其實,本質問題都是一樣的。
總是碰到客戶那邊用了華麗的 build server 之後,再套上潮流的 git-flow, github-flow,再搭配上一個產品超過 3 個團隊在同個 product code-based 上工作,不同專案不同時間點要上線,再加上從 local/dev 到 prod 至少有三個環境。
結論就是光一個佈署、merge、上版、退版、pull、解 conflict,他們就身在其中痛苦不已。越痛苦,就希望痛苦的頻率降低,做一次痛總比老是痛來得好。
所以,誰晚 merge 誰倒楣。
--
當然啦,feature toggle 也不是萬靈丹,他會帶來 application 複雜度的挑戰,而 application 的複雜度控制,其實卻反而是最簡單的,因為只要設計的底子夠足,這一段可以設計地很美、很無感、很無痛,而且開發維護成本低廉,品質良好。
git flow 在 Git Flow 是什麼?為什麼需要這種東西? - 為你自己 ... - Pinterest 的八卦
2019-5-22 - 最白話、最深入淺出的Git 教學,教您使用Git 指令及圖形介面工具, ... Git Flow 是什麼? ... Building a DevOps pipeline for your App: Git Strategy. ... <看更多>