搜尋此網誌

2022年11月1日 星期二

ASP 的 CustomControl 搭配 GridView

緣起:


    這個問題是我上禮拜碰到的,只不過那時沒時間把它給記下來,假日的時候又在混。今天回到租屋處後覺得閒閒的,原本想好好玩個魔物放鬆,打個 30 分鐘後,手把沒電,哭啊,雖然也可以邊充邊玩啦,但我想讓它靜靜的充飽電,所以就。

    話說,今天萬聖節,我做了一個以前都沒做過的事,那就是在特殊節日送禮物給朋友,我用 LINE 禮物買,超方便的,有信用卡真的很方便,但也瞬間噴了我 1900 多,我送太多人了,總共有 10 個。

    回想起以前國小還國中時,我都很期待這個節日,我大姐會去金玉堂買很多零食,印象最深的就是方型巧克力跟裡面有果醬的棉花糖,不過她買那些最主要不是要給我們吃的,而是要送給她的好朋友,而且還包裝得很講究,用各種色彩繽紛的小袋子跟緞帶裝飾,她很喜歡做這些手工類的事。我跟我二姐就只能分到剩下的糖果,雖然沒有一大堆糖果可以狂吃是很可惜,但還是會覺得很開心。

    講太多跟這篇無關的東西了,開始進入正題。

2022年10月26日 星期三

BeagleBone 透過 USB 分享筆電的網路

緣起:


    今天在工作上過得真糟 = =,我覺得我算是非常投入在專案上,可是今天的成果卻是無限趨近於 0,我一直無法用 GridView 做到我想要的效果,大部份的時間都在盯著程式想,最後都想不出個所以然。

    心煩意亂的,回租屋處後先去跑步,跑完後雖然心情有好很多了,可是回去後還是沒心情把專案上碰到的問題給解決,所以想說,來做點其它的事好了,前天有想到要把我那個很久沒拿出來玩的 BeagleBone 裝個 VNC。在這之前,我想先設定個透過 USB 分享筆電網路到 BeagleBone。

    紀錄一下

2022年10月21日 星期五

ASP GridView 與 DataTable

緣起:


    我剛學習 ASP 時,卡關卡最久的就 GridView 了,對於 View 這個詞,我能想到的就 Android 裡面的 View,會下意識的以為它是一個畫面 (其實它想指的應該是一個控制項才對),然後加上那個 Grid,我會把整個 GridView 解讀成,它是用來把畫面給分割成網格的東西,但這東西其實只是 HTML 裡的 Table (我差不多 2 個多禮拜後才理解這件事)。

    網頁很常搭配資料庫來顯示資料,所以 GridView 在專案中的裡用超頻繁的,我們公司的程式還有為 GridView 增加一些功能,把它改成適合專案使用的 Customer Control,導致我更難去理解它在寫些什麼了,那些 databind 還 field 什麼的,還要搭配 objectdatasource 使用,搞得我好煩,都不懂它在幹啥,網路上的教學資源都是要搭配資料庫來用,整個學起來很麻煩,我很常做不到 1/4 就放棄了。

    我今天總算是了解 GridView 的用法了,我搭配 DataTable 成功生成了表格,紀錄一下這個程式。

2022年10月20日 星期四

ASP 內嵌運算式

緣起:


    一個普通的 asp webform 大致上分兩個部份,aspx 跟 aspx.cs,aspx 是要呈現給使用者的頁面,aspx.cs  是寫後端的邏輯 (處理使用者送過來的值之類的),要在前端顯示後端某個變數值時,我通常都會在前端加一個 <asp:Literal runat="server" ID="testLiteral"></asp:Literal>,然後在 cs 檔的 Page_Load 事件裡,把 testLiteral.Text 指定成我想看的變數值 (轉字串)。

    我在公司的專案程式碼裡很常看到,aspx 檔裡有種特別的標記,長下面那樣,它寫這樣就能在前端顯示後端的變數值了。

<%=後端的某個變數 %>


    之前有買一本介紹 ASP MVC 的書,它裡面有個東西跟上述的功能很像,叫 Razor,不過它會寫在 @{} 裡,我有試過,它沒辦法在 Webform 裡使用,Webform 好像只能寫 <%= %>。重點是,我不知道這種標記叫啥名字 ,不知關鍵字要從哪打起,折騰了好一會後,最後也不知是怎麼成功找到的,反正我最後得知,這個功能叫 "內嵌運算式" (embedded code)。

Pocket (錢包?

緣起:


    前兩天在玩我的 kobo 電子閱讀器時,注意到它有這個東西


    啥 ? 這東西也是電子支付的東東嗎 ? 買書的話,我已經有信用卡可以用了,也不需用到它吧,後來去查了一下,才知道這東西是讓你儲存網頁閱讀用的。

2022年10月17日 星期一

ASP dbml 產生自訂程式碼

緣起:


    我今天在上班時又不知道要幹啥了,早上有去問我的主管說,我可以幫什麼忙,他說,他會跟專案經理討論後再給我工作。我上午邊寫 blog 邊等,沒等到任務派下,到現在已經下午了,我卻什麼東西都沒做,心裡有些緊張,我總不能這樣一直混下去,有夠難看的,但又不想要漫無目的的看著專案的程式碼,後來想到,有個東西是我想認識的,而且跟我們的專案很有關系,就是 linq to sql 的工具。

    我們的專案在使用資料庫時,它好像都是使用功具生成一個相對應的類別,再對每個生成的資料表寫一個與之對應的類別來擴充方法 (partial 類別),接下來想要對某個資料表做存取時,只要在程式裡新增相對應的實體並呼叫方法就能對資料表做存取,非常的方便。

    在這邊我想要實作整個流程,創造自己的資料庫 -> 生成 dbml -> 生成 C# class -> 用生成的 class 存取資料庫。我現在還是對整個 .NET 框架的資料庫使用超模糊的,我甚至講不太清楚我在用的框架技術叫啥名字 (好像是 ADO.NET 吧),所以,我就盡量只記錄自己的操作跟結果,其它部份應該是多講多錯 = =。

2022年10月14日 星期五

C# LINE Messaging API 廣播訊息

緣起:


    把 LINE 的 APP 建立好後,接下來就可以開始寫程式了,這次比較不一樣的是,我已經有個其它工程師寫好的,現成的程式可以參考了。我稍微看了看程式後,發現,其實它的邏輯跟我之前在弄那些社群軟體的 API 使用方法很像,一樣弄個 POST,然後 Header 設個 Authorization Bearer,content body 傳個 json 出去就完成了,不過,他的寫法跟我的有些差異,有東西能學。

    程式碼裡面還有放三個連結給我參考


2022年10月7日 星期五

Window SQL Server 擴欄位

緣起:


    今天在幫我們的專案做社群平台同步發文的功能,成功把那些 API Key 之類的存到我新增的表格中,再來要做的是在記錄系統模組的那張表格裡加個新欄位,用來識別同步發文的功能是否開啟。我之前都沒做過 "擴欄位" 這個操作,雖然聽我長官說,在測試機上弄壞資料庫不算是什麼問題,但我行事比較保守,所以還是先在自己的電腦上練看看。

    這篇記錄擴欄位的操作

2022年10月4日 星期二

LINE Developer

緣起:


    今天弄 Discord API 弄到一半時,我們部門的一位資深工程師用 LINE 傳了一份檔案給我,那是 Visaul Studio C# 檔,然後過來跟我講說,這是 LINE Message API 的範例檔。繼 Facebook、Instagram、Twitter 後,我現在要開始研究的是 LINE 的 API。

    我們專案經理前幾天滿常請我測試我們官方帳號的,對官方帳號輸入指令,然後選取跳出來的選項,連結到報名專頁,用 LINE 登入,看起來滿好玩的。原本想說這東西都已經有人在做了,感覺是輪不到我,但現在看來專案有需要,那我也就開始研究,剛好我對它也很有興趣。

Discord.js Slash Command

緣起:


    初試 Discord.js 成功後,我第二步想做的是寫自己的指令,接續這篇。在 Discord 上打一個斜線,它就會跑出指令來讓你選擇,有的還能加上參數之類的,我想要做個類似輸入 /rise_monster "魔物名" 的指令,輸入後,我的機器人就會用爬蟲去抓取相關的資料,然後將結果 (比如圖片、肉質表之類的),傳回 Discord Server 上。


    頭一次學這種東西,看文件看得有些吃力,卡了一會後才了解它的整個流程。

2022年10月3日 星期一

Discord.js 初始設定

緣起:


    我之前有稍微用 python 測試 discord 機器人,有成功在群組裡讀取使用者的輸入並回應,現在要改用 Node.js 來做,想說順便紀錄一下那時是怎麼設定 Discord API 的。

今天協理生日,他請我們飲料

在 Visual Code 上寫 Node.js

緣起:


    最近恢復了學習的熱情,終於有一天的早晨不是一早起來打魔物,而是看書,也有可能是因為打膩了,那些傀異探究又有新的素材要打,等級又要練到 LV 120,作業感已經大於玩遊戲的樂趣了。總之,最近復學習的心態是個好現象。

    我上個禮拜把工作給完成後,我的長官就沒再指派任務給我了,我今天早上去問,他說,等他跟專案經理討論完後再跟我說,所以我現在閒閒的。想說,來研究 discord API 好了,之前一直想寫個機器人,在我們群上用爬蟲幫我們整理魔物之類的資料,雖然網路的教學大部份都是教我們 用 python 來寫機器人,但我看官方他們也有提供 Node.js 的 API,想說就乾脆用 Node 來寫好了,順便練一下 Javascript,對公司的專案也會有幫助。

    以前寫 Node 都是用 notepad++,現在為了提升效率跟品質,所以要用 Visual Code 來寫,這篇記錄一下 Visual Code 寫 Node.js 的環境設置 (應該滿簡單的就是)。

2022年9月28日 星期三

Http Post application/form-data 的換行

緣起:


    昨天成功把 Facebook API 的 PO 文功能加到網頁上,今天在做上傳圖片+貼文的功能,要用 C# 寫 POST 的 application/form-data,Request 的 Body 部份我又忘了哪些地方要加一個 \r\n,哪些地方要加兩個 \r\n ,寫程式時就在那邊排列組合一直試,try catch 了好幾十次的 400 error,真的 TM 有夠哭,所以我想特別寫一下來記錄,免得下次要用時又忘。

我堂哥請我今天中午到附近的 7-11 跟人面交,這是他買的鏡頭。

2022年9月27日 星期二

C# HttpWebRequest POST x-www-form-urlencoded

緣起:


    今天下午開始正試把那些 API 的程式放到專案裡 (雖然是開個新的頁面來做),在用 C# 做 Facebook API 的 PO 文,雖然之前有紀錄,不過那是用 POST Man 做的,之前 C# 寫的 Twitter API PO 文,POST ContentType 使用的是 application/json 跟 multipart/form-data,沒有用過 application/x-www-form-urlencoded,今天在寫 C# 時有點卡卡的,所以想記錄一下它的寫法。

Instagram API 發佈貼文

緣起:


    接續這篇文章,拿到 user id 後,對於 Instagram 的操作就用 Faceboook API 的那套就行,重點就是 APP 的權杖跟 user id,你也可以把短期的使用者權杖按照之前文章講的,把它換成長期的權杖,方便之後的操作。

成功 po 的文

    這邊介紹了使用 API 在 Instagram PO 文的步驟,向 media endpoint 發送請求,附加圖片的 url,創造一個 container -> 取得 container id -> 用取得的 id 向 media_publish endpoint 發送請求 -> 完成。

    PS : 你的 APP 記得要加 instagram_content_publish 的權限

    使用 API 來 PO 東西有下面的限制


    不能送限時動態 (story)、不能傳到 Instagram TV (這啥?)、每個帳號每天最多只能用 API 傳 25 則貼文 (哭啊)

2022年9月26日 星期一

Instagram API 取得使用者 id

緣起:


    今天開始研究 Instagram 的 API,Instagram 現在是 Facebook 旗下的產品,我想說,既然我都會弄 Facebook 的 API 了,而且 Facebook API 的那些 APP 也有 instagram 的權限能設定


    那 Instagram 的 API 也差不多就那樣吧,我只要在 Facebook Developer 弄個 APP,然後給 APP 需要的權限,在 Graph API 按下 Generate Access Token 後,它就會跳出一個要我 instagram 授權的畫面 (我的 instagram 是用 fb 註冊的),完成後就會產生一個權杖,我就可以拿著那個權杖來對 Instagram 的 API 做存取,簡簡單單的完成任務


    結果沒我想的那麼簡單,我發現對於 Instagram API endpoint 的存取,都會需要 user id 的欄位,那個 user id 要怎麼找,我在 google 上怎麼查都查不到,我也試了這邊提到的所有方法,全都失敗,走投無路之下,我就回去把官方的 Instagram API 文件從最基本的看起,最後發現,原來使用 Instagram 的 API 會需要

    你的 Instagram 要建立創作者或商家帳號 -> 你要用你 Facebook 帳號創立一個粉絲專頁 -> 建立一個 Facebook API 的 APP,給它管理粉專的權限,並將它加到你創立的粉專 -> 在你的粉專加入你 Instagram 的創作者或商家帳號

    沒錯,步驟很麻煩,我做到後來都忘了我是設定了哪些東西後才成功的,所以我在寫這個文章時,會順便把我印象中的動作都做一次,邊做邊紀錄。

2022年9月23日 星期五

Facebook API 上傳、取得 Album 圖片、PO 文同時附加多張照片

緣起:


    Json 搞定了,可以解析 Facebook API 回傳的 json 字串,取出裡面的 access_token,再來就是處理圖片。在這之前,先補上自己寫的 C# 程式 github 連結,程式的功能是利用長期權杖來取得粉絲專頁的權杖。

連結


2022年9月22日 星期四

C# NewtonSoft.Json 解析 json 字串

緣起:


    突然想到,我的程式如果要處理那些 Facebook API 回傳的資訊的話,我必須要有方法能解析那些 json 的字串,所以今天在開始研究 API 前,我想先學會 C# 解析 json 的方法。


2022年9月21日 星期三

Facebook API 在粉絲專頁PO文

緣起:


    接續這篇文章,拿到粉專的權杖後就能開始做事情,就來個最基本的 po 文字


Facebook API 取得短期、長期、粉絲專頁權杖

緣起:


    Twitter API 的研究算是造一段落了,所以今天開始研究 Facebook 的 API,這個東西我之前有稍微碰過,那時是教授請我做個跟 FB 還有 LINE 連結的管理購物平台,但因為是非強制性的,所以在我稍微卡關後就沒繼續研究下去了。現在我必須打敗這東西,這可是我的工作,總不能說句我不會後就擺爛 (老闆:you are fired)。

    我感覺我在研究完 Twitter API 後,對這種第三方 APP 跟 OAuth 的概念有很多的進步,今天在看 Facebook 的 API 還滿快的,說實在的,Facebook 的 API 使用比起 Twitter 或 LINE 的 API 真的是雜很多,Facebook 的功能太多,但我今天上午還是成功研究出它 API 的使用方法。

2022年9月20日 星期二

C# Twitter API 上傳圖片

緣起:


    接續這一篇,今天滿幸運的,上午時就把圖片上傳 Twitter 的 C# 程式搞定,面對那個看起來有點複雜的 form-data 居然沒卡太久,真是可喜可樂。

發現沒什麼封面圖能放,所以就放我昨天買的麻糬

2022年9月19日 星期一

Twitter API 上傳圖片並加入 Tweet

緣起:


    今天上午在試跑上個禮拜寫好的 C#,結果又遇上 authorization 的問題,上次好像不小心把一些東西給改掉,花了不少時間才把錯給找出來。今天下午有研究出上傳圖片的方法,滿開心的,記錄完後要繼續研究把它寫成 C# 程式來運作。


2022年9月16日 星期五

C# Twitter API 發送 Tweet

緣起:


    接續這篇,今天上午弄好 signature 後,下午接著繼續研究怎麼用 C# 把我的那些 OAuth 資料送到 Twitter API 那邊,過程還算順利,只有一個地方卡比較久,就是沒把 hash 出來的值做 base64 的編碼,導致在傳 http 時一直出現 401 的 Exception。



C# 產生 Twitter API OAuth1.0 的 signature

緣起:


    好的,本來這東西我昨天應該就該弄好的,但因為發生了點事,導致我那天心情都很低落,整天都在 LINE 的親友群上跟家人們諮詢 (當了一天的薪水小偷),不過別擔心,我撐過去了,Anyway,今天又有進展了,續這篇文章,雖然能用 PostMan 送 tweet 了,但我需要用 C# 寫程式來做這件事,Request Header 有一個很重要的值,叫 oauth_signature,他必需經過計算才能得到。

    官方文章有很詳盡的教學,我都是照著這篇文章做的。

2022年9月14日 星期三

Twitter API 發送 Tweet

緣起:


    我工作的專案最近需要加個功能,就是在系統上貼文時,我們系統所使用的 LINE、Twitter、FB 帳號也能同步分享貼文的連結,所以我開始研究那些社群平台的 API 要怎麼使用。LINE 跟 FB 的 API 之前有摸過,FB 那時有碰到問題卡關,之後就沒繼續研究下去了,這次有機會再跟它們交手,希望能透過工作的壓力來突破那些困難。Twittter 的 API 我還沒碰過,所以先研究它,這兩天也有玩出一點成果,寫個文章來記錄自己的發現。


2022年5月6日 星期五

Raspberry pi 薯泥監視器

緣起:


    在我學會 LINE Notify 後,我一直想著要用微電腦來拍我家狗狗的照片,並將照片 POST 到 LINE Notify 上,這樣就算之後不在家,我還是能定時在 LINE 上看到薯泥的圖片。我一開始是用 Ameba 來做,不過這樣就要直接寫 POST 的完整格式,那東西真的搞了我很久,POST 的格式只要有個小錯,伺服器就不接受,而且我也不知道錯在哪,只能慢慢試,更煩的是,每次改程式碼後都要重新上傳,它又得花 30 多秒來上傳,整個過程就很惱人,都要等一小段時間才能知道結果。其實,就算我解決了上述的問題,我之後還有圖片的問題,我不知道要怎麼在 Ameba 上讀取拍到的圖片、把它弄進 POST 的 Body 裡。


    所以最後放棄,改用 Raspberry pi ,用 Python 來開發,整個快很多,不用再去理 POST 的原生格式,快樂得不得了。我兩個禮拜前有把東西弄出來,不過那時候不小心弄壞,導致它開機後,我沒辦法登入,而且也沒把攝影機的曝光弄好,很多圖片拍出來都過亮。上個禮拜,我有把整個系統重灌,並重新寫了程式,經過兩個多小時的測試與修改後,終於把這個專案給完成了,不過那時沒有空紀錄,所以今天就來記錄我在做這專題時踩的雷。

專案連結


2022年3月29日 星期二

Line Notify 初試

 緣起:


    最近需要研究 FB API 與 LINE API 的功能,FB 的 API 有些難搞,弄得我很挫折,所以今天就先轉換跑道,來試試 LINE 的 API,正確來說,應該是它的 Notify功能。


2022年3月17日 星期四

Visaul Code 寫 C

緣起:


    我現在在 Windows 上想要用 VS code 來寫 C++ 的程式,雖然我還有 Dev C++ 跟 Visual Studio C++ 可以選擇,不過 Dev C++ 有點老舊,而 Visual Studio 每次要寫就要開一個專案,而且它的 compiler 也是 VS 的,像是 scanf 就要寫成 scanf_s,每次寫好程式碼後,要把它貼到 zerojudge 上解題時,又要手動改一下程式內容,好麻煩。

    所以就寫了這篇文章來記錄一下設定的過程。

這是參考文章


2022年3月11日 星期五

C 語言作業 - 身份證是否合法之輸入部份

緣起:


    昨天有同學 LINE 我,拿了 C 的題目給我看,是大一同學的作業,跟我們那時一樣,大一下要學程式設計,題目應該也是差不多啦,只是會再做些變化,可能是要避免學弟妹直接抄學長姐的程式碼。

    總之,這次的題目有個小麻煩的地方,就在輸入部份。


    不能用字串輸入還滿麻煩的,要想點別的方法,而且換了方法後也會碰上些問題,花了我不少時間在想要怎麼解決那些問題,所以就打算寫文章來記錄下。

2022年3月6日 星期日

WSL Docker 安裝

 緣起:


    今天想要來弄看看 Docker,心動不如馬上行動,所以就寫了這篇來記錄安裝的過程。

可愛的鯨魚


2022年3月4日 星期五

PSV 串流螢幕畫面到電腦

緣起:


    今天突然想說要看看 psv 改機後有沒有那種能分享螢幕到電腦的功能,如果有的話,之後要錄製遊玩的內容會很方便,還能把錄好的東西拿去跟其它人分享。


    我去網路上一查,嘿,有啊,PSV 的破解社群超讚的,所以就寫了這篇文章來記錄。

2022年2月24日 星期四

BeagleBone 作業系統放 SD 卡

 緣起:


    今天上完課後,晚上待在家不知道要幹啥,所以就拿起我的微電腦來玩,總覺得它內建的 eMMC 空間很不夠用,只有 4GB,光是作業系統就吃掉 3.5 GB 了,能用的空間很少,所以我就試著想把它的 OS 裝在 SD 卡上。


2022年2月14日 星期一

Esp32 Cam

 緣起:


    好像是上個禮拜四吧,我跑去租屋處待著,那天邀楊喵一起過來打打程式、耍廢。他待到下午四點那邊,在他回家前,我們一起去新驊電子材料行買東西,他想要買個 Esp32,本身就有藍牙與 wifi 的 esp 模組,要用來取代他之前用 arduino 做的自動澆水系統。

    我在逛的時候發現,之前在民生國中上課時,他們主任有跟我介紹一個 esp32 cam 模組,在那邊也有賣,而且一個才賣 325,那個模組也是有 wifi 跟藍芽,但更讚的是,它還有內建鏡頭跟 sd 讀卡槽,所以我就買了一個來玩。


    這篇文章來記錄我第一次玩 esp32 時做的基本設定與測試。

2022年1月27日 星期四

Windows WSL 安裝

 緣起:


    我需要一個 Linux 的環境來做些事情,像是用 VitaShell 或 Docker 之類的,這些東西感覺放到微電腦上跑的話,會很沒有效率,我需要一個在我筆電上跑的 LINUX 環境。聽了楊喵給的建議後,我打算安裝看看 Windows 上的 WSL。

它的名字叫 "適用於Linux的Windows子系統" 來著

2022年1月4日 星期二

Audacity 一直當掉

 緣起:


    我是一個窮學生,很多東西都是用免錢的,但是又不太喜歡用盜版的東西,所以很多軟體都是用 Open Source 的軟體。我覺得那些東西超讚的,免費、用起來又不比那些付費的軟體差。

    今天的主角是 Audacity,它是我高中時上電腦課,電腦老師介紹給我們認識的軟體,主要是用來編輯音訊的檔案,可以把它當成只能編輯聲音的威力導演來看待。雖然使用上不是那麼直覺,不過也很好用了。

    我這學期修的電腦通識課最近有個作業需要我們剪部影片,啊說到剪片,當然要有音效啦,雖然我用的 Open Source 剪片軟體 "OpenShot",裡面就能調整音效檔的起始與結束位置,不過我還是習慣直接導入剪好的音效檔來用,所以免不了要先對網路上下載來的音效檔做編輯的動作,用 Audacity 來做。