Patterns and Hints for Concurrency in Go -- Replicated service client
ReplicatedClient
ReplicatedClient interface
12345678910111213type ReplicatedClient interface { // Init initializes the client to use the given servers. // To make a particular request later, // the client can use callOne(srv, args), // where srv is one of the servers from the list. Init(servers []string, callOne func(string, Args) Reply) // Call makes a request an available server. // Multiple goroutines may call Call concurrently. // Find an available server and kee ...
Patterns and Hints for Concurrency in Go -- Work scheduler
use channel as synchronized queue
Scheduling n machines to execute m tasks, and each task may be different
12func Schedule(servers []string, numTask int, call func(srv string, task int))
We can use a channel install of stack or queue, because it’s a good synchronized queue.
123456789101112131415func Schedule(servers []string, numTask int, call func(srv string, task int)){ idle := make(chan string, len(servers)) for _, srv := range servers{ idle <- srv ...
Patterns and Hints for Concurrency in Go -- Publishsubscribe server
PubSub interface
A classic publish subscribe server operates in three ways: subscribe、publish、cancel.
123456789101112type PubSub interface { // publishes the event e to all current subscriptions. Publish (e Event) // registers c to receive future events. // if Publish(e1) happens before Publish(e2), // subscribers receive e1 before e2. Subscribe (c chan<- Event) // cancels the prior subscription of channel c. Cancel(c chan<- Event)}
A simple implementation is as follows:
1234567 ...
logseq搭配简悦建立自己的知识库
实现效果
网页标注,自动离线到本地(网页内容+标注),logseq 里面建立双链,同时还可以自动跳转到本地文件具体内容处
这样的话可以实现一个工作流:
第一阶段:网页内容标注
第二阶段:logseq整理建立联系
第三阶段:Notion知识整合输出(或者是在logseq里面输出也行,可以用很多相关联的双链直接输出一篇文章,而不用反复复制粘贴)
本地知识库:在第一阶段标注的时候,会自动保存网页内容+标注到本地,个人认为会带来几个好处:
避免内容失效404
搜索相关知识点时候可以先在本地笔记或者缓存目录搜索先,这样相当于是先查找自己的笔记,对知识利用率更高,Windows下可以用FileLocator、Mac可以用DEVONthink
对于一些英文文章的学习,可以先双语翻译,然后做笔记保存,下次查看时候有双语翻译和笔记,效率提高很多
网络上文章都是抄来抄去,复制粘贴,对于某些知识点其实完全可以通过双链引用形成一篇文章,内容可以来自官网、著名书籍pdf等,这样就不会学到很多假知识
实现参考文章:
当简悦变成你的知识库(离线且具有永久链接) · Discussion #2221 · Ke ...
JetBrains Gateway远程开发初体验
介绍Remote Development with JetBrains Gateway
JetBrains Gateway is a compact desktop app that allows you to work remotely with a JetBrains IDE without even downloading oneJetBrains Gateway是一个轻量的桌面应用程序,允许在不下载JetBrains IDE的情况下远程使用JetBrains IDE
白话介绍一下:通过使用该软件ssh连接到Linux环境,自动下载IDE到Linux并配置,稍等一会本地会弹出个IDE窗口进行工作。
具体效果看下图:
使用教程Linux环境Gateway目前只支持在Linux上配置(后续会支持macOS 和 Windows),所以需要一个Linux,由于用的是Windows,所以最简单方式就是安装一个VMware,然后到https://www.linuxvmimages.com/images/下载一个为VMware处理好的镜像,下载完成后直接打开即可。
第一个尝试的发行版是V ...
telegram聊天记录入库elk
telegram中文搜索功能一直很差,但是telegram上面的内容搜索引擎却又无法索引,虽然已经有大佬做了一个专门的telegram引擎,但是只覆盖到部分群组,没有我想要的群组,为此抽空搞了下elk的方案去索引聊天记录
(仅用来学习交流,勿用于不符合法律法规操作)
telegram中文搜索
docker-elkdocker-compose启动安装elk最快的方式自然是docker的方式,es官方提供了dockerfile,只需要使用docker-compose启动即可
123git clone https://github.com/deviantony/docker-elkcd docker-elkdocker-compose up -d
第一次下载镜像可能会慢点,安装完成后可以测试一下有没有安装成功了,浏览器访问kibana控制台即可http://127.0.0.1:5601。
重置密码安装好后修改一下默认密码,免得出什么问题。对服务默认的账户进行默认密码重置:
1docker-compose exec -T elasticsearch bin/elasticsearch-setu ...
退休计划p1-为何讲起财产自由
财产自由的目标最近正在学习费曼学习法,其核心思想是以教代学,用输出倒逼输入,正好近期也看了也谈钱公众号的财产自由的一些文章,有所感悟,整理成了思维导图,用费曼学习法的方式输出,并不断回顾知识。
财产自由计划我觉得也可以作为退休计划去看待,其实生活中大部分的烦恼来自于工作,如果我们某一天不用为了生计去工作,就不用再被这些烦心事去约束,去把有限的时间投入到无限的热爱的事情中去。
当然,财产自由是不想干什么就可以不想干什么,而不是想干什么就干什么
财产自由对比财产富裕这里就直接引用也大的话来讲:
财务自由和财务富裕实际是两个概念。自由是个相对值,起点越低、欲望越少,自由也越容易,每个人都可以通过自我管理来实现;而富裕是个绝对值,严格来讲并非人人可及。这里我们只谈财务自由,不谈富裕。
关键点是自由是每个人都可及,并且通过自我管理就可以实现,每个人都有无限的可能。
我自己的财产自由计划看也大的文章过程中也等于学习知识的一种过程,学习不只是为了记住什么,而是我们通过学习建立自己行之有效的思维框架,并将知识运用到实践中,解决生活和工作中的实际问题。
所以将实践与知识结合尤为重要,我自己也思考 ...
MIT6.824-Raft中使用锁的建议
Raft Locking Advicehttp://nil.csail.mit.edu/6.824/2020/labs/raft-locking.txt
If you are wondering how to use locks in the 6.824 Raft labs, here are some rules and ways of thinking that might be helpful.
如果您想知道如何在6.824 Raft labs中使用锁,以下是一些可能会有所帮助的规则和思考方法。
规则1:go raceRule 1: Whenever you have data that more than one goroutine uses, and at least one goroutine might modify the data, the goroutines should use locks to prevent simultaneous use of the data. The Go race detector is pretty good at detecti ...
即使睡了7.5个小时,我仍然感觉不到精力充沛
翻译自《I Wasn’t Feeling Refreshed Even After 7.5 Hours of Sleep. Here’s How I Fixed It | by Samir S. | In Fitness And In Health | Medium》
https://medium.com/in-fitness-and-in-health/i-wasnt-feeling-refreshed-even-after-7-5-hours-of-sleep-here-s-how-i-fixed-it-f785a51fec15
Getting enough sleep is perhaps one of the most important things we can do for our health and body. Sleep is a chance for the body to repair itself and to reenergize.
充足的睡眠可能是我们能为我们的健康和身体做的最重要的事情之一。睡眠是身体自我修复和重新获得能量的机会。
Ever sin ...
火车头使用教程
声明:本教程无任何盈利目的,仅供学习使用,也不会对网站运行造成负担,请勿用于任何商业用途。
火车头简介火车采集器官网-网页抓取工具火车头采集器免费网站采集软件
火车采集器,一款专业的互联网数据抓取、处理、分析,挖掘软件,可以灵活迅速地抓取网页上散乱分布的数据信息,并通过一系列的分析处理,准确挖掘出所需数据。火车采集器历经十二年的升级更新,积累了大量用户和良好口碑,是目前最受欢迎的网页数据采集软件。
简单来讲,就是使用软件来简化我们的爬虫过程,在整一个过程中,不需要编写代码就能够实现爬虫逻辑。
举例爬取任务需要分页爬取所有页面,并对页面上所有感兴趣的条目进一步爬取二级URL
新建任务添加一个任务
网址采集规则-网址获取
起始网址填上【第一页的URL】
网址获取选项的意思:提取当前页面上想要爬取的条目的URL,比如xx网第一页上的符合条件的所有商品链接。
12345678910111213141516171819202122<div class="Z_list-box">...<div class="pic-box"> ...