0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

工程師總結(jié):不要輕視一個數(shù)據(jù)工程師妹子的實力

工程師人生 ? 來源:博客園 ? 作者:青南 ? 2020-12-30 10:44 ? 次閱讀

程序員最寶貴的東西是生命,生命屬于程序員只有一次。一個程序員的一生應(yīng)該這樣度過:當她回首往事的時候,她不會因為搭建環(huán)境浪費時間而悔恨,也不會因為集群無法運行而羞恥。這樣,在她開發(fā)的時候,她能夠說:“我的整個生命和全部精力,都已經(jīng)獻給了開發(fā)中最重要的事情——設(shè)計程序,實現(xiàn)程序和調(diào)Bug?!?——P醬。

P醬是公司新來的實習生妹子。聽說是一個文科生。文科生應(yīng)該會去文案組或者策劃組吧。什么?來數(shù)據(jù)組?讓我來帶?

于是我和P醬生活工作在了一起。

P醬你會些什么?

“我叫P醬,在XX大學讀研二,愛好是拍照和被拍,大家可以在B站找到我跳舞的視頻,比如av170001。我的另外一個愛好是寫代碼……”

當一個文科妹子說自己喜歡寫代碼的時候,整個辦公室熱鬧了起來。

“P醬,聽說你喜歡寫代碼,那你寫過什么東西嗎?”新人介紹會議結(jié)束以后,我問P醬。

“一般都是各種分析程序,我們的專業(yè)要做很多調(diào)查報告,他們都是用Excel來計算的。我喜歡用Python來把這些統(tǒng)計過程自動化。后來也寫過自動寫詩的程序、鬼畜視頻生成器等等?!?/p>

“真不敢相信你是文科生。這么說你的興趣是數(shù)據(jù)分析方向咯?”

“其實我對師父你做的爬蟲很有興趣。但是聽說會經(jīng)常和網(wǎng)站發(fā)生對抗?女孩子還是不要打打殺殺的好~”

于是我讓P醬負責對爬蟲的原始數(shù)據(jù)進行清洗、整理并做簡單的分析。

一種船新的數(shù)據(jù)儲存方式

“P醬,爬蟲抓到的原始數(shù)據(jù)是存放在MongoDB里面的,你的Python還不錯吧,你試一試用Python來讀寫MongoDB看看。”

“MongoDB是什么呀?”

“是一個和MySQL不太一樣的數(shù)據(jù)庫?!?/p>

“MySQL我知道,MongoDB和MySQL有什么不一樣呢?”

“我舉個例子,當你要插入數(shù)據(jù)的時候,你需要做的,就是‘插入’??瓤?,你不要臉紅,我是指你不需要寫SQL語句、不需要建表、不需要提前定義字段。僅僅只需要一行代碼就能夠?qū)崿F(xiàn)了。我這里給你寫了一篇文檔,講到了MongoDB的增刪改查,你試一試。數(shù)據(jù)庫已經(jīng)給你搭建好了,你直接連上去用吧”

半天以后。

“師父,我已經(jīng)會使用MongoDB啦。”

“你讀爬蟲的原始數(shù)據(jù),主要涉及到的就是查詢操作,為了鞏固插入、修改和刪除的操作,再給你一個小任務(wù)吧。試一試寫一個人員管理系統(tǒng)吧?!?/p>

既然有關(guān)系,就整整齊齊放在一起看吧

“P醬,你看起來很高興的樣子啊?!?/p>

“因為我覺得MongoDB比起MySQL太簡單了啊~”

“你確定?那我看看你怎么對整行數(shù)據(jù)去重的?”

“師父,我知道distinct關(guān)鍵字可以對一個字段去重。但是整行數(shù)據(jù)我是讀出來用Python來去重的?!?/p>

“這個時候你就要用到MongoDB的聚合查詢了。文檔已經(jīng)給你寫好了,拿去看吧?!?/p>

“還有還有,這里你把店鋪信息和菜單信息放在了兩個集合里面,我怎么樣才能把他們聯(lián)表查詢出來呢?”

“聯(lián)表查詢是MySQL里面的操作,在MongoDB里面,沒有表,只有集合,所以叫做聯(lián)集合查詢更恰當一些。這也是要用到聚合查詢,也在這個文檔里面了?!?/p>

再給你一個玩具吧。

“P醬,之前讓你做的爬蟲數(shù)據(jù)監(jiān)控系統(tǒng)怎么樣了?”

“功能已經(jīng)做好了,但是有一個地方查詢起來特別慢。我已經(jīng)加過索引了,但還是很慢。懷疑是同時聯(lián)了四個集合的數(shù)據(jù)造成的。”

“這邊的數(shù)據(jù)實際上每小時才更新一次,你沒有必要每次刷新頁面都去查詢MongoDB的。我覺得是時候讓你用一下Redis做緩存了?!?/p>

“Redis就是那個內(nèi)存數(shù)據(jù)庫嗎?我知道我知道?!?/p>

“給你寫了一份文檔,包含Redis里面的各種數(shù)據(jù)類型和使用方式。你試一試把Redis和MongoDB結(jié)合起來看看能不能提高速度?!?/p>

你怎么擅自加功能??!

“P醬,你怎么在爬蟲監(jiān)控系統(tǒng)的網(wǎng)頁上加了一個廣播窗口?”

“呀,被師父發(fā)現(xiàn)了。因為我想到同一個爬蟲可能會被幾個人監(jiān)控,所以就用Redis的發(fā)布訂閱功能做出來了這個廣播的功能。一旦爬蟲狀態(tài)發(fā)生改變,所有人都能收到推送。”

“既然你這么閑,那不如加上賬號登錄功能,把權(quán)限驗證也做上去?不同的人只能看到自己負責的爬蟲。順便你可以試一試用Redis實現(xiàn)……”

“實現(xiàn)布隆過濾器和Session管理是嗎?”

“你怎么知道我要說什么?”

“因為我早上看到你在文檔上面更新了布隆過濾器和Session管理相關(guān)的內(nèi)容啊~”

紅色的鎖?

“師父師父,你知道什么是RedLock嗎?”

“你學得這么快?都知道RedLock了?RedLock是Redis官方給出的分布式鎖的算法。已經(jīng)有很多編程語言實現(xiàn)它了?!?/p>

“原來RedLock只是一個算法啊……”

為什么我學的這么快呢?

“師父師父,我覺得很奇怪啊,為什么MongoDB和Redis我學得這么快呢?難道是因為他們本來就簡單?還是因為我太聰明了?”

“為什么你不說是因為你師父教的好呢?“

“因為這是事實啊不用我說出來”

“咳咳,實際上是因為兩個原因。一是你一直通過項目驅(qū)動來學習,先有需求,然后再去學習實現(xiàn)這個需求所要涉及到的技能。所以你知道你學的東西能用來干什么,自然就能學得快……”

“那第二個原因是什么呢?”

“第二個原因,我先問你一個問題,你會搭建Redis集群嗎?會搭建MongoDB集群嗎?知道什么叫做哨兵嗎?你知道如何優(yōu)化MongoDB的啟動參數(shù)嗎?”

“這…………好像都不知道額…………”

“因為你的角色是數(shù)據(jù)工程師,不是數(shù)據(jù)庫工程師,所以數(shù)據(jù)庫搭建、底層優(yōu)化這些內(nèi)容我都給你跳過了?!?/p>

“這些聽起來都很重要啊,師父你會教我嗎?”

“你想經(jīng)常值夜班嗎?想半夜3點被人打電話叫起來修數(shù)據(jù)庫嗎?認清自己的定位啊,數(shù)據(jù)庫工程師的技能當然很重要,但你是要成為數(shù)據(jù)工程師的人,技能樹應(yīng)該點在合適的方向?!?/p>

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    正是拼的年紀|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的種專業(yè)工程師
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    位硬件工程師的歷練之路:從入門學習理論到... #搞笑 #硬件工程師 #電子工程師 #揚興科技

    硬件工程師揚興科技
    揚興科技
    發(fā)布于 :2024年03月13日 17:50:21

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    如何搞崩硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚興科技
    發(fā)布于 :2024年02月20日 18:05:49

    #人工智能 #FPGA 怎么成為合格的FPGA工程師

    fpga工程師
    明德?lián)P助教小易老師
    發(fā)布于 :2023年12月18日 21:19:01

    電子工程師天上班就暴揍師傅。。。#科普 #示波器 #電子工程師 #打工日記

    電子工程師示波器
    安泰小課堂
    發(fā)布于 :2023年12月18日 17:36:12

    FPGA工程師需要具備哪些技能?

    上獲取。此外,他們還需要知道如何使用現(xiàn)成的PCB和其他電路板,以進行各種通信協(xié)議的測試和驗證。 六、測試驗證 測試驗證是FPGA設(shè)計中非常關(guān)鍵的環(huán)節(jié)。FPGA工程師需要利用各種工具
    發(fā)表于 11-09 11:03

    工程師筆記——MM32F0040使用總結(jié)

    工程師筆記——MM32F0040使用總結(jié)
    的頭像 發(fā)表于 10-26 18:09 ?432次閱讀
    <b class='flag-5'>工程師</b>筆記——MM32F0040使用<b class='flag-5'>總結(jié)</b>