今天我騎單車上班,經過河華路時,發現路旁的行道樹下不斷飄著黃色花瓣,原本我已經騎遠了,但是突然想起「我與浪漫相約在花雨中」,於是我折回去,在一張公共的長椅坐下,拿出應該在辦公室匆匆吃完的早餐,與浪漫一起享用。花雨不濕衣,卻沾身,低頭時,我看見胸口有殘花,是它們輕輕留下的證據。
於是我用AI幫我產一張圖,雖然與真實的情境有些出入,不過倒也符合意境,所以我就把字也加上去了。
撇開習慣,發現幸福就在平凡之中。 記錄生活、學習心得、工作遇到的問題與想法。
但是會出現無法更改的警告:To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule
今天被要求先關掉自己電腦的IPv6,因為微軟有發佈漏洞,因為沒有使用IPv6,所以關掉也沒有什麼影響。
最簡單的方式是用網卡的內容取消勾選「網際網路通訊協定第 6 版 (TCP/IPv6)」,而這次試用PowerShell來關掉IPv6,先輸入下列的指令,找出所有的網路適配器
Get-NetAdapterBinding -ComponentID ms_tcpip6
Disable-NetAdapterBinding -Name "乙太網路 2" -ComponentID ms_tcpip6
再執行一次檢查的指令,就可以發現「乙太網路 2」的IPv6也被關閉了。
Oracle的ERP在客戶基本檔的from出現一個錯誤: FRM-40654: Record has been updated. Requery block to see change
一開始以為是有 Table Lock,但是查了一下,並沒有發現有Table Lock的現象,而且只有單一客戶的資料會有這個問題,最後發現是相關的 Table中,有一個欄位的資料前後有空白造成的,更新資料就解決了。
簡單紀錄一下,下次再出現時就知道如何解決了。
[[Windows]] 有一個可以取得效能監控的指令:typeperf,就像是「控制台」->「系統管理工具」->「效能監視器」,只是效能監視器是圖形介面,typeperf則是CSV格式輸出文字。typeperf還允許加上 -si 來指定秒數; -sc 指定取樣次數,再加上 -o
typeperf可用效能監視器來取得[options] typeperf -cf [options] typeperf -q [object] [options] typeperf -qx [object] [options] 註: 參數是效能計數器的完整名稱,格式為 \Computer\Object(Instance)\Counter,例如"Server_Name\Processor(1)\% User Time"。
先來看下列 d3.js 的程式碼,我要產生兩個不同大小、顏色的圓形
svg_test03 = d3.select("#svg_test03")
svg_test03_g = svg_test03.append('g')svg_test03_g
.append('circle')
.attr('cx', 80 )
.attr('cy', 60)
.attr('r', 50)
.attr('fill','#ff0000')
.append('circle')
.attr('cx', 80 )
.attr('cy', 60)
.attr('r', 40)
.attr('fill','#ffffff')
svg_test03_g
.append('circle')
.attr('cx', 80 )
.attr('cy', 60)
.attr('r', 50)
.attr('fill','#ff0000')
.select(function() { return this.parentNode; }) //取得上一階元素
.append('circle')
.attr('cx', 80 )
.attr('cy', 60)
.attr('r', 40)
.attr('fill','#ffffff')
之前用 [[d3.js]] 測試綁定資料時,都是參考網路上的教學,也都是比較簡單的單一元素,今天測試如果我的圖形需要多個圖層元素組合而成,那應該要如何做呢?
一開始我的想法是用function,把圖層元素組合的程式包成一個function,接著將元素的一些參數都改成變數,要產生幾個就呼叫幾次function,這樣的做法測試是可行的。<div>
<svg id="svg_test02" width="500" height="300"></svg>
</div>
Javascript:
// circle_cx是圓心x的座標位置;circle_r_o是外圓的半徑;circle_r_i是內圓的半徑;fill_d是外圓的顏色json_text02 = [{"circle_cx": 80,"circle_r_o": 50,"circle_r_i": 40,"fill_d":"#FF0000"},{"circle_cx": 200,"circle_r_o": 60,"circle_r_i": 50,"fill_d":"#00FF00"},{"circle_cx": 350,"circle_r_o": 70,"circle_r_i": 60,"fill_d":"#0000FF"} ]svg_test02 = d3.select("#svg_test02")//先產生多個<g>,因為陣列有3個元素,所以會新增3個新的<g>。因為實際沒有元素,所以要用.enter()增加<g>元素svg_test02_g = svg_test02.selectAll('g').data(json_text02).enter().append('g')//選擇所有的<g>,並增加外圓,因為實際沒有元素,所以要用.enter()svg_test02_g.selectAll('g').data(json_text02).enter().append('circle').attr('cx', (d) => { return d.circle_cx} ).attr('cy', 150).attr('r', (d) => { return d.circle_r_o}).attr('fill',(d) => { return d.fill_d })//選擇所有的<g>,並增加內圓,因為實際沒有元素,所以要用.enter()svg_test02_g.selectAll('g').data(json_text02).enter().append('circle').attr('cx', (d) => { return d.circle_cx} ).attr('cy', 150).attr('r', (d) => { return d.circle_r_i}).attr('fill','#ffffff') //固定白色
執行結果如下: