返回首页
最新
我是一个拥有20年经验的工程副总裁。我一直在深入思考为什么人工智能正在打破所有工程实践,这让我得出结论:敏捷宣言的价值观需要更新。
核心论点是:人工智能使得软件生产变得便宜,但理解软件仍然昂贵。敏捷宣言优化了前者,而这个附录则将重点转向后者。
四个更新的价值观,三个精炼的原则,并附有每个原则的理由。欢迎讨论和辩护其中的任何内容。
嘿,HN,我常常希望能回到某一年,听听当时播放的广播,听那些符合那个时代的歌曲。
但并不是每个时刻都是一样的,人们出于不同的目的选择音乐。音乐类型似乎显得任意且有限,因此我觉得根据特定的氛围来创建电台会更有意义。你是在寻找轻松的还是激烈的音乐?是独自一人还是和朋友在一起?这是一个晚宴派对、舞池,还是下班后的放松时光?
所以我创建了Anthrology,作为一种在时间和氛围中导航的方式。过去几天我几乎一直在听这个,希望你也会喜欢。
当你调到某一年和氛围时,歌曲已经在播放了。你可以调到其他时刻再回来,曲目仍会继续播放——但你会错过一点歌曲,就像收音机一样!
而且收音机是(或多或少)确定性的,所以我们都能听到相同的曲目。
调频收听,享受吧!
我们有一个全天候运行的预发布环境,每晚和周末有6到7个微服务处于闲置状态。这大约浪费了300英镑每月。
我想要一个简单的自动化方案:在晚上8点将部署缩减到零,早上7点恢复。可选方案是使用cronjob加kubectl脚本(这种方式脆弱且缺乏可视化),或者编写一个自定义控制器(对于这个需求来说有点过于复杂)。
这促使我构建了一个名为Tiny Systems的项目——一个开源的可视化工作流引擎,自动化任务作为原生K8s操作运行。
节省成本的流程使用cron触发器、按标签过滤的部署列表、缩放器和Slack通知。
以下是现成的安装解决方案: [https://tinysystems.io/solutions/cluster-cost-saver-0](https://tinysystems.io/solutions/cluster-cost-saver-0)
这是一个个人项目,欢迎提问。
嗨,HN,
我是一名来自马拉维的自学开发者,我创建了DJX,因为我厌倦了一遍又一遍地编写相同的Django模板代码。
Django功能强大,但启动一个新功能意味着需要手动创建模型、视图、模板、URL,并将所有内容连接在一起。20年前,Rails通过脚手架解决了这个问题。Django也应该有同样的功能。
DJX为Django带来了约定优于配置的理念:
```
pip install djx-cli
djx new myblog && cd myblog
djx scaffold Post title:string content:text published:boolean
python manage.py migrate && python manage.py runserver
# → http://127.0.0.1:8000/posts/ — 完整的CRUD。完成。
```
就这样。你将自动获得列表、创建、编辑和删除视图及其模板,所有内容都已自动连接。
其他命令:
- `djx routes` — 查看所有URL路由(Django没有内置这个功能)
- `djx destroy scaffold Post` — 干净地移除生成的代码
- `djx add django-crispy-forms` — 安装并自动添加到INSTALLED_APPS
- `djx model`,`djx controller` — 单独生成组件
它遵循Rails的约定:复数形式的应用名称、RESTful URL、自动时间戳和合理的默认值。
我创建这个工具是因为我希望Django开发的速度能和Rails一样快。虽然它还处于早期阶段,但它已经为我的每个项目节省了数小时的时间。
PyPI: [https://pypi.org/project/djx-cli/](https://pypi.org/project/djx-cli/)
GitHub: [https://github.com/RedsonNgwira/djx-cli](https://github.com/RedsonNgwira/djx-cli)
期待你的反馈和贡献。还有哪些类似Rails的功能可以让Django开发更快呢?
我们最近招募了一位经验丰富的高级工程师,拥有8年的工作经验。他花了3周的时间像代码考古学家一样,试图理解我们的代码库为何会呈现现在的样子。
他关注的不是代码的功能,这个很快就能搞明白,而是决策背后的原因:
- 为什么选择Redis而不是内存缓存?
- 为什么这个服务使用GraphQL,而其他地方都用REST?
- 为什么企业用户的认证流程中会有那个奇怪的异常?
答案埋藏在没有描述的关闭PR中、18个月前的Slack讨论串,以及两位去年离职工程师的脑海中。
我们尝试过使用ADR(架构决策记录),但只坚持了6周,没人维护。我们也尝试过PR描述模板,但一个月内就被忽视了。我们有一个Notion架构文档,但上次更新是在14个月前。
每个解决方案都需要有人手动撰写内容,但没有人去做。
我很好奇HN的团队是如何处理这个问题的:
1. 你们有长期有效的系统吗?
2. 有没有人自动化了这个过程的某个部分?
3. 还是说每个人在每次新员工入职时都默默忍受这一切?
我计划开发一个人工智能工具,允许组织的开发人员访问所有文件或检测任何疑问的引用/调用。通常,我觉得新手程序员对组织的框架或运营有很多问题。这使得他们不得不向资深同事请教,而这可能会因为浪费时间而让他们感到不太愉快。因此,通过建立一个定制的基于人工智能的平台,所有这些工作流程都可以被消除,开发人员可以在上面提出所有问题。