自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liwg06

因上努力,果上随缘

  • 博客(77)
  • 资源 (3)
  • 收藏
  • 关注

转载 Complexity:一个测量 C 代码复杂性的工具

复杂性测量工具提供几条信息,它们可以:对于不熟悉的代码,可以查找可疑的区域。了解要理解代码需要多少工作量。了解测试代码库需要的工作量。给自己一个提醒。你可以很明显的看出你已经写了什么,但是其他人不能。提示哪些代码可能比较难被人理解是有用的,然后再决定是否需要重新做。

2017-03-01 23:11:40 1305

转载 Memory Profiler:Python代码的内存分析器

Memory_profiler是一个Python模块,可以监视一个进程的内存消耗,甚至可以一行一行的分析Python程序的内存消耗。它纯粹是由Python实现,用户可选psutil模块(强烈推荐)作为依赖。

2017-03-01 23:04:53 3081

转载 Linux 内核数据结构:位图(Bitmap)

https://github.com/0xAX/linux-insides/blob/master/DataStructures/bitmap.mdData Structures in the Linux KernelBit arrays and bit operations in the Linux kernelBesides different li

2017-03-01 22:59:19 1645

转载 libcstl:标准C语言通用数据结构和常用算法库

libcstl是使用标准C语言编写的通用数据结构和常用算法库。libcstl模仿STL的接口形式,包括序列容器、关联容器、容器适配器、迭代器、函数和算法。libcstl为C编程中的数据管理提供了方便简易的开发库。 libcstl除了包括容器,迭代器,函数和算法四部分外,还包括类型机制以及内存管理。 类型机制允许用户在容器中保存任何类型的数据,这其中包括C内建的类型, libcstl内建的类型以及用户自定义的类型。内存管理采用内存池的方式帮助用户减少内存分配带来的碎片。 libcstl可以很好的运行在类Un

2017-03-01 22:53:48 9264

转载 libevent:一个在网络服务器中事件驱动开发库

Libevent 是一个基于事件触发的网络库。它提供一种机制,即当某个具体事件发生在一个文件描述符上或已经达到超时时,来执行某一个回调函数。此外,它也支持信号或定时器事件的回调。Libevent 是为了取代在事件驱动的网络服务中的事件循环。应用程序只需要调用event_dispatch() 函数,然后动态添加和移除事件而不需要更改事件循环。

2017-03-01 22:45:45 634

转载 使用 libevent 和 libev 提高网络应用性能

构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方案,但是 libevent 库和 libev 库能够大大提高性能和事件处理能力。在本文中,我们要讨论在 UNIX® 应用程序中使用和部署这些解决方案所用的基本结构和方法。libev 和 libevent 都可以在高性能应用程序中使用,包括部署在 IBM Cloud 或 Amazon EC2 环境中的应用程序,这些应用程序需要支持大量并发客户端或操作。

2017-03-01 22:41:36 342

转载 mongoose:嵌入式Web服务器

mongoose是一个理想的嵌入式环境,专为设备互联而设计。自2004年以来,就被大量的开源产品或者商业产品所使用,它甚至已经运行在了空间站的设备中。Mongoose使嵌入式网络编程更为快速、稳健和简单。

2017-03-01 22:34:35 2708 1

转载 libPhenom:Facebook开源的高性能C语言并发编程框架

libPhenom是Facebook发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程、提供内存管理和常用数据结构、json处理。

2017-03-01 22:22:05 1025

转载 OCLint:静态代码分析工具(C、C++和Objective-C)

OCLint是一个静态代码分析工具,通过检查C、C++和Objective-C代码提高程序质量,减少瑕疵,同时搜索潜在的问题。

2017-03-01 22:18:47 1281

转载 Facebook 开源大规模预测工具 Prophet:支持 Python 和 R

近日,Facebook 宣布开源了一个可以通过 Python 和 R 语言使用的预测工具 Prophet。以下是 Facebook 研究博客对该工具的介绍。

2017-03-01 22:07:21 838

转载 看过这两张图,就明白 Buffer 和 Cache 之间区别

简单说,Buffer的核心作用是用来缓冲,缓和冲击。比如你每秒要写100次硬盘,对系统冲击很大,浪费了大量时间在忙着处理开始写和结束写这两件事嘛。用个buffer暂存起来,变成每10秒写一次硬盘,对系统的冲击就很小,写入效率高了,日子过得爽了。极大缓和了冲击。Cache的核心作用是加快取用的速度。比如你一个很复杂的计算做完了,下次还要用结果,就把结果放手边一个好拿的地方存着,下次不用再算了。加快了数据取用的速度。

2017-03-01 22:02:49 596

转载 Scrapy:Python的爬虫框架

网络爬虫,是在网上进行数据抓取的程序,使用它能够抓取特定网页的HTML数据。虽然我们利用一些库开发一个爬虫程序,但是使用框架可以大大提高效率,缩短开发时间。Scrapy是一个使用Python编写的,轻量级的,简单轻巧,并且使用起来非常的方便。

2017-03-01 21:51:02 282

转载 NLTK:一个先进的用来处理自然语言数据的Python程序

NLTK被称为“一个使用Python开发的用于统计语言学的教学和研究的有利工具”和“一个自然语言处理的高效库”。

2017-03-01 21:44:30 587

转载 普通程序员如何转向AI方向

本文的目的是给出一个简单的,平滑的,易于实现的学习方法,帮助 “普通” 程序员踏入AI领域这个门。这里,我对普通程序员的定义是:拥有大学本科知识;平时工作较忙;自己能获取的数据有限。因此,本文更像是一篇 “from the scratch” 的AI入门教程

2017-03-01 21:37:35 300

转载 侦测程序句柄泄露的统计方法

在 Linux 平台上运行的进程都会从系统资源申请一定数量的句柄,而且系统控制了进程能够申请的最大句柄数量。用户程序如果不及时释放无用的句柄,将会引起句柄泄露,从而可能造成申请资源失败。该文章从 linux 内核角度分析了句柄的产生和泄漏的原因,并采用一种应用统计侦测句柄的方法,为用户判断程序句柄是否泄漏提供了更直观的依据。通过对程序句柄数量进行采样统计,并且绘制出相应的统计图形,能够以比较直观的方式判断在程序中是否存在句柄泄露。该方法基于程序要运行大量的测试用例,增加测试用例的覆盖率,尽可能多的用测试用

2017-02-26 09:58:22 293

转载 Linux 内核中的 GCC 特性

Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性,学习如何在 Linux 内核中使用它们。

2017-02-26 09:43:21 359

转载 GCC 中的编译器堆栈保护技术

本文介绍了编译器所采用的以 Canaries 探测为主的堆栈保护技术,并且以 GCC 为例展示了 SSP 的实现方式和实际效果。最后又简单介绍了突破编译器保护的一些方法。尽管攻击者仍能通过一些技巧来突破编译器的保护,但编译器加入的堆栈保护机制确实给溢出攻击造成了很大的困难。本文仅从编译器的角度讨论了防御溢出攻击的方法。要真正防止堆栈溢出攻击,单从编译器入手还是不够的,完善的系统安全策略也相当重要,此外,良好的编程习惯,使用带有数组越界检查的 libc 也会对防止溢出攻击起到重要作用。

2017-02-26 01:13:32 312

转载 将 Linux on x86 应用程序移植到 Linux on Power 的指南

本文将介绍如何使用以下直观的分步流程将 Linux® C/C++ 应用程序从 x86 平台(Intel® 或 AMD)移植到 IBM® PowerLinux™。我们首先要了解需要为移植做的准备工作,然后我们将介绍一些让 32 位和 64 位代码在 PowerLinux 上运行的实现技巧。

2017-02-26 01:07:56 557

转载 永不消逝的进程

后台守护进程是 Linux/Unix 系统中非常重要的"地下工作者"。本文从 Linux/Unix 的进程组和会话的机制入手,详细的介绍了基于这些机制之上的两种截然不同的实现守护进程的手法。在深入解读这些奇淫巧技的同时,笔者也更希望读完本文的朋友们能够触类旁通,对 Linux/Unix 系统的进程间关系能有更深一层的认识。

2017-02-26 01:02:16 403

转载 Linux 上的数据可视化工具

Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到 3-D 制图,再到科学图形编程和图形模拟。幸运的是,这方面的工具有很多开放源码实现,包括 gnuplot、GNU Octave、Scilab、MayaVi、Maxima 等。每个工具都有自己的优缺点,并且都是针对不同的应用程序而设计的。对这些开放源码图形可视化工具进行一下探索,有助于我们更好地决定哪个工具最适合我们的应用程序。

2017-02-22 01:35:19 829

转载 在多线程应用程序中使用循环缓冲区高效地进行日志记录

要分析并找出运行错误问题的原因,程序员所广泛使用的一种方法就是日志记录。在本文中,您将了解如何使用循环缓冲区通过内存操作(而不是文件操作)高效地进行日志记录。为该缓冲区选择合适的大小,从而确保转储相关的消息,这将在调试时很有帮助。

2017-02-22 01:31:21 594

转载 学习 Linux,101: LPIC-1 学习路线图

这些教程可帮助您学习和复习基本的 Linux 任务。如果您想要通过 Linux 系统管理员专业认证,这些教程可帮助您了解 Linux Professional Institute 的 LPIC-1:Linux 服务器专业认证考试 101 和 102 的知识点。此路线图根据考试 101 和 102 中的 43 个目标而组织,通过 LPIC-1 认证需要掌握这些目标。

2017-02-22 01:14:22 1145

转载 Linux 套接字编程中的 5 个隐患

Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。

2017-02-22 01:11:00 226

转载 Linux系统调用列表

Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。

2017-02-22 01:06:09 189

转载 定位 UNIX 上常见问题的经验总结

主要对 UNIX 平台常见的问题进行了分类,介绍一些常见问题分析时使用的方法和命令,对以下三种常见问题的分析方法做了简单介绍:UNIX 下 Crash 问题的分析方法、UNIX 下内存泄露问题的分析方法和 UNIX 下 performance 问题的分析方法。

2017-02-22 00:55:42 495

转载 掌握 Linux 调试技术

可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序。本文描述了几种可以用来调试在 Linux 上运行的程序的方法。我们将回顾四种调试问题的情况,这些问题包括段错误,内存溢出和泄漏,还有挂起。

2017-02-22 00:52:18 222

转载 静态代码分析工具清单:开源篇(多语言)

本文是一个静态代码分析工具的清单。共有8个工具,其中7个是开源工具,1个有免费使用的版本,都可以用于多种语言。

2017-02-21 23:51:36 12913 2

转载 静态代码分析工具清单:开源篇

本文是一个静态代码分析工具的清单,共有26个工具。包括4个.NET工具、2个Ada工具、7个C++工具、4个Java工具、2个JavaScript工具、1个Opa工具、2个Packaging工具、3个Perl工具、1个Python工具。

2017-02-21 23:47:08 7935 3

转载 在 POSIX 线程编程中避免内存泄漏

POSIX 线程(pthread)编程定义了一套标准的 C 编程语言类型、函数和常量 — 且 pthreads 提供了一种强大的线程管理工具。要充分使用 pthreads,您要避免常见错误。一个常见的错误就是忘记联接可接合的线程,从而导致内存泄漏并增加工作量。在该篇技巧型文章中,学习 POSIX 线程基础,了解如何识别和检测线程内存泄漏,并获得避免出现这种情况的可靠建议。

2017-02-20 02:03:59 221

转载 使用 shell 脚本对 Linux 系统和进程资源进行监控

本文主要介绍 Linux 平台下的 shell 脚本使用,主要包括如何对系统和进程资源进行有效的监控。

2017-02-20 01:56:35 279

转载 在 Linux 平台中调试 C/C++ 内存泄漏方法

由于 C 和 C++ 程序中完全由程序员自主申请和释放内存,稍不注意,就会在系统中导入内存错误。同时,内存错误往往非常严重,一般会带来诸如系统崩溃,内存耗尽这样严重的后果。本文将从静态分析和动态检测两个角度介绍在 Linux 环境进行内存泄漏检测的方法,并重点介绍静态分析工具 BEAM、动态监测工具 Valgrind 和 rational purify 的使用方法。相信通过本文的介绍,能给大家对处理其它产品或项目内存泄漏相关的问题时提供借鉴。

2017-02-20 01:49:58 276

转载 Linux 初始 RAM 磁盘(initrd)概述

学习 initrd 的剖析、创建以及在 Linux 引导过程中的用法。Linux® 初始 RAM 磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd 文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM 磁盘卸载,并释放内存。在很多嵌入式 Linux 系统中,initrd 就是最终的根文件系统。本文将探索 Linux 2.6 的初始 RAM 磁盘,包括如何创建以及如何在 Linux 内核中使用。

2017-02-20 01:37:40 193

转载 浅析 Linux 中的时间编程和实现原理,第 1 部分: Linux 应用层的时间编程

本文试图完整地描述 Linux 系统中 C 语言编程中的时间问题。主要内容包括应用程序中的时间编程方法;时钟硬件简介;Glibc 时间函数的实现以及 Linux 内核对时间的支持和实现原理。这是第 1 部分,探讨应用开发中的时间编程问题。

2017-02-20 01:32:43 281

转载 如何为嵌入式开发建立交叉编译环境

在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。文章通过一个具体的例子说明了这些嵌入式交叉编译开发工具的制作过程。

2017-02-20 01:28:07 240

转载 Linux 下网络性能优化方法简析

性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux内核中提升网络性能的一些优化方法的简析,以让我们去后台看看魔术师表演用的盒子,同时也看看内核极客们是怎样灵活的,渐进的去解决这些实际的问题。

2017-02-20 01:18:09 212

转载 read 系统调用剖析

本文介绍了从 read 系统调用发出到结束处理的全过程。该过程包括两个部分:用户空间的处理、核心空间的处理。用户空间处理部分是系统调用从用户态切到核心态的过程。核心空间处理部分则是 read 系统调用在 linux 内核中处理的整个过程。

2017-02-20 01:13:59 176

转载 Linux 网络栈剖析

Linux® 操作系统的最大特性之一就是它的网络栈。它最初源于 BSD 的网络栈,具有一套非常干净的接口,组织得非常好。其接口范围从协议无关层(例如通用 socket 层接口或设备层)到各种网络协议的具体层。本文将从分层角度对 Linux 网络栈的接口进行探索,并介绍其中的一些主要结构。

2017-02-20 01:08:49 281

转载 提高 Linux 上 socket 性能

加速网络应用程序的 4 种方法。使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的最大性能并对 GNU/Linux® 环境进行优化从而达到最好结果的方法。

2017-02-20 01:06:33 177

转载 浅析 Linux 中的时间编程和实现原理

本文试图完整地描述 Linux 系统中 C 语言编程中的时间问题。主要内容包括应用程序中的时间编程方法;时钟硬件简介;Glibc 时间函数的实现以及 Linux 内核对时间的支持和实现原理。这是第四部分,探讨最新 Linux 内核时间系统的变化。

2017-02-20 01:02:17 547

转载 浅谈 Linux 内核开发之网络设备驱动

本文介绍了网络设备的基本概念,并从 Linux 内核的角度出发,介绍了网络设备驱动的开发方法和开发中的注意事项。

2017-02-20 00:55:17 199

Graph Theory, Combinatorics and Algorithms [by Golumbic M., Hartman I] Springer

Graph Theory, Combinatorics and Algorithms by Golumbic M., Hartman I Springer-(2005) pdf file

2010-10-22

组合优化-理论与算法 (Bernhard Korte Springer出版社 4th Edition)

Combinatorial Optimization -Theory and Algorithms (pdf file) by Bernhard Korte Springer出版社 Algorithms and Combinatorics (2007)

2010-10-22

空空如也

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

TA关注的人

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