Everything should be made as simple as possible, but no simpler

理解Python中的生成器

Python生成器是什么? 先说一下生成器函数,抽象地说,生成器函数就是一个顺序执行过程的抽象。具体地说,它就是一种特殊的函数,这种特殊性源于这个函数中出现了一个yield关键字。解释器在发现函数中有yield关键字时,将这个函数标记为一个生成器函数,其执行的结果会返回一个生成器,而这个生成器是...

2019-05-15 23:26:10

阅读数 11

评论数 0

语义网组件

结构化数据处理依赖于对某个知识领域(感兴趣的领域、学科)内的概念、术语和关系进行描述的技术。知识表示和推理被用来在AI中以机器可读的形式表示信息的,计算机系统可以利用这些信息完成复杂的任务。分类学和受控词表是术语的结构化集合,可以将它们作为元数据元素值来使用。比如,一个事件词汇可以被用来以机器可读...

2018-10-08 14:16:53

阅读数 137

评论数 0

Python小技巧5:需要动态生成列表的时候,考虑使用生成器替代

典型代码:def mygen(): i = 0 while i < 100: yield i i += 1 if __name__ == '__main__': gen = mygen() for item ...

2018-07-07 19:02:08

阅读数 941

评论数 0

Python中使用threading.Condition交替打印两个字符的程序

这个程序涉及到两个线程的的协调问题,两个线程为了能够相互协调运行,必须持有一个共同的状态,通过这个状态来维护两个线程的执行,通过使用threading.Condition对象就能够完成两个线程之间的这种协调工作。 threading.Condition默认情况下会通过持有一个ReentrantL...

2018-07-07 01:12:27

阅读数 577

评论数 0

Hive应用性能优化

1. 将表分区(Partitioned Table)通过将表划分为相互独立的分区,对应于HDFS上相互独立数据目录,在查询时通过指定分区列上的条件,将读取数据的范围限定在关心的数据上,而不需要读取全表数据,继而提升查询性能;通过CREATE TABLE语句实现。2. 分桶(Bucked Table...

2018-07-03 11:42:36

阅读数 226

评论数 0

实现一个非确定性下推自动机(DPDA - Deterministic PushDown Automaton)

一个非确定下推自动机,是一个在有限状态机的基础上,辅之以一个栈数据结构作为外部存储,而非确定性来自于DPDA每一步计算后,其机器配置的不确定性。一个应用DPDA的典型例子是确定一个字符串是否是回文字符串,类似于aba, abba, babbaabbab等。下面我们就使用Python语言来一步步来实...

2018-05-07 19:58:35

阅读数 1382

评论数 0

uWSGI Preforking对比lazy-apps 和lazy

这是uWSGI项目有争议的选项之一。默认情况下,uWSGI会在第一个启动的进程中加载整个应用,并在加载完毕之后,会将自己多次fork()。这是常见的Unix模式,这能够显著降低应用的内存使用量,允许使用一些有趣的技巧,同时对于某些语言来说,这也会给你带来一些令人头疼的问题。虽然它的名字,uWSGI...

2018-03-19 14:17:34

阅读数 819

评论数 0

映射类型(mapping type)从Elasticsearch中移除

原文:https://www.elastic.co/guide/en/elasticsearch/reference/current/removal-of-types.html 注意:在Elasticsearch6.0.0或者或者更新版本中创建的索引只会包含一个映射类型(mappingt...

2018-02-01 00:38:02

阅读数 7026

评论数 2

【备忘】:fetch API获取返回值的方式

使用fetch API来做后端请求,相比较传统的Ajax方式,在写出的代码上更加容易理解,也更便于别人看懂。但是在使用的过程中,经常有同学不能顺利从传统的Ajax请求(如果使用jquery的话,就是$.ajax,$.post,$.get)转移到新的fetch方式,很多时候就是卡在了获取响应数据的环...

2017-06-30 21:32:58

阅读数 8836

评论数 0

Nginx允许跨域访问的配置问题

如今前后端分离的模式,越来越成为很多团队的选择,通过分离前后端的工作,是的双方更能关注于自己核心的工作领域,只需要通过相应的API接口进行交互。 前后端工作的分离带来的一个问题就是前后端在部署上分离的可能性,在部署上的分离又会触发浏览器安全机制——同源策略,从而导致不能访问非同域的资源。...

2017-06-23 16:01:13

阅读数 35830

评论数 2

Python:从subprocess运行的子进程中实时获取输出

有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的。在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用。   同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,...

2017-06-23 12:25:14

阅读数 25539

评论数 4

通过Python3.5来学习几种不同的IO模型

计算机的核心资源,基本上就是CPU和内存。我们下面的讨论可以假定CPU只有一个物理核心。 从目前的情况看,CPU很快,IO很慢,即使是物理内存也很慢,否则就不需要CPU设置多层的高速cache了。 CPU主要快在哪里?1、频率;2、指令执行效率,这里主要是硬件级别的指令分阶段并行优化。 ...

2016-11-28 23:04:08

阅读数 1402

评论数 0

Python小技巧 4:利用字典的默认行为

典型代码1: from collections import defaultdict if __name__ == '__main__': data = defaultdict(int) data[0] += 1 print(data) 输出1: defaultdict(, {0: 1}...

2016-11-06 00:01:17

阅读数 2332

评论数 0

Python小技巧 3:列表项的排序

典型代码1: data_list = [6, 9, 1, 3, 0, 10, 100, -100] data_list.sort() print(data_list) 输出1: [-100, 0, 1, 3, 6, 9, 10, 100] 典型代码2: data_list = [6, 9, 1, ...

2016-10-24 13:53:18

阅读数 3858

评论数 0

Python小技巧 2:列表项的推导式和过滤操作

典型代码1: data_list = [1, 2, 3, 4, 0, -1, -2, 6, 8, -9] data_list_copy = [item for item in data_list] print(data_list) print(data_list_copy) 输出1: [1, 2...

2016-10-19 17:55:28

阅读数 1516

评论数 0

Python小技巧 1:列表项的拼接

典型代码: data_list = ['a', 'b', 'c', 'd', 'e', 'f'] separator = '\t' data_joined = separator.join(data_list) print(data_joined) 其输出为: a b c d e f 应用场景...

2016-10-15 10:26:05

阅读数 3582

评论数 0

使用Python接入银联支付和支付宝支付的实现

前置条件:需要安装Python的OpenSSL模块,我使用的版本是16.1.0,可以使用pip install pyopenssl来安装 一、支付宝支付 1. 使用RSA公钥加密系统进行签名和签名验证,需要自己生成一个RSA私钥和对应的一个RSA公钥(在Linux下可以使用ssh-keygen命令...

2016-09-26 13:46:42

阅读数 7052

评论数 0

Maven POM中的各种scope的行为总结

compile:默认的scope。任何定义在compile scope下的依赖将会在所有的class paths下可用。maven工程会将其打包到最终的artifact中。如果你构建一个WAR类型的artifact,那么在compile scope下引用的JAR文件将会被集成到WAR文件内。pro...

2016-08-16 15:19:35

阅读数 16068

评论数 5

docker基础概念总结

为了简化部署流程,调研了Docker容器技术,总结如下。

2016-04-29 12:14:54

阅读数 1681

评论数 0

Hadoop备忘:Reduce阶段Iterable<VALUEIN> values中的每个值都共享一个对象

/** * Iterate through the values for the current key, reusing the same value * object, which is stored in the context. * @return the series...

2016-03-31 16:11:22

阅读数 3020

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭