pipeline
终于有一个 Java 可以用的微信机器人了
终于有一个 Java 版的微信机器人了。
公众号很久没有更新了。主要两个原因,换了工作之后,第一,要花更多的时间去了解和学习新的业务。第二,我最近把几乎所有的业余时间都来写这个 Java 版的微信机器人了。
Wechaty 是什么
官网的描述是:
- A Conversational AI RPA SDK for Chatbot
其实就是一个能够快速构建聊天机器人的开源 SDK。最早的时候,Wechaty 只是一个基于服务于微信工具库,现在逐渐的发展到可以对接世面上的主流聊天软件包括不限于:微信,企业微信,钉钉,Line 等。
编程语言也由原来的单一语言(TypeScript) 发展到,Java,Scala,Python,Go 等多语言实现的工具库了,同时社区生态还在不断的壮大。
Github 地址:https://github.com/wechaty/wechaty 目前已经有 7.9k 的 star 了。
Vertx入门到实战—实现钉钉机器人内网穿透代理
钉钉机器人回调内网穿透代理--使用篇
“山川异域,风月同钉”,被钉钉暴打的你,是不是已经想写一个机器人调戏一下钉钉了。在写机器人的时候,钉钉机器人的回调需要填写一个公网 http 地址。
这还没开发机器人,就没有 http 服务,没有 http 服务就收不到钉钉的回调,没有回调就不能调试机器人。不能调试机器人,就不能上线。
周末补习(一)trie 树
那些有趣的代码(三)--勤俭持家的 ArrayList
那些有趣的代码(二)--偏不听父母话的 Tomcat 类加载器
看 Tomcat 的源码越看越有趣。Tomcat 的代码总有一种处处都有那么一点调皮的感觉。今天就聊一聊 Tomcat 的类加载机制。
了解过 JVM 的类加载一定知道,JVM 类加载的双亲委派机制。但是 Tomcat 却打破了 JVM 固有的双亲委派加载机制。
那些有趣的代码(一)--有点萌的 Tomcat 的线程池
最近抓紧时间看看了看tomcat 和 jetty 的源代码。发现了一些有趣的代码,这里和大家分享一下。
Tomcat 作为一个老牌的 servlet 容器,处理多线程肯定得心应手,为了能保证多线程环境下的高效,必然使用了线程池。
但是,Tomcat 并没有直接使用 j.u.c 里面的线程池,而是对线程池进行了扩展,首先我们回忆一下,j.u.c 中的线程池的几个核心参数是怎么配合的:
- 如果当前运行的线程,少于corePoolSize,则创建一个新的线程来执行任务。
- 如果运行的线程等于或多于 corePoolSize,将任务加入 BlockingQueue。
- 如果 BlockingQueue 内的任务超过上限,则创建新的线程来处理任务。
- 如果创建的线程超出 maximumPoolSize,任务将被拒绝策略拒绝。
这个时候我们来仔细看看 Tomcat 的代码:
首先写了一个 TaskQueue 继承了非阻塞无界队列 LinkedBlockingQueue<Runnable>
并重写了的 offer 方法:
从需求第三定律说起--为什么知乎的回答质量下降了
恭喜知乎 F 轮融资成功,今天不谈技术,谈谈别的。