Pages - Menu

2018年12月12日 星期三

[MSSQL] 使用LineNotify發送通知

同事寫出來的,掛在stored procedure 下,
發送line 通知使用。
我也不知道他從哪些網頁參考出來的XD 
取得token的方式,可參考前面文章  快速使用Line Notify
簡單說明
@token 就是對方的token
@msg就是內容

2018年12月7日 星期五

[MS SQL]While loop 取代Cursor

先說結論:
我跟我同事 他寫cursor 我寫while loop,
執行速度其實差不多。
但while loop比較短而已。
以下繼續

2018年12月3日 星期一

[Windows10]Windows 10 開機啟動、刪除預設軟體-Part IV

很奇怪的Dropbox服務有啟動,但右下角就是沒出現。
現在改使用Win7時會用的啟動資料夾來試試。
以下繼續

[MS SQL]多筆資料合併成一個字串

懶得寫for,不想再把其他的資料合成一個字串,
因為也只合併一個欄位。
以下繼續

2018年12月2日 星期日

[Windows10]重開機後,會自動開啟關機前的視窗-PartIII

在更早之前已經更改過一次了,
發生原因很有可能是把關機當成了休眠,
但安裝完AMD驅動後,發現他電源選項直接跳去『AMD Ryzen平衡』
image
檢查下列設定
以下繼續

2018年12月1日 星期六

[Windows10]Windows 10安裝後設定-Part II

2019/1/13 修改
      預設輸入法,可改成ctrl+space 切換

前言
前陣子電腦掛了,剛好是選舉的那一天……
整個顯卡後面冒出火花,之後主機板也掛了。
看了一個禮拜的規格,最後花了一萬二(不含機殼)
搞了一台AMD 2200G的來用。延續上一篇:ASUS S400CA 安裝windows 10之後的設定修改
這次作業系統的版本來到

Win10 1809

,所有的設定都是1809才適用。這點請注意。
看系統版本的方法,
image
image
SNAGHTML7e155
以下繼續

2018年11月29日 星期四

[MSSQL]資料內的隱藏字元處理方式

碰到個怪事,
當初資料匯入的時候也沒檢查太多。
用肉眼看一直看不出來,最後用

select STOCK_NO,DATALENGTH(stock_no),CONVERT(VARBINARY, STOCK_NO) from STOCK_RECORD

才找出問題。
image

以下繼續

2018年11月27日 星期二

[Windows10]在Win10上使用Office365的Outlook,關閉初始連線精靈

安裝Office365後,如果要使用Outlook,

但如果該公司的mail 伺服器沒有對外,那可能會導致初始『連線精靈』一直無法連線,

此時就是先把連線精靈關閉,再使用『傳統的帳戶』對話方塊來設定。參考:微軟


1.開啟 『登錄編輯模式』(開始->執行->regedit)

2.找到

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\setup

如果沒有看到setup,可直接新增一個機碼,名稱就叫setup

3.新增 DWORD(32位元)值,名稱為  DisableOffice365SimplifiedAccountCreation

數值為1

(4.如果新增錯誤,可以到傳統控制台的畫面,使用郵件設定檔新增設定檔,之後再去重新新增)

2018年11月23日 星期五

[PB] PowerBuilder 9 發送Mail使用 Store PROCEDURE

原先想寫在函數上面,但跳出一個錯誤
『只有函數和一些擴充預存程序可以從函數內執行』,
查了一下,EXEC 不能寫在函數,要麻就寫在SP上面。

2018年11月15日 星期四

[MS SQL]程式發送Mail,出現SQL錯誤 ,佇列的郵件

接了一個案子,要寫MS SQL的Trigger,
測試都正常(我用update 指令測試)。
然後上線時,User說ERP錯誤,無法確認。
會跳出錯誤,『佇列的郵件』

以下繼續

2018年11月9日 星期五

[Linux]apt常用指令列表



apt-get update             軟體資料庫同步
apt-get upgrade            軟體升級
apt-get dist-upgrade       系統升級
apt-get install <package>  安裝軟體
apt-get remove <package>   移除軟體
apt-get clean              清理暫存

參考:小倉庫


補充:upgrade 與 dist-upgrade 的差別

dist-upgrade 比較偏有風險的升級,
upgrade是比較安全
詳情參考:Tsung's Blog

[Python]pip3常用指令列表



pip3 search <package> 搜尋套件

pip3 install <package> 安裝套件

pip3 uninstall <package> 移除套件

pip3 list  套件列表

pip3 list –outdated   檢查有無升級

pip3 install –U|—upgrade <package>   軟體更新包

pip3 –version pip3      版本資訊

sudo pip3 install –upgrade pip 升級pip自己




將目前的套件存成文字檔後匯入

pip3 freeze > aa.txt

pip3 install –r aa.txt


[Raspberry]Raspberry安裝Scrapy

續上篇的 Raspberry樹莓派安裝ubuntu初步環境設定及安裝anaconda
後來發現anaconde miniconda X裡面沒有scrapy  from arm的安裝套件。
只好又回歸原頭了。
以下繼續

2018年11月6日 星期二

[Windows]Windwos 10 Install.esd 轉 Install.wim

碰到以前做的 WIM使用dism 掛載驅動
要裝新的電腦時候,又抓不到驅動,只好連USB安裝都重做了。
除了更新Win7以外,連Win10也想更新一下版本。
以下開始

2018年11月2日 星期五

[Raspberry]Raspberry樹莓派安裝ubuntu初步環境設定及安裝anaconda

為了要讓樹莓派跑Scrapy,所以想要先裝anaconda,之後再安裝其他的套件比較省事。
但樹莓派的作業系統,裝anaconda似乎有一堆問題,
所以裝ubuntu。
以下文章開始

2018年11月1日 星期四

[Python]Scrapy 模擬登入及流程

這次的範例是要撈AWS的雲端主機價格費用,
前面有介紹幾篇使用Scrapy的簡單方法,
這次要搞的是Login的方式。
以下繼續

2018年10月18日 星期四

[Blogger] Google Blogger Widget Quote 每秒一句

前幾篇的
Windows 7 玩 Python 爬蟲 use Scrapy
Scrapy 部署至ScrapingHub 上以及錯誤解法
ScrapingHub 的API使用方式
這些都是為了我的每秒一句做的準備,重新整理時,就會產生新的一句話(總數量500筆)
這是scrapingHub的限制,我也沒辦法。
為什麼叫每秒一句?因為每秒重新整理一次就會產生一句話XDDDD
image
SNAGHTMLb155db3
今年的目標,我終於完成了。
自從看到博客來有每日一句後,
就在想為啥不能撈出來一直輪撥。
(看書時,看到喜歡的字句總會抄下來,但沒有紀錄出處..算是一大敗筆)


以下文章開始

2018年10月17日 星期三

[Python] ScrapingHub 的API使用方式

上一篇 Scrapy 部署至ScrapingHub 上以及錯誤解法 講到部屬的方式,
這次要直接從外部自動取用。不然只是單純變成excel或json就沒什麼意義了。
參考 開發和運行爬蟲進程在scrapyhub的雲平台上
以下開始

[Kindle]當機解決方式(卡待機畫面)

只能說...這OS寫的有待加強
我用的是Paperwhite
開啟的時候,正常都會出現 『滑動已解鎖Kindle』
但是就是沒這個字出現,一整個卡住。
後來查了一下,這不是偶發,
很多人都碰過了。

最後的解決方式是 用USB接電腦,電源按住30秒
重開後解決。

第二篇連結有大約提了一下可能卡住的原因,
可以看看,我有在想是不是因為改字體的關係。

參考 
Kindle卡在鎖屏界面不動怎麼辦 kindle長時間死機的解決方法
KINDLE PAPERWHITE死機(變磚)救生方法——給初用KINDLE的朋友們

2018年10月14日 星期日

[游泳]自學蛙式常見錯誤

不打這篇,哪天應該又忘了吧。
今年從08/09 開始 跑去嘉義市國民運動中心學游泳
一週兩次,差不多一個月後,終於會蛙式了。
但中間也卡關卡了莫名其妙,
沒有去報名上課,有的只是在泳池碰到的好心人提點了一下,
再來就是努力練。
再來要開始學捷式了。
如果有人也在自學蛙式,希望能幫助到你少走點彎路。
先前看的學習影片  Youtube清單
1.先學會漂浮(用腳蹬牆壁)至少能夠順利滑行一段距離,不要沈下去。
學會重心與浮心的調整
2.手與腳的基本姿勢就自己爬文章吧。 
剛開始的時候,可以考慮手伸回來時,用你的手臂夾著你的身體(這樣會讓你比較容易往上浮起來)
運動星球-游泳初學者最易上手的蛙式Breaststroke
初學者如何自學游泳之一:蛙泳篇
3.游完膝蓋內側會痛
因為你游的可能是小蛙腳,踢小蛙腳容易造成膝韌帶運動傷害
大蛙腳跟小蛙腳的差異在於 你的腳掌 是在膝蓋內還是膝蓋外,
如果是在膝蓋外,還是改改吧,雖然說會比較快,但真的快沒多少
前進的動力主要再夾腿,而不是踢腿,而且膝蓋比較重要。
4.屁股會一直往下沈,導致游到一半就變成直的。
請先看1,讓自己的屁股抬起來。不然就是手滑完黑桃後往前伸時,往水下插。
在滑行時,眼睛看地板,不要看前面。在1 有提過了重心,重心在前面時,屁股就會往下沈。
游泳新手8個會犯的錯誤及如何修正
自學游泳:蛙式常見錯誤(上)
5.同手同腳
我是沒碰到,就多練吧
自學游泳:蛙式常見錯誤(下)
6.換氣時,水一直從上面流下來,一直喝到水。
俗話說,練換氣沒喝到水就不算練換氣。
但我這部分比較神奇,一開始用泳鏡,迪卡儂買的。
但鏡框部分很小,導致我的眼睛周圍很痛。
最後我拿迪卡儂-蛙鏡 來用,但是蛙鏡的鏡片是有往裡面一點,
就變成了我抬頭時,上面的水就往下流。
換成泳鏡就好了…
7.游完肩膀痛
因為手伸太後面了
8.泳鏡起霧
你有沐浴乳吧,換衣服的時候,拿起來塗一下泳鏡裡面,我之前買迪XX的結果撐不到一小時,
然後太小,被我弄丟了XD  沐浴乳真好用
9.頭抬起來,用嘴巴吸氣時,會常吸到從臉上滑下來的水
可以試試,抬起頭時,用嘴巴噴氣(像啵的一聲),有人說用鼻子噴氣也可以。
讓臉上的水少一點。

2018/10/22補充

10.換氣時,手要壓很大力才頭才抬的起來
要換氣的時候,頭可以先往上看,比較容易抬的起來

11.小腿出力過大
常說腿要合併,但總會無意識的使用小腿出力。
想像成要讓大腿併攏會比較好

[Python] Scrapy 部署至ScrapingHub 上以及錯誤解法

延續第一篇 Windows 7 玩 Python 爬蟲 use Scrapy
ScrapingHub其實就是 Scrapy 背後的公司所推出來的線上爬蟲服務。
有興趣的可以去找一下由來。
要使用之前,要先去申請一下GitHub的帳號 ,
不會用沒關係,基本上也不會用到Git的指令,
只要有帳號就好。

此文章參考 scrapy爬蟲學習系列三:scrapy部署到scrapyhub上
然後做了些修改。

以下正文開始

2018年10月8日 星期一

GoodReads 在Blogger上的widget

首先,GoodReads的用途就是幫你記錄你看了多少書,
雖然有些中文書可能搜尋不到,但還是不錯用(畢竟被Amazon買走了)。
p.s 有興趣的可以看看這篇 Amazon 為何花 1.5 億美金買下閱讀社群 GoodReads?
建議下載他們的app(怎麼使用,應該摸一下就會了),
可以幫助快速掃描書進去你的書庫(但中文書真的要碰運氣,如果是漫畫的話,可以考慮去找日文的ISBN新增)。
實際上還有另外一個很常聽到的網站,aNobii,一開始我也是用這家,
但他有時讀取真的很慢,然後我找不到可以放在blogger的widget,
以前有,但似乎都掛掉了。

GR有API開放使用,改天可以來研究一下,改進一下他現在的Widget不足之處。

以下正文

Windows 10 關閉 取得更新 提示

如果電腦長時間不關機(OS Win10或Window server 2016以上),
一定很常收到

但就不想更新阿,還一直跳出來,不按還不行。煩阿阿阿……
關掉吧、關掉吧、關掉吧
以前有找過用Regedit改的方法,但不知道丟哪去了。
這次換用命令提示字元修改

cd /d "%Windir%\System32"
takeown /F MusNotification.exe
icacls MusNotification.exe /deny Everyone:(X)
takeown /F MusNotificationUx.exe
icacls MusNotificationUx.exe /deny Everyone:(X)
PAUSE

最下面的PAUSE,可以在第一次執行時放上去(是說應該也只會跑一次而已),
看有沒有執行成功。
再來就讓時間去驗證了。

2018年10月4日 星期四

Win10 1803版本,無法連線到網路芳鄰

延續上一篇 Win10 1803更新後,修改預設輸入法為英文

這個也是新安裝碰到的問題,

要連網路芳鄰一直無法連線,

但偏偏只有那一台QNAP的有問題,

其他台QNAP都沒事。

後來找到  亞谷電腦-技術支援

裡面有寫到因為有一個東西沒裝。

看了一下同事的電腦,他是自動更新的,

所以有打勾,但新安裝的並沒有打勾。


程式集->程式和功能->開啟或關閉Windows 功能

image

SMB 1.0/CIFS 用戶端 打『勾』,重開機。

image

Win10 1803更新後,修改預設輸入法為英文

18/08 更新 遠端桌面修改預設輸入法

弄了一台虛擬機安裝win10要測試SSR
重灌完第一件事,當然都是改預設輸入法。
但一直找不到語言跑哪去了。
image
最後在新的控制台介面,才找到。
WTF~!!!!
image
image
image

image
image

18/08 更新

如果使用遠端桌面的話,預設輸入法,需更改註冊檔才會變更。將下面的機碼,
複製到記事本後,另存成.reg的檔案後執行。
或者直接到註冊碼裡面更改也可以。


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"IgnoreRemoteKeyboardLayout"=dword:00000001




2018年10月3日 星期三

(開箱)Kindle Paperwhite (7th Generation) 及 基本設定(簡轉繁優先)

台灣沒賣kindle,
聽說電子紙看起來很舒服,
然後有人要從大陸回來,就順便帶了一台了,當然還有背蓋





2018年9月28日 星期五

Firefox瀏覽器,about 指令

會用到這個,起因為我要查Firefox的瀏覽器版本,
但只要從關於Firefox進去,就會自動更新瀏覽器。 ref 如何知道您的FireFox版本
所以改輸入 about:support 就可以知道你的版本了。
下面是更詳細的資料,ref. FireFox官網
about: page Description
about: Displays version and build information and links to the contributors, licensing information and build configuration
about:about Provides an overview of all about: pages available for your current Firefox version
about:accounts Page used by the Sync feature
about:addons Add-ons Manager
about:app-manager App Manager
about:buildconfig Displays the configuration and platform used to build Firefox
about:cache Displays information about the memory, disk, and appcache
about:checkerboard Switches to the checkerboarding measurement page, which allows to detect checkerboarding issues
about:compartments Displayed information about compartments; since Firefox 26, that information can be found in the "Other Measurements" section of about:memory.
about:config Provides a way to inspect and change Firefox preferences and settings
about:crashes Lists all crashes, which happened during the runtime of Firefox (in case the user enabled the crash reporter)
about:credits Lists all contributors to the Firefox project
about:customizing Switches to the customization page, which allows to customize Firefox' UI
about:debugging Switches to the Developer Tools debugging page, which allows you to debug add-ons, tabs and Service Workers
about:downloads Displays all downloads done within Firefox
about:healthreport Displays performance information of Firefox (in case the user enabled the health report)
about:home Start page of Firefox when opening a new window
about:license Displays licensing information
about:logo Firefox logo
about:memory Provides a way to display memory usage, save it as report and run the GC and CC
about:mozilla Special page showing a message from "The Book of Mozilla"
about:networking Displays networking information
about:newtab Start page when opening a new tab
about:performance Displays memory and performance information about Firefox subprocesses/add-ons/tabs
about:plugins Displays information about installed plugins
about:preferences Firefox settings (also available through Firefox menu > Options)
about:privatebrowsing Start page when opening a private window
about:profiles Display and manage Firefox profiles
about:reader Indicates a web page has Firefox Reader View turned on. See Firefox Reader View for clutter-free web pages
about:rights Displays rights information
about:robots Special page showing notes about robots
about:serviceworkers Displays currently running Service Workers
about:sessionrestore Session restoration (displayed after a Firefox crash)
about:support Troubleshooting information (also available through Firefox menu > ? (question mark) > Troubleshooting Information)
about:sync-log Displays a synchronization protocol related to the Sync feature
about:sync-progress Page displayed after the Sync feature got set up
about:sync-tabs Lists tabs available for synchronization related to the Sync feature
about:telemetry Displays telemetry data collected and sent to Mozilla while Firefox is running (in case the user enabled telemetry)
about:webrtc Information about WebRTC usage
about:welcomeback Information page displayed after Firefox is reset

Katalon Recorder使用whille 迴圈操作巨集

Katalon Recorder 主要是拿來做自動化測試在用的,
但如果有需要,也可以拿來當作偷懶的工具。
image
今天,這個選單有7X筆,每一筆我都要進去,然後按忽略後再完成任務。
身為工程師(懶人),就是要把事情簡單化。
先看看別人的簡單教學
菜鳥工程師-肉豬
請先會簡單的操作再往下繼續看。
至少要先會錄製,執行一段動作。

2018年9月14日 星期五

Windows server 2012 R2 無法啟動程式,遺失 api-ms-win-crt-runtime-l1-1-0.dll

messageImage_1536818295632
開啟軟體時發生錯誤,想說很簡單嘛,google一下就一堆資料了。
每個都說2012 R2 要抓 KB2999226,Ref.Mircosoft Support
不然就是要安裝  Visual C++ Redistributable for Visual Studio 2015
首先,KB299926 下載後執行,他告訴我   『此更新不適用於您的電腦』
WTF,你官網都這樣寫了,還跟我說不適用。
沒關係,再來安裝  Visual C++ Redistributable for Visual Studio 2015 ,
安裝過程中,出現『無法指出的錯誤』,然後就失敗了。

解決方式如下:

2018年9月12日 星期三

Easy2Boot 做USB 多重開機(快速使用)

最近搞一台電腦,安裝了無數次,一直失敗。
最後聽了人說他最近使用Easy2Boot,可以直接丟ISO進去USB就能安裝了。
(雖然最後用了還是安裝失敗,後來查是網路卡的問題)

2018年9月6日 星期四

Hyper-V像VM一樣支援拖拉(複製貼上)功能

上一篇說到 HyperV 主體機複製檔案(資料夾)給客體 Use Copy-VMFile
這次要從客體把檔案丟出來到實體機上面,
時間緊迫,單純寫指令已經來不及了,
後來只好再回到原路,開啟『增強的工作階段模式』
看能不能用拖拉的方式把檔案拉出來。參考  德瑞克:SQL Server 學習筆記
上篇有說到其實我玩過一次,但沒有成功,
這次記錄一下我上次少用了哪些步驟。

2018年8月31日 星期五

HyperV 主體機複製檔案(資料夾)給客體 Use Copy-VMFile

今天碰到個奇耙的要求,說軟體無法安裝是因為要在獨立網路上安裝。

好…你這樣說我照這樣做。

hyperV的複寫完成,網路全部封掉。

但重點來了,我還有資料夾要複製過去怎麼複製?

實體機還能插usb,但虛擬機阿…..

以前VM能夠直接在實體機上用複製貼上的方式將檔案丟過去,

所幸HyperV也有類似的功能,叫做客體服務。


開啟方式,

虛擬機->設定->整合服務->客體服務(打勾)

實體機->HyperV設定->加強的工作階段模式原則->允許加強工作階段模式(打勾)

參考 ITHome網管人

重開機後到虛擬機的服務裡面 看 『Hyper-V客體服務介面』 的服務是不是為已啟動。

網管人裡面的那招檔案總管的複製貼上,我一直都沒試成功

(剛剛看到才發現是不是只能丟單檔?)。最好只好用指令的方式將資料夾丟過去。

copy-VMFile   -Name   "虛擬機 "   -SourcePath   來源路徑 
  -DestinationPath   來源路徑 -FileSource Host

copy-VMFile 指令參考 安逸悠嫻學習筆記

但這只有單檔…整個資料夾檔案那麼多一個一個打真的會起校。

最後發現 GitHubGist 有人丟了一篇 複製整個資料夾的。

小改一下後,收工。



function copy-foldertovirtualmachine {
param(
[parameter (mandatory = $true, valuefrompipeline = $true)]
[string]$VMName,
[string]$Folder = 'E:\M030_service information manager-CPS11'
)
     foreach ($File in (Get-ChildItem $Folder -recurse | ? Mode -ne 'd-----'))
     {
         #$File2 = $File.Replace("E:\","C:\123\")
         Copy-VMFile -VM (Get-VM $VMName) -SourcePath $File.fullname -DestinationPath $File.fullname.Replace("E:\","C:\123\") -FileSource Host -CreateFullPath -Force
     }
}

copy-foldertovirtualmachine



使用方式,開啟power shell ISE

把指令放上去,後直接執行,會要求你輸入 『虛擬機的名稱』

要複製的資料夾位置 請更改  $Folder  後面的位置

  #$File2 = $File.Replace("E:\","C:\123\")

這一段是錯的,所以mark掉,因為$File已經變成路徑的物件,

所以不能取代字串,執行會發生錯誤。

但虛擬機上面沒有E槽怎辦,DestinationPath的後面 指的是 目標的路徑,

加上.fullname會變成字串,

此時就可以用replace 將位置取代。

2018年8月28日 星期二

Windows 7 玩 Python 爬蟲 use Scrapy


1.(命令提示字元)安裝 scrapy
conda install scrapy
conda是什麼?是安裝anaconda的產物,可參考 YENLUNG'S BLOG

2.(命令提示字元)建立scrapy項目
scrapy startporject booksDemo
建立完成後,會在下面出現你建立的資料夾位置
image
3.切換到項目的資料夾 運行crawl
我的電腦是裝    Anaconda ,所以先用
conda list
看一下目前已安裝的套件,有沒有把scrapy安裝成功
再來確認 目前的環境是哪個
conda env list
image
後來又建了一個環境  scrapyTest,建環境的方法,請看  Pyton Anaconda for Windows
image
建立spider

scrapy startproject scrapy_spider


import scrapy
class booksSpider(scrapy.Spider):
     name = "books"
     allowed_domains = ["books.com.tw"]
     start_urls = [
         "http://www.books.com.tw/products/0010789024"
     ]
    def parse(self, response):
         filename = response.url.split("/")[-2]
         with open(filename, 'wb') as f:
             f.write(response.body)

最後都確認完成後,將程式碼複製到 module內的專案名稱,路徑在
C:\user\Anaconda3\envs\scrapyTest\Lib\site-packages\scrapy\booksDemo\booksDemo\spiders
底下建一個檔案,名稱是什麼都沒關係。在建立的專案底下後再去找到spiders這個資料夾,
把程式放進去
SNAGHTML81a3fb48
完成後,在該路徑(C:\user\Anaconda3\envs\scrapyTest\Lib\site-packages\scrapy\booksDemo)底下 執行
scrapy crawl books
image
如果出現 no active project,Unknown command: crawl,Use "scrapy" to see available commands
表示你的路徑錯了。
再如果 出現 no module named ${project_name} ,也表示你執行的路徑錯了。
(當初就是這個錯誤,導致我整個重做)
目前只有印在畫面上,但印了什麼東西,我也看不懂。
先測試能跑才是重點。
.
2018/10/11 補充: 轉存成csv

scrapy crawl books -o aa.csv

2018年8月27日 星期一

Pyton Anaconda for Windows

由於一般安裝Anaconda的人都是Linux系統,
所以指令有些不一樣,
害我找了老半天
建立環境

conda create -n envName

進入環境(windows專用,沒有source)所以如果你碰到 source 內容不存在就是你不要打source

activate envName

刪除環境

conda env remove –n envName

看環境列表

conda env list

安裝套件

conda install packageName

套件列表

conda list

移除套件

conda remove packageName


離開環境

deactivate

日後還有用到的再補上....

2018年8月24日 星期五

C# Windows-Form 取得焦點時,同時反白文字方塊內容

明天颱風天,
今天就索性把前陣子累積再紀錄搖桿驅動程式的紀錄程式改一改
然後,想到了一條一直要做都沒做的功能。
當按Alt + Tab 切換回 視窗時,自動focus在文字方塊上,
方便讓我直接按ctrl+V貼上去查資料。
首先取得焦點的事件是 Form.Activated  ,來源 stack overflow
再來是反白文字方塊,在 Windows Form TextBox 控制項中選取文字
如果不想要反白,只想單純選取的話,stack overflow
整段加起來就是

private void Form1_Activated(object sender, EventArgs e)
{
     txtKeyword.SelectionStart = 0;
     txtKeyword.SelectionLength = txtKeyword.Text.Length ;
     txtKeyword.Select();
}

2018年8月23日 星期四

Atom 使用Atom-runner 印出中文


網路爬蟲繼續測試中,

但爬出來的文章就是會有亂碼,

上面那篇文章  CP950錯誤  解決後,一樣是不明的中文,

現在要更一勞永逸的解決。



import sys
import io
import requests
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
html = requests.get('http://activity.books.com.tw/everylettermatters/sentence/latest')
print(html.text)



出處  知呼


加上sys.stdout這段,那先前的CP950的編碼也不要再打了,

不然還是會錯誤。

Python 的 CP950 錯誤

語言:Python 3.6
IDE:ATOM
執行環境:Atom-runner


在搞網路爬蟲時,
抓下來的中文字,輸出會變成亂碼,此時可以直接改成

import requests
html = requests.get('http://tw.yahoo.com')
print(html.text.encode("utf8").decode("cp950", "ignore"))


加上

.encode("utf8").decode("cp950", "ignore"))


後解決,但還是變成不明中文..,
所以又延伸出了另一個解決方式  Atom 使用Atom-runner 印出中文
出處:碼人日誌

2018年8月3日 星期五

使用Displayport 連接電腦,關閉營幕後沒有訊號

最近換了螢幕,加上電腦還是win7,

就用了DisplayFusion多桌面工具列,去把另一個螢幕的下方多產生一條工具列

但沒想到以前用dvi連電腦的時候,

把螢幕關機,並不會變成『沒有訊號』

但這次用了dp的頭接電腦,

一關螢幕電源就變成了沒有訊號。

所有視窗都跳回去本來的主畫面,每次開啟螢幕電源就要重拉一次視窗。

在網路上找了一下,發現電腦王-DPHPDMA 偽裝 DisplayPort 螢幕連接狀態,桌面圖示不再亂成一團

才知道,原來是DP本身的問題,

就開始翻這台螢幕(HP EliteDisplay E232) 的設定了。

最後找到了在

輸入控制-> DP熱插拔偵測  改成  持續檢測

現在就算把螢幕關掉,也不會抓不到訊號,讓電腦只變成一顆螢幕,然後圖式亂跳了。

2018年7月6日 星期五

ATOM文字比對

早上接到user電話,
說有一隻報表,資料有問題。
切進去比對,看了老半天看不出來,
最後決定還是去找一下比對文字的工具吧…
先看了notepad++,有一個package叫compare的,看來能做。
但我突然找不到notepad++的plugin manager在哪。
後來想了想,我現在都用atom比較多,那還是乾脆用atom吧。
外掛名稱  split-diff

2018年6月28日 星期四

Win10無法登入,進去安全模式

昨天一台電腦掛了,

要直接用win10內建的還原,

但一進入win10就當機,所以只能用其他方法了。

網路上大部分查到的都是在登入後,再去改。

但一登入就掛掉,那就沒辦法用那個方法了。

微軟官方建議的方式

再登入畫面時,按住shift同時選取『電源』->在按 重新啟動

重新啟動後,就能到『選擇選項』畫面了,

再來看是還原,還是進入安全模式 都隨意。

2018年6月6日 星期三

Heroku 連線 Postgresql 教學(二)

本來真沒打算寫這篇,
但碰到一些常用,但不知道Postgresql怎麼用,
只好做筆記了。
最常用到的,新增資料時,順便記錄當下時間。
有人說可以在新增時塞進去,
但我就是懶阿

select CURRENT_TIMESTAMP + interval '8 hours'

在下面的圖,看到default value顯示的跟我上面的sql不一樣,
但我當初是直接把
  CURRENT_TIMESTAMP + interval '8 hours'
複製貼上的,所以應該是他自己轉換。
後面詳細的參數可 參考
image
image

2018年6月1日 星期五

Windows server 2016 usb安裝

HP 的server重灌,

按下F10後到了安裝畫面,在安裝的時候卡了很久,大概一天多。


找了好幾篇都是2016時的文章,

過程實在有麻煩到…

最後找到一篇  LENOVO SYSTEM X: SERVERGUIDE & WINDOWS SERVER 2016 BOOTABLE USB DRIVE

只要抓  Rufus 來做就好了,但重點是…格式要選對,

第一次就是格式選錯,才會抓不到裡面的資料夾,

開機模式選擇ISO。

image

2018年5月31日 星期四

Heroku 連線 Postgresql 教學

最近一直在用Heroku資料庫也用了他內建的Postgres
有些東西跟mysql跟mssql很不一樣,
撞牆撞了一堆
先來個 官方教學


image

Excel判斷空白

有一份excel,
有些欄位數值要改掉,
有資料的才改,沒資料的不用改。
正常的思維,


"update item set ror_pot="& A1 &" where item_no ='"&TRIM(A1)&"'"

串出來要改的SQL語法
會像這樣

update item set ror_pot = 1 where item_no=’123456’

但如果 A1 是空白,那指令會變成

update item set ror_pot =  where item_no=’123456’

那就錯了,當然可以選擇一個一個砍。
但身為一個 懶人
一個一個砍好累,我不想。
用IF自動判斷一下是不是空白吧。

=IF(NOT(ISBLANK(R9)),"update item set ror_pot="& R9&" where item_no ='"&TRIM(A9)&"'","")

判斷空白
ISBLANK
否定句
NOT
全部加起來就是
假如不是空白,就湊出SQL。

2018年5月29日 星期二

JSP表格排列

電子表單撈出來的程式,

是jsp,但今天要針對表格作排列的話。

一種就是針對資料排列,排完後就直接列印啥都不用管。

看了一下JSP的排列方式,要麻用 treemap 再不然就是用 Vector  然後我都弄不出來。

最後只好改用前端的方式作。

於是 Sort a Table

就這樣直接套用了。


<script>
   //根據單號排序
   var table, rows, switching, i, x, y, shouldSwitch;
   table = document.getElementById("myTable");
   switching = true;
  
   while (switching) {
     switching = false;
     rows = table.getElementsByTagName("TR");
     for (i = 1; i < (rows.length - 1); i++) {
       shouldSwitch = false;
       x = rows[i].getElementsByTagName("TD")[1];
       y = rows[i + 1].getElementsByTagName("TD")[1];

      if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) {
         shouldSwitch = true;
         break;
       }
     }
     if (shouldSwitch) {
       rows[i].parentNode.insertBefore(rows[i + 1], rows[i]);
       switching = true;
     }
     //console.log('loop');
   }

</script>


x = rows[i].getElementsByTagName("TD")[1];

後面的 [1] 是代表table的第二個column,表格是從0開始

table ID 是  myTable

標題記得改用TH

發佈程式到Heroku

第一步,先用命令提示字元切到你要發佈的資料夾底下

Heroku login  登入
git add . 加入版更到git
git commit –m “備註”
git push heroku master 發佈

2018年5月16日 星期三

PowerShell 檢查硬碟狀態發送line通知

有一台機器,有些時候會發生iSCSI自動消失。
但一消失,HV虛擬機器就掛了..
某天(也就是昨天),突然想到應該可以用powershell寫一下判斷,再發個mail通知一下。
早上就開始拼拼湊湊,最後生出來了。

下面的程式中,有些驗證的地方請自行輸入,
line_Notify的authorization,可以去看前面的文章。
line_bot 有用過的人,應該就知道了,沒用過的,表示你目前還不需要
詳細說明請看最後面。

2018年5月6日 星期日

Line Notify 抓取對方的token

上一篇寫到 快速使用Line Notify
這個只能丟給自己happy一下
現在要取得路人甲的token
首先要幾個東西
1.https的加密網頁 ,如果沒有的話  請去申請 heroku
2.要有GIT ,沒有的話等等下面的heroku的CLI裡面就有了,可以一起安裝。

2018年5月4日 星期五

快速使用Line Notify

先簡單分辨一下
Line Notify 跟 Line Bot的差別,如要看其他功能,請參考
Line Notify(API) Line BOT(Messaging API)
無法互動 可互動
免費使用API要錢(連結
可申請測試

文章開始,
這篇就跟標題一樣,快速建立一個訊息發送到自己的LINE用。
文章是 參考 這篇

2019/04/10 《補充》 要換行的話,輸入  %0D%0A   


1.申請 Line Notify
https://notify-bot.line.me/zh_TW/

2018年4月30日 星期一

電腦加入路由route

目前的網路架構是
防火牆->NAS(A)
這台NAS(A)要連線到外網的NAS(B)
直接從NAS(A)設定QVPN連線到NAS(B)
同時,NAS(A)有開  允許同網段下其他網路裝置使用此NAS的VPN連線
但PC一直連線連不到NAS(B)
用了tracert 追查路由方向,
確定線路都是從防火牆出去,所以不會經由NAS(A) 連去NAS(B)
再來就很簡單了,
新增路由,強迫連NAS(B)的網路就是從NAS(A)出去

route print    顯示路由表
route add 192.168.31.0 mask 255.255.255.0 192.168.168.179
新增規則  要通往31網路的線,通通經由168.179出去
route delete 192.168.31.0 mask 255.255.255.0
刪除規則

另外有一個很奇怪的現象,
win10的路由看來很有問題,
win7改完後直接連就好,但win10反而一直連不出去。

2018年4月23日 星期一

Docker 初體驗 之 hello-world (含常用指令)

目標:執行成功hello-world
1.開啟PowerShell
2.搜尋映象檔
使用

docker search 關鍵字
docker search hello
看完整敘述
docker search --no-trunc scrapy

image


[Docker]Windows Server 2016 安裝Docker(Windows Server Container )

參考來源:Yowko's Notes

步驟也差不多,
1.

Install-Module -Name DockerMsftProvider -Repository PSGallery –Force

提示要安裝啥東西,按Y就對了
2.

Install-Package -Name docker -ProviderName DockerMsftProvider

這部分出了點小錯,我的環境是新安裝的,跳出錯誤

KB3176936 or later is required for docker to work

這也好解決,到 微軟 去抓吧
image
安裝完後重開機,再來安裝一次,成功。
image
再重開機一次,
在來到服務裡面,把docker的服務啟動。
image
回到powershell,輸入 docker info 看有沒有跑出來就知道了。
因為windows server 2016內建支援docker,
如果要再不是這個的版本上使用,可參考 保哥 這篇文章,
使用docker自己出for windows的軟體

網路架構圖、流程圖繪製

有時候,總是會突然需要用到,但用不到的時候就是用不到。

或許可以試試這套  for Chrome

Gliffy Diagrams

要拿來畫簡單的網路架構圖也很夠用

image

只要會拖拉就好了,

如果沒有你要的圖片,還可以直接將你要的圖片拖到畫面上也可以直接使用。

2018年4月12日 星期四

Chrome 使用ublock Nano Defender 反反廣告

目前使用ublock,原因可以參考這個比較文章
網站上放個廣告,我覺得OK。
但看個幾秒,就直接鎖全版..
SNAGHTMLfdcf53a
今天終於受不了這種了,
來個反反廣告的套件吧..

2018年4月10日 星期二

dll命名空間的名稱與類別名稱一致,發生錯誤

起因,

專案名稱取名叫 dbs

類別的名稱也叫dbs,

做成dll檔案,要給其他專案使用。

加入參考後…就掛了

image

但如果將DLL命名空間的名稱改一下,

SNAGHTML6d4ce98

就好了…

image

為什麼!?

不知道,最後查了一下官方文件,

看到一個疑似的說法。來源

避免使用內部範圍內外部範圍中的名稱相同的名稱。 如果存取錯誤的變數,可能會造成錯誤。 如果之變數與相同名稱的關鍵字之間發生衝突,您必須識別關鍵字前面使用適當的型別程式庫。


應該是這個原因!?如果有人知道真正的原因還請跟我說。

AOMEI OneKey Recovery 在NVMe上無法備份

情境:安裝好電腦的當下,要做還原區。很高興的安裝完了以後,
在桌面上執行備份,跑完後會自動重開機到winPE的畫面繼續做備份。
然後…沒然後..就卡住了。因為找不到硬碟。跟這篇一樣

2018年4月9日 星期一

VB.net 讀取登入檔(Regedit)

小程式,只是要注意如果你是64位元,
那登入檔的位置是在
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node
image
而不是單純在SOFTWARE裡面。圖的最下面有Dropbox但在SOFTWARE底下卻是沒有的。

2018年3月27日 星期二

ASUS S400CA 安裝windows 10之後的設定修改

起因,幫人把asus s400ca 筆電改成ssd。
但他的又是觸控螢幕,就上win10吧。

2018年3月21日 星期三

Wordpress 的 Ultimate Member(會員管理)第一次設定

完全沒摸過worepress,
最近突然變成了要教user如何使用以及架設。

2018年3月12日 星期一

Python 3.6 執行 Azure 人臉辨識API

前陣子挺流行的,根據照片判斷出你的年齡。
https://www.how-old.net/
這次要用python來玩玩他的api。

windows 7 python 3.6 安裝openCV

首先要有python,
1.輸入python,先確定好版本和位元。
image
從python下載的話,預設為32bit,並不是64bit。
image
如果要抓64bit,從download選擇All Releases
在選擇要抓的版本後,拉到最下面選擇64bit的檔案。

2018年3月1日 星期四

ATOM必備設定

換了新電腦,
ATOM剛安裝時,一堆怪怪的問題浮現,
才發覺….阿!原來我以前改了那麼多。
目前要改的項目有,
1.選文字檔時,按右鍵開啟。
2.開檔案時,不要連同資料夾一同開啟。


2018年1月14日 星期日

(開箱)Parker IM經典 鋼珠筆

前陣子,翻到一支很舊的筆,
筆蓋都破了,但還真他X的好寫。
什麼牌子的也不知道,
但記得從我小時候就有這枝筆了。
於是才興起買鋼珠筆的念頭。
做了一些功課,就衝下去了。
一起買的還有小品的獨賣款,比較低調就拿去公司寫了。

(開箱)物外設計- 露銅鋼筆

某天在  嘖嘖 看到這支鋼筆後就一直揮之不去,
在那之前我用的是微笑鋼筆,
一直想買個不一樣的來試試。
猶豫了很久,終於手滑了。
從2016年12月中拿到手,已經一年多了。
拖到現在才發開箱文  😄
目前的主力

2018年1月12日 星期五

tampermonkey 筆記(二)

總是要用到下面的script
就是上一篇講沒很多的
@name
@namespace
@version
@author
@description
..這些東西
原文請參考 官網


簡單的就帶過,
困難的就略過,
普通的就掃過。XD
自己要用的其實上面打什麼並不是非常重要,
但如果要放到外面的網站上面的話,
就要打正確了。