分类: 程序设计

Obsidian自定义文件目录图标

Obsidian自定义文件目录图标

在Obsidian的默认主题中,没有图标来区分左侧文件目录的文件夹和文件,虽然不影响使用,但是体验过于乏味。Obsidian提供了自定义CSS的方式来控制样式,生命不息,折腾不止,我们来试一试吧!在 Obsidian 文件夹里的 .obsidian 里新建一个 snippets 文件夹,再新建一个CSS文件,文件的命名没有限制,但是为了规范,尽可能准确一些,叫做 custom-icons-files-and-folders.css。在 Obsidian 的设置里面启用CSS文件。

Obsidian笔记上手指南

Obsidian笔记上手指南

大学时期,我首次使用了Mybase管理笔记和文档。Mybase的界面有点古板,但是功能异常强大。它的缺点也显而易见,没有移动客户端,无法在多平台同步数据。七八年前,我开始使用Evernote(本土化后叫做印象笔记),客户端UI很美观,但是整体响应有点慢,免费用户的空间也很小。后来朋友向我推荐了有道云笔记,它是国内的产品,界面很清爽,同步数据也很快,一直使用至今。国内知名的笔记软件还有语雀、为知笔记等等,这些产品固然做的很好,但是无法解决让我忧心忡忡的问题:数据安全。没有任何一家公司敢保证决不泄露客户数据,要么是被黑客窃取数据,要么被公司内鬼盗卖数据,这些案例比比皆是。随着我的笔记数量越来越多,有一些隐私数据也放在云笔记上。有道云笔记绝不可能让用户自行存储数据,我必须寻找新的产品来解决数据安全问题。

WordPress文章链接发送给百度收录

WordPress文章链接发送给百度收录

为了更好的让百度索引博客页面,我一直采用百度站长提供的普通收录工具,主动推送新文章网址。程序员不能忍受重复的工作,我必须让这个活儿自动化。思路很简单:在文章状态变化的函数上挂载自定义函数,当文章发布后,触发函数调用HTTP模块提交网址。

ASP已老,尚能饭否?

ASP已老,尚能饭否?

我对ASP的感情,跟大海一样深。我用它实现了第一个动态网页,也用它做了毕业设计,毕业设计的名字是《毕业设计管理系统》(是不是有点绕)。在 PHP 和 ASP.NET、Java 高歌猛进的今天,许多90和00后程序员对ASP比较陌生了。1996年微软公司推出 ASP(Active Server Page),很快成为中小型网站开发的首选。许多企业的门户网站和中小型新闻网站都采用基于ASP开发的内容管理系统。用友软件公司早期几款安身立命的ERP软件,也是采用ASP开发。

基于数据库号段模式实现分布式ID

基于数据库号段模式实现分布式ID

唯一ID是业务系统操作数据的重要凭据。如果是单表,采用数据表的自增主键作为唯一ID即可。在分布式和高并发场景下,数据快速增长,单表可能被拆成多表,如果使用自增主键作为唯一ID,每个表都要设置不同的增长步长,不便于数据库扩展。本文主要介绍基于数据库号段模式实现分布式ID。

演示webuploader和cropperjs图片裁剪上传

演示webuploader和cropperjs图片裁剪上传

熟悉我的朋友,大概都知道我不光后端扎实,也能干点前端的活儿。最近有个项目要在浏览器端裁剪并上传图片。由于缺乏人力,只能我上阵杀敌。通过参考各种文章,最后决定用croopperjs进行图片裁剪,用webuploader上传文件。本文涉及到的知识至少有Java基础、SpringMVC、thymeleaf模版引擎、JS基础、JQuery基础、Bootstrap组件,但是文章重点只是croopperjs和webuploader的组合运用,其他的都是辅助。

如何开发两步验证功能

如何开发两步验证功能

两步验证,是指用户登录账户的时候,除了要输入用户名和密码,还要求用户输入一个动态密码,为帐户添加了一层额外保护。这个动态密码要么是专门的硬件,要么由用户手机APP提供。即使入侵者窃取了用户密码,也会因不能使用用户手机而无法登录帐户。

写一手好SQL很有必要

写一手好SQL很有必要

最近负责的项目主要采用阿里云数据库MySQL,最近频繁出现慢SQL告警,执行时间最长的竟然高达5分钟。导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。