自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sean

不要小看了糖分.

  • 博客(80)
  • 收藏
  • 关注

原创 从配置腾讯云cos做图床谈开去(mweb/typora + picgo)

目录前言cmd markdownmwebbywordtyporamweb配置腾讯云cos图床腾讯云cos配置typora + PicGo最后前言借着用cos搭建图床聊一聊我的markdown使用历史. 大体分成如下几个阶段:用网页/客户端cmd markdown用mweb + github做图床用byword + iPic + iPicMover用typora + picgo + 腾讯云coscmd markdown这是一款非常有意思的国产markdown app, 我用了挺久.有明

2020-12-10 18:58:11 847 2

原创 舒适美观的mac终端, iTerm+zsh+powerlevel9k+vim+virtualenv

目录前言homebrewiTerm2oh-my-zsh配色毛玻璃字体powerlevel9kzsh插件vim配色vim设置virtualenv修改pip源virtualenv配置virtualenvwrapper使用如果图片崩了, 请移步某hub前言最近mac不知道怎么了, 估计是新品又要到来了, 水果决定解决老机型过于流畅的bug, 出现各种问题, 比如屏幕底部会突然花屏, 一次约0...

2019-09-13 22:32:50 738

原创 不美翻怎么开发!Ubuntu 16.04 LTS深度美化!(2017年度定稿版)

目录前言外观美化 主题 图标 指针 字体 运用和设置终端美化实用工具配置推荐最后前言本篇尝试对ubuntu 16.04 LTS进行美化和优化, 基本上就是本人长期使用的经验分享, 如有不足, 欢迎指正交流!简单说下版本选择的原因, 没有去选择最新的版本, 而是选择了最新的长期支持版本, 也就是LTS. 但事实上, 如果你使用其它ubu...

2017-10-17 10:41:22 2659 4

原创 c/c++补完计划(七):哨兵节点

目录前言合并两个排序的链表反转链表最后前言解决链表问题, 经常会用一个空的节点进行辅助.合并两个排序的链表可以先考虑递归, 新建一个节点, 然后选择两个链表里面小的, 链到新建的节点. 之后移动被选择的链表, 递归这个问题.ListNode *Merge(ListNode *pHead1, ListNode *pHead2) { if (pHead1 == nullptr) { return pHead2; } if (pHead2 == nullp

2020-12-10 10:13:23 377

原创 c/c++补完计划(六):语法糖lambda

目录前言lambda表达式参数捕获thisfunctionbind最后前言很多语言都有lambda, c++自然不能缺, 在c++11里面加入了, 是程序猿喜欢的语法糖, 便于阅读, 也便于理解. 当然, 它有很多相关概念, 这里尽可能展开说.lambda表达式[capture list] (params list) mutable exception-> return type { function body }捕获子句(在c++规范中也称为lambda引导)参数列表可有可无.

2020-12-10 10:12:29 318

原创 c/c++补完计划(五):平衡二叉树和二叉搜索树

目录前言平衡二叉树判断自顶向下自底向上二叉搜索树的最近公共祖先最后前言来看维基的说明:AVL树:是最早被发明的自平衡二叉查找树。在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树。查找、插入和删除在平均和最坏情况下的时间复杂度都是O(log⁡n){\displaystyle O(\log {n})}O(logn)。增加和删除元素的操作则可能需要借由一次或多次树旋转,以实现树的重新平衡。从查找树的角度来看, 还是非常实用的结构, 面试也很喜欢考, 我回想了一下, 在3家以

2020-12-10 10:11:35 132

原创 c/c++补完计划(四):字节对齐和虚继承

目录前言结构体大小类大小虚继承前言猪场最爱考的内容, 亲测.结构体大小先来看个基础的:#include <iostream>#pragma pack (8)using namespace std;struct A { char a; int b; double c;};int main() { // 1: 13 // 2: 14 // 4: 16 // 8: 16 cout << siz

2020-12-10 10:10:33 141

原创 c/c++补完计划(三):素数统计

目录前言常规方法欧拉筛选法前言统计所有小于非负整数 n 的质数的数量这是一道leetcode简单级别的, 本来没啥说的, 然后我发现了欧拉筛选法.常规方法常规思路就是对每个数x进行检测, 用x除以2到根号x, 有一个可以整除, 就不是素数.优点是连数组或者vector都不需要, 有一个算一个, 很节省空间.bool isPrime(int i) { for (int j = 2; j * j <= i; ++j) { if (i % j == 0)retu

2020-12-10 10:09:38 442

原创 c/c++补完计划(二):c字符串复制

目录前言正文前言c字符串复制的实现, 基本参考strcpy源码.和某面试官一番攀谈交心之后, 了解到之前的写法, 会有很多问题.正文void strCopy(char *dest, const char *str, int len) { if (str == nullptr) { return; } int strLen = strlen(str); int minLen = min(strLen, len - 1); dest[mi

2020-12-10 10:08:41 85

原创 c/c++补完计划(一):指针常量和常量指针

目录前言正文前言想写点c/c++的东西.正文一个题, 要写出以下4种情况的输出:int main() { const char *str1 = "ddddddd"; char *const str2 = "ddddddd"; char *str3 = "ddddddd"; char str4[] = "ddddddd"; *(str1 + 2) = 'a'; *(str2 + 2) = 'a'; *(str3 + 2) = 'a';

2020-12-10 10:07:16 75

原创 算法不想学(二): 堆排序和top k

算法不想学(一): 随缘匹配目录前言堆排序一次排序构建堆排序输出演示插入top k最后前言最近面试的时候, 遇到了让我手撕堆排序的情况, 不撕不知道, 一撕就头皮发麻, 所以复盘的时候, 决定理一下这个问题.其实堆排序不考虑逻辑结构的情况下, 就是高级一点的选择排序, 核心就是条件交换, 所以理清这个条件, 问题就迎刃而解了.top k问题是一个常见的海量数据问题, 简单来说, 就是从内存一次存不下级别的数据里面找出最大/最小的k的元素, 可以有很多解法, 而最常见有效的, 就是堆排序. 例如网

2020-07-18 15:46:56 181

原创 一篇极度舒适的OpenGL_ES环境搭建(Ubuntu 18.04 LTS)

目录前言PowerVRCMake环境FreeImageCMakeLists.txt解析源码最后前言作为一个梦想成为游戏制作人的菜鸟程序员, 我终究没悬念地踏上了撰写shader的道路(手动滑稽). 这是一篇比较细致的Ubuntu18.04下OpenGL_ES环境搭建的文件, 也是我爬过n多个坑之后的总结, 希望能帮助到Mac背后的你(手动滑稽).PowerVR模拟器方面, 我选择P...

2020-01-23 23:37:39 1877

原创 记一次win server 2012的离线python环境安装(包括whl和setup.py)

目录前言python3 exe安装pip whl安装setup.py安装最后前言总有某些公司是offline的, 你懂的, 然后用着古老的服务器. 所有有了这种奇怪的需求. 这里分成三个部分来说,首先是py3的离线安装, 就是大家熟悉的exe安装.然后是pip使用下载好的whl文件进行库的安装.最后是使用setup.py进行安装.python3 exe安装首先来到官网...

2019-11-27 10:05:39 909 1

原创 记一次macOS Mojave升级GCC

目录前言安装GCC最后前言最近迷上了泛型编程, 看到了C++11, 14, 17的很多酷炫新特性. 之前也是在Linux下也跑了一些代码, 所以不觉得放到mac会有什么问题, 直到我看了mac默认的GCC版本, 4.2.1. C++11需要至少GCC4.7. 那这样肯定是不行的.安装GCC于是我呼唤homebrewbrew search gcc作为一个编程多年, 趟过无...

2019-10-26 17:27:59 622

原创 CV预备(三): Ubuntu18.04和macOS10.14.6下OpenCV3.X环境搭建

CV预备(一): conv2, filter2, imfilter的差别CV预备(二): im2col与col2im目录前言安装测试最后前言为什么在OpenCV4.X出了n多个版本的时候, 我要来搭建3.X, 无他, 就是我目前的一些工程要调用的库需要3.X, 不然的话, macOS下直接brew install opencv就完事了, 我还写啥? 而且另一方面就是homebrew对...

2019-10-23 20:57:12 257

原创 Word自动化(C# + Python)(持续更新中...)

目录前言读取Word内容NPOINPOI安装NPOI提取Word内容用Costura.Fody打包DLLpython-docx读取PDF内容python-docx自动生成Word全局字体内容字体单元格合并最后前言Word就是那种很难用, 很丑陋, 但是你不得不用的东西, 在这一点上, 它甚至比Windows更甚(毕竟Gates是通过帮水果写Office才有机会接触Macintash和施乐的...

2019-10-19 21:50:15 1630

原创 Ubuntu18.04下CUDA10.x和TensorFlow1.x环境搭建(2019.7重编版)

目录前言开发环境一览~~显卡驱动安装~~~~下载驱动~~禁用nouveau~~安装驱动~~安装CUDA 10.x第一个CUDA程序安装cudnn7.x安装TensorFlow1.x最后Mac和Ubuntu下修改pip源和TensorFlow(CPU)安装如果图片无法查看, 可以查看某hub或某书前言其实主要是CUDA的安装, 别的都很简单.开发环境一览CPU: Intel® ...

2019-07-25 14:42:53 1239 1

原创 ESXi6.7安装流程(2019.7重编版)

目录前言准备工作打包与刻录安装Initializing IOV卡住缺少网卡驱动安装ESXi6.7Multiboot could not setup the video subsystemvSphere Client添加硬盘建立虚拟机显卡直通最后前言ESXi直接安装在物理服务器上(裸机), 并将其划分为多个逻辑服务器, 即虚拟机. 相比个...

2019-07-14 19:27:12 17647 1

原创 Ubuntu18.04软RAID 0 1 5 10建立(附gparted/live使用)

目录目录前言磁盘准备创建RAID 0阵列格式化RAID保存RAID删除RAID创建RAID 1阵列创建RAID 5阵列磁盘测速gparted live修改根目录大小创建RAID 10阵列最后如果图片无法查看, 请移步github原文.目录前言磁盘准备创建RAID 0阵列格式化RAID保存RAID删除RAID创建RAID 1阵列创建RAID 5阵列磁盘测速g...

2019-07-13 18:29:44 19766

原创 Win10权限管理与多用户远程登录(多方案)

目录Win10权限管理与多用户远程登录(多方案)前言权限管理添加帐户帐户控制管理帐户禁止访问驱动器远程登录登录前登录中多用户登录修改termsrv.dll最后Win10权限管理与多用户远程登录(多方案)前言最近要管理实验室的服务器, 说出来你可能不信, 服务器是Win10 Pro的. 经常看我博客的小伙伴应该知道, 我是非常讨厌Windows的. 但是没办法, 还是要管理起来, 毕竟可以...

2019-07-09 18:01:19 20242 9

原创 CV预备(二): im2col与col2im

目录前言im2colcol2im最后前言Matlab矩阵处理的函数真的是太多了, 这里来看两个矩阵重排的函数im2col与col2im.im2col这里有3种形式, 如下:B = im2col(A, [m n])B = im2col(A, [m n], ‘sliding’)B = im2col(A, [m n], ‘distinct’)B = im...

2019-05-08 22:45:26 576

原创 CV预备(一): conv2, filter2, imfilter的差别

目录前言filter2实操conv2imfilter最后前言最近开始准备深入学习一下计算机视觉(CV)方面的内容, 这里会更新几期基础知识, 主要是Matlab和Python方面的. 这次的就是三个Matlab的函数filter2, conv2, imfilter.filter2filter2是相关滤波函数, 假设输入图像I大小为M1 X N1,相关核f大小为M2 X N2....

2019-04-25 15:26:54 228

原创 内核必须懂(七): Linux四级页表(x64)

目录前言Intel四级页表实操寻址获取cr3获取PGD获取PUD获取PMD获取PTE获取内容最后前言Linux四级页表的作用主要就是地址映射, 将逻辑地址映射到物理地址. 很多时候, 有些地方想不明白就可以查看实际物理地址进行分析.Intel 四级页表其实很多设计的根源或者说原因都来自于CPU的设计, OS很多时候都是辅助CPU. Linu...

2019-04-22 17:15:00 2383

原创 内核必须懂(六): 使用kgdb调试内核

内核必须懂(一): 用系统调用打印Hello, world!内核必须懂(二): 文件系统初探内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0内核必须懂(四): 撰写内核驱动内核必须懂(五): per-CPU变量内核必须懂(六): 使用kgdb调试内核目录前言虚拟机串口设置测试串口配置目标机开始调试调试驱动模块最后前...

2019-04-17 20:01:24 407

原创 内核必须懂(五): per-CPU变量

内核必须懂(一): 用系统调用打印Hello, world!内核必须懂(二): 文件系统初探内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0内核必须懂(四): 撰写内核驱动目录前言用户态代码驱动模块代码per-CPU变量关闭抢占演示最后前言之前内核必须懂(四): 撰写内核驱动说到了基础的驱动模块写法. 这次目标就是计算进入驱动...

2019-03-30 16:11:23 617

原创 内核必须懂(四): 撰写内核驱动

前言之前的文章里面说了简单的.ko文件编译. 这里继续深入下去. 当然, 还是从驱动的Hello, world!开始.驱动模块里的Hello, world!首先是源码部分, 这里由于是内核, 所以c库的函数就不能用了, 比如printf这样的, 要用printk替代, 这里的k就是指kernel.然后**__init和__exit意味着只有初始化和卸载才会执行函数, 也就是都只执行...

2019-03-28 19:43:55 1667 1

原创 内核必须懂(三): 重编Ubuntu18.04LTS内核4.15.0

目录前言编译前准备编译安装重启之后最后前言之前在写系统调用的时候也说过, 但是当时理解有限, 写的不好. 这次再重新编译内核, 分享经验.编译前准备首先补包:sudo apt-get install build-essential kernel-package libncurses5-dev libssl-dev中途可能会看到如图, 建议保持版本即可...

2019-03-21 20:07:41 1773

原创 Ubuntu 18.04 LTS安装numba

前言安装很简单, 我就不多废话了, 直接上指令:sudo apt-get install llvmsudo -H pip install numba之前的文章说了修改国内源, 下载速度会非常快.最后这篇文章是为新的GPU编程系列文章做准备, 感兴趣的可以mark一下哦~...

2019-03-14 12:29:21 574

原创 Mac和Ubuntu下修改pip源和TensorFlow(CPU)安装

Ubuntu18.04LTS下cuda10.0+cudnn7.5+TensorFlow1.13环境搭建目录前言macOSUbuntu 18.04 LTS最后前言这篇是对上一篇的补充, 主要是macOS和Ubuntu下的cpu版的TensorFlow安装, 整体都比较简单.macOS在用pip3下载之前, 我建议先修改下Mac的pip镜像源, 否则下载很糟心....

2019-03-14 12:03:25 148

原创 Ubuntu 18.04 LTS简约美化(2020年定稿版)

目录前言gnome-tweak-tool主题和图标等最后前言之前我也写过一篇关于Ubuntu 16.04 LTS美化的. 其实大部分内容依旧实用, 不过由于Ubuntu的界面由unity变成了gnome, 所以有些小的变化.gnome-tweak-tool同样, 先要安装美化管理工具gnome-tweak-tool. 界面如下展示:sudo apt-get ins...

2019-03-09 22:00:10 923

原创 Ubuntu18.04LTS下cuda10.0+cudnn7.5+TensorFlow1.13环境搭建

目录前言开发环境一览显卡驱动安装下载驱动禁用nouveau安装驱动安装CUDA10.0第一个CUDA程序安装cudnn7.5安装TensorFlow1.13最后前言之前写过cuda环境的搭建文章, 这次干脆补全整个深度学习环境的搭建.开发环境一览CPU: Intel core i7 4700MQGPU: NVIDIA GT 750MOS:...

2019-03-09 20:05:19 2593 3

原创 GPU编程(五): 利用好shared memory

目录前言CPU矩阵转置GPU实现简单移植单blocktile利用率计算shared memory最后前言之前在第三章对比过CPU和GPU, 差距非常大. 这一次来看看GPU自身的优化, 主要是shared memory的用法.CPU矩阵转置矩阵转置不是什么复杂的事情. 用CPU实现是很简单的:#include &lt;stdio.h&gt...

2019-02-18 12:18:20 2013

原创 GPU编程(四): 并行规约优化

目录前言cuda-gdb未优化并行规约优化后并行规约结果分析最后前言之前第三篇也看到了, 并行方面GPU真的是无往不利, 现在再看下第二个例子, 并行规约. 通过这次的例子会发现, 需要了解GPU架构, 然后写出与之对应的算法的, 两者结合才能得到令人惊叹的结果.这次也会简要介绍下cuda-gdb的用法, 其实和gdb用法几乎一样, 也就是多了个cuda命令....

2019-02-17 00:04:48 766

原创 Mac下Android Studio 3.x的NDK开发环境搭建

目录前言CMake用CMake向已有AS项目添加C/C++代码ndk-build最后前言mac上安装软件真的很简单, 一路下一步就可以安装好android studio. 这里有一篇旧文-Mac下安装配置Android Studio 2.x和3.x并配置使用adb可供参考.而写这篇的目的, 主要是我发现之前的ndk开发方式已经过时了, 需要更新一下新的流程....

2019-02-02 17:36:56 348

原创 GPU编程(三): CPU与GPU的矩阵乘法对比

目录前言代码计时函数最后前言在上一篇的最后, 我提到了一个矩阵乘法, 这次与CPU进行对比, 从中可以很明显GPU在并行计算上的优势.计时函数在贴出代码之前, 来看下我常用的计时函数, 可以精确到微秒级. 首先头文件是#include&lt;sys/time.h&gt;. 结构体为:struct timeval{ long tv_sec; /*秒*/ ...

2019-01-21 17:05:00 3727

原创 Ubuntu18.04LTS快速搭建CUDA环境

关于NVIDIA显卡的驱动安装, 可以参考旧文, 装好驱动之后, 只需要一条指令即可完成cuda环境的搭建.sudo apt install nvidia-cuda-toolkit大小在2G左右, 和官网下载的安装包大小相当. 然后用nvcc -V进行查看, 发现没有安装最新的CUDA10.0, 安装的是CUDA9.1. 操纵系统是Ubuntu18.04LTS.然后使用如下代码进行...

2019-01-09 17:32:10 300

原创 Ubuntu/Mac开启ssh

Ubuntu操作刚装好的Ubuntu18.04LTS是没有ssh, 想要开启操作如下:sudo apt-get updatesudo apt-get install openssh-serversudo apt install net-tools然后使用ifconfig指令查看ip, 比方说这里就是10.252.153.231, 用户名是so, 那么就可以通过其他客户机使用ss...

2019-01-09 17:31:44 405

原创 Ubuntu安装腾达u12驱动

前言这个腾达无线驱动还是很莽的, 可以给wifi加速, 但是在mac上似乎会导致系统崩溃, 遇到过一次, 就没敢继续耍了. 然后win是直连, ubuntu则需要手动安装一波驱动, 操作如下:sudo apt install dkmssudo apt updatesudo apt install gitgit clone https://github.com/gnab/rtl88...

2019-01-04 11:34:42 5185 12

原创 ESXi6.7安装流程和bug处理

目录前言准备工作安装Initializing IOV卡住缺少网卡驱动安装ESXi6.7Multiboot could not setup the video subsystem建立虚拟机最后前言ESXi直接安装在物理服务器上(裸机), 并将其划分为多个逻辑服务器, 即虚拟机. 相比个人电脑上常见的先装OS, 再装VMware Fusion等虚拟机软件,...

2018-12-08 20:04:01 7506 1

原创 GPU编程(零): 老黄和他的核弹们

目录前言GeForce RTX 20发布会NVIDIA与老黄发家史最后前言这次要开始GPU编程系列, 其实主要是CUDA编程. 对深度学习或者并行计算感兴趣的小伙伴可以关注下这个系列哦~GeForce RTX 20发布会油管GeForce RTX 20发布会2018年8月21日0点, NVIDIA在德国科隆举办了为期两个多小时的新显卡发布会, 黄仁勋在会上总...

2018-10-25 23:56:51 438 1

空空如也

空空如也

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

TA关注的人

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