#8 第八期 - 我的 ElasticSearch 進化之旅

本週專欄

我的 ElasticSearch 進化之旅

自己第一次接觸到 ElasticSearch 好像是六七年前了(遠目) 一路走來一直都是使用它來儲存 Log,畢竟 ELK 可是窮人版的 Splunk,這幾年來好像也沒有可以跟它匹敵的對手出現 (最近好像有個新的挑戰者受到不小的關注程度叫做 Grafana Loki),而對他的印象從一開始到現在都沒有變過,就是…它相當地吃資源,不管是在 CPU, Memory 或是 Disk 上,而且隨著 Log 量級的成長會需要一直去升級和調整它,不然它一發起脾氣來可是很恐怖的,而今天這篇文章主要想要分享從我一開始架設 ElasticSearch 到目前為止的心得,並且會花比較多的篇幅講解目前的架設方式,總共有四個階段,用一句話來總結就是如何讓花費越來越低

神 Q 超人

Make Your Own create-react-app Templates

不曉得大家都怎麼創建一個新的 React 專案,以筆者來說都會先建立一個基本的專案,裡面有 package.json 和 webpack.config.js 等等,可以在 npm i 後直接 run 起來的那種,但每次也都還要再刪刪改改,把多餘的依賴 library 拿掉。而這些都只是過去式了!新版的 create-react-app 增加了 template 的功能!透過 template 的設置,你可以定義出自己的模板,還可以用 publish 和全世界分享你出色的 template!

GraphQL vs REST - a vending machine example

記得兩個禮拜前的那篇 Gatsby 專欄嗎?在文章中有簡單解釋 GraphQL 是什麼和它的用法,如果大家覺得意猶未盡或是對 GraphQL 產生了什麼特別的情愫,那就可以參考這篇文章,看看如何從自動販賣機的使用角度解釋 GraphQL 和 REST 之間的不同!

CSS Grid Layout vs CSS Frameworks: When To Use What

Grid 的降臨,讓許多人都產生了「該不該繼續使用 CSS 的 Frameworks(例如:bootstrap)」的疑惑,因為撰寫原生的 CSS 能更將網頁玩轉在自己手裡,也不需要在使用上受限於 Frameworks 的 12 或 24 格,但是在放手之前又很捨不得 Frameworks 帶來的那些美好時光,到底要怎麼在兩者之間作出抉擇呢?

Larry Lu

Design patterns in modern JavaScript development

隨著程式越寫越久、專案越寫越大,一定都會遇到程式碼難以管理的情況,尤其身為團隊的一份子又要常常要接手同事的扣,這時候就需要 Design Pattern 了,這篇用圖解介紹了 Single、Observer、Facade 三種 pattern,因為設計模式這東西是不分語言的,所以即便不寫 JS 還是可以看看~

Why is processing a sorted array faster than processing an unsorted array?

這篇 StackOverflow 上的回答講 Branch Prediction 講得超好!非常值得一讀。原發問者的問題是他寫了一個程式用來把 array 中大於 128 的數字加總,但他發現把陣列排序過後加總速度會快上許多,超神奇 der

「管理開源專案最難的不是技術而是人。」Homebrew 十年開發故事

如果你也是用 Mac 進行開發的話,一定有用過 Homebrew 這個 package manager,而且它也曾經是 Github 上貢獻者最多的專案,一起來看看 Homebrew 這十年是怎麼走過來的吧

LukaJoJo

Node.js 是如何和 libuv 以及 v8 一起合作的

該文章當前使用的nodejs版本是 v13.1.0 (網上那些分析 nodejs 源碼的文章不寫清基於的版本都是耍流氓),非常幹貨的一篇文章,請耐心閱讀,否則建議收藏。

讀 Koa2 源碼後的一些思考與實現

本文目的主要是讓大家學到一個 koa2 的基本流程,簡單實現 koa2,再去讀源碼有一個清晰的思路。實際源碼中還有很多優秀的值得我們學習的點。

What’s New for Node.js in 2020

NodeJS 13版本有哪些新東西? 一些亮點:ECMAScript模塊、WebAssembly支持、Diagnostic report 診斷報告、對日期, 時間, 數字與貨幣格式的完全本地化支持、QUIC協議支持、V8 JavaScript引擎性能更新。在我們一頭紮進這些特性的細節之前, 讓我們先從NodeJS的release計劃中看看有什麽值得期待的.

smalltown

8 great pytest plugins

相信應該有不少人會使用 pytest 來撰寫自動化測試,本篇文章介紹八大好用的 Plugin,1) pytest-sugar 2) pytest-cov 3) pytest-picked 4) pytest-instafail 5) pytest-tldr 6) pytest-xdist 7) pytest-django 8) django-test-plus,有興趣的人趕緊點開來看詳細介紹!

docker-compose.vim

一個有趣的小專案,讓 vim 可以直接管理 docker compose 的 plubin,僅獻給離不開 vim 的開發人員們XD

Deduping HA Prometheus Samples in Cortex

應該有不少人都有在使用 Prometheus,以往常常會被問到,假如監控者本身也掛掉那該怎麼辦呢?!所以監控者本身的 HA 也是不可忽視的,此篇文章介紹如何利用 Cortex 來讓 Prometheus 達成 HA

StarBugs Weekly

StarBugs Weekly 由一群不寫文章就會想要亂花錢,但是又沒有那麼多錢,只好繼續寫文章的開發者所創立。
內容包含 Web 前端、中端、後端、DevOps、產品開發、精實創業,一切跟產品有關的知識,都是我們的守備範圍!

Curators:

  • @GQSM - Hi!我是神 Q 超人,蹲得越久,腳就越酸。
  • @Larry850806 - 我是 Larry,傳說中的 0.1 倍工程師!
  • @LukaJoJo - 一名全身都是死角的工程師。
  • @smalltown - 熱愛鑽研各種可以提升雲端服務品質及增進團隊開發效率的開源技術

Feedback

想看什麼內容,告訴我們! 點我回饋意見