自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

No detail can be too detailed

思则变 变则通 通则达

  • 博客(146)
  • 资源 (5)
  • 收藏
  • 关注

翻译 nginx+uwcgi+python部署

一、部署nginx yum install nginx -y二、安装uwsgi yum -y install uwsgi uwsgi-devel uwsgi-plugin-python查看版本 uwsgi –version三、配置uwsgi mkdir /data/release/pyweb cd /data/release/pywe...

2018-04-20 13:23:41 897

翻译 mysql 中注意DATE, DATETIME, and TIMESTAMP

一、背景项目计费时,上一波人在设计db表字段时,将时间类型误用了,导致出现问题。二、记录1、依据mysql官文文档: https://dev.mysql.com/doc/refman/8.0/en/datetime.html 11.3.1 The DATE, DATETIME, and TIMESTAMP Types The DATE, DATE...

2018-04-20 13:12:39 459

原创 Python中的callable是基于什么样的机制实现的

如题,在Python中有这样的方法callable,判断一个对象是否可以调用。 callable(object) 中文说明:检查对象object是否可调用。如果返回True,object仍然可能调用失败;但如果返回False,调用对象ojbect绝对不会成功。看看源码intPyCallable_Check(PyObject *x){ if (x == NULL)

2016-07-12 21:07:44 2376

原创 php中抽象类在其方法中例化其子类来完成对自己方法的调用

初学,遇到这,不能悟出其中的妙处,记录下; 大体的逻辑如下abstract class A{ private static $c; final function todo() { //do something } public function init() { $c = new B; } publi

2016-07-02 16:18:29 1505

原创 PHP框架中根据类名自动搜索路径的问题

初学php,看一些框架,发现在一个类中,new 新类时,并没有在本文件中include或者require,根据需要特定的类名,就可以完成实例化。查看代码后,明白,采用的是一种spl_autoload_register技术。 如下为一个简单的示意图 component、controller、interface为框架的众多文件夹中的一部分,在逻辑流程中,没有直接include或者require这

2016-06-27 21:00:22 904

原创 关于Python中函数默认参数的研究

源于对一个项目的bug,调试,一直出现的问题就是,在本地运行没有问题,但是,一旦上线,就会出现问题,同样相似的在下面的例子里面也出现这样的情况。代码:def foo(bar=[]): bar.append('abc') return barif __name__ == '__main__': print foo()在linux下,运行 [root@kvm_10_112_1

2016-06-18 16:48:28 340

原创 db中删除记录后,主键id没有从零开始

对于一个表,在使用时 delete from ‘tablename’之后再次插入后发现主键是在上次删除之后开始的,也就是没有从零开始 虽然是这样的想法,但是,在知乎上看到,一般不这样做 如下 https://www.zhihu.com/question/20407101

2016-05-28 15:41:00 1824

原创 python中在list中添加字典遇到的问题

在写python时,遇到了如上问题,代码复现如下a = []b = {}for i in range(2): b['num'] = i a.append(b)本意是想的到 [{‘num’:0},{‘num’:1}] 但是实际却是 [{‘num’:1},{‘num’:1}]执行id(a[0])和id(a[1])发现这两者的索引是一样的, 这样就能理解了 在py

2016-05-28 15:22:29 4630

原创 APUE之变量errno总结

关于这个变量的研究将会是持续的,并保持更新。 先看看其最常见的说明: 只要一个Unix函数中有错误发生,全局变量errno就被置为一个指明该错误类型的正值,函数本身则通常返回-1。 errno的值只在函数发生错误时设置。如果函数不返回错误,errno的值就没有定义。errno的所有正数错误值都是常值,具有以“E”开头的全大写字母名字,并通常在sys/errno.h头文件中定义。

2016-01-22 15:37:09 410

原创 unix网络编程I卷之关于wait在不同系统中的表现扩展出来的问题

在书中,服务器利用信号,完成子进程的“收尸”工作。如下void sig_chld(int signo){ pid_t pid; int stat; pid=wait(&stat); printf("child %d terminated\n",pid); return;}在fork之前调用 signal(SIGCHLD,sig_c

2016-01-22 10:27:12 426

原创 unix网络编程I卷之字节流套接字中的read和write问题

在第三版卷一中page78, 还有网友在这个问题上的一些提问:http://bbs.csdn.net/topics/390795029 使用read函数从套接字的接受缓冲区中读取数据到应用缓冲区时需要指定一个表示需要读取多少字节的参数,阻塞情况下,如果接收缓冲区中的数据没有达到该参数指定的数量时,read函数会阻塞直到接收到指定字节数再返回还是立即返回?http://blo

2016-01-19 21:20:07 1233

原创 APUE之fork两次与僵尸进程的问题

初读此书,一点不明,最终的所有的无父进程的子进程都要变为init进程的子进程,那为什么,还要fork两次解决这个僵尸进程的问题,这其中的本质原因,还是没有弄清楚,为此研究一下。如下是书中一段源码:/* * Avoid zombie processes by calling fork twice. * APUE-2e 程序清单8-5 */#include <unistd.h>#include

2016-01-18 11:31:41 553

原创 关于重入函数的资料总结

重入一般可以理解为一个函数在同时多次调用,例如操作系统在进程调度过程中,或者单片机、处理器等的中断的时候会发生重入的现象。一般浮点运算都是由专门的硬件来完成,举个例子假设有个硬件寄存器名字叫做FLOAT,用来计算和存放浮点数的中间运算结果假设有这么个函数void fun(){//...这个函数对FLOAT寄存器进行操作}假如第一次执行,有个对浮点数操作运算的结果临时存在FLOAT寄存

2016-01-18 09:19:39 326

原创 关于回调函数的一些问题解决

回调函数,之前没有接触过,那就研究研究吧。 最直接的就是,看看一个回调函数的小栗子。 翻阅《c和指针》有一节介绍回调函数,最简单的模型就是:把函数指针作为参数传递给其他函数,然后后者“回调”作为参数的函数。 在网上找一个小代码#include <stdio.h>void printWelcome(int len){ printf("欢迎欢迎 -- %d\n", len);}void pr

2015-09-02 22:14:03 516

原创 链表环问题研究

有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。如下图所示 下面分析如何检测出来 首先想到的是是否可以将走过的路径记录下来,每次都需要检测这个是否遍历过, 当然这里考虑链表的长度比较短 首先模拟一个链表环,然后利用vector保存每个链表节点的地址,每次都进行搜索;typedef struct node{ int dat

2015-09-01 14:59:01 395

原创 C++中的引用在初始化时占用内存吗?

这个问题,还没有完全研究完,先贴上一部分实验结果。 这里比较疑惑的有两个问题,c++中是怎么实现引用的和引用会和指针一样占用内存吗? 其实是一个问题,下面的实验都是在linux64 g++编译器平台 看第一段代码#include<iostream>using namespace std;int main(){ int a=10; int* p =&a; int &q =a; cout

2015-08-25 15:35:56 1005

原创 关于浮点数的一些问题

在stackoverflow中看到的,之前用float类型数据比较少,所以没怎么研究。现在看看 看看测试代码int main(){ float a = 0.7; float b = 0.5; if (a < 0.7) { if (b < 0.5) printf("2 are right"); else printf("1

2015-08-25 10:22:01 784

原创 本以为理解const,其实那只是冰山一角

这里首先针对c中const来研究一下,对于c++中在后面的博客中分析。关于教科书里面的一些问题,比如初始化呀什么的,这里就不列举的,下面看看几个问题。第一个问题 看下面这个代码 编译有警告 看看运行结果 这是与我之前的理解又有差异了,在之前的理解是,a的值是不变的,因为这是常量折叠的问题,然而在linux gcc上的运行结果让我困惑了。 如果换到vs2008上,如下同样代码

2015-08-21 14:43:08 1097 4

原创 研究研究看似简单的switch问题

这个问题,之前一直没有去思考,在c和指针这本书中,在谈到switch是给出了这样一段话: 也就是说switch的条件要是整型值?好像一直这么用,却没有研究过为什么。惭愧。。。 研究c语言最好就是看其汇编实现,下面在linux 64位上实验。 编译运行,输出10; 然后将目标文件dump出来int main(){ 40052d: 55

2015-08-21 14:05:35 1024

原创 dynamic programming 学习

这是看到一位大神,写的关于dynamic programming的博客,觉得非常好。简单分析下,然后给出链接。背景问题就是 有一个国家,所有的国民都非常老实憨厚,某天他们在自己的国家发现了十座金矿,并且这十座金矿在地图上排成一条直线,国王知道这个消息后非常高兴,他希望能够把这些金子都挖出来造福国民,首先他把这些金矿按照在地图上的位置从西至东进行编号,依次为0、1、2、3、4、5、6、7、8、9,然

2015-08-19 16:01:08 702

原创 剖析prim最小生成树算法

在上一篇博客中,已经用代码实现了这个算法。只是我认为从算法到代码实现,这是一个很大的过渡,不喜欢教科书式的顺理成章的过渡,虽然下面写的不知所云,虽然我很菜。看完上篇博客中代码,想想其中一些问题, 1、如何将图的相互关系,用合适的数据结构来表示 2、如何搜索某一节点周围的权值路径 3、如何将新的节点加入到新的搜索库中。第一个问题 对于这个图关系,用什么样的数据结构来表示,这里有两两之间的关

2015-08-18 13:48:24 735

原创 图论中最小生成树的问题学习

之前的博客分析过这种问题,并使用伪代码分析过其实现。 首先给出问题背景吧,其实岛屿问题(华为的机试题),要在n个岛屿上之间建桥,要使得所有岛屿联通,因为岛屿之前的距离不一样,所以规划出最短的造桥路径。 为了方便研究,从最简单的三个节点开始 ABC三个岛屿,两两之间的距离如上图。 首先要将这种图的关系存储起来,要用到二维数组#define N 3int g[N][N];图中的关系输入格式

2015-08-17 14:57:13 1108

原创 C中柔性数组(flexible array)的学习

首先看看什么是柔性数组 C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其 他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。 基本模型为typedef

2015-08-16 21:13:07 1560

原创 重新认识Segment fault

对于这个问题,只是之前听说过,并没有研究过。最近在oj编程时,vs上运行没有问题,提交时出现了段错误。为此重视一下这个问题。在维基上给出这个名词的定义 A segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempt

2015-08-13 14:45:03 789

原创 按照特定轨迹遍历字符串图

题目大致是这样的, 字符串“PAYPALISHIRING”的一种“之”字型路线是这样的: 如果一行一行的读写,就是PAHNAPLSIIGYIR。所以,如果输入PAHNAPLSIIGYIR和3,就是横着的字符串和层数,输出N轨迹的字符PAYPALISHIRING。首先想到的是如何 将输入字符串,分割开来,比如上面是3层,分成3个字符串,这三个字符串一定是连续的 第一段+第二段+第三段 现在

2015-08-12 17:28:43 667

原创 解决c/c++的sequence points和side effects问题

在看一篇文章时,提到这样一段代码#include <stdio.h>void foo(void){int a = 41;a = a++;printf("%d\n", a);}int main(void){foo();}本以为很简单嘛,就是不要忘了a赋值之后还要自己。其实是自己想的太简单了。 因为在vs2008和linux gcc下跑的结果不一样。研究一下这里面的原因。 在vs

2015-08-10 15:14:27 1057 1

原创 inline陷阱问题

在规范c++编程时遇到的,即类的文件定义常规的对类的使用,在class.h对类进行生命,对于成员函数在class.cpp中定义,如下实现main.cpp#include#include "person.h"using namespace std;int main(){ person p; p.setage(12); cout<<p.backage()<<endl

2015-08-05 12:46:58 682

原创 最小生成树问题的常规分析过程

这里只是给出按照正常自然人的分析过程,不想涉及代码。 首先理解一下什么是最小生成树,用一个例子 要在n个城市之间铺设光缆,主要目标是要使这 n 个城市的任意两个之间都可以通信,但铺设光缆的费用很高,且各个城市之间铺设光缆的费用不同,因此另一个目标是要使铺设光缆的总费用最低。这就需要找到带权的最小生成树。 实际上这个很像背包问题,但是区别在于最小生成树没有重复问题,只要路径最短就可以了。 下面

2015-08-04 22:33:27 644

原创 分析编译器对C关键字的处理『跳过编译器的语法检查,完成很危险的操作』

在c中const这个关键字,维基给出这样一句话 When applied in an object declaration,[b] it indicates that the object is a constant: its value does not change, unlike a variable. This basic use – to declare constants – has

2015-08-04 13:30:57 976

原创 nios软核cpu中架构类shell的一种解决方式『linux 系统函数调用的方法』

在nios中要实现一个类shell的交互系统,用户在终端可以通过命令调用系统函数。 想到linus当年在写下系统函数调用时,其实基于的思想是一样的,就是查表,每一种系统函数都对应一种中断服务号,然后通过0x80系统调用进入内核,然后查表,这里就可以找到对应的内核系统函数,回顾一下linus是怎么做到的。 就以系统函数open为例子int open(const char * filename, i

2015-07-31 10:25:32 675

原创 小编程题--解决一维迷宫问题

题目源于计蒜客,如下题目给定一个非负整数数组,假定你的初始位置为数组第一个下标。数组中的每个元素代表你在那个位置能够跳跃的最大长度。请确认你是否能够跳跃到数组的最后一个下标。例如:A = [2,3,1,1,4],return true.A = [3,2,1,0,4],return false.格式:第一行输入一个正整数n,接下来的一行,输入数组A[n]。如果能跳到最后一个下标,输出

2015-07-29 12:05:46 1285 1

原创 解决关于哈夫曼编码计算带权路径长度问题

这是在做一道编程提示遇到的,学习了一位博主的编码,其中有些问题未能理解,分析解决掉。 首先什么是哈夫曼树: 哈夫曼树,又称最优二叉树,是一类带权路径长度最短的树。 也就是根节点到节点的中的长度最小,当然条件就是,每条路径都是有权重的, 所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的 路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数)。树的带权路径长度记为WP

2015-07-24 16:54:24 7237

原创 编写nios-shell时想到的问题-回车vs换行

在编写nios上类shell用户交互代码时,因为要检测终端输入字符,所以想到了这个问题,故分析之。 回车符的ascii码,ASCII码13 ‘\r’ 换行符的ascii码,ASCII码10 ‘\n’ 符号 ASCII码 意义 \n 10 换行NL \r 13 回车CR回车 \r 本义是光标重新回到本行开

2015-07-23 15:35:31 830

原创 改进基于优先队列的最短路径搜索『洪水流思想的体现』

这问题是在博客上看到的,为此学习一下,然后在他的基础上,修改完成迷宫洪水流算法的实现题目是Problem DescriptionAngel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M <= 200) matrix. There are WAL

2015-07-22 17:09:02 823

原创 STL--关于权重问题的解决

在A star算法中就出现了权重问题,是数据结构中涉及到权重或者说是优先级的就是优先队列了,为此分析一下,这类问题的共性。在STL中queue头文件中,有priority_queue的类 这是优先队列,在涉及权重问题时可以使用 一般的C++这个类使用时, 1、 priority_queue pq; 这时,库默认是将数值最大的作为优先级最高的输出 2、priority_queue<int,

2015-07-21 21:48:17 551

原创 linux之return和exit引发的大问题(vfork和fork)

在coolshell.cn上看到的一个问题,为此拿来研究一下。 首先 看看return和exit的区别 在linux上分别跑一下这个代码int main(){ return 0; //exit(0);}return 0 exit(0) return在返回时会对栈进行操作,将栈清空,然后跳转到调用函数的下一条指令,而exit没有对栈操作,具体exit怎么运行,

2015-07-21 13:41:40 914

原创 GNU LIBC源码学习之strcmp

比较两个字符串我的代码块#include <string.h>int my_strcmp(const char* s1,const char * s2){ if((s1==NULL)||(s2==NULL)) return 0; while(1) { if((*s1=='\0')||(*s2=='\0')) break; if(*s1>*s2) return 1;

2015-07-20 20:58:09 1112

原创 每天小练笔10-小和尚挑水(回溯法)

题目 某寺庙里7个和尚:轮流挑水,为了和其他任务不能冲突,各人将有空天数列出如下表: 和尚1: 星期二,四; 和尚2: 星期一,六; 和尚3: 星期三,日; 和尚4: 星期五; 和尚5: 星期一,四,六; 和尚6: 星期二,五; 和尚7: 星期三,六,日; 请将所有合理的挑水时间安排表 思路 回朔法求解 回朔法即每进行一步,都试图在当前部分解的基础上扩大该部分解。扩大时,首先

2015-07-20 17:07:02 1487

原创 回溯算法的一些案例分析(c代码实现)

回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。//比如数组等 3、利用深度优先法搜索解空间。 //一般深度优先可以利用 递归实现 4、利用限界函数避免移动到不可能产生解的子空间。 //每次递归判断是否符

2015-07-20 13:59:45 1068

原创 重现二叉树非递归算法的构建过程

递归完成树的遍历很好理解,倘若是非递归,不要告诉我算法导论上有,我要maker的思考过程 既然递归能够实现,那就模拟递归。递归的本质就是压栈。 首先简单树,观察递归的压栈过程 A、B即使节点的数据也代表节点的地址。 对这棵树使用递归完成前序创建#include <iostream>using namespace std;struct treenode;typedef struct

2015-07-17 13:53:10 712

IPCalculator

IPCalculato

2015-04-25

gcc for andriond

android平台下的gcc编译器,程序猿朋友可以试试啊,挺不错的。 分别安装“C++编译器(即C4Droid).apk”和“GCC for C4droid-4.7.1_r1.apk”,然后就可以编写程序试试啦。

2015-04-14

CPU源代码分析与芯片设计及Linux移植

CPU源代码分析与芯片设计及Linux移植

2015-03-13

深入浅出hello world

[演講:深入淺出 Hello World -- 理解 Linux 上運作 Hello World 的種種機制]

2015-03-12

空空如也

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

TA关注的人

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