分类: 开发

Hacker News招聘趋势:Rust、C++和Python谁更吃香?

2025-02-23
Hacker News招聘趋势:Rust、C++和Python谁更吃香?

通过分析Hacker News上几年来“求职”和“招人”帖文中编程语言的提及频率,我们可以窥探Rust、C++和Python在就业市场上的趋势。数据显示,这三种语言在招聘市场上都有稳定的需求,但具体占比和波动情况需要进一步分析图表才能得出结论。

开发

Kaggle竞赛:一个有偏见的评价指标和XGBoost的意外之喜

2025-02-23

作者参加了一个Kaggle竞赛,预测骨髓移植后的生存几率。比赛的评价指标是分层计算的concordance,旨在避免模型对不同种族人群的预测差异过大。然而,这个指标存在缺陷:提高某一类别的分数并不总是提高总分,甚至可能降低总分。作者在使用XGBoost模型的过程中,发现简单的决策树集成模型比复杂的统计模型更有效,并探讨了统计方法和机器学习方法的差异。最终,作者发现调整AFT分布的尺度参数对模型精度影响巨大,并提出了几个改进模型的开放性问题。

开发 XGBoost

Lisp与Lambda演算:一场跨越理论与实践的对话

2025-02-23

本文探讨了Lisp与Lambda演算之间的关系。Lisp的创造者John McCarthy最初并未完全理解Lambda演算,但他借鉴了Lambda演算的符号,创造了Lisp。Lisp并非Lambda演算的直接实现,而是受到其启发,并结合了IBM 704的硬件特性。文章深入分析了Lisp的早期历史,包括其演算器EVAL的实现,以及car和cdr操作与IBM 704硬件的关联。作者也介绍了Lambda演算的基本概念,并用一个名为ΛΙΣΠ的玩具语言进行举例说明。最终,文章指出Lisp与Lambda演算之间存在着有趣而复杂的关系,为后续深入探讨留下了伏笔。

开发

如何高效协作:避免激怒资深工程师的七宗罪

2025-02-23
如何高效协作:避免激怒资深工程师的七宗罪

本文总结了七种常见的、容易激怒资深工程师的行为,例如:未经尝试直接升级问题、含糊其辞地要求紧急处理、随意给出粗略估算并将其作为最终期限、安排含糊不清的会议、突然安排不必要的简短会议、使用“快速修复”但未规划后续清理、频繁变更优先级。作者指出,这些行为会浪费时间、降低效率、破坏团队士气。文章建议,在寻求帮助时应提供充足信息,对紧急程度进行甄别,谨慎对待估算,提前规划会议,尊重工程师的专注时间,对临时方案制定后续计划,保持优先级的稳定性,从而构建积极高效的工程师团队。

无JavaScript的极端服务器端渲染(XSSR):一个Flappy Bird案例

2025-02-23
无JavaScript的极端服务器端渲染(XSSR):一个Flappy Bird案例

本文介绍了一种名为极端服务器端渲染(XSSR)的技术,它通过在服务器端动态生成HTML并持续不断地向客户端发送更新,从而实现无需JavaScript也能运行动态网页的效果。作者以一个Flappy Bird游戏为例,展示了XSSR的实现方法,并讨论了其性能、带宽以及潜在的DoS攻击风险。XSSR在低延迟网络环境下表现良好,但在高延迟网络下则会造成卡顿。该技术有望用于在旧设备或不支持JavaScript的浏览器上运行现代网页。

Python官方文档中存在XSS漏洞示例

2025-02-23
Python官方文档中存在XSS漏洞示例

近日,安全研究员Georgi Guninski发现Python 3.12官方文档中CGI模块的示例代码存在严重的跨站脚本(XSS)漏洞。该漏洞源于直接输出用户提交的表单数据,未进行任何安全过滤。此问题可能对Python Web开发造成广泛影响,甚至可能导致类似ChatGPT和Deepseek等AI生成的代码也存在安全隐患。虽然Python 3.13已移除CGI模块,但大量的遗留代码仍可能面临风险。

开发

别再问“能不能”,试试“我打算怎么做”:高效工作的行动偏见

2025-02-23

在工作中,与其事事请示领导批准,不如主动承担责任,设定截止日期,并告知领导你的计划。这篇文章以作者在小型公司的工作经验为例,阐述了“先斩后奏”的策略:对于自己职责范围内的任务,先行动起来,给领导预留否决权,同时设置明确的截止日期,以提高效率,避免因等待审批而延误工作进度。这种方法既能保证工作的推进,又能让领导及时了解情况并提供反馈。

LLVM静态分析器集成Z3求解器:消灭误报

2025-02-23

LLVM静态分析器新增了对Z3约束求解器的支持,这使得其能够更有效地过滤掉误报。文章通过一个简单的例子演示了两种使用Z3的方法:一是将其作为外部求解器,二是利用其进行误报的验证。第一种方法虽然能彻底消除误报,但速度显著下降(约15倍);第二种方法速度更快,通过Z3验证来减少误报。实验结果表明,启用Z3后,LLVM静态分析器能够准确识别并避免因位运算导致的误报,提高了分析结果的可靠性。

开发

构建卓越的政府数字服务:13个关键步骤

2025-02-23

本文阐述了构建卓越政府数字服务的13个关键步骤,涵盖了用户需求调研、全流程体验设计、简洁直观的界面、敏捷迭代开发、预算和合同管理、团队领导和成员选择、技术栈选择、灵活的托管环境、自动化测试和部署、安全和隐私管理、数据驱动决策以及开放性原则。每个步骤都提供了详尽的清单和关键问题,旨在帮助政府机构打造以用户为中心、高效可靠、安全便捷的数字服务,最终提升公众服务体验。

开发

《超越代码面试》: 应对残酷的科技求职大战

2025-02-23
《超越代码面试》: 应对残酷的科技求职大战

《代码大全》作者联手推出续作《超越代码面试》,针对如今更加严苛的科技行业面试,提供更有效的应对策略。本书不仅包含150多个全新编程题及详解,更深入剖析了求职全流程,涵盖简历优化、面试技巧、薪资谈判等,并结合10万次模拟面试数据和数百个真实案例,教你如何提升求职效率,最终拿到理想offer。

开发 求职指南

2024 年 Rust 语言调查结果:社区蓬勃发展,编译速度仍是痛点

2025-02-22
2024 年 Rust 语言调查结果:社区蓬勃发展,编译速度仍是痛点

2024 年 Rust 语言调查结果新鲜出炉!参与人数略低于去年,但社区依然活跃,Rust 的使用率持续增长,尤其在工作中。调查显示,开发者对 Rust 的性能和安全性非常满意,但编译速度仍然是主要挑战,其次是调试支持和磁盘空间占用。令人欣慰的是,许多开发者对 Rust 的未来充满信心,并期待更多功能的稳定化,例如 async closures。

开发

PostgreSQL 到 ClickHouse 的可靠数据复制:PeerDB 的开源和托管解决方案

2025-02-22
PostgreSQL 到 ClickHouse 的可靠数据复制:PeerDB 的开源和托管解决方案

本文介绍了如何使用 PeerDB 将数据从 PostgreSQL 可靠地复制到 ClickHouse。PeerDB 是一个专注于 PostgreSQL 数据源的 CDC 解决方案,因其速度和可扩展性而闻名。文章比较了自托管的开源 PeerDB 和 ClickHouse Cloud 中完全托管的 PeerDB 版本(作为 ClickPipes 的一部分)。文章还涵盖了核心概念,例如创建对等体、镜像和数据转换,并提供了逐步的部署和配置说明。无论是选择开源版本还是托管版本,PeerDB 都为 PostgreSQL 和 ClickHouse 用户提供了高效且可靠的数据复制解决方案。

开发

SimpleWall:一款轻量级Windows防火墙替代方案

2025-02-22
SimpleWall:一款轻量级Windows防火墙替代方案

SimpleWall 是一款不到 1MB 的轻量级 Windows 防火墙替代工具,适用于 Windows 7 SP1 及更高版本。它基于 Windows Filtering Platform (WFP),允许用户创建自定义网络规则,包括阻止 Windows 遥测和支持 WSL 等特性。SimpleWall 提供简单的用户界面,支持永久规则和临时规则,卸载后需手动禁用过滤器。它与 Windows 防火墙独立工作,是一款免费开源的工具。

开发

ArcaOS 5.1.1 正式发布:隐私至上的OS/2系统升级

2025-02-22
ArcaOS 5.1.1 正式发布:隐私至上的OS/2系统升级

Arca Noae发布了ArcaOS 5.1.1,支持UEFI和GPT磁盘布局,可在多种现代硬件上安装。该版本对现有ArcaOS 5.1用户免费,并提供多种语言版本。新用户可享受升级折扣。ArcaOS注重用户隐私,不追踪用户在线活动,并兼容低配置硬件,是注重隐私和自由的用户的理想选择。

开发 ArcaOS

开源组织OSI选举争议:截止时间与时区之谜

2025-02-22

开源倡议组织(OSI)董事会选举中出现争议。Luke提交候选人申请被拒,原因是超过了2月17日太平洋时间晚上11:59分的截止时间。然而,OSI官方网站未明确说明截止时间为UTC时间,且OSI联系地址位于加州,此举引发质疑。Luke认为OSI应该考虑不同时区,并允许其参选。此事凸显了开源组织在处理全球性事务时,对时区和截止时间明确性的重要性。

开发

FFmpeg汇编语言入门:编写高效的多媒体处理代码

2025-02-22
FFmpeg汇编语言入门:编写高效的多媒体处理代码

本教程介绍了FFmpeg中汇编语言编程的基础知识,特别是SIMD向量编程技术。通过手写汇编代码,可以显著提高多媒体处理速度,例如视频播放的流畅度。教程涵盖了汇编语言的基础概念、x86-64指令集、向量寄存器以及FFmpeg中常用的辅助工具。学习本教程需要C语言指针知识和高中数学基础。

开发

Linux内核之Rust整合风波:Linus力挺模块化

2025-02-22

Linus Torvalds就Linux内核中Rust代码的整合问题,与DMA子系统维护者Christoph Hellwig发生争执。Hellwig反对在未经其许可的情况下使用其维护的代码。Linus则强调,维护者负责其代码,但不控制其用途,并重申了Linux内核中采用Rust的模块化策略:开发者可以选择使用或忽略Rust代码,但不能阻止他人使用。

开发

Python 启动器支持虚拟环境

2025-02-22
Python 启动器支持虚拟环境

Python 的 Windows 安装程序包含一个启动器,用于定位正确的 Python 解释器。然而,它此前并不支持虚拟环境。PEP 486 提出让启动器能够识别虚拟环境,这意味着在没有指定 Python 解释器时,启动器会优先使用当前激活的虚拟环境,如果没有则回退到默认的 Python。这简化了在虚拟环境中运行 Python 命令的方式,避免了在不同环境下使用不同命令的困扰。

开发 PEP 486

程序员的50岁危机:是继续高压编码,还是另寻出路?

2025-02-22

一位资深程序员反思了其职业生涯,发现大规模高压力编程工作充满挫败感:不完全理解的领域、浩瀚的API、难以捉摸的文档、不断变化的技术栈,以及那些难以预料的bug。他意识到,这种高强度工作并非长久之计,尤其在50岁时。他更倾向于开发自己小型可靠的工具,例如一个不到28KB的C和Erlang图像合成工具,而非大型项目。这篇文章引发了对程序员职业发展和可持续性的思考,是继续高压编码,还是另寻出路?

开发 中年危机

Common Lisp 生态系统蓬勃发展:Hacker News 也加入其中!

2025-02-22
Common Lisp 生态系统蓬勃发展:Hacker News 也加入其中!

Common Lisp 社区在过去两年中取得了显著进展,涌现出大量新项目、工具和库。Hacker News 网站现在甚至运行在 SBCL 之上!文章总结了 Common Lisp 领域的最新进展,包括 SBCL、ABCL、CCL 等实现的更新,Lem 编辑器的重大改进,以及新的游戏开发工具和 Web 框架。此外,社区活动也十分活跃,例如 ELS 大会和 Lisp Ireland 聚会。无论是经验丰富的开发者还是新手,这份总结都将带你领略 Common Lisp 生态系统的活力与魅力。

开发 Lem

开发者营销的正确打开方式:与其推销,不如倾听

2025-02-22
开发者营销的正确打开方式:与其推销,不如倾听

本文作者Daniel分享了在开发者营销方面的经验教训。他指出,传统的营销方式对开发者无效,开发者更注重社区连接和解决实际问题。与其强推产品,不如关注开发者社区的痛点,提供切实有效的解决方案。作者以Permit.io为例,介绍了他们如何通过倾听开发者需求,提供灵活的工具和功能,并通过参与开发者社区活动(如WeAreDevelopers Berlin)来建立联系,最终实现营销目的。最新推出的Permit Share-If功能,就是一个很好的例子,它提供预构建的UI组件,简化了应用中的访问共享。

构建一个重写规则数据库:一个雄心勃勃的计划

2025-02-22
构建一个重写规则数据库:一个雄心勃勃的计划

本文作者希望创建一个包含各种重写规则的数据库,涵盖整数属性、微分、集合论、位向量、函数式程序等多个领域。文章列举了大量现有项目和库中已有的重写规则,并探讨了将这些规则整理成统一格式的可能性及挑战。作者认为,虽然一些规则可以通过现有的SMT求解器直接证明,但构建一个明确的重写规则库对于特定应用场景下的精确重写和操作至关重要,并能为后续研究提供宝贵的资源。

开发 重写规则

arXivLabs:与社区协作者合作的实验项目

2025-02-22
arXivLabs:与社区协作者合作的实验项目

arXivLabs是一个允许协作者直接在arXiv网站上开发和分享新功能的框架。参与arXivLabs的个人和组织都认同并接受了arXiv关于开放性、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与坚持这些价值观的合作伙伴合作。如果您有想法可以为arXiv社区增值,请了解更多关于arXivLabs的信息。

开发

在你的社区创建计算机俱乐部

2025-02-22

本文呼吁大家创建本地计算机俱乐部,对抗科技行业糟糕的政治经济现状。文章指出,通过共同编程、DIY共享计算基础设施、艺术、音乐等活动,可以创造更美好的计算环境。文章建议俱乐部拒绝企业赞助,保持集体所有制,并从现实生活中建立信任与联系。创建俱乐部的方法包括:与志同道合的人交流,参与现有活动,利用社区资源(如食品合作社),加入或启动项目等。

Envloader:一个简化的跨平台环境变量加载工具

2025-02-22

由于在Windows环境下配置direnv遇到问题,作者开发了一个名为envloader的跨平台工具,用于简化终端环境变量的加载。该工具支持.env和.envrc文件,并能自动转换变量格式以适应不同的shell。安装方便,支持brew和scoop,使用时只需运行envloader命令即可。虽然功能相对简单,但对于在配置环境变量时遇到困难的用户来说,是一个不错的选择。

Math Academy:一位老学究的线性代数重修之旅

2025-02-22
Math Academy:一位老学究的线性代数重修之旅

一位拥有数学和物理学学位的博主,多年来一直卡在学习线性代数的eigenvector概念上。在尝试了传统教材后,他发现了Math Academy这个在线教育平台,并决定订阅进行学习。文章将记录他从怀疑到尝试,再到深入学习Math Academy系统和课程的全过程,最终探讨Math Academy的价值和学习效果,以及其在AI时代的影响。

开发 Math Academy

二十年磨一剑:一款婚宴座位安排软件的传奇

2025-02-21
二十年磨一剑:一款婚宴座位安排软件的传奇

2005年,作者发布了婚宴座位安排软件PerfectTablePlan v1。从最初为自家婚礼解决座位安排难题,到如今发展到v7版本,历经20年风雨,这款用C++和Qt开发的桌面软件依然生机勃勃。期间,作者经历了从小型软件公司离职,到独立运营,再到兼顾其他产品的历程。尽管曾面临web化浪潮的冲击和疫情带来的销售低谷,但PerfectTablePlan凭借其强大的功能和稳定性,以及作者的坚持,始终保持盈利,并成为其成功的基石。如今,作者仍在持续更新和维护这款软件,并将其与其他产品共同经营,享受着灵活的工作方式和生活。

开发 成功案例

Slime OS:一款为PicoVision打造的实验性应用启动器

2025-02-21
Slime OS:一款为PicoVision打造的实验性应用启动器

Slime OS是一款运行在PicoVision(以及未来其他RP2040和RP2350设备)上的应用启动器,最初为Slimedeck Zero迷你电脑项目设计。它以32色、400x240内部分辨率运行,并可向上扩展至800x480。目前支持i2c键盘输入,未来计划支持USB键盘。该项目仍在开发中,存在一些已知问题,例如部分应用方向错误和硬件支持有限等,但作者欢迎贡献代码以扩展其硬件兼容性。

告别Docker,拥抱Podman:一键迁移脚本

2025-02-21
告别Docker,拥抱Podman:一键迁移脚本

厌倦了Docker的繁琐?`fly-to-podman`脚本帮你轻松迁移到Podman!它能无缝迁移你的Docker镜像、卷和容器,并完整保留容器数据和配置(挂载点、端口等)。支持镜像、卷、容器和网络的单独或批量迁移。告别root权限,拥抱更安全便捷的容器化体验!

开发 容器迁移

Rust Web开发框架Cot:速度与安全兼备

2025-02-21

Cot是一个功能强大的Rust Web开发框架,以其类型安全性和高性能著称。它提供一流的安全性和极快的速度,帮助开发者快速构建可用于生产环境的Web应用,而无需牺牲性能或可靠性。只需简单的命令`cargo install cot-cli && cot new`即可开始使用。

(cot.rs)
开发 Cot框架
1 2 153 154 155 157 159 160 161 213 214