自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(173)
  • 收藏
  • 关注

原创 MySQL设置log-bin后服务器重启失败的解决办法

问题描述:MySQL中二进制日志功能默认是关闭的,查看各种开启方式后,确定在配置文件中加入如下配置来开启该功能:[mysqld]log-bin=mysql 之后使用 “systemctl start mysql” 重启服务器,报错“Job for mysql.service failed because the control process exited with error code

2017-05-10 23:08:32 3262 1

转载 MySQL慢查询日志总结

慢查询日志概念     MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不

2017-05-10 21:07:23 463

原创 读书笔记《测试驱动开发》一

单个类的开发原则:从类的小功能开始开发,在具体写实现代码之前,先写测试代码。通过先写测试代码,能确定类的指定功能较好用的接口。小函数开发周期:先将问题转为一个测试程序通过存根等方式尽快使代码通过编译对运行错误的情况进行分析,使得代码可以运行消除重复设计,优化设计结构(重构)尽快使测试程序通过编译的三个原则:伪实现:返回一个常量,并逐渐用变量替换常量,知道伪代码成为可用的真实代码显明实

2017-05-02 18:01:12 419

原创 读书笔记《计算机程序的构造和解释》一

P 2.2 层次性数据与闭包性质1. 闭包性质:某种组合数据对象的操作是否满足闭包性质取决于:通过该操作组合起数据对象得到的结果本身还可以再通过该操作再进行组合。如 f(f(x))2. 如果某个对组合数据对象的操作满足闭包性质,我们就可以将一些简单操作组合得到复杂的功能3. 将程序表示为一些针对序列的操作,可以帮助我们得到模块化的程序设计,也就是说,得到由一些比较独立的片段

2017-04-30 12:31:27 868

原创 读书笔记《Unix编程艺术》六

尽量把程序的复杂度从代码中转移到数据中数据比逻辑更容易驾驭,尽可能把设计的复杂度从代码转移到数据中。数据驱动编程: 把代码与代码要作用的数据划分清楚,在需要改变程序逻辑时,只需要编辑数据而不是代码例子:语法编辑器需要识别文档中的关键字,可将支持识别的关键字放在某个文件中,每次程序执行前读取,而不是把关键字硬编码在程序中专用代码的生成: 将一些代码的书写转移到使用自动化工具来完成例子:可

2017-04-16 12:42:25 617

原创 读书笔记《Unix编程艺术》五

语言的分类语言的分类从基础的文本文件到最后的脚本文件,以下分类是语言从基础功能到不断复杂功能的演变: 简单可读文本文件:/etc/passwd等结构化可读文件:SNG文件,sng中每一个可读字符对应PNG中一段比特位在某些上下文解释下开始执行行为的结构化可读文件:xml,html,正则表达式等声明性语言:通过约束条件来说明在解释性上下文中要完成的行为,如make,命令性语言:每个命令有其

2017-04-11 17:04:28 337

原创 读书笔记《Unix编程艺术》四

多道程序设计unix设计的核心思想: 做单件事并做好Less is moreUnix IPC 方法的分类把任务转给专门程序核心思想:一个程序调用另一个程序来完成专门的某个任务实现方式:被调用程序在运行完毕之前接管用户的键盘与现实,调用程序在该过程中不与之通信,被调程序运行结束后归还控制权。专门程序通过文件系统与父进程进行通信。(如将结果写到指定文件中等方式)特点:被调用进程在运行时不需

2017-04-10 12:17:08 274

原创 JavaScript继承的实现

JavaScript 通过函数的方式实现继承,其中分为原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承与寄生组合式继承。其中最后性能最好的是寄生组合式继承。具体分析如下原型链继承实现形式// A类型function A(){ this.a = true;};A.prototype.getA = function(){ return this.a;};//B类型

2017-04-09 23:15:57 401

原创 读书笔记《Unix编程艺术》三

程序的可显性与透明性1. 可显性定义:软件帮助人们(用户)知道“做什么、怎么做”理解:降低进入门槛2. 透明性定义:能预测到程序的全部或者大部分行为,通过程序看透机器究竟在干什么理解:减少代码中存在的成本3. 两者区分:Linux内核:用户可以明确知道 Linux 内核的全部或大部分行为(高透明性),但是不能很简单的就可以通过程序知道怎么去读磁盘,写磁盘等(低可显性)。SNG : 该

2017-04-09 11:58:48 392

原创 JavaScript中创建对象过程的理解

JavaScript设计基础JavaScript是完全不同于其他OO语言设计思路的一门脚本语言。其核心思想是:函数就是对象,对象中可以有属性与函数,其中属性与函数都有一个名字,名字类似指针,存着指向值的地址。没有OO中类的概念正是其独特的基础核心思想,决定了这门语言的很多设计特点,在过程中把函数和指针用得透透的,从而引申出很多独特的(可以说复杂麻烦)的特性一门语言的基础思想决定了这门语言的语

2017-04-08 22:37:58 452

原创 读书笔记《Unix编程艺术》二

文本化文本化包含两种设计,一种是将应用数据存储在永久存储器(磁盘等)中文件格式,另一种是在协作进程之间传递数据和命令的应用协议。存储数据结构的文件格式通常在C++,python等中,将内存中数据结构的存储为文件的过程称为序列化(列集),将文件中的数据结构恢复到应用程序中的过程称为反序列化(散集)。数据文件格式与配置文件(运行控制文件)的文件格式之间存在差异,这是因为配置文件通常都是只读文件,而数

2017-04-08 12:11:01 315

原创 读书笔记《Unix编程艺术》一

Unix 设计的统一思想:一切皆文件。Linux是一个采取了Unix的设计思想,初始行为表现与Unix相同的操作系统,但Linux中的源码并未有任何出自Unix。Linux符合一切皆文件的思想,其中读写操作都是处理文件描述符,无论是文件描述符后的是真正打开的文件,还是进程间通信的套接字,对于用户而言都是操作文件描述符,用同样的API进行操作,这种思想对写IPC等比较方便,容易上手。开源

2017-04-07 12:08:38 1094

原创 类与包

包的划分原则:1. 重用发布等价原则:重用的粒度就是发布的粒度个人理解:一个包中的类要么全都是可重用的,要么全都是不可重用的。2. 共同重用原则:如果重用了包中的一个类,那么就要重用保重的所有类。个人理解:当确信依赖于一个包时,将依赖于那个包中的每一个类。3. 共同封闭原则:一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对其他的包不造成任何影响。

2017-03-12 12:05:28 277

原创 读《哥德尔艾舍尔巴赫》中第19章—人工智能的展望 的思考

1. 思维的滑动性我们的思维在思考一个问题或一个场景时,是存在一个滑动的过程的,从一个场景滑动到一个相似的略有差别的场景中,但是这种滑动也有自然滑动和不自然滑动的区别,例子如下:真实情况: 小明去商店买了一杯珍珠奶茶,有3颗珍珠自然滑动:小明去商店买了一杯珍珠奶茶,有很多颗珍珠略不自然滑动:小明去商店买了一杯珍珠奶茶,有3颗珍珠,有很多芒果粒很不自然滑动:小明去商店买了一杯珍珠

2017-03-06 23:49:36 915

原创 读《暗时间》有感 二

“逃出你的肖申克”大脑的处理分为两部分,情绪系统和理智系统,情绪系统在思维中通常占主导地位,因此会出现如下情况:学习是好事(理性系统),但是学习很沉闷( 事实),因此不开心,不想学习,不学习就很放松(情绪系统)。最终决定不学习,就是其中情绪系统占了主导地位。1. 我们太可能呢因为受到知识的局限性而对事物的看法产生无法消除的偏见,有时候打破这种偏见的唯一途径就是开阔视野,多积累知识,

2017-03-06 20:22:01 297

原创 C++ 'include' 的两个头文件互相包含出错

头文件保护符通常,现在写代码时都会随手在头文件中加入头文件保护符。有以下两种形式的保护符。#ifndef ABCDE#define ABCDE//..... 内容#endif#pragma once两种模式的作用是相同的,都是只让头文件在解析过程中只会展开一次。能工作的循环包含情况今天遇到的问题是循环包含问题,也就是说如下例子//a.h#pragma onc

2017-03-06 12:53:54 5237 1

原创 理解《Deep Forest: Towards An Alternative to Deep Neural Network》

Deep Forest 结构1. Deep Forest 是由多层瀑布组成的,每一层瀑布的输入是前一层瀑布输出的特征信息,且该层瀑布的输出作为下一层瀑布的输入特征的一部分2. 瀑布是由多个森林集成的,而森林又是由多棵决策树集成的。为了保证模型的多样性,采用了多种不同种类的森林3. 为了简单起见,文中在每层瀑布中只选用了两种森林:two complete random fores

2017-03-05 14:45:01 4685 5

原创 读《暗时间》有感 一

1. 学习的两个最重要的喜欢:迅速进入专注学习+长时间持续专注学习2. 万事开头难,不要过早的退出或放弃,专注和持之以恒才是王道3. 想弄清楚一件觉得会伤自尊的问题时(向别人提出认为比较弱智的问题),不要犹豫,想想是否会有实质的损失4. 《程序员的自我修养》中说,每年保持能学一门新语言,因为能给出解决问题的不同思路5. 程序员一生的知识中,自学占了9

2017-03-04 23:43:07 490

原创 杂记

今年七月就毕业了,上一次写博客还是16年9月,认真的记录读书笔记是在16年4月,准确来说从16年4月后我就开始进入了复习准备校招的状态。因为没学新东西,或者说没时间写读书笔记,所以好长一段时间都没有更新过csdn博客。其实在16年7月的时候我就拿到了第一家互联网的offer,只是当时还没有给具体薪酬,所以没敢放松,一直在很紧凑的复习准备中,到9月初的时候,我基本已经拿到了想要的公司的offer,从

2017-03-04 21:13:52 252

转载 C++实现职责链模式

软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。       职责链模式:使

2016-09-16 16:52:19 361

原创 C++11 新接口 实现线程池类

class Job{protected: int i;public: Job(int c) :i(c) {} virtual void doJob() { printf("job : %d\n", i);}};class ThreadPool{ vector pool;public: ThreadPool(int n):close(false), max_num(n)

2016-09-13 16:16:06 539

转载 累积梯度下降,随机梯度下降,基于mini-batch 的随机梯度下降

1、批量梯度下降的求解思路如下:(1)将J( θ)对theta求偏导,得到每个 θ对应的的梯度   (2)由于是要最小化风险函数,所以按每个参数theta的梯度负方向,来更新每个theta(3)从上面公式可以注意到,它得到的是一个全局最优解,但是每迭代一步,都要用到训练集所有的数据,如果m很大,那么可想而知这种方法的迭代速度!!所以,这就引入了另外一种方法,随机梯度下降

2016-09-07 20:06:24 2153 1

原创 牛客网刷题的知识点积累

关于树1. 树中节点的度数与树的关系a) 树的分支数=度数为1的节点数*1 + 度数为2的节点数*2 + 度数为3的节点数*3....b) 树的分支数=树的节点数 - 1c) 树的节点数=度数为1的节点数+度数为2的节点数+度数为3的节点数....

2016-08-15 09:53:26 595

原创 getopts 的坑

getopts 真的比较坑啊。。。。语言描述不同,以下用例子来体现,对脚本文件 ./test.sh#注意,选项一开始没有冒号while getopts ab:c OPT; do case $OPT in a) echo "a";; b) echo "b : $OPTARG";; c) echo "c";; \?) echo "wr

2016-05-13 20:50:03 405

转载 getopts命令行参数处理

getopts命令行参数处理一、getopts 简介  由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高。使用内部命令 getopts 可以很方便地处理命令行参数。一般格式为:getopts options variable  getopts 的设计目标是在循环中运行,每次执行循环,getopts 就检查下一个命令行参数,并判断它是否合法。即

2016-05-13 20:28:35 429 1

转载 linux启动是自动加载的几个文件说明bashrc等 .

linux启动是自动加载的几个文件说明bashrc等(1)/etc/profile全局(公有)配置,不管是哪个用户,登录时都会读取该文件。(2)/ect/bashrcUbuntu没有此文件,与之对应的是/ect/bash.bashrc它也是全局(公有)的bash执行时,不管是何种方式,都会读取此文件。(3)~/.profile若bash是以login方式执行

2016-05-10 20:52:09 1195

转载 linux粘着位的作用

文章转自:点击打开链接我们先来看看chmod()函数的原型:  #include   #include   int chmod(const char *pathname,mode_t mode);  其第一个常数是路径名,用来指定需要修改权限位的文件,我们这里要注意的是第二个常数,它是mode_t类型,*_t意味着它是原始系统数据类型(primitive system type

2016-04-28 19:33:33 1827

原创 深度学习中的降维操作——PCA(主成分分析)

前言:深度学习是个很有意思的话题:1.对线性不可分的数据,其方法是通过增加隐层神经元的数量,将低维不可分的数据映射到高维,使得数据可分(如单隐层感知机训练异或门)2.对特征维数过高的数据(如mnist手写识别中的维度为28*28),将对数据进行降维操作,通常的降维操作有PCA(主成分分析)与dA(降噪自动编码器)。下面是对PCA的工作流程的简述,之后对工作流程进行数学上的解

2016-04-28 14:33:22 11399

转载 shell中的IFS和$*变量

本文转载自http://blog.chinaunix.net/uid-22566367-id-381955.html不得不说shell里面的全局变量都是些恶心的家伙,特别是这家伙----IFS,恶心之极,差点被它忽悠过去了,所以赶快记录下来,以免下次再被忽悠!!!STRING1="111 222 333 444"echo $STRING1echo "$STRING1

2016-04-18 20:06:39 483

转载 辗转相除法求得最大公约数的证明

描述:关于辗转相除法的具体实现在这里就不具体说明了,本文要记录的是辗转相除法应用于求最大公约数的算法证明过程。  假设:求m和n的最大公约数。a,b分别是m除以n的商和余数,即m=na+b。gcd(m,n)表示m和n的最大公约数。  求证:gcd(m,n)=gcd(n,b)  证明:    设c=gcd(m,n), d=gcd(n,b)  1

2016-04-08 11:15:32 6500

转载 用BP人工神经网络识别手写数字

文章转自:点击打开链接图像预处理使用下图(后方称为 SAMPLE_BMP)作为训练和测试数据来源,下文将讲述如何将图像转换为训练数据。灰度化和二值化在字符识别的过程中,识别算法不需要关心图像的彩色信息。因此,需要将彩色图像转化为灰度图像。经过灰度化处理后的图像中还包含有背景信息。因此,我们还得进一步处理,将背景噪声屏蔽掉,突显出字符轮廓信息。二值化处理就能够将其中的字符

2016-04-04 17:44:51 1635 1

原创 BP神经网络与RBF神经网络讲得好的博客链接

RBF神经网络介绍得很好的博客:点击打开链接BF神经网络与RBF神经网络的区别介绍的很好的博客:点击打开链接

2016-03-30 20:50:42 1434

原创 关于指针与类的内存分布问题(问题思考来自《程序员面试宝典》)

引起思考的例子:class A{public: int a_1,a_2; A() :a_1(1),a_2(2){} void func() { cout << a_1 << endl; cout << a_2 << endl; }};class B {public: int b; B() :b(3){} void func() { cout <<

2016-03-29 14:57:14 450

转载 字符串匹配的KMP算法

字符串匹配是计算机的基本任务之一。  举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?  许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。  这种算法不太容

2016-03-25 10:46:14 481

原创 求数组中若干个元素之和等于给定值

这个问题的基础版本是:在数组中找两个元素,使其之和等于某个给定值。解法简单:将数组排序后,用两个指针分别位于数组首与数组尾,然后计算两个指针所指元素的和,若大于给定的元素,则尾部的指针向前移动;若小于给定的元素,则首部的指针向后移动。但该问题提升后,成为了子集和问题,这是一个NP问题。在leetcode上还有升级版本的问题:求给定数组中四个元素之和等于给定元素的所有元素的子集。该问题,只能用暴

2016-03-19 15:52:57 6642 1

原创 动态规划之整齐打印

算法描述部分转自:点击打开链接''' 乍一看以为是空格个数和,如此可以使用“贪心算法”求解,即从第一行开始尽可能多的放置单词,可以证明这个“贪心解”也是最优的,假设有一个最优解从某行开始和“贪心解”不相同,我们可以从这行开始进行构造证明,将下一行的某些单词拿到行尾来使得当前行为“贪心解”,如此“贪心解”的行数必定不大于“最优解”,如此命题得证。此处的空格立方和,有点类似数学期望的方差,

2016-03-18 11:43:51 1690

原创 最长递增子序列的求解(O(n*n),O(nlogn))——动态规划

该问题均使用动态规划来解决1.在O(n*n)的复杂度下求解最长递增子序列1) 描述最优子结构序列中每个元素维护两个额外信息量,均假设当前元素(i)是 (0~i-1)个元素子序列中作为递增子序列的最后一个元素,则维护当前元素最后最后一个元素的递增子序列的长度,并维护该序列中当前元素的前一个元素。如:{1,5,6,7,3} 中,元素1 维护的信息量分别为:(1)从0~0的子序列

2016-03-17 11:55:04 970 1

原创 线性时间排序C++代码集合(计数排序,基数排序,桶排序([0~1)的浮点数))

1. 计数排序输入:待排序数组 vec输出:排序结果数组 res占用额外空间:max_value(vec) 大小的数组void countSort(vector & vec,vector & result){ vector c_vec; //额外空间 result.resize(vec.size()); //输出预留空间 for (auto val : vec)

2016-03-09 11:40:26 578

转载 二叉树前序、中序、后序遍历非递归写法的透彻解析

前言在前两篇文章二叉树和二叉搜索树中已经涉及到了二叉树的三种遍历。递归写法,只要理解思想,几行代码。可是非递归写法却很不容易。这里特地总结下,透彻解析它们的非递归写法。其中,中序遍历的非递归写法最简单,后序遍历最难。我们的讨论基础是这样的:    [cpp] view plain copy //Binary Tree Node  

2016-03-08 09:10:19 1465

原创 算法导论有趣题——4-2,6-3

4-2:题目描述:某数组A[1,2,...n]含有所有从0到n的证书,但其中一个整数不在数组中。通过辅助数组B[0,...n]来记录A中出现的整数(1)在O(n)时间找到缺失整数(2)若数组中每个数值是二进制的,不能直接对每个数取出其数值,则如何找到缺失解答:(1)遍历数组A,将每个出现的值存储在B中下标对应值,之后遍历一次B即可eg:for val

2016-03-05 09:57:01 591

空空如也

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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