LinMinquan's Blog

Experience technology to change life

Flutter Git Dependency Update

Flutter 项目里有的 dependency 是用 git 库,但如果这个 git 库有新的 commit 时,敲 flutter pub get 时并不会去拉最新的版本,因为它有 cache 机制,将项目用到的 dependencies 的版本存到一个叫 pubspec.lock 的文件里,如果是 git 库,则会有是哪个 git commit 的信息。所以解决办法就是去改那个 pubspec.lock 文件里相应 dependency 的 git commit hash。 Read more →

小米 Poco X3 Pro 使用感受

上台手机是魅族 Note 9,内存 6GB 够用,存储 64GB 不够用了,CPU 的性能也还够用。 我不玩游戏,不拍照,对手机的要求是要快,内存和存储空间要大,最好自带 Google 框架。魅族的那台手机,我也自己安装了 Google 框架,Google Play 可以用,但应该还少一些什么的,会有各种的问题:感觉 Google Map 一直有点问题,香港麦当劳App在定位时可能是调到了 Google 的定位服务,会有问题。安心出行App 有一个调摄像头识别出租车车牌的功能也不能用。玩游戏时的游戏数据无法存到 Google Play 那。所以想要 Google 全家框的,就不建议用国内的固件去安装 Google 的框架,建议还是直接刷海外的固件,或者直接买海外的版本。 魅族最近的机器都很贵,且不满足 Google 全家桶的要求。 原本想买国内的小米,然后找淘宝帮忙刷成国外的版本。后来发现小米香港的 POCO 在做活动,且有适合的型号,POCO X3 Pro 8GB + 256GB,1949港币,且送一个小米手环5,就非常划算了。小米在香港卖的手机,配置不如国内的版本,很多 6GB + 128GB 的型号,可能是因为香港市场小,没能放很多的SKU来卖。 用了快5个月,简单说下这机器。 挺好用的,目前已经升到 MIUI Global 13.0.3,安卓是12。魅族在升级安卓版本方面就不如小米。Android security update 到 2022-02-01,非常赞. 默认的输入法的语汇不如搜狗的多,有很多词都没有。有时候不知道为什么,我原本认为应该删掉的字还在那里,还没搞清楚原因。 是4G,不是5G,我目前觉得4G够用了,没有墙的4G非常爽了。 120Hz 的屏幕我也没看出有啥分别。 自带的小米的应用不多,还好。 通话录音没有一个总的开关,只能每次打电话时按一下,按完后它会以粤语讲一下说现在正在录音。说是这是安卓新版本符合当地法律的要求。 Read more →

腾讯企业邮箱 SPF DKIM DMARC 设置

腾讯企业邮箱,官方的文档里没有 DKIM 的设置,只有 SPF, DMARC 的设置。那怎样设置 DKIM 呢?找那个你采购时的代理商。过个一天对方就会给你。 DKIM 是一个签名,一长串的字符。 有两个网站可以用来测试邮件的这些设置,并给出打分。 mail-tester.com mailgenius.com 也可以发一件邮件给 gmail,通过 Show Original 来查看一些设置是 PASS 还是 FAIL。 DMARC 里有一个选项,可以用来决定当验证失败后,该把它移到垃圾箱,还是拒收。 Zoho 的邮箱的文档就写得比较清楚。 Freshdesk 代发邮件的话,也得照它的系统和文档进行相应的设置。 20220716 补充 The World’s Most Abused TLDs Read more →

javascript .map 文件的作用

在用一些 js 库时,有见到 .map 的文件,搜了下它的作用 Basically it’s a way to map a combined/minified file back to an unbuilt state. 参考文章: Introduction to JavaScript Source Maps Read more →

How to Setup DKIM Record for a Subdomain

设置邮件对域名进行设置时,大部分的教程只是针对主域名。如果是用子域名呢,例如 mail.example.com。其实只要在其给出的针对主域名的设置的 host 的最后加上子域名就行了。 For DKIM - Record type : TXT Host : mailer._domainkey Value : "v=DKIM1; k=rsa; p=LONGSTRING" [SOLVED] You need to setup hostname like this SPF hostname : mail DKIM hostname : mailer._domainkey.mail 参考链接: Setting up SPF and DKIM records of a subdomain Read more →

在 Ubuntu 20.04 里配置 golang 环境

在一台全新安装的 Ubuntu 20.04 服务器版里,安装 golang 环境。 设置时区 sudo dpkg-reconfigure tzdata 安装 gcc 等工具, sudo apt update sudo apt install build-essential Golang install. 其实不用弄 go workspace 之类的东西。 https://go.dev/doc/install vi ~/.bashrc 将 go 的安装目录加入环境变量 export PATH=$PATH:/usr/local/go/bin 使其马上生效 source ~/.bashrc 将本地的证书的公钥添加到 ~/.ssh/authorized_keys 参考链接: How to Install GCC (build-essential) on Ubuntu 20.04 https://go.dev/doc/install How To Install Go and Set Up a Local Programming Environment on Ubuntu 18.04 Read more →

Flutter Dio https certificate verificate

环境:Flutter 1.17.4, Dio 3.0.9 需要去接入某服务商的API,给的接口是 ip 地址,而不是域名,对方给了个文件(root certificate file) trusted-ca-certs.pem 用来验证 https 连接。看来他们是用的自签名的证书。 根据 参考链接1 去尝试会报错,OS Error: No such file or directory, errno = 2 原因是我忘记把 trusted-ca-certs.pem 写在 pubspec.yaml 里。 最终的代码如下: Dio dio = new Dio(); ByteData bytes = await rootBundle.load('assets/trusted-ca-certs.pem'); (dio.httpClientAdapter as DefaultHttpClientAdapter).onHttpClientCreate = (client) { SecurityContext sc = new SecurityContext(); sc.setTrustedCertificatesBytes(bytes.buffer.asUint8List()); HttpClient httpClient = new HttpClient(context: sc); return httpClient; }; 参考链接: Dio https certificate verification Add Certificate in Flutter Read more →

欧盟版的 Windows 10 N 怎样录屏?

Windows 10 有个欧盟版,叫 Windows N,它没有带 Windows 录屏功能。解决办法见参考链接。但有同事表示,即便装了也还是不行。-_- 参考链接: Troubleshoot Xbox Game Bar on Windows 10 Read more →

Flutter Xcode 报错:Module ‘flutter_blue’ not found

Flutter 项目打包成 Xcode 后,会报 Module ‘flutter_blue’ not found 解决办法是:双击 Runner.xcworkspace 来打开 Xcode 而不是双击 Runner.xcodeproj 那么接下来就会问,.xcodeproj 和 .xcworkspace 有什么区别? A workspace is a collection of projects. It’s useful to organize your projects when there’s correlation between them (e.g.: Project A includes a library, that is provided as a project itself as project B. When you build the workspace project B is compiled and linked in project A). It’s common to use a workspace in the popular CocoaPods. Read more →

怎样清理 discourse 服务器的空间

环境:Ubuntu 18.04 Discourse 是用 Docker 部署的,会有些 image 和 container 没有在使用,但占用着空间,这时可以把它们清掉 cd /var/discourse ./launcher cleanup 下图是跑 ./launcher cleanup 时的提示, it will purge all images not in use. 删除完后就只剩下一个 image 和一个 container 了,那个 image 跟那个 container 是关联的 参考链接: Stuck in a loop of freeing up space and filling it up again when rebuilding Read more →