
大杂烩
文章平均质量分 71
各种零碎知识,不成体系
想做一只开心的菜鸡
本科东南大学计算机,研究生南京大学计算机
展开
-
vscode-vim常用快捷键
vscode vim 插件快捷键速览原创 2021-12-22 13:50:44 · 1532 阅读 · 1 评论 -
vscode 连接远程docker容器
以下以amazon 的镜像作为例子(基于yum,对于debian系列也会给出建议)一、在服务器容器中配置ssh1. 通过一个其他的端口进入容器,这里使用6789端口docker run -it -d -p 5678:22 amazon2. 下载opensshcentos/fedorayum install openssh-server -ydebian/ubuntuapt-get install openssh-server3.设置root密码passwd如果容器内没有这个模块,原创 2021-11-09 19:22:30 · 2564 阅读 · 0 评论 -
Python 使用zfec 纠删码示例
源码地址:https://github.com/tahoe-lafs/zfec安装zfecpython -m pip install zfec示例例如我们有k个数据块,我们希望生成m个数据块(m>=k),从而可以使用m个数据块中的任意k个恢复出原来的数据块。这里,我们取k=2,m=3,原始数据是二进制字符串b'abcde' 。需要注意的是,为了保证原始数据能被k整除,该工具会对数据添加padding,padding为b'\x00'。编码时,会得到一个数组,每个元素是一个二进制字符串(数据原创 2021-09-20 12:06:51 · 868 阅读 · 0 评论 -
jupyter lab 插件安装
我的操作系统是win10,基于anaconda的jupyter lab,jupyter lab 版本 3.1.4,anaconda默认的版本可能比较老,我一开始是1.2.1,这时候可以在anaconda navigator中先卸载然后再安装这个插件。以下是安装插件的步骤,不是那么简单一键安装就完事了,所以把过程记录以下,方便以后环境迁移翻着看看。步骤一,启用extension manager首先在jupyter lab 中将 extension manager显示出来,参考这篇文章然后我安装了以下三原创 2021-08-06 22:27:09 · 5606 阅读 · 0 评论 -
Docker 常用命令
Docker常用的命令记录,方便自己查镜像管理拉取远程镜像docker pull imagename查看所有本地镜像docker images输出REPOSITORY TAG IMAGE ID CREATED SIZEamazonlinux latest 7443854fbdb0 12 days ago 163MBhello-world latest d1165f221234 4 months ago原创 2021-07-08 16:10:06 · 176 阅读 · 2 评论 -
常用无损压缩算法原理简析
无损压缩算法原理压缩一般分为两个步骤,建模和编码。一个完美的模型可以描述数据流是如何产生的,相当于一个python类里面的generator。只需要这个generator就可以产生所有数据,从而大大降低需要传输的数据。例如 如果需要传输的数据序列是1 1 2 3 5 … 6765 ,那么可以用一个“斐波那契数”来精准表达这个传输的序列。在实际应用中,很难得到这样的精准模型,因此一般都是近似的为数据构建一个数学模型。例如英文文章可以认为是一个字典模型,我们只要有字典以及对应的编号,就能还原出信息;在编码原创 2021-06-13 19:55:08 · 6072 阅读 · 0 评论 -
Java8并发编程--极简入门
介绍进程和线程是实现并发的方法。进程是独立运行的程序实例,由操作系统直接进行调度管理。进程内部同样可以通过线程实现并发,常用于java的异步处理或者并行执行。Runable在Java 8中,Runable是一个保持任务逻辑的单元。Runnable是一个功能接口,可以使用lambda函数实现。假设我们要触发电子邮件的虚拟任务。Runable task () ->{ system.out.println("Triggering email from:" + Thread.currentThrea翻译 2021-04-17 10:29:25 · 448 阅读 · 0 评论 -
UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x80 in position 0: invalid start byte
python redis get函数报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x80 in position 0: invalid start byte代码try: from redis import Redis r = Redis(host='localhost', port=6379, decode_responses=True)except Exception as exp: logging.e原创 2021-04-06 14:43:38 · 2330 阅读 · 0 评论 -
MPP架构与批处理架构区别
一、MPP架构MPP是系统架构角度的一种服务器分类方法。目前商用的服务器分类大体有三种:SMP(对称多处理器结构)NUMA(非一致存储访问结构)MPP(大规模并行处理结构)我们今天的主角是 MPP,因为随着分布式、并行化技术成熟应用,MPP引擎逐渐表现出强大的高吞吐、低时延计算能力,有很多采用MPP架构的引擎都能达到“亿级秒开”。先了解下这三种结构:1. SMP(Single Processor Systems)即对称多处理器结构,就是指服务器的多个CPU对称工作,无主次或从属关系。原创 2021-04-03 20:46:27 · 718 阅读 · 0 评论 -
Spark与Hadoop netty 包不匹配导致的错误
Spark-2.3.2 与 hadoop 2.7.3 搭建Spark on Yarn ,运行以下demo报错spark-submit --deploy-mode client \ --class org.apache.spark.examples.SparkPi \ $SPARK_HOME/examples/jars/spark-examples_2.11-2.3.2.jar 10 报错2021-03-31 21:原创 2021-04-01 17:05:51 · 720 阅读 · 0 评论 -
Python面向对象简单总结
要跑师兄的代码,已经毕业,把python面向对象复习一遍,好理解师兄代码。主要摘自廖大神的教程,方便自己复习要点Python类的基本概念如何定义类仍以Student类为例,在Python中,定义类是通过class关键字:class Student(object): passclass后面紧接着是类名,即Student,类名通常是大写开头的单词,紧接着是(object),表示该类是从哪个类继承下来的,继承的概念我们后面再讲,通常,如果没有合适的继承类,就使用object类,这是所有类最原创 2021-03-23 14:45:58 · 194 阅读 · 0 评论 -
Java读写CSV
csv文件 是比较通用的表格文件,一般我们用的CSV都是用,号分隔的,如果CSV里面的每个格子的数据都不带回车,那可以直接按行读取然后用逗号分割,但如果每个格子的数据可能带些回车,那就没法按行读取了,比较方便的方法是采用现成的工具。依赖组件<dependency> <groupId>com.opencsv</groupId> <arti...原创 2019-07-15 10:47:04 · 562 阅读 · 0 评论 -
Java 输入输出重定向与加速读写
常用(比较简单)的输入输出一般是这样:Scanner in = new Scanner(System.in);in.hasNext();in.nextInt();...但是有时候比如 ACM,会希望像c++中那样使用freopen("in.txt","r",stdin);freopen("out.txt","w",stdout);cin >> a; // ...原创 2018-09-09 20:17:49 · 1192 阅读 · 2 评论 -
Java Thread 多线程 总结概括
Java Thread 多线程 总结概括1、实现线程的两种方式1.1 继承Thread 类,并实现run()方法,然后创建一个对象并调用其start()方法1.2 创建一个类实现Runnable接口,并用该类去创建一个Thread对象,然后调用 start方法2、线程的生命周期出生状态 刚创建时的状态就绪状态 可执行状态运行状态等待状态 调用 wait 方法进入的状态,必须调用 notify原创 2018-01-02 02:03:12 · 217 阅读 · 0 评论 -
操作系统笔记(部分)
1. 第七章 死锁1.1. 死锁的概念一些阻塞进程的集合,每个进程都持有资源不释放并且等待其它进程的资源1.2. 死锁产生的四个条件互斥持有并等待非抢占循环等待1.3. 资源分配图进程 圆圈资源 方框 死锁一定有环有环不一定死锁 如果每个资源只有一个,那么死锁如果每个资源有多个,那么可能死锁1.4. 处理死锁的方法预防 破...原创 2018-06-21 21:22:46 · 1009 阅读 · 0 评论 -
卡诺模型:用数据捕捉用户的真正需求
今天在36ke上看到了这个模型,感觉对以后的软件设计非常有帮助,在此小结,以便以后能看看.先来段百度百科 KANO 模型是东京理工大学教授狩野纪昭(Noriaki Kano)发明的对用户需求分类和优先排序的有用工具,以分析用户需求对用户满意的影响为基础,体现了产品性能和用户满意之间的非线性关系。 根据不同类型的质量特性与顾客满意度之间的关系,狩野教授将产品服务的质量特性分为五类:原创 2018-01-02 20:24:44 · 2274 阅读 · 0 评论 -
常见web攻击手段以及防御方式总结笔记
攻击方式XSSCSRFSQL注入DDOS概念Cross-Site Scripting (XSS),跨站脚本攻击,是一种注入攻击。就是在你信任的网站上注入一个JS脚本,然后你打开这个网站的时候会自动执行这个脚本,从而将你浏览器的cookie、token等信息发送到攻击者那里Cross-site request forgery (CSRF)跨站请求伪造,是一种利用受害者身份向其访问过的网站A发恶意请求将sql命令伪装成正常的http请求参数,传递到服务器,服务器执行sql命令从而...原创 2021-02-10 20:47:41 · 207 阅读 · 0 评论 -
流处理系统优化论文
AJoin: ad-hoc stream joins at scale VLDB2019背景:现有的流处理系统例如flink主要用来处理在数据流上一直跑某个单独的查询,并且这些查询都经过优化 以及单独执行。Astream1提出的框架主要针对的场景是ad-hoc查询。这种场景下,流不仅使用长时间运行的查询进行处理,而且还使用数千个短期运行的临时查询进行处理。 为了有效地支持这一点,必须在多用户环境中共享资源和用于流临时查询的计算。Astream采用了一些共享的operator从而避免一些冗余计算。AJoin原创 2020-11-05 17:14:57 · 1503 阅读 · 1 评论 -
Flink多连接优化问题
如同数据库中的join操作,有内连接(inner join)、外连接(outer join)、交叉连接(cross join,笛卡尔积)等,本文主要涉及内连接。常用来实现连接的算法有:hash join、sort-merge join 以及 nested loop join,下面我们对这三种算法进行简单介绍。join 算法Hybrid-hash joinhash join 分为两个阶段,build和probebuild:为参与连接的两个数据集中较小的数据及准备好哈希表,哈希表中的记录包含着 连接原创 2020-09-09 11:22:57 · 851 阅读 · 0 评论 -
分布式系统复习笔记2019年秋
Introduction分布式系统定义(集合、单一、一致)独立计算机的集合,对外呈现一个单一的、一致的系统。分布式系统的目标(MDOS)(Make resources available)让资源可用 (Distribution transparency)分布式透明 (Openness)开放 (Scalability)可扩展性为什么要分布式(ESIRI) Econo...原创 2020-01-03 18:56:12 · 2618 阅读 · 1 评论 -
Scala学习笔记(二) object class
scala中的object 和class1 定义类2 定义object3 继承4 主构造器和辅助构造器5 类的字段和方法scala中的object 和classScala中的class与java类似,但是类名不是必须和文件名相同且一个文件可以定义多个class.同时scala中的class不存在静态成员,java中 的静态成员由scala中的object对象代替,当o原创 2018-01-31 23:08:06 · 486 阅读 · 0 评论 -
scala学习笔记(三) Trait
Scala中的特质类似于Java中的接口,不过trait中可以有实现的方法,也可以有属性.如果是一个trait可以用 extends 剩下的就可以用withtrait Person{ def eat(str:String)={ println(str) }}trait Worker{ def work{ println("worki原创 2018-02-01 17:42:05 · 315 阅读 · 0 评论 -
最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(一)
一、准备工作1. 预备安装包(我将需要的包全部放到百度盘里了,可以一次搞定,这个链接只管7天,评论留下邮箱私戳):链接: https://pan.baidu.com/s/15dZ9DLPln0uf0K5iVMS9pQ 提取码: tdfbhadoop-2.8.5.tar.gz、hbase-2.1.1-bin.tar.gz、apache-hive-2.3.4-bin.tar.gz、jdk-8u...原创 2018-11-12 21:55:32 · 17410 阅读 · 35 评论 -
最详细的Hadoop+Hbase+Hive完全分布式环境搭建教程(二)
继续上次的教程,这次安装hbase与hive一、hbase2.1.1安装在master节点:$ tar -zxvf hbase-2.1.1-bin.tar.gz -C /opt$ cd /opt/hbase-2.1.1/conf/$ vi hbase-env.sh 将下面这句话加到文件末尾export JAVA_HOME=/opt/jdk1.8.0_102$ vi hbase-s...原创 2018-11-13 21:22:11 · 6686 阅读 · 9 评论 -
spark学习笔记--RDD基础
文章目录创建RDDRDD操作转化操作map(func)flatmap(func)filter (func)sample集合操作union、intersection、subtract、cartesian去重distinct()行动操作reduce、fold、aggregatecount()take(n)、top(n)collect()foreach(func)持久化persistcacheRDD是...原创 2019-03-15 16:21:22 · 388 阅读 · 0 评论 -
spark 调优
由于大多数spark的计算都是内存计算,因此在spark集群中有以下瓶颈:CPU,网络带宽还有内存。如果内存足够的话,主要可能就是网络带宽。目前主要有两种调优方案:数据序列化和内存调整。1. 数据序列化序列化在任何分布式应用中都有举足轻重的作用,如果对象被序列化很慢或者序列化后的格式很大,会大大的降低计算的性能。通常来说,这应该是你调优spark应用性能首先要做的事情。spark 提供了两种序...翻译 2019-03-25 11:23:10 · 247 阅读 · 0 评论 -
Scala学习(一) 快速入门
学习Spark就要学习Scala,今天开始快速学习Scala.直接在这里做笔记了.Scala基础与语法1 基本数据类型2 Scala变量声明3 算术操作符介绍4 条件语句5 循环51 for 循环52 while 循环53 do-while 循环6 异常控制61 抛出异常使用关键字 throw62 捕获异常Scala 中ArrayMap等数据结构1 定原创 2018-01-31 14:47:17 · 511 阅读 · 0 评论