background image
01 Apr 2021

Select Number TDD練習

之前同事去參加面試,在面試的時候有一道上機考的題目,我覺得很有趣並且是一個很好練習的一道題目,一開始我讓我們前端的新人試著寫出這道題, 沒想到所有新人都完成了,所以我想嘗試一下TDD的方式來撰寫這道題目。

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
12 Jan 2021

React 入門的學習之路

昨天面試一位React新手雖然最後因為一些原因沒有Hire她,但他問了一個問題讓我覺得很棒:可以有什麼方法可以讓我的能力加強嗎? 在我第一次接觸React距今已經過了好久了,久到我已經忘記我是如何啟動第一個React的APP...但身為一個React開發者又是一位面試官的角色, 未來還會有更多學習React的新手不斷進入,我想好好分享一下在面試一個React的新人時我在乎哪些技能另外也能當作學習React的入門時一個學習路徑

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
08 Jan 2021

Elasticsearch 效能調整與自動維運

在Index Management中有個index templates的頁簽,在這裡可以改變一些index的行為或是屬性, 有些index屬性對於整個ELK的查詢或是機器的影響是很巨大的,當Log量越大的時候就需要改變一些設定, 尤其是放在雲端的ELK,如果使用越大的機器消費金額就會變得很可觀,在不是賺錢的機器上還是能省則省。

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
07 Jan 2021

Next.js 的Layout最佳配置

新專案即將完成之際,我們開始對各個頁面上的效能與一些過去被我們忽略的問題進行修正, 在這修正的過程中我發現了在每一次頁面切換時都會出現網站的Logo消失又再出現的問題, Logo是一個經常變動的圖片所以在專案中是透過GQL取得Logo的CDN位置後才做渲染的, 再深入排查後才發現原來過去我的觀念不是非常正確所以用這篇來筆記一下正確地處理做法,當作小抄避免未來再犯同樣的錯誤。

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
09 Dec 2020

如何讓AWS EC2開機後就能上線

在雲端服務一定會遇到的是機器的擴展(scale out)與縮編(scale in)的問題,如果一個AutoScaling Group觸發了機器的成長時肯定是無法靠手動 的方式來安裝機器,所以必須要透過全資動畫的方式進行,這時候我一開始的想法是在AutoScaling發生的時候觸法Jenkins的Job來安裝系統, 但這有個問題是我整個aws的服務都必須依賴在Jenkins上,後來同事指導了一個做法只需要透過AWS的設定就可以自動裝機了!

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
19 Sep 2020

Terraform 做 AWS IaC

一直在公司使用ansible來做Cloud configuration但是ansible在cloud configuration上說真的略顯不足, 在之前的文章中我們很常使用`aws cli`來做相對應的處理。使用aws cli時要有更好的可讀性與維護性,通常都以JSON的格式輸入 因此在ansible中的playbook上就會有多餘的一些步驟去設定餵給aws cli的JSON。

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
06 Sep 2020

透過Jenkins啟動Selenium Grid執行自動化測試

QA測試當然不是只測試RD這次上線的範圍而已,而是把過去上線的功能都要在驗過一遍才能算是經過QA測試的版本,但是隨著時間的積累線上的系統越來越多 有時候QA無法透過手動的方式完成所有驗證,這時候都會導入自動畫測試selenium來協助QA做完系統的驗證,在目前我服務的公司把CD與自動化測試的部分做了整合, 當QAT部署完成後就會驅動QA的自動化驗證,但是當自動化驗證的Job越來越多一台機器已經很難在3-5分鐘內完成自動化測試怎麼辦?

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
03 Sep 2020

AWS ECS Preparing Release 紀錄

我們在aws 做Production deploy的時候,都會有一個pre production的環境,這個環境主要是為了在部署流程結束後可以做概念性驗證的環境 (主要測試:db connection是否正常、網路連線、裝機腳本等等)另一個方面可以預熱application,不過我們開始有越來越多採用docker的 application並且使用ECS的部署模式,但是ECS的Service建立後就無法修改Target Group,因此沒辦法如同EC2的部署模式只在最後切換Target Group

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
20 Aug 2020

Redis Data Types 介紹

Redis在4.0之前其實只有5個資料型態,不過到了現在新的版本多了一些不同的形態如stream, geo等等,不過本篇只會針對原有的string, sort set, hash set, set, list這五個形態來做說明。

  • Bruno Jan
    Bruno Jan
  • CommentsRead more
07 Oct 2016

[ProtoBuf] ProtoBuf Serialize 與 DeSerialize!

這一篇應該是我ProtoBuf的系列文章第二篇,上一篇只簡單說了一些安裝方式與一些定義檔 的設定根本就不知道該如何使用這一個好用的序列化工具。依樣會是使用protobuf-net 這一個套件來做一個簡單的紀錄。

  • Bruno Jan
    Bruno Jan
  • CommentsRead more