Android自動調整文字大小

我是個半吊子Android程式師,有時候常常被使用者罵文字版面跑掉,深深覺得andoird要能自動調整textview文字大小非常重要。

有些android使用者會調整手機預設字型大小,有些因為手機本身解析度不同,甚至摺疊手機,都會影響APP使用體驗;因此我們設計app一定要考慮文字大小。

官網已經有詳細的介紹,請點選這裡參考

我自己則常用以下設定來解決文字大小問題。

android:autoSizeTextType="uniform"
android:autoSizeMinTextSize="20sp"
android:autoSizeMaxTextSize="24sp"
android:autoSizeStepGranularity="2sp"

windows 10 22h2啟用sslv3以及老舊加密法

windows 10 22h2 已經停用 sslv3 加密, 但是有些公司郵件伺服器還在使用sslv3,以及很老舊的加密方式,所以有必要啟用他們。

要啟用sslv3,可到 Nartac Software 下載 IIS Crypto 4.0

下載後執行程式,點選 「Best Practices」-> 再選SSL3.0 我是如圖所示,或是全選也可,然後套用 Apply ->重開機,就可以重新讓windows 10 22h2 重振雄風。

選擇 “Cipher Suites”(如下圖) ,將能勾選的都選上,然後手動加上以下加密法,最後再一次apply,Reboot。

#請手動加入
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_3DES_EDE_CBC_SHA

windows uwp怎確認網站是否可存取

   try
{
var request = WebRequest.Create("https://tw.yahoo.com");
request.Timeout = 5000;
request.Method = "HEAD";

using (var response = (HttpWebResponse)request.GetResponse())
{
String s = response.StatusCode.ToString();
response.Close();
return s.Equals(System.Net.HttpStatusCode.OK.ToString());
}
}
catch (System.Net.WebException exception)
{
return false;
}

RockyLinux 9 使用usb硬碟備份,要避免硬碟進入休眠

過年要到了,小公司需要利用這時間進行系統備份,外接usb備份也很重要,備份完直接切斷usb硬碟連線,但我發現usb會進入休眠,不確定是否能終端機叫醒,因此乾脆直接改成不休眠狀態。

2013年有篇文章,有大佬分享心得

Linux官方參考資料

postgres 指令(連線、安裝)

我實在太弱了,不太會用postgres,每次要連線到openproject、teedy都要想很久。

# -U 帳號
# -d 資料庫名稱
# -p 埠(預設5432)
# -h 主機
# -W 需要輸入密碼
psql -U root -d openproject -p 5432 -h localhost -W

docker 安裝postgres

docker run -d --name postgres-17 -p 5432:5432 -e POSTGRES_USER=root -e POSTGRES_PASSWORD=ilovekafeiou -v  postgres-17-data:/var/lib/postgresql/data postgres:17.4-bookworm 

常用指令

# 連到資料庫
\c 資料庫名稱

# 顯示所有table
\dt

讓Content-Disposition解決非英文檔案,下載亂碼問題

這是老問題了,很多老外都忽略這個,我在協助teedy翻譯時,發現下載中文檔案中文會出現空白,看一下程式原來是忘了進行編碼導致,就順手提交一下解法。

#以下為java虛擬碼
CONTENT_DISPOSITION, "inline; filename*=utf-8''" + filenameEncode( "檔名" )

private String filenameEncode(String name) {
try {
return java.net.URLEncoder.encode(name, "UTF-8").replace("+", "%20");
} catch (java.io.UnsupportedEncodingException e) {
e.printStackTrace();
return name;
}
}

參考 :

好用的輕量級文件管理系統 Teedy

Teedy是一款很棒的輕量級文件管理軟體,以文件為本體,文件包含檔案,而文件具有唯一性。文件跟檔案不同,文件可綁定多標籤,能同時出現在不同標籤結構。

使用標籤概念,可避免傳統檔案總管,相同的檔案若存在不同目錄,會造成文件管理員維護困難(太多相同的檔案)。

Teedy 系統可綁定網域主控(Ldap)、能權限設定、可檢索,也有文件提交送審功能,功能全面。

除了上述功能,該系統具備審計軌跡Audit Log,符合ISO文管系統的基本要求,要過ISO13485、ISO62304沒難度。

Teedy系統採用微軟GitHub管轄下的開源軟體,GPL授權不用錢;軟體確效因屬於套裝軟體(off the shell),只需做3Q即可,且其風險超低,因其開源特性,全世界的工程師都可親自檢驗,更令人放心,例如1.7版就被掃瞄可能有風險

此開源系統缺點是翻譯超爛,我花了很多時間協助翻譯以。我增加新功能如下:
1. 檔案可決定加密或不加密
2. 檔案名稱可設定不能重複
3. 檔案軟刪除(Soft Delete)
4. 讀取(下載)檔案也會被系統紀錄
5. 檔案可移動到不同的文件
6. 好的中文翻譯
7. 一些小bug修正

本站增加新功能的docker版本請到這裡下載體驗,安裝方式請參考這裡,程式原始碼移駕這裡
** 主開發團隊4個月(2024.9)前有commit新的1.12版,這系統維護快10年了,步調較慢,我新增的功能離該系統初衷甚遠(如檔案可不加密),因此就不敢提交給開發團隊了,除非該團隊有注意到我這個版本(但應該不可能拉,團隊不會花時間研究我這版本) XD

最後

OpenProject用來規劃以及進度追蹤,產生的文件可以提交到Teedy進行管控,補足OpenProject文件管理的不足.

又是windows 11,停用TLS 1.0、TLS 1.1,只支援1.2

windows 11 從2024年開始,預設就停用TLS 1.0、TLS 1.1了。

表姊公司dovecot 內送郵件伺服器沒有支援TLS 1.2,解法就兩種

  1. 啟用windows 11 TLS 1.0、TLS 1.1
    https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-10-11-deprecation-in-windows
  2. 讓dovecot相容TLS 1.2
    重點在Linux Server上的openssl 版本必須1.0.1或以上
    dovecot啟用TLS 1.2 做法如下:
    https://serverfault.com/questions/959186/error-performing-tls-handshake-with-dovecot-2-3-upgrade

我自己修改dovecot啟用TLS 1.2 做法如下:

  1. 產生dh.pem
    openssl dhparam 4096 > /etc/dovecot/dh.pem
  2. 修改 /etc/dovecot/conf.d/10-ssl.conf

ssl_dh =</etc/dovecot/dh.pem
ssl_min_protocol = TLSv1.2
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
ssl_prefer_server_ciphers = yes

最後再更新我自己整合的郵件伺服器(綁定本地端微軟網域伺服器)
https://github.com/WilliamFromTW/docker-Postfix-AD


2024/01/10 (冏只隔一天又出現其他問題)

上次問題解決之後(windows 11其實有更新到24h2),後續又發現其他台windows 11未更新24h2,收發信還是有問題,但問題不太一樣

Jan 10 09:49:02 docker dovecot: pop3-login: Disconnected: Connection closed: SSL_accept() failed: error:1417A0C1:SSL routines:tls_post_process_client_hello:no shared cipher 

我除了更新mail server的postfix 、dovecot、openssl (RockyLinux 8.8) 外,變更dovecot一些設定,就解決問題了。

  1. 啟用windows 11 的TLS 1.0 、TLS 1.1
    依照微軟建議,我做成reg檔案,請按此下載匯入到windows啟用
  2. 更改dovecot設定,改成最小可支援 TLS 1.1 ,ssl_cipher_lis也修改(出處請參照這裡)
ssl_min_protocol = TLSv1.1
#ssl_cipher_list = ALL:!kRSA:!SRP:!kDHd:!DSS:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK:!RC4:!ADH:!LOW:!DH@STRENGTH
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL

1 2 3 ... 77