avatar
HackerPie
Unicode?UTF-8?GBK?……聊聊字符集和字符编码格式
按照习惯起个调 作为程序员,经常会在编程语言、操作系统、网络以及文本编辑等多个层面遇上字符集或者字符编码的问题,尽管一般都能快速通过搜索引擎找到解决方案,但是对于这种字符集以及其相关的字符编码格式的知识,倒是未曾系统梳理。恰逢近期有了一些收获,趁热记录分享下。 从 Unicode 和 UTF-8 说起 对于类 Unix 操作系统(比如 Mac OS 以及 Linux 操作系统等)的用户来说,会更多地接触 UTF-8 编码格式,我也是其中一个。而我过往总是…
avatar
HackerPie
后缀表达式之逆波兰表示法
从中缀表达式说起 对于人类来说,中缀表达式是最直观自然的,比如“3+5x4”或者“(3+5)x4”,一般来说,对于中缀表达式,在程序中会用一个抽象语法树来表示表达式和求值,比如: 3+5x4 + / \ / \ 3 x / \ / \ 5 4 -------------------------------- (3+5)x4 x / \ / \ + 4 / \ / \ 3 5 后续表达式求值使用二叉树的中序遍历便可。 但是这种表达式对于计算机来说,会有2个可以考虑提升的问题: 对于计算机不够直观,需要在树的结构上进行遍历和求值; 额外…
avatar
HackerPie
依赖倒置原则
说起依赖倒置原则,已经不是个新鲜的词了,虽然也知道依赖倒置原则的具体设计模式,但是一直觉得难以理解何为“倒置”,直到今晚重新静心阅读了 Wikipedia 才恍然大悟!欣喜之余,赶紧写篇文章总结。 传统软件分层设计模式 在软件设计开发的时候,我们都会自然而然思考系统的分层设计,比如以一个典型的三层架构来举例: --------------- 服务层 (提供 API 服务) --------------- ↓ --------------- 业务逻辑层 (封装具体的业务逻辑) --------------- ↓ --------------- 存储层 (处理数据存取) --------------- 依照此架构设计,我们可能自然而然地将各层…
avatar
HackerPie
数据结构:单调栈
什么是单调栈 单调栈是指从栈顶到栈底,栈内元素的值符合单调性的一种特殊数据结构。从栈顶到栈底,元素的值单调递减,称为单调递减栈;反之,称为单调递增栈。 \ 9 / \ 1 / | 7 | | 3 | | 5 | | 5 | | 3 | | 7 | | 2 | | 9 | ------- ------- 单调递减栈 单调递增栈 单调栈的维护 为了维持栈的单调性,在往栈内插入元素时,需要比较循环比较栈…
avatar
HackerPie
记一次Redis数据库配置导致的连接数泄露的问题
问题背景 2017 年圣诞节当天,突然收到一个我经手过的项目的告警邮件,错误消息显示**“Redis::CommandError: ERR max number of clients reached”**。 什么情况?难道这个项目翻车了?第一反应是这台服务器运行着自建的 Redis 数据库,但是客户端只有同个内网的一个 Ruby on Rails 的应用,怎么会有连接数爆掉的可能? 理论连接数计算 老衲掐指一算: sidekiq 客户端所需连接数: 对面 Rails 应用有 10 个 Unicorn 工作进程,每个unicorn进程初始化一个 sidekiq 客户端,一个 sidekiq 客户端默认…
avatar
小毛驴
关于会计学的认知
背景 作为韭菜的自我修养,大概知道上市公司财报到底是好还是不好是有必要的。至少不会在财报发布后,股票波动时一脸懵逼,等着大V们解读。 财报是什么 财报是上市公司依照证监会审计规则提交的经营周期内的财物报告,一般分为季度报告和年度报告。每次财报发布对股票价格都有重大的影响,财报的表现直接反应公司过去的经营增长情况。 财报中有两张会计表,资产负债表和利润表,分别…
avatar
小毛驴
手写汇编,从入门到放弃
2018-03 背景 从去年(2017 年)年底开始一直在学习怎么写高性能计算代码,主要是满足机器学习在线预测的业务需求。作为一个 Pythoner,没人指导,突然转向 C/C++ 领域还是有些许不适应。从最开始的无知者无畏,写过一些吊打 Java 的函数,到最近(2018 年 3 月)见识了 OpenBlas 的手写内联汇编 kernel 之后,算是从入门到放弃了。 编译链接 初入 C/C++ 开发领域,最头疼的就是编译链接,一编译报一堆错误,都不知道发生了…
avatar
小毛驴
稀疏矩阵计算工程实现心得
2018-03-02 在机器学习中,经常遇到稀疏向量,稀疏矩阵。如何高效处理这些稀疏对象,决定了一些模型能否在线落地应用。目前正在专攻这方面,自己瞎琢磨,走了不少弯路,也有一点心得。这里记录下来,不断总结。 算法改进 这是最直接简单的,收益也最大的。比如在千万级以上的向量空间中搜索最近邻居,暴力的两两计算代码层面无论如何加速计算量依然太大了。Faiss 通过预训练聚类和向量压缩大大减少搜索时的计算量,上亿…
avatar
小毛驴
关于RPC框架的思考
2020-10-18 Why RPC 对比 HTTP+JSON 的方案,使用成熟的 RPC 框架有何优势?如果只是想要简单的服务间通信功能,RPC 框架和 HTTP+JSON 并没有什么本质上的区别。至于常常提到的 RPC 更高效, protocol buffer 序列化格式传输数据量小之类的性能优势。不可否认在大公司,数据流量大的场景下抠这些性能是有意义的。但是扪心自问,自己的服务 QPS 有这么高吗? 那么在排除性能优势之后,还有什么使用 RPC 框架的理由呢?答案是:服务治理功能…
avatar
小毛驴
正经公司谁用 service mesh
2020-10-18 Why service mesh 在上篇关于 RPC 框架的文章中,提到了使用 RPC 框架很重要的一个原因是服务治理功能集成。这些功能都是业务无关的,但是以 SDK 的形式集成在业务代码里。这些 SDK 一般由基础设施团队开发,在升级和维护时就需要业务方配合,但是业务方是没有动机去积极配合的。WEB形式的程序能爆发的一个原因是发版权掌握在开发方手里,不需要强制用户去升级客户端,用户体验…
avatar
电子芥末
一个命令行微博客(ipelago), 可订阅RSS,可自定义模板发布静态网站
iPelago: CLI personal microblog (命令行个人微博客) 纯命令行操作,包括两方面功能: 写微博客并生成静态网站 (HTML 和 RSS) 订阅别人的 RSS ipelago 之名 ipelago 源于群岛的英文 archipelago, 如果我们每一个人是一座孤岛,那么当我们搭建自己的微博客,大家的微博客聚在一起就可以形成群岛。 主要功能 (写微博客、订阅RSS) 写自己的微博客 多种方式方便写博文(包括命令行输入、获取剪贴板内容、获取文件内容、通过简陋的 GUI 窗口输入)。 可生成静态网站 (包括…
avatar
Otto
入驻GeekNote
第一天入驻GeekNote. Cheers 👏
avatar
pyzm
第二篇20220403 解决edge请停用以开发者模式运行问题
http://www.yx12345.com/pcpd/7050/743.html
avatar
Rei
GeekNote 新增 Canonical URL 和 RSS 导入功能
GeekNote 是一个技术写作社区。 过去,GeekNote 的开发重心一直放在编辑功能和阅读功能上,所提供的纯净的编辑和阅读体验也获得不少人的好评。但需要面对的现实是,很多有写作习惯的作者已经拥有自己的独立博客,单纯编辑体验的提升并不是迁移博客的充分理由。 于是我一直在思考一个问题,有没有办法让作者不用放弃自己的独立博客,也能融入 GeekNote 的分享和发现网络之中。最近似乎找到了解决办法,这涉及到两个…
avatar
danbai
测试这是我的第一篇文章
测试这是我的第一篇文章的内容
avatar
BestXTools
好工具周刊(第 7 期): Diagrams, Gridzzly, TOONME, PhotoFunia, JSON Visio, 鸭力巨大, SVG Silh
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 | 评论 在线工具 diagrams.net - Diagram Software and Flowchart Maker 一个开源免费的在线画流程图的网站。无需注册,无需登录,可以下载,可以导出为 png, jpeg, svg, pdf 等格式。 链接: https://app.diagrams.net/ 源码: https://github.com/jgraph/drawio Gridzzly.com - Make your own grid paper 可以在线制作并 打印 出…
avatar
BestXTools
好工具周刊(第 6 期): Excalidraw, 正则表达式可视化编辑器, SimpleLogin, Qwerty Learner
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 | 评论 在线工具 Excalidraw | Hand-drawn look & feel • Collaborative • Secure Excalidraw 是一个非常简单易用的在线协作白板、绘图工具,可让您轻松绘制具有手绘感的图表。(@xtar 投稿) 链接: https://excalidraw.com/ 源码: https://github.com/excalidraw/excalidraw 正则表达式可视化编辑器 一个辅助学习、编写和验证正则的工具。它…
avatar
BestXTools
好工具周刊(第 5 期): 用 RSS 订阅竹白的 3 个方法 / 竹白转 RSS, imgggg, Screely, Kill the Newsletter!
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 用 RSS 订阅竹白的 3 个方法 / 竹白转 RSS 最近发现很多在竹白上写周刊的,包括现在这个也是竹白周刊。 竹白目前支持邮箱订阅和微信订阅两种方式,暂时还不支持 RSS 订阅。从一些论坛的留言可以看出,有些读者是…
avatar
BestXTools
好工具周刊(第 4 期): Carbon, Logoly, QRCode Monkey, WatermarkRemover.io
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 优秀工具箱 🧰 集合 很多程序员都喜欢做一个工具箱。平时也会经常用到各种工具。这里收集了一些国内外好用的工具箱。 链接: https://github.com/bestxtools/awesome-toolbox-chinese 欢迎点赞,收藏,投稿。 在线工具 Carbon - 将代码片段转为美观的图片 将代码片段转为美观的图片,可以贴…
avatar
BestXTools
好工具周刊(第 3 期):优秀工具箱 🧰 集合, Poet.so, 艺术二维码生成器
发现并分享有趣,有创意,免费、好用的工具,每周四发布。由 BestXTools 创作。 上一期内容 | 下一期内容 | 往期内容 | RSS 订阅 | 邮箱订阅 | 微信订阅 | 工具推荐 优秀工具箱 🧰 集合 有很多程序员都喜欢做一个工具箱。这里收集了一些好用的工具箱。 链接: https://github.com/bestxtools/awesome-toolbox-chinese 欢迎点赞,收藏,推荐。 在线工具 Poet.so 将 Twitter 推文转成漂亮的图片的工具。 链接: https://poet.so/ 艺术二维码生成器 / 参数化二维码生成器…
首页 搜索 登录 注册