Quantcast
Channel: Darkthread
Browsing latest articles
Browse All 428 View Live

Image may be NSFW.
Clik here to view.

【茶包射手日記】網頁特定連結失效疑案

遇上個人射手生涯數一數二的坑爹茶包...故事是這樣的。接獲報案,有使用者投訴他換新電腦後無法點選內部網站選單的某個連結,其餘功能正常,而全公司只有這一起案例。起初懷疑是 JavaScript 故障,實際連上使用者電腦測試並未發現 JavaScript 錯誤,而在使用 F12 偵察過程連結忽然正常,正要以「新電腦需經開光才會正常」的靈異理由結案,判定前為求謹慎再試了一次,這才發現問題未解 -...

View Article


Image may be NSFW.
Clik here to view.

LibreOffice docx 轉 pdf 評估筆記

我有寫了一個 Word 套表服務,最早是用 C# 呼叫 Word執行置換及轉 PDF,後來改走 OpenXML SDK,罝換速度快了五倍以上,唯獨轉 PDF 這段還只能仰賴 Word 完成。從 ASP.NET 呼叫 Word Application 會受限執行身分權限過低,Word 程序的生命周期亦較難掌控,最後我決定寫成 Windows Service,以特定登入帳號啟動固定數量的 Word...

View Article


Image may be NSFW.
Clik here to view.

小技巧 - ASP.NET MVC 限定 POST 但開放本機 GET

分享 ASP.NET MVC 私房小技巧一則。 AJAX 呼叫 ASP.NET MVC 時,基於安全考量應限定 POST 方法。(參考:隱含殺機的GET式AJAX資料更新 - 黑暗執行緒) 不過在開放測試階段,開放 GET 可在瀏覽器網址列輸入 URL 測試較方便,有沒有兩全其美的方法? 於是我寫了一個 Action Attribute,實現「從 localhost 呼叫可用 GET,從正常 IP...

View Article

Image may be NSFW.
Clik here to view.

使用 Headless Chrome 擷圖、轉存PDF、爬資料

Chrome 自 59 版起內建了 Headless 模式,允許透過命令列啟動 Chrome 以無 GUI 方式執行,具備與正常開啟完全相同的網頁渲染及 JavaScript 引擎,還可透過網路連線遙控。這個功能可以用於不少有趣應用,這裡列舉幾種實用情境。註:Headless Chrome 的完整參數可參考 List of Chromium Command Line Switches « Peter...

View Article

Image may be NSFW.
Clik here to view.

修改 NTFS 權限會改變檔案修改日期嗎?

修改 NTFS...

View Article


Image may be NSFW.
Clik here to view.

Coding4Fun–網頁遙控可動式樹莓派相機

前陣子入手 3D 印表機,從網路下載現成模型幫老古董 Raspberry Pi B+ 印了外個殼,一時懷舊之心大發,翻出舊零件拼裝了一台可轉動鏡頭角度的網路照相機,還騷包寫了網頁版控制介面,摸到一大票新東西,筆記留念一下。影片Raspberry Pi 的硬體 IO 介面不如 Arduino 豐富,能控制伺服馬達的 PWM 輸出只有一組,想控制多個伺服馬達通常會外接 I2C 介面控制板,前陣子玩...

View Article

Image may be NSFW.
Clik here to view.

VS2017 開啟專案找不到 System.Net.Http 參照

某個使用 Microsoft.AspNet.WebApi.SelfHost 4.0.20918 NuGet Package 的 Console Application 專案使用 VS2017 開啟時出現 System.Net.Http 及 System.Net.Http.WebRequest 參照失效,改用 VS2015 開啟則無此問題。VS2017 開啟失敗但 VS2015...

View Article

Image may be NSFW.
Clik here to view.

閒聊 - RWD、React Native、Xamarin、Cordova,一魚兩吃到底行不行?

RWD、React Native、Xamarin/Cordova,一魚兩吃到底行不行?前陣子 Airbnb 發表了系列文章,訴說其在傾力投入兩年之後忍痛放棄 React Native 的心路歷程,來自資深用戶的親身心得特別有參考價值。原文為英文長篇,Oursky (一家創立於香港的Web / Mobile 產品開發工作室) 佛心整理了中文摘要: Airbnb: 我們一起寫過的 React...

View Article


Image may be NSFW.
Clik here to view.

閒聊 - Web API 是否一定要 RESTful?

傳說 C 語言風格(C#/Java/JavaScript…)程序員依其信仰分為兩大派,自古以來不共戴天:依我的觀點,寫 WebAPI 的程序員也分成兩派,RESTful 派跟非 REST 派。我屬於後者,是非主流的少數派。前幾天跟同事聊到 Web API 是否一定要 RESTful,三言兩語說不清,寫篇文章梳理思緒好了。RESTful API 是指實踐 REST Representational...

View Article


Image may be NSFW.
Clik here to view.

ASP.NET Core 練功筆記 1

也差不多該開始玩 ASP.NET Core 了。最近剛好有個適合練功的題材,拿了 ASP.NET Core + Vue.js 上場演練,將一路上參考到的資源及瑣碎心得理成筆記備忘。關於 ASP.NET Core,MVP John Wu 有一系列 IT 鐵人文,是新手上路很不錯的參考: [鐵人賽 Day01] ASP.NET Core 2 系列 - 從頭開始 - John Wu's Blog如果你習慣...

View Article

Image may be NSFW.
Clik here to view.

ASP.NET Core 練習筆記 2 – Ubuntu + SQLite + Dapper

繼續 ASP.NET Core 專案練習,本階段的戰術目標:嘗試在 Linux Ubuntu 16.04 上跑 .NET Core + SQLite + Dapper。Ubuntu 遠端桌面設定 Ubuntu xrdp 支援使用 Windows 的「連線遠端桌面」程式(RDP Client)登入桌面環境,還可在主機螢幕操作桌面之外另開一個虛擬獨立桌面環境。 但有個問題是 Ubuntu 13.10...

View Article

Image may be NSFW.
Clik here to view.

小技巧 - 運用 Form target 模擬 AJAX 表單傳送效果

先定義我所謂的「AJAX 表單傳送」:意指撰寫 JavaScript 蒐集 HTML 表單欄位,再藉由 XHR 傳送到伺服器端,取代傳統的 Postback。其優點包含送單時畫面不閃動、沒有重新載入網頁的延遲以及傳輸運算成本、表單處理失敗使用者輸入狀態不變方便修改重送... 等等,近年來 AJAX 表單已成網頁操作設計主流。相較之下,傳統 Postback 方式(指用<form...

View Article

Image may be NSFW.
Clik here to view.

程式範例:byte[] 不落地壓縮 ZIP 檔

.NET 4.5 起加入 ZipArchive、ZipFile 等列類別,自此不用額外安裝第三方程式庫就能製作 ZIP 檔。微軟官方文件則有篇範例文章,操作說明:壓縮與解壓縮檔案 - Microsoft Docs,介紹如何使用 System.IO.Compression 的一系列類別壓縮及解壓縮檔案。我遇到一個需求,要將使用者在網站查詢的結果,以一筆資料一個檔案形式匯出,再集結壓縮成單一 ZIP...

View Article


Image may be NSFW.
Clik here to view.

前端小筆記-Progressive Web App (PWA)

抓了開源專案 MiniBlog.Core 回來玩,想在其中套用 Form target 模擬 AJAX 表單傳送技巧時踢到鐵板,開啟 F12 偵錯工具後驚呼:天吶,這世界又變了! 新時代的 Postback 不再是單純送出一個 Request 拿回 HTTP 200,而是像這樣子:如上圖,表單送出行為被拆成三個動作,並出現關鍵字 ServiceWorker。另外,我發現 js、css 也變成由...

View Article

Image may be NSFW.
Clik here to view.

ASP.NET Core 值得學嗎?

連發了幾篇 ASP.NET Core 文章,果不其然接到各方詢問:「喵的媽呀,微軟又推新東西了?」 「WebForm 玩完了嗎?」 「我 ASP.NET MVC 還沒開始玩耶,是不是不用學了?」先簡單答覆以上疑問:是的,ASP.NET Core是下一代的...

View Article


Image may be NSFW.
Clik here to view.

程式範例 - 使用 C# 寄送圖文並茂郵件

在 Outlook 寫信時,直接在文字穿插圖片是再自然也不過的事(如下圖),但是用 C# 程式走 SMTP 寄信,夾帶附檔的經驗很多,直接在內文內嵌圖檔倒是沒試過。很快在 Stackoverflow 查到範例,照方煎藥,就寄出像上面圖文並茂的信件了:using System; using System.Collections.Generic; using System.Linq; using...

View Article

Image may be NSFW.
Clik here to view.

突破 32 位元 .NET 程式 2GB 記憶體上限

同事分享了一記讓 32 位元 .NET 程式突破 2GB 記憶體上限的密技,讓我不禁獻上了膝蓋,當然要轉分享一下。.NET 編譯成 32 位元與 64 位元最大的差異在於可用記憶體上限,32 位元的記憶體定址上限為 4GB,其中 2GB 配置給作業系統核心模式,應用程式為使用者模式只有 2GB 可用,實際執行需再扣除 Runtime 本身耗用的記憶體,依經驗只能用到 1.6GB...

View Article


Image may be NSFW.
Clik here to view.

在 ASP.NET MVC Response.End() 不會中斷執行

同事回報了一起奇怪狀況,追查之後又學到新東西。在我的觀念裡,Response.End() 時會立即中斷執行,有時還會觸發討厭的 ThreadAbortException。但在以下的 ASP.NET MVC 範例中,CheckAuth() 在查不到 Cookie 時會導向 /Login 並呼叫 Response.End() 結束執行,結果沒有,程式繼續往下跑,在試圖修改...

View Article

Image may be NSFW.
Clik here to view.

【茶包射手日記】SQLite 資料庫出錯消失

最近啟動了部落格轉移計劃,打算把我的部落格從 ASP.NET + SQL 移到 ASP.NET Core + SQLite。前陣子試出 Ubuntu + SQLite + Dapper令我信心大增,後續進展也挺順利,寫了匯入程式,從 SQL 匯出物件轉 JSON,開始將 JSON 資料轉換成新平台 Model,再用 Entity Framework 寫入 SQLite...

View Article

Image may be NSFW.
Clik here to view.

程式範例 - 正式台測試台 JSON + Dapper 資料搬移術

野人現曝,分享最近在寫的正式、測試台間的小規模資料搬移法。情境是正式台跟測試台各有自己的資料庫,想將正式台某幾筆資料匯出,備份保存或是匯入測試台資料庫模擬測試;或是反過來,資料先在測試台輸入驗證無誤後要上線,希望將將輸入好的資料直接匯入正式台,省去在正式台重新登打的工夫。這類情境用 Entity Framework 不難實現的,這篇介紹則介紹不用 EF 的做法。匯出匯入的前題是要有強型別的...

View Article

Image may be NSFW.
Clik here to view.

【茶包射手日記】web.config 設定鬼故事

同事報案,某網站委託 OP 上線出現異常,連至本機查看詳細錯誤訊息,ASP.NET 回報看不懂 </location> 元素。上圖的 <location path="Area51">...</location> 是本次新增設定,是應用先前介紹過的 Windows 驗證網站設定部分匿名存取技巧,用 <location>...

View Article


Image may be NSFW.
Clik here to view.

2018 苗栗山城星光馬

六七八月休了三個月避暑,2018 下半年第一場由苗栗山城星光馬掀開序幕。會場設在苗栗縣立體育場,下午四點半起跑,氣溫是嚇人的 35...

View Article


Image may be NSFW.
Clik here to view.

UrlEncode() 與空白變加號問題

在 ASP.NET Core 遇到轉換網址中文及特殊字元的需求,由於 .NET Core 不適合再用 System.Web.HttpUtility,爬文查到有個替代品 - System.Net.WebUtility.UrlEncode,開開心心上路卻踢到鐵板。問題出在 System.Net.WebUtility.UrlEncode() 會將空白字元轉成加號,而 IIS7+...

View Article

Image may be NSFW.
Clik here to view.

ASP.NET Core View 中文變 & # x4E2D; & # x6587;

發現 ASP.NET Core 有個特性造成困擾。我們都知道在 cshtml 以 @textFromServerSide 嵌入字串時,預設會被 HtmlEncode 以防止 Cross-Site Scripting 攻擊,如要將字串視為 HTML 標籤處理需額外呼叫 Html.Raw()。但在 ASP.NET Core 裡,結果跟我原本想像不同,例如以下...

View Article

Image may be NSFW.
Clik here to view.

CODE - WebClient 下載檔案自動取得檔名

透過 WebClient.DownloadFile() 或 DownloadData() 對 .NET 老鳥而言是雕蟲小技(參考:CODE-使用C#程式從網站下載檔案 ),但此種寫法檔名需自行指定。若下載對象非靜態檔案,伺服器端程式會透過 Content-Disposition Response Header 傳回檔名供客戶端參考,WebClient 是否能由 Response Header...

View Article

Browsing latest articles
Browse All 428 View Live