2020-02-06 21:00:00
在SoundCloud担任iOS工程师的六个月里,作者通过参与约15-20个代码库,对前端和后端进行了改进。他强调了公司文化和实践对其成功的重要性,包括标准化的技术栈、示例应用、实践操作、第一响应者制度、内容管理工具、基础设施即代码、友好的监控数据和自我分配时间(SAT)等。这些实践不仅帮助新员工快速融入,还鼓励了学习和创新。作者总结道,通过建立良好的工程实践,公司可以激发员工的潜力,让他们更好地工作。
2020-02-06 21:00:00
在SoundCloud担任iOS工程师的六个月里,作者通过参与约15-20个代码库,对前端和后端进行了改进。他强调了公司文化和实践对其成功的重要性,包括标准化的技术栈、示例应用、实践操作、第一响应者制度、内容管理工具、基础设施即代码、友好的监控数据和自我分配时间(SAT)等。这些实践不仅帮助新员工快速融入,还鼓励了学习和创新。作者总结道,通过建立良好的工程实践,公司可以激发员工的潜力,让他们更好地工作。
2020-02-06 21:00:00
文章探讨了成为某个领域95%水平的人并不令人印象深刻,因为相对容易做到。作者指出,许多人可以通过参与和练习成为相对擅长某项活动的人。文章以《守望先锋》游戏为例,说明在游戏中达到95%水平的人仍会犯一些基本错误,而这些错误通常很容易被发现和纠正。作者认为,人们往往没有意识到通过观察自己的表现或寻求反馈来显著提高自己的能力。文章还讨论了现实生活中的活动,如演讲和写作,并强调了通过反馈和练习来提高技能的重要性。作者强调,尽管在现实生活中的许多活动中缺乏明确的评分系统,但通过有意识的练习和反馈,人们仍然可以显著提高自己的表现。
2020-02-06 15:00:00
Evan Miller介绍了一种名为SlowerLogLog的HyperLogLog数据结构的变体。SlowerLogLog在计算上比HyperLogLog更昂贵,但通过最大似然估计(MLE)可以更简单地估计唯一元素的数量及其标准误差。它适用于小基数,且不需要将寄存器数量设为2的幂。SlowerLogLog通过迭代哈希值将每个元素分配到所有寄存器中,使其寄存器可以被视为统计独立观测值。文章详细描述了SlowerLogLog的更新、合并和估计算法,并提供了Julia和C语言的实现示例。
2020-02-06 15:00:00
Evan Miller介绍了一种名为SlowerLogLog的HyperLogLog数据结构的变体。SlowerLogLog在计算上比HyperLogLog更昂贵,但通过最大似然估计(MLE)可以更简单地估计唯一元素的数量及其标准误差。它适用于小基数,且不需要将寄存器数量设为2的幂。SlowerLogLog通过迭代哈希值将每个元素分配到所有寄存器中,使其寄存器可以被视为统计独立观测值。文章详细描述了SlowerLogLog的更新、合并和估计算法,并提供了Julia和C语言的实现示例。
2020-02-06 14:50:34
规模经济是指企业通过扩大生产规模,提高效率,从而降低单位成本的现象。大型企业因其规模经济优势,在类似产品上能以更低的价格销售。规模经济分为外部和内部两种,外部规模经济受外部因素影响,如税收减免、政府补贴等;内部规模经济则由企业自身控制,如批量采购、投资先进技术等。规模经济的好处包括降低成本、提高利润、增强竞争力等,但同时也可能带来沟通困难、效率降低等弊端。企业应通过加强管理和沟通,充分利用规模经济优势。
2020-02-06 11:54:37
2019年,Harry's公司举办了年度Hackathon,旨在通过“左顾右盼、持续改进、团结协作”的价值观,让员工享受团队合作的乐趣。策划过程中,团队面临预算、主题、日程、宣传、评审和演示等挑战。最终,以“Let’s Talk”为主题,通过Slack、会议和海报等方式进行宣传,吸引了约30人参与。评审环节,团队采用了详细的评分卡和Google表单,最终评选出前三名和最受欢迎奖。活动结束后,收到了积极的反馈,但也发现了一些改进空间,如考虑团队奖项、调整日程以避开假期高峰期等。
2020-02-06 10:00:00
Vercel推出Zero Config Deployments,简化了项目设置和部署流程。用户只需导入Git仓库,即可自动部署每个push和pull request。新功能支持非JavaScript项目,如Hugo网站,并允许用户自定义项目设置。通过Vercel CLI,用户可以轻松创建和管理项目,包括自定义框架设置和手动部署。这些改进使得部署项目更加便捷,并支持更多类型的网站和项目。
2020-02-06 09:00:00
2020年2月,Node.js发布了针对多个安全问题的更新。这些更新修复了可能导致HTTP去同步攻击、用户会话劫持、cookie中毒和点击劫持等安全漏洞的问题。更新包括对HTTP头解析的严格性提升,并将在2020年2月4日或之后发布。所有受影响的Node.js版本(10.x、12.x和13.x)都需要进行更新。用户可通过Node.js安全策略页面和专门的邮件列表获取最新安全信息。
2020-02-06 08:56:46
本文介绍了如何使用Jest测试环境模拟Firebase的功能。通过Firebase Admin SDK设置Firebase,并使用Jest的mock功能模拟数据库和认证操作。文章详细展示了如何创建课程记录的示例,并提供了相应的测试代码。同时,文章还指导了如何正确模拟Firebase的timestamp,以及如何将Firebase的mock设置应用到其他测试中。
2020-02-06 08:38:12
Node.js发布了v13.8.0版本,这是一个安全更新版本。主要修复了三个安全漏洞,包括HTTP头处理、HTTP请求走私和TLS服务器断言触发。同时,HTTP解析器变得更加严格以提高安全性,但可以通过命令行标志或http选项来禁用严格检查。该版本提供了多种安装包和二进制文件,适用于不同操作系统和架构。
2020-02-06 07:00:00
昨日,我在Twitter上发现了@climagic账号分享的一个强大的命令,用于查找从现在起至x天前的回文日期。该命令通过一系列命令组合实现,首先生成从现在起至332044天的日期序列,然后使用`date`命令格式化日期,接着去除空格并反转日期字符串,最后使用`awk`命令筛选出回文日期。文章详细解释了每个命令的作用和实现方式,并提供了示例输出。
2020-02-06 00:13:05
Node.js发布了v12.15.0版本,这是一个安全更新版本。主要修复了三个安全漏洞,包括HTTP头值未正确处理、HTTP请求走私和TLS服务器断言触发。同时,HTTP解析器变得更加严格以提高安全性,但可以通过命令行标志或http选项来禁用严格检查。该版本提供了多种安装包和二进制文件,支持多个操作系统和架构。
2020-02-06 00:11:18
Node.js发布了v10.19.0版本,这是一个安全更新版本。主要修复了三个安全漏洞,包括HTTP头处理、HTTP请求走私和TLS服务器断言触发。同时,HTTP解析器变得更加严格以提高安全性,但可以通过命令行标志或http选项来禁用严格检查。该版本提供了多种安装包和二进制文件,支持多个操作系统和架构。
2020-02-06 00:00:00
在FOSDEM上,一场由微软和GitHub代表举办的关于开源可持续性的讨论引发了我的思考。讨论中提到了开源社区面临的危机,如left-pad、event-stream和heartbleed等事件,并探讨了这些是否可以被视为可持续性问题。我特别关注了企业依赖大量开源库的情况,并质疑了这种做法。我主张与开源项目背后的开发者建立联系,参与社区,共同维护开源项目的健康和可持续性。
2020-02-05 21:00:00
人们普遍渴望保持诚信,无论是信仰上帝设定的普遍真理,还是遵循内心的指南,或是投身于崇高的事业。观察他人以诚信行事,我们感到满足和自豪。然而,有时人们会放弃诚信,甚至贬低它。尽管如此,诚信始终是人们追求的美好品质。在多元化的社会中,我们仍应鼓励、保护和赞美每个人对诚信的追求。
2020-02-05 21:00:00
合理的时间限制有助于界定解决方案的空间。时间限制的目的是帮助我们完成任务,明确决策,协调共同任务,并为下一步做好准备。然而,不合理的时间限制可能导致工作质量下降或员工健康受损。即使合理的时间限制也可能带来意想不到的后果,如限制创新和长期投资。因此,员工和制定时间限制的人应进行有效沟通,讨论时间限制对解决方案的影响,并探讨不同时间限制可能带来的不同结果。
2020-02-05 21:00:00
作者创作了一种名为“Metaballs”的生成艺术作品,通过将球体平滑融合,形成有机形状,并使用笔式绘图仪将之转换为矢量文件。作者在创作过程中,从自己想象出发,通过尝试不同的算法和工具,最终实现了预期的效果。在创作过程中,作者遇到了挑战,如算法实现和图像处理,但通过不断学习和调整,最终成功完成了作品。作者对创作过程感到满意,并期待将作品打印出来。
2020-02-05 13:55:42
作者分享了自己从Windows 10迁移到Arch Linux并使用i3窗口管理器的经历。他最初在Windows上使用Ubuntu VM运行i3,但大部分工作仍在Windows上进行。迁移到Arch Linux后,他开始深入体验i3,通过定制配置文件和工具,如rofi、LXAppearance、i3status-rust等,优化了他的工作流程。他强调了i3的可定制性,以及如何通过配置文件提高工作效率,使窗口管理器更好地服务于个人需求。作者鼓励程序员尝试使用i3这样的tiling窗口管理器,以提高工作效率和专注度。
2020-02-05 11:00:00
本文介绍了如何在React应用程序中使用正则表达式测试密码强度。作者通过创建一个简单的React项目,展示了如何根据密码的长度、字符类型和特殊字符的使用情况来改变背景颜色,从而直观地展示密码强度。文章详细介绍了如何设置React组件、编写正则表达式以及如何根据密码强度改变背景颜色。通过这种方式,开发者可以引导用户创建更安全的密码,从而提高应用程序的安全性。
2020-02-05 10:01:18
作者分享了自己从Windows 10迁移到Arch Linux并使用i3窗口管理器的经历。他最初在Windows上使用Ubuntu VM运行i3,但大部分工作仍在Windows上进行。迁移到Arch Linux后,他开始深入体验i3,通过定制配置文件和工具,如rofi、LXAppearance、i3status-rust等,优化了他的工作流程。他强调了i3的可定制性,以及如何通过配置文件提高工作效率,使窗口管理器更好地服务于个人需求。作者鼓励程序员尝试使用i3这样的tiling窗口管理器,以提高工作效率和专注度。
2020-02-04 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2020-02-04 21:00:00
作者购买了一台Dell U2718Q 4K显示器,但与MacBook Pro连接时遇到了问题。首先,使用苹果官方USB-C转HDMI适配器连接后,虽然实现了4K分辨率,但存在延迟和30Hz刷新率的问题。更换为USB-C转miniDisplayPort线缆后,虽然解决了延迟问题,但出现了闪烁。最终,作者选择了Cable Matters的USB-C转DisplayPort线缆,成功实现了4K@60Hz无延迟,并解决了颜色问题。作者总结,若要在Mac上使用4K@60Hz,应避免使用廉价线缆和适配器,选择高品质线缆是关键。
2020-02-04 14:00:00
作为一家支付处理公司,WePay非常重视账目核对,确保所有支付款项准确无误。随着公司业务扩展和新产品推出,他们面临着处理大量不同支付流程和外部支付处理器的挑战。WePay采用双重记账系统,通过Apache Airflow和BigQuery等工具,实现了灵活、可维护和可靠的每日核对系统。该系统包括多个支持组件,如子账本报告和差异检测,以确保数据质量和准确性。通过实时数据基础设施和可靠的调度解决方案,WePay能够及时发现并解决账目问题,从而提高效率和准确性。
2020-02-03 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2020-02-03 21:00:00
本文探讨了如何通过多种技术手段减小Docker镜像的大小,以优化容器化应用。文章首先介绍了多阶段构建的概念,通过将构建过程和运行环境分离,显著减小最终镜像的大小。接着,文章详细解释了静态链接和动态链接的区别,并强调了使用Alpine Linux的重要性。此外,文章还讨论了针对不同编程语言(如Go、Java、Node、Python等)的特定优化方法,以及如何利用Alpine和Distroless等技术进一步减小镜像体积。最后,文章通过实际案例展示了不同优化方法的效果,并提供了相应的Dockerfile示例。
2020-02-03 14:42:55
GoCardless for Xero今日推出分期付款功能,允许商家将单笔发票金额分成多次支付。这一功能有助于提高客户消费意愿,吸引更多客户,简化支付流程,并加强客户关系。研究表明,银行借记是支付分期付款的首选方式。通过GoCardless for Xero,商家可以轻松管理分期付款,减少行政负担,提高客户满意度。
2020-02-03 10:00:00
Vercel为用户提供了一种更便捷的联系方式——支持表单。用户只需在仪表盘中选择“支持”,填写详细信息后提交,即可获得快速响应。这一新功能旨在提高用户与Vercel支持团队的沟通效率,并确保问题得到有效解决。通过收集用户反馈,Vercel不断优化平台,提升用户体验。
2020-02-03 09:19:00
本周分享了一些关于软件测试和安全方面的资源。文章首先介绍了成为软件QA专业人员的职业路径,并推荐了一篇相关文章。接着,分享了黑客路线图,概述了渗透测试所需学习的内容和资源。文章还涉及了系统编程中的概率问题、Erlang的“让它崩溃”错误处理哲学、PostgreSQL的自动清理、算法卡片集、sudo工具的用途、代码形状、加密安全性的差异等。此外,还推荐了一些开源代码、工具和Ruby机器学习库。
2020-02-02 22:00:00
在职业生涯中,作者参与了多个以性能为核心的项目,如Livegrep、Taktician和Sorbet。作者强调,性能不仅是软件的一个属性,更是一项独立的功能,它改变了工具的使用方式和感知。性能好的软件能提高用户的工作效率,并允许用户以新的方式完成任务。作者指出,性能需要在项目生命周期中持续关注,从架构设计到代码实现,都需要考虑性能因素。性能好的软件可以简化架构,减少复杂性,并提高开发效率。作者呼吁在设计软件时不要忽视性能,因为性能好的软件往往更易用、更高效。
2020-02-02 21:00:00
作者在博客中分享了自己对正则表达式的热爱,并展示了一个用于验证互联网域名字符的regex。然而,作者很快意识到自己之前设计的regex存在错误,未能正确验证域名。通过纠正错误,作者提出了一个正确的regex,并解释了其工作原理。文章强调了正则表达式的重要性,同时也提醒了读者在编写regex时可能遇到的陷阱。
2020-02-02 21:00:00
在探索和学习的过程中,我们可能会尝试一些看似无益的方法,但除非尝试,否则无法得知其效果。在会议中,我们可能会遇到将讨论引向死胡同的情况,这虽然令人沮丧,但也是学习的一部分。虽然导师和领导者可以帮助我们避免许多死胡同,但完全避免是否真的有助于学习?有时候,即使预感某项探索可能无益,我们也可能允许它发生,甚至鼓励它,因为在这个过程中,可能会有意想不到的收获。
2020-02-02 21:00:00
昨天我尝试了Docker,发现它非常适合运行各种服务器组件。Docker将服务器组件封装在“黑盒”中,简化了管理。使用`docker-compose`,可以同时运行多个服务,如数据库、消息服务器和REST API。通过配置文件`docker-compose.yml`,可以轻松启动和访问这些服务。Docker还提供了日志监控和资源清理功能,确保服务器组件高效运行。
2020-02-02 21:00:00
在Linux系统中,当大量自动挂载的目录被快速连续挂载时,会导致systemd缓冲区空间不足,从而影响cron作业和系统登录。通过使用SystemTap工具,作者发现systemd会为每个挂载的目录创建systemd单元,并在挂载过程中产生大量消息,导致dbus消息队列满。作者还发现,systemd通过监控/proc/self/mountinfo文件来跟踪挂载点变化,并将这些信息通过dbus发送给systemd-logind。当系统繁忙时,消息队列可能会满,导致系统服务失败。作者提出了一个解决方案,并希望上游社区能够解决这个问题。
2020-02-02 21:00:00
为了获得更好的浏览体验,请确保您的浏览器已启用JavaScript。若需要帮助启用,请点击链接获取指导。
2020-02-02 21:00:00
Serverless Framework Pro正式推出Serverless CI/CD服务,旨在优化无服务器开发者的持续集成和部署流程。该服务支持多环境部署、拉取请求预览、分支部署和单仓库支持等功能,帮助开发者更高效地开发和部署应用。用户只需注册Serverless Framework Pro账户并遵循入门指南即可免费使用。该服务提供免费层和付费层,支持灵活的并发构建和监控功能。