自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 收藏
  • 关注

原创 php类中使用未定义的属性说明

一般情况下,在类中要使用一个属性,最好是先申明这个属性。否则就是给自己的挖坑了。 先来看以下一段代码,<?phpclass test_class{ public function out(){ $this->test = 8; return $this->test; }}$obj = new test_class();echo $obj->o

2018-01-25 18:16:52 2225

原创 Ionic3项目开发——页面跳转与参数传递

ionic3在页面跳转以及参数传递上做了修改。但不了解ionic或者刚接触的新手就难以理解,即使是官方提供的教程(https://ionicframework.com/docs/api/navigation/IonicPage/)也并不详细,还有一些坑存在。这里我做一下简单的演示。在home.html页面上点击一个按钮,执行home.ts的一段函数,最后传递一个变量并显示在about.html中。按

2017-12-01 20:40:50 10846 5

原创 Ionic3项目开发——发起定向HTTP请求

ionic项目在手机中,在测试环境下往局域网的某服务器发起一个请求。如果发起一个http://www.a.com/test的请求,手机端又没有对这个域名的解析。以下有两个方法可以解决。修改手机hosts文件可以修改手机的hosts文件,实现特定的域名解析。但这个方法需要获取手机的root权限。我大华为不允许我这么搞啊。修改请求头host字段大家都知道http请求头内有许多字段,其中host字段的作用

2017-11-24 18:17:57 2605

原创 Ionic3项目开发——跨域请求

最新在学习ionic开发android app,但有时候需要发起对另一个服务器的请求,假设为www.a.com。解决跨域的方法可以从目标服务器的修改和客户端修改两个方面去解决。这里由于我的服务器自己可以修改,所以就直接修改我的服务器配置(nginx)。在nginx服务器上添加三行add_header。重启nginx即可。 server { include con

2017-11-24 17:05:18 4688 2

原创 Ionic3项目开发——环境安装

想使用ionic开发一个android的app,但在国内,环境的安装并不是一个容易的事,以下是我在使用代理的情况下在ubuntu14.04环境下搭建的项目环境。配置nodejs在官网上下载最新的nodejs(8.9.1),将这个文件放置在/opt目录下解压。并设置环境变量。设置环境变量的方法是在/etc/profile中加入环境变量的路径,并使用source /etc/profile或重启即可。

2017-11-19 16:19:14 1274

原创 【上机笔试之十七】A的B次方

题目要求:计算A的B次方,取结果的后三位 思路:将次方降维,再计算结果。取结果的后三位,这就可以每次只取后三位计算。#include<iostream>#include<math.h>using namespace std;void main(){ int a; int b, ans = 1; while (scanf("%d%d", &a, &b) != EOF)

2017-05-02 22:24:41 304

原创 【上机笔试之十六】输出素数

题目要求:输出所有从1到整数n之间(不包括两端)个位为1的素数。#include<iostream>#include<math.h>using namespace std;int judge_sushu(int num) { if (num <= 0) { return 0; } else { for (int i = 2;

2017-05-02 22:20:53 175

原创 【上机笔试之十五】判断是否是素数

题目要求:判断一个数是否是素数。 思路:循环从2到n开根号的数,判断是否是不是素数。#include<iostream>#include<math.h>using namespace std;int judge_sushu(int num) { if (num <= 0) { return 0; } else { for

2017-05-02 22:18:48 268

原创 【上机笔试之十四】最小公倍数

计算两个数的最大公约数。一般方法:遍历所有不大于a和b的整数,看看是否同时满足余数为0。如果其中一个为0,则最大公约数就是另外一个不为0的数。如果两个都为0,则没有最大公约数(所有数都是可以整除)。欧几里德算法:该算法证明,a和b的最大公约数同时也是b和(a mod b)的最大公约数。所以就可以不断循环,直到a mod b 等于0时,b就是最大公约数。#include<iostream>us

2017-05-02 22:16:36 180

原创 【上机笔试之十三】最大公约数

计算两个数的最大公约数。一般方法:遍历所有不大于a和b的整数,看看是否同时满足余数为0。如果其中一个为0,则最大公约数就是另外一个不为0的数。如果两个都为0,则没有最大公约数(所有数都是可以整除)。欧几里德算法:该算法证明,a和b的最大公约数同时也是b和(a mod b)的最大公约数。所以就可以不断循环,直到a mod b 等于0时,b就是最大公约数。#include<iostream>us

2017-05-02 22:13:45 166

原创 【上机笔试之十二】数位拆解-进制转换

题目要求:设计一个特殊的乘法算法:123 * 45 = 1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54 这里用到了数组的拆分,保存在数组中。#include<iostream>using namespace std;void main(){ int a, b; int buf_a[10], buf_b[10]; int size_a =

2017-05-02 22:11:27 240

原创 【上机笔试之十一】数位拆解-特殊乘法

题目要求:设计一个特殊的乘法算法:123 * 45 = 1*4 + 1*5 + 2*4 + 2*5 + 3*4 + 3*5 = 54 这里用到了数组的拆分,保存在数组中。#include<iostream>using namespace std;void main(){ int a, b; int buf_a[10], buf_b[10]; int size_a =

2017-05-02 22:08:11 223

原创 MySQL教程之查询优化程序

MySQL查询优化程序当你调用语句时,MySQL会对它进行分析,判断出可以使用哪些优化操作来加快处理速度。例如select * from tab where false;Mysql会检查子句,发现没有符合查询条件的行,就根本不会去搜索表。通过执行explain可以看出explain select * from tab where false;指导意见分析表生成关于键值分布情况的统计数据,它们

2017-04-24 10:04:43 279

原创 MySQL教程之索引的使用

使用索引索引是用于加速查询中最为重要的一个环节。如果你不使用索引,那么在许多情况下,通过其他途径来提高性能的各种尝试都是在浪费时间。在使用中,应首先使用索引来最大程度地改进性能,然后再看看是否还有其他有用的技术。索引的优点无索引的表就只是一组无序的行。如果要找到其中的某行,就需要检查表的每一行,这是一个全表扫描操作,其效率超低。而如果给一个表的某一列加上一个索引,这个索引会将这一列排序,对于有序

2017-04-23 21:26:55 470

原创 使用ffmpeg提取视频中的音频和视频画面

想要提取视频中的音频信息,首选的技术是ffmpeg。网上的绝大多数ffmpeg使用教程都是: 比如你的文件是 test.mp4分离视频出来:ffmpeg -i test.mp4 -vcodec copy -an 视频流.avi分离音频出来:ffmpeg -i test.mp4 -acodec copy -vn 音频流.mp3用这样的方法,提取视频是没有问题的。但在提取音频时,我遇到了以下错误

2017-03-10 15:05:46 7852 1

原创 【上机笔试之十】栈应用-扣号匹配

括号匹配问题是堆栈的一个典型应用。题目要求:对于每个一个’(‘,如果没有对应的’)’与之匹配,则对应标号下输出’$’。对于每个一个’)’,如果没有对应的’(‘与之匹配,则对应标号下输出’?’。实现代码如下:#include <iostream>#include<stdio.h>#include <stack>using namespace std;void main() { stac

2017-03-09 17:14:07 217

原创 【上机笔试之九】贪心算法-换零钱

换零钱问题也是常考的一种题型。给定一个数,将其换成最少数量的零钱。代码如下:#include <iostream>using namespace std;void main() { int change; int left, i; int arr[4] = { 10, 5, 2, 1 }; i = 0; while (1) { left =

2017-03-09 17:08:09 691

原创 【上机笔试之八】二分法查找

对于查找类题目,二分法查找是最高效的方法,有时题目也规定必须使用二分法。二分法查找的前提是,数据先按一个顺序排好序。代码如下:#include <iostream>using namespace std;//二分法查找/折半查找int binarySearch(int array[], int len, int key){ int low = 0, high = len - 1, mi

2017-03-09 17:05:29 282

原创 【上机笔试之七】Hash应用(2)-从大到小顺序输出其中前m大的数

题目要求:给定n个整数,按从大到小的顺序输出其中前m大的数。对于这类题目,一般人的第一想法都是,按排序,再取前m个数。但这时需要考虑题目所给定的时间限制和内存限制。最高效的方法还是使用hash,以数为数据的下标,就可以统计每个分数的数量,下标从小到大排列,如果不为0则输出,直到输出完毕。代码如下:#include <iostream>#include <stdlib.h>using namesp

2017-03-09 17:03:02 555

原创 【上机笔试之六】Hash应用

将存储位置与数据本身对应起来的存储手段就是Hash。例如上一节的【上机笔试之五】计算两个日期的差值,将一个日期对应的预处理存储在一个以该日期的年月日为下标的三位数组中。该题的目的是在读入N名学生的成绩,将获得某一给定分数的学生人数输出。这里的处理方法是:以分数为数据的下标,就可以统计每个分数的数量,每一个数组的值就是所对应的人数。代码如下:#include <iostream>using name

2017-03-09 16:57:31 209

原创 【上机笔试之五】计算两个日期的差值

计算两个日期差的天数是上机笔试中常考的一种提醒,这里程序的大致思路是:预先计算出每一天距离1900年1月1日的天数,两次结果一做差就是两个日期差的天数。代码如下:#include <iostream>#include <algorithm>#include <string.h>using namespace std;//判断是否是闰年#define ISYEAP(x) ((x % 100

2017-03-09 16:50:42 308

原创 【上机笔试之四】快速排序(2)

这里介绍快速排序的应用,C++自带的快速排序函数,能够定义比较复杂的排序规则。每个结构体包含名字、年龄和分数。规则定义:将学生信息按成绩进行排序,成绩相同的则按照姓名的字母序进行排序。然后输出学生信息,按照如下格式:姓名、年龄、成绩。#include <iostream>#include <algorithm>#include <string.h>using namespace std;st

2017-03-09 16:48:08 218

原创 【上机笔试之三】快速排序

快速排序是常用的排序方法,C++中提供sort函数进行快速排序,并且可以设置排序的规则,快速排序代码如下:#include <iostream>#include <algorithm>using namespace std;//定义排序规则bool cmp(int x, int y) { return x > y; }void main(){ int n;

2017-03-09 16:43:15 260

原创 【上机笔试之二】冒泡排序

冒泡排序是排序方法中最简单的一种,但时间复杂度很高,是n的平方,笔试中一般使用快速排序。冒泡排序的代码如下:#include <iostream>#include <cstring>using namespace std;void main(){ int n; int num; int buf[100]; while ( scanf("%d", &n) !=

2017-03-09 16:41:38 204

原创 【上级笔试之一】数据输入

绝大多数的上机笔试题都需要数据输入,使用推荐比较好用的输入方式:#include <iostream>#include <cstring>using namespace std;void main(){ int n; int num; int buf[100]; while ( scanf("%d", &n) != EOF) { for (in

2017-03-09 16:38:02 196

原创 Laravel框架实现定时Task Scheduling

问题描述:在网站开发中,需要经常开启一些定时任务,例如定时清理脏数据等。本文主要介绍使用laravel自带的Task Scheduling配合cron实现定时任务。编写定时任务 在laravel框架的App\Console\Kernel.php目录下编写你需要执行的定时任务。例如:$schedule->call(function () { XXXXXX})->hourly();程序会

2017-03-08 09:59:32 1413

原创 Laravel框架中实现supervisor执行异步进程

问题描述:在使用Laravel框架实现动态网页时,若有些操作计算量较大,为了不影响用户体验,往往需要使用异步方式去处理。这里使用supervisor和laravel自带的queues实现。Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同

2017-03-08 09:41:14 2466

原创 laravel5.1出现No supported encrypter found错误的解决办法

问题描述:在使用laravel5.1进行项目开发的时候,出现了“No supported encrypter found. The cipher and / or key length are invalid.”的报错信息,导致页面无法显示。网上的绝大多数答案都是直接执行php artisan key:generate即可。有些人发现可行,也有些并没有解决。 首先解决这个问题的第一步是要看conf

2017-03-07 09:33:18 6907 1

原创 制作一个简易的PHP框架

简易PHP框架(crom)使用详解crom是结合当前各种框架和各类教程,自己整合的开发框架,框架能进行简易的WEB开发。gitlab源码链接https://github.com/gentcdq/crom框架的基本目录结构为 * app ctrl model views* core common config lib imooc.php* lo

2016-12-09 16:51:39 2618

原创 基于MATLAB短时傅里叶变换和小波变换的时频分析

本文主要给定一小段音频,通过短时傅里叶变换和小波变换制作时频图。0、准备工作首先先准备音频,预先用ffmpeg切割一段时长为1s的音频,音频的采样率为44100,但采样到的点数为46076个点,时长约为1.04s。     1、短时傅里叶变换首先,在matlab中,短时傅里叶变换的分析函数为spectrogram,其使用情况如下:语法:      [S,F,

2016-12-04 18:03:34 52966 12

转载 Laravel框架实现SMTP发送邮件

1.1 laravel发送邮件涉及的配置文件.env/config/mail.php以上是laravel发送邮件两个配置的地方,默认使用composer生成项目的时候,自动生成.env文件里会有邮箱的配置字段,如下:MAIL_DRIVER=smtpMAIL_HOST=mailtrap.ioMAIL_PORT=2525MAIL_USERNAME=nullMAIL_PAS

2016-11-30 20:19:53 3985

原创 github实现本地仓库与远程仓库同步

问题描述:对于一个远程资源库,如果你fork之后,远程仓库有所修改,这时你需要将本地的仓库与远程仓库同步,以更新最新的本地仓库。第一步:fork远程仓库1、找到远程仓库,找到fork功能键,点击就可以创建一个本地的仓库了.第二步:为你 fork 的仓库创建一个本地克隆现在,你已经成功 fork Spoon-Knife 仓库,但在你自己的计算机上并没有这个仓库的文件。让我

2016-11-23 15:13:12 13524

原创 Python中pydub使用详解

pydub是python中用户处理音频文件的一个库。安装:  1、安装pip工具:sudo apt-get install python-pip  2、安装pydub:sudo pip install pydub  3、pydub依赖于ffmpeg,所以还需要安装ffmpeg,由于Ubunbtu14.04官方源移除了ffmpeg,因此通过ppa源安装:  sudo apt-

2016-10-26 16:25:11 18204 3

原创 vim使用技巧

.        重复上一次修改*x       删除光标下的字符u       撤销上一次修改*dd     删除一行*$       把光标移到行尾*0       把光标移到行首*a       在当前光标之后添加内容(切换到插入模式)A       在当前行的结尾添加内容(切换到插入模式)*x       向后删除一个字符*X       向前删除一

2016-08-31 16:10:50 210

原创 ubuntu下ssh远程登录

实现两台ubuntu14.04电脑的免密钥ssh登录首先准备两台电脑(一台也行,可以使用两个账号),电脑A和电脑B。现配置A免密登录电脑B的root用户。1. 在两台电脑上都安装ssh- 使用sudo apt-get install openssh-server指令安装ssh。- 使用ps -e | grep ssh 查看是否开启ssh,如果没有使用sudo servi

2016-07-21 09:30:11 459

转载 nginx使用ssl模块配置HTTPS支持

默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev。生成证书可以通过以下步骤生成一个简单的证书:首先,进入你想创建证书和私钥的目录,例如:$ cd /usr/local/nginx/co

2016-05-28 14:59:44 294

转载 MySQL索引原理及慢查询优化

本文转自:http://tech.meituan.com/mysql-index.htmlMySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一

2016-04-15 10:19:37 1413

原创 laravel框架下cipher设置出错的几种情况

laravel框架下如果出现No supported encrypter found. The cipher and / or key length are invalid.的错误,请进行如下的检查。(1)检查.env文件检查.env文件内有没有  APP_KEY=jP************WqIqeTb这一行,并执行php artisan key:generate刷新(2)检查co

2016-04-08 14:36:04 1527

原创 laravel5.1下php artisan migrate使用注意事项

php artisan migrate命令是laravel十分重要的问题,但在使用时需要注意几个情况:(1)在migration文件夹下创建一张新的表,要使用php artisan make:migration语句        php artisan已经拥有强大的功能,就不要自己新建一个表(2)composer dump-autoload的使用        composer d

2016-04-07 20:51:41 9338

原创 使用Laravel Schema Designer设置laravel项目表结构

laravel项目的数据库并不是由sql文件生成,因为laravel框架使用模型去对应没一张表。所以laravel项目数据库的设计设计流程是应该先有字段(migrations文件),再使用migrate命令去生成数据库中的表。这时就要求我们先设计数据库的表结构。Laravel Schema Designer就是一个专门用于完成这项工作的应用(做的不咋地,勉强能用)。1,进入应用打开网址:h

2016-04-06 09:37:45 1884

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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