headless chrome puppeteer

Headless 最早的时候在 PhantomJS 听说过这个概念,后来在 GitHub 各种项目中总有人不断提起这个概念,而最新看到的新闻便是 Chrome 开始支持 Headless,也正激起了我了解的欲望。 什么是 Headless Chrome Headless Chrome 是一个没有前台界面,只在后台运行的浏览器。浏览器正常的所有解析,渲染都可以由其完成。而开发者可以通过 client 和这个浏览器建立连接,通过 Google 提供的 Chrome DevTools Protocol 协议 来进行交互。总的来说 Headless 浏览器提 Read more ...

2017-10-31 chrome , headless-chrome , linux

vimrc 配置中 Vim 键映射

Vim 本身有很多快捷键,vimrc 也可以配置很多快捷键,当然 Vim 也支持将不同的键映射到不同的键或者命令上。 最常见的键映射就是 nmap vmap imap 分别对应着修改普通模式 (Normal) ,选择模式 (Visual),和插入模式 (Insert) 下的键映射。 对于这几种模式,可以参考 Vim 模式 Map 命令 其实对于 map 命令的种类远不止于此 noremap 非递归映射 non-recursive nmap vmap imap cmap 在命令模式下生效 递归映射的意 Read more ...

2017-10-30 vim , linux , editor

Vim 全局命令 g

全局命令 :g 在 Vim 中有着意想不到强大的功能。当想要在整个文件中对于匹配的行或者不匹配行进行一些操作时,应该第一时间想到这个 :g 命令。 :[range]global[!]/{pattern}/{command} 简写可以写成 :[range]g/pattern/command [range] 指定文本范围,默认为整个文档 pattern 在范围 range 内的行如果匹配 pattern,则执行 command ! 表示取反,也就是不匹配的行,也可以使用 vglobal command 默认是打印文本 整个命 Read more ...

2017-10-29 Vim , Regex , Linux

kibana query 语法

Kibana 的查询语法基于 Lucene 的查询语法,他允许 boolean 值,通配符,过滤器等等操作。 字符串查询 通常一个查询会包含一个或者多个单词或者组合。一个简单的查询语句就是用引号包含的一组词,比如 “search demo”. 如果不包含双引号,Kibana 会单独的去匹配每一个词。 正则表达式查询 大部分正则表达式是允许匹配部分字符的,然而在 Lucene 中,正则表达式用来匹配整个字符串,比如 abcde 这个字符串 使用 ab.* 能够匹配 但是使用 abcd 是不能匹配的 正则表达式中,有一些保留字符 . Read more ...

2017-10-29 kibana , lucene

每天学习一个命令:代码搜索工具 ack-grep

ack 是一个代码搜索工具,作者 厌烦了 grep 复杂的语法,所以创造了 ack 来解决痛点。ack 使用 Perl 语言开发,使用友好,速度快。ack 在大量代码文件中的搜索效率极高。 安装 sudo apt-get install ack-grep 使用 文本搜索 默认情况下 ack-grep 会搜索当前目录下所有文件内容,只要包含关键字就会输出。 ack-grep keyword ack-grep -l keyword # 只显示文件名 ack-grep -i keyword # 忽略大小写 ack-grep -w Read more ...

2017-10-26 ack , linux , command

Nginx 反向代理 Google 配置

使用编译安装 Nginx,将 ngx_http_substitutions_filter_module 和 ngx_http_google_filter_module 两个模块编译进 Nginx。具体内容可以参考安装篇。 对于 Nginx 基本设置可以参考 配置篇 . 这篇主要演示 Nginx 作为一个反向代理服务器的基本设置。 Nginx 反向代理最重要的一个配置就是 proxy_pass ,该配置接受一个参数, URL ,也就是 Nginx 转发的目的地。Nginx 会自动将请求的 URI 替换为 proxy_pass 配置的 URI。 lo Read more ...

2017-10-25 linux , nginx , web , proxy , google

Nginx 配置详解

Nginx 的相关介绍及安装可以参考之前的一篇文章 Nginx 相关的配置, Nginx 中的配置有两种分类,一种为单纯的指令 (directive),另一种为上下文配置块 (configuration context)。 指令 (directive),包含名称和参数名,以分号结束,比如 gzip on; 上下文通常声明一个作用域,比如 server 块 server { listen 80; } 在上下文中使用相同的指令时需要小心,一般子级上下文中的指令会覆盖父级中定义的值。 全局块 Nginx 的全局配置是影响整个 WEB Read more ...

2017-10-23 nginx , web , server , linux , proxy , web-server , apache

Git commit 中使用 gpg 签名提交

Ubuntu 下,GnuPG 2.0 的支持都在 gnupg2 这个 packages 下,通过下面命令安装: sudo apt-get install gnupg2 GitHub 要求使用 GnuPG 2.1 及以后的版本。 Mac 下安装使用 在 Mac 下需要安装: brew install gnupg brew link --overwrite gnupg brew install pinentry-mac # 密码输入管理器 然后在 shell 配置 (.bashrc 或 ~/.zshrc) 中添加 export GPG_TTY= Read more ...

2017-10-20 github , git , gpg , linux

升级 Spring MVC 3.2.x 到 4.x 注意事项

把 Spring 版本从 3.2.x 升级到了4.x ,这里记录一下。 新特性 Java 8 Support, 从 4.0 开始支持 Java 8,可以使用 lambda 表达式,等等 Java 8 的特性 Groovy DSL 新增 @RestController 注解,这样就不需要每个方法都使用 @ResponseBody 了。 更多内容可以查看: https://docs.spring.io/spring/docs/4.3.x/spring-framework-reference/htmlsingle/#spring-whats-new Read more ...

2017-10-19 Spring , Java , Web

Linux 安装 nodejs

nodejs 安装其实非常简单,大部分情况下 Debian/Ubuntu 下只要使用包管理直接安装 sudo apt-get install nodejs sudo apt-get install npm 即可。 脚本安装 可是今天网络环境太差,不是 npm package not found 就是 update 半天不动。 官网 提供的安装方式 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs 也是网 Read more ...

2017-10-18 linux , nodejs , npm , js , javascript

最近文章

  • Gemini 2 的原生多模态图片生成 Google 今天发布了 Gemini 2.0 Flash 的多模态图像生成功能。
  • Helm 使用 Helm 是 [[Kubernetes]] 的一个包管理工具,用来简化 Kubernetes 应用的部署和管理。
  • K8s 部署 TiDB TiDB 是由 PingCAP 开发的一款开源分布式 SQL 数据库,支持事务处理和实时分析。它与 Kubernetes 的结合使得数据库能够实现云原生化,具备弹性扩展、自动故障转移等特性。
  • 开源 Kotlin ORM 框架 Exposed 使用说明 Exposed 是 JetBrains 在数年前推出的轻量级 ORM 框架,Kotlin 编写,已经在 JetBrains 内部多个关键产品使用。
  • Open WebUI 基于网页的大语言交互界面及联网搜索配置 之前的视频也介绍过,ChatWise,Cherry Studio,Chatbox 等大语言模型调用的本地客户端,虽然这些客户端都还是跨平台的,但是总还是需要占用本地的空间,今天我就来介绍一款基于网页的 LLM 交互客户端 Open WebUI,以及再介绍一下如何配置 Open WebUI 让其支持联网搜索。