挂载EFI分区
最近把黑苹果从High Sierra升级到Catalina,因为在升级前没有更新clover和对应的驱动,启动后就黑屏。好在装了双系统,另一个分区里的windows还能进,只能在windows下挂载EFI分区,更新clover和kexts。
最近把黑苹果从High Sierra升级到Catalina,因为在升级前没有更新clover和对应的驱动,启动后就黑屏。好在装了双系统,另一个分区里的windows还能进,只能在windows下挂载EFI分区,更新clover和kexts。
kubernetes的发行版已经到v1.18,目前集群用的版本还在v1.16,kubernetes-dashboard也推出了适配v1.17的v2.0.0-rc7,所以升级集群的版本到v1.17,下面记录主要的步骤。
在装好docker之后,我们可以在本机通过127.0.0.1或者socket来访问docker服务,但是有时候我们想访问远程的docker服务,比如docker服务安装在一台服务器上,本地电脑通过docker客户端直接连上服务器的docker服务,方便部署和调试。下面记录docker开启远程访问的操作步骤,并且使用tls增加安全性。
最近一段时间都在用Golang写东西,发现TensorFLow也有Golang的API,可以在Golang代码里嵌入TensorFlow模块。开始挖TensorFlow的坑,边记边学,看看能坚持到什么时候,:)
平时一直是用git来管理代码仓库,也用过一段时间github,但是github免费版不能建私有仓库。后来转到了bitbucket,后来被atlassian收购后有点不适应,而且在国内访问经常连不上。还是gitlab比较好用,因为公司也是用gitlab,所以上手很快,新增的构建功能非常方便。
程序在运行的时候为了了解运行状态,会输出日志文件,时间久了日志文件会变得非常大,甚至达到GB级别。我在golang应用里使用logrus包来打日志,配置和使用都很方便,就是没有日志分割的功能,应用在线上运行一个月后日志文件都已经达到上百兆。后来发现了logrotate,这是centos自带的日志分割工具,都不用安装额外组件就能实现定时分割日志。
在linode有一台vps,之前的博客在这台上,后来迁回国内,现在就用来翻墙。本来打算再开几台机器组建celery集群,用来计算,但是linode东京机房长期缺货,找了下发现conoha的配置很不错,2核1G,价格和linode差不多,所以celery集群放到了conoha。在跑大任务时celery集群非常耗资源,影响到了实时任务,所以打算把实时任务迁到linode机器,conoha跑大任务,两边各有一个mysql,使用双主模式,实现数据交换。
最近在使用google analytics统计网站访问,为了方便拉数据通过google api定时获取一些指标,在使用python sdk时出现ImportError: cannot import name SignedJwtAssertionCredentials的错误,后来改成ServiceAccountCredentials就好了,顺便记录一下google api访问google analytics的方法。
早早的就买了i5-6600k和MSI-Z170,悲剧的发现最新的osx还不支持Skylake平台,直到11月终于安装成功,之后驱动、系统升级又踩了不少坑,现在还算比较稳定,这里记录一下大致安装步骤,黑苹果的安装过程还是比较好玩的。
最近复习c语言,这里总结一下函数指针。
首先是一般函数指针的定义。
其中两个括号是不可缺少的,(*funcPtr)表明funcPtr是一个指针,(char *, int)表明func是一个函数,函数参数为char *和int,返回值为int。接下来看下一个
最近写了一些代码,想统计一下代码的行数,在eclipse中好像没这功能,网上搜了一下才发现原来Linux有一个统计文件行数的命令wc。使用wc可以打印出每个文件和总文件的行数、字数和字节数,如果没有指定文件,则会读取标准输入(一般是终端)做统计。格式如下:
和其他面向对象的编程语言一样,python也是可以定义类的,下面我将对python中的类做一下总结,主要包括:类的定义、继承、静态方法、类方法、特性和运算符重载。
这一部分要讲一下python程序的结构和控制流,主要包括条件语句、循环与迭代、异常和上下文管理器。 1.条件语句。条件判断是组成程序的主要部分,和c语言一样python的判断语句也有if和else,还多了一个elif。如果执行语句不需要做任何操作,可以使用pass关键字。
在了解了python的基本数据类型后,现在我们来看一下python中的函数,为了便于维护和更好的实现模块化,程序都会分解为多个函数。下面我将总结一下python函数的特性,装饰器,生成器,协程等,他们都是进行函数编程和数据处理的强大工具。 在python中定义函数很简单,使用def关键字。和c++一样python的函数也可以使用默认参数。
python的内置数据类型非常丰富,大致可以分为五类:None、数字类型、序列类型、映射类型和集合类型。下面我将分别对他们进行介绍,做个总结以备以后查看。下面的表列出了各个类别下的具体数据类型。注:本文所讲的内容都是基于python2的,python3会有些不同。 None表示一个null对象,这是一个空对象,如果一个函数没有返回值,则返回null对象。None没有任何属性,在布尔表达式中表示False。
最近要用到Qt的Socket部分,网上关于这部分的资料都比较复杂,我在这总结一下,把Socket的主要部分提取出来,实现TCP和UDP的简单通信。
在IPython中使用enthought.mayavi正常,但在Spyder中确有问题,提示如下
Traceback (most recent call last):
File "G:\python\STD\mayavi_mlab.py", line 9, in <module>
from enthought.mayavi import mlab
File "C:\Python27\lib\site-packages\enthought\mayavi\mlab.py", line 3, in <module>
from mayavi.mlab import *
ValueError: API 'QString' has already been set to version 1
最近在本本上装了个Gentoo,过程真是相当复杂,这里做个笔记,给有需要的人。安装Gentoo真的很需要耐心,Gentoo的可定制化非常强,从内核到完整的桌面系统,都可以根据自己来设置,期间会遇到各种各样的问题,但整个过程下来后,你会学到很多东西。下面的图片就是我的Gentoo的最终完成图,桌面:openbox+feh+fbpanel,登录管理:slim,终端:Sakura,文件管理:pcmanfm,还有一些小问题没解决,我会慢慢更新。
写这篇文章的目的主要是为了给x264打好基础,x264用的是整数DCT变换,所以就先来说说DCT变换吧。 DCT(Discrete Cosine Transform),又叫离散余弦变换,它的第二种类型,经常用于信号和图像数据的压缩。经过DCT变换后的数据能量非常集中,一般只有左上角的数值是非零的,也就是能量都集中在离散余弦变换后的直流和低频部分,下面我会用matlab来演示整个过程。
在笔试中有这么一道题目,写出一个表达式的后缀表示形式,当时就迷茫了,什么是后缀表达式,还真没听过。后来查了下原来是一种比较特殊的数学表达式,因为在日常生活中用的不多,不太了解。有三种表达式:前缀表达式、中缀表达式和后缀表达式。一般用的是中缀,比如1+1,前后缀就是把操作符移到前面和后面,下面我就来介绍一下这三种表达式。
前几天去参加了场笔试,里面考了静态构造函数,当时没做出来,现在对静态成员的初始化做一个总结。 在c#类中的静态成员有静态变量、静态函数和静态构造函数,而在java中是没有静态构造函数的,取而代之的是静态程序块。静态成员一般存放在静态区,而且是属于类的,所以我们可以不用实例化对象,直接调用静态函数,比如工具类的方法一般都声明为静态函数。c#和java对静态成员的初始化顺序是不一样的,下面我将分别对他们进行总结。
c++的一大特性就是重载(overload),通过重载可以把功能相似的几个函数合为一个,使得程序更加简洁、高效。在c++中不止函数可以重载,运算符也可以重载。由于一般数据类型间的运算符没有重载的必要,所以运算符重载主要是面向对象之间的。
最近华为已经在招聘了,明年的这个时候应该轮到我了,先提前练练。题目是网上找的,也不知道准不准确,一共3个编程题,是提前批的题目。
个人作品,一个用于查询全国电视台一周节目单的小软件。主要是为了平时看电视用的,方便自己查看节目列表,共享出来也方便别人吧。软件很简单,就是采集网上的节目信息,因为懒得打开网页,就写了个小工具。 使用方法: 进入软件后请点“更新”来获取最新的电视台列表,有三大类可以选择:央视、卫视和地方台。然后在左边的选择框里选择种类,比如地方台可以选哪个省的。选好种类后在中间的选择框里会出现具体的电视台列表,之后你都懂的。星期在选择电视台后才能选择。 环境要求:.net 3.5
从现在开始要进入嵌入式的开发了,复习一下c语言,先从基本的数据类型开始。TCHAR,WCHAR,LPSTR,LPWSTR和LPCTSTR,这几个看起来差不多,也很容易混淆,他们都是跟字符有密切关系的。要想知道他们的由来以及作用就必须先了解字符的编码。
很久没动directshow了,现在一直用c#写程序,突然看到directshow在.net下也有library,于是想试试在.net下的directshow。这个播放器是参照directshownet library中的例子改的,自己加了一些控制方面的。
先说一下directshownet,这是一个用c#写的directshow类库,是一个开源项目,sourceforge主页:http://directshownet.sourceforge.net/。不过这个项目关注的人不是很多,代码也很久没更新了,毕竟使用directshow的大都是c++项目,实现起来也是c++更高效。在.net里也可以调用VB的directshow类库来实现,不过我觉得这样太麻烦了,还是用directshownet这个现成的类库来的快。