目前分類:程式類筆記 (26)

瀏覽方式: 標題列表 簡短摘要

Swift Playground 有一關是要用「右手規則」去解題,由於從來沒聽過什麼「右手規則」,就查了一下。

一開始找不到什麼相關的文章,改試了一下 right hand rule 跳出來的是物理的右手原則,和解題沒什麼關聯。

試了好幾組關鍵字,最後是用 maze right hand rule 找到維基百科的 maze solving algorithm 。

記錄一下在解題過程中和「右手規則」相處的心得。


文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

之前用 d3.js 畫了台灣高鐵列車運行圖,當時還在用 v4 。v5 其實去年就發佈了,一直沒做升級,最近才去研究怎麼升級。

由於用到了 d3.csv() ,也就是這次 v4 到 v5 不相容的部份,試了很久才試出來 v5 的寫法。

就結果而言其實只改動了不到 20 個字元,有點意外就是。

做完升級以後順手用了 PageSpeed Insights 測載入速度,87 分不能再高了 XD

87分

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

忘記什麼時候開始聽過 d3.js 的名號了,推測應該是某個專案裡用到一堆圖表時聽到的。

某天突然有個想法是不曉得能不能拿 d3.js 來畫鐵路運行圖,於是就把這個想法先放在心裡了。

直到今年年初在寫今年年度目標時,就把這個想法當做目標之一來完成。

文章標籤

repeat ❤️ 發表在 痞客邦 留言(2) 人氣()

最近一個練習用的案子需要用到字串輸出。由於是在 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 的數字解決…當然如果是在不需要等寬對齊的狀況,就沒有這個問題了。

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

因為一些奇怪的需求,需要在 json 中做一些奇怪的檢查,然後研究了一下怎麼檢查 null 這個值,做點記錄…

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

最近在進行的一個案子中,其中一個需求是要透過 API 取得 JSON ,然後再把 JSON 的內容組成適當的 HTML 顯示出來。

因為 JSON 並不會處理掉 < > 之類的字元,原本想說大概是要寫個類似字串替換的程式,把 < > 自行代換成 &lt; &gt; 之類的。

後來 google 了一下,找到一個還蠻方便的寫法,就寫一篇記下來…

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

今天很難得用到 git apply ,所以記錄一下。

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

會想要用 git rebase ,單純只是因為 git merge 會產生類似 merge branch 'master' of blah 的訊息。

不過由於後來有遇到一點問題,不確定做法是不是對的,就先做個記錄…

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

在工作機上裝了 Sikuli 來試玩。

看完 demo 覺得:拼命的截圖就對了。

Sikuli 最大的好處是不用太多程式語言基礎,一切交給截圖…?

才怪哩。XD

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

原本自己有一些檔案是用 svn ,放在 OpenSVN 上。工作上則是用 git

之前原本有打算用 git svn ,但是因為指令不熟,以及感覺上速度還是 svn 的速度,所以就不了了之。

直到最近有需要動 svn 上的檔案,才發現前陣子 OpenSVN 資料損毀了二次,所以 repository 已經不同步了。而且 OpenSVN 也可能會因此而關閉服務。

於是趁著這個機會,研究把東西改放到 github 上,也遇到了一些問題,所以做點筆記。

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

JavaScript 裡有一個功能是 .replace() ,可以用來替換文字。

在練習的時候遇到一個小地雷,寫起來以後自己參考。

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

狀況大概是這樣: 一個字串變數的可能值是 ABCD...YZ 26個英文大寫字母。是 ADE...YZ 的時候,執行 if 裡的條件;是 B 或 C 的時候,要執行 else 裡的條件式。

repeat ❤️ 發表在 痞客邦 留言(2) 人氣()

一開始學的是最簡單的:


<?php
if ($a) {
    echo "Apple";
} elseif ($b) {
    echo "Boy";
} else {
    echo "Cat";
}
?>
文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

JavaScript 提供了 pseudo protocol 的方式,可以在 html 裡做一些應用。

repeat ❤️ 發表在 痞客邦 留言(1) 人氣()

當初是寫某個東西時,需要在 MySQL 環境下,下一個像這樣的 SQL 指令:

repeat ❤️ 發表在 痞客邦 留言(1) 人氣()

因為某些原因,想要截取字串。一開始想到的是 mb_strcut()

 

文章標籤

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

一開始的想法是用 php 。

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

Subversion 其中一個功能就是回復。

repeat ❤️ 發表在 痞客邦 留言(1) 人氣()

由於在用 vim 製作 Bugzilla 中文化語系檔時,會需要用到 tt2 這種格式的 syntax ,所以就去拜了估狗大神。

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

這是最近在處理一個奇怪的地方碰到的。

repeat ❤️ 發表在 痞客邦 留言(0) 人氣()

1 2