- 博客(25)
- 资源 (23)
- 收藏
- 关注
原创 扣减库存
方案一: 代码同步, 使用 synchronized,lock等同步方法这个方案不太行,主要是因为以下几点:1) synchronized 作用范围是单个jvm实例, 如果做了集群,分布式等,就没用了,因为无法跨jvm.2) synchronized是作用在对象实例上的,如果不是单例,则多个实例间不会同步(这个一般用spring管理bean,默认就是单例)3) 单个jvm时,syn...
2019-03-23 20:57:44 1809
原创 epoll内部实现
epoll能够支持百万级别的句柄监听. Nodejs使用的libev,底层是epoll。Nginx使用的epoll边缘触发。调用过程1. 调用epoll_create()建立一个epoll对象(在epoll文件系统中为这个句柄对象分配资源)2. 调用epoll_ctl向epoll对象中添加这100万个连接的套接字3. 调用epoll_wait收集发生的事件的连接实现机制当某...
2019-03-19 10:11:33 3100 3
原创 Docker in Docker(dind) Jenkins实践
Docker in Docker(dind) image用于jenkins做build,在image里面装好第三方,然后jenkins有docker插件如Yet Another Docker Plugin(https://wiki.jenkins.io/display/JENKINS/Yet+Another+Docker+Plugin),管理这些image, 可以在一台机器上起多个docker i...
2018-05-22 10:52:03 5848 1
原创 最长公共子序列和最长公共子串
动态规划与分治法之间的区别:1.divide and conquer algorithm分治法是指将问题分成一些独立的子问题,递归的求解各子问题。2.dynamic programming algorithm动态规划适用于这些子问题不是独立的情况,也就是各子问题包含公共子问题。最长公共子序列和最长公共子串的区别:找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的;而最长公共子序列则并不要...
2018-04-12 15:59:03 640
原创 堆(2)--最大优先级队列
1. 优先级队列优先级队列是一种用来维护由一组元素构成的集合S的数据结构,这一组元素中的每一个都有一个关键字key。一个最大优先级队列支持以下操作: INSERT(S, x): 把元素x插入集合S。 MAXIMUM(S): 返回S中具有最大关键字的元素。 EXTRACT-MAX(S): 去掉并返回S中的具有最大关键字的元素。 INCREASE...
2018-03-11 22:19:10 579
原创 堆(1)--堆排序HeapSort
1. 堆或称二叉堆二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。堆一般都用数组来表示, 若数组下标从0开始, i 结点的父结点下标P...
2018-03-11 21:54:44 444
原创 归并排序Mergesort
归并排序Mergesort是个稳定的排序,时间复杂度O(nlogn), 空间复杂度是O(n), 发明者是 冯·诺伊曼。归并排序具体工作原理如下(假设序列共有n个元素):1. 将序列每相邻两个数字进行归并操作(merge),形成floor(n/2)个序列,排序后每个序列包含两个元素。2. 将上述序列再次归并,形成floor(n/4)个序列,每个序列包含四个元素。3. 重复步骤2,
2018-01-23 09:45:12 422
原创 快速排序Quicksort
快速排序(Quicksort)是对冒泡排序的一种改进, 采用的思想是分治思想。"快速排序"的思想很简单,整个排序过程只需要三步: (1)在数据集之中,选择一个元素作为"基准"(pivot)。 (2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。 (3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元
2018-01-23 09:32:47 420
翻译 解决几乎任何机器学习问题(完整翻译)
解决几乎任何机器学习问题(完整翻译)英文原文:Approaching (Almost) Any Machine Learning ProblemKaggle团队| 07.21.2016Kaggle大师Abhishek Thakur最初在2016年7月18日在这里发表了这篇文章。一个数据科学家每天处理大量的数据。有人说,超过60-70%的时间花在了数据清理,数据转移和
2018-01-16 09:16:35 16331 1
原创 Stanford CoreNLP生成CoNLL数据格式
Stanford CoreNLP + Java 8:https://stanfordnlp.github.io/CoreNLP/index.html斯坦福大学CoreNLP提供了一套人类语言技术工具。它可以给出词的基本形式,词类,是否是公司名称,人名等,规范日期,时间和数量,根据短语和句法依赖标记句子的结构,指出哪些名词短语是指相同的实体,表示情感,提取实体提及的特定或开放的类关系,得到人
2017-11-13 18:13:53 7094 2
原创 Theano和Tensorflow多GPU使用问题
我使用的是tensorflow-gpu (1.2.1)和Theano (0.9.0),2个4G显存Nvidia Quadro M2000 GPU。1. theano: ValueError: Could not infer context from inputs THEANO_FLAGS="contexts=dev0->cuda0;dev1->cuda1,gpuarray.prea
2017-09-25 17:46:56 3160
翻译 什么是加密,它是如何工作的?通俗易懂
What Is Encryption, and How Does It Work? 一文的翻译,通过漫画的方式讲清楚了加密,通俗易懂,是一篇好文。加密有着悠久的历史,可以追溯到古希腊人和罗马人时代,他们用字符替换的方式来送密文,有了密钥才能解出来。让我们快速回顾一下历史,学习更多关于加密如何工作的知识。在本文的讲解中,我们先简要的回顾历史,工作原理,以及不同类型加密的例子。
2017-07-26 16:57:05 2982
原创 Ubuntu创建本地bitcoin.org站点
(1) 建立一台ubuntu16虚拟机(2) 安装ruby, jekyll, bundleapt-get updateapt-get install build-essential git libicu-dev zlib1g-devapt-get install ruby ruby-devgem install jekyllgem install b
2017-06-24 19:45:45 838
原创 Centos Keras(2.0.4)+Theano(0.9.0)+OpenBLAS CPU方式配置
实际测试openblas运算比atlas快很多。1. centos安装openblas:yum install openblas-devel2. 安装python2.7.x, 并pip安装keras.3. 配置keras使用theano backend:vim /root/.keras/keras.json{ "epsilon": 1e-07,
2017-05-12 17:47:05 1207
原创 Centos6.3 keras+tensorflow+xgboost+libsvm机器学习环境搭建
最近项目做机器学习的功能,同时用到了keras,xgboost,svm,项目用到的os很老是centos6.3,近期也没有升级os的plan,我只有在此os摸索, 耗了好几天的时间。以下记录了安装过程和遇到的问题,适用于CentOS release 6.3 x86_64。开始使用Keras(2.0.4) + Theano(0.9.0)backend,在AWS EC2 m3.xlar
2017-05-11 19:31:04 1601
原创 扁鹊三兄弟
原文:《鹖冠子·世贤第十六》卓襄王问庞暖曰:“夫君人者亦有为其国乎?”庞暖曰:“王独不闻俞跗之为医乎?已成必治,鬼神避之,楚王临朝为随兵故,若尧之任人也,不用亲戚,而必使能其治病也,不任所爱,必使旧医,楚王闻传暮在身,必待俞跗。”卓襄王曰:“善。”庞暖曰:“王其忘乎?昔伊尹医殷,太公医周武王,百里医秦,申麃医郢,原季医晋,范蠡医越,管仲医齐,而五国霸。其善一也,然道不同数。”卓襄王曰:“愿
2016-03-03 08:44:10 3571
原创 perl解析XML的性能比较
perl XML模块perl解析XML实现方式有很多模块。下面总结一些。模块说明XML::Simple用于读写 XML 的普通 API,最好与 XML 格式的配置文件一起使用XML::LibXMLgnome libxml2 库的 Perl 接口,用于高性能的 DOM 处理XML::Parser用于 James Cl
2015-11-27 12:49:14 383463
原创 perl对称加密解密
概述常见的对称加密有DES,3DES,AES, RC2, RC4, RC5和Blowfish等,这些在Perl里面都有相应的模块实现。列举一些如下:算法模块rpm包cpanDESCrypt::DES perl-Crypt-DEShttp://search.cpan.org/~dparis/Crypt-DES-2.07/DES.pm
2015-11-27 08:33:47 188906
原创 python Queue的多线程应用
python Queue的用法python队列是线程安全的,它里面可以承载任何类型的数据,供多个线程处理。python queue模块有三种队列: python queue模块的FIFO队列先进先出,构造函数class Queue.Queue(maxsize)。 LIFO类似于堆。即先进后出,构造函数class Queue.LifoQueue(maxsize)。
2015-11-20 16:35:20 186309
原创 python logging模块的多文件应用
概述有的时候需要在一个python程序中生成多个log文件。本文对logging进一步封装,展示如何在一个程序中使用logging模块打印两个log文件来记录不同类型的信息。注意logging模块是线程安全的,可以在多线程环境中使用。完整的代码#!/usr/bin/env python2.7# -*- coding:utf-8 -*-import logging, logg
2015-11-20 10:09:39 392797
原创 sqlite编程心得
1. 应用场景SQLite(sqlite3)数据库是个文件,又有数据库操作的接口,所以某些场景用起来特别方便。就我的使用感受, sqlite3特别适合应用于单进程来操作数据,缓存中间数据,并且数据库大小有上限,建议1G之内。在内部,SQLite由以下几个组件组成:内核、SQL编译器、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展SQLi
2015-11-19 08:35:58 187834
原创 mysql自动分区自动清理
1. 概述mysql分区表功能特别有用,其中一个应用就是保存固定时间的数据信息,自动分区自动purge,不用担心数据量越积累越多。比较实用的一个实现方式是表一天一个分区,保持固定天数的数据。2. 完整的SQL以数据库log为例,里面有一个表tb_log, 按天分区,始终保存最新的30天的数据。存储过程sp_create_log_partition和sp_drop_log_par
2015-11-18 15:52:51 189250
原创 Redis编程--Perl接口及内建Lua脚本应用
1. Redis built-in Lua ScriptRedis支持内建持久化的Lua脚本的执行并返回结果。使用"SCRIPT LOAD"命令将得到此脚本的SHA1 ID.redis-cli SCRIPT LOAD "$(cat ./myexample.lua) 使用"EVALSHA"命令传入SHA1,KEY和参数便能执行此脚本并返回结果。“SCRIPT LOAD”详见h
2015-11-17 14:08:07 107877
原创 Redis with HA
概述Redis(http://redis.io/)一个高性能的key-value数据库,可用于实时的计算和统计等。Redis有多种HA方案,比如Master-Slave,Redis Cluster等方案。本文采用Redis Sentinel来管理1 Master 2 Slave的3台VM实例的方式,每台VM实例有一个Redis进程和一个Sentinel进程。对于小型的应用来说,此方
2015-11-17 12:31:50 184624
原创 数据库重要概念简述
数据库系统的三级模式模式:概念模式或逻辑模式,一个数据库只有一个概念模式。外模式,:子模式, 一个数据库可以有多个外模式。内模式,: 存储模式, 一个数据库只有一个内模式。数据库的二级映像功能:外模式/模式映像,对应于同一个模式可以有任意多个外模式。模式/内模式映像, 数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的。范式
2013-08-27 12:32:15 184812
Hands-On Machine Learning for Algorithmic Trading第一版
2023-05-23
Machine Learning for Algorithmic Trading, 2nd edition
2023-05-23
Code for Machine Learning for Algorithmic Trading, 2nd edition
2023-05-23
Ceph分布式存储学习指南
2019-05-06
Boost程序库完全开发指南 深入C++准标准库 第3版
2019-05-06
C++高级进阶教程
2019-05-06
C++11/14高级编程: Boost程序库探秘 第三版
2019-05-06
R语言实战 Robert I. Kabacoff
2018-01-22
Deep Learning深度学习中文版
2018-01-22
集体智慧编程 (美) 西格兰著
2018-01-22
嵌入式经典--Linux设备驱动第三版中文版
2009-11-17
cleartool_command_version7.0.0.1
2009-11-07
STL 参考手册--使用STL编程必备
2009-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人