
tech
iron_li
人必有所不为,然后可以有为
展开
-
状态机
有限状态机(finite state machine)简称FSM,表示有限个状态及在这些状态之间的转移和动作等行为的数学模型,在计算机领域有着广泛的应用。FSM是一种逻辑单元内部的一种高效编程方法,在服务器编程中,服务器可以根据不同状态或者消息类型进行相应的处理逻辑,使得程序逻辑清晰易懂。那有限状态机通常在什么地方被用到?处理程序语言或者自然语言的 tokenizer,自底向上解析语法的p...转载 2019-01-18 17:26:25 · 9594 阅读 · 2 评论 -
SSH加密原理、RSA非对称加密算法学习与理解
原文连接地址:http://my.oschina.net/realfighter/blog/388486首先声明一下,这里所说的SSH,并不是Java传统的三大框架,而是一种建立在应用层和传输层基础上的安全外壳协议,熟悉Linux的朋友经常使用到一 个SSH Secure Shell Cilent的工具,本文也是基于此工具加密原理的学习,在SSH的加密原理中,使用到了RSA非对称加密算法,转载 2015-10-14 11:30:52 · 845 阅读 · 0 评论 -
几何着色器
通过顶点着色器和片段着色器,可以将输入的顶点经过着色器的处理显示到屏幕上。OpenGL 3.2及更新的版本支持几何着色器,介于顶点着色器和片段着色器之间,几何着色器接收顶点着色器的输出作为输入,通过高效的几何运算,将数据输出到片段着色器。假设我们想绘制如下图形:通过一个简单的函数调用就可以绘制:glDrawArrays(GL_POINTS, 0, 4);此时几何着色器就派上原创 2015-09-25 15:13:16 · 5600 阅读 · 1 评论 -
Linux图形栈-从X到Wayland
Ars思考着Linux图形栈的演变,从最初的...作者:EvanJenkins 2011年5月22日,下午12:30中央标准时间原文名称:The Linux graphics stack from X to Wayland1980年代初,麻省理工学院计算机科学系(以下简称MIT)的BobScheifler着手为新的窗口系统制定规则。他决定取名为X,因为此窗口系统是基于W窗口系统翻译 2014-12-12 15:37:08 · 4636 阅读 · 0 评论 -
linux 下修改卷标(磁盘名称)
如何修改磁盘挂载到系统的名称,例如U盘原创 2014-10-29 12:00:49 · 29882 阅读 · 0 评论 -
Qt Linguist 的使用方式
lupdate可以把.h, .cpp, .ui中需要翻译的字符串抽出来形成.ts文件 然后用linguist翻译 用lerealse生成.qm1.修改*.pro,在其中添加 TRANSLATIONS = XXX. ts或是TRANSLATIONS += XXX. ts如果要生成多个可以用: TRANSLATIONS =lan转载 2014-10-09 16:43:30 · 1779 阅读 · 0 评论 -
Netbackup 7.6下载地址
https://www4.symantec.com/Vrt/offer?a_id=91443#进入界面申请帐号后登原创 2014-10-22 11:09:11 · 5935 阅读 · 1 评论 -
QT5:QPainter+QGLWidget VS QML+SceneGraph performance
QT官方一直宣称QT原创 2014-09-24 15:14:09 · 3039 阅读 · 1 评论 -
Linux下如何知道文件被那个进程写
linux下每个文件都会在某个块设备上存放,当然也都有相应的inode, 那么透过vfs.write我们就可以知道谁在不停的写入特定的设备上的inode。幸运的是systemtap的安装包里带了inodewatch.stp,位于/usr/local/share/doc/systemtap/examples/io目录下,就是用来用途的。我们来看下代码:$ cat inodewatch.s转载 2014-01-03 14:35:14 · 1188 阅读 · 2 评论 -
io系统的压力测试工具-fio
fio是一个非常灵活的io测试工具,他可以通过多线程或进程模拟各种io操作随着块设备的发展,特别是SSD盘的出现,设备的并行度越来越高。要想利用好这些设备,有个诀窍就是提高设备的iodepth, 一次喂给设备更多的IO请求,让电梯算法和设备有机会来安排合并以及内部并行处理,提高总体效率。应用程序使用IO通常有二种方式:同步和异步。 同步的IO一次只能发出一个IO请求,等待内核完成才返回,这转载 2014-01-03 15:47:23 · 1436 阅读 · 0 评论 -
windows7 系统 如何设置无线热点
1、请却仍您使用的操作系统是微软的Windows 7或者Windows server 2008 R2,正版盗版皆可。(此方法只在Windows 7和Windows server 2008 R2下验证通过,VISTA下未验证,请安装VISTA的朋友也验证一下)2、以管理员身份运行命令提示符(用快捷键WIN+R调出运行然后输入CMD打开命令提示符的非是管理员权限),右击“命令提示符转载 2013-12-08 12:05:38 · 780 阅读 · 0 评论 -
CentOS 7 / RHEL 7 systemd 指令
https://cnzhx.net/blog/centos-7-rhel-7-systemd-commands/转载 2015-11-18 08:40:29 · 517 阅读 · 0 评论 -
安装完CentOS 7 后必做的七件事
http://www.centoscn.com/CentosSecurity/CentosSafe/2015/0126/4558.html转载 2015-11-18 11:56:47 · 928 阅读 · 0 评论 -
grub2在nvidia 1060显卡上的启动问题
在X64+nvidia 1060m上安装ubuntu 1604后(legacy模式),重启后没有任何显示,grub也没有显示,在grub.conf中禁用terminal_output gfxterm或者将gfxterm驱动改为console或者vga_text等其他驱动后,可显示grub启动项,但此时无法完整显示grub选项,禁用set menu_color_normal=white/bl...原创 2018-11-07 11:21:44 · 1610 阅读 · 0 评论 -
linux自动批量拷贝文件
如果有一批机器同在一个局域网,这批机器所在地址段为192.168.100.1~192.168.100.256,用户名均为test,密码123123,如何批量将某个文件拷贝到这批机器中。首先请确保这批机器已经安装了ssh服务并已成功运行;其次在管理机器上(执行自动批量拷贝文件的机器)执行命令expect,如果没有此命令,需要通过系统源安装expect包,如果系统源没有此包,可在开源网站上下载...原创 2018-10-24 16:04:48 · 2622 阅读 · 0 评论 -
网卡中断与cpu绑定
https://www.cnblogs.com/bamanzi/p/linux-irq-and-cpu-affinity.html转载 2018-01-16 10:58:31 · 662 阅读 · 0 评论 -
Ubuntu 16.04搭建git服务器
一、安装git服务器所需软件终端输入以下命令:ubuntu:~$ sudo apt-get install git-core openssh-server openssh-client python-setuptoolsgit-core: git核心软件;openssh-server和openssh-client:git通过ssh协议在服务器与客户端之间进行原创 2016-11-02 17:32:20 · 9640 阅读 · 1 评论 -
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be
grub-install: warning: this GPT partition label contains no BIOS Boot Partition; embedding won’t be possible Ubuntu使用BIOS启动时, GPT分区表下安装grub2报错 的解决办法from:http://www.cnblogs.com/donaldjohn/p/672转载 2017-07-24 17:01:28 · 7311 阅读 · 0 评论 -
如何编译ubuntu源码包里面的源码?
文章转载自:http://blog.youkuaiyun.com/yuanlu837/article/details/77504921、在获取源码包之前,确保在软件源配置文件/etc/apt/sources.list中添加了deb-src项2、使用如下命令获取xxx源码包的详细信息: sudo apt-cache showsrc xxx 这用来查询当前镜像站点中是否有该源码包。3、源码转载 2017-06-22 08:23:30 · 1925 阅读 · 0 评论 -
CMAKE 编译Debug/Release版本
cmake ../ -DCMAKE_BUILD_TYPE=Debug/Release原创 2017-06-21 10:16:01 · 6561 阅读 · 0 评论 -
osg中的工厂模式(c++)
c++中的工厂模式: http://blog.youkuaiyun.com/wuzhekai1985/article/details/6660462osg中也使用到了工厂模式:GeometryFactory,很好的解决了圆形,弧形,椭圆,椭圆弧形,矩形的创建.namespace osgEarth { namespace Symbology{ using namespace osgEart转载 2016-11-23 09:12:40 · 720 阅读 · 0 评论 -
osgearth介绍
介绍osgEarth为开发osg应用提供了一个地理空间SDK和地形引擎.osgEarth的目标:提供基于osg开发3D地理空间应用的支持;直接从数据源可视化地形模型和影像变得更加简单;提供对开放式绘图标准,技术和数据的交互操作;在很多情形下,osgEarth可以替代离线地形数据库创建工具,你可以通过osgEarth完成如下工作:获取地形基础地图并快速而流畅的运行原创 2016-05-18 11:32:06 · 12026 阅读 · 0 评论 -
初识osg
OSG的诞生在 1997 年时,Don Burns 由于喜欢滑翔机运动且对计算机图形学非常熟悉,在 LINUX 上写了一个控制滑翔机的小引擎,这便是 OSG 的最初雏形。后来在 1998 年,Don Burns 在滑翔机爱好者邮件列表中遇到了 Robert Osfield,对 OSG 的命运起到了决定性的改变。我们现在在邮件列表中也会经常看到 Robert 的名字,从 98 年至今原创 2016-05-17 15:50:56 · 3228 阅读 · 0 评论 -
Qt 3D Overview
Qt3D建立的目标是能够让开发者快速地创建3D场景,通过各式各样的渲染技术来达到3D交互的场景。Qt3D除了和Qt一样跨平台之外,还能够选择OpenGL的具体实现,定制GLSL,从而能够根据不同性能的机器,来调整渲染效果。Qt3D提供一个可充分配置的渲染器,开发人员通过渲染器可快速实现任何渲染管线。而且除了渲染外,Qt3D还提供一个近实时仿真的通用框架。Qt3D由一个核心模块和附加模块组成翻译 2016-05-10 16:06:35 · 8506 阅读 · 0 评论 -
光纤网卡和HBA卡有什么区别?
在讨论这个问题的时候,需要先说清楚一个问题:我们知道,在早期的SAN存储系统中,服务器与交换机的数据传输是通过光纤进行的,因为服务器是把SCSI指令传输到存储设备上,不能走普通LAN网的IP协议,所以需要使用FC传输,因此这种SAN就叫FC-SAN,而后期出现了用IP协议封装的SAN,可以完全走普通LAN网络,因此叫做IP-SAN,其中最典型的就是现在热门的ISCSI。 这两种方式都转载 2013-11-29 11:42:19 · 1281 阅读 · 0 评论 -
xorg 架构 将来 以及一些基本常识浅析
很多Xorg相关文章,值得一读:http://blog.chinaunix.net/uid/269931/abstract/1.html xorg的未来http://imtx.cn/archives/1119.htmlhttp://www.linuxsir.org/bbs/thread345792.html看到大家对xorg存在很多的误解和迷惑,下面是我个人的理解下转载 2013-08-03 19:02:46 · 2764 阅读 · 1 评论 -
Using ctags to find functions
http://www.x.org/wiki/Development/Documentation/UsingCtags/Finding functions in X is hard. One way to search for the actual definition of a data type is to grep the source directory and then open转载 2013-08-01 20:17:06 · 827 阅读 · 0 评论 -
绘制和填充(Drawing and Filling)
绘制QPainter提供高度优化函数为需要绘制的GUI程序完成大部分的绘制工作。它能绘制所有的图形,从简单的图元(像QPoint,QLine,QRect,QRegion和QPolygon)到复杂的图形(矢量图形)。在Qt中,矢量路径由QPainterPath类描绘。QPainterPath使用一个容器保存绘制的相关信息,包括要绘制的图像形状。QpainterPath绘制路径由一翻译 2012-04-15 16:19:15 · 4435 阅读 · 0 评论 -
Qt 绘画系统(The Paint System)
前言:此系列文章主要翻译自Qt4.6的API文档,旨在探讨Qt绘画系统机制。Qt绘画系统使用统一的API在屏幕和打印设备上进行绘制,这些操作主要基于类:QPainter, QPaintDevice和QPaintEngine。QPainter用来进行绘制操作,QPaintDevice是一个抽象的两维空间绘图设备,QPainter可在上面绘图,QPainter使用QPaintEngin翻译 2012-04-15 16:10:01 · 1318 阅读 · 0 评论 -
绘画设备和后端(Paint Devices and Backends)
创建绘制设备QPaintDevice是能够被绘制类的基类。也就是说,QPainter可以在任何QPaintDevice的子类上绘制。目前已经实现了QPaintDevice绘画功能的类如下:QWidget, QImage, QPixmap, QGLWidget, QGLPixelBuffer, QPicture and QPrinter 的子类。 WidgetQWidge翻译 2012-04-15 16:15:14 · 1631 阅读 · 0 评论 -
MIT开发课程-计算机科学及编程导论-列表和可变性、字典、效率简介-笔记
养成使用伪代码描述解决问题的步骤的好习惯,好的程序员会回头来修改完善这些伪代码,通过伪代码可以快速找到不合理的地方,而不是在一堆代码中找的焦头烂额; 不要“憋大招”搞什么重大科技创新,大的创新都是由小的创新和细节构成;互联网产业开发进入快速迭代的时代,产品发布会尽可能的短。原创 2012-02-02 22:27:12 · 578 阅读 · 0 评论 -
读Qt例子-designer_calculatorbuilder笔记
读qt例子-designer/calculatorbuilder笔记: Qt版本:4.7.0 此例子通过在程序中动态加载ui文件的方式实现一个简单的加法计算器;首先通过designer设计好加法计算器的界面,然后在代码中使用QUiLoader动态加载此ui文件,最后使用 void QMetaObject::connectSlotsByName ( QObject * o原创 2012-01-31 15:26:56 · 1281 阅读 · 0 评论 -
MIT开发课程-计算机科学及编程导论-课程简介及数据类型-笔记
1、记东西不重要,重要的是思维,开卷考试,考得是学生的思维能力;2、考试成绩大致构成:55%来自作业,45%来自考试;3 、考试有两个小考、一个期末考,考试的权重分别是10%、15%、20,加在一起就是45%;4、无指定教材,只推荐教材;5、上课不是强制性的,但助教不愿回答上课已经讲到或者google能够搜到的内容;6、课程不分发课程笔记,记笔记是学生最好的学习方式,记笔记的过原创 2012-01-30 23:06:14 · 793 阅读 · 0 评论 -
30分钟 让你成为一个更好的程序员
http://cnbeta.com/articles/170509.htm转载 2012-01-28 17:46:23 · 550 阅读 · 0 评论 -
xlib编程-一个简单的xlib程序
/** Simple Xlib application drawing a box in a window.*/#include #include #include int main(){ struct _XDisplay *d;原创 2011-08-09 22:17:55 · 3853 阅读 · 0 评论 -
如何隐藏QT窗口在任务栏(taskbar)的任务图标
#include #include #include int main(int argc, char *argv[]){ QApplication a(argc, argv); QWidget widget;//这样新建的窗口在taskba原创 2011-08-03 21:38:43 · 8948 阅读 · 2 评论 -
linux学习笔记-读《Linux设备驱动开发详解》~第三章 Linux内核及内核编程
Linux内核源代码目录结构:arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录,如i386、ARM、PowerPC、MIPS等;block:块设备驱动程序I/O调度;crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法;Docume原创 2011-07-26 23:06:10 · 720 阅读 · 0 评论 -
linux学习笔记-读《Linux设备驱动开发详解》~第一章 设备驱动概述
驱动工程师实现硬件对应用软件工程师的隐形。设备驱动融入内核,在驱动程序中设计面向操作系统内核的接口,这样的接口由操作系统规定,对一类设备而言结构一致,独立于具体的设备。见下图: 驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU核。Linux将存储原创 2011-07-26 22:27:36 · 788 阅读 · 0 评论 -
__attribute__ ((packed)) 的作用
原文链接地址1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。例如:在TC下:struct my{ char ch; int a;} siz转载 2012-04-19 20:41:42 · 755 阅读 · 0 评论 -
深入浅出硬盘分区表
点击打开原文链接地址转载 2012-04-18 15:32:55 · 778 阅读 · 0 评论