自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xuzhezhaozhao的专栏

每天进步一点

  • 博客(319)
  • 资源 (16)
  • 收藏
  • 关注

原创 主流 CTR 模型综述

1. CTR 模型建模在讲 CTR 模型之前,我们首先要清楚 CTR 模型是什么,用来解决什么问题。所以我们先描述 CTR 问题,并对其进行数学建模。一个典型的推荐系统架构如下图所示:一般会划分为召回和排序两层。召回负责从百万级物品中粗选出千级数量物品,常用算法有协同过滤、用户画像等,有时候也叫粗排层;排序负责对召回层召回的千级物品进行精细排序,也叫精排层;CTR,Click-T...

2019-11-02 16:23:00 17111 4

原创 神经网络之优化算法

先来回顾一下神经网络的经典结构,如下图所示:一般神经网络分为:输入层,隐藏层,输出层。上图中的连线代表的是神经网络中的参数,参考下面的图:常用的激活函数有:如果对上面的内容有疑惑的话,可以参考笔者的上一篇文章《谈谈对神经网络的理解 “谈谈对神经网络的理解”》,这里不再赘述。好了,下面进入正题。损失函数的概念在讲优化算法之前,我们先要明确损失函数的概念,损失函数有很多种说法,中文也...

2019-11-02 16:15:14 6352

原创 谈谈对神经网络的理解

首先,“神经网络” 这个词来源于脑科学,但其实目前计算机中的神经网络跟脑科学中的神经网络没太大关系,只能算是受其启发,个人感觉有点像飞机和鸟的关系。从线性模型说起先从最简单的线性模型说起,高中我们学过的线性回归就是线性模型,求解线性回归模型最经典的解法是最小二乘法。写成向量的形式:回想高中学过的内容,通过会给我们一堆二维点的坐标值,需要找到一条直线来拟合这一堆点,如下图所示二维情况...

2019-11-02 16:00:55 2735

原创 vim使用点滴记录

vim使用点滴记录重新要在linux下学习了,很久没折腾vim了,以前的一些技巧都基本忘了,现在重新学习,一点点折腾,把过程记录下来.打造属于自己的vim. 条目按学习的时间顺序排序. 用了几天终端下的vim, 今天(140412)发现gvim更漂亮而且更好用, 特别是换了 Consolas字体之后, 跟在windows下用vs编程的字体一样了, 瞬间感觉熟悉了好多, 继续折腾! 我的.vimr

2017-05-25 18:33:30 2888

原创 漂亮的git log显示

漂亮的git log显示git提供了别名设置,参考git别名,使用git过程中经常需要查看log,分享一个漂亮的查看log的别名命令:git config --global alias.hist 'log --pretty=format:"%C(auto)%h %ad | %C(auto)%s%d %Cblue(%an)" --graph --date=short'显示效果

2017-05-25 16:51:55 4172

原创 Linux 下查找 .so 文件中函数入口

有时候会想知道 .so 文件中某些信息,比如版本,函数入口等。strings 命令是个很有用的命令,比如我想知道 libstdc++.so 这个动态库里面是否有 refill 函数,可以用$ strings libstdc++.so | grep refill输出_ZN9__gnu_cxx17__pool_alloc_base9_M_refillEm由于 c++ 编译后会修改函数签名,可以用 c++

2016-10-09 20:07:02 6519

原创 GDB调试技巧

GDB调试技巧自己经常用到的一些GDB命令. - si 单指令执行 - display/i $pc 执行si命令时打印汇编代码 - 回车 重复上一条命令 - b 断点, b *0x8048a45 在指定内存位置停止, 也可以设在函数名上 - n 单语句执行 - c 继续执行 - finish 结束当前函数 - bt 查看函数堆栈 - shell 执行shell命令 - li

2016-08-26 11:45:40 1204 1

原创 Linux下比较好用的性能监控工具

Linux下比较好用的性能监控工具strace 监控进程的系统调用iostat 监控磁盘状态sarvmstat(待补充)

2016-08-23 15:34:33 2445

原创 Git 生成并应用 patch

Git 生成并应用 patch在开发过程中,我们会有很多不同的分支,如果突然发现一个 bug,这个 bug 在所有分支中都存在,而我们肯定不想切到每个分支去重复修改这个 bug,该怎么做呢?可以用 git 的 patch功能,先生成一个 patch,然后在每个分支上应用这个 patch 就可以了。生成 patch假设我现在在 ansys 开发分支上,我需要修改一个 double_wrapper 基础

2016-08-23 12:19:37 965

原创 Linux 下 profile 技巧

Linux 下 profile 技巧用 profiler 来查看程序最耗时的部分, 以便在正确的地方优化是很重要的.zoom 一个图形化的 profiler, 非常简单, 而且好用, 入门教程, 注意编译的时候加上 ‘-O2 -g’ 参数以开启优化并保留符号列表. 最简单的用法就是启动 zoom 后点击 start, 然后马上运行你要 profile 的程序, 程序运行结束后点击 stop.

2015-09-17 19:07:31 2488

原创 bash 变量名中包含变量赋值方法

bash 变量名中包含变量赋值方法写bash脚本时经常要会有变量名中包含变量, 例如有变量 s1, s2, s3, … , 用变量 i 表示数字, 怎样方便的用for循环赋值, 解决方法是用 eval 命令. 如下:eval s${i} = ${var}给其他变量赋值eval ss=\$s${i}打印用echo \$s${i}

2015-09-06 16:38:31 6050

原创 GCC Tips

GCC Tips-print-file-name 打印默认的头文件搜索路径$ gcc -print-file-name=include/usr/lib/gcc/x86_64-linux-gnu/4.8/include-dM 不做实际的预处理,仅仅列出所有#define的宏, 这些宏大部分与体系结构和GNU相关,或来自所包含的头文件。$gcc -E -dM hello.c另外,还有一些-d

2015-08-23 18:09:57 635

原创 处理字符串时如何选择buffer的大小和分配方式 - 看看 redis 是怎么做的

最近在阅读 redis 代码, 觉得 如何阅读 Redis 源码 提供了的阅读顺序还不错, 因为之前有读过 lua 代码, 也有一点经验, 作者建议的顺序还是比较合理的. 所以先从 redis 的内部字符串的实现开始看起, 在阅读过程中看到一个我个人认为很赞的技巧. 先贴代码:(不得不说, redis 的代码注释真是详尽到了极致 … lua的注释很本没法比啊)sds sdscatvprintf(sd

2015-05-16 21:12:18 1602

原创 词法分析工具flex学习笔记

看flex官方文档作的一些笔记, 只记录一些我感觉可能会用到的部分.%top A %top block is similar to a ‘%{’ … ‘%}’ block, except that the code in a %top block is relocated to the top of the generated file, before any flex definitions

2015-04-12 19:31:44 2126

原创 flex匹配json number, string

根据官网给出的number格式定义很容易匹配:DIGIT [0-9]DIGITS {DIGIT}+INT "-"?([0-9]|[1-9][0-9]*)FRAC "."{DIGITS}E [eE][-+]?EXP {E}{DIGITS}NUMBER {INT}({FRAC}|{EXP}|{FRAC}{EXP})?string的匹配就复杂点, 开始

2015-04-12 16:47:12 1061

原创 bison(yacc)学习笔记

看matz的streem项目时对其中bison解析语法的几个地方有些不懂, 上网搜了些资料, 把这些记录下来.bison是啥就不多说了, 网上一搜一大堆. bison官方文档.首先是这个用法%union { node* nd; strm_id id;}%type <nd> program compstmt%type <nd> stmt expr condition block con

2015-04-12 16:06:43 8004 3

原创 Lex匹配unicode字符

想用lex&yacc写一个json的解析, 而json的string类型是包含unicode的, 词法解析工具Lex是不直接支持unicode字符匹配的, 那如果要想匹配unicode字符应该怎么办呢, 在stack overflow上看到一个很好的解答: http://stackoverflow.com/questions/9611682/flexlexer-support-for-unicode

2015-04-11 22:23:23 2271

原创 开源中国安卓客户端源码学习(三) 按两次返回键退出程序

开源中国安卓客户端源码学习(三) 按两次返回键退出程序很多安卓程序都有按两次返回键退出的功能, 那么这个功能是怎样实现的呢?开源中国用了一个辅助类.ui.DoubleClickExitHelper类实现这个功能,其中涉及到了Android的Handler+Looper+MessageQueue消息机制, 网上有很多相关资源, 这个东西比较复杂, 日后还需要深入研究, 这里只需要大概知道其原理就可以了

2015-03-22 16:17:26 966

原创 开源中国安卓客户端源码学习(二) 判断网络连接状态

开源中国安卓客户端源码学习(二) 判断网络连接状态Android系统自动会为每个程序运行时创建一个Application类对象 , 且只创建一个, 所以Application可以说是单例模式的一个类, 这个类用来存储一些系统信息. 通常不需要自己指定一个Application, 如果要自己指定, 那么需要创建一个类继承Application, 并在AndroidManifest.xml文件中的ap

2015-03-22 15:50:27 1390

原创 开源中国安卓客户端源码学习(一) 渐变启动界面

开源中国安卓客户端源码学习(一)准备学习安卓开发, 看到网上有人推荐开源中国安卓客户端的源码, 说里面包含了大部分技术, 于是准备好好研究研究. 特开通此系列博客来记录学习过程.到这里下载源码包,开发环境为Linux下Eclipse,导入源码后有可能会出现android.webkit.CacheManager找不到的错误, 原因是这个类在4.0以上版本的SDK被删除了, 只要下载4.0版本的SDK使

2015-03-19 09:52:24 1489

原创 Linux cat 命令源码剖析

最近在读APUE, 边看还得边做才有效果. 正好linux下很多命令的是开源的, 可以直接看源码. GNU coreutils 是个不错的选择. 源码包有我们最常用的 ls, cat等命令的源码, 每个命令都比较短小精悍, 适合阅读. 下面是我阅读 cat 命令的一点笔记.到这里下载源码. 在源码根目录下 ./configure; make 就可以直接编译, 修改后make就可以编译了. 命令源码在 src/目录中, lib/目录下有一些用到的辅助函数和常量定义.

2014-11-07 21:05:52 9095 3

原创 设计模式之禅 读书总结

设计模式之禅 秦小波 著

2014-10-31 15:03:30 1367

原创 深度探索C++对象模型 读书总结

Stanley B. Lippman 著侯捷 译

2014-10-26 22:12:12 1691

原创 STL源码剖析 读书总结

> 侯捷著很早就买了这本书, 一直没看, 现在在实验室师兄代码的时候发现里面使用了大量泛型编程的内容, 让我有了先看看这本书的想法. 看之前我对于泛型编程了解甚少, STL倒使用的比较熟练. 看完这本书之后, 只能表示以前对于STL的使用真是跟小孩玩似得, 只懂其冰山一角. 在真正的深入到源码之后, 对于STL中不容易理解的部分如 迭代器(iterator), 仿函数(functo

2014-10-21 15:29:54 2364

原创 Bash shell 终端快捷键

用linux离不开shell, 下面分享几个我最喜欢的

2014-10-16 17:41:54 1007 1

原创 ubuntu 下使用 jsoncpp库

做项目的时候需要用c++解析json文件,

2014-10-14 17:00:51 6496

转载 C++中的new/delete与operator new/operator delete

C++中的new/delete与operator new/operator deletenew operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。new operator(1)调用operator new分配足够的空间,并调用相关对象的构造函数(2)不可以被重载operator ne

2014-10-13 11:56:21 1048

原创 Linux 下编译使用Boost

Boost是什么不多说, 下面说说怎样在Linux下编译使用Boost的所有模块.1. 先去Boost官网下载最新的Boost版本, 我下载的是boost_1_56_0版本, 解压.2. 进入解压后目录: cd boost_1_56_0, 执行下面的命令:$ ./bootstrap.sh --prefix=path/to/installation/prefixprefix的

2014-09-26 18:06:09 4197

原创 Git 使用笔记

使用Git工具作的一些笔记, 方便查看.

2014-09-25 21:25:04 1254

原创 使用Doxygen生成代码文档

doxygen 是一种用于 C/C++、Java™、Python 和其他编程语言的文档系统。其功能类似于

2014-09-13 21:46:42 1540

原创 LLVM Pass 初探

1. 首先要配置环境

2014-09-12 22:46:53 4406 1

原创 whitespace language, 全部由空白字符组成的编程语言

还是stack overflow 上的问题, Possibly quit your job with a polyglot

2014-09-11 12:04:41 2742 1

转载 gdb中调试stl

GDB中print方法并不能直接打印STL容器中保存的变量,其实只要http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt这个文件保存为~/.gdbinit  就可以使用它提供的方法方便调试容器.

2014-09-09 21:38:52 2039

原创 Linux下图形化调试工具: kdbg, Affinic

在linux下调试确实是个很麻烦的事, 用gdb调试不怎么方便, 没有在windows下用vs爽, 主要原因还是因为gdb是用命令行形式, 其实在linux下也有一些基于gdb的图形化调试工具.1. kdbgubuntu下 直接 sudo apt-get install kdbg 即可安装.若启动后出现 MNG error 11: Function is invalid at

2014-09-06 22:33:16 12739

原创 SRM 629 D1L2: CandyCollection, dp, dfs

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include

2014-09-06 20:51:36 1034

原创 看代码学C++

在实验室看大牛师兄的C++代码,边看边学

2014-09-03 18:13:46 1433

原创 Linux下无需输入密码自动登陆ssh服务器方法

用OpenSSH在linux下登陆ssh服务器时,每次都提示要输入密码,而且使用vim 的netrw插件编辑远程文件时每次修改后保存都要输密码,非常麻烦。查看了netrw的help文档,发现已经介绍了自动登陆ssh服务器的方法:1. 创建一个公开/私密钥对(在客户端机器上进行)ssh-keygen -t rsa(saving the file in ~/.ssh/id_rsa as pr

2014-08-27 09:45:49 3071 1

原创 TCO14 2C L2: CliqueGraph,graph theory, clique

题目:http://community.topcoder.com/stat?c=problem_statement&pm=13251&rd=16017参考:http://apps.topcoder.com/wiki/display/tc/TCO+2014+Round+2C如果用先计算出每条边,用邻接矩阵来表示图,然后用BFS或 Floyd-Warshall算法来计算距离的话,时间复杂度是O

2014-08-21 23:39:29 1190

原创 TCO14 2B L3: AlwaysDefined,math,从余数入手

题目:参考:http://apps.topcoder.com/wiki/display/tc/TCO+2014+Round+2B

2014-08-21 20:02:08 832

原创 TCO14 2B L2: SumAndProductPuzzle, math, 推理

题目:http://community.topcoder.com/stat?c=problem_statement&pm=13205&rd=15996参考:http://apps.topcoder.com/wiki/display/tc/TCO+2014+Round+2B第一次碰到这种推理题,逻辑思维能力要非常强大,要根据每个人的结论推出隐藏的条件,得到S应该要满足的条件。具体实现时也有一

2014-08-21 15:50:24 1219

Advanced Bash-Scripting Guide 读书笔记

看Advanced Bash-Scripting Guide这本书做的一些笔记,将书中一些比较主要的东西提取出来了,看完这本书之后用来复习还是很有用的。

2013-07-17

UnxUpdates.zip

windows下可运行的unix工具,包括sed,wc,cut,cat,grep,uniq,join, paste, head, gawk, head, trail 等等!

2013-07-11

TopCoder: SmartWordToy

TopCoper SmartWordToy problem 解决方法,C++源码。 Problem Statement The toy company "I Can't Believe It Works!" has hired you to help develop educational toys. The current project is a word toy that displays four letters at all times. Below each letter are two buttons that cause the letter above to change to the previous or next letter in alphabetical order. So, with one click of a button the letter 'c' can be changed to a 'b' or a 'd'. The alphabet is circular, so for example an 'a' can become a 'z' or a 'b' with one click. Form: http://community.topcoder.com/stat?c=problem_statement&pm=3935&rd=6532

2013-06-02

CSAPP: malloc lab 文档及解答

《深入理解计算机系统》一书的配套lab之malloc lab。学生用来实现自己的malloc, realloc和free函数。 Students implement their own versions of malloc, free, and realloc. This lab gives students a clear understanding of data layout and organization, and requires them to evaluate different trade-offs between space and time efficiency. One of our favorite labs. When students finish this one, they really understand pointers!

2013-05-15

CSAPP: shell lab 解答

经典的shell实验, 实验内容为实验一个unix下的简易的shell程序, 搞懂了这个程序对于unix下的sigal机制会有一个更深入的理解, CMU大学(卡耐基 梅隆大学)经典计算机课程实验之一, 里面含有实验完整内容及其源程序, 还有详细的解答过程, 很多国内大学的计算机课程都选用此实验作为其课程设计之一!

2013-05-07

CSAPP_cachelab Part A解答

经典的缓存实验 cache lab,CMU大学(卡耐基 梅隆大学)经典计算机课程实验之一, 实验分为两部分, 这里面只有Part A的答案.

2013-05-04

CSAPP_buflab 解答详细过程(内含源程序包及文档)

经典的缓冲区溢出实验,buflab,CMU大学(卡耐基 梅隆大学)经典计算机课程实验之一, 里面含有实验完整内容及其源程序, 还有详细的解答过程, 很多国内大学的计算机课程都选用此实验作为其课程设计之一!

2013-04-23

各种学习笔记

学习过程中作的一些笔记,有linux,vim,bash,htm,css,ubutn

2013-04-22

vim使用笔记

把vim的官方文档看了一遍,整理了一些笔记,比较全面!

2013-04-22

ubuntu使用技巧

平时使用ubuntu的一些小技巧整理,应该会对你有些帮助!

2013-04-22

CSAPP bomb lab内容加解答

著名的bomb lab, CSAPP(深入理解计算机系统)一书中9个lab之一, 卡耐基 梅隆大学 Introduction to Computer 课程实验之一, 这里面包含实验内容及我的解答过程, 二进制文件bomb在我的64位Ubuntu下面运行正常, 无需在特定的服务器下运行.

2013-04-22

严蔚敏版数据结构算法C语言实现

清华大学出版社严蔚敏版<<数据结构>>一书前10章算法的C语言(应用了少数C++特性, 如函数重载, 引用等)实现, 前3章是VC6.0的工程, 后面的是VS2010的工程,每章的所有算法都在一个工程里面. 每个函数都有注释, 可以对照着书看. 原创作品.

2013-04-17

c语言常见算法

算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法

2011-12-29

c语言常用函数手册

查询c函数的好帮手,方便快捷,对于c语言的学习很有帮助

2011-12-29

c语言也能干大事全部板书

杨中科C语言也能干大事视频教程的全部板书

2011-12-28

空空如也

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

TA关注的人

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