Monthly Archive: July 2022

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

最近特斯拉又調整超級充電站充電費率時間,半價時間從早上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

CSS 格子layout例子

1 2 3 4 5 6 7 CSS代碼 HTML代碼 padding是div內部內容和div格子上下左右邊界的距離 display: grid 決定了內部div (“inner” class)從左到右排練,如果不用,每個div各佔一行 grid-template-columns 決定了一行放幾個內部div,和每個內部div寬度,可以是%也可以絕對距離 boarder用來debug,顯示格子邊界大小 用鼠標選中格子里兩行,cmd+c,cmd+v 複製黏貼到編輯器里,出了還是一個一行,打橫顯示是瀏覽器的特效。

2022年startup愛用哪些的熱門技術?

本文總結一下個人觀察到的startup愛用的熱門技術/服務。各種SaaS服務確實讓創業變得更容易。每一個服務以前都需要一個團隊,現在像用水電費一樣按使用付費。只需要很少的人就能組成一個像模像樣的公司。缺點也是很明顯。很多比較年輕的團隊對這些服務不知所以然,使用這些服務的時候造成不必要的浪費,然後這些都變成了各大SaaS服務商的源源不斷的recurring revenue。 前端 React, javascript, typescript, node.js 後端 (server side / API) Python, Go, Kotlin, GraphQL, Docker, Kubernetes Data Warehouse / Storage Snowflake, BigQuery, AWS Redshift, S3 數據庫 MongoDB, AWS RDS Cache Redis 搜索 Elastic Search 機器學習 Tensorflow, PyTorch, AWS…
Read more