自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老码农

自己撰写博客已经很长一段时间了,由于个人涉猎的技术领域比较多,所以对高并发与高性能、分布式、传统机器学习算法与框架、深度学习算法与框架、密码安全、隐私计算、联邦学习、大数据等都有涉及。

  • 博客(13)
  • 资源 (6)
  • 收藏
  • 关注

原创 文本相似度-bm25算法原理及实现

文本相似度-bm25算法原理及实现文章目录文本相似度-bm25算法原理及实现原理原理BM25算法:用途:搜索相关性分数的计算;算法描述:对Query进行语素解析,生成语素qiq_iqi​;然后,对于每个搜索结果D,计算每个语素qiq_iqi​与D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分。BM25算法的一般性公式如下:...

2019-01-30 16:08:46 540

原创 大数据面试题

大数据面试题目文章目录给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。有10个文件,每个文件1G, 每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要你按照query的频度排序有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16个字节,内存限制大小是1M。返回频数最高的10...

2019-01-30 14:54:37 302

原创 历史上悬疑未解的题目答案大揭秘

历史上有不少精彩的智力题,其中有一些一直悬而未解,多少人纵然冥思苦想,也无法求解。于是有人开始求教生肖迷宫工作室。其实我也没经过深思熟虑,我的答案也不见得一定对,大家可以共同探讨。色盲问题假设:有一个人,他有一种奇怪的色盲症。他看到的两种颜色和别人不一样,他把蓝色看成绿色,把绿色看成蓝色。  但是他自己并不知道他跟别人不一样,别人看到的天空是蓝色的,他看到的是绿色的,但是他和别人的叫法都一样...

2019-01-30 14:43:13 1511

原创 变态而有趣的微软面试题及答案

变态而有趣的微软面试题及答案变态而有趣的微软面试题及答案文章目录变态而有趣的微软面试题及答案第一组第二组第三组第四组第五组第六组答案最近和一些朋友讨论面试题比较多,呵呵,这里收藏一个比较经典的面试题目。有点搞笑,但也比较锻炼脑子。第一组​烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?你有一桶果冻,其中有黄...

2019-01-30 14:33:56 3339

原创 epoll例子

#include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <errno.h> #include <sys/socket.h>

2019-01-29 17:19:39 1916

原创 无锁编程基础

目录文章目录目录背景锁的分类死锁、活锁饥饿、饿死(starvation):优先级反转(Priority inversion)护航现象(Lock Convoys)自旋锁无锁为什么要无锁?(界定问题)如何无锁?(界定问题)CAS等原子操作无锁队列的链表实现ABA问题解决ABA的问题用数组实现无锁队列小结背景我们处在技术快速发展的时代,竞争变得前所未有的激烈,不仅要十八般武艺俱全,还得选对正确的...

2019-01-29 17:16:46 2672

原创 gdb使用技巧

gdb调试技巧gdb调试技巧文章目录gdb调试技巧多线程调试源文件显示条件断点设置变量x命令多线程调试在工程中,经常需要写多线程的程序,如果这些多线程的程序出现了问题,需要gdb的时候,我们需要用哪些命令呢?info thread 查看当前进程的线程信息,显示ID;thread ID 切换调试的线程为指定ID的线程;break test.cpp:55 thread all 在te...

2019-01-29 16:53:04 332

原创 linux下C/C++ 头文件以及库文件的搜索路径

linux下C/C++ 头文件以及库文件的搜索路径文章目录linux下C/C++ 头文件以及库文件的搜索路径基础知识gcc搜索头文件顺序linux 库文件的搜索顺序基础知识使用 #include<> :直接到系统指定的某些目录中去找某些头文件。使用 #include"":先到源文件所在文件夹去找,然后再到系统指定的某些目录中去找某些头文件。使用 -I 参数指定的头文件路径仅...

2019-01-28 11:58:27 1800

原创 LruCache的代码实现,以及分析

LruCache的代码实现以及分析文章目录LruCache的代码实现以及分析简介原理源代码优化点总结简介作为存储数据、获取数据的服务,LruCache被大量的广泛使用。例如,我们在redis、mongodb种存储海量的数据,应用服务通过api通过网络进行存取,但是由于二八原则,我们大多数情况下,获取的都是相同的一批数据,所以这个时候可以在服务内存创建LruCache将数据进行缓存。原理...

2019-01-28 10:43:35 637

原创 c/c++笔试题(包含语言、数据结构与算法、智力题)

static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域(1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;(3)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;...

2019-01-26 22:10:57 1639

原创 使用objdump分析core堆栈

使用objdump分析core堆栈文章目录使用objdump分析core堆栈普通程序的core分析使用c++编程的同学,经常会遇到诸如内存越界、重复释放等内存问题,大家比较习惯的追查这类问题的方式是,打开core文件的limit,生成core文件,用gdb进行分析;但是,在实际的生产环境中。由于程序本省占用内存非常大,比如搜索的索引服务,进行core的dump不太现实,所以一般采用,在程序...

2019-01-25 22:13:12 3131

原创 Explicit Constructors(显式构造函数,不允许隐式转换)

隐式转换按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String { String (const char* p ); // 用C风格的字符串p作为初始化值 //…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 但是有的...

2019-01-23 21:59:02 584

转载 LevelDB的sstable解读

LevelDB分析文章目录1. 分析点1.1 静态分析点1.2 动态分析点2. leveldb中的SSTable2.1 引言2.2 SSTable的layout2.2 Data Block2.2.1 技术点2.2.2 技术简介2.2.3 Data block的物理结构2.2.4 Data block的记录的格式2.3 Index Block2.3.1 技术点2.3.2 技术简介2.3.3 ind...

2019-01-04 09:40:51 1741

Scala编程完整版.pdf 带书签目录

Scala编程完整版.pdf 带书签目录 Scala编程完整版.pdf 带书签目录Scala编程完整版.pdf 带书签目录

2018-01-14

程序员的自我修炼

内容简介 · · · · · · 这本书主要介绍系统软件的运行机制和原理,涉及在Windows和Linux两个系统平台上,一个应用程序在编译、链接和运行时刻所发生的各种事项,包括:代码指令是如何保存的,库文件如何与应用程序代码静态链接,应用程序如何被装载到内存中并开始运行,动态链接如何实现,C/C++运行库的工作原理,以及操作系统提供的系统服务是如何被调用的。每个技术专题都配备了大量图、表和代码 实例,力求将复杂的机制以简洁的形式表达出来。本书最后还提供了一个小巧且跨平台的C/C++运行库MiniCRT,综合展示了与运行库相关的各种技术。 对装载、链接和库进行了深入浅出的剖析,并且辅以大量的例子和图表,可以作为计算机软件专业和其他相关专业大学本科高年级学生深入学习系统软件的参考书。同时,还可作为各行业从事软件开发的工程师、研究人员以及其他对系统软件实现机制和技术感兴趣者的自学教材。 目录 · · · · · · 第1部分 简介 第1章 温故而知新 1.1 从HELLO WORLD 说起 1.2 万变不离其宗 1.3 站得高,望得远 1.4 操作系统做什么 1.5 内存不够怎么办 1.6 众人拾柴火焰高 1.7 本章小结 第2部分 静态链接 第2章 编译和链接 2.1 被隐藏了的过程 2.2 编译器做了什么 2.3 链接器年龄比编译器长 2.4 模块拼装——静态链接 2.5 本章小结 第3章 目标文件里有什么 3.1 目标文件的格式 3.2 目标文件是什么样的 3.3 挖掘SIMPLESECTION.O 3.4 ELF 文件结构描述 3.5 链接的接口——符号 3.6 调试信息 3.7 本章小结 第4章 静态链接 4.1 空间与地址分配 4.2 符号解析与重定位 4.3 COMMON 块 4.4 C++相关问题 4.5 静态库链接 4.6 链接过程控制 4.7 BFD 库 4.8 本章小结 第5章 WINDOWS PE/COFF 5.1 WINDOWS 的二进制文件格式PE/COFF 134 5.2 PE 的前身——COFF 5.3 链接指示信息 5.4 调试信息 5.5 大家都有符号表 5.6 WINDOWS 下的ELF——PE 5.7 本章小结 第3部分 装载与动态链接 第6章 可执行文件的装载与进程 6.1 进程虚拟地址空间 6.2 装载的方式 6.3 从操作系统角度看可执行文件的装载 6.4 进程虚存空间分布 6.5 LINUX 内核装载ELF 过程简介 6.6 WINDOWS PE 的装载 6.7 本章小结 第7章 动态链接 7.1 为什么要动态链接 7.2 简单的动态链接例子 7.3 地址无关代码 7.4 延迟绑定(PLT) 7.5 动态链接相关结构 7.6 动态链接的步骤和实现 7.7 显式运行时链接 7.8 本章小结 第8章 LINUX 共享库的组织 8.1 共享库版本 8.2 符号版本 8.3 共享库系统路径 8.4 共享库查找过程 8.5 环境变量 8.6 共享库的创建和安装 8.7 本章小结 第9章 WINDOWS 下的动态链接 9.1 DLL 简介 9.2 符号导出导入表 9.3 DLL 优化 9.4 C++与动态链接 9.5 DLL HELL 9.6 本章小结 第4部分 库与运行库 第10章 内存 10.1 程序的内存布局 10.2 栈与调用惯例 10.3 堆与内存管理 10.4 本章小结 第11章 运行库 11.1 入口函数和程序初始化 11.2 C/C++运行库 11.3 运行库与多线程 11.4 C++全局构造与析构 11.5 FREAD 实现 11.6 本章小结 第12章 系统调用与API 12.1 系统调用介绍 12.2 系统调用原理 12.3 WINDOWS API 12.4 本章小结 第13章 运行库实现 13.1 C 语言运行库 13.2 如何使用MINI CRT 13.3 C++运行库实现 13.4 如何使用MINI CRT++ 13.5 本章小结 附录A A.1 字节序(BYTE ORDER) A.2 ELF 常见段 A.3 常用开发工具命令行参考 索引

2017-09-06

hadoop实战

《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。, 《Hadoop实战》适合需要处理大量离线数据的云计算程序员、架构师和项目经理阅读参考。

2016-05-11

mongodb权威指南

MongoDB的实用性着实令人着迷。MongoDB并不去迎合所有人的全部需求。它在功能和复杂性之间取得很好的平衡,并且将原先十分复杂的任务大大简化。也就是说,它具备支撑今天主流web应用的关键功能:索引,复制,分片,丰富的查询语法,特别灵活的数据模型。与此同时还不牺牲速度。   秉持MongoDB一样的风格,本书简洁明快。MongoDB新手先看第一章简介,马上就能上手。有经验的用户会得益于本书的广度和权威性。对于客户端API和高级的管理话题,如复制,备份和分片,本书都是权威参考手册。   因为我最近已经开始在日常工作中使用MongoDB了,所以我相信本书会成为从安装到生产部署分片和复制集群整个MongoDB之旅的好伙伴。任何想仔细研究使用MongoDB的人都会需要这本重要的参考书。

2015-02-26

html5权威指南

HTML 5 权威指南 高清 电子书 pdf [(美)弗里曼著][人民邮电出版社]

2015-02-26

空空如也

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

TA关注的人

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