1.本周热题

暂无

2.组内分享

1. 设计模式系列第二期:观察者模式

有一个模式可以帮你的对象知悉现状,不会错过该对象感兴趣的事。对象甚至在运行时可决定是否继续被通知。 本文会一并介绍一对多以及松耦合。有了观察者,你将会消息灵通。

2. 补充上次分享的 Network 调试工具的一个小技巧

当我想重新发送一个网络请求时,我该怎么做?

3. Git 常用技巧

当前,众多开源软件源代码都托管在 GitHub 平台上。即便不是如此,绝大多数软件源代码也是基于 Git 来做版本管理的。 因此,对于参与开源社群的非技术人员,或者首次参与协同开发的工程师来说,正确地配置 Git 和掌握常用技巧,就是能否适应开源协同工作流程的第一道门槛。

3.好文推荐

1. 超实用的 Git fixup 神技 – 一键修复任意commit

清晰的 git message log 有助于帮助我们了解每次代码提交的作用,便于程序员对提交历史进行追溯,了解发生了什么情况。而 git 的各种命令太繁琐实在是记不住怎么办呢?

2. collisions

讲解和演示哈希冲突的项目。包含了攻击介绍、演示文件和示例代码,快速理解 MD5 消息摘要算法的弱点,比如两个不同内容的文件生成相同 MD5 值。

3. Web 应用架构的下一个转变

今年有一个感觉, 即Web应用的方案越来越成熟了, 随着浏览器CacheAPI, Wasm等技术的演进, CDN的加速, 浏览器端的应用越来越强, 体验越来越好. 现在有一些生产力应用, 已经可以免安装直接使用浏览器, 比如业内顶级的设计协同工具Figma. 当然, 要开发出这样的Web应用, 对于开发者的能力要求还是很高的, 挑战亦是机遇. 本文就给大家介绍了一当下一些主流的Web应用架构, 并分析了对应的优劣.

4. 2022 Web 年鉴 — JavaScript

JavaScript年度使用报告, 文章从多个维度分析了 2022年JS的使用情况: 比如一些新的语法特性的使用率, 各大开源框架的使用占比等(即使是2022年, JQuery依旧是被使用最多的JS库).

4. 实用工具

1.PPTist

基于 Vue3.x + TypeScript 的在线演示文稿(幻灯片)应用,还原了大部分 Office PowerPoint 常用功能,实现在线PPT的编辑、演示。支持导出PPT文件。

在线体验地址:https://pipipi-pikachu.github.io/PPTist/
image.png

2.jsoncrack.com

该项目不是简单的展示 JSON 数据,而是将其转化为类似脑图的形式,支持放大/缩小、展开/收缩、搜索节点、导出图片等操作,还可以快速部署成服务。

image.png

3.tldraw

这是一个”麻雀虽小,五脏俱全“的绘图工具,支持插入便签、保存进度、生成图片、多人协作等实用的功能。

image.png

4.ImHex

保护视力的十六进制编辑器。面向逆向工程师和程序员的编辑器,可用来查看、解码、分析和编辑二进制数据。它功能丰富、界面炫酷、多彩高亮,而且项目更新积极,比如最初不支持中文路径的问题,现已解决可正常使用。

image.png

5. 计算机系列丛书

一个免费的电子书收集网站(需要科学上网), 收纳了很多很多书籍, 这里给出了计算机相关的书籍列表 喜欢看书的同学可以关注一下

image.png

5.行业前沿

1. 明年 2 月起,微软 Win10 系统将永久禁用 IE11

一个时代终于要落幕了. 可见, 微软基于 chromium开发的 edge, 是取得了预期的效果.

2. 「袋鼠云」获过亿元C+轮融资,构建国产自研产品体系

今年,袋鼠云对旗下产品进行全方位规划升级,构建了四大全新产品体系:一站式大数据开发与治理平台“数栈DTinsight”、低代码数字孪生可视化平台EasyV、数据智能分析与洞察平台“数雁EasyDigit”和极速湖仓引擎“数驹DTengine”,在储存计算、开发治理、数据可视化及数字孪生和数据应用多个层面助力更多企业一站式完成数字化转型

企业微信截图_16673502243740.png

3. 低代码独角兽Retool启示录:只给程序员提升效率,每半年估值翻倍

成立于2017年,Retool是以低代码的形式帮助开发者构建内部工具、可视化设计或与任何数据库或API交互的开发平台。目前包括亚马逊、奔驰、DoorDash、Snowflake和Brex等公司在内的数千个团队正在围绕Retool定制的应用程序进行协作,以解决内部工作流程. 本文,36氪将从产品市场匹配度、融资策略、技术壁垒等角度,分析Retool获得认可的背后逻辑,以及对中国同伴们的启示录

6. 每周言论

1.

用代码行数来评估程序的开发进度,就好比是拿重量来评估一个飞机的建造进度。
— 比尔盖茨

2.

对于增加一个功能点所付出的代价,你要明白的很重要的一点就是,它不仅仅指开发这个功能所消耗的时间。它同时还包括带来的额外的给以后扩展造成的困难。不错,任何的功能特性都是能实现的——只要有足够的时间。除了这些将来会出现的问题外,你最终还会使你的程序变得脆弱,最终连一个绝对简单的功能都越来越难以和现有的混乱的web结合起来。应对此问题的办法是你应只接受那些不会导致冲突的功能。
— John Carmack, 计算机游戏开发

3.

当你试图解决一个你不理解的问题时,复杂化就产成了。
— Andy Boothe

4.

软件工程的目标是控制复杂度,而不是增加复杂性.
—Dr. Pamela Zave

7. 每周思考

1.

下面的代码段打印的是什么:

  1. var a = 3;
  2. console.log(a + a++ * ++a)

8. 关联阅读

1. Link设计周刊 | 009期

2.Web技术周刊 - 2022.10.31

3. 软件测试周刊(第94期)

4. BLUE设计周刊-Vol.044

5. 科技爱好者周刊(第 229 期):手机充电问题的解决