發表文章

Console程式執行Async非同步方法

圖片
今天用主控台應用程式,測試一個非同步方法,如下程式,
建置時會出現錯誤

解決方法 修改專案的建置設定,改成7.1以上(含)的版本
參考來源 https://stackoverflow.com/questions/9208921/cant-specify-the-async-modifier-on-the-main-method-of-a-console-app

VS2017讓其他電腦連線到本機的IISExpress

圖片
IISExpress預設只能透過localhost:port連線,想讓其他電腦連進來的話,須更改方案目錄下的applicationhost.config,路徑 方案/.vs/config/applicationhost.config
打開applicationhost.config,找到bindings區段 '
將"*:{port}:localhost" 的 localhost 移除,變成 "*:{port}:"
測試結果 本機測試,輸入本機IP http://192.168.2.50:1933 確定ok的話,此時外部還是不能連線,要將防火牆的關閉或將port(1933)允許

第一次開發Android遇到的問題與解決

圖片
因工作需求,第一次開發Android App是要實際使用的,不再是Hello World來玩玩。以下為依需求遇到的狀況與解決方法及連結。
Q:開發工具 A:Android Studio https://developer.android.com/studio/index.html Ps:要先安裝JAVA環境-JDK
Q:相片權限已設定,但還是不能拍照? A:Android 6.0之後,在AndroidManifest.xml加入權限設定後,程式也已需要配合,再詢問一次。 https://stackoverflow.com/questions/34410389/how-to-get-permission-result-callback-in-dialogfragment
Q:相機拍照路徑儲存問題? A:Android 7.0之後,要使用FileProvider https://inthecheesefactory.com/blog/how-to-share-access-to-file-with-fileprovider-on-android-nougat/en ps:遇到在Android 4.4使用FileProvider會錯,改回原本方式 takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(photoFile));

Q:如何透過Url啟動App https://www.jianshu.com/p/7d90a6cfb5f3 https://blog.csdn.net/sd1987112    2/article/details/77894861
Q:Upload File https://www.coderefer.com/android-upload-file-to-server/ https://blog.morizyun.com/blog/android-httpurlconnection-post-multipart/
Q:Web API Post Json https://stackoverflow.com/questions/42767249/android-post-request-with-json
Q:模擬器上安裝已下載的apk http://instinctcoder.com/manually-insta…

IIS 使用Power Shell啟動已中止的Pooling

目前的網站,因大量資料的查詢,會不定時的造成Pooling中止,在還沒改善程式的狀況下,現行的處理措施,都是等到使用者通知後,手動將Pooling啟動。這樣的處理,若遇到下班或假日時,就非常的麻煩了....且久了就會讓人感覺不夠專業XD。
解決方案 寫一個PowerShell來啟動已中止的Pooling,並透過排程定時呼叫。

#要先匯入模組Get-ChildItem 才會認得IIS: Import-Module WebAdministration #1.取得所有Pooling $pools=Get-ChildItem IIS:\AppPools #2.比對要啟動的Pooling $poolMaps="PrdPooling","Prd-Download-Pooling","Sta-Pooling"
for($i=0;$i -lt $pools.Length;$i++){ ##3.比對到要啟動及已停止的Pooling並啟動 if($poolMaps.IndexOf($pools[$i].Name) -gt -1 -and $pools[$i].State -eq "Stopped"){   Start-WebAppPool $pools[$i].Name   $pools[$i].Name } }
參考來源 https://docs.microsoft.com/en-us/powershell/module/webadminstration/start-webapppool?view=winserver2012-ps
https://stackoverflow.com/questions/24392696/getting-cant-find-the-drive-the-drive-called-iis-does-not-exist

Jenkins-記憶體不足

圖片
CI主機在建置工作時,偶爾會發生錯訊,訊息如下:
jenkins java.lang.OutOfMemoryError: Java heap space
之前發生時,都想說是Java環境問題,Jenkins應該無法處理,所以都將服務重啟來解決。呃...其實是自己不懂Jenkins加懶,沒有認真去找出解決方法=.=。
解決方式

預設Jenkins旳設定是256mb,此設定可以在安裝目錄下的jenkins.xml修改,如下圖,我將-Xms256m 改成1024

參考來源 https://stackoverflow.com/questions/5936519/how-to-give-jenkins-more-heap-space-when-it%C2%B4s-started-as-a-service-under-windows

SQL Server-預存程序-動態分頁、排序、過濾

前言     目前寫的系統,部份查詢程式會呼叫預存程序,進行較複雜的運算來取得資料,但由於回傳的資料過大,導致雖然在程式端進行了分頁處理,RAM還是會因資料已載入而暴增。

   而程式介面的功能設計上,使用者可以在查詢出來的列表,再進行排序、動態過濾、排序及分頁..等,這些功能若要在預存程序處理的話,就要將SQL改成組字串的方式。
   這樣原本就已很複雜的語法會變得更不好維護,在考慮先不修預存程序前提下,改用另一個預存程序動態組字串來呼叫本來的預存程序的寫法來達到相同的功能。
SQL
建立Table CREATETABLE[dbo].[DemoUser](        [USER_NO] [varchar](8)NOTNULL,        [USER_NAME] [varchar](20)NULL )
塞資料 DECLARE@IASINT DECLARE@MAXASINT DECLARE@STR_IASVARCHAR(30) SET@I=1 SET@MAX=1000000 WHILE(@I<@MAX) BEGIN

chrome如何偵錯js最小化

圖片
同事在正式區檢查前端瀏覽器的javascript bug時,因js有作最小化的處理,一時之間不知從何下手,所以問我要如何偵錯?憑藉著些微的印象,我翻了一下筆記,還真有記在我的Evernote內..XD。順便blog一篇吧。
如何偵錯
1.按F12進入開發者工具,切換到Sources頁籤,並找到錯誤的js
2.按 Ctrl+G,輸入行號:欄位置,例:第1行的1000位置 :1:1000