代码厨房 - 最新帖子 https://codekitchen.community 最新帖子 【招聘/上海】高级后端工程师(Java) 职位描述

  1. 参与金融平台建设,负责具体模块的设计、开发与维护。
  2. 协助产品经理分析业务需求,进行技术方案的设计与落地。
  3. 参与解决高并发、大数据量等场景下的技术问题。
  4. 在指导下完成核心模块的开发任务,并具备一定的代码质量和规范意识。
  5. 配合团队完成项目研发,具备良好的协作与沟通能力。

岗位要求

  1. 扎实的JAVA基础,熟悉常用框架(如Spring、MyBatis等)并了解其基本使用与配置。
  2. 1-5年JAVA开发经验,了解分布式系统的基本概念,有高并发系统开发经验者优先。
  3. 具备一定的业务理解能力,能参与需求讨论并进行技术方案初步设计。
  4. 具备良好的主动性、责任心和沟通能力,能清晰理解任务并落实执行。
  5. 有认证、支付相关业务经验者优先。

简历投递方式
请将简历发送到 [email protected],标题注明“高级后端工程师 - 姓名”。

更多信息

]]>
https://codekitchen.community/t/topic/1473#post_1 Mon, 09 Mar 2026 14:41:34 +0000 codekitchen.community-post-4623
2025 总结 & 2026 计划 分享一下有点滞后的 2025 年总结:https://greyli.com/2025-summary/

欢迎大家也分享自己的年总结和新年计划!

很惭愧,我的新年目标是去年没完成的那几个……

  • 恢复健康(正常人 80% 水平)
  • 多用英语(主要是写和说)
  • 日语入门(记住五十音图?)
  • 学会自由泳
  • 学会开车

不过今年还多了两个年度挑战 :stuck_out_tongue:

  • 一年不买新游戏挑战
  • 一年不买新书挑战
]]>
https://codekitchen.community/t/topic/1472#post_1 Wed, 04 Mar 2026 15:11:15 +0000 codekitchen.community-post-4622
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 第46页 最后一段第1行末尾:
为同一个URL规则指定一个视图函数

修改:
为同一个URL规则指定多个视图函数

]]>
https://codekitchen.community/t/topic/837?page=3#post_55 Wed, 04 Mar 2026 08:13:08 +0000 codekitchen.community-post-4620
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 第146页 代码清单5-1 获取路径时缺少parent属性:

SQLITE_PATH = Path(__file__).resolve() / 'data.db'

修改:

SQLITE_PATH = Path(__file__).resolve().parent / 'data.db'
]]>
https://codekitchen.community/t/topic/837?page=3#post_54 Tue, 17 Feb 2026 07:53:05 +0000 codekitchen.community-post-4618
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 第326页 代码清单 9-6 第一行 导入没有换行

from faker import Faker import random
]]>
https://codekitchen.community/t/topic/837?page=3#post_53 Sun, 08 Feb 2026 09:43:11 +0000 codekitchen.community-post-4614
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 感谢反馈!这里的确有问题,可以把 author_id 设为 nullable(Optional 会自动设置 nullable,不用额外设置):

author_id: Mapped[Optional[int]] = mapped_column(ForeignKey(‘author.id’))

也可以先不提交会话,等设置了双向关系以后再 commit。

]]>
https://codekitchen.community/t/topic/837?page=3#post_52 Wed, 28 Jan 2026 01:08:55 +0000 codekitchen.community-post-4610
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集
mr-datian:

P160 页 表格 5-7

paginate 第一个参数是 statement 吧?我看写得是 select。
我用 statement 比如:stmt = select(Note) 测试了下,符合我想要的。

这里是指参数名是 select

是指用模型类名获取对应元素。这里 notes[0]['Note'] 写错了,应该是 notes[0]._mapping['Note']

P164 这里是出版社校对的时候乱改,导致偏离了原来的意思。我的原始书稿里是这样写的:

第一版就有很多被乱改的地方,而且也没有跟我确认。

确认的几处已经更新到勘误表,感谢反馈!

]]>
https://codekitchen.community/t/topic/837?page=3#post_51 Wed, 28 Jan 2026 00:55:26 +0000 codekitchen.community-post-4609
Flask如何区分上传的是单文件还是多文件? 换了一个方案:根据定义的 Pydantic model 字段是单文件类型还是文件列表类型来分别使用request.files.getrequest.files.getlist 来获取文件参数。

欢迎大家 CR :

]]>
https://codekitchen.community/t/topic/1462#post_2 Fri, 23 Jan 2026 14:04:30 +0000 codekitchen.community-post-4608
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 页码:P203
书本上 app.py 示例程序中

SQLITE_PATH = Path(__file__).resolve() / 'db.sqlite'

应该为

SQLITE_PATH = Path(__file__).parent.resolve() / 'db.sqlite'

否则会得到错误的文件路径

>>> db
<SQLAlchemy sqlite:////Users/zhangkaiqiang/PycharmProjects/notebook/app.py/db.sqlite>

导致 db.create_all() 等方法报错

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) unable to open database file
(Background on this error at: https://sqlalche.me/e/20/e3q8)

GitHub 仓库中给出代码正确。

]]>
https://codekitchen.community/t/topic/837?page=3#post_50 Thu, 22 Jan 2026 02:47:06 +0000 codekitchen.community-post-4603
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 猜测作者的意图是设置文章的作者可选填写:
author_id: Mapped[Optional[int]] = mapped_column(ForeignKey(‘author.id’), nullable=True)
author: Mapped[Optional[‘Author’]] = relationship(back_populates=‘articles’)

]]>
https://codekitchen.community/t/topic/837?page=3#post_49 Tue, 20 Jan 2026 09:43:26 +0000 codekitchen.community-post-4602
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 页码:176
根据代码清单 5-6 得到

class Author(db.Model):
    __tablename__ = 'author'

    id: Mapped[int] = mapped_column(primary_key=True)
    name: Mapped[str] = mapped_column(String(20))
    phone: Mapped[Optional[str]] = mapped_column(String(11))

    articles: Mapped[list['Article']] = relationship(back_populates='author')

    def __repr__(self):
        return f'<Author {self.id}: {self.name}>'


class Article(db.Model):
    __tablename__ = 'article'

    id: Mapped[int] = mapped_column(primary_key=True)
    title: Mapped[str] = mapped_column(String(50))
    body: Mapped[str] = mapped_column(Text)
    author_id: Mapped[int] = mapped_column(ForeignKey('author.id'))

    author: Mapped['Author']  = relationship(back_populates='articles')

    def __repr__(self):
        return f'<Article {self.id}: {self.title}>'

下文中创建 Author 和 Article 记录不能正确执行,因为没有建立 Author 和 Article 的逻辑关系:

>>> richard = Author(name='Richard')
>>> eggs = Article(title='Eggs', body='blah...')
>>> snake = Article(title='Snake', body='blah...')
>>> db.session.add_all([richard, eggs, snake])
>>> db.session.commit()

报错如下:

```python
sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL constraint failed: article.author_id
[SQL: INSERT INTO article (id, author_id, title, body) VALUES (?, ?, ?, ?), (?, ?, ?, ?)]
[parameters: ('b1c35814fbd24672b2d9d207393640a6', None, 'Eggs', 'blah...', '8aa059e967ae43679a697c7868e97d70', None, 'Snake', 'blah...')]
(Background on this error at: https://sqlalche.me/e/20/gkpj)
]]>
https://codekitchen.community/t/topic/837?page=3#post_48 Tue, 20 Jan 2026 09:17:47 +0000 codekitchen.community-post-4601
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 P160 页 表格 5-7

paginate 第一个参数是 statement 吧?我看写得是 select。
我用 statement 比如:stmt = select(Note) 测试了下,符合我想要的。

供参考

P161 页

书上注释:#按名称获取元素 的意思是?
我试了下,元组不能被用文本切片,是我哪里弄错了么?

>>> notes
[(<Note 1 foo>,), (<Note 2 bar>,), (<Note 3 baz>,)]
>>> notes[0][0]
<Note 1 foo>
>>> notes[0]['Note']
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "lib/sqlalchemy/cyextension/resultproxy.pyx", line 54, in sqlalchemy.cyextension.resultproxy.BaseRow.__getitem__
TypeError: tuple indices must be integers or slices, not str

P164

第二排文字,类似于like(),但必须添加 % 是否是指 使用 like() 才需要添加 % 但是 contains() 不需要?

P164

表格中 endnswith 应该是 endswith 供参考

P168

代码:.values(Note.body=‘My body will be updated.’) 改成 values(body=‘My body will be updated’) 否则报错,供参考
另外,此代码块,最后仍需增加 db.session.commit() 才能提交生效 供参考

>>> stmt = (
...     update(Note)
...     .filter_by(id=2)
...     .values(body='My body will be updated.'))
>>> db.session.execute(stmt)
<sqlalchemy.engine.cursor.CursorResult object at 0x0000028D5C357460>
>>> db.session.commit()
]]>
https://codekitchen.community/t/topic/837?page=3#post_47 Sun, 18 Jan 2026 15:39:57 +0000 codekitchen.community-post-4600
大家好,这是我做的 AI 翻译&语言助手 Vokabry 哇撒,羡慕做出了自己的产品~

]]>
https://codekitchen.community/t/topic/1466#post_3 Sun, 18 Jan 2026 12:15:41 +0000 codekitchen.community-post-4599
小型公共聊天网站 接入太多AI了,有点刷屏

]]>
https://codekitchen.community/t/topic/1468#post_2 Sun, 18 Jan 2026 10:57:03 +0000 codekitchen.community-post-4598
小型公共聊天网站 这是我做的一个小型公共聊天网站,注册后可以公共聊天,还可以私人聊天,大家可以使用一下,因为这是我刚做好的,可能还有一些bug,大家如果发现bug可以告诉我我来修改,以下是网站地址
http://154.221.16.23:3000/

]]>
https://codekitchen.community/t/topic/1468#post_1 Fri, 16 Jan 2026 15:38:07 +0000 codekitchen.community-post-4597
大家好,这是我做的 AI 翻译&语言助手 Vokabry 支持~

]]>
https://codekitchen.community/t/topic/1466#post_2 Fri, 09 Jan 2026 16:14:50 +0000 codekitchen.community-post-4596
大家好,这是我做的 AI 翻译&语言助手 Vokabry
vokabry.app
  • 无需配置 API Key
  • 划词翻译
  • 文本替换
  • 单词学习
  • 单词测验
  • 数据在本地

现支持 MacOS + Windows,完全免费,欢迎大家下载试用、反馈

]]>
https://codekitchen.community/t/topic/1466#post_1 Mon, 05 Jan 2026 09:12:59 +0000 codekitchen.community-post-4591
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 P132 代码清单 4-8
书上:

class MyBaseForm(FlaskForm):
    class Meta:
        locales = ['zh']

可以运行,但是 IDE 里面 Meta下会有红波浪线,提示

“Meta”替代类“FlaskForm”中的同名符号
  “pdm-playground.app.MyBaseForm.Meta”不可分配给“flask_wtf.form.FlaskForm.Meta”
  类型“type[pdm-playground.app.MyBaseForm.Meta]”不可分配给类型“type[flask_wtf.form.FlaskForm.Meta]”PyrightreportIncompatibleVariableOverride
form.py(32, 11): 替代符号

AI 给改成显示继承:

class MyBaseForm(FlaskForm):
    class Meta(FlaskForm.Meta):
        locales = ['zh']

运行效果也是一样。

供参考

]]>
https://codekitchen.community/t/topic/837?page=3#post_46 Tue, 30 Dec 2025 07:09:02 +0000 codekitchen.community-post-4590
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 P143 页 第二个代码块

__tablename = 'contacts' 

是否应该是

__tablename__ = 'contacts'

供参考

]]>
https://codekitchen.community/t/topic/837?page=3#post_45 Tue, 30 Dec 2025 06:49:20 +0000 codekitchen.community-post-4589
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 第51-52页,重定向test_response函数的路由是/response,52页写的是访问/hello

]]>
https://codekitchen.community/t/topic/837?page=3#post_44 Sun, 28 Dec 2025 02:30:20 +0000 codekitchen.community-post-4588
🌲[apiflask] 解耦 marshmallow 并支持 Pydantic 没问题的,pydantic 的特性我近期已 merge 到团队内部,我过段时间将其整合到社区的 2.x 分支上 :stuck_out_tongue:

]]>
https://codekitchen.community/t/topic/1292?page=2#post_30 Fri, 26 Dec 2025 14:06:01 +0000 codekitchen.community-post-4587
用圆形贴纸与记事本连接彼此 | 第七次代码厨房开源松回顾 今年代码厨房继续在 PyCon China 2025 办了开源松(Song of Open Source)活动。虽然活动已经过去三个月,还是趁着今年没结束来做个回顾总结。

社区展位

今年代码厨房准备了更多的贴纸,除了社区贴纸,还有本次几个开源松项目的 logo 贴纸,以及去年设计但忘记送的 Foobar 变量贴纸。

在展位上设计了两个活动,分别是「流浪记事本计划」和「开发者精神状态调查」。社区的本质是连接志同道合的人。在开源协作之外,这两个活动分别探索了用圆形贴纸和记事本作为连接媒介的可能。

社区活动之「流浪记事本计划」

流浪记事本的想法始于想在社区展位做一个留言本,后来想到不如让记事本自己去流浪,找到想写东西的人。

上午活动开始时,@frostming 作为第一棒带着本出发了。虽然最后接过笔记本的人没有按照提示归还,但我还是在主会场的最后一排找到了它:

大家在上面写了各种留言、涂鸦和笔记:

关于流浪记事本的整个故事和收集到的大部分留言可以在这篇文章看到。

社区活动之「2025 开发者精神状态调查」

我一直很好奇大家对待生活、工作和编程是什么样的态度,所以这个活动算是从满足自己的好奇心出发的。因为 A3 尺寸太小,调查问卷只设置了五个问题,参与者通过用贴纸贴到对应区域来回答问题。

最终吸引到大概 150 人参与投票:

虽然考虑到会有样本偏差(只采样线下来参加活动的人),而且还有一些干扰数据:

但还是没想到大家的精神状态那么健康:

开源松 Sprint 7

开源松 Sprint 7 在分会场 E 举办(上海对外经贸大学贸源楼 106 教室),是一间很温馨(小)的教室(以至于后面很多人没能挤进来)。

这次开源松设置了 5 个项目:

  • WikiSurfing:WikiSurfing is an endless wiki that creates new articles using AI.
  • Running Page:Make your own running home page.
  • Fine Weather:An album application.
  • Stata-MCP:Let LLM help you achieve your regression with Stata. Evolve from reg monkey to causal thinker.
  • APIFlask:A lightweight Python web API framework.

下面是每个项目的路演视频:

幻灯片:slides/soos7 at main · codekitchen-community/slides · GitHub

代码厨房 x PyCon 音乐会

按照惯例,这次开源松依然以代码厨房乐队演出结尾。演出由周煦林 @voidZXL 和卢书洋 @ZinkLu 带来:

演出录像:代码厨房 x PyCon 音乐会 @ PyCon China 2025

下次活动见

感谢所有来参与活动的朋友,期待下次再见!

加入厨委会

想不想加入我们一起策划和举办下一场好玩的活动?欢迎填写下面的申请表单加入我们的志愿者团队——「厨房组委会」:

点击访问报名表单

厨房动态

关注我们的社交网络获取动态更新:

活动开销统计

本次开销由 @greyli 赞助:

  • 冰箱贴 20 个 ¥70
  • 贴纸 100 张 ¥160
  • 易拉宝 ¥106
  • 记事本 + 胶带 + 笔夹 ¥20
  • 调查问卷支架 + 圆形贴纸 ¥40

另外感谢 @Farmer-Chillax 赞助的小鹏汽车模型玩具以及 PyCon China 赞助的鼠标垫。

致谢

本次开源松所有流程和物料设计都由 @greyli 完成。感谢 PyCon 组委会和上海对外经贸大学提供会务和场地支持,感谢志愿者们提供现场支持:

展位支持:高佳 @gaoshizhendegao、吴小朋、@Farmer-Chillax@gaojingru
摄影摄像:雾雨魔理莎、Await

]]>
https://codekitchen.community/t/topic/1465#post_1 Sun, 21 Dec 2025 04:12:41 +0000 codekitchen.community-post-4586
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 P24

倒数第四行 编辑排版应该忘了空格了,flaskrun–help 应该是 flask run --help 吧?

]]>
https://codekitchen.community/t/topic/837?page=3#post_43 Sat, 13 Dec 2025 03:23:41 +0000 codekitchen.community-post-4583
《Python Web API 设计与开发》反馈、留言和写作建议收集 好久之前了,现在正在重新写,都是看官方文档

]]>
https://codekitchen.community/t/topic/505?page=2#post_38 Sat, 13 Dec 2025 03:22:28 +0000 codekitchen.community-post-4582
Flask如何区分上传的是单文件还是多文件? 我在为 apiflask 适配 Pydantic 文件上传模型时,遇到了一个问题。

flask 在获取上传的文件参数时,有两种方式:

  • request.files
  • request.files.getlist

如果使用 request.files

  • 单文件上传时,通过参数名获取到的是单文件
  • 多文件上传时,通过参数名只能随机获取到多个文件中的一个文件

如果使用 request.files.getlist

  • 单文件上传时,通过参数名获取到的是一个仅包含被上传的单文件的列表
  • 多文件上传时,通过参数名获取到的是一个包含所有被上传文件的乱序列表

也就是说,获取到的参数的类型仅与获取参数的方式相关,而和这个参数在被上传时,是单文件上传还是多文件上传无关。故无法判断客户端的初始意图是上传单文件还是文件列表。在将参数转换为 Pydantic 模型时,也无法将文件参数类型进行精确匹配,因为无法知悉其到底是文件类型还是文件列表类型(如上所述,这仅取决于获取参数的方式,无法判断客户端的初始意图是什么)。

也许还有其他什么我尚不知晓的获取文件参数的方式?或者大家有什么其他的想法或思路可以处理这个问题?
欢迎大家留言讨论,不胜感激。

cc @greyli @Farmer-Chillax

以下是最小演示示例:
app.py

from flask import Flask, request
from werkzeug.datastructures import FileStorage


app = Flask(__name__)


@app.route('/upload', methods=['POST'])
def upload_file():
    # 单文件
    assert isinstance(request.files['single_file'], FileStorage)
    assert request.files['single_file'].filename == 'test.txt'

    # 使用 request.files.getlist 即使是单文件也会返回一个 list
    assert isinstance(request.files.getlist('single_file'), list)
    assert len(request.files.getlist('single_file')) == 1
    # list 中只有一个元素,就是这个单文件
    assert request.files.getlist('single_file')[0].filename == 'test.txt'


    # 多文件
    assert isinstance(request.files.getlist('multi_files'), list)
    assert len(request.files.getlist('multi_files')) == 3

    # 使用 request.files 会获取到列表的首个文件
    assert isinstance(request.files['multi_files'], FileStorage)
    # 以下这个断言会概率性失败,因为 list 中文件的顺序和上传顺序并不一定一致
    # assert request.files.getlist('multi_files')[0].filename == 'test1.txt'
    # 但通过 request.files 获取的一定是 list 的首个文件
    assert request.files['multi_files'].filename == request.files.getlist('multi_files')[0].filename



    return {"message": "Passed"}

requests客户端:

import requests


rv = requests.post(
    "http://localhost:5000/upload",
    files={
        ("single_file", ("test.txt", open("test.txt", "rb"), "text/plain")),
        ("multi_files", ("test1.txt", open("test1.txt", "rb"), "text/plain")),
        ("multi_files", ("test2.txt", open("test2.txt", "rb"), "text/plain")),
        ("multi_files", ("test3.txt", open("test3.txt", "rb"), "text/plain")),
    },
)

版本信息:
flask: 3.1.2
requests: 2.32.5

]]>
https://codekitchen.community/t/topic/1462#post_1 Fri, 12 Dec 2025 14:57:37 +0000 codekitchen.community-post-4581
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 P10 页
pdm run which python 这个在 windows 11 的 powershell 下运行出错,是否增加个提示,在 windows 下需替换为 pdm run where python ,不知道我的这个算不算勘误,共 greyli 参考。

]]>
https://codekitchen.community/t/topic/837?page=3#post_42 Fri, 12 Dec 2025 07:39:59 +0000 codekitchen.community-post-4580
《Flask Web 开发实战(第 2 版)》完成打卡 & 留言 & 反馈 419980814

]]>
https://codekitchen.community/t/topic/838?page=2#post_27 Wed, 10 Dec 2025 13:01:41 +0000 codekitchen.community-post-4579
《Flask Web 开发实战(第 2 版)》完成打卡 & 留言 & 反馈 老哥,qq群号是多少,链接点不进不去

]]>
https://codekitchen.community/t/topic/838?page=2#post_26 Mon, 08 Dec 2025 08:06:28 +0000 codekitchen.community-post-4578
《Flask 从入门到进阶》已到手!开始拜读~ 哈哈,我的签名版也到了,找时间狂读

]]>
https://codekitchen.community/t/topic/1461#post_2 Mon, 01 Dec 2025 08:31:33 +0000 codekitchen.community-post-4577
《Flask 从入门到进阶》已到手!开始拜读~ 似乎是昨天下的单,没想到今天就能拿到 :upside_down_face:。内容很丰富,激情阅读中!

]]>
https://codekitchen.community/t/topic/1461#post_1 Sun, 30 Nov 2025 09:01:04 +0000 codekitchen.community-post-4576
欢迎来分享你的博客地址 好的,谢谢大佬,我就是看见您这个相册很不错,想部署,但是新项目是在docker跑的,我没有跑起来,哈哈 :hugs:

]]>
https://codekitchen.community/t/topic/1146?page=2#post_37 Sat, 29 Nov 2025 03:48:19 +0000 codekitchen.community-post-4575
欢迎来分享你的博客地址 我个人的是通过 vercel 部署的,可以参考下:GitHub - tkzt/fine-weather-gallery: A fine-weather gallery. 一些晴朗的日子。

]]>
https://codekitchen.community/t/topic/1146?page=2#post_36 Sat, 29 Nov 2025 03:32:25 +0000 codekitchen.community-post-4574
欢迎来分享你的博客地址 这个相册怎么在GitHub Page或者vercel上跑呀 :thinking:

]]>
https://codekitchen.community/t/topic/1146?page=2#post_35 Wed, 26 Nov 2025 14:55:46 +0000 codekitchen.community-post-4572
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 书已收到 :grinning_face:

]]>
https://codekitchen.community/t/topic/837?page=3#post_41 Mon, 24 Nov 2025 01:25:15 +0000 codekitchen.community-post-4571
《Flask Web 开发实战(第 2 版)》动态 & 勘误收集 正式发售了,感谢各位支持:《Flask 从入门到进阶》正式发售 | 李辉 / Grey Li

]]>
https://codekitchen.community/t/topic/837?page=2#post_40 Sun, 23 Nov 2025 14:27:10 +0000 codekitchen.community-post-4570
【#代码厨房播客】第一期上线! 选题的话,苏雄应该有一些规划。我后面有时间打算来做这两个选题:

  • 工作和生活平衡有可能吗
  • 如何在算法时代保持平静

另外话题也可以嘉宾自己定,你有啥想聊的方向吗?

]]>
https://codekitchen.community/t/topic/1459#post_3 Fri, 21 Nov 2025 14:13:15 +0000 codekitchen.community-post-4569
【#代码厨房播客】第一期上线! 很不错!

请问后面计划聊什么话题呢?

]]>
https://codekitchen.community/t/topic/1459#post_2 Fri, 21 Nov 2025 09:17:06 +0000 codekitchen.community-post-4568
【#代码厨房播客】第一期上线! :man_technologist: 程序员不止写代码。

有人建社区、搞乐队、组织开源松,也有人默默在做点理想的事。

:headphone:#代码厨房播客」第一期上线

主持人 苏雄 对话 李辉(Grey) ——

Flask 团队成员、《Flask Web 开发实战》作者、「代码厨房」社区发起人。

他们聊了:

  • 非盈利技术社区如何运作?

  • 为什么程序员也需要“共情力”?

  • 技术书出版的坑与经验分享

  • 从“理想主义”到“流程自动化”的平衡

一句话概括:

这是一期程序员之间关于理想、执行与温度 的长谈。

:studio_microphone: 在各大平台搜索「代码厨房播客」收听吧!

小宇宙收听:Ep 01. 与李辉聊聊代码厨房播客和社区的构想 - 代码厨房 | 小宇宙 - 听播客,上小宇宙

]]>
https://codekitchen.community/t/topic/1459#post_1 Thu, 20 Nov 2025 15:34:34 +0000 codekitchen.community-post-4567
APIFlask 3.0 版本发布 终于发布了新版本:

感谢 @uncle-lv @Farmer-Chillax @tyang.sh3 参与贡献!

]]>
https://codekitchen.community/t/topic/1458#post_1 Sat, 15 Nov 2025 10:58:27 +0000 codekitchen.community-post-4566
🌲[apiflask] 解耦 marshmallow 并支持 Pydantic @Farmer-Chillax 如果想要向前兼容 3.8,可以基于这个 commit 发布 2.5.0 版本(也可以创建一个 2.x 分支来 cherry pick 3.x 上的 bugfix)。

]]>
https://codekitchen.community/t/topic/1292?page=2#post_29 Sat, 15 Nov 2025 03:06:40 +0000 codekitchen.community-post-4565
🌲[apiflask] 解耦 marshmallow 并支持 Pydantic 终于搞定了:

不过后面还要再来好好优化这部分代码。欢迎大家帮忙测试!

]]>
https://codekitchen.community/t/topic/1292?page=2#post_28 Sat, 15 Nov 2025 02:27:34 +0000 codekitchen.community-post-4564
PDM 启动性能提升
github.com/pdm-project/pdm

Improve the startup performance

已打开 08:18AM - 13 Nov 25 UTC
⭐ enhancement ❓ help wanted 💝 good first issue

### Feature Description Now PDM startup is still very slow, most of the time is

有兴趣可以来贡献

]]>
https://codekitchen.community/t/topic/1457#post_1 Fri, 14 Nov 2025 00:30:56 +0000 codekitchen.community-post-4563
「删档内测&需求收集」易查辞典:聚合搜索,一键直达 已收藏 :saluting_face:

]]>
https://codekitchen.community/t/topic/1456#post_4 Mon, 10 Nov 2025 12:50:06 +0000 codekitchen.community-post-4559
「删档内测&需求收集」易查辞典:聚合搜索,一键直达 哈哈,加油!我当初学日语也是在五十音图卡了很久,但入门之后就好多了。

如果有兴趣,可以看看我整理的日语学习资料:

]]>
https://codekitchen.community/t/topic/1456#post_3 Mon, 10 Nov 2025 11:13:14 +0000 codekitchen.community-post-4558
「删档内测&需求收集」易查辞典:聚合搜索,一键直达 看起来不错!等我学日语的时候可以用用看(现在还在五十音图阶段 :smiling_face_with_tear:

]]>
https://codekitchen.community/t/topic/1456#post_2 Sat, 08 Nov 2025 10:29:56 +0000 codekitchen.community-post-4557
在 PyCon China 2025 流浪了一天的记事本 和 Grey 老师商量了下,把这篇文章翻译成了日语,标题「るろうにノート- PyCon China 2025 浪漫譚」借用了《浪客剑心》(るろうに剣心-明治剣客浪漫譚)2333

]]>
https://codekitchen.community/t/topic/1444#post_7 Thu, 06 Nov 2025 11:19:20 +0000 codekitchen.community-post-4556
「删档内测&需求收集」易查辞典:聚合搜索,一键直达 用 Flask 写了个聚合搜索工具「易查辞典」(以下简称「易查」),想看看大家的建议需求。

网站地址:

实机演示:

简单来说,其实就是一个「导航页」,但和一般的搜索导航站相比,「易查」不仅支持自定义,而且还多了一步「分析搜索结果」——判断对应网站是否存在有意义的搜索结果,并将结果显示在页面上。

另外还(会)实现一些功能:

  1. 分析整个句子,(基于收集的数据)预测用户可能想查的单词,尤其是光标附近的单词/词组/句型
    1. 日语会使用 Mikann 作为分词器
    2. 英语和其他语言会使用 spaCy 作为分词器
  2. 云同步
  3. 查词记录支持导出到 Anki
  4. 通过爬虫和 sitemaps 的缓存,提高「分析搜索结果」的速度

由于还处在早期开发阶段,所以现在每次查询会把20多个网站在服务器挨个打开一遍,看那些网站返回的结果有没有指定的关键字,所以速度会非常慢,这个网页暂时当做最后的备用手段吧2333。

之后我会结合用户反馈,把一些较为常用的搜索词的结果整理到数据库,访问起来就会快得多了,但具体哪些网站和哪些词,我想看看大家的建议。

另外,公开一份我自己维护的在线辞典网站,学日语和英语的话,可以看看:

https://hbq08jzhrer.sg.larksuite.com/wiki/QqCSwwHnCid6ADkJqqzlOQeIgHh?from=from_copylink&sheet=LCVb9e

]]>
https://codekitchen.community/t/topic/1456#post_1 Thu, 06 Nov 2025 11:14:16 +0000 codekitchen.community-post-4555
GitHub初始化仓库后的第一条commit信息的Git对象在objects目录下不存在 找到原因了。GitHub的初始commit被Git压缩为包对象存储在.git/objects/pack目录下了。

通过git verify-pack -v命令可以查看到这条commit的对象:

StackOverflow相关问答: object directory has no objects after a git clone

]]>
https://codekitchen.community/t/topic/1454#post_2 Fri, 31 Oct 2025 04:58:03 +0000 codekitchen.community-post-4554
最近在找工作,向各位大佬求内推 求职方向是Java Web后端开发,如果各位大佬有合适的内推岗位且方便的话,在这里求一个内推机会。

谢谢各位大佬!:handshake:

]]>
https://codekitchen.community/t/topic/1455#post_1 Thu, 30 Oct 2025 12:59:05 +0000 codekitchen.community-post-4553
Fine Weather 开源松 Sprint 7 任务 已合并,感谢!

]]>
https://codekitchen.community/t/topic/1436#post_6 Tue, 28 Oct 2025 14:19:36 +0000 codekitchen.community-post-4552