Hi 各位好,我是咸鱼。第一次尝试动笔,总结过去的一年,也算一种奇妙的感受吧。
咸鱼
我的 ID 是 “FunnySaltyFish”,直译过来是 “风趣的咸鱼”,或许 “滑稽的咸鱼”。这当然带有一点自嘲的属性。做一条咸鱼代表着我的生活态度:不做方案、没有规划、过一天是一天;但也有另一方面:也不能一直躺着,躺久了这一面就糊了,总该翻翻身,做点什么。所以便想想回忆一下,看看过去一年终究是做了些什么。
掘金
如果翻看我的文章列表,第一篇的时间定格在2020年8月。那是我首要混迹于 C**N,偶尔间了解到掘金这个渠道,所以便顺手注册了个账号,丢了两篇文章过来。现在回过头看,那两篇文章都创造于我的高中时期,仍是用手机码出来的,言外之意承载着属于年轻人共同的骚气,也算是某种程度的黑前史了(笑)。
正式开端在掘金写作要到 2021年7月,那时恰逢 Jetpack Compose 发布 Beta 版,我开端接触这一新技能。彼时国内关于这方面的中文材料十分少(能够说是几乎没有),而我又受够了 C**N 漫天废物的气氛,所以便跑到之前偶尔注册的掘金,想着看一看。令人惊讶的是,我之前随意投稿的两篇文章居然都被引荐上了首页,取得了远多于 C**N 的阅览量。看着掘金优秀的技能气氛,我开端了在掘金的投稿之路。
回到本年,不算这篇,我总共写下了 22 篇文章。年度报告给我的数据如下:
在年度报告出来后,我又写了一篇,因而数据差了一篇
在这 22 篇中,16 篇内容都是关于 Jetpack Compose ,毫无疑问占有了最大的块头,占比达 72% 。这之中我自己觉得最风趣的是 JetpackCompose自定义布局+物理引擎=?,成功完结了我高中时萌发的想法,把物理引擎和自定义布局结合在了一起,做出了下面这样的作用
其他的文章大多集中在 Jetpack Compose 入门及以上的常识,比方写了 5 篇的自定义布局系列、一些新功能(如 LazyGrid、瀑布流等)的介绍,还有两篇介绍自己写的开源库,几篇性能优化和调试(已过期,AS提供了)还有其他杂七杂八的。
剩余的文章中,两篇阐述我自己对 Kotlin 高雅代码理解的文章: 写出高雅的Kotlin代码:聊聊我认为的 “Kotlinic” 和它的续文是最本年我的文章中阅览量和点赞数最多的,也或许也证明了偏根底和大众化的文章更简单取得阅览量。一起也很感谢 @fundroid 大佬对此文的肯定,将其录入到了他的公众号 AndroidPub 中。这是我初次获此殊荣。这儿也给我们引荐一下这位大佬,写的文章质量都很高。
最终的 4 篇文章,两篇介绍言语的新变化(Python 3.11.0 和 Kotlin 1.7.0),均是来自官方文档和相关英文介绍;剩余两篇别离写了写 Python 的 Type Hint 以及 目标检测的几篇论文 ,后者改自某门课程的大作业,和我的老友 @Zee(他不在掘金) 共同完结。
总的来说,本年的文章首要以 Jetpack Compose 为主,这也是我这一年首要的技能点。我的大部分文章相对来说都写的是较新的技能,许多直接参考自英文的博客、视频、文档;事实上,创造它们的缘由便是我偶尔间读到这些十分不错的英文材料,正好没什么事干,就动笔开端把它们写成中文,并在有时加上自己写的一些代码作为弥补。这中心其实有些困难,有些新技能因为没有中文文档,没有对应的中文译文,所以我要尝试自己翻译专有名词。形象比较深的是 Kotlin 1.7.0 的 ” T & Any” (definitely non-nullable types),我很纠结是翻译成 “肯定非空”、“定然非空”、“断然不可空”、“肯定不是空”或许其他乱七八糟的词汇,最终为了不引起歧义,挑选了直白的 “明确非空” 写在了文章里,当然后边来看,这个似乎和官方译法有差异,不过应该能表示出它的意思。
就我自己来说,大部分文章的创造时间在 3-6h,这包含写代码、写文章、调格式等,有少数文章写的十分久(图像识别那篇写了3天,Kotlinic 那篇则写了一星期),当然也有一些比较短的,一个多小时就写完了。总的来说,它们质量还算勉强能够。我也很高兴在 11、12 两月上了两次“掘金一周”,感谢官方的认可。
本年有许多活动,我自己也参加了不少,比方金石方案等;但每个活动写的文章都不算多。一方面是自己比较懒,另一方面在于,我内心里仍是觉得,在掘金写的文章,起码要对文章质量担任,不能为了拿钱、拿东西、拿奖品而水。我信任我们相聚在掘金,有不少原因是因为厌恶了互联网搜索时漫天的C**N抄袭、复制、连格式都粘贴不全的废物、厌恶了各内容农场不分质量、不分版权的任意爬取、厌恶了所谓技能大V贩卖焦虑、营销卖课的商业文章。相较而言,掘金至少是一片技能人的乐园。
写这段话的时候,我正在看“金石方案(2)”的开奖表格,惊讶的发现“优质挑战-瓜分名单”中居然有不少不通过的文章,它们的理由包含“一篇分为多篇发”、“非原创”、“非技能文”,乃至还有一长条的“凑字数”,未免令人咂舌。当我参加这个活动投稿时,我在想自己的文章会不会有点水,这儿写的是不是有点歧义,这篇文章是否有其他人写过并且写得更好。我秉持着朴素的态度:“金石”代表着茫茫砂砾中的点点金芒,而不是漫天废纸中的其中一张。作为 LV4 的创造者,我个人认为,已然要为这广袤的中文互联网留下自己的印记,那仍是该留点有价值的;至少不能让后人看着,内心只要骂娘。
写到这儿突然想来句声明:我并非孤高的标榜自己的文章有多么多么好,事实上,它们或许只能算是能看的程度;我也很少会对自己写的东西做逐字逐句的校正和修正,仅仅保证整体没有大错误 (以我其时作文的常识水平)、格式根本正确、根本没有错别字就发了。但至少我骄傲的一点是,到现在为止,从我来到掘金写的 32 篇文章,每一篇都被引荐了。也很感谢掘金审阅人员对它们的认可,这也是我坚持在掘金作文的原因之一。
开源
自己的
第二个 Part 便是开源,上文也提到,我本年首要的技能点首要都在 Jetpack Compose ,因而做的也是这方面的内容。毕竟从小心思来说,现在 Jetpack Compose 做的人比较少,说不定做成的概率大一些。现在来看,我写的有关这方面的开源库包含如下的:
- FunnySaltyFish/ComposeDataSaver: 在Jetpack Compose中高雅完结数据耐久化:用于把数据耐久化的读/写进程与 State 绑定在一起,本年提交了 28 次 Commit,保护了 6 个版本,现在有 18 个 Star
- FunnySaltyFish/JetpackComposePhysicsLayout: Jetpack Compose custom layout that simulates physics using JBox2D 上文提到的把 物理引擎和 Jetpack Compose 自定义布局结合起来的布局,现在有 9 个 Star
- FunnySaltyFish/CMaterialColors: Compose Material Colors – All you need to use Material Colors in Jetpack Compose projects! | 在Jetpack Compose中运用MaterialDesign Color :十分简略的根底库,包含了一切 Material Design 的色彩,便于在 Jetpack Compose 中运用,现在有 10 个 Star
这么一总结发现也没啥特其他,这些 Star 虽然在大佬严峻仅仅毛毛雨,但对我来说,每一颗都是来之不易,都是陌生人对我项目的认可,这也是我保护它们的动力。
放一张我稀稀疏疏但是又似乎也不少的 Github 提交图
他人的
除了自己写,我也尝试参加了其他一些开源项目。最感谢的便是 compose-museum/jetpack-compose-book ,这是 Compose 中文社区保护的 Jetpack Compose 中文学习文档,在这儿我收成了第一份被 Merge 的 PR。我也为这个项目带去了 Docker-Compose 的部署方式、自建镜像站 以及部分文章的更新。开源万岁!
其他为 leavesCZY/Matisse: 一个用 Jetpack Compose 完结的图片挑选框架 尝试提交了份 PR,但很遗憾因为写得不成熟并未合入,之后我陷入了一段时间的忙碌未再补完;为 cgspine/emo: some android libraries to speed up development. 、Kotlin Android Plugin、Jetpack Compose 提交了几个 Bug。这些零零星散的,写在这儿权当记录了。
活动
很有幸的是,受 @fundroid 大佬的邀请,我参加了本年 GDG 北京举办的 “谷歌开发者节2022”,并在 Compose Camp 中有幸成为了“评委”。
更重要的是有幸在现场见到了几位大佬,同他们做了交谈。尽管技能拔尖、经验丰富,大佬们也依然保持着和蔼可亲的态度,同我们亲热交流,耐性的解答台下参加者的问题。我觉得这估量是技能人世的特有的某种气氛吧,再华丽的揄扬也比不上手敲出的几行代码,”Talk is cheap, show me your code”。
我也听了两位大佬 @bennyhuo 和 @朱涛的自习室 别离带来关于 Android项目优化 和 Android XR 元国际相关的讲演,学到了不少常识。两位佬在各自范畴上的专业也令人敬服。不过感觉比较遗憾的是,鉴于现场讲演台方位的摆放,有部分 PPT 并看不清;其他我个人感觉讲演者能够更多一些,每位讲演者的内容做精炼,类似于 Android Developers 发布的 5 quick animations to make your Compose app stand out 这一系列视频,以 5 – 20min 的形式简练、清晰的介绍某个特定主题,这样在总时长不变的情况下或许能更丰富?仅仅点浅显的想法,写在这儿仅供讨论。
项目
译站
FunnySaltyFish/FunnyTranslation: 基于Jetpack Compose开发的翻译软件 是我现在坚持保护的小项目,简略来说是一个翻译小软件,也是一个开源项目,发布在了 酷安 (coolapk.com) ,截止写文时有 7899 个下载(以及其他约 1000 次使用内更新的)。天然,对许多大使用来说,这点下载量连零头的零头都不到,对我来说确,这是过去三年的见证。
译站诞生于我的高中时期,其时脑海里有好几个想法,但碍于学业繁忙,都没有能力完结。某一天,我偶尔蹦出了这样的想法:能不能够把一个源文本丢给几家翻译软件进行翻译,并把成果汇总,这样也有助于横向比照。我其时觉得这事儿简略啊,就一个 for 循环的事,能够写!所以,在接连捣鼓了几个周日后,译站的第一版诞生了。
保护到现在,译站的定位其实变成了我学习技能上的练手项目。我信任我们许多有感受,学习技能,总是要着手才学的踏实。对我而言,这个着手的使用便是译站。几年过去,译站也从 Java+View,Material Design,无后端
逐步变成了现在的 Kotlin+Compose,Material You,有后端
。它也逐步变成了一个开源项目,期望对那些学习 Jetpack Compose 的同学有所协助。
提到后端,本年首要的更新也就在后端上。作为个人开发者来说,做使用天然是全揽。从购买服务器、购买域名、装备域名解析,到编写 Flask 代码、nginx 反代,到数据库的装备与衔接,再到后边装备 https、cdn、对象存储……属所以学习了许多。到现在,译站的后端有用户体系(包含发注册邮件、找回用户名、找回暗码等),支持指纹登录,中心接口做了简略的校验,对某些反常调用有简略的 Limit 处理。固然以各位观众的目光来看,这些代码很简单、很简略,不必考虑高可用、高并发,与实际生产环境还有天差地别;但对于我来说,看着自己(和 Copilot)敲下的代码一行行完善这个体系,也仍是蛮有成就感的。
网页
除了保护一个 Android 使用 + 对应的后台外,我本年还因为本身需求,开发并保护着两个网页。一个是能够快速摘要网页链接的 网页引用生成器、另一个则是以奇特办法做论文降重的:咸鱼的论文降重器。
杂七杂八
除此之外,因为各种原因,我本年乃至还零星地写了些 Vue3+TS 、SpringBoot2 的代码,作为一个业余的开发者,属所以写的很杂了。太凌乱的技能栈也不大好,总之仍是要得有自己通晓的某项,留给今后加油。二者现在和译站一样,都是免费的为爱发电产品。
其他呢
上面差不多便是我的年终总结了。你或许会说,不对呀,他人的年终总结说一说找工作、保研、生孩子、买房买车、旅游……怎样你这都没有?
怎样说呢?我很喜欢乌贼小说《诡秘之主》里的主人公,他是守夜人克莱恩,也是“国际”格尔曼,也是富豪道恩,也是魔术师梅林。或许这样不同的身份有助于协助自己划清鸿沟。正如最初所言,我是“咸鱼”,所以写写“咸鱼”这一年干的事,其他嘛,限于篇幅就跳过吧(笑)。
Flag
我没有立过 Flag,本年不如尝试立一下
- 保持健康,健康最重要
- 提高英语水平,尤其是传闻方面
- Jetpack Compose 写 10 篇原理性文章
- 总 Github Stars 争夺到 300(现在 134)
- 在 Stack Overflow 上多回答问题,争夺有必定名气
- 继续保护当时的项目
「回忆2022,展望2023,我正在参加2022年终总结征文大赛活动」