Author Archive: feellikelearning

Mac版本的微信(Wechat)在偷你的數據嗎?

來源 推特網友@haoel發現Mac OS版微信佔用很大的硬碟空間,經過研究發現是Wechat在寫log,內容是binary的,不知道裡面寫了什麼,而且往還伺服器上傳。發現細節看原文吧。互聯網公司收集用戶數據的普遍行為,不必上綱上線。也許類似的方法可以用來看看其他應用有沒類似行為。 這位小哥還做了個視頻。 微信日誌(xlog)例子 解決方法 雖然我們不知道微信記錄了什麼,但是是我們可以禁止微信寫日誌占硬碟的行為的,這樣可以避免硬碟空間被佔用過多。當然微信還是可以上傳直接上傳有許可權訪問的數據的,只是不能寫入日誌再上傳,因為這個目錄不讓寫新任何的文件了。在terminal里 400就是「只讀」的意思。禁用以後,修改許可權以後微信還是能正常使用。 本文鏈接

做了個小工具查詢灣區特斯拉超級充電站現時充電費率

最近特斯拉又調整超級充電站充電費率時間,半價時間從早上11點結束提早到早上10點,而晚上開始時間從9點推遲到10點。所以全天半價時間比調整前一共少了2小時。2022大通脹之下,電車車主也很難獨善其身。雖然目前費用還是比油價要低很多。為了方便查詢,做了個小工具查詢灣區現時充電費率: 特斯拉超級充電站現時費用查詢 (中文版)(英文版) 出門前可以先在電腦或手機上看一眼而不用跑車裡看。

Javascript定時更新DOM例子,簡單得一看就會

本文用一個簡單的例子示範一下怎樣用Javascript來定時更新網頁里的DOM。DOM全程是Document Object Model,也就是HTML網頁上的元素。使用Javascript能讓原本靜態的HTML動起來。 效果如下: Counter Demo 以下例子代碼全部在一個HTML文件里,可以命名為updatedom_demo.html,內容如下: 保存後用瀏覽器打開就能看到動畫網頁。 本文鏈接

怎樣用CDN載入和使用moment.js時區庫做Javascript的時區轉換?

在舊金山灣區時間與北京時間轉換,用Javascript方便地實現時區轉換例子一文中示範了怎樣用moment.js做時間的時區轉換的例子。例子里下載了moment.js和moment-timezone-with-data.js,如官方文檔所說的,載入如下 那麼能不能不下載,直接用CDN呢?也是可以的 那麼之前的例子就變成如下 使用CDN就不再需要把兩個js文件下載和html文件放一起,而載入地址改成CDN的URL。使用上和原來一樣。 本文鏈接

舊金山灣區時間與北京時間轉換,用Javascript方便地實現時區轉換例子

在當今這個服務全球化時代,時區轉換是使用各種編程語言時經常遇到的問題。之前的這篇文章講了Python實現時間在不同時區的換算,本文講一下怎樣用Javascript實現。多虧了moment.js這個庫,時區轉換實現非常直觀方便,比Python的pytz好用點。Google出來排名前幾名的文章感覺並不滿意,所以在這總結分享一下,以便需要的時候很容易找到end to end能工作的例子。 從上面例子可以看到,真的非常簡單,基本就是一個moment對象調用tz函數,參數為新時區的名字,就生成了表示新時區時間一個新的moment。可以用format列印出來來驗證其準確性。 在Chrome瀏覽器驗證 Javascript的好處就是有個瀏覽器就可以跑,不需要設置什麼環境。驗證上面代碼可以打開moment.js的官網,打開developer tool的console, 注意,一定要在這個網站下打開developer tools,這樣moment會在瀏覽器環境里,在其他網站下打開會找不到moment。 運行上面代碼如下 已知灣區時間(-0700)比北京時間(0800)晚15小時,所以上面結果是正確的。moment(sftime)是創建一個copy,如果用sftime.tz(‘Asia/Shanghai’)就會改變sftime這個對象本身的內容,而我們想新建一個bjtime的對象存放北京時間。 建立一個HTML文件來運行代碼 如果需要在本地建立一個HTML,可以把moment.js和moment-timezone-with-data.js下載下來,放在和將要創建的test_moment.html文件放一起。編輯test_moment.html如下: 在Chrome打開test_moment.html可以看到空白頁面。打開developer -> Javascript Console可以看到結果

舊金山灣區時間與北京時間轉換,用python實現時區轉換例子

San Francisco Time ?? Beijing Time ?? 把一個時區的時間,比如灣區9:00am,轉換成另一個時區的時間,比如北京/香港/新加坡時間,應該是很簡單的問題。用Python做時區轉換好像挺麻煩的,容易出錯。Google出來的前幾條結果都不是很讓人滿意,本文總結我測試過可靠可行不太複雜的方法,以及一些容易出錯的地方。 先上可行的Python例子,把三藩(SF)灣區時間9am, 轉換成對應的北京時間,用了datetime和pytz。先構造一個灣區時間的對象,然後轉化成北京/香港/新加坡時間。 加上註解和debug信息。 可以看到建立的灣區時間時區為-0700而北京時間為0800,可以驗證灣區和中國時差為15小時。 時區行話解釋 全球標準時間用的是位於英國的格林威治時間(GMT, Greenwich Mean Time)。因為以前格林威治天文台是世界中心,本初子午線或者0度經線就定義為穿過它的經線。然後又有了一個叫世界協調時間的東西(UTC, Coordinated Universal Time)。這個和GMT基本一致,大概就是北京話和普通話的區別吧。北京在Greenwich的東邊,時間領先GMT/UTC 8小時,所以叫東八區,代號0800。而灣區在格林威治的西邊,時間滯後7個小時(美國國會通過了永久使用夏令時法案),所以叫西7區,代號-0700。而兩地時差為7+9=15,北京時間比灣區時間領先15個小時。 同理,日本和韓國位於東9區,代號為0900,那麼時間就比為與東八區的中國早1小時。 當地真實時間和約定標準時間 一個地方的真實時間只取決於太陽相對當地的位置,也就是取決於當地經度。但是為了方便,每個國家可以人為規定用什麼時間。比如整個中國雖然跨了幾個緯度,確人為規定了各地都使用北京時間。新加坡真實時間應該為0655,確規定使用0800,也許是和大中華區保持一致比較方便。 回到Python上,這也正是pytz包的一些坑的來源。pytz用的是地理意義上的真實時間,而人們真正使用的是當地法律約定的時間,這兩者是有差別的。 Python datetime不設時區是什麼時間? 如果新建一個datetime對象,不設時區的話,會是當地時間。 用epochconverter轉換1656658800.0,正是灣區時間2022-07-01 00:00:00 如果replace了timezone,就把底下的timestamp變了,而不是保持timestamp而改變時間表示形式(日期,小時/分/秒)。所以replace(tzinfo=…)並不是做時區變換。而且注意下面例子里上海時間是0806,並不是0800,應該用了地理意義上的真實時間而不是法定時間。這個地理時間在生活中基本沒用,這個pytz的坑之一。 參考 Python3中datetime時區轉換介紹與踩坑 python datetime時區轉換 技巧:用datetime模塊處理時區轉換,不要用time模塊 將UTC、EST時區的時間轉化成北京時間(python) pytz庫時區的坑(轉) The Solution…
Read more

Python Pathlib生存手冊,幾個短例子極速上手

Pathlib是Python里自帶的處理OS路徑的library,功能非常強大,可以代替原來的os.path。本文提供幾個簡單的例子供查詢,幫您極速上手,引用到自己的python project里。 創建操作Path對象例子 可以用」/「直接得到下一層目錄或文件的Path對象 Home Path對象例子 需要注意的是,Path constructor的參數不認識~。需要用Path.home()。 驗證tilda不work 驗證Path.home() work 當前目錄例子 如果需要當前目錄的對象可以用cwd函數或者.加resolve函數 遍歷文件夾例子 也就是implement bash命令 用pathlib實現如下 外面函數python_find接受path string,裡面的遞歸函數_python_find接受pathlib.Path object。用iterdir列出當前input path下的所有對象,先列印它們的路徑,如果是目錄,就繼續調用遞歸函數_python_find列印下一層目錄裡面的內容。 Pathlib刪除文件例子 刪除文件 刪除目錄/文件夾 rmdir只能刪除空的文件夾/目錄,如果內部還有其他文件或目錄會報錯。 刪除非空目錄/文件夾 這個只能自己用上面兩個函數用遞歸實現。這裡我增加了顯示被刪除文件size的信息。 參考 一分鐘學一個 Python 標準庫之 Pathlib PathLib recursively remove directory? pathlib — Object-oriented filesystem paths…
Read more

特斯拉不能用手機發動車怎麼辦?一招解決

問題描述 特斯拉很方便的一點就是只要手機在身上,就能直接開鎖住的車門。坐上駕駛位置,踩剎車,車就進入「發動」狀態,可以進行下一步操作:換擋。最近就遇到個小問題,手機可以開車門,可以自動連藍牙音箱,但是踩剎車屏幕就提示要把卡片鑰匙放在cup holder後面那裡刷一下。每次開車就要這樣,實在太不方便了,不能忍,必須解決! 解決方法 網上查了半天,看了很多Youtube videos,都不行,此處省略掉各種不成功的嘗試。這裡記錄一下最後work的解決方案。 刪除手機上Tesla App。關掉重新開不行。 到App store重新安裝Tesla App 用email和密碼登陸 這時,App上對應的車會出現Pair Car Key選項,平時是沒有的 選pair,然後按車屏幕提示,在cup holder後面刷一下car key 這時應該就成功了,可以下車走遠鎖車,然後試試走進開車門,踩剎車,換擋。應該全程不再需要car key。

在灣區得了急性中耳炎怎麼辦?兩個實用辦法

聲明:純生活經驗分享,具體診斷和治療方案請諮詢專業醫生。 病因和治療 耳朵內部發炎,腫脹,疼痛,感覺堵塞不通而影響聽力?那麼很可能就是得了中耳炎,起因是耳道被細菌感染了。兒童和成人都有可能會得。細菌無處不在,身體體抗力下降的時候就會防線被攻破。治療方法是需要吃抗生素,一般是阿莫西林(amoxicillin)。 哪裡看醫生? Onsite就診 那麼問題來了,阿莫西林之類的抗生素在美國屬於處方葯,需要醫生的處方(prescription)。如果發病當天約家庭醫生,一般是來不及的。家庭醫生預約一般都需要幾天到幾周。在灣區(San Francisco Bay Area),可以去urgent care。 如果在南灣,可以去Palo Alto Medical Foundation的兒童Urgent Care,比如 Palo Alto Center Pediatric Urgent Care (兒童) Mountain View Center Urgent Care (大人和兒童都可以) 網站上有開放時間,wait times估計和預約鏈接。其他醫療機構應該也有類似服務,可以根據個人地點和保險選擇。醫生檢查後一般會開止痛藥和阿莫西林,當天可以去病人選擇的藥店,比如CVS或Walgreens領取,等待時間一般1小時左右。看完醫生開車過去可能就差不多了。 網上就診 隨著科技發展,網上問診也開始變得普遍。如果保險有支持網上就診,比如Teladoc之類的,也可以在網上約醫生 ,一般等待時間在10分鐘到1個半小時左右。好處是不用出門和到Urgent care排隊。時間也更加靈活,Urgent care到晚上8點後也關門了。網上醫生也可以開處方,然後同樣去病人選擇的藥店領取。 家庭醫生Follow Up Urgent care和網上醫生都是救急,保險起見,醫生一般都會建議還是要約上家庭醫生做後續檢查。吃了幾天葯,等看上家庭醫生的時候,可能已經好的差不多了。 阿莫西林副作用…
Read more