- 博客(96)
- 资源 (11)
- 收藏
- 关注
原创 Macbook pro、air、imac 在打字好卡,延迟特别严重,要怎么解决?
filevault(文件保险箱)」这个功能打开了,这个功能在更新完系统会提示是否开启,当然你选择了开启会自动加密,根据你磁盘的大小加密的时间会不同,有5天或者1天的,加密完之后你要关闭这个功能也是需要在等同样的时间,这个加密过程是你插上电源线自动开启,拔掉电源就暂停了。解密完关掉这个功能,mac恢复以往运行,正常了。其实呢,霜天看了一下,以上这三种情况根本就是window的习惯好么,mac没有这样的情况,而且霜天的都没有打开,根本不存在以上的问题,网上一搜一大把的键盘侠,都是copy,错都错的一摸一样。
2023-08-11 13:57:39
8490
2
原创 使用hexo进行博客迁移
因为最近折腾了下,发现这玩意儿确实写个博客很费劲,打算把他拖管到github当作我的知识库网站,我的主要文章还是通过mweb写完一键发布到博客园,然后csdn记录一些杂文和思考。当某个主题的系列文章完成了很多以后,再统一将这个模块的文章向github静态博客迁移。目前使用了hexo-admin进行后台管理,因此图片植入就方便很多了,我的静态博客主要以算法题解为主,因为我不想在静态页面插入太多的图片。以上就是静态博客迁移文章的过程,感觉还挺复杂的,好在我的定位是题解,图片相对少一些,博客访问能快一点。
2023-08-06 20:39:02
275
原创 v2ex站点base64编码解码
最近在刷v站,我毕竟也是入坑不久的小白,发现各位兄弟的联系方式都是乱码,我以为是经过md5处理之类的,最后搜了下发现是对信息进行了base64编解码处理,目的是为了防止社工对个人信息的爬取处理。编码后的结果,通过命令可以对编码后结果进行解码处理。编码的概念,本文不做说明。
2023-07-27 17:41:05
705
原创 VIM文本如何复制到系统剪切板?
即可,原理应该类似于把文本放入到某个寄存器当中吧,具体可以参考这篇文章:https://www.cnblogs.com/gmpy/p/11177719.html,他说的还挺详细的。若显示"+clipboard"那就说明支持,不支持的话自行Google研究下,这里不做说明。以上就是VIM文本复制到系统剪切板的一般操作介绍。接下来进入visual模式选中要拷贝的代码,输入。
2023-07-16 16:44:06
3628
原创 C++函数对象与函数指针在sort上的性能测试
上面这篇文章是在GoogleTest当中进行测试的,其测试结果仅展示了一次,因此我认为不具备说服力,因为我在自己机子上也进行了四种测试,分别使用sort在模板函数对象、普通函数对象、模板函数指针和普通函数指针等四类问题上进行了性能测试。我想起来GCC在编译时可能对代码进行了优化处理导致我所展示的结果不够明确。可以明显看到随着编译优化的降低,程序的运行效率上,函数对象更能够展现其优势。我的测试代码直接贴下面了,有需要的小伙伴自行运行吧。起初,测试的多次结果普遍显示为函数指针要更快一些。说实话我还挺困惑的。
2023-07-16 16:37:11
280
原创 Macbook下提升开发效率的几个小工具
最近倒腾mac笔记本,记录下一些高效率的工具吧。首先就是alfred,内置可以自定义各种快捷命令查找,配合Dash来快速查找C++系统API,其实Dash中包含了各种编程所需API文档,值得下载。以前我都是直接查看cppreference.chm,现在解放双手了。
2023-07-15 14:24:14
262
原创 Vim批量注释与反注释
在使用vim编写代码的时候,经常需要用到批量注释与反注释一段代码。下面简要介绍其操作。本文记录在mac/linux下的vim批量注释。一开始我想让vim配置ctrl+/快捷键,快速批量注释,但是vim的文档中不支持这样的快捷键。如果实在要弄也能弄,下载插件vim插件NERDCommenter并进行配置即可,stackoverflow里给出了方法。但是本文只介绍通过vim命令进行批量注释。批量操作不仅可应用于注释,也可应用于批量插入等复杂操作。我认为操作起来更有意义。
2023-07-14 20:09:25
2027
原创 卷积神经网络
本节内容学习了什么是CNN卷积神经网络,相比于全连接网络,它每次只提取部分内容作为整个网络的某些模块的运算,每个卷积可能负责图像上某个小模块的内容,比如某个卷积filter输出后得到的可能是某个该卷积想关注的图像纹理特征,我们一般是将多个卷积最终通过全连接,让局部信息和全局信息相互作用,通过全连接最终利用起整体的信息,所以也会说明卷积神经网络和全连接神经网络之间的关系,以及卷积神经网络的一些应用,比如卷积神经网络可以用于文本情感分析、语音辨识、迁移学习等等涉及图像的操作上。
2022-11-24 20:27:09
772
原创 神经网络训练不起来,怎么办?
本次学习了如何优化神经网络,要优化首先要去分析模型的样子,需要了解critical point有两种可能,分别是saddle point和local point,了解到batch-size这个超参数的大小对训练的影响以及优化器的选择。分类任务更适合交叉熵作为loss function等等优化知识。
2022-11-23 23:33:57
2156
2
原创 Leetcode哈希表题目
文章目录217. 存在重复元素219. 存在重复元素II36. 有效的数独349. 两个数组的交集350. 两个数组的交集II706. 设计哈希映射以下为Datawhale Leetcode开源学习思路总结,以下代码均为Leetcode代码,但不一定是最优解,仅供参考学习。上图参考Carl哥的代码随想录官网,附上参考链接217. 存在重复元素C++中数据结构unordered_set有去重功能,本题遍历nums,将每个元素加入到unordered_set中即可,当每次新加入时首先在unorde
2022-05-17 19:35:39
159
原创 学习muduo时对enable_shared_from_this的思考
在学习muduo时,看到C++11的特性,在TcpConnection类的声明中,继承了enable_shared_from_this这个模板类,部分代码片段如下:class TcpConnection : noncopyable, public std::enable_shared_from_this<TcpConnection>{...}于是我在想,enable_shared_from_this是干什么的呢?enable_shared_fr
2022-03-02 00:32:17
671
3
原创 IO模型及高性能网络架构分析
IO调用操作系统一次IO过程:应用程序发起的一次IO操作包含两个阶段:IO调用:应用程序进程向操作系统内核发起调用。IO执行:操作系统内核完成IO操作。操作系统内核完成IO操作还包括两个过程:准备数据阶段:内核等待I/O设备准备好数据拷贝数据阶段:将数据从内核缓冲区拷贝到用户进程缓冲区其实IO就是把进程的内部数据转移到外部设备,或者把外部设备的数据迁移到进程内部。外部设备一般指硬盘、socket通讯的网卡。一个完整的IO过程包括以下几个步骤:应用程序进程向操作系统发起IO调用请
2022-01-29 00:15:52
3511
1
原创 Leetcode优先队列题目
文章目录215. 数组中的第K个最大元素347. 前K个高频元素451. 根据字符出现频率排序以下为Datawhale Leetcode开源学习思路总结,以下代码均为Leetcode代码,但不一定是最优解,仅供参考学习。优先队列参考链接c++优先队列(priority_queue)用法详解,若链接失效,自行百度用法。215. 数组中的第K个最大元素第一种做法直接排序,然后按地址访问第K个即可,简单,不做解释;第二种就是使用优先队列,我们采用大顶队,然后弹出k-1次,最后位于大顶堆top的位置元素
2022-01-24 00:46:37
394
原创 Leetcode队列与⼴度优先搜索题目
以下为Datawhale Leetcode开源学习思路总结,以下代码均为Leetcode代码,但不一定是最优解,仅供参考学习。(笔记待补充)622. 设计循环队列346. 数据流中的移动平均值225. ⽤队列实现栈286. 墙与⻔752. 打开转盘锁279. 完全平⽅数542. 01 矩阵322. 零钱兑换剑指 Offer 13. 机器⼈的运动范围...
2022-01-22 23:15:14
346
原创 Leetcode单调栈题目
文章目录单调栈496. 下一个更大元素I739. 每日温度316. 去除重复字母以下为Datawhale Leetcode开源学习思路总结,以下代码均为Leetcode代码,但不一定是最优解,仅供参考学习。单调栈单调栈的介绍(参考链接)496. 下一个更大元素I我们通过单调栈对nums2进行遍历,同时使用unordered_map保存key对应下一个更大元素为value,建立map映射关系。那么我们就要分析单调栈进行入栈操作时,需要的条件是什么,我们的目的是找当前位置下一个更大的元素,因此单调
2022-01-20 01:59:10
4992
原创 Leetcode堆栈与深度优先搜索题目
文章目录堆栈基础知识155. 最小栈20. 有效括号227. 基本计算器II150. 逆波兰表达式求值394. 字符串解码946. 验证栈序列栈与深度优先搜索200. 岛屿数量133. 克隆图494. 目标和841. 钥匙和房间695. 岛屿的最大面积130. 被围绕的区域417. 太平洋大西洋水流问题1020. 飞地的数量1254. 统计封闭岛屿的数目以下为Datawhale Leetcode开源学习思路总结,以下代码均为Leetcode代码,但不一定是最优解,仅供参考学习。堆栈基础知识155.
2022-01-19 01:24:13
706
原创 Leetcode链表题目
文章目录链表基础707. 设计链表206. 反转链表203. 移除链表元素328. 奇偶链表234. 回文链表138. 复制带随机指针的链表链表排序148. 排序链表21. 合并两个有序链表147. 对链表进行插入排序链表双指针141. 环形链表I / 142. 环形链表II19. 删除链表的倒数第N个结点以下为Datawhale Leetcode开源学习思路总结,以下代码均为Leetcode代码,但不一定是最优解,仅供参考学习。链表基础707. 设计链表本题主要练习链表的增删查,在设计这个类时
2022-01-11 19:02:55
560
原创 存储器的层次结构
以下内容学习总结为Datawhale开源学习内容,详细链接可参考:https://github.com/datawhalechina/team-learning-program/tree/master/ComputerSystems在计算机系统模型中,CPU执行指令,而存储器系统为CPU存放指令和数据。实际上,存储器系统(memory system)是由不同容量、成本和访问时间的存储设备组成的层次结构。在这个层次结构中:CPU寄存器保存最常用的数据。靠近CPU的小的、 快速的高速缓存存储器作为相对慢速.
2022-01-02 00:09:37
5718
原创 优化程序性能
以下内容学习总结为Datawhale开源学习内容,详细链接可参考:https://github.com/datawhalechina/team-learning-program/tree/master/ComputerSystems写程序最主要的目标就是使它在所有可能的情况下都正确工作。一个运行得很快但是给出错误结果的程序没有任何用处。程序员必须写出清晰简洁的代码,这样做不仅是为了自己能够看懂代码,也是为了在检査代码和今后需要修改代码时,其他人能够读懂和理解代码。另一方面,在很多情况下,让程序运行得.
2021-12-28 19:37:36
833
原创 处理器体系结构
本节主要总结学习了Y86-64的指令流水。相比X86-64,Y86精简指令集便于学习。Y86-64有15个程序寄存器,相比X86-64,省略了%r15以简化指令的编码。每个程序寄存器存储一个64位的字。寄存器%rsp被入栈、出栈、调用和返回指令作为栈指针。除此之外寄存器没有固定的含义或固定值。有3个一位的条件码:ZF、SF和OF,他们保存着最近的算术或逻辑指令的所造成影响的有关信息。程序计数器PC存放当前正在执行的指令的地址。内存从概念上来说就是一个很大的字节数组,保存着程序和数据。程序状态的状态码表明程序
2021-12-28 00:03:50
1111
原创 程序的机器级表示
以下内容学习总结为Datawhale开源学习内容,详细链接可参考:https://github.com/datawhalechina/team-learning-program/tree/master/ComputerSystems在编译结束、汇编开始之前,会生成.s程序,这个程序中存放的是代码到汇编的汇编指令。然后再将.s文件通过汇编器生成.o二进制文件。我们来做个实验看看一个代码编程汇编是什么样子,然后二进制.o文件通过objdump反汇编后是什么样子(这里需要说明一下,objdump是一个反汇编.
2021-12-26 02:48:29
1627
原创 信息的表示和处理
以下内容学习总结及图片引用均为Datawhale开源学习内容,详细链接可参考:https://github.com/datawhalechina/team-learning-program/tree/master/ComputerSystems二进制&十进制&十六进制二进制转十六进制(分组转换)四位二进制可表示一位十六进制,那么对于一个0000 1011,转换后的结果为0x0B,只需要记住关键的十六进制和二进制对应关系即可,关系表如下:对某个二进制如0010 0000 0000.
2021-12-18 00:21:44
774
原创 计算机系统漫游
以下内容学习总结及图片引用均为Datawhale开源学习内容,详细链接可参考:https://github.com/datawhalechina/team-learning-program/tree/master/ComputerSystems编译过程分为四个阶段:预处理、编译、汇编、链接gcc -E hello.c -o hello.i //预处理gcc -S hello.i -o hello.s //编译gcc -c hello.s -o hello.o //汇编gcc he.
2021-12-14 00:14:36
1220
原创 使用Python实现KNN算法解决简单分类问题
使用Python实现KNN算法解决简单分类问题KNN分类KNN算法属于监督学习算法,它可以解决分类问题,也可以解决回归问题。对于一组带标签的数据,当我们使用KNN算法进行分类时,有两种分类方式。KNN的分类是有参照点的,它会参照周围的 KKK 个结点的标签,来划分适合这个加入点的标签,初始假设 K=kK = kK=k,第一种分类方式,根据最近的 kkk 个距离的点的标签比例划分。 我们将加入点周围最近的 kkk 个点找出来,加入点的标签类别就是它周围这 kkk 个点中占比最多的那类标签。第二种分类方
2021-01-15 21:57:07
2212
原创 感知器公式推导
感知器推导总结我们知道当 x∈Rx \in \mathbb{R}x∈R,若规定 yyy 的取值只能为 {1,−1}\{1, -1\}{1,−1},那么我们的决策边界函数为:f(x)=sign(ωTx+b)f(x) = sign(\omega^Tx+b)f(x)=sign(ωTx+b)其中上式的 signsignsign 函数用于判断选择最后 yyy 的取值。sign(a)={1,a⩾0−1,a⩽0sign(a) = \left\{\begin{array}{rr} 1, a\geqslant0\\-1
2021-01-11 18:45:57
627
原创 支持向量机(一)
支持向量机因为用 kkk 对 (ω,b)(\omega, b)(ω,b) 进行缩放后,即 (ω,b)(\omega, b)(ω,b) 变为 (kω,kω)(k\omega, k\omega)(kω,kω),样本 x(n)x^{(n)}x(n) 到超平面距离不发生变化,也就是系数的改变对直线并无任何实质影响,所以不管 kkk 是多少,距离 γ(n)\gamma^{(n)}γ(n) 都是不会改变的。那么现在对最特殊的,也是最近距离的支持向量 x0x_0x0,我们要求出其最大距离,因为对于 ∣ωTx0+b∣|
2020-12-13 23:10:32
1154
1
原创 Hyperledger fabricv.1.0.0两台机器搭建
搭建fabric-v1.0.0 1peer+1orderer网络前言考虑到虚拟机的复杂和服务器的方便又昂贵,最终选择两台服务器,模拟搭建一个orderer服务节点,一个peer节点,实现了简单的fabric平台记账功能。本文记录了Hyperledger Fabric从环境搭建,到跨机器间通过证书、公密钥等方式部署,实现了fabric自带样例example02中智能合约的记账功能,可通过如下方式...
2019-06-10 19:34:53
618
原创 C/C++的mem函数和strcpy函数的区别和应用
mem系列函数是面试的时候常考的知识点,我们需要熟练掌握这三个函数的原理和代码实现,要能准确无误的写出代码。memcpy、memset和memmove三个函数在使用过程中,均需包含以下头文件://在C中#include <string.h>//在C++中#include <cstring>memcpymemcpy函数是C/C++中的内存拷贝函数,它的功能是从...
2019-02-26 20:41:51
232
原创 C++构造函数为什么不能是虚函数
原因1:从存储空间角度这里你需要知道一个概念,那就是虚函数表vtbl,每一个拥有虚成员函数的类都有一个指向虚函数表的指针。对象通过虚函数表里存储的虚函数地址来调用虚函数。那虚函数表指针是什么时候初始化的呢?当然是构造函数。当我们通过new来创建一个对象的时候,第一步是申请需要的内存,第二步就是调用构造函数。试想,如果构造函数是虚函数,那必然需要通过vtbl来找到虚构造函数的入口地址,显然,我们申...
2019-02-26 17:46:20
1789
转载 函数对象、谓词概念、内建函数对象
1.函数对象的概念重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象,也叫仿函数(functor),其实就是重载"()"操作符,使得类对象可以像函数那样调用注意:函数对象(仿函数)是一个类,不是一个函数函数对象(仿函数)重载了"()"操作符使得它可以像函数一样调用#include <iostream>#includ...
2019-02-26 11:42:46
366
原创 重载、重写、重定义
重载(overload),重写(override,也称覆盖), 重定义(redefine,也称隐藏)(PS:第三个我不确定在英文中是否应该称为redefine,如有问题,留言告知,谢谢)一、重载(overload) 指函数名相同,但是它的参数表列个数或顺序,类型不同。但是不能靠返回类型来判断。 (1)相同的范围(在同一个作用域中) ; (2)函数名字相同; (3)参数不同; (4)virtual...
2019-02-24 00:42:54
965
常用latex公式表
2020-10-22
google三剑客之谷歌文件系统
2020-10-22
Python3.6.5标准库文档(完整中文版).pdf
2020-10-22
git通俗易懂教程
2019-02-24
rapidjson-zh
2019-02-24
Linux高性能服务器编程.pdf
2017-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人