自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

书山路遥

随便记记

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

原创 【机器学习】手写神经网络处理MNIST数据集

MNIST数据集是人工智能大佬Yann LeCun给出的一套手写数字的数据集,训练集包含60,000个样本和标注,测试集包含10,000个样本和标注。可以给新手用来练手用。在上篇文章中,有讲到如何解析数据集,并使用pyplot绘制数据集中的数字,在这篇文章中,将一句吴恩达的《Machine Learning》课程中对神经网络的讲解,使用python来手写神经网络,实现对测试集的测试。使用的库numpy:python科学计算库sklearn.preprocessing.OneHotEncoder.

2021-07-04 10:13:27 342 2

原创 【机器学习】使用pyplot绘制MNIST数据集中的手写数字

MNIST数据集是人工智能大佬Yann LeCun给出的一套手写数字的数据集,训练集包含60,000个样本和标注,测试集包含10,000个样本和标注。可以给新手用来练手用。数据集表示标注:数字分为0-9,总共10个数字,标注也是从0-9,分别对应0-910个数字;图片:将每张图片切分成2828的矩阵,矩阵的每个元素使用灰度值来表示,所以总共使用一个2828的矩阵来表示图片;下载数据集数据集下载地址:http://yann.lecun.com/exdb/mnist/整个数据集分为四个部分:.

2021-07-02 09:15:32 1009

原创 php-cc项目重构记录

最近利用空余时间把之前的一个小工具重构了下,主要是使用引入了Symfony/Console,优化了命令的交互,后期的功能扩展也方便很多。另外就是用Symfony/Yaml来管理配置文件,对配置文件的操作也好了很多。...

2021-03-06 14:07:46 223

原创 《深入理解java虚拟机》笔记

深入理解java虚拟机走进javajava不仅仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系。她有以下优点:结构严谨,面向对象;摆脱硬件平台的限制,实现了一次编写,到处运行;提供了一个相对安全的内存管理和访问机制;有一套完善的应用程序接口,以及先进的开源生态;java内存区域与内存溢出异常运行时数据区域程序计数器线程私有,可以看做当前线程所执行的字节码的行号指示器。java虚拟机栈线程私有,对应java方法执行的内存模型,即方法栈帧,存储局部变量表、

2021-03-03 12:34:42 391 2

原创 [php-src]CONTRIBUTING.md

贡献php每一位php开发者都可以贡献php,php的更新不会停止,每个release版本都需要做大量工作,参与的人越多越好。合并请求(PR)PHP欢迎大家通过PR来增加测试、修复bug和实现RFC的功能,但请确保PR包含适当的测试。如果是修复bug,请将PR提交到bug影响的最低版本的活动分支,例如现在,最低版本的活动分支是php7.3,那么对应的Git分支就是PHP-7.3。同时请确保PR中附带一个bug tracker系统中对应的链接。实现RFC新功能的PR应该直接从master拉去分支进行

2021-02-26 15:14:49 234

原创 [php-src]README.md

PHP:一种通用的脚本语言,尤其适合web开发。快速、扩展、实用。安装:可执行版本&手动编译(略)扩展:PHP Extension Community Library - PECL贡献:官方代码仓库:git.php.netGithub镜像:GitHub mirror repositoryDiscussions:在Github上,但根据讨论主题,可转发到php开发组提出New features,需要提供被开发者投票接受的RFC,见Request for comments - RFC 和

2021-02-26 14:16:13 102

原创 Guzzle/promises源码解读

最近在读guzzle/promise的源码,觉得有点绕,所以这里记录一下。promise介绍promise是一个异步操作的标准,它规定了应当如何写一系列相关的异步操作,主要目的是规范化异步操作,避免大量的异步操作导致的回调地域。Guzzle中的promisepromise是如何规范异步操作的异步操作的状态只有三种:pending-等待,fulfilled-成功,rejected-失败异步状态的变化只有两种:pending->fullfilled,pending->rejecte.

2021-01-31 07:20:18 999

原创 PHP中curl库的CURLOPT_HEADER和CURLOPT_HTTPHEADER

昨天在写一段程序的时候卡了好久,卡在了一段curl代码上面:$ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $config['ocr_api']); $headers = [ 'X-Appid:' . $appid, 'X-CurTi

2020-11-27 15:22:28 5247

原创 使用alias简化kubectl命令时传入参数问题

使用kubectl管理k8s集群很爽,但是kubectl的命令却很长,如果管理多个集群,需要带上kubeconfig文件的路径,再加上namespace,如果是exec的话,那么命令恐怕一行都装不下了。那么自然而然的就想到使用alias来缩短命令。希望实现:alias kclxx=kubectl --kubeconfig=/kubeconfig/path --namespace=这里希望把ns作为一个参数传入alias,有了这个alias,就可以直接传入ns,使用kclxx ns get po来查看对应

2020-09-25 11:40:18 704

原创 关于yourls生成短链耗时太长问题解决

最近项目上在使用yourls来做运营短链。在批量生成短链的时候,发现请求很慢,记录下解决这个问题的过程。问题描述使用yourls的API生成短链时,单个请求耗时大约在300毫秒以上,每秒钟生成大约2-3个链接,效率太低。解决思路1.多进程并发首先考虑是开多个进程,并发生成。但当进程数 > 3时,接口返回报错概率很高,后起的进程大部分时间处于重试的状态,多进程无法继续提升转换效率。2.引入批量生成插件官方文档中的API每次只能转换一个链接,考虑到yourls本身有较多的插件,所以决定在.

2020-09-22 16:57:20 1153 1

原创 Machine Learning上机作业ex4解答

此系列文章主要为记录作业过程,也为卡在某处提供些许思路,所以还是建议独立完成,这样对知识的理解最为深刻。ex4是神经网络算法的基本实现,还是有一定难度的。加油!nnCostFunction-Part 1:首先需要根据给定的参数,使用前向算法,计算出成本函数。我使用了for循环,每次循环计算一种分类(1…m)的成本,求和之后除以m,再加上偏移量,同样注意对第一个参数不需要偏移。for i = 1:m h = sigmoid(Theta2 * [ones(1); sigmoid(Theta1 *.

2020-07-18 22:18:15 345

原创 Machine Learning上机作业ex3解答

此系列文章主要为记录作业过程,也为卡在某处提供些许思路,所以还是建议独立完成,这样对知识的理解最为深刻。plotData这部分内容是已经写好的,但还是应该认真读一遍代码,看看究竟是如何绘图的。核心的代码如下:// 设置灰色图谱,这样就可以使用小数数值来colormap(gray);// 计算example(一个数字可以看做一个example)的个数和每个example的像素高度(等于像素总数/像素宽度)[m n] = size(X);example_height = (n / examp.

2020-07-16 20:46:11 221

原创 Machine Learning上机作业ex2解答

此系列文章主要为记录作业过程,也为卡在某处提供些许思路,所以还是建议独立完成,这样对知识的理解最为深刻。plotData这部分练习的关键在于从数据集中筛选出正例和反例。使用的是Octave中的find方法。筛选完成后,直接调用plot方法绘图即可。参考答案如下:pos_index = find(y==1);neg_index = find(y==0);plot(X(pos_index,1), X(pos_index,2), "k+", "MarkerSize", 10, "LineWidth".

2020-07-15 23:07:06 259

原创 Machine Learning上机作业ex1解答

warmUpExercise.m这一部分很简单,主要是熟悉函数的编写,以及了解做题的过程。题目本身没有难度,就是编写一个返回5阶单位矩阵的方法。在warmUpExercise.m编写代码,文件中函数的声明和返回都已经写好了,我们只需要在指定出补充代码即可,在Octave中生成单位矩阵的方法是eye(i),其中i为生成的阶数:所以此部分的答案是:A = eye(5);Plotting the Data这部分主要是基础的画图。题目中也给出了答案,只需要理解即可。还是推荐在命令窗口使用help plot来

2020-07-10 17:29:49 214

原创 DNS概念、相关概念及解析流程

DNS概念DNS,即Domain Name System,中文翻译为网域名称系统。是一项联网的服务,本质上可以理解为一个分布式的数据库,提供将域名转换为IP的服务。使用TCP和UDP端口53;每一级域名长度的限制是63个字符;域名总长度则不能超过253个字符;相关概念根服务器是DNS中最高级别的域名服务器,负责返回顶级域的服务器地址。目前逻辑上有13台根服务器,13台是因为早期的UDP报文限制了返回报文中的资源记录数量。简单讲就是在DNS查询前先要初始化根服务器列表,需要先查下13台根服

2020-06-27 14:32:51 719

原创 每天5分钟,细读PHP手册-14

用户提交的数据必须时常留意你的代码,以确保每一个从客户端提交的变量都经过适当的检查,然后问自己以下一些问题:此脚本是否只能影响所预期的文件?非正常的数据被提交后能否产生作用?此脚本能用于计划外的用途吗?此脚本能否和其它脚本结合起来做坏事?是否所有的事务都被充分记录了?魔术引号指令magic_quotes_gpc:对GET、POST、COOKIE生效;magic_quo...

2019-07-29 11:09:56 206

原创 每天5分钟,细读PHP手册-13

支持的协议和封装协议file:// — 访问本地文件系统http:// – https:// — 访问 HTTP(s) 网址ftp:// – ftps:// — 访问 FTP(s) URLsphp:// — 访问各个输入/输出流(I/O streams)zlib:// – bzip2:// – zip:// — 压缩流data:// — 数据(RFC 2397)、glob:// —...

2019-07-29 11:09:21 218

原创 每天5分钟,细读PHP手册-12

错误处理error_reporting设置错误级别;display_errors控制脚本是否输出错误;log_errors和error_log指令控制错误日志;PHP7将很多错误当做异常处理,但catch的是ERROR类,不是Exception;异常处理异常对象不能clone;自定义Exception时最好调用parent::construct,来确认所有变量都正确初始化;...

2019-07-29 11:08:31 178

原创 【PHP扩展之旅】APC和APCu

扩展介绍分配一定大小的内存,缓存opcode,也可以在程序中缓存数据。APC和APCuAPC是比较老的版本,只更新到2015年。而APCu最早的版本是从4.0.0开始的,当时是直接从APC的master分支直接fork过来的。PHP7支持PHP7的支持是从5.0.0版本开始的。使用方法直接下载源码包,编译安装即可;通过在php.ini中设置参数来控制apc;通过apc.shm_...

2019-07-01 19:57:54 1867

原创 每天5分钟,细读PHP手册-11

重载php的重载不是严格意义上的重载。它是指动态的创建类属性和方法,这一点是通过魔术方法来实现的。当调用当前环境下未定义或不可见的类属性或方法时,重载方法会被调用。本节后面将使用不可访问属性和不可访问方法来称呼这些未定义或不可见的类属性或方法;属性重载只能在对象中进行。在静态方法中,这些魔术方法将不会被调用。所以这些方法都不能被 声明为 static。从 PHP 5.3.0 起, 将这些魔...

2019-04-29 14:44:58 157

原创 Sql语句转Markdown格式表格——sql2markdown

实际工作中,经常要用到数据字典。在项目初期维护数据字典很容易,但随着项目的推进,数据库结构的改动,这项维护工作变得越来越困难。如果你的数据库结构中的备注写的够全,那么直接将sql语句导出成为markdown表格肯定会让数据字典维护工作变得更加轻松。导出的markdown可以在markdown编辑器中显示成优美的markdown格式,然后拷贝到文档中心,轻而易举。所以,我使用php写了一个小工...

2019-04-18 15:42:52 4464 1

原创 每天5分钟,细读PHP手册-10

static关键字静态属性不能通过一个类已实例化的对象来访问(但静态方法可以);为了兼容 PHP 4,如果没有指定访问控制,属性和方法默认为公有;由于静态方法不需要通过对象即可调用,所以伪变量 $this 在静态方法中不可用;静态属性不可以由对象通过 -> 操作符来访问;用静态方式调用一个非静态方法会导致一个 E_STRICT 级别的错误;自 PHP 5.3.0 起,可以用一个...

2019-04-02 09:18:26 115

原创 每天5分钟,细读PHP手册-9

类与对象自 PHP 5 起完全重写了对象模型以得到更佳性能和更多特性。这是自 PHP 4 以来的最大变化。PHP 5 具有完整的对象模型;创建对象有三种方式:new class, new object, class::getNew();当覆盖方法时,参数必须保持一致否则 PHP 将发出 E_STRICT 级别的错误信息。但构造函数例外,构造函数可在被覆盖时使用不同的参数;自 PHP 5....

2019-04-02 09:17:54 93

原创 每天5分钟,细读PHP手册-8

include查找顺序:被包含文件先按参数给出的路径寻找;如果没有给出目录(只有文件名)时则按照 include_path 指定的目录寻找;如果在 include_path 下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找;如果最后仍未找到文件则 include 结构会发出一条警告;这一点和 require 不同,后者会发出一个致命错误;如果定义了...

2019-04-02 09:17:26 139

原创 每天5分钟,细读PHP手册-7

foreachforeach中的$value只有在可以被引用时才可以使用&来表示引用;数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁;foreach 不支持用"@"来抑制错误信息的能力;breakbreak 可以接受一个可选的数字参数来决定跳出几重循环;continuecontinue 可以接受一个可...

2019-03-26 14:51:43 128

原创 每天5分钟,细读PHP手册-6

错误控制运算符@:放在一个表达式之前,该表达式可能产生的任何错误信息都被忽略掉。目前的"@“错误控制运算符前缀甚至使导致脚本终止的严重错误的错误报告也失效。这意味着如果在某个不存在或者敲错了字母的函数调用前用了”@"来抑制错误信息,那脚本会没有任何迹象显示原因而死在那里。执行运算符``:这是一个执行运算符,PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回。与s...

2019-03-26 14:51:04 95

原创 每天5分钟,细读PHP手册-5

常量语法使用define()来定义常量,5.3之后,可以使用const;和使用 define() 来定义常量相反的是,使用 const 关键字定义常量必须处于最顶端的作用区域,因为用此方法是在编译时定义的。这就意味着不能在函数内,循环内以及 if 语句之内用 const 来定义常量。常量只能包含标量数据,可以定义resource常量,但结果不可预料;常量和变量有如下不同:常量前面没...

2019-03-26 14:49:28 144

原创 每天5分钟,细读PHP手册-4

变量php中的变量是用一个美元符号后面跟着变量名来表示,变量名是区分大小写的。$this 是一个特殊的变量,它不能被赋值;php的变量赋值默认是传值赋值,可以使用&来实现引用赋值;只有有名字的变量才可以引用赋值;未初始化的变量具有其类型的默认值 - 布尔类型的变量默认值是 FALSE,整形和浮点型变量默认值是零,字符串型变量(例如用于 echo 中)默认值是空字符串以及数组变量...

2019-03-26 14:48:35 121

原创 每天5分钟,细读PHP手册-3

Array数组自 PHP 5.4 起可以用直接对函数或方法调用的结果进行数组解引用,在此之前只能通过一个临时变量。自 PHP 5.5 起可以直接对一个数组原型进行数组解引用。试图访问一个未定义的数组键名与访问任何未定义变量一样:会导致 E_NOTICE 级别错误信息,其结果为 NULLunset() 函数允许删除数组中的某个键。但要注意数组将不会重建索引。如果需要删除后重建索引,可以用 ...

2019-03-22 06:01:23 122

原创 每天5分钟,细读PHP手册-2

Float浮点型float又叫double、real;-要测试浮点数是否相等,要使用一个仅比该数值大一丁点的最小误差值。该值也被称为机器极小值(epsilon)或最小单元取整数,是计算中所能接受的最小的差别值。NAN表示一个在浮点运算中不可表述的值,不能做比较(包括自身比较),应该用is_nan()检查;string有一系列字符组成,每个字符是一个字节,也就意味着只能支持256的字...

2019-03-22 06:00:52 105

原创 每天5分钟,细读PHP手册-1

php语言的开始和结束标记有四种:<?php ?><script language="php"></script><? ?> 打开short_open_tag<% %> 打开asp_tags一个PHP代码段的最后一行代码可以不使用分号结尾php中的9种基本类型:四种标量类型:bool、integer、fl...

2019-03-22 06:00:07 136

原创 php-cc:git commit代码提交时进行PHP代码的语法检测和代码格式检查

继上篇文章之后,我花了一些时间,写了一个简单的composer包。这个包可以自动配置git钩子,使得在commit的时候进行PHP代码的语法检查(phplint)和代码风格(phpcs)检查。这个工具同时还支持一些简单的配置,例如开启/关闭语法或者代码风格检查;支持自定义代码风格检查是使用的standard(例如PSR1,PSR2等等)。工具将会逐步完善。工具安装composer requ...

2019-03-18 21:36:01 1758 1

原创 PHPStorm+Xdebug调试PHP Web程序

本文主要讲解利用PHPStorm和Xdebug调试PHP Web程序。环境php运行环境安装了xdebug扩展,可以通过php -m | grep xdebug检查是否安装成功;安装phpstorm(有条件建议购买正版);Xdebug配置打开php.ini文件。在文件尾部添加Xdebug配置:[Xdebug]xdebug.remote_enable=1xdebug.re...

2019-03-16 07:19:04 1074

原创 PHPStorm+Xdebug调试本地PHP脚本

注意本文将要讲的是使用phpstorm和xdebug调试本地php的脚本,例如编写php脚本处理文本、测试程序等,并不是php的web程序。而web程序将在专栏中的其他文章中详细介绍。环境php运行环境安装了xdebug扩展,可以通过php -m | grep xdebug检查是否安装成功;安装phpstorm(有条件建议购买正版,支持正版);Xdebug调试首先在phpsto...

2019-03-12 14:14:38 3038

原创 Linux&&Mac系统中安装Xdebug扩展

文章目录前提工作下载解压编译安装配置检查是否安装成功前提工作正确安装了php;推荐使用php7以上的版本。安装了phpize、php-config等工具;phpize:侦测你的系统环境,生成编译扩展的配置文件;php-config:获取你安装的php的基本信息;这两个工具基本在php安装时都会带上。只要执行下这两个命令试下就可以了下载解压根据版本选择选择合适的版本,...

2019-03-09 06:18:50 317

原创 使用php -i或者phpinfo()查看php安装、配置信息

在php开发过程中,经常需要查看php相关信息,例如php版本、php扩展安装情况、php配置文件路径等等。本文将介绍使用php -i命令和phpinfo()两种方式,希望可以帮助到大家。使用前提你必须正确的安装了php。在windows下使用命令后面的内容会在控制台中执行一些命令,对于Linux&amp;Mac的同学来说,只要正确安装了php,直接执行命令就好,但对于Windows下...

2019-03-05 10:08:43 30975

原创 Xdebug简介和版本选择

Xdebug简介Xdebug is an extension for PHP to assist with debugging and development. It contains a single step debugger to use with IDEs; it upgrades PHP’s var_dump() function; it adds stack traces for ...

2019-03-05 09:14:23 2831 1

原创 Laravel-admin中存储checkbox数据([Array to string conversion SQL: insert into]报错)

Laravel-admin是一款开箱即用的后台管理框架,功能强大。但是由于其依赖的底层框架技术(Laravel、AdminLTE、Datetimepicker等)众多,自身的文档内容也较简略,导致实现某些自定义功能的时候难度较大。本文就针对其中的存储checkbox数据问题提出一个解决方案,并详细描述由发现问题到解决问题的过程,希望给遇到这类问题的同学们一些启发。问题原因当在新建页面使用c...

2019-03-02 07:00:10 6261 1

原创 Specified key was too long; max key length is 767 bytes问题解决

Specified key was too long; max key length is 767 bytes在做一次mysql数据表迁移的时候碰到了这个问题。通过查阅资料和文档,这个问题的大致原因如下:在mysql5.6中索引列的最大长度为767个字节。简单讲,就是如果你将某列加入到索引中,而索引的内容大于767个字节,那么将会出现这个错误。而对于一般建表来说,我们使用的多是in...

2019-02-28 11:14:11 91432 7

原创 openssl_verify(): supplied key param cannot be coerced into a public key错误解决的一种办法

openssl_verify(): supplied key param cannot be coerced into a public key在接入支付宝网站支付的时候,处理异步回调报了这个错误。从错误来看,应该是公钥错了。可是查了半天怎么查也查不出来。具体情况如下:知道我看到了key末尾的那个换行…不知道啥时候复制上去一个换行…仅仅做一个记录和参考吧…...

2019-02-19 16:32:22 11010

Lua中文教程

Lua中文教程

2017-06-26

廖雪峰python教程

廖雪峰的python教程整理版

2017-06-26

空空如也

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

TA关注的人

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