自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CamelGem

心有执念终成魔,四大皆空皆佛陀~

  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

原创 一文搞懂什么是REST API以及如何使用REST API

什么是REST API假设您要在YouTube上查找有关蝙蝠侠的视频。您打开Youtube,在搜索字段中输入“蝙蝠侠”,然后按Enter,然后您会看到有关蝙蝠侠的视频列表。REST API的工作方式与此类似。您搜索某些内容,然后从请求的服务中获得结果列表。一个API是应用程序编程接口。这是一组允许程序相互通信的规则。开发人员在服务器上创建API,并允许客户端与之对话。REST确定API的外观。它代表“表现层状态转换”。这是开发人员创建API时要遵循的一组规则。这些规则之一规定,当您链接到特定的URL时

2020-08-31 22:25:57 4594

原创 golang中的类型断言和类型切换

类型断言作用:用于提取一个接口底层值。语法:i.(T), 用来获取混合类型是T的接口的底层值,让我们来看一下例子:package mainimport ( "fmt")func assert(i interface{}) { s := i.(int) //get the underlying int value from i fmt.Println(s)}func main() { var s interface{} = 56 asse

2020-07-11 09:43:31 428

原创 Perl正则表达式详解

Perl中的正则表达式使用示例m//修饰符LVALUE =~ m/PATTERN/;LVALUE =~ /PATTERN/;修饰符含义/i匹配时忽略大小写/g全局匹配,默认情况下,正则表达式"abc"匹配"abcdabc"字符串的时候,将之匹配左边的abc,使用g将匹配两个"abc"/c在开启g的情况下,如果匹配失败,将不重置搜索位置/m多行匹配模式/s让.可以匹配换行符"\n",也就是说该修饰符让.真的可以匹配任意字符/x允许正则表达

2020-07-03 11:33:51 3338

原创 Perl中Data::Dumper模块用法

Data::Dumper的用法use Data::Dumper;my ($foo, $bar) = ([1, 2, 3], [3, 4, 5]);print Dumper($foo, $bar); # 正常输出引用数据结构print Data::Dumper->Dump([ $foo, $bar ], [ qw(foo *ary) ]);# configuration variables{ local $Data::Dumper::Purity = 1; eval D

2020-06-16 22:03:14 3748 2

原创 Perl中的符号表的使用与说明

Perl中的符号表概念通常来说,我们写一段代码需要为它提供一个命名空间,这样变量和函数才不会与其他人的变量或者函数产生冲突,反之亦然。包是独立于文件的。一个文件通常可以包含多个包,或者一个包可以跨多个文件。通俗来讲包就是perl的模块,通常以.pm结尾,并且在定义一个包时,文件名与包名相同。也有极个别情况,文件名与包名不相同,通常发生在一个文件中定义了多个包,所以它有好几个包名,因此文件名与包名不相同。典型的例子就是VMware官方的PerlSDK开发模块。通常在使用模块化编程时,我们需要学习如

2020-06-09 23:47:33 809 1

原创 python中模块和包的导入以及使用方式

模块如果从Python解释器退出并再次输入,则所做的定义(函数和变量)将丢失。因此,如果要编写更长的程序,最好使用文本编辑器为解释器准备输入,然后使用该文件作为输入运行它。这称为创建脚本。随着程序时间的延长,你可能需要将其拆分为多个文件,以便于维护。你可能还想使用在多个程序中编写的便捷功能,而无需将其定义复制到每个程序中。为此,Python提供了一种将定义放入文件中并在脚本或解释器的交互式实例中使用它们的方法。这样的文件称为模块;可以将模块中的定义导入其他模块或主模块中。模块是包含Python定义和语

2020-05-30 13:25:52 1425

原创 python中的数据结构及其常见用法

数据结构list(列表)# list.append(x)squares = [1, 2, 3, 4 ,5, 6]squares.append(10)print(squares) # [1, 2, 3, 4, 5, 6, 10]# list.extend(iterable)iterable = [x * 2 for x in squares]squares.extend(iterable)print(squares) # [1, 2, 3, 4, 5, 6, 10, 2, 4, 6,

2020-05-29 22:19:57 429 1

原创 ruby中定义一个方法时,各种参数的定义方式

# 位置参数def add_values(a, b) a + bend# 默认位置参数def add_values2(a = 1, b = 2, c) a + b + cenddef add_values3(a = 1, b = a) # 参数值总是从左到右被计算的 a + benddef add_values4(a = b, b = 1) # 除非定义了一个名字为b的方法,否则在默认参数执行时会报错 a + bendp add_values4 # ra.

2020-05-25 22:50:43 686

原创 Perl中如何重载一个操作符

overload(重载)描述:Perl的重载简而言之就是平时如果我们需要用一些常规操作符去操作对象的话,会得到与正常结果不同的结果。例如将一个对象与一个数字相加:# 重载前package MyClass;use feature qw(say);sub new { shift; bless \(my $var = shift) => __PACKAGE__;}sub add { my ($first, $second) = @_; $$first +

2020-05-23 16:04:09 570

原创 Perl中given语句的用法

give … when … 语句在perl 5.10和更高的版本中提供了if结构的一个替代结构,即given函数,从语言学的角度来说,这就相当于是提供了一个主题工具。它的做法是将$_设置为当前主题。然后可以使用when语句检查这个主题的各个不同值或模式。使用Perl的v5.10及以后的版本时,就会启用这个特性:use v5.12; # 至少v5.12 加载默认特性# 如果要特别请求"switch"特性,则需要:use feature qw(switch);以上两种声明都会向Perl语言增加

2020-05-18 23:18:12 1089

翻译 Perl中智能匹配操作符(smartmatch operator)用法

Smart Match Operatordescription最早在Perl5.10.1(5.10.0版本的行为有所不同)中提供,它的参数之间进行“智能匹配”。尽管不是所有的when子句都调用smartmatch运算符,但通常在perlsyn中描述的when构造中隐式使用它。在所有Perl运算符中唯一的,smartmatch运算符可以递归。smartmatch运算符是实验性的,其行为可能会发生变化。它的独特之处还在于,所有其他Perl运算符都在其操作数上施加了上下文(通常是字符串或数字上下文),将

2020-05-18 12:25:02 1810

原创 POSIX模块中的几种宏和常量的说明

POSIX模块中的几种宏和常量的说明ConstantsWNOHANG在子进程更改状态之前,不要挂起调用进程,而是立即返回。WUNTRACED捕获已停止的子进程。MacrosWIFEXITED(${^CHILD_ERROR_NATIVE})如果子进程正常退出,则返回true (通过exit() 或者程序一直执行到main末尾 )WEXITSTATUSWEXITSTATUS(${^CHILD_ERROR_NATIVE}) 返回子进程的正常退出状态 (只有在 WIFEXIT

2020-05-09 12:48:55 332

翻译 Perl中fork函数的使用示例 PART 2

Fork Part 2翻译自Perl.com(Fork Yeah!)##### Perl.com在本文的第一部分中,我描述了如何使用Perl的fork函数编写并发程序。下面是其他几种方法。WNOHANG通常,waitpid是阻塞调用,当子进程退出时返回:#!/usr/bin/perlmy $pid = fork;if ($pid == 0) { sleep 1; exit;}waitpid $pid, 0; # 在子进程退出前,父进程会一直等待在此示例中,waitpid

2020-05-09 10:56:28 344

翻译 Perl中fork函数的使用示例 PART 1

Fork Part 1翻译自Perl.com(Fork Yeah!)Perl.com最近在工作中,我不得不加快处理文件的Perl脚本。 Perl可以使用fork函数产生多个进程,但是除非正确管理子进程,否则事情可能会出错。我在脚本中添加了fork,并能够将脚本的吞吐率提高近10倍,但是我花了一些努力才能将其正确设置。在本文中,我将向您展示如何安全使用fork并避免一些常见错误。N.B. Windows用户:由于fork系统调用在Windows上不可用,因此这些示例可能无法按所述方式运行,因为该行为是

2020-05-09 10:07:28 807 1

翻译 Perl中Parallel::ForkManager模块的使用(翻译自官方文档)

Parallel::ForkManagerNAMEParallel::ForkManager - 一个简单的并行进程衍生(fork)管理器.VERSIONversion 2.02SYNOPSISuse Parallel::ForkManager;my $MAX_PROCESSES = 10; # 指定需要fork出的子进程数量my $pm = Parallel::ForkManager->new($MAX_PROCESSES); #实例化一个DATA_LOOP:foreach

2020-05-08 21:41:25 2107

原创 Ruby中方法的使用以及方法的参数传递

关于ruby中方法的一些知识拓展一个方法的返回值通常是方法中最后一个表达式的值,但是如果最后一个表达式的值不存在,则方法返回的值为nil。如果一个方法最后一个表达式产生多个值,返回的值需要用逗号分隔开,最后方法会以数组的形式返回多个值。为了是代码更加清晰,可以将返回的值显示的放入数组中然后返回。见下面示例:def name puts "Hello World!"endp na...

2020-04-27 20:09:33 2516

原创 shell中变量以及环境变量的常见用法

变量变量类型有两种类型的变量:局部变量和环境变量。局部变量仅在创建它的shell中有效,环境变量则对所有创建它的shell所派生出来的子进程都有效。某些变量由用户来创建,而另一些则是shell的特殊变量。命名规则变量名必须以字母或下划线开始,其余部分则可以由字符,数字(0-9)或下划线字符构成。而其他字符均可作为变量名的结束标志。名字是大写敏感的。当给一个变量赋值时,不要在等号两边留下空格...

2020-04-23 12:47:04 1069

原创 如何去定义和使用shell中的函数

函数函数是在ATT的UNIX SYSTEM VR2版本开始引入到Bourne shell中的,并在Bourne again shell中得到强化。函数就是一个命令或者一组命令的名字。函数可以使程序模块化并提高效率,可以就在当前shell环境中执行。换言之,在执行像ls这样的可执行程序时并不产生子进程。你甚至可以把函数保存在文件中,而在准备使用时再把它们载入脚本。在使用函数时需遵循以下原则:...

2020-04-19 14:07:49 229

原创 Ruby中的类和模块和变量使用说明

对象, 变量, 常量和类在ruby中表现数据的基本单位称为对象。常见对象与其所属的类对象类数值Numeric字符串String散列Hash正则表达式Regex文件File符号Symbol数组Array此外还有range和execption对象等变量分为以下几种:全局变量: 以$来表示实例变量: 以@开头来表...

2020-04-18 23:26:01 929

原创 bash中的循环命令用法原理(for, while, until, select)

循环命令循环命令就是反复执行一个命令或者一组命令,直到完成事前设置好的次数或者达到某种条件。bashshell有三种循环:for循环,while循环和until循环。 for命令for循环命令用于根据项目清单确定的次数执行命令。例如,你可以根据文件或者用户清单执行相同的命令。for命令后面紧跟着用户自定义变量-关键字in,然后是一个单词清单。第一次执行循环,单词列表中的第一个单词被赋值给变量...

2020-04-18 18:55:01 8744 2

原创 shell一些环境配置文件的说明。

/etc/profile该文件是由系统管理程序建立的一个泛系统的初始文件, 这是一个全局的配置文件, 系统登录就会加载该配置文件.~/.bash_profile文件假如用户的根目录里存在这个文件, bash就在读取完/etc/profile后加载这个配置文件.如果这个文件不存在, bash就会查找另一个用户自定义文件.bash_login并且加载它. 如果.bash_login文件也不存...

2020-04-18 13:11:25 859

原创 Docker入门教程

https://camelgemonion.gitbook.io/docker/

2021-03-21 23:43:23 212

原创 用golang解析json

文章目录编码解码带interface{}的通用JSON解码任意数据引用类型编码器和解码器JSON (JavaScript Object Notation) 是一种简洁的数据交换格式。从语法上讲,其类似于 JavaScript 的对象和列表。最常用于 Web 后端和浏览器中运行的 JavaScript 程序之间的通信,但也用于许多其他地方。编码要编码 JSON 数据,我们可以使用 Marshal 函数.func Marshal(v interface{}) ([]byte, error)给定Go数

2020-10-03 23:08:45 346

原创 Go中的反射模型

文章目录类型和接口接口的表示形式从接口反射出对象从反射对象到接口值修改反射对象的值对结构体类型的值进行发射总结反射是指程序检查自身结构的能力,尤其是通过类型;它是一种元编程,也是产生混乱的重要根源。类型和接口反射建立在类型系统之上,所以让我们从go语言的类型开始。Go是静态类型语言,每个变量都有一个静态的类型,即在编译时类型已知且固定:比如int, float32,*MyType,[]byte等等。如果我们声明:type MyInt intvar i intvar j MyInt那么i的类

2020-10-03 19:37:02 227

原创 Golang中的常量

golang中的常量文章目录golang中的常量字符常量短声明变量和类型推导布尔值浮点数复数整数数字在Go中,我们通常使用const关键字来定义一个常量,它为标量值引入了名称,例如2或者3.14或者helloworld.这样的值在Go中被称为常量。常量也可以通过根据常量构建的表达式来创建,例如2+3或者2*3或者“go"+"lang"等。有些语言支持常量,而有些语言不支持常量,有些语言虽然支持常量,但是定义常量的方式不同,意义也不同。但是在Go中,常数只是一个简单而不变的值。字符常量数字常量有很多

2020-10-03 18:21:02 2288

原创 Golang编程示例part2

文章目录定时器打点器线程池速率限制原子计数器互斥锁状态协程排序使用函数自定义排序panicdefer组合函数字符串函数字符串格式化正则表达式JSON解析XML解析时间戳时间格式化随机数数字解析url解析SHA1散列读文件写文件过滤行文件路径文件目录临时文件和目录命令行参数命令行标志命令行子命令环境变量HTTP客户端HTTP服务端生成进程执行进程信号退出定时器package mainimport ( "fmt" "time")func main() { //创建一个定时器对象,

2020-09-29 19:14:28 300

原创 Golang编程示例part1

文章目录数据类型单引号双引号和反引号变量for循环if/elseswitch/case数组切片关联数组range函数多返回值函数变参函数闭包递归指针结构体方法接口错误处理协程通道通道同步单向通道通道关闭通道遍历通道缓冲通道选择器数据类型package main目录 数据类型单引号双引号和反引号变量for循环if/elseswitch/case数组切片关联数组range函数多返回值函数变参函数闭包递归指针结构体方法接口错误处理 协程通道通道同步单向通道通道关闭通道遍历通道缓冲通道选择器import "

2020-09-29 12:46:32 493

原创 golang中make和new的使用

Go中make和new的使用make用于内建类型(map、slice 和channel)的内存分配。new用于各种类型的内存分配 内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型T的零值。有一点非常重要:new返回指针内建函数make(T, args)与new(T)有着不同的功能,make只能创建slice、map和channel,并且返回一个有初始值(非零)的T类型

2020-09-08 19:34:45 409

原创 curl命令的参数及其使用示例脑图

2020-08-13 00:54:50 135

原创 history常见用法脑图

2020-08-11 22:51:42 100

原创 Bash算术表达式脑图

2020-08-11 22:29:32 97

原创 Bash字符串处理脑图

2020-08-11 21:08:11 95

原创 JavaScript中的嵌套try...catch示例

JavaScript中嵌套的try…catch// 第一种情况try { try { throw new Error('oops'); //=> 抛出一个error对象,对象的message为'error' } finally { console.log('finally'); //=> 无论是否抛出异常都会执行 }}catch (ex) { //=> 捕获到内部try语句抛出的异常对象 console.e

2020-08-08 00:06:39 1552

原创 JavaScript中的try..catch示例

try … catch示例function foo(num) { // 检查传入的参数是否为数值 if (typeof num !== "Number") { throw { type: "Value error", info: "The value is not right, it should be a number!" }; } else { return num; }}

2020-08-07 23:43:25 225

原创 JavaScript中的布尔值

JavaScript中的True与false值falseundefinednull0NaN空字符串("")除了上述值以外,其他的任何值都为真,包括true和"true".当传递给条件语句所有其他的值,包括所有对象会被计算为真 。请不要混淆原始的布尔值true和false 与 Boolean对象的真和假。例如:var b = new Boolean(false);if (b) //结果视为真if (b == true) // 结果视为假...

2020-08-07 21:37:21 498

原创 golang中指针接收者和值接收者的区别

一般来说,我们通常会在实施接口的时候,选择用值接收者,其实指定指针接收者也是允许的。但是当实施接口的时候使用指针接收者与使用值接收者是由细微差别的。通过以下的示例来了解一下:package mainimport "fmt"type Describer interface { Describe()}type Person struct { name string age int}func (p Person) Describe() { //implem

2020-07-11 10:46:48 717

翻译 Golang中的变量类型

第4部分:类型这是Golang教程系列中的第4个教程。请阅读Golang教程第3部分:本系列的变量,以了解变量。以下是可使用的基本类型布尔数值类型int8,int16,int32,int64,intuint8,uint16,uint32,uint64,uintfloat32,float64complex64,complex128字节rune字符串布尔布尔类型表示布尔值,可以为true或false。package mainimport "fmt"func main()

2020-07-05 11:14:47 407

翻译 Golang中的变量声明

第3部分:变量这是Golang教程系列中的第三篇教程,它涉及Golang中的变量。您可以阅读Golang教程第2部分:Hello World,以了解有关配置Go和运行hello world程序的信息。什么是变量?变量是为存储位置指定的名称,用于存储特定类型的值。Go中有多种语法来声明变量。让我们一一看一下。声明一个变量var name type是声明单个变量的语法。package mainimport "fmt"func main() { var age int // va

2020-07-05 10:58:30 1181

转载 乐观锁与悲观锁

何谓悲观锁与乐观锁乐观锁对应于生活中乐观的人总是想着事情往好的方向发展,悲观锁对应于生活中悲观的人总是想着事情往坏的方向发展。这两种人各有优缺点,不能不以场景而定说一种人好于另外一种人。悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Jav

2020-06-27 21:48:33 102

原创 Rsync命令使用

Rsync优点:⽀持增量备份, 第⼀次全量备份, 第⼆次增量备份:边复制, 边⽐较, 边统计, 传输效率很⾼。数据集中备份, 客户端可以推送数据⾄服务端, 也可以从服务端获取数据, 以客户端为参照物.保持⽂件属性, 符号链接, 硬链接, 权限, 时间等。安全⽅式传输, rsync本⽣不对数据加密, 使⽤ssh作为传输端⼝。指定排除⽂件, 排除⽆需同步的⽂件或⽬录。进程⽅式同步, rsync运⾏在C/S架构, 通过进程⽅式传输⽂件或数据。Rsync缺点:⼤量⼩⽂件同步会⽐较慢, 需要⽐对较⻓时

2020-06-20 21:41:09 155

RubyNotebook.md

该文档为阅读ruby编程书籍以后的一些阅读笔记以及书上示例代码。里面的示例本人都亲自运行过,ruby语言是一门纯面向对象的语言,因此学习起来需要有对象和类的概念以及之间的联系等。

2020-04-18

dsp答案与题目

这是关于dps的题目与答案,可以有效的发现自己的不足~及时温故书上的知识

2012-12-27

空空如也

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

TA关注的人

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