Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

C#函数式编程之序列

C#函数式编程之序列

过了许久的时间,终于趁闲暇的时间来继续将函数式编程这个专辑连载下去,这段时间开头是为IOS这个新方向做准备,将OC的教程写成了SWIFT版,当然我个人是支持Xamarin,但是我一般会先掌握原生态的开发,再掌握Xamarin。后面剩下的时间开发了一个Xamarin App项目,用了十几天完成的。今天的内容将对比较简单,就是讲述如何利用函数式编程来实现列表推导。说的简单点就是列表的数据并不像我们平时开发那样实现写好的,而是通过一定的算法计算出来的(不是程序一...
Linux系统入门教程:使用Eclipse和Gnu Autotools管理C/C++项目

Linux系统入门教程:使用Eclipse和Gnu Autotools管理C/C++项目

在我该系列的之前的所有随笔中,都是采用 Linux 发行版自带的包管理工具(如 apt-get、yum 等)进行软件的安装和卸载,从来没有向大家展示使用源代码自行编译安装软件的方法。但是长期混迹于 Unix/Linux 世界的童鞋们都知道,从源代码自行编译安装软件并不是那么的难,一般都是这样三个步骤:configuremakemake install 之所以能够把源代码的构建管理得如此简单,这得益于 Gnu 的 Autotools 工具链。在上面的三个命...
C语言中的二级指针和二维数组问题

C语言中的二级指针和二维数组问题

关于二级指针和二维数组两者差别很大,不可以直接用二级指针传递二维数组首先来看看二维数组在内存中是如何组织的呢?一维数组 T arr1 = new T[9] 二维数组T arr2 = new T[3][3]实际上,不管是一维还是多维数组,都是内存中一块线性连续空间,因此在内存级别上,其实都只是一维。但是不同的定义使得表现形式不一样,从而有多维数组的概念。访问数组元素其实非常简单,原因就在于元素在内存中的线性排列,这样对一维数组的访问只需要arr1[index...
编程能力七段论

编程能力七段论

前言程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。下面通过两个维度展开编程能力层次模型的讨论。一个维度是编程技能层次,另一个维度是领域知识层次。编程技能层次编程技能层次,指的程序员设计和编写程序的能力。这是程序员的根本。0段—非程序员:初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题。也就是说,还是门外汉,还不能称之为“程序员”。计算机在他面前还是一个神秘的黑匣子。1段&mda...
程序员编程知识经验总结

程序员编程知识经验总结

不知道你有没有听说过所谓编程知识也是有半衰期的?这个半衰期限很多人普遍认为是 5 年。也就是说,5 年以后你现在所学的知识将会有一半被淘汰。感觉听上去也算合情合理。毕竟,新的编程语言和技术在源源不断地面世。但是我要告诉你,编程语言比很多人想得都要“长寿”。语法不是难点对于 Java 程序员,学习 Python 就像说英语的去学习法语。当然这两者是毫无关联的。但是相同的是,都需要学习新的语法。语法只是表面上的不同,所有的核心概念都是相...
Python中的接口

Python中的接口

什么是接口 ?接口只是定义了一些方法,而没有去实现,多用于程序设计时,只是设计需要有什么样的功能,但是并没有实现任何功能,这些功能需要被另一个类(B)继承后,由 类B去实现其中的某个功能或全部功能。个人的理解,多用于协作开发时,有不同的人在不同的类中实现接口中的各个方法。在Python中接口由抽象类和抽象方法去实现,接口是不能被实例化的,只能被别的类继承去实现相应的功能。个人觉得接口在python中并没有那么重要,因为如果要继承接口,需要把其中的每个方法全...
Python中的装饰器

Python中的装饰器

什么是装饰器假设有函数A,B,C,已经全部编写完成,这时你发现A, B, C都需要同一个功能,这时该怎么办?答: 装饰器装饰器其实就是一个函数,不过这个函数的返回值是一个函数个人理解,装饰器主要就是为了完成上边的这个功能,将A, B, C 函数包裹在另一个函数D中,D函数在A函数执行之前或之后,处理一些事情#!/usr/bin/env python #coding:utf-8def SeparatorLine(): print "############...
Python中的反射

Python中的反射

反射对于初学python可能较难理解,但反射是非常有用。试想一下,当别的程序传入给你写的这段代码一个变量(var=“math”),这个变量是一个字符串,这个字符串是一个模块或者一个模块下的某个方法,你需要通过变量来导入此模块或者方法,如何导入此模块或方法呢,如果直接执行 import var是会出错的,因为var在你的这段代码中是一个变量, 这时就需要反射, 如何使用反射呢。如果这个变量值是一个模块,可以使用MathModule=_...
Python的@符号

Python的@符号

Python一直都属于用,没有去系统学习过,在一次代码review中见到了@符号,回来看了下,这个符号用于装饰器中,用于修饰一个函数,把被修饰的函数作为参数传递给装饰器,下面举几个例子:1. @classmethod和@staticmethod这两个含义很明显,在定义方法的时候@classmethod表示该方法是类方法,类方法必须有一个参数为cls,表示类本身,实例方法的第一个参数是self.@staticmethod修饰的方法基本上和一个全局函数相同。这...
Java开发熟手该当心的11个错误

Java开发熟手该当心的11个错误

生产过程中出现的问题正逐渐得到中层和最高管理层的重视。不管是身为开发人员还是架构师,下列的事项都应该得到你足够的重视以避免陷入未来的尴尬境地。你也可以把它作为排查问题的便签。 #1、不在属性文件或 XML 文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在 DEV 环境中,还是 UAT(用户验收测试)环境中,都可以顺畅无阻地运行,但是一旦部署在 PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出 I...
C语言冒泡排序及其复杂度分析

C语言冒泡排序及其复杂度分析

问题:给定一个整数序列,按照从小到大的顺序(确切地说,是非递减的顺序)排列序列中的整数。输入:一个整数序列。输出:整数序列,其中的整数升序排列。因为谭浩强的C语言教材,大家最熟悉的可能就是冒泡排序。下面是冒泡排序的一个C语言实现,a是数组首地址, size 是数组元素的个数。冒泡排序的思想,是让最大的数浮动到数组最后的位置,其次大的数浮动到数组倒数第二个位置……当然,你也可以从大到小排序,也可以从后向前冒泡。其特征操作是相邻元素...
Linux下C函数dlopen实现加载动态库so文件代码举例

Linux下C函数dlopen实现加载动态库so文件代码举例

dlopen()是一个强大的库函数。该函数将打开一个新库,并把它装入内存。该函数主要用来加载库中的符号,这些符号在编译的时候是不知道的。这种机制使得在系统中添加或者删除一个模块时,都不需要重新编译了。可以在自己的程序中使用 dlopen()。dlopen() 在 dlfcn.h 中定义,并在 dl 库中实现。它需要两个参数:一个文件名和一个标志。文件名就是一个动态库so文件,标志指明是否立刻计算库的依赖性。如果设置为 RTLD_NOW 的话,则立刻计算;如...
Linux内核中影响tcp三次握手的一些协议配置

Linux内核中影响tcp三次握手的一些协议配置

在Linux的发行版本中,都存在一个/proc/目录,有的也称它为Proc文件系统。在 /proc 虚拟文件系统中存在一些可调节的内核参数。这个文件系统中的每个文件都表示一个或多个参数,它们可以通过 cat 工具进行读取,或使用 echo 命令进行修改。下面给出了几个可调节的参数是关于Linux TCP/IP 栈的参数,相关的帮助可以通过man tcp或info tcp获取。在这个目录中,包括了一些特殊的文件,不仅能用来反映内核的现行状态和查看硬件信息,而...
<< 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 >>