程序员眼中的日期与时间

本文使用了 JavaScript 脚本来生成动态网页内容。请确保已开启浏览器的 JavaScript 支持

大多数的应用程序都需要同日期(date)与时间(time)打交道,这取决于具体用例。一些应用程序使用日期与时间来决定何时用户可以获得日常登录奖励。另一些应用则需要根据用户所在地的时区来向他们展示下订单的时间。这些种种用例要求我们的程序员使用一套成熟且精密的方式来管理日期与时间,并且了解在日期与时间处理时会遇到的一些常见问题及其解决方案。

一张装饰用图片,展示了使用马赛克风格瓷砖拼装的树叶图案,经过染色滤镜效果处理
摄于新加坡滨海市区线市中心站,2023 年春季

对数据工程而言不存在路线图

本文翻译自《There is no Data Engineering roadmap》一文,译文标题略微进行了改动;原作者 Alasdair Brown 是一名大数据方面的顾问,也关注于网络安全与实时分析领域;

在 Reddit、推特(Twitter)、领英(LinkedIn)以及一些 Slack 社群中,我看见过很多入门人群想要进入数据工程领域并寻求建议。每一天都有许多人询问是否有类似“路线图”或者入门课程来帮助他们找到理想的工作。我并不认为这样的路线图存在。

Django 中的 select_for_update(skip_locked)

2021 年 12 月,Django 在新发布的 4.0 版本中提供了对 MariaDB 数据库后端的 QuerySet.select_for_update()skip_locked 参数的支持。这个参数在 MariaDB 10.6 中被引入,而八个月后,Django 的下一个主要版本便宣布了这个参数提供的支持。

为初创团队审计代码五年——我从中学到的

本文翻译自《Learnings from 5 years of tech startup code audits》一文,译文标题略微进行了改动;原作者 Ken Kantzer 在软件工程领域经营多年,对安全性问题有着深入思考;感谢 Twitter 用户 @greatested 分享了文章英文版本

我在 PKC 的那段时间,我们的团队做了超过二十次的代码审计,其中大多数,是为那些已经完成 A 或者 B 轮融资的初创企业进行的(经常是当这些企业已经渡过了市场契合度的挑战,手里有现金并且意识到最好应该深入研究安全性的时候)。

这是一项引人入胜的工作——我们跨越广泛的领域,并且深入到了各种堆栈和架构的组合。我们发现了从“有点意思的”一直到“灾难性的”各种安全问题。并且我们也有机会与高级研发领导以及 CTO 进行广泛交谈,了解他们在开始拓展时遇到的各种工程性和产品上的挑战。

揭幕无图型设计的神话

本文翻译自《Debunking the Myth of Going Schemaless》一文,原作者为 John Page,他是一名苏格兰人,现在 MongoDB 担任工程师;本篇文章的英文原文版本由 MongoDB 赞助

译者按

在面向有状态(Stateful)应用程序开发的过程中,通常会使用数据库对程序的状态进行持久化存储。与关系型数据库管理系统(RDBMS)使用前需要定义数据库图型(Schema)不同,诸如 MongoDB 在内的一系列数据库是无图型(Schemaless)的。开发者基于无图型数据库设计时,通常会有一些使用误区。本文原文作者从一个概括的角度讨论了这些误区,并提供进行无图型设计时的最佳用例。

为什么 GNU yes 程序这么快

几乎所有人在学习一门新的程序设计语言时,首先学到的功能便是将一段字符串——通常是“Hello, world!”——输出到屏幕上。在 *NIX 系统中,就一直存在着这样一个功能简单的程序,能够重复地将字符 “y”(或是其他什么东西)输出到屏幕上,通常用在一些需要用户重复输入确认指令的场景下:这个程序叫做 yes。

*NIX:表示类 Unix 操作系统,这通常包括 FreeBSD、GNU/Linux、MINIX 以及 macOS 等

Wikipedia