View profile

恣意生长 by Hwang - Issue #4

恣意生长 by Hwang - Issue #4
By Hwang • Issue #4 • View online
Hi,好久不见。本期间隔时间稍微长了一些呀,因为最近都比较忙,工作也比较忙,自己的小项目也遇到了些困难。不过好在方向都是好的,做自己愿意做的事情,总是快乐的。

引言
Hi,好久不见。本期间隔时间稍微长了一些呀,因为最近都比较忙,工作也比较忙,自己的小项目也遇到了些困难。不过好在方向都是好的,做自己愿意做的事情,总是快乐的。
这段时间我听了几期感觉还不错的播客,推荐给大家:
说起来,大家最早是什么时候开始听播客节目的?我印象中自己听播客的顺序大概是《科学脱口秀》、《友的聊》再到 李如一老师 及 IPN 的节目。
产品 —— 聊聊微软 与 Linux
macOS 因为命令行友好,Unix 环境,以及相当不错的 GUI 体验而被广大开发者推崇。反观 Windows,无论是 CMD 还是 PowerShell 对于开发者来说都算不上优秀。不过随着 WSL (Windows Subsystem for Linux)的推出,微软通过子系统的方式,为 Windows 开发者带来了完整的 Linux 的体验。
Windows with Linux
Windows with Linux
Windows Subsystem for Linux 是一个非常有趣的产品。对于开发者而言,通过 WSL,可以很方面的调用 Linux 上的各种命令,无需在额外安装 Cygwin 之类的为 Windows 提供类 Linux 环境的软件,抑或维护单独的虚拟机环境。只需开启 WSL 功能,再选择自己喜欢的发行版本即可。
在 2001 年,时任微软 CEO 的鲍尔默称 Linux 是癌症。那时的微软主要业务是 Windows 和 Office,这些商业软件与免费的开源软件是直接的竞争对手。
via: https://www.azquotes.com/quote/665224
via: https://www.azquotes.com/quote/665224
在微软现任 CEO 纳德拉上台后,「云为先」的战略指导下,微软逐渐转型为云计算公司,Azure 的 CTO Mark Russinovich 曾表示,Azure上运行的虚拟机有四分之一是 Linux 操作系统,在云计算这个领域,开源和 Linux 几乎是唯一选择。时间拨回到2015年,微软将自家的 .NET Core 带进 Linux 家庭,纳德拉喊了那句 「Microsoft loves Linux.」,并且之后微软真的发布了自己的 Linux 发行版。
via https://www.theverge.com/2016/9/15/12926288/microsoft-really-does-love-linux
via https://www.theverge.com/2016/9/15/12926288/microsoft-really-does-love-linux
从2001年到2015年,微软将 Linux 称为小偷转变为公开示爱,这中间是移动互联高速发展的十年,也是微软迷失在移动浪潮的十年。 Windows CE 到 Windows Mobile,再到 WIndows Phone,微软在用互联网几乎没有胜战。而这十年, Google 却凭借基于 Linux 的 Android 系统成为了与 iOS 分庭抗礼的操作系统。免费开源,占领市场的行为从 Linux 之于云服务到 Android 之于移动互联网都得到验证,很难说这些事实没有启发到微软。得益于 Windows Subsystem 的支持,最新推出的 Windows 11 也能够支持 Linux 的特别版本 — Android 软件在其中运行。
设计 - 人物: Edward Hopper 爱德华·霍普
爱德华·霍普
爱德华·霍普
本期设计想聊聊这位艺术家,Hopper 最著名的画作当属于 1942年 创作的《夜游者》,最近上映的《新蝙蝠侠》这最后找到谜语人的一幕,在构图上就能明显感觉到致敬这幅名作。
Nighthawks
Nighthawks
“最切中要害的辛酸,不停重演的美国孤独感的浪漫形象。”
《夜游者》油画作于1942年,这一年日本偷袭珍珠港,美国向日本宣战。城市中的人们所能感受到的就像画中被夜晚放大的情绪 —— 不安与不确定。繁华的都市生活似乎就在身边,街道与室内的灯光的强烈对比,画中人眼神都自顾自的看着各处,没有喧闹没有嘈杂有的只是能够感同身受的不安。
Hopper 的画作以描绘寂寥的美国当代生活风景闻名,建筑、人与光影是 Hopper 绘画的重要主题。就像中国的写意山水一样,Hopper 的画作强在构建一种「氛围」,这种氛围是能够让人沉浸其中。
一些关于 Hopper 的事实:
  • Hopper 年轻时,受到了严格的浸信会( Baptist )的教义熏陶。
  • 曾经 Hopper 希望成为一名造船师,不过在父母鼓励下从事了艺术行业。
  • 在完成早年教育后,他曾经前往欧洲三次,主要研究欧洲新兴的画风,但他舍弃了当时立体主义画派的抽象潮流,走向写实画派中的理想主义(idealism)。
  • Hopper 的画作常常绘制建筑,并且喜欢绘制建筑侧面的阳光。
  • Hopper 稀疏寂寥的绘画风格还影响了希区柯克的电影创作。
  • 纽约佳士得2018年11月拍卖,Hopper 的《中餐厅(杂碎)》以9593.75万美元成交,折合人民币以6.672亿元成交。
  • Hopper 在四十一岁时与妻子结婚,婚后在新英格兰乡下和海边,夫妻俩几乎过着隐士般的生活。
更多关于 Hopper 的信息:
编程 - 用 GitHub Action 做 Flutter 项目都 CI/CD,自动发布到 TestFlight 上
之前团队的 CI/CD 都是在 GitLab 上跑的,最近因为种种方面考虑,我们把主要的代码仓库迁移到了 GitHub 上,自然的 CI/CD 也是要做迁移的。前后端部分,因为都是 Typescript 大家都比较熟练,没有遇到什么问题。这里可以展开介绍一下 Flutter 部分的。
CI/CD 就是通过命令行工具,完成项目的构建的自动化流水线。在这里我们会用到的命令行工具主要是:
  • flutter: flutter官方的命令行工具
  • xcodebuild: Xcode 的命令行工具
  • altool:苹果官方的上传工具
如果对上述工具不熟悉,可以参考给出的链接文档。
GitHub Action 提供了 Ubuntu、macOS、Windows 等系统的虚拟机运行环境,最需要在 runs-on 中注明即可,在费用上,GitHub 保持一贯的大度,开源项目是免费构建,私有仓库提供 2000 分钟的免费时长,超出部分将收费。收费标准根据不同类型的虚拟机收费不同,其中,macOS 是 ubuntu 的 10 倍收费…
在这个流程实现上,主要参考是:
并没有通过 Fastlane、Jenkins 之类的第三方 CI\CD 工具。所有过程都只需要 GitHub Action 即可完成。
其中,相对而言比较复杂的其实是证书相关的知识。其中包括:
  • .P12 证书:从 keychain (钥匙串)中导出的文件
  • provisoning_profile,从 Apple Develop 后台到处的文件
  • 以及 APPSTORE_API_KEY_IDAPPSTORE_API_PRIVATE_KEYAPPSTORE_ISSUER_ID
除了证书文件,这里还有一件事就是自动升级构建版本。
使用 extract-version-from-tag-action 这个的Action,既可以在 git tags 中获得MAJOR \ MINOR \ PATCH 等变量,以及 NUMBER_OF_COMMITS ( commits 的次数)NUMBER_OF_COMMITS_SINCE_TAG (上一个 tag 到目前的次数)这几个变量信息,就可以用于设定版本提升了。(该项目代码里我们采用了修改 info.plist 的方案,而非直接读取 flutter 的版本号,这里大家可以自行斟酌)
最后,发送到 TestFlight 之后,还会发送一条通知消息到飞书。
题外话,最近一直在招聘 Flutter 开发,明显感觉原生开发很多都开始往跨平台方向转,并且新人很少,反之前端开发还是挺多的。
最近读了啥
Design
Develop
Others
恣意生长是一份自我观察的 Newsletter。如果不输出,那么输入会显得不那么有意义,自大地以为自己“无所不知”。所以做一份 Newsletter 似乎会是一个审视自己的好机会。这份 Newsletter 会为读者提供个人的关于视角/产品/设计/编程 四个方向内容的思考和感悟,他们会是杂糅而又恣意的。
感谢阅读,欢迎回信,敬颂时祺。
Hwang 📝3月31日 📍 杭州 4/100
Did you enjoy this issue?
Hwang
By Hwang

恣意生长是一份自我观察的 Newsletter。这份 Newsletter 会为读者提供个人的关于视角/产品/设计/编程 四个方向内容的思考和感悟,他们会是杂糅而又恣意的。

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue