iT邦幫忙

12

Week1 - 前言: 因AV女優辨識機器人髒沙發,從Python到NodeJs,再從NodeJs跑到Golang [鼠年全馬鐵人挑戰-NodeJs轉Golang的爆炸之旅系列]

大家好,這是小的第一次參加挑戰系列文章,一直都對互相學習很憧憬,雖然是個小菜鳥工程師,但還是硬著頭皮參加了(ノ゚▽゚)ノ,希望大家多包容然後一起衝吧!

我的小經歷

我目前在一間加密公司擔任後端工程師,主要是負責NodeJs的express.js撰寫,並時常寫些Vue.js,偶爾碰碰React.js。

以前在物聯網公司擔任過Python的自動化工程師,使用的是Robot Framework配合selenium。

面試官你好 接下來我要介紹AV女優辨識LineBot髒沙發...

雖然我現在工作滿單純的,但啟發我一切的,就是這個讓我面試尷尬爆棚LineBot髒沙發了。

在大學時有一位強者我朋友,在與我打完星海2時,無聊開始研究起D槽,但苦苦發現不到女優的名字,他突然提出「你可不可以辨識女優然後取得名字啊」,於是這個髒沙發就誕生了。

雖然不是很好的成績,但目前也稍微有98k的的Line好友,而當初我只是一個稍微會Python的小菜鳥(不過現在也菜),所以一上線流量就導致Server

∠( ᐛ 」∠)_...到底為什麼爆炸?

Python我直接用sync requests
Python我直接用sync requests
Python我直接用sync requests

因為很重要所以說三遍,雖然那時不是很懂什麼sync的概念,但一聽到NodeJs是async requests就直接鑽到了此,解決的多個requests發送的問題後

我要多執行緒怎麼辦?

因為NodeJs是單執行緒,所以只能透過PM2等比較tricky的方法,直到我看到Golang

此系列會做什麼

主要會專注在NodeJs轉Golang的心得與應用,可能會稍稍提到Python

  • 客觀比較NodeJs跟Golang的差異與應用:比如
    • 語言特色:高併發到底是什麼酷東西。Type好像是NodeJs很欠缺的東西,這是不是可以靠TypeScript做到,那為什麼選擇Golang。
    • 系統差異:NodeJs不是單執行緒嗎?為什麼可以發多個requests,而Golang又是怎麼辦到的?
  • 單元測試與整合測試的應用:比如
    • 單元測試:單元測試都把東西Mock起來了,那我到底在測什麼!?
    • 整合測試:整合測試好麻煩,我到底怎麼用瀏覽器操作網頁?
  • Server的一些經驗分享:比如
    • 效能測試:好,現在把Server換成高併發了,那到底快多少?
  • 額外:比如
    • OOP與FP的粗略比較:Golang好像不是純正的OO,那他是FP嗎?最近在NodeJs好像常常聽到這個詞。
    • 突然想到並且相關的事情。

期望

在2018Mopcon的最後一場演講 - 「職涯論壇 - 接下來要繼續當工程師,或者轉職到管理職?」

我非常喜歡六角學院大大 - 廖洧杰 的這些話:「當初我會想辦六角學院,只是我覺得我把我所學到的東西分享給別人,是我很有熱忱的事」

所以看到這個活動才格外的想參加,雖然自己可能也沒有太多的經驗與知識,但還是希望能透過稍許綿薄之力分享一些地雷。

專業經驗沒有...至少...有很多爆炸經驗(´Д⊂ヽ

希望大家多多指教,謝謝大家(一鞠躬

此篇文章我也記錄在我的medium部落格( ´•̥̥̥ω•̥̥̥` )


2 則留言

0
aiyu666
iT邦新手 5 級 ‧ 2020-02-12 01:18:51

非常期待大大後續的文章
/images/emoticon/emoticon12.gif

也期待你的NodeJs文章

0
阿展展展
iT邦好手 1 級 ‧ 2020-02-12 04:40:35

馬拉松 \0.0/ game start!!

(。-ω-)ノLet's go!

我要留言

立即登入留言