Everything you care about in one place

Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.

Get Feeder

nosuchfield.com

御坂研究所

Get the latest updates from 御坂研究所 directly as they happen.

Follow now 19 followers

Latest posts

Last updated 1 day ago

Kotlin与Java对照手册

15 days ago

Generated By AI📗 1. 基本类型类型Kotlin 写法Java 写法简要说明数字Int, Long, Float, Double, Short, Byteint...

利用whisper为视频自动生成字幕

4 months ago

whisper是一个由openai开发的通用语言识别模型,我们可以使用它来为视频自动创建字幕。环境安装为了加速,我们需要使用GPU来进行计算,因此需要安装基于CUDA的pytorch。首先我们需要安装Miniconda,这里安装的时候直接点击下一步即可。安装完毕之后,我们需要创建一个新的环境,这里我们创建一个名为whisper的环境:conda create -n whisper python=3.8conda activate whisper1. 安装CUDA安装好了Miniconda之后,我们需要安装CUDA,执行nvidia-smi$ nvidia-smiThu Jan 2 11:49:53...

ffmpeg笔记

11 months ago

合并一个文件夹内的所有视频12345find *.mp4 | sed 's:\ :\\\ :g'| sed 's/^/file /' > fl.txtffmpeg...

HTTPS是如何保证数据安全的

over 2 years ago

与Windows大量使用二进制文件和数据传输不同,HTTP(Hypertext Transfer Protocol,超文本传输协议)与Linux/Unix一样都是是基于文本的,这也导致其在传输过程中十分容易被解析和篡改,于是HTTPS(Hypertext transfer protocol secure)应运而生。HTTP协议一般跑在TCP协议之上,而HTTPS协议就是在原来的TCP和HTTP之间增加一层加密的操作,加密解密由Clinet端和Server端完成,由此保证了HTTP协议的内容不被中间人获取和篡改。可见HTTPS的核心就是这一段加密和解密,它是通过SSL(Secure Sockets Layer)安全套接层和TLS(Transport Layer Security)传输层安全协议实现的。SSL与TLS网景公司在1994推出HTTPS协议,由SSL协议进行加密,这就是SSL的起源。SSL有1.0、2.0、3.0标准,后来IETF将SSL标准化并称其为TLS,因此SSL与TLS其实是一个东西。SSL和TLS的一些版本如下协议发布时间状态SSL 1.0未公布未公布SSL 2.01995年已于2011年弃用SSL...

最大堆的原理与实现

almost 3 years ago

基本原理最大堆是一个二叉树,要求这个二叉树的父节点大于它的子节点,同时这个二叉树是一个完全二叉树,也就是说这个二叉树除了最底层之外的其它节点都应该被填满,最底层应该从左到右被填满。显然,最大堆的顶部节点的值是整个二叉树中最大的。我们使用数组来构建一个最大堆,使用数组构建一个二叉树最大堆存在如下性质。假设二叉树某节点在数组中的下标索引为index,则它的父节点在数组中的下标索引为parent = (index - 1) // 2,它的左子节点的下标索引为child_left = index * 2 +...

Pulsar的介绍与安装

almost 3 years ago

简介Apache Pulsar是一个分布式消息队列,它主要由以下三部分组成。组件作用Broker负责producer和consumer的请求还有消息的复制与分发,Broker无状态不存储数据Zookeeper存储元数据、集群配置,负责任务协调还有服务发现等Bookkeeper消息数据还有cursors数据的持久化存储,Bookkeeper的每一个存储节点叫做bookieproducer往Pulsar发送数据,consumer从Pulsar接受数据,consumer接收数据的过程叫做subscription(订阅)。Pulsar有四种订阅模式模式名模式独占(exclusive)一个subscription只能有一个consumer,如果多个consumer使用相同的subscription去订阅一个topic就会报错故障转移(failover)一个subscription允许多个comsumer,但是只有一个consumer会工作。当当前consumer失去连接时,其它的consumer才会上线消费共享(shared)多个consumer可以使用同一个subscription去订阅一个topic,消息通过轮询的方式发送给consumer共享键(key_shared)和上面类似,只是消息会根据key的不同发送给不同的consumerBroker不存储数据,数据存储在Bookkeeper上。topic会分为多个partition,partition则会分配到不同的broker上,producer和consumer会与broker上的partition连接从而实现数据的发送和接收。Pulsar支持多层级的topic,可以设置是否持久化以及租户、命名空间还有topic的名称{persistent|non-persistent}://tenant/namespace/topic安装我们有三个节点172.19.67.171,172.19.67.190,172.19.67.202。首先我们在这三个节点上下载Pulsar的安装包useradd pulsarsu - pulsarwget https://archive.apache.org/dist/pulsar/pulsar-2.10.0/apache-pulsar-2.10.0-bin.tar.gztar -zxvf apache-pulsar-2.10.0-bin.tar.gzcd apache-pulsar-2.10.01. 安装Zookeeper集群,初始化Pulsar集群元数据修改每个节点的conf/zookeeper.conf配置文件,添加如下配置server.1=172.19.67.171:2888:3888server.2=172.19.67.190:2888:3888server.3=172.19.67.202:2888:3888之后针对每个节点的序号,把对应的序号设置到该节点的dataDir目录下的myid文件中mkdir -p data/zookeeperecho...

etcd的简单介绍

almost 3 years ago

安装etcd是一个分布式一致性的键值数据库。首先我们下载程序包useradd etcdsu - etcdwget https://github.com/etcd-io/etcd/releases/download/v3.5.4/etcd-v3.5.4-linux-amd64.tar.gztar -zxvf.tar.gzcd之后我们可以查询etcd的版本$ ./etcd --versionetcd Version: 3.5.4Git SHA: 08407ff76Go...

简单了解一下动态规划

almost 3 years ago

动态规划是一种求最优解的方式,个人了解也不是很深,胡乱写写,算是一点点自己的理解,有不对的地方欢迎批评。动态规划是一种在多个状态间进行转移时,由上一个最优状态推导出下一个最优状态的方式,而上一个最优状态又是由上上个最优状态推导得到的,如此不断向前推进,最后我们只需要知道初始最优状态即可。通过初始最优状态和状态间转移的逻辑和方式,我们就能获得全局最优状态。(是不是感觉有点像数学归纳法?)举一个斐波拉契数列的例子,最简单的解法自然是使用递归实现123456def fab(n): if n == 0: return 0 if n == 1...

常见排序算法的原理和实现

almost 3 years ago

冒泡排序冒泡排序的原理很简单,就是每次都把当前无序序列中最大(或者最小)的元素移动到序列的开头(或者结尾),之后再对除该元素之外的剩余序列做同样的操作。当所有的元素都冒泡完毕之后,整个序列就会变得有序。冒泡排序的过程正如它的名字一般,每次都把序列中最大的元素移动到末尾(假设我们选择了这种规则),这种操作就好像水中的泡泡不断地从水中浮到水面一般。冒泡排序的实现如下,简单观察就可以知道它的时间复杂度为O(n2)123456def bubble_sort(arr): length = len(arr) for i in range(length - 1): for...

【转】意志力:关于自控、专注和效率的心理学

almost 3 years ago

本文转载自小人物,应该是《意志力:关于自控、专注和效率的心理学》这本书的读书笔记。了解你的极限第一,你的意志力供给是有限的;第二,你从同一账户提取意志力用于各种不同任务。意志力的运用分为四大类:控制思维、控制情绪、控制冲动、控制表现/绩效/成绩。所有看似无关紧要的琐事都从身体同一个账户提取意志力。所以在强迫早起,上班塞车强压负面情绪,选择午餐的外卖,抵制摸鱼的诱惑,专注于当前的工作等等需要消耗意志力的行为之后,工作中再遇到棘手的难题就很难再思考解决。而且如果最终屈服于诱惑和冲动,之前损耗的意志力并不会还回来。所以为了已经消耗的宝贵的意志力,一次只做一件事情并且不要放弃。如果你想同时发生几个变化最终可能一个变化都改变不了。设置清晰的目标想满意,就要关注走过的道路;想激发上进心,就要关注前方的道路。一次不要设置太多目标大目标拆解成小目标长期与短期、精确与模糊的目标之间要求得平衡启示1:列个任务清单蔡氏效应:相较于已经完成的工作,人们比较容易记得未完成的或是被打断的工作。你的大脑会无意识地不断念叨提醒你去完成那个未完成的任务、未实现的目标,这会让人太过心烦意乱,无法把精力集中在眼前哪怕是最简单的任务上。为了让声音消失,把这些琐碎的事情列好清单并设置提醒,这样大脑就会了解到某个时间某个地点你会得到提醒去处理。任务清单必须具体到下一步行动。比如超市购物5点去超市买鸡蛋牛奶西兰花。启示2:当心计划谬误计划谬误:人们总是过高估计自己在达到一个目标上所花费的时间、金钱和精力。乐观地制定计划,悲观地实施计划。即使不能完成其中一个目标也不要沮丧,不必每次都实现每个目标——重要的是,你的人生一月一月地渐渐改善了。目标要设置优先次序、分清轻重缓急,并且严格地执行。只有把这个月的目标全都完成了才能继续去攻克其他目标。启示3:经常奖励定目标的同时,也要定下奖励。而且不要把自己限定得太死。如果你只用意志力拒绝东西,那么它就成了残忍讨厌的防守工具。但是,当你用意志力获得东西,你就能从最枯燥的任务中体会到乐趣。游戏很好地运用奖励机制才让人爱不释手沉迷其中。每个人都需要找到对自己有用的小奖励。监控自我自我意识对生存繁殖有什么好处?最佳答案是心理学家查尔斯·卡弗(Charles Carver)和迈克尔·沙伊尔(Michael Scheier)提供的,他们认为,自我意识之所以进化出来,是因为它有助于自我调节。自我意识把“我实际的样子”与“我应该的样子”做比较。我们的祖先是群居的,他们所在的群体奖励那些遵守共同价值观、规矩和典范的成员。因此,能够根据标准调整自我行为的人与不知道自己在社交场合犯了错误的人相比,前者过得更好。根据标准调整行为是需要意志力的,但是,没有自我意识的意志力,就像盲人指挥的大炮一样,是没有用的。正因为如此,我们那些生活在热带草原上的远古祖先才进化出了自我意识;也正因为如此,在更险恶的现代社会环境中,自我意识这个固有特质一直在发展着。启示1:每日记录每天称体重、写饮食日记可以帮助你减肥,就像记账可以帮助你少花钱一样。监控越认真越好。每周称一次体重,好;每天称一次体重,更好;每天称一次体重并把结果记录下来,最好。启示2:他人的影响大量研究表明,孤单地活在世上是有压力的。与社交网络丰富的人相比,独居者和孤独者几乎在每种心理疾病和生理疾病上的发病率都更高。宗教利于增强自我控制的一个要素——行为监控。一般而言,信教的人觉得上帝或者其他神明在看着自己,注意着自己的所作所为、所思所想,甚至知道自己行为背后最隐秘的原因。要是自己因为错误的原因做了貌似正确的事情,那是轻易糊弄不了上帝或者其他神明的。没有信仰的人可以把自己的目标同步给志同道合的人,或者邀请亲近的人监督。但是团队有人松懈了又非常容易放弃。所以要找到靠谱的合作伙伴。转变成日常习惯意志力像肌肉一样可以通过锻炼来增强。心理学家把心智分为自动的和控制的。编码成自动的行为,往往与习惯有关;而编码成控制的行为,往往是不常发生的甚至只发生一次的行为。原来,把自制力用于破除坏习惯、形成好习惯,就能发挥最大效果。健康行为模式的形成需要意志力——所以意志力强的人在这方面做得更好。而且好习惯一旦形成,生活就自动朝良性方向发展。启示1:不可忽视的细节吃好:血糖指数低的食物有利于保持稳定的自制力,比如:大多数蔬菜、坚果(花生和腰果)、生水果(苹果、蓝莓和梨)、奶酪、鱼、肉、橄榄油或者其他好脂肪。睡好:休息能减少身体对葡萄糖的需求,还能全面增强身体利用血糖的能力。有研究证明,剥夺睡眠会损害葡萄糖的加工,这会立即导致自制力下降。保持整洁:干净整洁的环境线索会微妙地影响你的大脑和你的行为,秩序感对意志力的提升至关重要。而且,花点意志力集中精力改变一个方面的自制力,其他很多方面都会受益。远离诱惑:拒绝诱惑需要消耗意志力,不如把意志力花在真正需要的地方,从源头拒绝接受挑战。而且大多数人会高估自己抵抗诱惑的能力。启示2:别无选择如果想要利用意志力培养一个好习惯,可以每天规定一个独立的时间严格执行。比如钱德勒每天留出4小时独立的写作时间:「他不一定非得写。如果他不想写就不该硬着头皮写。他可以看着窗外,或者练习倒立,或者在地上打滚,但是他不可以做其他事情,不阅读、不写信、不看杂志、不开支票。」要么写作,要么什么都不做,直到灵感出现。多遵守一次,它就变常规一些,直到最终自动发生从而获得了一个保存意志力的长效方法:习惯。结尾人总该有些信仰。多年前我在某书翻到这么一个开头,一个老人在嘈杂的广场上这么对我说。我可以把「坚持不了」归结为缺乏信仰,也可以利用宗教信仰的形式来增强意志力。意志力强的人不仅提高自我、享受人生、分享喜悦,而且更愿意帮助别人。仁慈善意的助人为乐之心,是人类族群进化发展必不可少的美德,这个美德让意志力得以进化。而今我们享受着科技福利的同时也遭受越来越多诱惑和冲击,商家广告们每天都在消耗我们的意志力,让我们浑浑噩噩地掏出自己宝贵的时间金钱和精力。意志力强的人更擅长把意志力用在学习和工作中培养有效的日常习惯,合理安排生活避免陷入麻烦,也较少受外界诱惑和内心冲突的困扰。FIN.

轻量级任务队列RQ的简单使用

almost 3 years ago

RQ (Redis Queue)是一个轻量级的Python任务队列,这里记录一下它的简单使用。首先安装RQ(这里使用的Python版本是3.8.0)pip install rq==1.10.1随后创建如下的文件.├── __init__.py├── jobs.py└── run.py其中__init__.py中通过连接redis-server创建了两个queue:default和queue_1123456from redis import Redisfrom rq...

canal简单使用

about 3 years ago

在使用大数据进行数据计算的时候,首先我们需要获取到数据。如果是从MySQL获取数据的话,可以选择阿里的开源组件canal,它将自己伪装成MySQL的slave来接收数据。开启MySQL的binlog设置首先我们查看MySQL是否打开了binlog复制的功能mysql> show variables like 'log_bin';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | OFF...