[ C++ ] 勿在浮沙筑高台 —— 拾遗】的更多相关文章

explicit 主要用于处理一个参数的构造函数,使其不用于隐式类型转换(防止二义性) operator->() C++设计 ->可以一直保留下去 仿函数 仿函数会隐式继承他们中的一个(详见 标准库课程) namespace经验谈 放一些全局的测试代码..不用花时间去想新名字 template的实现:二次编译 模板偏特化 -- 个数的偏 从左至右绑定类型名,不可跳过. 模板偏特化 -- 范围的偏 (例:特化指针类型) 模板模板参数 -- 具体内容见C++11 这个不算模板模板参数,因为模板类型…
常常看到前辈们大牛们感慨, 感慨我们这一代人生活在最好的时代, 拥有海量的学习资源以及指数增长的新技术与新知识. 的确, 如果你是这个时代的大学生,或是初出茅庐的程序员, 你会发现有太多太多的选择, 甚至是穷尽一生都看不完的资料,书籍, 文档..... 但是, 作为一个亲历者,这样的环境真的是最适合程序员成长吗? 选择虽然多了,却导致许多人迷失了方向,忽视了基础知识技术的关键性.正如刘未鹏在<暗时间>里面所提到的, 对于程序员来说,如何区分本质和非本质的知识 是极为关键的. 学习了许多看似”高…
部分内容个人感觉不是特别重要,所以没有记录了.其实还是懒 embedded pointers 把对象的前四字节当指针用. struct obj{ struct obj *free_list_link; }; 一般工业级的设计里小区块都是大于4字节的,小于四字节的区块不考虑,直接补上. 分配器 分配器 开头的样子. alloc 即_default_alloc_template,二层分配器 ROUND_UP:调到align的边界. FREELIST_INDEX:根据size和align取free_l…
per-class allocator 2 tips: operator new重载 不会被派生类实际使用,因为父类大小内存的分配交给子类去调用明显是不正确的.实际上会被转交至 : : operator new. operator delete: 使用例: 对pre-class allocator 2的个人理解:通过Union联合体实现内存空间 "待使用"(入池?)和"正在使用" (出池?) 两种状态的区分: AirplaneRep 变量 是 "正在使用&…
C++ memory primitives(原语) new 若malloc失败会调用 int _callnewh(size_t t); 即调用用户设定的handler(回调函数指针),可用于内存回收防止泄露. operator new 和 new operator的区别 new operator 是 分配内存+调用构造函数初始化 operator new 是 new operator操作的一部分,它只负责分配内存,它对构造函数一无所知! 一般长这样 void * operator new(siz…
1. 写作缘起 几年前,我在一家农业物联网公司,负责解决其物联网产品线.我们当时基于.net平台打造了一套实时数据采集系统,可以把数以百万级的传感器传送回来的数据采集入库并根据这些数据进行建模.在搭建这套实时数据采集系统的时候,高并发高可用被首次提出,同时要求系统不会有太大的时延.一旦有时延,也就意味着损失.比如一个有3000头猪的猪舍,假设空气温度达到了比较高的水平,但是采集探头采集的数据上传到服务器管道中,由于被积压了5分钟后才被处理,那么主动预警系统打开风机的时候,也许已经晚了,这五分钟的…
UWP学习记录1-开端 1.背景 针对不同基础的人,学习的路线自然是不同的.这篇文章记录的是我个人的学习路线,或者说笔记.我对自己的技术状态的定义是: A.有很好的windows平台编程基础: B.有一定的android开发经验: C.有一定的c#和wpf/silverlight开发经验. 如果正在看文章的人状态与我不符,你可能需要: A.学习vs的使用,看windows程序设计.windows核心编程等书(数据结构都不熟的就直接别看了): B.对移动app做一些了解,或者是移动app重度使用者…
原文:http://www.iteye.com/magazines/130 博客是记录学习历程.分享经验的最佳平台,多年以来,各路技术大牛在ITeye网站上产生了大量优质的技术文章,并将系列文章集结成专栏,以便读者能够更便捷.更系统地浏览学习,这些可称之为“编程精华资源”. 为了便于读者更好地查阅,本文将ITeye中的这些精华资源进行了整理分类,你可以通过文中链接跳转到相应的专栏,希望技术大牛们的这些不可多得的经验分享,能够为你的技术学习.开发之路带来一些帮助. 在此首先要感谢分享这些知识的各位…
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/5243181.html [正文] 豆瓣链接:https://book.douban.com/subject/26598045/ [目录] 01 什么是全栈工程师 02 如何成为全栈工程师 03 从学生到工程师 04 野生程序员的故事 05 工程师事业指南 06 全栈工程师眼中的HTTP 07 高性能…
  一,简介 ODB是应用于C++的一个开源.跨平台.跨数据库的对象关系映射(ORM)系统. 它可以让你持久化C++对象到关系数据库,而不必处理表.列或者SQL,无需手动编写任何映射代码. ODB支持MySQL,SQLite,PostgreSQL,Oracle和微软SQL Server关系数据库以及C ++98/03和C ++11语言标准. 它还配备了用于Boost和Qt可选的配置文件,让你可以无缝地使用这些库持久化C++类的值类型.容器和智能指针. 它有易用性,简洁的代码,安全,数据库可移植性…
勿在浮沙筑高台,无论什么技术,掌握核心精神和api,是很重要的. 但是入门过程也可能不是一帆风顺的,这里有八个入门任务,看看你完成了没有: http://code.tutsplus.com/articles/the-best-way-to-learn-python--net-26288…
转自:http://www.hongkevip.com/caozuoxitong/Unix_Linux/24581.html 红客VIP(http://www.hongkevip.com):Linux程序存储结构与进程结构堆和栈的区别 摘要:本文主要讲述了Linux系统中,程序存储结构(代码区.数据段和BBS区)与进程的基本结构(代码区.数据段.BBS区.堆和栈),以及堆和栈的区别. Linux程序存储结构与进程结构 1.Linux程序存储结构 在Linux系统下,程序是一个普通的可执行文件,图…
摘要:本文主要讲述进程的终止方式,以及怎样使用exit()函数来终止进程.回收进程用户空间资源:分析了exit()函数与_exit()函数,returnkeyword的差异.同一时候具体解读了怎样使用atexit()和on_exit()函数来注冊终止处理程序. 进程终止.回收资源 1.进程终止方式 在内核中,程序运行的唯一方法是调用一个exec函数.而进程自愿终止的唯一方法是显示或隐式地调用_exit()或_Exit().     进程有5种正常终止方式: (1)常见的一种是,在main函数中运…
最近考虑原Prism建筑(非职业.半专业人士认为C/S建筑)至B/S迁移,主要是由于部署问题,包括两个因素:已经做,虽然一键安装和部署的一个因素,心存顾虑,虽然我一再声明这是一个绿色软件.还有一个因素是在有的机器上部署还是不太成功,这一点算是跳进了微软的坑(相比于创新.他们更善于创造问题.可參见我还有一篇文章"勿于浮沙筑高台 去除对微软执行时库RunTime依赖,http://blog.csdn.net/hlqyq/article/details/7406208).终于的考虑是:做一个C/S和B…
写在前面 最近因为项目预研,花时间和精力了解并总结了现如今web在线视频的一些解决方案,由于资历薄浅,措辞或是表述难免出现遗漏,还望各位海涵,有好的建议或方案还望赐教,定细心学习品位. 如今的web技术日新月异,凭借着自身与平台无关的特性发展的异常火爆,各种新技术的出现,催生了大前端的概念,各种系统都开始向着B/S架构靠拢,在公司产品向着web化进化的过程中,难免会遇到各种各样的问题,其中在线视频就是一个比较难的突破点,尤其是在pc/移动端.浏览器兼容性.时效性.性能等方面都或多或少的影响着现有…
注:关于支持向量机系列文章是借鉴大神的神作,加以自己的理解写成的:若对原作者有损请告知,我会及时处理.转载请标明来源. 序: 我在支持向量机系列中主要讲支持向量机的公式推导,第一部分讲到推出拉格朗日对偶函数的对偶因子α:第二部分是SMO算法对于对偶因子的求解:第三部分是核函数的原理与应用,讲核函数的推理及常用的核函数有哪些:第四部分是支持向量机的应用,按照机器学习实战的代码详细解读. 机器学习之支持向量机(一):支持向量机的公式推导 机器学习之支持向量机(二):SMO算法 机器学习之支持向量机(…
#1.结缘计算机的始末 ##1.1与计算机相识的几年 作为一个95后,出生在一个互联网开始兴盛的时代.我记得小学的时候,开始知道电脑这个东西,学校有了机房,开始有了所谓的电脑课.那时候计算机对于我来说,就是敲打着键盘,有一种玩一样的乐趣.同学家买了台式的,"大屁股"型的电脑,就会经常约着去同学家玩.感觉很神奇,原来需要去图书馆翻书查到的知识通过手指头轻轻敲一敲,就可以在屏幕上看到,省时省力.最让人拒绝不了的就是还可以玩游戏!在类似于4399小游戏的网站,找一些换装游戏,泡泡堂游戏之类的…
一.简要介绍 ABP vNext 是 ABP 框架作者所发起的新项目,截止目前 (2019 年 2 月 18 日) 已经拥有 1400 多个 Star,最新版本号为 v 0.16.0 ,但还属于预览版,并不适合应用到生产环境.新的 ABP vNext 框架完全是基于 ASP .NET Core 进行开发,其完全模块化的组件库能够让开发人员拥有更多的选择空间. ABP vNext 框架核心库比 ABP 框架更加精简,因为将原有许多的组件从其核心库抽离成独立的组件.这样开发人员可以更加灵活的选择自己…
前面的文章中总结过Java中用来解决共享资源竞争导致线程不安全的几种常用方式: synchronized: ReentrantLock: ThreadLocal: 这些都是在简单介绍了基本用法的基础上再侧重于对底层原理的探讨,由于这些知识点涉及到方方面面,短时间之内完全弄懂并非易事.而写博客的初衷其实是驱动自己在学习的过程中及时总结,用自己的语言再将所学复述一遍以强化对知识的理解程度.所以在这篇文章里,我会从Java中最基本的一些并发概念开始,到Java的基本线程机制,梳理一个相对完整的基础知识…
学java也学了有1个多月了,算算时间,花在上面的时间应该是超过了100个小时了,现在的进度是变量.循环.分支.数组学完了,面向对象部分正在学.记录一下我在学习期间遇到的一些困惑与感想吧! 1.一开始,我在看菜鸟教程时发现了do-while 语句,它是一个先执行再判断,很困惑,当时我就想,若是我写的是 int i = 10,如果do{打印i++的代码}(i<10):情况下是不是会打印个11出来?然而运行了一下却并没有,当时感觉很困惑,现在知道了,i++是先计算后加1,++i就是先加了1再去计算的…
1. 简介 Spring 是一个轻量级的企业级应用开发框架,于 2004 年由 Rod Johnson 发布了 1.0 版本.经过十几年的迭代,现在的 Spring 框架已经非常成熟了.Spring 包含了众多模块,包括但不限于 Core.Bean.Context.AOP 和 Web 等.在今天,我们完全可以使用 Spring 所提供的一站式解决方案开发出我们所需要的应用.作为 Java 程序员,我们会经常和 Spring 框架打交道,所以还是很有必要弄懂 Spring 的原理. 本文是 Spr…
 *勿以浮沙筑高台* 持续更新........     题目网址:https://leetcode.com/problemset/all/?difficulty=Easy 1. Two Sum [4ms] 2. Reverse Integer [12ms] 题意:将一个32bit signed integer反转输出,如果反转之后超出32位补码范围 [-2^31,2^31-1],则输出0 思路:边取模边算结果,结果存longlong判界 3. Palindrome Number [112ms]…
来自:linuxtone org     Chnangelog:         120312 fixed as s/hhttp/http/g ,thanx muxueqz         120309 fixed kindel->kindle, thanx for milel liu;         120308 fixed ahcking->hacking,thanx weakish         120306 fixed agentzh ID name,thanx himself a…
转载请注明出处:http://blog.csdn.net/luoshixian099/article/details/50331883 <勿在浮沙筑高台> LZW压缩算法原理很easy,因而被广泛地採用,已经被引入主流图像文件格式中. 该算法由Lempel-Ziv-Welch三人发明,这样的技术将定长码字分配给变长信源符号序列,它不须要知道被压缩文件的符号出现概率的先验知识,仅仅须要动态地建立和维护一个字典,和其它压缩算法相比既是缺点也是长处. 1. LZW原理 1.1 概念的理解 LZW通过…
经过半年的沉淀,加上对MySQL,redis和分布式这块的补齐,终于开始重拾面试信心,再次出征. 鹅厂 面试职位:go后端开发工程师,接受从Java转语言 都知道鹅厂是cpp的主战场,而以cpp为背景的工程师大都对os,network这块要求特别高,不像是Java这种偏重业务层的语言,之前面试Java的公司侧重还是在数据结构.网络.框架.数据库和分布式.所以OS这块吃的亏比较大 一面基础技术面 电话面试,随便问了些技术问题,最后还问了个LeetCode里面medium级别的算法题,偏简单 red…
       --写在前面的话  在要不要写这篇文章的纠结中挣扎了好久,就我个人而已,我接触windows编程,已经六七个年头了,尤其是在我读研的三年内,基本心思都是花在学习和研究windows程序上了.我很庆幸我当初学习windows程序走了一条正确的路线:先是学习常用的windows程序原理和基本API,再学习的mfc.wtl等一些常用的框架和类库,同时看了大量windows项目的源码,如金山卫士的开源代码.filezilla.电驴源码等等.个人觉得,基础真的很重要,拿windows开发来说…
从windows操作系统说起 人们总是喜欢从将陌生的事物和自己所了解的东西关联起来,以加深对未知事物的了解,这一讲我们从windows操作系统说起,逐步引领带大家走入android的世界.写任何程序都需要知道程序运行的原理和环境,就比如开发winform程序,你至少需要知道操作系统的原理,CLR运行时,了解一些常用的C/C++库.诚然,你不需要全部了解得很清楚也能写出很不错的应用程序,但是你了解的越清楚,钻研得越透彻,那么你越能开发出适合于你所在平台的.更优化的应用程序.譬如在windows操作…
今天与人再次聊到这个话题,有人在为"到底该用什么模式"而烦恼,我相信,每个都经历过这个阶段一定都会感觉很熟悉这个烦恼我认为, 模式不是目的,只是工具,达到设计目标的工具,我们不会因为"为了使用锤子"而去"使用锤子",一定是因为其他目的"比如敲打钉子"而去"使用锤子".我们应该也同样不要因为"想用那个模式"而去"使用模式",而一定是因为其他的目的而去"使用模式…
摘要:本文主要讲述了Linux系统中.程序存储结构(代码区.数据段和BBS区)与进程的基本结构(代码区.数据段.BBS区.堆和栈).以及堆和栈的差别. Linux程序存储结构与进程结构 1.Linux程序存储结构 在Linux系统下,程序是一个普通的可运行文件,图1是一个Linux下ELF格式可运行文件的基本情况.   图1 ELF格式可运行文件的基本信息 能够看出,此ELF格式可运行文件在存储时,没有调入到内存,分为代码区(text),数据区(data)和为初始化区(bss)3个部分.各段基本…
摘要:本文主要讲述怎样在进程中执行新代码,以及exec系列函数的基本用法. 在进程中执行新代码 用函数fork创建子进程后,假设希望在当前子进程中运行新的程序,能够调用exec函数运行还有一个程序.当进程调用exec函数时,该进程用户空间资源(正文.数据.堆和栈)全然由新程序替代,新程序则从main函数開始运行.由于调用exec函数并没有创建新的进程,所曾经后的进程ID并没有改变,也即内核信息基本不做改动.     exec系列函数共同拥有7函数可供使用,这些函数的差别在于:指示新程序的位置是使…