搜尋此網誌

顯示具有 工作 標籤的文章。 顯示所有文章
顯示具有 工作 標籤的文章。 顯示所有文章

2025年3月11日 星期二

Dotnet ASP 專案與 docker-compose

緣起:


    上週有思考工作專案的大架構,主幹大概長這樣


    打算都用 docker 來實作,部屬跟搬遷會方便很多,只是要學不少東西,而且在實作時也踩了不少的雷。這篇文章主要是紀錄 dotnet 專案的 Dockerfile ,還有搭配 docker-compose 的使用。

2025年2月26日 星期三

ASP .net core 接收 Esp32 資料

緣起:


    目前回歸社會,到公司後,我的主管請我先研究 Esp32,看這禮拜能不能先弄個簡單的成果出來,傳簡單的資料到後台。由於我那四個月沒什麼碰程式,而且對 dotnet core 其實沒到很熟,所以一開始在開發時碰上好多問題,我只憑著在小哈那最後幾個月的 dotnet core 知識在摸索。

    第一天主要在弄環境,還有研究 Esp32 跟 ASP 的 Web API,第二天中午前有把東西給做出來,這邊想要把結果紀錄下來。

2024年7月23日 星期二

dotnet 建立 windows 服務,監控資料夾的變動

緣起:


    今天看到我們研發寫的一支監控檔案目錄下的檔案有沒有被更動的程式,我學到了 BackgroundService 跟 FileSystemWatcher 的使用,還有用 sc.exe 來建立服務,覺得很有趣,所以想寫個文章來學習。

    我是在 windows 下操作專案的,改天有空的話會再去 linux 上面試試。

 

2024年7月8日 星期一

Windows CMD IIS Log 的搬運與清除

緣起:


    不久前發生一件事,正式機站台的 C 槽快沒容量,大部份的容量都是被 IIS 的 Log 給佔走,因為合約有說要保留至少半年的 Log。有些流量大的站台,一天就會產生 200 多 MB 的 log txt 檔,每個站台的 log 檔加總起來,可以到 40 GB,非常的可怕。

    PM 有指定我幫忙處理這件事,資深的工程師也有教我怎麼下指令來處理這件事。紀錄下來,到時再碰上就可以直接 copy 來用。

2024年5月17日 星期五

SQL ROW_NUMBER() 與資料排序設定

緣起:


    前陣子有站台的相關檔案排序出現了問題,我原本想說,這東西會不好解決,但後來同事有教我,可以用 ROW_NUMBER() 來重新設定排序。

    自己回去弄懂了後,覺得這東西真好用,所以想寫一篇文章來記錄。

2024年5月2日 星期四

C# Linq 的 join 與 Group by

原起:


    不久前,我們 3A 站台有出現資料重複顯示的問題,去查才發現是發生在 LINQ 的 join 上,這邊直接開 Console 範例程式講解,用 class 來代表資料表的欄位架構,有兩個 class,Performance 跟 Review

internal class Program
{
    class Performance
    {
        public int SN { get; set; }
        public string Name { get; set; }

        public Performance(int sN, string name)
        {
            SN = sN;
            Name = name;
        }

        public override string ToString()
        {
            return $"SN:{SN}, Name:{Name}";
        }
    }

    class Review
    {
        public int PerformanceSN { get; set; }
        public string Name { get; set; }

        public bool IsPass { get; set; }

        public Review(int performanceSN, string name, bool isPass)
        {
            PerformanceSN = performanceSN;
            Name = name;
            IsPass = isPass;
        }

        public override string ToString()
        {
            return $"PerformanceSN:{PerformanceSN}, Name:{Name}, IsPass:{IsPass}";
        }
    }
}

2024年4月1日 星期一

ASP GridView 動態加入、刪除 Row,且維持使用者的輸入

緣起:


    3/26 那時不少的時間在弄文章標題說的事情,雖然在功能做到 70% 時才發現不需要這樣搞 (花了 7 小時),但是這個過程讓我又對 GridView 有更多的了解,所以覺得很有必要寫下來。

    話說,公司那時在做稽查,我負責的專案有被抽查,還好都沒事,聽說如果被記警告的話,那些獎金好像都會沒了。

2024年3月19日 星期二

ASP 選擇性啟用 Validator

緣起:


    我有負責一個案子的會員登入頁,不久前為了過無障礙,有幫登入頁的每個 TextBox 都加了一個 ASP 的 RequiredFieldValidator,我用一個簡化的 login 頁面模擬情境


2024年3月13日 星期三

C# DLL 專案與 DLL 內的檔案讀取

緣起:


    我們公司的程式有個專案,它是一個 DLL 專案,用來管理一些前後台會用到的 js、css、image 資源,只要 build 完,它就變成一個 DLL 檔,資源都包含在裡面。如果那個專案裡的檔案有被新增或修改,到時要更新的話就只要搬 DLL 檔去覆蓋就好,非常的方便。

    把東西都包進 DLL 裡,然後再寫個 class 當個介面來存取 DLL 檔的資源,感覺是個很實用的做法,所以想學起來。

    這篇想要寫個測試的小程式來達到跟我們專案一樣的功能,從 DLL 裡把檔案給取出。

2024年3月11日 星期一

C# NPOI 套件與 ASP WebForm 下載 xls 檔

緣起:


    最近有完成一個緊急任務,修改購物車的訂單匯出功能,那個功能的初版是我們主任寫的,它會把 sq的訂單資料寫到 excel 檔案裡,讓用戶可以下載。

    我注意到程式裡有用到一個叫 NPOI 的套件,程式都是用它來處理 Excel 檔。學起來感覺會蠻有用的,所以就特別為它寫了這篇文章來記錄。

    我會先用 Console 專案來測試 NPOI 的基本功能,然後再寫一個 WebForm 的專案,讓使用者點擊頁面上的按鈕後可以下載 xls 檔。

2024年3月8日 星期五

Windows CMD forfiles

緣起:


    公司最近有資安事件,需要我們去砍掉站台下的某些檔案,有要我們下這個指令

    forfiles /p {路徑} /s /m {名稱} /c "cmd /c del @file"


    頭一次看到這個指令,看起來蠻實用的,所以想在這邊紀錄一下它的用法。

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年7月6日 星期四

對 iframe 鎖右鍵 ?

緣起:


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

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

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

2023年5月30日 星期二

C# 為 Enum 加入 DescriptionAttribute

緣起:


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


2023年5月17日 星期三

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

緣起:


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

2023年4月25日 星期二

JavaScript Event 的誤區

緣起:


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

2023年3月31日 星期五

python requests 抓取網頁

緣起:


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

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