转载请注明出处:http://blog.csdn.net/jh_zzz 这一块比较复杂,我还没有完全理解为什么要把 SQL 语句的组装搞这么复杂. 从一个普通皮肤页面开始 themes/default/index.php ,代码如下: <?php while ($this -> next()): ?> < div class ="post"> < h2 class ="entry_title">< a href =&q…
转载请注明出处:http://blog.csdn.net/jh_zzz 以 index.php 为例: /** 初始化组件 */ Typecho_Widget:: widget('Widget_Init' ); Init 的 execute 中会初始化 Typecho_Plugin ,这里 $options -> plugins 是从数据库读出来后反序列化的: Typecho_Plugin:: init($options -> plugins); init 中分别将 plugins 中的 ac…
转载请注明出处:http://blog.csdn.net/jh_zzz 从 index.php 开始看, /** 初始化组件 */ Typecho_Widget:: widget('Widget_Init' ); 看 Typecho_Widget:: widget 函数,查找 Widget/Init.php , Widget 下的文件都是从 Typecho_Widget 派生的,这里创建该对象实例,并将相关的 Request , Response 对象作为参数传递过去,然后调用该对象的 exec…
这是第二篇读书笔记,这本书我已经读了有一大半了,感觉书中所描述的人都是疯子,一群有创造力,却又耐得住寂寞的疯子. 我从书中发现几点我比较感兴趣的内容. 第一个,乐高之梦.将程序用乐高积木一样拼接起来.对于这一点,现在很多公司都已经多多少少在用了.但是书中也提到,有很多程序员往往不喜欢借用别人的代 码,如果看一个文档超过两分钟没有找到自己所需的东西就认定它不存在,从而自己来编写.在我看来这类人就是疯子,也是一群可爱的疯子,他们往往视代码为第 一存在,乐于编程,爱上编程,虽然对于团队的经理,这群牛仔…
Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_ioctl实现网络接口的配置的. 具体方法大致如下,即建立一个socket,得到一个fd,然后在此fd上执行ioctl即可完成各种操作(例如,查询/配置mac.ip.mtu,启动/停止网络接口). int fd = socket(AF_INET, SOCK_DGRAM, 0); ioctl(fd, SI…
Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_ioctl实现网络接口的配置的. 具体方法大致如下,即建立一个socket,得到一个fd,然后在此fd上执行ioctl即可完成各种操作(例如,查询/配置mac.ip.mtu,启动/停止网络接口). int fd = socket(AF_INET, SOCK_DGRAM, 0); ioctl(fd, SI…
Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int protocol); int bind(int sockfd, const struct sockaddr *addr,  socklen_t addrlen); int connect(int sockfd, const struct sockaddr *addr,  socklen_t addrl…
​ Trainer解析 我们继续Detectron2代码阅读笔记-(一)中的内容. 上图画出了detectron2文件夹中的三个子文件夹(tools,config,engine)之间的关系.那么剩下的文件夹又是如何起作用的呢? def main(args): cfg = setup(args) if args.eval_only: ... trainer = Trainer(cfg) trainer.resume_or_load(resume=args.resume) if cfg.TEST.A…
Java编程思想 这是一个通过对<Java编程思想>(Think in java)进行阅读同时对java内容查漏补缺的系列.一些基础的知识不会被罗列出来,这里只会列出一些程序员经常会忽略或者混淆的知识点. 所列知识点全部都是针对自己个人而言,同时也欢迎大家进行补充. 第九章(接口) 任何抽象性都应该是应真正的需求而产生的. 访问权限 p172 interface如果不加public关键字,则只具有包访问权限. 重名 p181 可以通过extends来扩展接口,但在实现多重继承时要注意不能实现签…
先乱序记录一下阅读Linux input subsystem代码的笔记. 在input device driver的入口代码部分,需要分配并初始化input device结构,内核提供的API是input_allocate_device(),代码如下: struct input_dev *input_allocate_device(void) { struct input_dev *dev; dev = kzalloc(sizeof(struct input_dev), GFP_KERNEL);…
引言 Bleve是Golang实现的一个全文检索库,类似Lucene之于Java.在这里通过阅读其代码,来学习如何使用及定制检索功能.也是为了通过阅读代码,学习在具体环境下Golang的一些使用方式.代码的路径在github上https://github.com/blevesearch/bleve. Index Mapping是bleve的一个功能特性,用来控制每个类型的文档,文档内的每个字段,具体应该如何被分析.索引.存储,这部分与Lucence的设计思路相同. 1 IndexMapping的…
三.源代码阅读 3.元素包括containsKey(Object key) /** * Returns <tt>true</tt> if this map contains a mapping for the * specified key. * * @param key The key whose presence in this map is to be tested * @return <tt>true</tt> if this map contain…
wsgi.py----第二部分 pop_path_info()函数 先测试一下这个函数的作用: >>> from werkzeug.wsgi import pop_path_info >>> env = {'SCRIPT_NAME': '/foo', 'PATH_INFO': '/a/b'} >>> pop_path_info(env) 'a' >>> env['SCRIPT_NAME'] '/foo/a' >>>…
没有想象中的枯燥,甚至有些有趣.这就是我对<梦断代码>这一本书的第一印象.而且,作为一本面向程序员的书籍,作者很有意义地从第0章开始,那我也从第0章开始说.这第一次读书笔记是针对0~2 章的. 首先,作者一开始就向我们介绍了程序员的真实生活:代码.日期.紧张.焦虑.这是我从书中体会出来代表程序员的词 语.我第一次感到编程可能是一件辛苦的事,回想自己编程的时候,只是歇一歇简单的短的程序,没有压力,没有焦虑,但是在真正的公司.项目中,程序员要面对的是茫茫代码以及对未来的未知,因为没有人能确定自己从…
SOA并不能保证企业的员工更加轻松,企业的收益更加客观. 6.软件组件 6.1  组件和组件的作用  通过可重用的软件代码-组件,可以构建灵活的软件. 6.2  软件组件又称为应用程序,程序,函数,模块,动态链接库,子程序,类. 6.3  确保组件之间良好协作. 6.4  增加可重用性. 6.5  Web服务标准 I.  Web服务标准主要有XML,WSDL和SOAP.XML(可扩展标记语言),WSDL(Web服务描述语言),SOAP(简单对象访问协议). II. 公共定义语言XML,公共定义接…
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注…
2015-03-06   328   Unusual Data Types    ——You can carry this technique to extremes,putting all the variables in your program into one big,juicy variable and then passingit everywhere.Careful programmers avoid bundling data any more than is logically…
按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package…
论文源址:https://arxiv.org/abs/1506.01497 tensorflow代码:https://github.com/endernewton/tf-faster-rcnn 室友对Faster R-CNN的解读:https://www.cnblogs.com/pursuiting/ 摘要 目标检测依赖于区域proposals算法对目标的位置进行预测.SPPnet和Fast R-CNN已经减少了检测网络的运行时间.然而proposals的计算仍是一个重要的瓶颈.本文提出了一个R…
论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入固定尺寸大小的图片(224x224),这引入了大量的手工因素,同时,一定程度上,对于任意尺寸的图片或者子图会降低识别的准确率.SPP-net对于任意大小的图片,可以生成固定长度的特征表述.SPP-net对于变形的图片仍有一定的鲁棒性.基于上述优点,SPP-net会提高基于CNN的图像分类的效果. S…
看完了这最后三分之一的<梦断代码>,意味着这本软件行业的著作已经被我粗略地过了一遍. 在这最后三分之一的内容中,我深入了解了在大型软件项目的运作过程中存在的困难和艰辛.一个大型软件项目的成功代表着这团队所付出的所有心血,以及那不为 人知的无数个‘人月’.而联想自己的专业,产生了一点迷惘,这就是我今后要走的道路么,我能走得多远,我能否像书中所提到的那些人一样百折不挠,这一切我 都无从得知.但是我只能向前走,别无选择,没有人会承认自己不如别人,哪怕现在不如,但总会寄托于未来,未来是未知的,但又是现…
卷积的实现思想: 通过im2col将image转为一个matrix,将卷积操作转为矩阵乘法运算 通过调用GEMM完毕运算操作 以下两个图是我在知乎中发现的,"盗"用一下,确实非常好.能帮助理解. 參数剖析 配置參数:(从配置文件得来) kernel_h_ pad_h_ hole_h_ stride_h_ kernel_w_ pad_w_ hole_w_ stride_w_ is_1x1_:上面8个參数都为1时,该參数为true 和输入有关的參数:(从bottom得来) num_ cha…
TensorFlow代码 https://github.com/eragonruan/text-detection-ctpn 训练 main/train.py 1. utils/prepare/split_label.py 缩放图片resize image(长宽 最大1200,最小600) label处理 将大矩形框label划分一个个16*16的小矩形 2. 输入 input_image 原图像 [[1, H, W, 3]] bbox(GT) [[x_min, y_min, x_max, y_…
承接上文Java性能优化(一)https://www.cnblogs.com/guo-xu/p/11019267.html 4)尽量确定StringBuffer的容量 在说和这个标题相关之前,先说一下Java中StringBuffer的地位及适用场景. StringBuffer和StringBuilder和String这三种的存在是有点相似的,所以我们平常使用的时候不会在意这三种的区别,而是单纯的使用String,哪怕我修改100次这个变量...StringBuffer与StringBuilde…
因为第一部分是关于初始化的部分的,我就没有发布出来~ wsgi.py----第一部分 在分析这个模块之前, 需要了解一下WSGI, 大致了解了之后再继续~ get_current_url()函数 很明显,该函数的作用是获取当前url地址. 代码如下: def get_current_url(environ, root_only=False, strip_querystring=False, host_only=False, trusted_hosts=None): """ :…
上一篇文章主要讨论了RC的总体框架,本文开始分析具体的代码实现细节.分析的顺序按照总体框架来,即初始化-->更新. (1)m_cRateCtrl.init() #if M0036_RC_IMPROVEMENT Void TEncRateCtrl::init( Int totalFrames, Int targetBitrate, Int frameRate, Int GOPSize, Int picWidth, Int picHeight, Int LCUWidth, Int LCUHeight…
Linux档案与目录管理 1.一些比较特殊的目录,需要用力的记下来 .         代表当前层目录 ..        代表上一层目录 -        代表前一个工作目录   (这个好屌!其他的基本都知道) ~        代表[目前用户身份] 所在的Home目录 ~account 代表account这个用户的Home目录 2.目录相关命令     a) cd : 变换目录     b) pwd: 显示当前目录 *  不熟标记   -P 可以把一些链接地址打出来     c) mkdir…
每一个C\C++程序都有一个非常有名的入口函数 main(),在Windows系统下,这个函数就变成了WinMain函数. 在cocos2d-x 2.0.4的Windows版本中,main函数非常简单,总共加起来不到30行 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstanc…
以下是我根据作者的思路,创建的第一个Android应用程序,由于工具强大,代码都自动生成了,如下: package com.example.first_app; import android.os.Bundle; import android.app.Activity; import android.view.Menu; //MainActivity继承于Activity类 此处用到了java关键字extends public class MainActivity extends Activit…
论文源址:https://arxiv.org/abs/1512.02325 tensorflow代码:https://github.com/balancap/SSD-Tensorflow 摘要 SSD也为单阶段的网络,在feature map的每个feature map像素上生成一系列不同尺寸与大小的默认框,预测时,网络输出的分数代表每个默认框中目标物的类别,同时,调整框的大小与目标物的外形更加匹配.针对不同尺寸大小的物体,网络结合不同的网络层(具有不同的分辨率)的预测值.相对于提取目标prop…