修复 Ubuntu Linux 中 “Command ‘python’ not found” 的错误 (linux.cn)
Python 语言不是以 python 的形式安装的,而是以 python3 或 python2 的形式安装的(在一些老的 Ubuntu 版本中)。
在遥远的过去的某个时间点,Python 实际上是作为 python 包/可执行文件提供的。当 Python 发布第二版时,Ubuntu 和其他发行版不得不同时支持 Python 1.x 和 2.x 版本。
因此,他们将较新的 Python 版本命名为 python2,以区分这两个版本。其他应用或库也在其代码中指定 python 或 python2。
最终,Python 1 版本被完全停用,但软件包继续被命名为 python2。
类似地,当 Python 3 版本发布时,发行版开始同时提供 python2 和 python3 包。
Python 2 不再被支持,Python 3.x 是你在 Ubuntu 上安装的版本。该软件包仍被命名为 python3。
总结一下,你已经在 Ubuntu 上安装了 Python。它是以 python3 软件包方式使用的。
by @技术头条 2022-08-18 23:33 查看详情
日志导致线程Block的这些坑,你不得不防 (tech.meituan.com)
研发人员在项目开发中不可避免地要使用日志,通过它来记录信息和排查问题。Apache Log4j2提供了灵活且强大的日志框架,虽然上手比较快,但稍有不慎也非常容易踩“坑”。本文介绍了美团统一API网关服务Shepherd在实践中所踩过的关于日志导致线程Block的那些“坑”,以及我们如何从日志框架源码层面进行分析和解决问题的过程,并在最后给大家分享一些关于日志避“坑”的实践经验,希望能给大家带来一些帮助。
by @技术头条 2022-08-18 23:32 查看详情
Linux 下解决 grep is directory 问题 (droidyue.com)
Grep 是一个很便捷有用的终端工具,它可以帮助我们快速过滤筛选出一些内容。通常配合 find 命令,可以实现更加强大的能力。
但是我们在执行的时候,总会遇到这样的错误提示输出:grep: ./example/android/.gradle: Is a directory。
之所以出现这个问题,原因是 find . -name "*.gradle" 匹配到了 .gradle 目录,而使用 grep 只是单纯扫描这个目录(非包含内部文件)没有任何意义。
还在解决方法有很多,可以轻松规避这个错误输出。
by @技术头条 2022-08-18 23:30 查看详情
缓存使用的一些经验 (wklken.me)
在一个大的项目中,使用了全缓存模型,即,所有数据都会经过cache。简单分层:应用->内存缓存->redis缓存->数据库。是一个典型的多读写少的场景,并且数据量。请求量非常大。总结了一些使用经验,供参考。
by @技术头条 2022-08-18 23:28 查看详情
SPA nginx try_files 深度优化 (xuexb.com)
上周有幸帮朋友解决一个线上用户端缓存不更新的问题。问题的表现在项目某次发版后,用户端访问页面提示 JS 报错。报错表明是 JS 返回的是 HTML 代码。
经过一番查看后,发现是用户端在发版的时候有访问过,而像 app.afds320.js 这些 JS 还不存在。命中了 localtion / { try_files } 规则。再加上 CDN 上有些默认的配置,给该 HTTP status 200 的文件加了 cache-control: max-age=7d 的缓存时间。导致用户端只要不强刷新或清缓存,这个文件就在7天内一直有问题了。
这个问题其实就是缓存配置的不合理导致的问题,我们应该适当的利用浏览器缓存、CDN 缓存来优化我们的项目。
by @技术头条 2022-08-18 23:23 查看详情
在笔记本上搭建高性价比的 Linux 学习环境:基础篇 (soulteary.com)
本篇文章会尽可能详细的介绍如何在相对廉价的笔记本上搭建高性价比的 Linux 学习环境,让学习和工作都轻松和高效一些。尤其是针对国内网络环境下,如何快速的完成系统的安装和基础配置。使用 Linux 的好处和必要性,我想应该不必过多赘述了,希望本文能够帮助你节约大量不必要的折腾的时间,腾出更多时间来思考、休息、以及打游戏。
by @技术头条 2022-08-18 23:21 查看详情
搭建可维护的 Golang 开发环境 (soulteary.com)
本篇文章将聊聊如何快速搭建 Linux 环境中的 Golang 开发环境。在[《基础篇》]的内容中,我们聊过了如何基于 Ubuntu 22.04 搭建基础的 Linux 学习环境。接下来的文章里,我们先来聊聊如何在 Linux 环境中,快速安装配置各种可维护的语言环境。
by @技术头条 2022-08-18 23:21 查看详情
Go 垃圾回收器指南 (colobu.com)
本指南旨在帮助高级Go语言用户更好地了解Go语言垃圾回收器的使用成本。 它还提供了Go用户如何利用这些知识来提高应用程序的资源利用率的指导。 它并不假设你了解垃圾回收,但假设你熟悉Go语言。
by @技术头条 2022-08-18 23:21 查看详情
等等, 怎么使用 SetMemoryLimit? (colobu.com)
Go 1.19中终于实现了SetMemoryLimit的功能。Go的GC并不像Java那样提供了很多的参数可以调整,目前也就有GOGC这么一个参数,所以能增加一个可以调整GC的参数确实让人兴奋。
by @技术头条 2022-08-18 23:20 查看详情
工程效能CI/CD之流水线引擎的建设实践 (tech.meituan.com)
经过近3年的建设打磨,美团流水线引擎完成了服务端的基建统一,每日支撑近十万次的流水线执行量,系统成功率保持在99.99%以上。本文主要介绍在自研引擎建设层面遇到的挑战以及解决方案。
by @技术头条 2022-08-18 23:18 查看详情
大众点评搜索相关性技术探索与实践 (tech.meituan.com)
搜索相关性用于衡量Query和Doc的相关程度,是搜索引擎的重要环节,本文主要讲述大众点评搜索团队在相关性计算上的技术探索和实践,通过多相似矩阵模型结构、多阶段训练等方法提升预训练模型在相关性问题上的效果,同时解决基于交互的模型在线预测的性能问题,希望为从事相关工作的同学能够带来一些启发或者帮助。
by @技术头条 2022-08-18 23:18 查看详情
CSS排版为何强?瞧瞧多牛这换行 (www.zhangxinxu.com)
在 CSS 这门语言中,凡是 Web 中的换行规则都可以改变,无论是中文的还是英文的,灵活到超出你的想象,非常强大!

在文字内容排版这块,CSS 是计算机领域中无可争议的霸主气,什么 SVG 什么 canvas 根本就是望尘莫及。

by @技术头条 2022-08-18 23:18 查看详情
硅谷旧金山湾区主要划分(南湾-东湾-旧金山-半岛-三谷地区) (www.slyar.com)
我最近发现虽然我们已经在湾区工作生活了很多年了,但是父母那一辈人似乎对湾区的地理,区域划分以及著名地标之间的相对位置还是不甚了解,由此造成的沟通不畅令我很是头疼。花了点时间整理了一下旧金山湾区的主要区域划分并标在了图上,然后简单介绍一下各个区域的特点,做个不那么正式的小科普。
by @技术头条 2022-08-18 23:16 查看详情
Mac 下 终端也能生成二维码了 (droidyue.com)
有些时候,我们需要将链接或者文本转换成 二维码,通常这时候我们会使用网上的在线服务进行处理,其实我们还可以做到更加简单,使用终端即可生成二维码。
这里,我们需要借助 Mac 下 homebrew 的一个库来实现,这个库的名字叫做 qrencode。下面就是关于 这个库的安装,封装,以及使用。
by @技术头条 2022-08-18 23:13 查看详情
跟 Google 学开公司 - 谈谈方向、文化和人 (blog.alswl.com)
大部分年轻人都在一个商业组织(即公司)中工作。 我们似乎对这个商业组织的运作已经很熟悉: 接触公司并进行面试和岗位匹配,在特定的岗位里面工作,过程也许开心或沮丧,通过组织的种种管理手段(KPI / OKR)来完成上级分发的任务。
这个过程中,我们往往遇到不少困惑,有些朋友还经历过职场 PUA(Pick-Up Artist);有些朋友可能感觉自己已经干的足够出色却无法得到晋升;有些朋友感慨合作的上下游太不专业了;总之,我们对公司不满是常态,而对公司满意则是反常。
其实很多时候,雇员的感受是公司运行的规律的投影。 我们制定 OKR 时候想去创造,应该通过什么方法论去开拓工作?这是公司战略决定的。 公司是怎么定义优秀人选的,我有没有机会获得晋升?这是公司用人态度决定的。 996 这么辛苦,我们该怎么去保持生活工作平衡?这是公司价值观和文化决定的。
by @技术头条 2022-08-18 23:13 查看详情
简单一招,百倍提速 Flutter 开发 (droidyue.com)
Flutter 开发中,为了实现更好的解耦与更高的复用,我们都会使用模块化的思路来处理,在Dart 和 Flutter 中,我们会使用 Dart 包或者插件包等,将它们发布到比如自己的unpub 服务器上,然后在壳工程(主工程)中聚合使用。
by @技术头条 2022-08-18 23:12 查看详情
K8S Event事件内容分析和告警 (www.ipcpu.com)
k8s的Event事件是一种资源对象,用于展示集群内发生的情况,k8s系统中的各个组件会将运行时发生的各种事件上报给apiserver 。可以通过kubectl get event 或 kubectl describe pod podName 命令显示事件,查看k8s集群中发生了哪些事件。

apiserver 会将Event事件存在etcd集群中,为避免磁盘空间被填满,故强制执行保留策略:在最后一次的事件发生后,删除1小时之前发生的事件。
by @技术头条 2022-08-18 23:12 查看详情
gitlab免密登录使用.netrc文件 (www.ipcpu.com)
一般来讲, ssh密钥是最好的免密登录方式,但是呢,如果gitlab服务器不支持ssh协议,那么使用古老的.netrc文件是最好的选择。
by @技术头条 2022-08-18 23:11 查看详情
Flutter/Dart release 模式下屏蔽 debugPrint 与 print 输出 (droidyue.com)
当我们在写 Flutter,Dart程序时,release 模式下,我们很奇怪的发现debugPrint和 print 这两个的输出内容,还是能够通过 flutter logs 展示出来。这一点尤其在端上暴露的问题要严重一些,比如涉及到一些敏感信息的日志打印。

本文,将会有两个超级简单的方法,来实现对这些输出的屏蔽,并且是专门治理 release 模式下的问题,debug 模式不受影响。
by @技术头条 2022-08-18 23:11 查看详情
Python爬虫requests爬取页面的编码问题 (www.ipcpu.com)
很多时候,我们发现,requests库返回的页面编码都是ISO-8859-1,需要指定为UTF-8才能正确读取。这是为什么呢?
by @技术头条 2022-08-18 23:10 查看详情