自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (9)
  • 收藏
  • 关注

原创 linux expect的使用详解

一、概述我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。  Expect是一个免费的 编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者Don Libes在1990年 开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件 (Expect [is a] sof

2020-12-30 12:54:47 3098

原创 Profiling Query Compilation Time with GPORCA

GPORCA是Pivotal针对greenplum数据库和apache HAWQ(孵化)的查询优化器。在这篇文章中,我们将描述用户如何使用GPORCA分析查询编译。这将有助于用户了解GPORCA的哪些步骤是资源密集型的,以及正在触发哪些转换。基于这些信息,用户可以提供查询提示,以减少或增加搜索空间,查看时间和内存的使用情况,并了解如何影响其决策。Pivotal的查询优化器(PQO)旨在寻找在分布式环境(如Pivotal的Greenplum数据库)中执行SQL查询的最快方式。PQO的开源版本名为GPORCA

2020-12-28 23:19:40 3082 2

原创 PG主程序模块(Main)——数据库PostgreSQL入口

PostgreSQL系统的主要功能都集中于Postgres程序,其入口是Main模块(src/backend/main/main.c)中的main函数,在初始化数据集簇、启动数据库服务器时,都将从这里开始执行。Main模块主要的工作是确定当前的操作系统平台,并据此做一些平台相关的环境变量设置和初始化,然后通过对命令行参数的判断,将控制转到相应的模块中去。PG使用一种专用服务器进程体系结构,其中,最主要的两个进程就是守护进程Postmaster和服务进程Postgres。从本质上来说,Postmaster和P

2020-12-28 22:33:23 3174

转载 error: unpacking of archive failed on file错误的解决

今天在用yum安装软件包的时候出现如下错误信息(这只是部分):Installing : pango-1.28.1-11.el6.x86_64 1/9Error unpacking rpm package pango-1.28.1-11.el6.x86_64error: unpacking of archive failed on file /usr/bin/pango-querymodules-64;5

2020-12-27 14:29:47 4078

原创 PG虚拟文件描述符(VFD)机制——FD LRU池二:postgresql-8.4.1/src/backend/storage/file/fd.c

看了上一篇PG虚拟文件描述符(VFD)机制——FD LRU池一:postgresql-8.4.1/src/backend/storage/file/fd.c,了解了FD LRU池的原理和API。但是我们还没有了解清楚VFD是怎么复用的FD。在操作系统中,当一个进程创建或是打开一个文件时,操作系统会为该文件分配一个唯一文件描述符(或叫文件句柄),并通过该文件描述符来唯一标识和操作该文件。参考Linux/UNIX系统编程手册中关于文件I/O的描述:  所有执行I/O操作的系统调用都以文件描述符,一个非负整数

2020-12-22 22:26:24 3284

原创 PG虚拟文件描述符(VFD)机制——封装的文件接口:postgresql-8.4.1/src/backend/storage/file/fd.c

本篇博客讲解fd.c文件中对C函数库文件操作API的相关封装。(相关C函数库文件操作API参见博主linux分类下的文章)InitFileAccess函数用于在postgresql启动时初始化VFD LRU池,并向系统注册proc-exit勾子以确保退出时清理临时文件。InitFileAccess函数在后端启动初始化阶段调用(normal or standalone backend),在数据库运行过程中只能调用一次。主要用于VFD LRU池中的头元素的空间,并设置LRU池的大小为1。最后注册proc-ex

2020-12-22 22:21:36 3345

原创 linux 文件保护-使用chattr +i保护

Linux文件保护禁止修改、删除、移动文件等,使用chattr +i保护chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files…最关键的是在[mode]部分,[mode]部分是由±=和[ASacDdIijsTtu]这些字符组合的,这部分是用来控制文件的属性。:在原有参数设定基础上,追加参数。:在原有参数设定基础上,移除参数。= :更新为指定参数设定。A:文件或目录的 atime (access time)不可被修改(modifie

2020-12-21 22:40:25 3566

原创 Scrapy学习笔记-Scrapyd Deploy

部署您的项目需要对其进行优化,并通过addversion.json endpoint 上传。您可以手动执行此操作,但最简单的方法是使用scrapyd客户机提供的scrapyd部署工具,它将为您完成所有操作。APIdaemonstatus.json检查服务的加载状态load status,支持的Request方法GET,比如curl http://localhost:6800/daemonstatus.json,输出{ "status": "ok", "running": "0", "pending":

2020-12-20 21:09:18 3210

原创 Scrapy学习笔记-Scrapyd Installation

RequirementsPython 2.6 or aboveTwisted 8.0 or aboveScrapy 0.17 or aboveInstalling Scrapyd(generic way)从PyPI安装:pip install scrapyd如果计划在Ubuntu中部署Scrapyd,Scrapyd附带了官方的Ubuntu软件包(见下文),用于将其作为系统服务安装,简化了管理工作。其他发行版和操作系统(Windows、Mac OS X)还没有特定的软件包,除了配置路径并使其能够作

2020-12-20 18:39:24 3142

原创 Scrapy学习笔记-Scrapyd Overview

OverviewProjects and versionsScrapyd可以管理多个项目,每个项目都可以上载多个版本,但只有最新的版本将用于启动新的spider。用于版本名的一个常见(也是有用的)约定是用于跟踪您的Scrapy项目代码的版本控制工具的修订号。例如:r23。版本没有按字母顺序进行比较,而是使用了一种更聪明的算法(distutils也使用相同的算法),例如,r10与r9相比更大。How Scrapyd worksScrapyd是一个应用程序(通常作为守护进程运行),它监听spider运行

2020-12-20 13:34:32 3090

原创 Python入门之——系统性能信息模块psutil

psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要应用于系统监控,分析和限制系统资源及进程的管理。它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、FreeBSD和Sun Solaris等操作系

2020-12-20 13:00:12 3096

原创 linux 同步IO: sync、fsync与fdatasync

传统的UNIX实现在内核中设有缓冲区高速缓存或页面高速缓存,大多数磁盘I/O都通过缓冲进行。当将数据写入文件时,内核通常先将该数据复制到其中一个缓冲区中,如果该缓冲区尚未写满,则并不将其排入输出队列,而是等待其写满或者当内核需要重用该缓冲区以便存放其他磁盘块数据时,再将该缓冲排入输出队列,然后待其到达队首时,才进行实际的I/O操作。这种输出方式被称为延迟写(delayed write)(Bach [1986]第3章详细讨论了缓冲区高速缓存)。延迟写减少了磁盘读写次数,但是却降低了文件内容的更新速度,使得欲

2020-12-15 21:23:26 3206

转载 PostgreSQL Replication之第一章 理解复制概念一

在本章中,将会介绍不同的复制概念,您会了解哪些类型的复制对哪一种实用场景是最合适的。 在本章的最后,您将能够判断某个概念在各种情况下是否是可行的。我们在本章将介绍以下主题:• CAP理论•复制的物理限制•为什么延迟有影响•同步和异步复制•拆分和复制在我们使用PostgreSQL实际工作之前,我们将引导您完成一些非常基本的与复制相关想法和事实。1.1 CAP理论和物理限制您可能会问,为什么一个理论可以在一本书这样一个突出的地方被发现,这被认为是非常实用的。那么,有一个很简单的理由:一些商业数

2020-12-15 21:16:40 3267

原创 Python学习笔记目录

Python 基础语法Python3入门之一Python3入门之——数值类型Python3入门之——字符串Python3入门之——序列类型Python3入门之——映射类型Python3入门之——集合类型Python 模块学习Python入门之——logging日志模块 Basic Logging TutorialPython入门之——getopt模块Python入门之——Pexpect模块Python使用MongoDB一问题列表Python模块问题:ImportError: can

2020-12-06 17:51:14 3506

嵌入式系统 硬件与软件架构

书中涵盖了嵌入式系统的各个方面,内容分为4个部分:第一部分包括嵌入式系统的基本介绍以及一些必备的知识;第二部分介绍嵌入式硬件,包括处理器、存储器、I/O以及总线;第三部分是关于嵌入式软件的介绍,包括设备驱动、操作系统及中间件和应用软件;第四部分介绍了嵌入式系统的设计与开发。此外,书中还包括大量图和计算机代码,帮助读者理解嵌入式系统的理论知识。

2019-01-18

实时碰撞检测算法技术

本书详细阐述了与碰撞检测问题相关的高效解决方案及相应的数据结构和算法,主要包括:碰撞检测系统中的设计问题、数学和几何学入门、包围体、基本图元测试、层次包围体技术、空间划分、BSP树层次结构、凸体算法、基于GPU的碰撞检测、数值健壮性、几何健壮性以及优化操作。另外,本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解计算方案的实现过程。

2019-01-21

信息可视化 交互设计

本书是英国著名信息可视化专家Robert Spence教授的代表作,也是世界范围内信息可视化领域最为经典的教材之一。该书结构清晰,内容丰富,案例翔实,系统地介绍了信息可视化的概念、技术和应用。通过本书的学习,读者可以了解信息可视化的基本概念和知识,同时培养可视化和交互设计的基本技能。

2019-01-21

GPU Pro 7 - Advanced Rendering Techniques

游戏开发、计算机图形学和渲染领域的业界大牛们优秀经验的分享合辑汇编,是江湖各大武林门派绝学经典招式的精华荟萃,可谓游戏开发、图形学和渲染领域进阶知识精彩绝伦的饕餮盛宴。

2019-01-18

qttest.rar

博客Qt Creator源码分析系列——UI界面:FancyActionBar类,附带测试的代码。主要是从Qt Creator源代码中剥离出的一些关于界面的代码进行测试和分析。

2020-02-21

HTML入门教材

入门级别的html教材,帮助新手快速入门

2015-01-25

DVCC-8086实验指导书

DVCC-8086实验指导书 计算机实验箱实验手册及具体电路

2015-07-10

经典算法大全

c语言算法大全,适合新手提升自我的书籍,真的就只能说这模多了

2014-11-18

时间触发嵌入式系统设计模式

时间触发嵌入式系统设计模式 使用8051系列微控制器开发可靠应用

2018-02-04

空空如也

空空如也

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

TA关注的人 TA的粉丝

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