Resume, CV

Resume, CV 有的学校把简历叫做resume,另一些叫做Curriculum Vitae,这中间到底有什么差别呢?resume通常更接近求职简历,即把自己所有经历中与目标职位相关性最大的经历筛选出来,展示在自己的简历中;而CV呢,翻译成中文更确切的来讲叫做“个人履历”或“个人履历表”。单听这个名字我们就知道了,CV更多的是把自己过去所有的经历按照时间顺序逐条罗列,比较机械呆板,一般用于学术圈。但是,回到留学申请这个原本的话题上来,即便不同学校对于简历的称呼不同,我们也并不需要区别对待,也就是这个细微的差别,对于申请这件事来讲,可以忽略不计。简历要写什么内容?简历要有抬头,抬头要写姓名和联系方式,电话、邮箱、邮寄地址。简历主体部分要写教育背景、实习/科研/工作经历、项目经历、课外活动、奖项荣誉、专业技能、获得证书、语言能力等等。但并不是一份简历要把上面这些item都写全的。一是根据个人实际背景经历情况筛选,二是根据申请目标专业来具体分析。比方说我申请教育学,那么语言能力就显得尤为重要,但我申请计算机,显然更重要的是在专业技能这个item下展示自己掌握了哪些编程语言及计算机软件。 作者:杜建虎 链接:https://www.zhihu.com/question/20355548/answer/1883548833 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 CV是履历,Resume是简历。Resume,简述于求职相关的教育背景和工作经历,其目的在于说服用人单位雇用自己; CV,Curriculum Vitae CV是集中说明学术工作,不重视与文化程度和学习成绩无直接关系的资料。CV的完整形式是拉丁文Curriculum Vitae,在美国,CV主要是用于申请学术、教育、科研职位,或者申请奖学金等等,而在欧洲、中东、非洲和亚洲等地,CV则更常用于应征工作。CV的长度由其内容确定,有时可长达十页,年轻专业人的履历一般长度都在2—4页,而老资历的通常也在6—8页。应包括:姓名、地址、电话号码及电子邮件地址;文化程度;受何奖励和大学奖学金;教学经历相关经历;有何论著发表;语言或其它技能,课外活动及个人爱好。Resume,大多只需一页大小,而有两页的对具有广泛的工作经验的人才有典型性。应包括:姓名、地址、电子信箱 (可选)和电话号码 (当地和固定的);工作岗位 (可选) ;教育;获何荣誉奖励;有关功课 (可选);经历,列出组织、地址、日期、工作名称、成绩和职责简述。 作者:SongNannnnnn 链接:https://www.zhihu.com/question/20355548/answer/14871763 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 在99%的情况下,对方找你要CV和对方找你要Resume,他们想要的东西是一模一样的:你的简历。最好白纸黑字,最好一页纸,最好PDF。In 99% of the situations when someone says, “Can you send over your CV?" or “Can you send me your resume?” they mean the exact same thing. 作者:朱英楠David 链接:https://www.zhihu.com/question/20355548/answer/91783206 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2011-09-07 · 1 min · 53 words · -

Actor 模型, Actor model

Actor 模型, Actor model 使用actor就像租车——我们如果需要,可以快速便捷地租到一辆;如果车辆发生故障,也不需要自己修理,直接打电话给租车公司更换另外一辆即可。 摘录来自: [美] Paul Butcher. “七周七并发模型。” actor类似于面向对象 (OO)编程中的对象——其封装了状态,并通过消息与其他actor通信。 在面向对象中,我们使用方法调用的方式去传递信息,而在actor中,则使用发送消息去传递信息。 在actor模型中,actor是一个最小的计算单元。 虽然在actor中保留了可变状态,但是其并不和其他actor共享,actor的私有变量不会被其他actor直接更改。 actor模型中遵循以下几个原则: 所有的计算都是在actor中执行的 actor之间只能通过消息进行通信交流 为了响应消息,actor可以进行下列操作 更改状态或行为 发消息给其他actor 创建有限数量的子actor actor模型的好处 事件驱动模型 - actor使用异步消息的形式进行通信,在发消息后不会因等待回复而阻塞其他工作。 强隔离原则 - 和传统的java对象不同,actor不提供公共的api方法供外部调用。相反,其仅通过消息的形式对外提供服务。这样避免了actor之间的任何状态共享;获取一个actor状态的唯一做法就是发一个消息去询问他。 位置透明 - 系统使用工厂构建一个actor实例,并返回其引用。由于位置无关紧要,Actor实例可以启动,停止,移动和重启以进行扩容/缩容,或从意外故障中恢复。 轻量级 - 每个actor实例仅使用几百bytes,在单个应用程序中可以轻松创建百万个并发的actor。 任其崩溃 在传统的模型中,我们往往会尽可能的考虑到各种情况,对入参格式,类型做各种各样的校验,容错。这样混入了大量业务无关代码,使得代码流程变得复杂,而没有明显错误 actor模型中对异常的遵循为"任其崩溃"哲学。不做防御性逻辑,而是让actor的管理者去处理这些问题。 因为actor之间是相互独立的,所以一个actor的崩溃不太可能会影响到其他actor。 没有了防御性代码,使逻辑更加简洁且容易理解。 由actor管理者可以选择崩溃处理方案,也可以不处理,仅记录崩溃原因。 面对故障,actor管理者有四种不同的可选方案: 恢复 (Resume)子 Actor,保持其已有的内部状态,但是忽略掉导致故障的消息; 重启 (Restart)子 Actor,通过启动新的实例,清理其已有的状态; 永久停止 (Stop)子 Actor,将子 Actor 未来所有的消息发送至 Dead-Letter Office ; 将故障传递至更高的层级 (Escalate),这需要让监管者本身也发生故障。 作者:一缕阳光同志88274 链接:https://juejin.cn/post/6844904056649940999 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作者:一缕阳光同志88274 链接:https://juejin.cn/post/6844904056649940999 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 作者:一缕阳光同志88274 链接:https://juejin.cn/post/6844904056649940999 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 ...

2011-09-06 · 2 min · 361 words · -

junit performance test

junit performance test http://databene.org/contiperf.html @Rule public ContiPerfRule i = new ContiPerfRule(); @Test @PerfTest(invocations = 5) @Required(max = 9000, average = 8000) invocation sequence: constructor() before() test1() test1() after() constructor() before() test2() test2() after()

2011-09-06 · 1 min · 33 words · -

java 日期/date time

java 日期/date time 日期计算 Calendar cal = Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 cal.add(Calendar.DAY_OF_MONTH, -1);//取当前日期的前一天. cal.add(Calendar.DAY_OF_MONTH, +1);//取当前日期的后一天. //通过格式化输出日期 java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(“yyyy-MM-dd”); System.out.println(“Today is:"+format.format(Calendar.getInstance().getTime())); System.out.println(“yesterday is:"+format.format(cal.getTime())); 得到2007-12-25日期: y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 d 月份中的天数 Number 10 H 一天中的小时数 (0-23) Number 0 m 小时中的分钟数 Number 30 s 分钟中的秒数 Number 55 S 毫秒数 Number 978 java 8 日期/date time http://www.wiloon.com/?p=8834&embed=true#?secret=RA1Eqnm13T joda-time, ThreeTen Backport http://www.wiloon.com/?p=3269&embed=true#?secret=qXtE3cmQSt SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss.SSS”); ...

2011-09-06 · 2 min · 235 words · -

java zip

java zip package com.wiloon.et; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class ZipTest { static final int BUFFER = 2048; static String source = “D:/exported/”; static String destinationPath = “//x.x.x.x/share/xxx/”; static String fileName = “0000-0999.zip”; public static void main(String argv[]) { try { BufferedInputStream origin = null; FileOutputStream dest = new FileOutputStream(destinationPath fileName); ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream( dest)); byte data[] = new byte[BUFFER]; ...

2011-09-06 · 1 min · 141 words · -

loom

loom Oracle 已经停止了异步的JDBC (ADBA) 标准的相关工作。这传达了一个相当明确而又重要的信息: (在Java平台上)fiber 是未来的方向,而异步不是。Oracle 认为异步程序太难写难调,因此全力转向同步的方案 ( 注意这个帖子混用了 fiber 和 lightweight thread 这两个术语,后面的Ron用的术语是 lightweight virtual thread ) On Wednesday, September 18, at Oracle CodeOne Oracle announced that Oracle will stop work on ADBA (Asynchronous Database Access) The Java team’s position is that synchronous code is easier to write, test, debug, maintain, and understand than async code. The only reason to write async code is that threads are so expensive. Project Loom will add fibers, very lightweight threads, to Java. Fibers are so light weight that it is completely practical to spin up as many as you need. So just write first semester CS synchronous code and and execute it on a dedicated fiber. This is much easier than writing async code to do the same task. Synchronous code will use the same JDBC we all know and love. No need to learn a new API. Existing code can be made to work with few if any changes. ...

2011-09-04 · 1 min · 186 words · -

jdk中的jar包, rt.jar ,dt.jar ,tool.jar

jdk中的jar包, rt.jar ,dt.jar ,tool.jar 重点包 rt.jar : 运行时包 dt.jar: dt.jar是关于运行环境的类库 tools.jar: tools.jar是工具类库,编译和运行需要的都是toos.jar里面的类分别是sun.tools.java. ; sun.tols.javac.; charsets.jar: Java 字符集,这个类库中包含 Java 所有支持字符集的字符 cldrdata.jar: http://cldr.unicode.org/ CLDR - Unicode Common Locale Data Repository deploy.jar: deploy.jar是Java部署堆栈的一部分,用于applet和Webstart应用程序。 deploy.jar是Java安装目录的常见部分 - 该文件运行某些产品的安装。 正确设置Java路径后,用户可以执行此文件 (只需双击它或按文件上的Enter键) ,要部署的应用程序将运行其安装程序。 例如。 诺基亚OVI套件通常使用这种部署形式。 作为彼此的JAVA包,如果您将其重命名为ZIP并打开内容,则可以检查包中的类。 dnsns.jar:与 DNS 有关 jaccess.jar: Java Access Bridge is a technology that exposes the Java Accessibility API in a Microsoft Windows DLL, enabling Java applications and applets that implement the Java Accessibility API to be visible to assistive technologies on Microsoft Windows systems. Java Accessibility API is part of Java Accessibility Utilities, which is a set of utility classes that help assistive technologies provide access to GUI toolkits that implement the Java Accessibility API. Java Access Bridge是一种在Microsoft Windows DLL中公开Java Accessibility API的技术,使实现Java Accessibility API的Java应用程序和applet对Microsoft Windows系统上的辅助技术可见。 Java Accessibility API是Java Accessibility Utilities的一部分,它是一组实用程序类,可帮助辅助技术提供对实现Java Accessibility API的GUI工具包的访问。 ...

2011-08-30 · 3 min · 516 words · -

tar

tar tar tar [-cxtzjvfpPN] 文件与目录 …. 参数: -z : 是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩? -x : 解开一个压缩文件的参数指令! -v : 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程! -f : 使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数! 例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成 『 tar -zcvPf tfile sfile』才对喔! -c : 建立一个压缩文件的参数指令(create 的意思); -t : 查看 tarfile 里面的文件! 特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! 因为不可能同时压缩与解压缩。 -j : 是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩? -p : 使用原文件的原来属性 (属性不会依据使用者而变) -P : 可以使用绝对路径来压缩! -N : 比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中! -exclude FILE: 在压缩的过程中,不要将 FILE 打包! ...

2011-08-30 · 2 min · 273 words · -

加减乘除,大于,小于,等于,分数,小数和百分数英文表达

加减乘除,大于,小于,等于,分数,小数和百分数英文表达 add (+), subtract (-), multiply (*), and divide (/) 加减乘除: + - × ÷ 加+: plus 减-: minus 乘×: times 除÷: divided 不等号和等号: > ≥ < ≤ ≠ = 大于>: is greater than 大于等于 (不小于) ≥: is more than or equal to / is no less than 小于<: is less than 小于等于 (不大于) ≤: is less than or equal to / is no more than 不等于≠: is not equal to 等于=: equals 例句: 1、12+36=48: Twelve plus thirty-six is forty-eight. 2、10-4=6: Ten minus four is six. / Ten minus four equals four. 3、5×5=25: Five times five is twenty-five. 4、20÷4=5: Twenty divided by four is five. 5、5>1: Five is greater than one. ...

2011-08-29 · 1 min · 206 words · -

log4e

log4e Log4e是一个免费的Eclipse Plugin,它可帮助你在你的Java工程中快速加入Log; 我们可以在http://log4e.jayefem.de/index.php/Download 网站上下载Log4e最新版本。下载后将相应文件夹拷贝到Eclipse的插件目录下,重新Eclipse,在首选项中会多出一个Log4e选项。 go to http://log4e.jayefem.de/ Eclipse Update URL: http://log4e.jayefem.de/update

2011-08-29 · 1 min · 12 words · -

RxJava

RxJava Reactive Extension (RX) RX在Future和Promise的基础上更进了一步,将单一的事件处理扩展到多个先后相关的事件流处理。举个例子,鼠标拖拽事件,是由一个MouseDown事件加多个MouseMove事件以及一个MouseUp事件构成,Promise处理这种情况需要处理器具有状态记住拖拽的阶段。RX将MouseDown和MouseUp这些事件的处理标准化,并且将拖拽阶段的这一共享状态从业务处理器中抽离,而固化到事件处理流程中。RX抽象了大量的事件操作,使得我们可以将重心放到事件流程建模中,而不是具体的一个接一个事件的处理。共享状态从处理器中抽离也有利于业务处理器的重用以及并发处理。 综上,响应式编程中的事件驱动,要求 对事件建模 对事件流程建模 对事件相关性建模 在那个RxJava刚刚火爆的年代,那是一个荒蛮的年代。我们在异步方面资源匮乏,手头仅有ThreadPool,AsyncTask和Handler这些基础封装的异步库。所以当我们看见RxJava这个新奇的小玩意,当我们看到异步还可以这么简单,轻而易举的解决Concurrency问题。我们当然如获至宝。 而我们现在选择就更多了,无论是Java 8本身提供的CompletableFuture。还是后起之秀Kotlin上的Coroutine,还有Android 上官方提供的LiveData 作者:W_BinaryTree 链接:https://juejin.cn/post/6844903838978146317 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 RxJava 在 GitHub 主页上的自我介绍是 “a library for composing asynchronous and event-based programs using observable sequences for the Java VM” (一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库) ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源,Rx是一个编程模型,目标是提供一致的编程接口,帮助开发者更方便的处理异步数据流,Rx库支持.NET、JavaScript和C++,Rx近几年越来越流行了,现在已经支持几乎全部的流行编程语言了,Rx的大部分语言库由ReactiveX这个组织负责维护,比较流行的有RxJava/RxJS/Rx.NET,社区网站是 reactivex.io。 Netflix参考微软的Reactive Extensions创建了Java的实现RxJava,主要是为了简化服务器端的并发。2013年二月份,Ben Christensen 和 Jafar Husain发在Netflix技术博客的一篇文章第一次向世界展示了RxJava。 RxJava也在Android开发中得到广泛的应用。 ReactiveX An API for asynchronous programming with observable streams. A combination of the best ideas from the Observer pattern, the Iterator pattern, and functional programming. ...

2011-08-29 · 1 min · 80 words · -

命令模式, Command pattern

命令模式, Command pattern 命令模式, Command pattern , 行动(Action)模式或者交易(Transaction)模式 定义 命令模式属于对象的行为模式。命令模式又称为行动(Action)模式或者交易(Transaction)模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式的结构 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分隔开,委派给不同的对象。 每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方接收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收、以及操作是否被执行、何时被执行、怎么被执行的。 命令允许请求的一方和接收请求的一方能够独立演化,从而具有如下的优点: 命令模式使新的命令很容易被加入到系统里。 允许接受请求的一方决定是否要否决请求。 能较容易的设计一个命令队列。 可以容易的实现对请求的撤销和恢复。 在需要的情况下,可以较容易的将命令记入日志。 下面是一个示意性的系统,说明命令模式的结构: 示意性命令模式结构 命令模式涉及到五个角色,他们分别是: 客户端角色(Client):创建一个具体命令ConcreteCommand对象并确定其接收者。 命令角色(Command): 声明一个给所有具体命令类的抽象接口。 具体命令角色(ConcreteCommand):定义一个接收者和行为之间的弱耦合;实现execute()方法,负责调用接收者的相应操作。execute()方法通常叫做执行方法。 请求者角色(Invoker):负责调用命令对象执行请求,相关的方法叫做行动方法。 接收者角色(Receiver):负责具体实施和执行一个请求。任何一个类都可以成为接收者,实施和执行请求的方法叫做行动方法。 命令模式的优点 更松散的耦合 命令模式是的发起命令的对象——客户端,和具体实现命令的对象——接收者对象完全解耦,也就是说发起命令的对象完全不知道具体实现对象是谁,也不知道如何实现。 更动态的控制 命令模式把请求封装起来,可以动态的对它进行参数化、队列化和日志化等操作,从而使得系统更灵活。 很自然的复合命令 命令模式中的命令对象能够很容易的组合成复合命令,也就是宏命令,从而是系统操作更简单,功能更强大。 更好的拓展性 由于发起命令的对象和具体的实现完全解耦,因此拓展新的命令就很容易,只需要实现新的命令对象,然后在装配的时候,把具体的实现对象设置到命令对象中,然后就可以使用这个命令对象,已有的实现完全不用变化。 作者:步积 链接:https://www.jianshu.com/p/5901e76a6348 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 https://design-patterns.readthedocs.io/zh_CN/latest/behavioral_patterns/command.html

2011-08-29 · 1 min · 43 words · -

javadoc

javadoc eclipse 在项目列表中按右键,选择Export (导出) ,然后在Export(导出)对话框中选择java下的javadoc. Java8下 忽略Javadoc编译错误 org.apache.maven.plugins maven-javadoc-plugin 2.10.3 attach-javadocs jar -Xdoclint:none http://www.javajia.com/JAVAbiancheng/7713.html

2011-08-28 · 1 min · 14 words · -

迭代器模式, Iterator

迭代器模式, Iterator 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。把游走的任务放在迭代器上,而不是聚合上。这样简化了聚合的接口和实现,也让责任各得其所。 @startuml abstract class Aggregate Aggregate : public abstract Iterator createIterator() class ConcreteAggregate ConcreteAggregate : Object[] objArray ConcreteAggregate : public ConcreteAggregate(Object[] objArray) ConcreteAggregate : public Iterator createIterator() ConcreteAggregate : public Object getElement(int index) ConcreteAggregate : public int size() Aggregate<|--ConcreteAggregate interface Iterator Iterator : public void first() Iterator : public void next() Iterator : public boolean isDone() Iterator : public Object currentItem() class ConcreteIterator ConcreteIterator : private ConcreteAggregate agg ConcreteIterator : private int index ConcreteIterator : private int size ConcreteIterator : public ConcreteIterator(ConcreteAggregate agg) ConcreteIterator : public void first() ConcreteIterator : public void next() ConcreteIterator : public boolean isDone() ConcreteIterator : public Object currentItem() Iterator<|--ConcreteIterator ConcreteAggregate .right.> ConcreteIterator ConcreteIterator-left->ConcreteAggregate class Client Client .left.> Aggregate Client .right.> Iterator @enduml 迭代器模式涉及到以下几个角色: ...

2011-08-27 · 2 min · 425 words · -

mplayer

mplayer 基本播放控制 → 前进10秒 ← 后退10秒 ↑ 前进60秒 ↓ 后退60秒 PageUP 前进10分钟 PageDown 后退10分钟 Enter 全屏 Space 暂停 Esc 退出 q 退出 音量调节 9 降低音量 0 增大音量 / 降低音量 * 增大音量 a 切换声道 mplayer command monitoraspect mplayer -monitoraspect 1.25 6.rmvb 全屏 mplayer -aspect 16:9 -fs debian 6 smplayer 声音小 Options > preferences > audio > output driver select “alsa” http://www.wiloon.com/?p=2850 smplayer 中文字幕 option > preference > subtitles > encoding select utf8 ...

2011-08-27 · 1 min · 84 words · -

Yasm

Yasm Yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集,接受NASM和气体汇编语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的 ( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。

2011-08-27 · 1 min · 21 words · -

OpenVSCode Server

OpenVSCode Server podman run -d --name openvscode -p 1025:3000 -v "openvscode-data:/home/workspace:cached" gitpod/openvscode-server

2011-08-27 · 1 min · 12 words · -

Hash, MAC, HMAC

Hash, MAC, HMAC HMAC Hash-MD5, SHA-1, integrity MAC- keyed hash, integrity & authenticity. HMAC 长度和其所用的hash长度一样 Hash 是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。 如果两个散列值是不相同的 (根据同一函数),那么这两个散列值的原始输入也是不相同的。 这个特性是散列函数具有确定性的结果,具有这种性质的散列函数称为单向散列函数。 但另一方面,散列函数的输入和输出不是唯一对应關係的,如果两个散列值相同,两个输入值很可能是相同的。 但也可能不同,這種情況稱為「碰撞」,這通常是兩個不同長度的散列值,刻意計算出相同的輸出值。 Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入 (又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。 简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值. 也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系 了解了hash基本定义,就不能不提到一些著名的hash算法,MD5 和 SHA1 可以说是目前应用最广泛的Hash算法。 MD5(RFC1321) 是 Rivest 于 1991 年对 MD4 的改进版本,将任意长的明文 hash 成 128 bit 的杂凑值。 MD5是一种不可逆的加密算法,目前是最牢靠的加密算法之一,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成一段唯一的固定长度的代码。 那么它有什么用呢?很简单,通过它可以判断原始值是否正确 (是否被更改过)。一般用于密码的加密。而我们所提供的MD5校验码就是针对安装程序的唯一对应的一段代码。你可以使用任何MD5运算器对下载的文件进行运算,运算出来的结果如果完全符合我们提供的MD5校验码,那么说明你下载的这个程序没有被中途修改过。 这个特征码有如下特性,首先它不可逆,例如我有一段秘密的文字如:“My Secret Words”,经算法变换后得到MD5码(b9944e9367d2e40dd1f0c4040d4daaf7),把这个码告诉其他人,他们根据这个MD5码是没有系统的方法可以知道你原来的文字是什么的。 其次,这个码具有高度的离散性,也就是说,原信息的一点点变化就会导致MD5的巨大变化,例如"ABC" MD5(902fbdd2b1df0c4f70b4a5d23525e932)和"ABC " (多了一空格)MD5(12c774468f981a9487c30773d8093561)差别非常大,而且之间没有任何关系,也就是说产生的MD5码是不可预测的。 最后由于这个码有128位那么长,所以任意信息之间具有相同MD5码的可能性非常之低,通常被认为是不可能的。 所以一般认为MD5码可以唯一地代表原信息的特征,通常用于密码的加密存储,数字签名,文件完整性验证等。 SHA1 是由 NIST NSA 设计为同 DSA 一起使用的,sha 是 Secure Hash algorithm 的缩写;它对长度小于 2^64 的输入,产生长度为 160bit 的散列值; SHA-1 设计时基于和 MD4 相同原理,并且模仿了该算法。 ...

2011-08-25 · 1 min · 211 words · -

Math

Math http://blog.csdn.net/jiutianhe/article/details/41349649 Section 1 linear 线性代数 (矩阵为主) Vector 向量 Matrix 矩阵 Matrix Decomposition 矩阵分解 Section 2 analysis 数学分析 (函数为主) Function 函数 Polynomial 多项式函数 Interpolation 插值 Integration 积分 Solver 求解 Section 3 Probabilityand Statistics 概率和统计 1) distribution 分布 2) fraction and complex 分数和复数 3) random and statistics 随机生成和统计初步 1) cluster and regression聚类和回归

2011-08-24 · 1 min · 51 words · -

modprobe, `lsmod`

modprobe, lsmod modprobe 可载入指定的个别模块,或是载入一组相依的模块。modprobe 会根据 depmod 所产生的相依关系,决定要载入哪些模块。 若在载入过程中发生错误,在 modprobe 会卸载整组的模块 https://blog.csdn.net/future_fighter/article/details/3862795 lsmod 功能: 列出内核已载入模块的状态 用法: lsmod 描述: lsmod 列出 /proc/modules 的内容。 输出为: Module(模块名) Size(模块大小) Used by(被…使用) # 查看某一个模块是否已经被加载 lsmod|grep wireguard 手动加载卸载 控制内核模块载入/移除的命令是 kmod 软件包提供的 # 手动加载内核模块 sudo modprobe wireguard # 手动卸载内核模块 modprobe -r wireguard # 或者 rmmod wireguard load kernel module at boot vim /etc/modules-load.d/wireguard.conf # load wireguard module at boot wireguard command systool -v -m module_name modprobe --show-depends modinfo 查看内核模块的信息,包括开发人员信息,依赖信息 modinfo module_name https://wiki.archlinux.org/index.php/Kernel_modules_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87

2011-08-20 · 1 min · 74 words · -