最近經手某個小專案。原本只是需要升級這個專案裡面的某個內部依賴函式庫,稍微看了一下發現規模並不複雜,於是就順便升級看看。
目前分類:程式類筆記 (28)
- Mar 10 Mon 2025 13:42
把一個小專案從 nodejs 8 升級到 22
- Jan 16 Thu 2025 23:42
拆掉一個舊專案的 jQuery
最近經手了一個蠻舊的專案,看了一下用的 js 並不多,於是就順便把 jQuery 拆掉,改用原生的 js 。
過程中除了用 ChatGPT 之類的輔助以外,主要還是參考 You might not need jQuery 和 MDN 。
- Feb 07 Sun 2021 09:34
Swift Playground: 解迷宮的「右手規則」
Swift Playground 有一關是要用「右手規則」去解題,由於從來沒聽過什麼「右手規則」,就查了一下。
一開始找不到什麼相關的文章,改試了一下 right hand rule 跳出來的是物理的右手原則,和解題沒什麼關聯。
試了好幾組關鍵字,最後是用 maze right hand rule 找到維基百科的 maze solving algorithm 。
記錄一下在解題過程中和「右手規則」相處的心得。
- Jul 27 Sat 2019 08:48
從 d3.js v4 升級到 v5 的記錄
之前用 d3.js 畫了台灣高鐵列車運行圖,當時還在用 v4 。v5 其實去年就發佈了,一直沒做升級,最近才去研究怎麼升級。
由於用到了 d3.csv()
,也就是這次 v4 到 v5 不相容的部份,試了很久才試出來 v5 的寫法。
就結果而言其實只改動了不到 20 個字元,有點意外就是。
做完升級以後順手用了 PageSpeed Insights 測載入速度,87 分不能再高了 XD
- Apr 02 Sun 2017 22:14
用 d3.js 練習畫台灣高鐵列車運行圖
- Oct 13 Tue 2015 15:20
在 php 使用 spritnf 輸出字串時,如果需要對齊多語系文字,需要自行留意寬度設定和輸出結果
最近一個練習用的案子需要用到字串輸出。由於是在 console 端輸出,所以就想要把輸出結果對齊。用了 sprintf 這個 php 內建的功能和官網文件上的範例,拼拼湊湊試了很久,把想要的結果印好之後,回頭檢查才發現每一行我下的參數都不大一樣,於是花了點時間研究一下。
如果需要對齊的字串是 ASCII 範圍內的字元,基本上沒有問題:
>>> sprintf('%-80s: test', 'abcdefg hijklmnop qrstuv wxyz 1234567890 !@#$%^&*()-={}[]|\;:\'",<.>/?') => "abcdefg hijklmnop qrstuv wxyz 1234567890 !@#$%^&*()-={}[]|\;:'",<.>/? : test"
要對齊的字串出現一些歐語系常見的字母時,就開始有問題了:
>>> sprintf('%-80s: test', 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß¼½¾') => "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß¼½¾ : test"
更不用說中日韓語系字元了:
>>> sprintf('%-80s: test', '許茹芸淚海慶功宴吃蓋飯') => "許茹芸淚海慶功宴吃蓋飯 : test" >>> sprintf('%-80s: test', 'あかさたなはまやらわイキシチニヒミイリウィ') => "あかさたなはまやらわイキシチニヒミイリウィ : test" >>> sprintf('%-80s: test', 'アカサタナハマヤラワイキシチニヒミイリウィ') => "アカサタナハマヤラワイキシチニヒミイリウィ : test" >>> sprintf('%-80s: test', '트와이스 나연 정연 모모 사나 지효 미나 다현 채영 쯔위') => "트와이스 나연 정연 모모 사나 지효 미나 다현 채영 쯔위 : test"
目前要印的資料剛好沒有遇到 CJK ambiguous width 的問題,所以就直接手動調整 %s
的數字解決…當然如果是在不需要等寬對齊的狀況,就沒有這個問題了。
- Feb 16 Mon 2015 17:18
判斷 json 中某個值是否被設定為 null
因為一些奇怪的需求,需要在 json 中做一些奇怪的檢查,然後研究了一下怎麼檢查 null
這個值,做點記錄…
- Jul 29 Mon 2013 21:56
用 jQuery.text().html() 組 HTML
最近在進行的一個案子中,其中一個需求是要透過 API 取得 JSON ,然後再把 JSON 的內容組成適當的 HTML 顯示出來。
因為 JSON 並不會處理掉 <
>
之類的字元,原本想說大概是要寫個類似字串替換的程式,把 <
>
自行代換成 <
>
之類的。
後來 google 了一下,找到一個還蠻方便的寫法,就寫一篇記下來…
- Jan 06 Fri 2012 14:17
git apply 的筆記
今天很難得用到 git apply
,所以記錄一下。
- May 08 Sat 2010 15:21
git rebase 和 git merge 的一些筆記
會想要用 git rebase
,單純只是因為 git merge
會產生類似 merge branch 'master' of blah
的訊息。
不過由於後來有遇到一點問題,不確定做法是不是對的,就先做個記錄…
- Apr 13 Tue 2010 23:33
試玩 Sikuli IDE
- Mar 17 Wed 2010 20:30
git 和 github 的一些筆記
- Feb 16 Tue 2010 22:57
JavaScript .replace() 的筆記
- Jan 05 Tue 2010 22:19
不是 B 或 C 的筆記
狀況大概是這樣: 一個字串變數的可能值是 ABCD...YZ 26個英文大寫字母。是 ADE...YZ 的時候,執行 if
裡的條件;是 B 或 C 的時候,要執行 else
裡的條件式。
- Dec 29 Tue 2009 21:28
php 的 if...elseif...else
一開始學的是最簡單的:
<?php
if ($a) {
echo "Apple";
} elseif ($b) {
echo "Boy";
} else {
echo "Cat";
}
?>
- Oct 01 Thu 2009 19:29
JavaScript 的 pseudo protocol
JavaScript 提供了 pseudo protocol 的方式,可以在 html 裡做一些應用。
- Jul 28 Tue 2009 21:52
MySQL BETWEEN
當初是寫某個東西時,需要在 MySQL 環境下,下一個像這樣的 SQL 指令:
- Jun 29 Mon 2009 12:01
用 mb_strcut 和 mb_substr 截取特定長度的字串
- Jun 18 Thu 2009 21:38
用 php 和 javascript 判斷作業系統和瀏覽器
一開始的想法是用 php 。
- Feb 04 Wed 2009 22:00
svn 回復到前一版本的方法
Subversion 其中一個功能就是回復。