走过 2022

“听过很多道理,依然过不好这一生”。每年写年终总结也是。但是审视自己在过去一年的表现依然是必需的。“吾日三省吾身”,更好的当然是每天都有所反思。世间很多事都离不开反馈,写总结就是一个很好的反馈。

经历了过去荒诞的一年,对很多事都无可奈何。22 年最后一天还得知初中同学因抑郁离世的消息,悲痛和无力。

工作

工作上没有太大长进,按部就班。

年中换了新工作,见识了新系统的玩法。不是所有的系统都是大流量高并发,设计时考虑的东西也不相同。以前接触的系统大都是无状态,失败了最多重试下。到有状态系统时,失败了还得考虑如何自愈。

另外,时常看到接手的代码很烂,但是为什么垃圾代码能替公司挣钱,是值得深思的问题。

技术分享

下半年我把博客迁移到了 cloudflare,把内容维护到了 github,不再关心博客跑在哪个机器上了,专心写好内容。然而也没写出什么精彩的内容,惭愧。

上半年,在 Go 夜读四周年上直播分享了笔记软件 Roam Research 的一些用法,第一次尝试做非技术的分享。之后,在新公司做了两场技术分享。《Go channel 的原理探索》、《Go 服务线上问题定位与优化》,量感觉不太够。想起去年还在 Go 夜读知识星球做过几次技术分享,今年一次都没有。

基本没写过什么源码分析的文章了。思想有了转变:视野应该放得更开阔一点,更多关注特定业务下的系统架构,关注如何实现。不要动不动就翻源码出来,很容易迷失自己。

生活

去年还经常去公司旁的泳池打卡游泳,今年的形势急转直下,年初游过几次后再没机会了。今年居家隔离 4 次,总长一个多月。

居家办公做菜做得挺多,起码做得自己喜欢吃了,一个缺点是做得太好吃导致经常吃多。

我和长坤合作的《Go 程序员面试笔试宝典》上市,这也是今年的一个大事,算是一个阶段性的总结吧。

今年开始学曹大把读书的记录记录到博客里了。比较认真看的技术书是两本:《gRPC up and running》、《100 mistakes》。其他看的都是非技术书:《沟通的方法》、《鱼刺与花椒》、《如何学习》、赵赛坡《数字笔记》、《认知觉醒》、紫金陈的几本推理小说、《我曾走在崩溃的边缘》、《十个词汇里的中国》、《微信背后的产品观》、《把你的英语用起来》、《饥饿的盛世》、《可能性的艺术》、《生命的反转》、《见识》、《态度》、《金字塔原理》。

APP

推荐几个常用的 APP,希望对大家有点用。

youtube

上半年看 b 站更多,主要是娱乐内容。年底开始重度使用 youtube,上面的严肃内容个人感觉更专业。以前看英文视频的时候总要开实时字幕,遇到不懂的要停下查词,无法开字幕的会选择不看。现在相反,全程不开字幕,感觉听不太懂的直接换下一个视频。有些视频是手动嵌入字幕,这种不看。这样听下来,GTD 领域内的一些内容竟然也能听懂个七七八八了。

things 3

去年在长坤的影响下,开始用 things 3 管理项目和任务。后来发现堆积太多任务了,玩不动了。于是,一会儿在 Roam Research 里尝试任务管理;一会儿又听人说滴答清单很好用,切换到滴答清单;一会儿又改到飞书文档上管理……总之是一顿折腾,任务管理系统就崩溃了。

年底在 youtube 上看了很多 things 相关的视频后,意识到之前的用法不太对,不是 app 不好用,是我没用对。那种尝试各种 APP 的操作并不是真正地以完成任务为中心,只是把它们当成了玩具。我们应当用好手上的工具,完成自己要做的事情。

Raycast

55eff89515a8bdde2428ed259a2cf0ce.png

Raycast 对个人用户免费,从 Alfred 切换过来,非常丝滑。我常用的功能是 QuickLinks、Floating notes。QuickLinks 可以用来快速打开对应的网址,比如作为程序员一天要打开 N 次上线系统,用关键字 deploy 来指定,就能快速打开。也可以定义我经常打开的博客,敲几个字符就能打开,非常酷炫。

5385a3c70374c2b59a42f3d3f83e2c1c.png


后记

看过各种年终总结,常常惊叹于他们为什么能做那么多事。对比下来发现自己落后不少,只能是来年再加油了。这也是一个写总结的好处吧:不至于浑浑噩噩过完一年,却未曾发现有什么问题。

少楠说:焦虑的原因是事务性时间过高,而创造性时间过少。我们应当把时间更多地给机会,而不是给问题。解决问题只是恢复常态。

最后,愿大家在新的一年重新出发。

资源下载链接为: https://pan.quark.cn/s/f989b9092fc5 在 Android 应用开发中,开发一款仿 OPPO 手机计算器的应用是极具实践价值的任务,它融合了 UI 设计、事件处理以及数学逻辑等多方面的技术要点。当前的“最新版仿 OPPO 手机计算器--android.rar”压缩包中,提供了该计算器应用的源代码,这为开发者深入学习 Android 编程提供了宝贵的资源。 UI 设计是构建此类计算器应用的基石。OPPO 手机的计算器界面以清晰的布局和良好的用户交互体验著称,其中包括数字键、运算符键以及用于显示结果的区域等关键元素。开发者需借助 Android Studio 中的 XML 布局文件来定义这些界面元素,可选用 LinearLayout、GridLayout 或 ConstraintLayout 等布局管理器,并搭配 Button 控件来实现各个按键功能。同时,还需考虑不同分辨率屏幕和设备尺寸的适配问题,这通常涉及 Density Independent Pixel(dp)单位的应用以及 Android 尺寸资源的合理配置。 事件处理构成了计算器的核心功能。开发者要在每个按钮的点击事件中编写相应的处理代码,通常通过实现 OnClickListener 接口来完成。例如,当用户点击数字键时,相应的值会被添加到显示区域;点击运算符键时,则会保存当前操作数并设定运算类型。而对于等号(=)按钮,需要执行计算操作,这往往需要借助栈数据结构来存储操作数和运算符,并运用算法解析表达式以完成计算。 数学逻辑的实现则是计算器功能的关键体现。在 Android 应用中,开发者可以利用 Java 内置的 Math 类,或者自行设计算法来完成计算任务。基本的加减乘除运算可通过简单的算术操作实现,而像求幂、开方等复杂运算则需调用 Math 类的相关方法。此外
### CSP-J 2022 T4 解题思路 针对CSP-J 2022年的第四题,题目涉及地图探险问题。此题的核心在于模拟转向和移动过程,并使用`vis`数组来标记已经走过的路径[^2]。 具体来说,在处理该类问题时,通常会定义方向向量用于表示上下左右四个可能的移动方向。每次读取指令后,根据当前的方向调整坐标位置并检查新位置是否超出边界或已访问过。如果遇到障碍物,则应停止前进并改变方向继续尝试其他可能性直到完成所有命令为止。 为了更高效地解决这个问题,可以采用如下策略: - **初始化设置**:建立一个大小适当的地图矩阵以及相应的布尔型访问标志矩阵`vis`。 - **输入解析**:逐行读入数据,提取出起点坐标、目标终点坐标以及其他必要的参数信息。 - **核心逻辑实现**: - 利用循环结构迭代执行每一步操作; - 更新当前位置的同时也要同步维护好访问状态; - 特殊情况处理(如撞墙后的回退机制)。 - **结果输出**:最终判断是否到达目的地,并按照要求格式化输出相应答案。 下面给出一段Python代码作为参考实现方式之一: ```python def explore(maze, start_pos, end_pos): directions = [(0,-1), (1,0), (0,1), (-1,0)] # 定义左下右上的顺序 rows, cols = len(maze), len(maze[0]) vis = [[False]*cols for _ in range(rows)] cur_dir_idx = 0 x,y=start_pos while True: nx, ny=x+directions[cur_dir_idx][0], y+directions[cur_dir_idx][1] if not ((0<=nx<rows and 0<=ny<cols)): break elif maze[nx][ny]=='#' or vis[nx][ny]: cur_dir_idx=(cur_dir_idx+1)%4 else: x=nx y=ny vis[x][y]=True if (x,y)==end_pos: return "YES" return "NO" if __name__=='__main__': n=int(input()) maze=[input().strip() for i in range(n)] sx,sy=list(map(int,input().split())) ex,ey=list(map(int,input().split())) print(explore(maze,(sx-1,sy-1),(ex-1,ey-1))) ``` 这段程序实现了基本的功能需求,即通过给定迷宫布局、起始点与结束点的位置来进行探索旅程仿真计算,并返回是否存在一条合法路径能够成功抵达指定地点的结果字符串["YES"/"NO"]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值