搜尋此網誌

2023年11月30日 星期四

JavaScript Proxy 客製 Amchart 5 的 ForceDirected (二)

緣起:


    接續這篇,這邊要介紹的是,怎麼在 ForceDirected 的 LinkedHierarchyNode 裡面放圖片,並讓圖片的大小可以跟著圓圈的大小來變動,這也是我碰到的最大難題,因為我沒在 api 文件裡找到任何跟這個有關的功能。

    官方雖然有教如何在圓圈裡面放圖片,但放完圖片後,圖片的 size 不會隨著圓圈的大小來變動,所以只能自己再另尋方法。

    我把自己隨意畫的圓圈 png 圖傳到我作為 blogger CDN 的 github 專案,為了讓圖片更完美的切合 ForceDirected 的圓圈,所以圖片的長跟寬都是跟圓圈的直徑一樣。


 

2023年11月27日 星期一

JavaScript Proxy 客製 Amchart 5 的 ForceDirected (一)

緣起:


    前陣子有好長的一段時間都在弄 amchart 5 的 ForceDirected 圖表,為了就是要產生快速查詢的圖表


    弄了好幾個禮拜才完成,中間碰上不少問題,但大部份的需求都是多看看它們的 API、然後設定某個屬性就能達成了。唯有一個需求,它很麻煩,不是設個屬性就能解決的,而且 API 裡面根本也沒有相對應的設定可以控制,最後,我是用 JavaScript 的 Proxy 來達成這個需求。

    這次的季會,我需要上台報告,原本是想要分享之前前弄的 prismjs 美化 Blogger 裡面的 code,但後來協理跟我說,這個東西好像太簡單,而且好像在專案上的實用性也不高,請我換個主題,所以我才會開始寫這篇文章,想說,在這邊紀錄完後,再做 PPT 也會比較方便。

    這篇先簡單介紹 ForceDirected 的使用,下篇再介紹碰到的問題跟解決方法。

第一次弱掃修正

緣起:


    進公司以來,第一次碰上弱掃的問題,不久前其實有修過一次,但那次是網址的 parameter 相關處理,比較涉及公司程式碼底層,所以不太能寫上來,但第二次掃描掃出的問題,大部份都改一改 webconfig 就能解決了。

    我有去請教我們資深的工程師,他有給我現成的標準解法,照抄就行。想記錄一下這次碰上的問題,還有與之對應的解法。

2023年11月23日 星期四

ASP Texearea 的換行

緣起:


    不久前在弄國發會的案子,在弄後台文字編輯時,想要 Multiline TextBox 裡的文字在存進資料表裡的時候,能依照文字能按照畫面上的樣子,看起來斷行的地方有斷行。


2023年10月24日 星期二

日記類型貼文轉移

    我有建立一個新的 Blogger 網站 https://birdshiujournal.blogspot.com/,把日記類型的文章都轉過去了,詳細的內容可以看這篇,在這邊做個公告。

2023年7月6日 星期四

對 iframe 鎖右鍵 ?

緣起:


    好一段時間沒寫文章了,之前大部份的時間都在寫私人的日記,不久前寫到煩躁了,所以就先停更一段時間。工作上的話,每天做的事情其實沒差很多,copy 現有的程式碼然後做一點小改動,之後就看有什麼問題再修。說實在的,沒學到什麼比較有技術的東西,但也沒什麼興致看我們專案比較難的部份就是。

    昨天,我們 PM 請我研究個東西,就是看能不能寫個 Script 來鎖定網站上的 iframe,讓右鍵點擊它們時會沒有作用,當作是一個簡單的防盜機制。

    先說結論,這無法做到,PM 在請教了我們資深的工程師後,得到的回答也是做不到,所以就請我不用再研究了。但在放棄前,我有試著想了一些旁門左道的方法來達成鎖定右鍵的功能,雖然最後是以失敗告終,但在這過程中有學到不少東西,所以想寫個文章記錄下來。

2023年5月30日 星期二

C# 為 Enum 加入 DescriptionAttribute

緣起:


    看專案的程式碼時,看到同事有為他自訂的列舉設定 DescriptionAttribute,還有寫個 Method 可以取得此列舉 DescriptionAttribute 的 Description,覺得這東西看起來很實用,所以就想抄起來。


2023年5月24日 星期三

Blogger 使用 Prismjs 美化 code

緣起:


    我在寫 Blogger 時一直有個痛點,就是 code 不知道要怎麼呈現,直接貼上的話也太醜,用圖片的話,程式碼一長就不太好截圖,而且圖片大的話,不僅佔空間,在 Blogger 上就算把圖片大小調到最大,使用者沒點進去看的話,根本看不太清楚程式碼在寫什麼,最重要的事,下次自己要抄程式碼時,無從複製。

    好久之前有加了一個別人做的小功具到 js 裡,只要用 html 模式,加入 <pre> 標籤,然後設定 class 為什麼 "pretty" 之類的,再把程式碼加到 <pre> 標籤裡,之後顯示時就會有個外框把 code 給包起來,但沒怎麼美化,而且 code 過長的話它也不會多滾輪出來,會整個突出去。

    最近發現有 prismjs 這東西,它就是我需要的工具,只要引用 js 跟 css,然後用個 pre 跟 code 的 html 把你的程式碼包住,再設定那些 tag 的 class 就能把你的程式碼美化,非常的方便。

    這篇記錄 prismjs 的基本使用方法,以及要怎麼把這工具加到 blogger 裡。

2023年5月17日 星期三

2023/5/17 學到的一些 sql 知識

緣起:


    今天在看公司資料庫的某個撈資料 procedure,從程式碼學到點東西,不過都有點瑣碎,每個都獨立拿出來講的話很浪費篇幅,所以就統一記在這篇中。

2023年5月5日 星期五

ASP 使用 SQL 預存程序

緣起:


    蠻久之前就想寫這篇了,但後來在忙些有的沒的。那時候看公司的 SQL 資料庫,發現裡面有不少寫好的 procedure,使用起來很像程式的 function,可以傳參數進去,之後在裡面用 t-sql 做操作,還能在 asp 端使用 sqlcommand 來呼叫 procedure 使用,感覺把這個學起來的話會很有用。

    在自己電腦上測試成功後,我想寫文章來記錄這東西大概怎麼用。

2023年4月25日 星期二

JavaScript Event 的誤區

緣起:


    昨天在弄專案的程式時碰到一個雷,會發生這件事是因為我對 JavaScript 的 event 傳遞不是很清楚 + 我對 HTML DOM 物件 z-index 的順位有認知錯誤,所以想寫個文章記錄一下自己犯的蠢。

2023年4月17日 星期一

C# CheckBoxList 與 Enum

緣起:


    我回到公司不久後,被拉入一個新的案子裡,在四月底前有一個功能要完成,今天有把它給完成了,不過還沒驗收就是了。我在這個任務裡學到了 CheckBoxList 跟 Enum 的一些用法,所以想寫個文章記錄。



    (想不到有什麼圖片能放,但又不想讓這區太空白.....



2023年3月31日 星期五

python requests 抓取網頁

緣起:


    前幾天接到學長給我的一個小 mission,他說,他會給我網址的檔案,然後請我把那些網址對應的網頁給抓下來。目測 30 個左右,如果用工人智慧去一個一個抓的話,應該是不會花太久,但我有身為一位工程師的驕傲,所以打算寫個程式來做這件事。

    主要用到的東西就 Python requests、Python 檔案的讀寫、Python regex,尤其是這個 regex,一直忘,每次要實作都必定要查資料。真討厭。

2023年3月28日 星期二

IIS Express 的 applicationhost.config

緣起:


    昨天在看公司 git 的 commit 紀錄時,注意到我分支,之前 commit 一個紀錄時,有把一個叫 applicationhost.config 的檔案也送上去,然後這個檔案在後來其它人的 commit 中被刪掉。然後從昨天開始,我的 Visual Studio 就一直沒辦法跑專案,然後每次跑,專案/Source/.vs/Source/config 下就一直會自動生成那個 applicationhost.config 檔,我以為這不是正常的現像,所以一直想辦法要把它給刪掉。有時 reset 到前面一個分支,然後再抓最新版的下來,它就又能跑了,我不知道是出了啥問題。


    今天問了問我們比較資深的工程師,他說,會生成那個檔案是正常的,它主要是跟 iis 有關的設定,只要在 commit 時忽略那個檔案就行。如果 applicationhost.config 出了什麼問題,你只要先關掉 Visual Studio,把 "專案/Source" 下的 .vs 資料整個刪除,然後再開啟專案就行,Visual Studio 就會依據你目前的專案自動生出 .vs 資料夾來。

    我在找問題的過程中學到一些有關 IIS Express 的知識,所以想記錄下來。

2023年3月23日 星期四

VBA 初試

緣起:


    前幾天跑去接了一個 VBA 的任務,雖然昨天跟協理討論後,最後是決定公司沒有要接這個案子,但我前幾天這樣邊做邊學也是學到了點東西,所以想寫個文章記錄。

    我的筆電上面只有 LibreOffice,所以只能在我公司的電腦上使用 Microsoft Office。廠商有個要求是,以一份表單裡的編號欄位跟計劃名稱來產生對應名稱的表 2。我有把這功能做出來,所以想以它來為例題,紀錄我從這個功能學到的東西。