iT邦幫忙

14

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

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

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

文章列表

我的小經歷

我目前在一間加密公司擔任後端工程師,主要是負責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的最後一場演講 - 「職涯論壇 - 接下來要繼續當工程師,或者轉職到管理職?」

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

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

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

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


0
Robin
iT邦新手 4 級 ‧ 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!

0
eric19740521
iT邦新手 4 級 ‧ 2020-08-09 18:48:29

何謂 98k的的Line好友??

就是加入髒沙發Line bot的人數有9萬8千人喔~

老司機阿!!!

/images/emoticon/emoticon01.gif

1
eric19740521
iT邦新手 4 級 ‧ 2020-08-10 03:41:39

Golang的爆炸之旅系列

只有前三篇有提到golang的基本觀念
後面都是nodejs,
不是講文章不好,我是被golang主題吸引過來

每個語言有每個語言的好處
golang的優點已經很明顯了
其實只要提golang就可以了..

效能測試:好,現在把Server換成高併發了,那到底快多少?

這點.後面文章是否能提到???

此系列會做什麼
主要會專注在NodeJs轉Golang的心得與應用,可能會稍稍提到Python

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

這邊先說抱歉,因為小弟有些繁忙,時間較少,所以文章採用的語言都用我生活碰到的問題當下用的語言來撰寫,
而後面也不是全部都是Node.js,21週後的文章的範例code都採用Golang,

但的確,完全探討Golang的文章一直沒有很條理的更新,我之後會新增的,非常感謝你的提醒~

也謝謝你閱讀我的文章。

1.你寫的文章很棒.

2.golang未來
從趨勢看:從大陸企業,尤其是雲端內容產業的,更多的採用.
從本身的語言看:golang一開始就是為了新世代而生的語言,並且是c語言之父創造的

3.入門的文章
it鐵人賽 一堆

你寫的文章很棒.我會持續關注

我要留言

立即登入留言