- 博客(29)
- 资源 (5)
- 收藏
- 关注
原创 读书记录:谷歌工作法 工作效率提升10倍的57个技巧
当我还只是一名普通员工的时候,我就开始思考“如果我是管理顾问,以我的年收入应该取得多少成果,要想取得这些成果应该做哪些工作,每项工作应该有怎样的结果”。管理顾问经常使用的SWOT分析(分析自己公司与竞争对手的强项与弱点、事业机会、威胁)和思考的框架,都是在需要将已知事实向其他人进行说明的时候十分有效的工具,但并不适合用来思考创意。他非常喜欢冒险,总是在全世界到处转,而在游历世界的过程中他就会接触到许许多多的信息,从而更容易激发出将两个不相干的要素结合到一起的“灵感”。但这并不意味着逻辑思考的方法是万能的。
2024-09-09 22:05:25
1139
原创 本周提示 #94: 调用点的可读性和 bool 参数
bool 参数的问题在于,调用点的参数通常是字面意义上的 "true "或 "false",读者无法从上下文中了解参数的含义,正如我们在 ParseCommandLineFlags() 示例中看到的那样。你当然不知道,因为这是假设,但即使是在真实代码中,我们也有比记住每个函数参数的含义更有用的事情要做,也有比去查找我们遇到的每个函数调用的文档更有用的事情要做。你能说出这段代码的作用,尤其是最后一个参数的含义吗?参数通常会使函数的意图模糊不清,因为函数的行为取决于布尔值的真假,但布尔值的含义可能不明确。
2024-08-04 21:47:14
541
1
原创 本周技巧 #122:测试夹具、清晰度和数据流
最初以 totw/122 发布于 2016-08-30作者:Titus Winters (titus@google.com)更新日期:2017-10-20快速链接:abseil.io/tips/122清晰晦涩。- E.B. 怀特测试代码与生产代码有何不同?首先,测试是未经测试的:当你编写的乱七八糟的意大利面条代码分布在多个文件中,并且有数百行的 SetUp 时,怎么可能有人确信测试真的在测试它需要测试的内容呢?很多时候,代码审查员不得不假设设置是合理的,最多也就是抽查每个测试用例的逻辑。
2024-08-04 21:31:07
739
原创 本周提示 #55:名称计数和 unique_ptr
在口语中,值的“名字”是指任何具有特定数据值的值类型变量(不是指针,也不是引用),在任何作用域内。名称计数是现代 C++ 中一个非常有用的技巧,即使你不是 lvalues、rvalues 等方面的专家:它可以帮助你识别不必要的复制,并帮助你正确使用。(或更一般地,任何只可移动类型)持有的任何值只能通过一个唯一的名字引用。实质上是一个名字擦除器:从概念上讲,你可以停止将 “h” 作为指针值的名字进行计数。的名字数量,这些名字指向同一个指针。的名字来解决:一个名字是可以的,但同一个指针值的多个名字是不允许的。
2024-08-04 21:23:26
223
原创 本周技巧 #1:string_view
/ C 语言约定// 旧标准 C++ 约定// string_view C++ 约定// Abseil// C++17当调用者已经拥有所提供格式的字符串时,前两种情况最为有效,但如果需要转换(从 const char* 转换为 std::string,或从 std::string 转换为 const char*),会发生什么情况呢?// 显式转换// 编译器将创建一个副本。
2024-08-04 15:35:41
642
原创 Linux内存管理(1)- 奔跑吧linux内核视频学习笔记
1.内存管理方式直接使用物理地址:导致的问题:1)有地址交集的程序,无法同时运行2)程序在不同内存大小的机器上的可移植差3)各个程序之间无法隔离分段:将内存分为一段一段的,给每一个进程分配不同的线性地址空间, 使用相对地址访问分页:把同一个线性地址空间映射到不...
2021-07-25 22:06:01
398
原创 buildroot的使用
1. 是什么https://buildroot.org/是一种类似于busybox的文件系统制作工具, 但是buildroot 可以制作交叉编译工具链、根文件系统、Linux 内核映像和引导加载程序以及其他第三方软件。内置的工具Build tools:whichsedmake (version 3.81 or any later)binutilsbuild-essential (only for Debian based systems)gcc (version 4.8 or
2021-07-10 20:04:50
502
原创 联想ideapad 700 加固态(三星pm981)
步骤 0. 保存自己的资料 1. 把双系统卸了 https://www.cnblogs.com/pualus/p/7835422.html 2. 安装固态 http://v.qiye10000.com/v/XMTYsNvqrMuIrOA.html pm981: https://www.bilibili.com/video/av23...
2019-04-30 11:49:45
4779
1
原创 树莓派3b+ 移植openCV记录
1. 基本参考 https://blog.youkuaiyun.com/zhangjun62/article/details/805483722. cmake指令问题修改为:cmake -DCMAKE_BUILD_TYPE=RELEASE \-DCMAKE_INSTALL_PREFIX=/usr/local \-DINSTALL_PYTHON_EXAMPLES=ON \-...
2018-10-23 18:11:07
795
1
转载 Linux内核复习
1. 内核空间:内核处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种系统态和被保护起来的内存空间,统称为内核空间。用户空间:应用程序在用户空间执行,只能使用部分系统及特定的系统功能,不能直接访问硬件、内核划分给别人的内存范围。 2. Linux内核和传统Unix内核的比较单内核:把它从整体上作为一个单独的大过程来实现,同时也运行在一个单独的地址空间上。可直接调用函数,...
2018-08-12 11:10:17
345
原创 共享内存
1. 共享内存进程间通信效率最高的通信方式,为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间,进程可以直接读写内存,而不需要任何数据的拷贝。共享内存创建在内核里,谁想用谁映射,映射到用户空间,在用户空间里进行操作。共享内存是用户空间和内核空间的0次拷贝,其他进程间通信是两次; 2. ipcs [-m|-s|-q]查看共享信...
2018-07-29 19:29:48
903
原创 SHT20的使用问题
1.SHT20 温湿度传感器的选择初步选择的是ds18b20 和 dh11 ,但由于ARTIK平台提供的延迟函数usleep量级在10ms左右,时序不正确,无法正常单总线驱动。所以选用i2c驱动的SHT20。问题分析1:usleep函数的延时。因为TIZEN 系统的进程切换粒度最小是10ms左右,涉及知识点:sleep函数的作用,Linux进程切换的粒度参考资料:https://...
2018-07-29 19:14:43
11995
原创 人体红外传感器和光敏传感器检测问题
平台:ARTIK 053(电源接口3.3V),人体红外传感器 5V ,光敏传感器 3.3V问题:人体红外传感器和光敏传感器检测值不准确, 人体红外传感器检测不到人物的移动 光敏传感器pwr指示灯正常,adc值不正常解决方案:由于人体红外传感器需要5V电源,所以传感器单独供电; 但需要单独供电的电源与ART...
2018-07-29 18:49:35
7227
原创 内核态与用户态
1. 基本概念内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源,内核必须为上层应用提供访问的接口:即系统调用。用户态的应用程序可以通过三种方式来访问内核态的资源:1)系统调用 2)库函数 3)Shell...
2018-07-29 18:31:46
319
原创 设备树
1. 整体内容框架2. 概念和目的 设备树(Device Tree)是一种描述硬件的数据结构,在操作系统(OS)引阶段进行设备初始化的时候,数据结构中的硬件信息被检测并传递给操作系统。 dts文件(Device Tree Source, dts)是以ASCII文本形式描述设备树内容。 dtb文件是二进制格式,编译工具为: Device Tree Comp...
2018-07-29 11:16:07
553
原创 Linux中断
1. 通用中断处理程序执行过程:1)获取栈中保存的上下文数据;2)根据中断号找到描述该中断的结构体 struct irq_desc3)进行中断处理 1》 进入顶半部,hard irq 2》进入底半部,soft irq 3》恢复中断执行前的上下文 2. 中断上下部的原因:内核在处理中断请求时要求在单位时间内处理尽可能多...
2018-07-29 11:03:48
191
原创 ARM中断
1. ARM处理器的工作模式2. FIQ的响应速度比IRQ快的原因1)优先级高 2)FIQ的异常向量在末端,直接把异常程序写在后面,省去了跳转时间;3)私有寄存器个数多,许多保存cpu自动保存,不用压栈 3. 异常发生时CPU的处理步骤ARM处理器的动作(自动完成)1)拷贝 CPSR 到SPSR_<mode>2) 修改CPSR:a. 改变处...
2018-07-29 10:45:32
367
原创 linux系统调用
1. 用途系统调用是调用操作系统提供的一组函数,比如I/O读写磁盘等。 由于是操作系统提供的,故只能在内核态中执行。用户编写的程序平时运行在用户态,需要用系统调用时只能通过特定的方式来使用系统调用。 2. 概念 Linux内核中设置了一组用于实现各种系统功能的子程序,称为系统调用。用户可以通过系统调用命令在自己的应用程序中调用它们。解析:从某种角度来看,系统调用和普通的函数调...
2018-05-16 16:37:07
273
原创 ubuntu16.04 安装gcc 7.3.0
sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get update sudo apt-get install gcc-7网上找到的安装资料都是基于centos的,我尝试了一下,有错误,但没有具体分析原因。以上指令可以正确安装,下面是配置指令sudo update-alternatives --install /usr/b...
2018-05-16 15:39:53
45245
2
tlc2254手册
2018-03-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人