自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 c/c++常用代码之四爆炸输出,jason(纯干货)

常用代码之四:创建jason,jason转换为字符串,字符串转换回jason,c#反序列化jason字符串的几个代码片段创建jason,并JSON.stringify()将之转换为字符串。直接使用var customer={}, 然后直接customer.属性就可以直接赋值了。也可以var customer = { CustomerName: CustomerName, CustomerAd...

2019-07-29 12:13:36 354

转载 Linux常用操作指令(面试专用)

常用指令ls   显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)cd 切换目录touch 创建空文件ec...

2019-07-27 20:34:46 445

转载 封装hiredis——C++与redis对接(一)(string的SET与GET操作)

redis,总想着像Mysql一样,在C/C++中进行对接。于是查询了一些资料,最后找到了hiredis。然而直接用它的话,难免有点不方便。于是,对其进行封装。hiredis直接去git上克隆,地址:https://github.com/redis/hiredis。下载好之后,由于其自带Makefile,只要make一下就编译出静态库与动态库了,接着把头文件和静/动态库放在相应的文件夹里就可以...

2019-07-27 17:55:24 614

转载 内存泄漏检测工具valgrind神器

1.1 介绍Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示:图11.2 工具...

2019-07-27 11:39:29 289

转载 Linux下内存问题检测神器:Valgrind

在写大型C/C++工程时难免会发生内存泄漏现象,系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。 常见的内存问题一共七种:1. 动态内存泄露;2. 资源泄露,比如文件指针不关闭;3. 动态内存越界;4.数组内存越界;5.动态内存double free;6.使用野指针,即未初始化...

2019-07-26 16:47:49 113

转载 国外程序员整理的 C++ 资源大全

摘要:C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Library:是一系列类和函...

2019-07-26 11:32:29 258

原创 最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)

最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)导读什么是序列化?为什么要序列化?好处在哪里?C++对象序列化的四种方法最常用的两种序列化方案使用心得正文什么是序列化?程序员在编写应用程序的时候往往需要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的另一台计算机上以实现通讯。这个将 程...

2019-07-25 20:59:23 317

转载 关于Google+以及Facebook第三方登录实现的一点总结

简述最近项目中有关于第三方登陆的需求,第三方Facebook以及Google +登录。正好这几天把这个需求做得差不多了,收个尾,作为一个这方面之前基本从未涉及的小白,总结下开发流程以及过程中遇到的一些问题。希望能对大家有所帮助。 基本上,目前互联网上的涉及到第三方登录采用的都为OAuth认证方式,相关原理以及实现方法相关的可以网上搜索查看。不过涉及到Facebook以及Google +的...

2019-07-25 15:27:35 4237

转载 Linux下ffmpeg添加Facebook/transform代码块实现将全景视频的球模型转换成立方体模型

Linux下ffmpeg添加Facebook/transform代码块实现将全景视频的球模型转换成立方体模型Facebook事实上已开始在平台中支持360度全景视频的流播,但公司对此并不满足。其工程师更是基于锥体几何学设计出了一套全新的视频编码,号称最高能将全景视频的文件大小减少80%。(VR最新突破:全景视频压缩率达80%,即将普及爆发)图片描述(最多50字)1、Facebook开源了其...

2019-07-25 11:54:40 304

原创 [C++] 分享国外程序员的 C++开发资源大全

、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library : POSIX系统的C标准库规范ISO C++ Standards Committee :C++标...

2019-07-24 16:33:17 443

原创 苦逼程序员的真实生活

程序员这个行业虽然待遇还不错,但是不仅累,拿命去换取的,很多时候也是很苦逼的,有多少程序员还在苦苦追求心里的那个她。我就是千万程序员大军中的一员,其中有多苦逼我最清楚,以下的12张Gif足以代表我们绝大多数程序猿的心声,起码这些我都亲身体验过,那滋味略酸爽。在此,致敬所有的同行,为了实现自己、实现老板、改变世界的梦想而在默默奋斗着。往工作环境上传东西的时候当我度周末,而其他人在办公室修复问题...

2019-07-24 12:25:53 1177

转载 Facebook兆级别图片存储及每秒百万级别图片查询原理

前言Facebook(后面简称fb)是世界最大的社交平台,需要存储的数据时刻都在剧增(占比最大为图片,每天存储约20亿张,大概是微信的三倍)。那么问题来了,fb是如何存储兆级别的图片?并且又是如何处理每秒百万级别的图片查询?本文以简单易懂,图文并茂的方式来解释其中的原理,并不涉及空洞,难解的框架,也没有大篇章的废话铺陈,只有痛点与反思;就如同fb的架构师所说:fb的存储架构就像高速公路上换轮...

2019-07-24 11:02:42 117

原创 面试经验:Facebook面试问题总结

说实话,其实我的眼界从来很狭窄,以前想的是,如果能在天朝帝都扎下脚跟,过上老婆孩子热炕头的日子,对我来说已很满足。所以之前也从未对出国读书或工作有过准备,下文所述很多内容都是我在最近的一小段时间里才接触到的,而且现在离正式入职还早,对于fb内部的情况并没有什么了解,签证之类的麻烦事还在办理中,说不定去不成了也是有可能的(-_-)……扯远了,总之就是说,虽然我已经尽力做到客观准确,但恐怕难免会有错漏...

2019-07-23 19:59:58 2484

原创 分布式日志收集系统:Facebook Scribe

以下是我在公司内部分享的关于分布式日志收集系统的PPT内容,现在与大家分享,希望对于需要使用的人能够起到基本的入门作用或是了解!1.分布式日志收集系统:背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的...

2019-07-23 15:50:31 211

原创 名站技术分析 — facebook奇特的页面加载技术

没事使用代理上了下facebook,注册进入个人首页后,习惯性的查看源代码,发现了1个很有意思的现象,首页内容不少,但源代码中HTML的代码却很少,但去多出了很多段的javascript代码,这些js代码都是用于动态生成html的,facebook为什么需要这样做了?出于职业习惯,研究研究:一、html代码。先看看首页查看的源代码,因为源代码比较大,所以把图片压缩了下,可能看不太清楚,只需要注...

2019-07-23 11:19:25 117

原创 CMake交叉编译配置

罗列一下cmake常用的命令。CMake支持大写、小写、混合大小写的命令。添加头文件目录INCLUDE_DIRECTORIES语法:include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 …])它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。include_dir...

2019-07-22 20:32:02 246

原创 CMake交叉编译配置

罗列一下cmake常用的命令。CMake支持大写、小写、混合大小写的命令。添加头文件目录INCLUDE_DIRECTORIES语法:include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 …])它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。include_dir...

2019-07-22 16:38:50 319

原创 面试体验:Facebook 篇

图片描述(最多50字)Google、Microsoft 和 Yahoo 都是去年的事情了,接下来说说今年的吧。其实我在豌豆荚非常爽,跟身边的设计师和工程师合作都很愉快,所以唯一能够诱惑我去面试的就只有 Facebook 了。最初接受 Facebook 面试邀请的原因并不是追求它的 offer,而是我就想了解一下 Facebook 是怎么面试的,有什么是值得豌豆荚招聘借鉴的。过去在百度做面试官,...

2019-07-22 14:48:17 182

原创 lwIP分析

功能:LwIP的特性如下:(1)支持多网络接口下的IP转发(2)支持ICMP协议(3)包括实验性扩展的的UDP(用户数据报协议)(4)包括阻塞控制,RTT估算和快速恢复和快速转发的TCP(传输控制协议)(5)提供专门的内部回调接口(Raw API)用于提高应用程序性能(6)可选择的Berkeley接口API(多线程情况下)(7)在最新的版本中支持ppp(8)新版本中增加了的IP ...

2019-07-20 14:49:22 285

原创 lwIP分析

功能:LwIP的特性如下:(1)支持多网络接口下的IP转发(2)支持ICMP协议(3)包括实验性扩展的的UDP(用户数据报协议)(4)包括阻塞控制,RTT估算和快速恢复和快速转发的TCP(传输控制协议)(5)提供专门的内部回调接口(Raw API)用于提高应用程序性能(6)可选择的Berkeley接口API(多线程情况下)(7)在最新的版本中支持ppp(8)新版本中增加了的IP ...

2019-07-20 14:41:25 431

转载 漫步Facebook开源C++库folly(1):string类的设计

就在近日,Facebook宣布开源了内部使用的C++底层库,总称folly,包括散列、字符串、向量、内存分配、位处理等,以满足大规模高性能的需求。这里是folly的github地址:https://github.com/facebook/folly在folly项目的Overview.md中,谈到了folly库的初衷:It complements (as opposed to competin...

2019-07-20 11:22:16 534

转载 C/C++的内存泄漏检测工具Valgrind memcheck的使用经历

Linux下的Valgrind真是利器啊(不知道Valgrind的请自觉查看参考文献(1)(2)),帮我找出了不少C++中的内存管理错误,前一阵子还在纠结为什么VS 2013下运行良好的程序到了Linux下用g++编译运行却崩溃了,给出一堆汇编代码也看不懂。久久不得解过后,想想肯定是内存方面的错误,VS在这方面一般都不检查的,就算你的程序千疮百孔,各种内存泄露、内存管理错误,只要不影响运行,没有读...

2019-07-19 21:51:06 196

转载 【日常小记】linux中强大且常用命令:find、grep

在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。本文结构如下:find命令find命令的一般形式find命令的常用选项及实例find与xargsgrep命令grep命令的一般形式grep正则表达式元字符集(基本集)grep命令的常用选项及实例1、find命令find命令是一个无处...

2019-07-19 21:18:48 107

转载 程序员的七大恨!心疼程序员...

为什么当程序员?A:我是被我妈逼的。B:我只想盗取QQ账号。。。C:很早以前和相隔一个省的同学聊天,“我能控制你的电脑”,为了实现这个目标,然后。。。。就这样吧。D:我是为了混口饭吃才玩代码的,当面试官问我这个问题的时候,我说我喜欢coding,热爱编程。其实就是喜欢呗,用一个大牛的话说。就是:“写代码还给钱,这么好的事上哪找去!“我们对程序是单纯的热爱,只是世界并不单纯。让我们细数...

2019-07-19 16:31:04 313

转载 阿里、网易和腾讯面试题 C/C++

一、线程、锁1、Posix Thread互斥锁线程锁创建a.静态创建pthread_mutex_tmutex = PTHREAD_MUTEX_INITIALIZER;b.动态创建pthread_mutex_tmutex = pthread_mutex_init(pthread_mutex_tmutex,constpthread_mutexattr_tmutexattr);互斥锁的属性...

2019-07-19 11:52:30 130

原创 程序员写代码时应该反复问自己的10个问题

你想成为一名优秀的程序员吗?那么,现在是时候放下《24小时学会xxx语言v8.3》超级骗子书,相反,你应当养成每天反问自己以下10个问题的习惯~你的代码中是否有一种模式存在?找寻模式中的可行与不可行将发现其中看似无关的想法或基本原则。要对工作达到深入的理解,你必须养成反问自己“是否有一种模式存在?”的习惯。它不仅仅适用于你的代码。是否有适应各类型商业变化的模式吗?是否有一种适用于技术发展的模...

2019-07-19 10:56:37 156

原创 linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

本文特点授之以渔:了解命令学习方法、用途:不再死记硬背,拒绝漫无目的;准确无误:所有命令执行通过(环境为centos7),拒绝复制粘贴;实用性高:命令多为实际工作中用到的,实例讲解,拒绝纯理论;条理清晰:分类归纳,快速找到想要的命令,拒绝天马行空;总结性强:只列常用语法,易错情况强调,拒绝照搬照套。学前须知适用人群:开发、测试、运维文档用途:linux入门学习、命令备忘录、面试复习...

2019-07-18 14:50:42 186

原创 你有珍藏多年的冷笑话吗

1、上课时,物理老师问:“在保证足够的电流下,11V、30V、220V、1000V和3500V的电压,哪些可以用手摸,哪些不能用手摸?”一学生犹豫了半天,站起来回答说:“都可以摸,但有的只可以摸一次。2、某学生上化学课,台上是一名老教授。讲到有机合成,教授对学生说:“这里需要用到一种试剂。”学生问:“什么试剂?”教授说:“是一类有机碱,季铵碱。”学生又问了一遍:“什么碱?”教授复述说:...

2019-07-18 11:04:22 375

转载 程序猿和hr面试时的巅峰对决

最近一组程序员&HR的表情包在网上火了来来来,让我们一起感受下程序员怎么和HR斗智斗勇最后,一起来说说,你面试的时候经历过那些趣事~~...

2019-07-17 15:12:39 125

原创 阿里Linux Shell脚本面试25个经典问答

Q:1 Shell脚本是什么、它是必需的吗?答:一个Shell脚本是一个文本文件,包含一个或多个命令。作为系统管理员,我们经常需要使用多个命令来完成一项任务,我们可以添加这些所有命令在一个文本文件(Shell脚本)来完成这些日常工作任务。Q:2 什么是默认登录shell,如何改变指定用户的登录shell答:在Linux操作系统,“/bin/bash”是默认登录shell,是在创建用户时分配的...

2019-07-17 11:47:54 229

原创 ~~~Linux面试题汇总答案~~

图片描述(最多50字)一.填空题:在Linux系统中,以 文件 方式访问设备 。Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统。Linux文件系统中每个文件用 i节点 来标识。全部磁盘块由四个部分组成,分别为引导块 、专用块 、 i节点表块 和数据存储块。链接分为: 硬链接 和 符号链接 。超级块包含了i节点表 和 空闲块表 等重要...

2019-07-16 16:29:53 411

原创 Linux Socket编程(不限Linux)

“一切皆Socket!”话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。——有感于实际编程和开源项目研究。我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有soc...

2019-07-16 15:47:23 110

原创 彻底弄懂UTF-8、Unicode、宽字符、locale

结论宽字符类型wchar_tlocale为什么需要宽字符类型多字节字符串和宽字符串相互转换最近使用到了wchar_t类型,所以准备详细探究下,没想到水还挺深,网上的资料大多都是复制粘贴,只有个结论,也没个验证过程。本文记录探究的过程及结论,如有不对请指正。Unicode、UCSUCS(Universal Character Set)本质上就是一个字符集。Unicode的开发结合了国...

2019-07-16 11:37:21 869 1

原创 Linux Shell常用技巧(十二)

读取用户变量:read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY。下面的列表给出了read命令的常用方式:命令格式描述read answer从标准输入读取输入并赋值给变量answer。read first last从标准输入读取输入到第一个空格或者...

2019-07-15 21:21:19 164

原创 下班前的Linux Shell常用技巧总结(十一)

用set命令设置bash的选项:下面为set主要选项的列表及其表述:选项名开关缩写描述allexport-a打开此开关,所有变量都自动输出给子Shell。noclobber-C防止重定向时文件被覆盖。noglob-d在路径和文件名中,关闭通配符。#打开该选项/> set -o allexport #等同于set -a#关闭该选项/> set +o allexport #等同于s...

2019-07-15 17:22:26 675

原创 周天奋战一天Linux Shell常用技巧(十)

需要说明的是,该篇Blog中绝大多数的示例来自于互联网,是本人经过一天左右的时间收集和整理之后筛选出来的,其中注释部分是我在后来添加的,以便于我们阅读时的理解。如果今后再发现更好更巧妙的Shell组合命令,本人将持续更新该Blog。如果您有确实非常不错的Shell命令组合,且愿意和我们在这里分享,可以直接放在回复中,本人将对该篇Blog始终保持重点关注。更多linux架构干货资料领取地址:8128...

2019-07-15 12:00:12 109

原创 开始周一的痛苦Linux Shell常用技巧(九)

又到了周一有是给那些经理策划折磨的一天,现在只想用一张图来表示此事的心情进程监控命令(ps):要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。总之大部分信息都是可以通过执行该命令得到的。ps命令存...

2019-07-15 11:14:09 155

原创 Linux Shell常用技巧(八)

Linux的实时监测命令(watch):watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动运行。该命令最为常用的两个选项是-d和-n,其中-n表示间隔多少秒执行一次"command",-d表示高亮发生变化的位置。下面列举几个在watch中常用的实时监视命令:/> watch -d -n 1 ‘who’ #每隔一秒执行一次who命令,以监视服...

2019-07-13 22:22:14 73

原创 Linux Shell常用技巧(七)

下面给出find命令的主要应用示例:/> ls -l #列出当前目录下所包含的测试文件-rw-r–r--. 1 root root 48217 Nov 12 00:57 install.log-rw-r–r--. 1 root root 37 Nov 12 00:56 testfile.dat-rw-r–r--. 1 root root 10530 Nov 11 ...

2019-07-13 21:30:23 77

原创 Linux Shell常用技巧(六)

行的排序命令sort:sort命令行选项:选项 描述-t 字段之间的分隔符-f 基于字符排序时忽略大小写-k 定义排序的域字段,或者是基于域字段的部分数据进行排序-m 将已排序的输入文件,合并为一个排序后的输出数据流-n 以整数类型比较字段-o outfile 将输出写到指定的文件-r 倒置排序的顺序为由大到小,正常排序为由小到大-u 只有唯一的记录,丢弃所有具有相同键值的...

2019-07-13 20:43:56 119

空空如也

空空如也

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

TA关注的人

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