阅读视图

发现新文章,点击刷新页面。
🔲 ☆

python使用gdal

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 一个项目需要用GDAL这个库,然后去稍微深入看了下这玩意,感觉还是有很多坑的。 简介 就不介绍了,需要用这玩意的肯定知道这是啥 读写 最重要的肯定是读写 读:
☑️ ☆

Word中写LaTeX公式

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 大家都知道Word和LaTeX都是优秀的写文档的工具,但是从程序员的角度,个人更喜欢LaTeX一些。但是由于一些原因(很多人只会用word),导致生活中我们必须要使用word,这就导致我们可能需要将LaTeX编译出来的pdf文件转为Word文件,具体的转换方法有很多,我们暂且不表,这里我们专门来讲如何在Word中优雅的写LaTeX公式(因为很多转换都会在公式上出问题)。 LaTeX公式神器 首先向大家介绍一个LaTeX公式神器,名字叫做mathpix。 mathpix能够将公式图片转换为LaTeX公式代码,是不是感觉超级强悍!!!我们看到一个公式的时候再也不需要自己手动敲公式代码了,直接截个图就能出现LaTeX代码。(甚至可以识别手写的公式,tql!!!) 公式转Word mathpix可以直接将LaTeX公式复制为MS Word
☑️ ☆

文件系统介绍

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 这段时间研究了很多和文件系统有关的内容,于是打算写一篇博客记录一下,最近太忙都没时间打理博客了。 为什么要文件系统 文件系统这个东西是一个随着计算机发展而必然会产生的产物,我们以个人PC为例,现代的个人PC五大件:CPU,主板,显卡,硬盘,内存。文件系统就是专门为硬盘准备的。 我们想象一个场景,CPU哼哧哼哧的算了一个结果出来,放在内存里面,这个时候你想让这个结果持久化,也就是永久保存,即使我关机了,重新开机之后我也能读到我计算的结果,硬盘的作用就体现出来了,我们将结果放在硬盘里面,下次咱就可以读到了。但是我们思考一下,结果是如何存在硬盘中的呢? 硬盘 首先我们来看一下硬盘是啥,这里我们先局限于机械硬盘(HDD)。
☑️ ☆

Hyper V安装ENVI

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 最近的任务要用到ENVI(除非我决定手撸一个影像空间匹配,逃…),然后,我又不想ENVI这个我平时可能用不上的软件直接装在电脑里面(而且还是破解版,万一有个毒啥的),于是我决定用虚拟机装ENVI 虚拟机选择 说到虚拟机嘛,自然说说选择的问题,个人电脑三大虚拟机阵营——VirtualBox,VMWare Workstation,Hyper-V。前两个我都用过,说实话,也许是我之前电脑比较渣的原因,用起来都很不爽(虚拟机卡成ppt),而且,这两个玩意真的不好卸啊,不如试试微软自家的Hyper-V,集成在操作系统里面的。 家庭版开启Hyper-V 首先遇上的一个问题,笔记本厂商装的正版Win10是家庭版,而家庭版是不带Hyper-V的,需要手动安装激活一下,这个不难,网上很多教程,批处理一键搞定。
☑️ ☆

用C++实现一个命令行进度条

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 最近做GWPCA,在带宽比较大的时候速度太慢了,需要有个进度条指示一下,然后我去找进度条的库,发现github上面的C/C++的相应的库似乎没有能在VS下跑的,自己花了点时间写了一个。 效果 实现 大概需要考虑这样几个要素
☑️ ☆

PCA与GWPCA

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 其实没什么缘起,本人的专业是地理信息系统,结果之前全写的计算机的内容,貌似完全偏题了,这次我来写一下最近做的GWPCA的内容。 PCA 原理 中文名叫主成分分析,做数据分析的人一定对这个不陌生,一般来说做PCA的都是用于数据降维,数据压缩等等。那么为什么这个PCA能够做到数据降维呢? 首先,大家明确一点的是,一堆数据给你了,那么这个数据一定得是有意义的数据,也就是说,我给你n个数据,我希望你能给我n个不同的信息(当然一般不可能),你别给我了n个数据,结果你给我的n个数据是一模一样的,那和给我1个数据没有什么区别。那么用于描述这堆数据的有意义的程度的一个指标——信息熵,就出来了。也就是说你这堆数据到底蕴含了多少信息。 那么一堆数据是没什么意思的,但是这堆数据里面蕴含的信息才是我们需要关注的内容,那么有没有什么办法能够让我们将这堆数据的最精华的部分(也就是蕴含的信息,剔除了冗余的部分)选择出来呢?这个时候我们的主成分分析就能派上用场了。
☑️ ☆

Web终端仿真器

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 背景 ​ 在我的上一篇文章中已经说过了,我想做一个web命令行。但是呢,我这两天碰到了一些问题,主要是基础不牢引起的一些概念性的问题,导致我在搜索资料的时候花费了很多时间。 ​ 最开始我碰到的问题是我在执行git clone命令的时候,我发现如果我把执行结果重定向到一个文件上,或者是我用Golang的exec.Command命令执行的时候将结果用管道扔到我的程序里,执行的结果就只有一行Cloning xxx into xxx.
☑️ ☆

DNS解析过程

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 缘起 由于一些复杂的原因,我有一个需求,是能够对特定的域名进行自定义解析,即自行搭建一个DNS服务器,然后让自己的DNS服务器设定为自己搭建的,达到对特定域名解析的目的。有人说改host文件就ok了,但是我希望做到能够让其他人也能对特定的域名解析,虽然让大家都改host也不麻烦,但是能统一管理也是好的。正好了解了阿里云的函数计算,于是就在函数计算上搭了一个DoH服务器,为此去回顾了一遍DNS解析的过程,温故而知新,果然发现我之前的想法是错的,现在记录一下。 域名的结构 域名的结构: 域名是有结构的,其实很简单,例如:www.baidu.com,域名以点的形式分割,从右至左分别为根域名,顶级域名,二级域名等等。很明显这是一个树形结构。
☑️ ☆

Github图片加载不出来

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 背景 最近访问github的时候图片居然都加载不出来了,包括头像等等,后来去网上查了下,觉得比较靠谱的说法就是DNS污染了,不过也不一定,可能是DNS缓存,包括阿里家的,谷歌家的,114的,对于github图片的dns都有问题,所以无奈之下只能改Host文件了 步骤 首先查到加载不出来的图片的url,然后提取出二级域名,域名基本上就是这样的没跑了 avatars0.githubusercontent.com avatars1.githubusercontent.com 然后查IPAddress,看一下IP,然后回到Host文件里面添加一下
☑️ ☆

IPXE+netboot+ISCSI 网络启动

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 接上一篇文章Esxi+NAS+Openwrt,这篇文章我们来讲无盘启动 缘由 读了上篇文章的童鞋知道我是有NAS的,为了存储管理方便,服务器的硬盘我做了RAID6然后整个给了NAS做数据盘(ESXI直通),ESXI和NAS还有Openwrt的系统都是安装在U盘上的,因此如果我想继续安装其他的虚拟机的话,就必须在NAS上划ISCSI出来,并且需要PXE进行引导。 IPXE 话说我一开始只知道PXE,后来在b站上看到了一个视频,知道了IPXE这个东西,看了他操作一遍,再结合网上的一堆零碎的教程,终于我自己实现了,这玩意真的是难者不会,会者不难。 简单的理解,IPXE是PXE的加强版 ISCSI 网上有很多介绍,那些专业化的词语我就不说了(也不会说),就简单来说,ISCSI是指在服务器上划出来一个空间(通常用一个文件表示),将此空间以磁盘的形式(注意不是目录)提供给客户端使用。对于客户端而言就仿佛是添加了一块硬盘一样,同样可以进行格式化,分区等操作,毫无问题,并且可以通过在服务器端的修改,动态的扩展和缩小磁盘大小。无盘启动就是将操作系统安装在了ISCSI中。
🔲 ☆

Esxi+NAS+Openwrt

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 接上一篇文章:Esxi的安装和使用,这一篇文章我们通过esxi来搭建一个虚拟机网络 框架 首先我们明确一个概念,整个esxi是将主机进行了虚拟化,因此我们可以任意使用宿主的计算和存储资源。下面是我设想中的一个网络架构 graph G { size = "8, 10" esxi[label="ESXI主机"] nas[label="NAS"] openwrt[label="Openwrt"] xu1[label="虚拟机1"] xu2[label="虚拟机2"] outnet[label="外部网络"] vswitch1[label="虚拟交换机1" shape=box] vswitch2[label="虚拟交换机2" shape=box] subgraph cluster_switch1{ label="有外网ip的" bgcolor="#73A04F" outnet -- vswitch1 vswitch1 -- {esxi openwrt nas} } subgraph cluster_switch2{ label="无外网ip的" labeljust = "r" labelloc = "c" bgcolor="#73A04F" {nas openwrt} -- vswitch2 vswitch2 -- {xu1 xu2} } } 首先明确一点,与VMware Workstations不同,ESXI中没有NAT网络,所有设备均通过虚拟交换机进行连接,虚拟交换机可以设定上行链路,也就是物理网卡连接的链路,EXSI本身也连接在虚拟交换机上,也就是说,所有连接在交换机上的虚拟机天生就是桥接模式。当你IP供应充足的时候,你可以将所有虚拟机都连在一个交换机上,毫无问题。由于当初网管只给了我们5个ip,因此我们需要将部分虚拟机用nat技术组成一个小型局域网,这就是使用Openwrt软路由的原因。
☑️ ☆

Esxi的安装和使用

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 起源 最近组里面新进了一个联想服务器,配置相当高级,让我大开眼界,算是见识了一把什么叫高端机架式服务器。先说说硬件上面的坑吧,大概有以下三点 没有网卡,只有光纤,咱机房里面又没有光交换机(有一个,但是是人家的专线,咱用不了) 电源口不是国标的,插插座的那一头是一个三横孔的(网上查的是接UPS的),放一个图片给大家看看 没显卡,cuda啥的做不了,并且想插个显卡上去还很复杂,要买转接卡啥的,麻烦就算了 我们重新买了个网卡,换了个2u的挡板插上去了,又买了两个电源转接头(拿去电脑城居然还不认识),算是把服务器开起来了。然后开始折腾软件
☑️ ☆

利用acme自动更新证书

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn acme Let's Encrypt制定的自动化证书管理协议,通过这个协议我们可以自动更新证书,无需人工干预 acme.sh github上已经有一个项目,用shell写的脚本,功能很强大,直接用就行了 安装 1 curl https://get.
☑️ ☆

Golang使用海康威视SDK

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 接上一篇文章SWIG编译海康威视SDK-使用golang,这篇文章讲述的是如何使用编译好的文件,这涉及到SWIG和golang结合的问题 引入 编译好了之后.a文件会出现在GOPATH下,直接在import里面引入hikvision就可以了,build的时候会自动找到对应的.a文件 使用 下面从两个方面来介绍 golang中已有的类型对应关系 C里面typedef的值的对应关系,例如海康威视有BOOL,DWORD等 golang中已有的类型对应关系 这里说的已有的类型是指在C语言中已经有了,比如说int,char*等,具体的对应关系表网上有很多,SWIG在这里的策略和cgo是一样的,这里给一个链接。这里就不多说了,在函数调用的时候可以直接把对应的go值传进去而不需要转换
☑️ ☆

Filetools工具

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn filetools工具 本人用golang写的一个小工具,用于对文件进行操作,项目地址在这:filetools 安装 暂时无法直接提供编译好的二进制文件,等我啥时候有时间了研究下CI工具再说。 现在已经可以提供二进制下载了,去github release上找就行,想安装最新版的可以从源码安装 1 go get -u github.
☑️ ☆

学习正则表达式

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 历史 正则表达式萌芽于1940年代的神经生理学研究,由著名数学家Stephen Kleene第一个正式描述。具体地说,Kleene归纳了前述的神经生理学研究,在一篇题为《正则集代数》的论文中定义了“正则集”,并在其上定义了一个代数系统,并且引入了一种记号系统来描述正则集,这种记号系统被他称为“正则表达式”。在理论数学的圈子里被研究了几十年之后,1968年,后来发明了UNIX系统的Ken Thompson第一个把正则表达式用于计算机领域,开发了qed和grep两个实用文本处理工具,取得了巨大成功。在此后十几年里,一大批一流计算机科学家和黑客对正则表达式进行了密集的研究和实践。在1980年代早期,UNIX运动的两个中心贝尔实验室和加州大学伯克利分校分别围绕grep工具对正则表达式引擎进行了研究和实现。与之同时,编译器“龙书”的作者Alfred Aho开发了Egrep工具,大大扩展和增强了正则表达式的功能。此后,他又与《C程序设计语言》的作者Brian Kernighan等三人一起发明了流行的awk文本编辑语言。到了1986年,正则表达式迎来了一次飞跃。先是C语言顶级黑客Henry Spencer以源代码形式发布了一个用C语言写成的正则表达式程序库(当时还不叫open source),从而把正则表达式的奥妙带入寻常百姓家,然后是技术怪杰Larry Wall横空出世,发布了Perl语言的第一个版本。自那以后,Perl一直是正则表达式的旗手,可以说,今天正则表达式的标准和地位是由Perl塑造的。Perl 5.
☑️ ☆

Vugu View

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 最近给自己的IM后台写前端,在学习Vue,发现了一个很有意思的项目——Vugu,这个人想用Go语言实现一个类似Vue的框架(库),目前还处于实验阶段,有时间了试一下这个。 Vugu github 官网 文档 在线运行 目前(截至2019年8月)已实现了条件,循环,组件等功能,看起来很是那回事哈哈哈,还没实现前端路由,不过go webassembly出来才一年,能弄到这个程度很厉害了,项目还是很活跃的。
☑️ ☆

Django Restframework 嵌套序列化

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn Django是一款重量级Python后端框架,有许多插件与之集成,其中Django Restframework是非常成熟的后台接口生成模块。本文围绕嵌套序列化的问题进行研究 一个例子 假设一个简单的业务逻辑,我们有一个用户表,一个邮箱表,其中用户表的主键是邮箱表的外键,Django的模型为 1 2 3 4 5 6 7 8 9 10 class User(models.
☑️ ☆

看不了netlify的部署日志

本文为原创文章,转载注明出处,欢迎关注网站https://hkvision.cn 这篇文章主要是解决我之前的一篇文章遗留的问题 问题 之前我在用netlify部署博客的时候,发现无法查看部署日志,主要表现为日志那里会显示 [ERROR] Deploy logs are currently unavailable.
❌