恣意生长 by Hwang - Issue #6

#6・
7

issues

Subscribe to our newsletter

By subscribing, you agree with Revue’s Terms of Service and Privacy Policy and understand that 恣意生长 by Hwang will receive your email address.

恣意生长 by Hwang - Issue #6
By Hwang • Issue #6 • View online

Hi,好久不见。上一次更新还是愚人节呢。越来越多人写 Newsletter 了 ,乐见此事。不过,我发现提供工具类型链接的 Newsletter 已经非常多了,之后的更新,我会减少相关链接的内容。
这里推荐几个:
国内用竹白的还挺多的嘛 🌚。另外,一个面向 macOS 用户的小技巧:合理(比如设定来源、时间等)使用 Smart Mailboxes,让你的邮箱管理更高效好用:
📍视角 VIEW —— 创作者经济,给独立开发的创作者提供创作工具的建议
互联网行业最近每天都是负面消息,从大厂到小厂裁员几乎成为主旋律。
行业危机常常也意味着新的机会,在众多喧闹吵杂声中,应当注意到了一些现象。在这轮经济动荡中,离开本来的企业的人会怎么样呢?绝大部分人可能是换一个东家继续努力,当然其中:
  • 一部分人也许会选择自己创业。
  • 一部分人也许会加入小团队或是创业团队。
  • 一部分人可能动身前往海外。
而还在其中的程序员们,也会开始关注如何做一些能够成为「资产」性质的开发。这部分人很多都会成为所谓创作者经济中的一环,除了成为创作者外,去创作一些东西以外,如何帮助创作者同样是一个不错的方向。
  1. 积累受众:创作者可以通过四种方式将平台上的普通受众转变为支持自己的粉丝:音频聊天类、内容通讯类、活动平台、流媒体直播。
  2. 受众变现:创作者可以通过以下几种方式实现受众变现:主要类型的平台。课程类、NFT类、社交代币类、品牌代言类、直播带货类、直接互动类。
  3. 垂直平台:以下是五个不同类型的垂直平台示例:艺术和摄影、音乐、健身、游戏、播客。
  4. 社群管理:创作者可以通过以下方式来创建管理自己的社区: 一站式管理工具、会员制或单次付费制。
  5. 创作工具:音频和视频工具、设计工具、金融科技工具、网站建设工具 (更倾向于内容创作工具)
从这5个方向入手,能够为各位提供可以切实执行的 Side job 的参考。除此之外,结合「创作者」本身的特点,在构建自己的服务时,我的建议是:
  1. 不要代入平台角色:创作者经济本身强调的是创作「者」,我们提供的工具应当是能够为创作者提供自由组合的产品。不要去做构建平台的事。
  2. 定一个对个人合理的价格:作为个体,能够承担的支出是有限度,我的建议是不要超过年付 300元人民币,换算为美元的话就是年付 50 美元。这个价钱在中美两国之间都是比较平衡的,国内是「需要考虑考虑」的价格,美国是「基本上没啥问题」的价格。
  3. 解决具体需求:需要让人明确,这款工具或者这项服务提供了什么。一样能够明白,你的产品解决的实际问题是什么,然后再解释细节。很多 SaaS 的 toB 团队,业务线庞杂,甚至都没法让潜在客户理解自己提供的是什么服务。我们需要的是简洁明晰的说明你解决的问题是什么。
举个例子:比如大多数 App 都需要用户隐私协议,绝大部分隐私协议都有国际化的需求,总体而言这是一个 SaaS 服务的范畴,但是法律类型 SaaS 公司很少会去顾及这一部分的市场。以往构思这样的服务时,人们很容易代入“我需要一个合伙人”,开发一套让法律顾问也能使用的平台,为独立开发者解决适配不同市场合规需求的平台。但是,请打住! 作为独立开发,开发一个简易的 CMS 系统,用来设置国际化的用户隐私协议模板,然后定一个一年 9.9$ 的价格,基本就能满足大部分开发者的需求。如果有了上述构建平台和一整套完整服务的想法,那么 9.9$ 的价格就几乎不可能。所以解决具体需求,我们做的只是一个托管协议的 Server,给用户 API、或者Web 的接入方式,让用户能够简单的定义国家、语言、主题样式等信息,方便接入自己的产品中即可。
最后,创作者经济也时常与 Web3 联系在一起,究其原因就是这里面多少都有「去中心化」的内涵。Web3 对于独立开发来说还是「太过前沿」(有一些骗子,有一些需要烧钱,有一些技术瓶颈比较高)了,如果有热情和能力,大家可以自行考虑。
参考:
📦 产品 PRODUCT —— Postman、Arctype 和 Warp 使用感受、一窥工具类产品的技术栈变迁
Postman 本身是一款接口请求工具,这两年融了不少钱,2020年 C 轮 1.5亿美元,2021年 D 轮又融了 2.25 亿美元。作为偶尔写一点点后端代码的产品(无论后端还是产品都有使用需求),Postman 是我最常用软件之一,基本上上班每天都需要打开它。Postman 给我的感受主要有以下几个点:
  1. 基础功能完善:提供了基本的 API 请求功能,支持 Restful、GraphQL 等类型的 API 接口,同时也有完善的环境变量、Pre-request 运行脚本等等功能的支持。
  2. API 开发流程的上下游完整支持: 如果只是基础功能,那么 VSCode 的插件也能实现这些功能,Postman 还提供许多和「接口」有关人员相关的功能,包括了诸如基于工作区的分享功能,支持直接从 Swagger 导入 API 列表,支持完善的测试流程。从前端到后端再到产品和测试,都可以通过 Postman 实现协同,同时将结果保留为 example,不懂代码或是请求逻辑的产品经理也可以很好的了解到接口数据的情况。
  3. 很难喜欢它:Postman 的 Workspace,同步容易卡顿,又会有不稳定的情况。即便是简单的复制一个接口,也要等待几秒钟。所以在产品使用体验上,有一种浓厚的「粗糙」感。与之类比,Notion 的小问题简直不是事。我用过很长一段时间的 Paw,Paw 和 Postman 就像是 Craft 和 Notion。Paw 是一款让人喜欢的应用,Native 原生开发,流程稳定,简直就是 Postman 的另一面。
综上,即便有体验的瑕疵,在团队使用的选择上,我们还是会优先考虑 Postman。这一定程度上验证了工具类产品,需要协同,需要跨平台,需要 Team Workspace。 即便是一个看起来只需要本地使用接口测试工具。
Web 技术能够非常好的满足这些需求点,只是可能在产品体验上存在妥协。
第二款产品 ——Arctype ,是数据库领域的 Postman,他是一款有 Team Workspace 的数据库应用:
是的,数据库也有 Workspace 的概念了。Arctype 同样是 Web 的工具应用,目前他还在比较早期的阶段,基本功能完整,可以作为一个轻量级的 SQL Client 使用,时常会有一些小 Bug,好在项目正在积极更新中。可以看到,Arctype 在致力于构建一个从数据库查询数据到 Dashboards 的一套利于团队协同的数据库产品。
数据库协同的场景其实也比较普遍,比如测试和研发团队的协同、运营和研发的协调等等,是Arctype 的主要场景。当然国内的 SaaS 团队时常会遇到,客户本地有测试数据库,需要团队通过远程登录访问测试数据库,但同时又有其他团队的开发也需要访问这些数据库,传统的做法就是利用运维平台的 RAM 子账号,签发给不同的团队。而 Arctype 的能够把其他人加入到 Workspace 来共同处理,由管理者链接好不同的数据库,其他使用者可以直接在上面浏览或是查询。 
Arctype 同样是旨在构建一款协同、跨平台的 、包含 Team Workspace 概念的工具产品。
最后是大名鼎鼎的 Warp,这款 「21 世纪」的 Terminal 软件,一出生就带着光环。
Warp 使用 Rust + Metal(利用GPU) 渲染 UI 的方式 构建整个软件,最终做到了「非常快」。而其自称为 「21 世纪」的 Terminal 最大的亮点是 Block 形式的 REPL 交互式命令行体验,这 Jupyter Notebook 有些相似。把 Warp 和前两个 Electron 并列是因为,这似乎是跨平台工具的一种新趋势:利用 GPU 渲染UI,实现高性能的跨平台体验。这么说,大家应该马上能想到另一项著名的跨平台技术: Flutter —— 最近的 3.0 也支持了 macOS / Linux 的桌面端。
此外,有意思的是 Warp 有一个 share block 的功能,可以把某个 block 的内容转为 web 内容分享出去。我想如果一个 Terminal App 要做企业级服务的话,那必然是在这里做文章。这个功能目前还是比较基础,开发应用本体就需要大量时间了,要兼顾 Web 的开发必然不容易。
利用原生构建 UI ,同时积极适配 Web 的热门产品其实还是有款 ——Raycast,Raycast 和 Warp 一样,积极拥抱 Web,同时又是自行利用原生框架构建 UI 。工具类产品,需要协同,需要跨平台,需要 Team Workspace ,当然也需要良好的用户体验,尤其是旨在通过 PLG 方式增长的产品。
不过如此选型的 Warp 和 Raycast 都立足于 macOS ,他们都还没有支持跨平台,又都隐晦1的说将会支持。何时能有一个明晰的商业图景也都还有待考验。
题外话,作为一款 Terminal 软件(相当有技术属性的工具),Warp 还在 TikTok 注册了账号:
这个还挺有趣的🤔…
🖌️ 设计 DESIGN —— Figma 更新 / Disco Diffusion 上手指引 / Spline 的学习资料推荐
Figma 更新
这段时间,最大的新闻应该就是 Figma 又一次进化。相关内容已经有很多的:
  1. 官方为此次更新制作的网页:https://www.figma.com/whats-new/
  2. 社区文件的中文版32个小的大更新:https://www.figma.com/community/file/1068056458794468307
  3. 草帽老师的 AutoLayout 更新详解:https://www.bilibili.com/video/BV1bY4y1t713?spm_id_from=333.337.search-card.all.click
  4. fenx 的观后感 https://designscenes.zhubai.love/posts/2137824333849636864
当然,到今天,错过的朋友也可以在这里重温
一些关于 Disco Diffusion 的上手资料
第二大热点就是 Disco Diffusion,一个 Text to Image 的模型。为了防止有人还不知道,简单来说,他就是通过文字表述生成图片。 Disco Diffusion 最终产出的效果非常好,各位应该多少都看到过成果了,其在大场面绘制上让人非常惊喜。
项目地址:
对于中文用户来说,看这个就好了:
对于设计师来说可能会有疑惑的地方:
1. 为什么链接打开来就是都是文字和代码?
因为 Disco Diffusion 其实还只是一个机器学习的模型,并不是拥有用户界面的具体产品(他们还没到找设计师设计UI界面的步骤呢),这意味着项目还在积极的迭代,可能还会更强。
2. 这个 Colab 是啥,为什么第一步就让我「Check GPU Status」,我的电脑 GPU 性能很差,是不是跑不动了?
Colab 是 Google 的一个机器学习平台。
机器学习是非常消耗 GPU 算力的一件事情,所谓机器学习平台,就是可以在上面租用临时的算力(GPU)。Colab 就是这么一个平台,相当于运算是在服务器上运行。
3. 为啥看起来就是一个文档,用它也能画图吗?
是的,Colab 的整体交互逻辑看起来很像是一个记事本。他主要分为文本、代码、执行结果几个不同的板块。这种交互就和 Jupyter Notebook 是一样的,代码前面会有一个 「播放」一样的按钮,这就是执行代码,执行后会有执行结果输出。最终就是一步一步执行下来,修改必要的参数,最后看到「AI 生成的图片」。
一些小工具
💻 编程 DEVELOP —— 分享一些代码碎片
SQL —— Oracle 使用子查询的方式分页的
Oracle 11g (2007年的产品) 的分页查询,需要使用子查询的方式实现:
先查到结束数量的数据,然后再以 ROWNUM 为新字段创建新表,再用 WHERE 筛选。 最终效果虽然能实现分页,但是又要排序(Order by)有需要查到结尾数的数据,最终的结果可能是分页到后面会越来越慢。
(😮‍💨,2022年了,还有业务涉及到 Oracle 11g … )
SwiftUI —— 为 View 添加一个描边的 ViewModifier 用来 Debug
没写 Swift 之前,比较少会去接触用 extension 去扩展框架的功能,第一次看到这种解决方案,我还以为是因为 SwiftUI 框架不完善,需要自己去处理🤦‍♂️。但是没写多久 Swift 就遇到诸如日期处理之类的问题,查 Stackoverflow,经常推荐的方法都是直接 extension Date。 
这是我写 SwiftUI 中,用的最多的 extension,使用 .debugStroke() 来绘制容器的轮廓,其实还可以再优化一下,例如添加可选参数,设置描边颜色或是线条粗细之类的。
SwiftUI —— 为 NavigationView 添加 Title 的底色
SwiftUI 默认的 NavigationView 样式,无法调整顶部 Title 的背景样式,用这个可以 hack 一下。其实就是在 init 的时候,设置一下 UIKit 的额一些样式… 怎么说呢,SwiftUI 还是要继续努力呀(也可能是我没学明白🫡)。
CSS 元素居中的一种写法:
CSS 中的 place-items 是一个简写属性 ,它允许你在相关的布局(如 Grid 或 Flexbox)中可以同时沿着块级和内联方向对齐元素 (例如:align-items 和 justify-items 属性) 。如果未提供第二个值,则第一个值作为第二个值的默认值。
其他
  • Fuck-gfw: 提供了常用命令行工具的代理设置方式;
  • 如果你在写 TypeScript,那么多少会知道一些 类型体操的事情,推荐这个 Up 主的视频
  • Universe of UI elements :这个网站提供了很多的基础组件的代码示例,没事的时候可以照着敲一敲,学习一下 css。和 CodePen 差不多,不过人家都整理好了,方便练习。
  • SwiftUI Examples for Designers:提供很多 SwiftUI 的样例,以及对应的源码。SwiftUI 每个版本都有一些较大的 API 的改动/新增,所以查看第三方代码的时候还是要注意一下时间。 
  • 鼠标事件的增强包,可以做一些有趣的鼠标样式。 https://github.com/Cuberto/mouse-follower
  • Partytown是一个非常酷的js库,它可以让你在web worker运行第三方库,这样可以极大的减少UI主线程的阻塞。
  • Rauno 的博客发现了这个, element(),一个只有 Firefox 支持的 CSS 属性。Minimap 效果真不错,未来可以用来实现之前说的“无限的画布”的浏览器体验。
  • https://uiw.tf/minimap
  • https://developer.mozilla.org/en-US/docs/web/css/element
Ending
恣意生长是一份自我观察的 Newsletter。如果不输出,那么输入会显得不那么有意义,自大地以为自己“无所不知”。所以做一份 Newsletter 似乎会是一个审视自己的好机会。这份 Newsletter 会为读者提供个人的关于视角/产品/设计/编程 四个方向内容的思考和感悟,他们会是杂糅而又恣意的。
感谢阅读,欢迎回信,敬颂时祺。
Hwang 📝 5月23日 📍 杭州 6/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