搜尋此網誌
2022年5月9日 星期一
2020年10月29日 星期四
行動裝置使用藍牙鍵盤
技師現在的手機越做越大,但是在手機或是平板上打字還是沒有PC端使用鍵盤來的舒適及準確,而這時候一個好的藍牙鍵盤就能帶你上天堂!
行動端主要分為iOS及Android陣營,藍牙鍵盤的支援程度也不太一樣,以下是我分別遇到的情況
iOS
- 連接藍牙鍵盤之後第三方輸入法完全不能使用,只能用內iOS內建的輸入法,這個問題從iOS6就一直存在,即使現在到iOS14,還是如此,蘋果大概是不打算開放了。
- 藍牙鍵盤切換輸入法的方式是
CTRL+Space。 - 不支援鍵盤上的
HOME、END及PAGEUP、PAGEDOWN功能,想要快速移動只能點選畫面或是使用CTRL+方向鍵,但是這個方法只能快速移動到文章的頭或是尾。 - 輸入時預測的詞會跟隨在游標下方,比較容易辨識,一次出現的詞彙是1行4組,不是很多所以時不時的需要將詞彙按下打開然後挑選,偏偏內建的輸入法選詞邏輯很奇怪,常用詞彙有時候會找很久
Android
- 連接之後可以使用google輸入法,其他的沒測試過也沒必要測試,現在繁體中文輸入法中只能使用google input,不管是注音還是拼音,其他的都大同小異,只可惜跟iOS一樣,詞庫的部分做的不怎麼好,輸入資訊無法累積有點麻煩
- 使用紅米 NOTE 8T,輸入法切換的快速鍵為
SHIFT+Space,其他款式的手機可能有不同的對應快速鍵,一樣沒辦法測試 - 使用藍牙鍵盤比虛擬鍵盤來的順暢,有時候用虛擬鍵盤輸入還會lag,用藍牙鍵盤完全不會
- 選字視窗會在螢幕的最下方而不是跟隨游標,這點對於使用者來說不太友善
- 支援鍵盤上的
HOME、END及PAGEUP、PAGEDOWN功能,這很棒
2020年9月26日 星期六
typora自動上傳自定義圖床設定(vgy.me)
typora自動上傳圖床設定(vgy.me)
typora忘記從哪個版本之後就支援picgo,透過picgo將圖片自動上傳到圖床後並將本機的相對位置更換成圖床連結,也就是說在編輯的時候可以先將圖片直接拉進typora,等全部編輯完按上傳本地圖片讓他自動上傳並編輯連結,如此可省去很多手動上傳圖片的步驟並且撰寫的思緒比較不容易被打斷。
為了要達成上述步驟,建議以最簡單的方式執行,在開始之前要先安裝以下軟體
安裝完之後依據下列步驟設定
vgy.me
- 註冊帳號
- 點選
Account Detail - 選擇
User Key選單 - 然後在
app name輸入自訂名稱,隨意都可以 - 按
submit送出後,user key行會出現一串英數組合的字串,這個就是key,複製在記事本保存,這個key只有生成的時候才能看見,沒存到的話就只能重新生存一份新的
完了之後就換設定Picgo

picgo
點開picgo→左側選單→插件設置

在搜尋列輸入
uploader,找到web-uploader點選安裝
安裝完成之後點選picgo設置,往下拉到最後可以看到圖床的選項多了一個自定義web圖床,把它打勾

然後再點選圖床設置→自定義圖床,按照圖片及說明輸入即可

- api地址:
https://vgy.me/upload - post參數名:
file - json路徑:
image - 自定義body:
{"userkey":"在vgy.me生成的userkey"}
括號要記得輸入,不然會出錯
- api地址:
typora
打開typora→檔案→偏好設定→一般
在語言項目選擇簡體中文然後關閉程式再重新打開

打開之後界面變成簡體中文
再打開檔案→偏好設定→圖片,在
image upload選單選擇picgo
picgo path選擇picgo的位置,要是沒更動安裝位置的話應該是在C:\Users\使用者名稱\AppData\Local\Programs\PicGo\PicGo.exe
點選
test uploader測試,應該會出現上傳成功,代表設定無誤,可以正常使用最後再將語言改為繁體中文即可
批次上傳圖片在
格式→圖片→upload all local image
2020年2月11日 星期二
[Python]上班自動打卡
[Python]上班自動打卡
由於公司最近開始取消實體感應扣打卡而改成以電腦網頁登入打卡,雖然說這樣就不需要擔心感應扣不見或是忘記帶,但缺點就是電腦開機太慢或是下雨的時候還在辦公室外面整理雨衣導致可能會遲到幾秒鐘……,有鑑於此決定用Python寫一個設定時間就能自動打卡的程式,因為自己完全沒有基礎……所以全部參考網路上的分享來土炮編寫。
x
1from os import listdir2from os.path import isfile, isdir, join3import os4import sys5import time6import datetime7import random8import re9import smtplib, ssl10from selenium import webdriver11from selenium.webdriver.common.by import By12from selenium.webdriver.common.action_chains import ActionChains13from selenium.webdriver.support import expected_conditions14from selenium.webdriver.support.wait import WebDriverWait15from selenium.webdriver.common.keys import Keys16from selenium.webdriver.common.desired_capabilities import DesiredCapabilities171819#循環次數20t2 = 288021#間距秒數22t3 = 3023'''24以資料夾名稱來判斷時間,會這樣設定是因為雲端空間在手機端操作比較方便,省去打開文件25編輯什麼的,也可達到遠端操作26'''27mypath = "D:\Google雲端硬碟\sync\上班打卡用"2829#用正規式判斷有無資料夾,及資料夾格式是否為4個數字集合30##循環2880次,每次30秒31for i in range(0,t2,1):32 files = listdir(mypath)33 if len(files): #判斷list不是空集合34 c_time0 = files[0]35 c_time1 = re.findall('\d{4}',c_time0) #變成list,所以要重新設定變成字串36 if c_time1: #判斷字串是不是4個數字連在一起37 c_time2 = re.split("",c_time1[0])38 c_time3 = c_time2[1]+c_time2[2]+":"+c_time2[3]+c_time2[4]39 #print(c_time3)40 break41 else:42 print('錯誤時間格式,繼續等待')43 for tt in range(t3,0,-1):44 print(tt)45 time.sleep(1)46 print("迴圈數",i,"/",t2)47 os.rmdir(mypath+"\\"+c_time0)48 else:49 n_time = datetime.datetime.now()50 print("找不到時間,等待30S重新判斷")51 for tt in range(t3,0,-1):52 print(tt)53 time.sleep(1)54 print("迴圈數",i,"/",t2)5556#判斷時間57d_time = datetime.datetime.strptime(str(datetime.datetime.now().date())+c_time3, '%Y-%m-%d%H:%M')58n_time = datetime.datetime.now()5960if n_time <= d_time:61 deltatime = (d_time - n_time).seconds -12062 print("打卡倒數時間=",str(datetime.timedelta(seconds=deltatime)),"≒",deltatime,"秒")63 for x in range(deltatime,0,-1):64 print("剩下:",x,"秒")65 time.sleep(1)66else:67 print("打卡時間小於目前時間,不符合邏輯,程式10秒後自動關閉")68 time.sleep(10)69 sys.exit()7071#打卡動作72'''73利用firefox的selenuim記錄,最方便,但是程式碼需要修正才行74by_id(xxx)這部分錄製的程式碼不符合python3,需要手動修正75'''76driver = webdriver.Firefox()77rantime = random.randint(6,60)78driver.get("__公司網址__")79driver.find_element_by_id("txtUser10").send_keys("__帳號__")80driver.find_element_by_id("txtPwd10").send_keys("__密碼__")81time.sleep(rantime)82driver.find_element_by_id("btnCheckIn10").click()8384## 關閉瀏覽器85time.sleep(10)86driver.quit()87#刪除資料夾88os.rmdir(mypath+"\\"+c_time0)8990#打卡成功通知,採用Gmail設定91port = 465 # For SSL92smtp_server = "smtp.gmail.com"93sender_email = "寄信者信箱" # Enter your address94receiver_email = "收信者信箱" # Enter receiver address95password = "密碼"96message = """\97Subject:check in to work 9899It's worked"""100101context = ssl.create_default_context()102with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:103 server.login(sender_email, password)104 server.sendmail(sender_email, receiver_email, message)105106#關閉程式107sys.exit()


