杂项
巷雨微若
还在慢慢学习中
展开
-
Mysql 相关知识点
为什么我们不要在频繁更新的列上建索引? 因为更新索引的时候会有大量的索引的结构调整,从而影响性能(索引结构调整的本质是InnoDB 页的分裂和合并) 在 varchar 字段上建立索引时,为什么要考虑指定索引长度? 如果索引越长的话,那么索引页(innodb索引页占用16k)所能保存的索引基数就越少,从而导致更多的磁盘扫描...原创 2020-11-20 15:41:44 · 184 阅读 · 0 评论 -
php pack和unpack的使用案例
$type = 'text/html;charset=utf-8';$str = 'i like like like like like like like you';//将字符长度信息保存在字符头部,头部占用8个字符$header = pack('VV', strlen($type), strlen($str));//组成一个完整的字符串$mix = $header . $type . $str;//提取字符串头信息$header = unpack('VheaderLen/VstrLen'.原创 2020-08-27 14:34:29 · 323 阅读 · 0 评论 -
常用hash函数
/** * 由Justin Sobel编写的按位散列函数 */function JSHash($string, $len = null){ $hash = 1315423911; $len || $len = strlen($string); for ($i = 0; $i < $len; $i++) { $hash ^= (($hash << 5) + ord($string[$i]) + ($hash >> 2)); .转载 2020-08-17 14:49:32 · 636 阅读 · 0 评论 -
[MySQL]執行順序與效率概論
MySQL執行順序如下:1.FROM2.ON3.JOIN4.WHERE5.GROUP BY6.WITHCUBEorWITHROLLUP7.HAVING8.SELECT9.DISTINCT10.ORDER BY11.TOP / LIMIT如果想要知道自己SELECT語句的效率如何,可以在SELECT之前加上EXPLAIN關鍵字即可得知相關的執行順序及效率分析...转载 2019-10-18 13:09:55 · 150 阅读 · 0 评论 -
Linux Crontab 定时任务列子
Crontab格式说明用crontab -e添加要执行的命令 命令格式如下:* * * * * /command path前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。各个字段之间用空格分割。前5个字段分别表示:分钟:0-59小时:1-23...转载 2019-10-18 12:08:59 · 134 阅读 · 0 评论 -
mongodb如何批量修改内嵌文档的属性?
数据结构如上,我需要将内嵌文档里面的isRead属性都设置成true哪要如何来批量的修改它们的值呢?直接看下面的代码://连接mongodb$db = new Manager("mongodb://localhost:27017");//设置更新语句$bulk = new BulkWrite();//注意这一句"['$set' => ["msg.$[].isRead" =&...原创 2019-01-17 15:47:15 · 3291 阅读 · 2 评论 -
sql – 如何在数据库中表示继承
原文地址:https://codeday.me/bug/20170520/16907.html我正在考虑如何在SQL Server数据库中表示复杂的结构。 考虑一个应用程序需要存储一系列对象的详细信息,这些对象共享一些属性,但有许多其他的不常见。例如,商业保险包可能包括在同一政策记录中的责任,汽车,财产和赔偿。在C#等等中实现它是微不足道的,因为您可以创建一个策略集合的部分,其中部...转载 2019-01-14 10:45:23 · 3402 阅读 · 0 评论 -
轻松学英语第一步:建立英语思维
转载出处:http://blog.sina.com.cn/djwork ————轻松学英语第一步:建立英语思维 为什么大家学英语学得这么累,最后依然对英语糊糊涂涂?原因只有一个——就是我们的学习能力太差了!!我们的老师太笨了!!! 这篇文章主要是给大家讲英语的基本结构, 看了这篇文章,你们会突然就明白,英语怎么会如此简单!! 首先我们来看下面这两张地图(一张是中国地图,一张是英国...转载 2019-01-09 18:08:27 · 693 阅读 · 0 评论 -
MongoDB 几种查询嵌套数据(Embedded)的方式
原文地址:https://www.jianshu.com/p/b28a73ba9a16前言MongoDB 推荐使用「内嵌文档(Embedded)」,所以带来一个问题,如何查询嵌入文档内的数据?假如我们有一个 storage 的 Collection,包含一条数据:// `storage` Collection{ "_id": "alpha", "name": "...转载 2019-01-22 10:10:25 · 10473 阅读 · 0 评论 -
laravel框架定时任务没有执行
在开发项目的时候使用到了laravel的定时任务,根据框架文档设置好定时任务后,发现定时任务并没有按预想的执行,先是检查了环境配置并无异常之处,于是试着在项目文件下执行如下命令php artisan schedule:run这个命令是手动的执行你在laravel项目中编写好了的定时任务,执行后抛出了这样的错误:在网上搜索这个错误后发现,原来是因为在命令行下执行了url(...原创 2018-12-05 13:26:08 · 4570 阅读 · 0 评论 -
Git设置记住账号密码
1.进入项目的.git文件夹中2.编辑里面的配置文件config3.在配置文件中加入:[credential] helper = store4.经过上面的配置后,在项目中执行push或pull操作时只需输入一次账号密码,后面的操作就不需要再重复输入账号密码了...原创 2018-11-28 16:59:34 · 1081 阅读 · 0 评论 -
laravel框架firstOrCreate的用法
firstOrCreate方法是laravel框架中操作数据表很常用的一个方法,在某些场景下他将变得很有用可以极大的简化代码有这样一个场景:我希望去数据表中按条件查询一条记录,如果这条记录存在就返回这条记录,然后更新记录中的某个字段,如果记录不存在我需要创建一条新的记录? 从源码中我们可以看出firstOrCreate这个方法接收两个数组作为参数,第一个参数是查询的条件,第二个...原创 2018-12-04 16:01:19 · 9535 阅读 · 0 评论 -
为什么Github没有记录你的Contributions
原文地址: http://segmentfault.com/a/1190000004318632最近在给同学看我的github时,突然发现我的Contributions Graph上一篇空白居然只有两三个小绿块,因为自己平时在公司工作的记录会显示在自己的Contribution Graph上,所以一直没发现个人repo的commit记录都没有被记录,于是外事不决问Google,发现原来是因为g...转载 2018-11-07 17:10:02 · 193 阅读 · 0 评论 -
git使用reset回退版本后找不到最新版本的解决办法
本人最近使用idea内置git回退版本时不小心选了keep模式,发现版本记录下没有了最新提交的版本信息。那么再想回到最新提交的版本应该怎么办呢,下面是解决步骤:git fsck --lost-found 命令,找出当前被丢弃的提交E:\BSgitlab\ds-address>git fsck --lost-foundChecking object directories: 100%...转载 2018-10-30 14:55:37 · 4651 阅读 · 0 评论 -
github自己的仓库给别人上传代码的操作
点击自己工程上面的Setting 接着点击 Collaborators中间会有一个登陆操作输入对面的账号点击Add collaborator ,最后也就是最关键的一步就是复制链接给对方,让他同意加进来,这样就可以让对方上传代码到自己的仓库了...转载 2018-10-30 14:52:17 · 5196 阅读 · 0 评论 -
git push 却 403错误 解决方案
原文地址:https://blog.csdn.net/sdoyuxuan/article/details/79077794解决方法 1.在代码的.git/config文件内[remote “origin”]的url的gitlab域名前添加gitlab注册时的“用户名:密码@” 2.这个用户要在对应项目下的角色是Owner或Master才行,如果是Guest、Reporter、Develo...转载 2019-02-13 17:09:09 · 2755 阅读 · 1 评论 -
Mysql优化之my.cnf参数优化
原文地址:https://www.cnblogs.com/lamp01/p/10451819.htmlMysql优化之my.cnf参数优化1、innodb_buffer_pool_sizeinnodb_buffer_pool_size 参数用来设置Innodb 最主要的Buffer(Innodb_Buffer_Pool)的大小,也就是缓存用户表及索引数据的最主要缓存空间,对Innodb...转载 2019-04-18 09:58:22 · 246 阅读 · 0 评论 -
linux 启动服务或停止服务
列子:service nginx start 和 /etc/init.d/nginx start 这两种方式都可以启动nginx服务,/etc/init.d/ 目录下存放着系统中各种服务的start/stop脚本, 我们可以通过etc/initi.d/commandOPTION 命令来调用这些脚本, 每个服务基本有如下指令:stop,start,reload,restart,force-...原创 2019-06-04 14:48:00 · 7890 阅读 · 1 评论 -
Laravel 复制表结构和查询所有表
//获取数据库中所有的表名$tables = DB::select('show tables');//将结果转换成一维数组$tables = array_column($tables, 'Tables_in_customer_system');//获取数据表users的表结构$fields = DB::select('desc users');//创建数据表users_1,将us...原创 2019-06-06 17:42:34 · 1211 阅读 · 0 评论 -
查看crontab日志
CentOS: tail -f /var/log/cronUbuntu: tail -f /var/log/cron.log注:Ubuntu 默认没有开启cron log.在/etc/rsyslog.d/50-default.conf文件中取消#cron.* /var/log/cron.log注释符号#, 并重启rsyslog sudo service rsyslog restart...转载 2019-05-22 16:26:32 · 1409 阅读 · 0 评论 -
MongoDB对内嵌文档的增删改查
原文地址:https://www.cnblogs.com/hunter2014/p/9018967.html首先构造一些数据1 db.student.insert({2 name:'hunter',3 courses:[{ name:'英语', classRoom:'1001'},{ name:'高等数学', classRoom:'1001'}]4 })...转载 2019-05-24 17:58:33 · 1786 阅读 · 0 评论 -
linux 常用命令
1.将一个用户添加到用户组中,千万不能直接用:# usermod -G group_1 user这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。应该用 加上 -a 选项:# usermod -a -G group_1 user2.查看进程打开的文件# lsof参数 -p + 进程号(查看某个进程打开的文件) lsof | grep mysql...原创 2019-05-20 18:19:40 · 199 阅读 · 0 评论 -
优化 JS 条件语句的 5 个技巧
原文地址:http://blog.jobbole.com/114671/在使用 JavaScript 时,我们会处理很多条件语句,这里有 5 个技巧可以帮助您编写更好、更简洁的条件语句。1、对多个条件使用 Array.includes让我们看看下面的例子: // conditionfunction test(fruit) { if (fruit == 'apple' ||...转载 2019-04-18 18:10:53 · 141 阅读 · 0 评论 -
mysql数据库设计之三范式
原文地址:https://www.cnblogs.com/lamp01/p/9193090.html第一范式:第二范式:正解:第三范式:示例:正解:BC范式:示例:正解:...转载 2019-04-18 11:41:59 · 207 阅读 · 0 评论 -
Linux下用户组、文件权限详解
原文地址:https://www.cnblogs.com/123-/p/4189072.html用户组在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念- 所有者- 所在组- 其它组- 改变用户所在的组 所有者一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者用ls ‐ahl命令可以看到文...转载 2018-10-10 09:50:45 · 140 阅读 · 0 评论 -
数据库设计——评论回复功能
原文链接:http://blog.csdn.net/ztchun/article/details/711061171、概述评论功能已经成为APP和网站开发中的必备功能。本文主要介绍评论功能的数据库设计。评论功能最主要的是发表评论和回复评论(删除功能在后台)。评论功能的拓展功能体现有以下几方面: (1)单篇文章的评论数量和信息展示; (2)从时间维度,按照时间倒叙的方式展示动态的用户...转载 2018-09-30 09:31:00 · 1586 阅读 · 0 评论 -
ajax上传图片
原文:http://blog.csdn.net/koastal/article/details/52994678使用FromData通过XHR上传使用ajax技术,能够以xhr的方式,实现无刷新的表单数据的提交和响应。但是这种方式仅仅能够传递一般的参数,也就是以字符串的形式传递key和value。XMLHttpRequest Level 2添加了一个新的接口FormData.利用FormData对...转载 2018-03-12 11:21:10 · 1031 阅读 · 0 评论 -
容器类的两种实现方式
原文地址:http://blog.csdn.net/koastal/article/details/72528456通过魔术方法实现classclass MagicContainer{ private $ele; function __construct() { $this->ele = []; } function __set($n...转载 2018-03-12 10:23:28 · 344 阅读 · 0 评论 -
商品秒杀问题的解决方案
原文:http://blog.csdn.net/koastal/article/details/78995885假设num是存储在数据库中的字段,保存了被秒杀产品的剩余数量。if($num > 0){ //用户抢购成功,记录用户信息 $num--;}假设在一个并发量较高的场景,数据库中num的值为1时,可能同时会有多个进程读取到num为1,程序判断符合条件,抢购成功,num...转载 2018-03-12 09:35:28 · 704 阅读 · 0 评论 -
curl命令行
原文地址:http://www.hansongda.club/post/z4c79jvgi8q1 curl命令行--强大的工具。通过各种参数,支持各种方式。 写几个常用的命令: 请求到的网站htmlcurl http://www.baidu.com 比如想在命令行上请求一个接口,post过去几个参数curl -d "a=12&b=cc&d=转载 2018-02-07 13:42:04 · 593 阅读 · 0 评论 -
PHP引用(&):函数的引用返回
原文:https://www.cnblogs.com/52php/p/5658317.html函数的引用返回先看代码:12345678910111213141516function &test() {转载 2018-02-07 13:18:14 · 2835 阅读 · 0 评论 -
PHP利用多进程处理任务
原文地址:https://www.cnblogs.com/firstForEver/p/7301630.htmlPHP多进程一般应用在PHP_CLI命令行中执行php脚本,不要在web访问时使用。多进程处理分解任务一般要比单进程更快。php查看是否安装多进程模块:php -m | grep pcntl(pcntl是process control的缩写)转载 2018-02-07 11:05:47 · 1857 阅读 · 0 评论 -
PHP简单socket编程
原文链接:http://www.cnblogs.com/thinksasa/archive/2013/02/26/2934206.html对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3.转载 2018-02-06 17:04:11 · 135 阅读 · 0 评论 -
linux 安装 redis服务
redis官网地址:http://www.redis.io/ 最新版本:2.8.3 在Linux下安装Redis非常简单,具体步骤如下(官网有说明): 1、下载源码,解压缩后编译源码。$ wget http://download.redis.io/releases/redis-2.8.3.tar.gz$ tar xzf redis-2.8.3.tar.g转载 2018-02-03 14:46:17 · 930 阅读 · 0 评论 -
数据库表设计,没有最好只有最适合(邻接表、路径枚举、嵌套集、闭包表)
【转载小小情义的博客】我们在设计数据库的时候,是否会突破常规,找到最适合自己需求的设计方案,下面来举个例子: 常用的邻接表设计,都会添加 一个 parent_id 字段,比如区域表(国、省、市、区):CREATE TABLE Area ([id] [int] NOT NULL,[name] [nvarchar] (50) NULL,[parent_i转载 2017-09-30 14:30:20 · 3019 阅读 · 1 评论 -
JS页面刷新保持数据不丢失
下面是 DOM Storage 的接口定义: interface Storage { readonly attribute unsigned long length; getter DOMString key(in unsigned long index); getter any getItem(in DOMString key); setter creator voi转载 2017-09-29 16:09:36 · 27511 阅读 · 3 评论 -
linux 定时器 crontab的应用
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。crontab的应用在实际开发中很常用,有时我们在项目中需要在指定的时间点完成一些特定的功能。我们没法在接口中来指定调用,这时我们就可以利用linux定时器crontab来完成现在我在项目中遇见这样一个问题,我需要每5分钟调用一个接口,接口会大量的操作数据库的数据更新,这样的一个接口调用 如果原创 2017-07-13 09:24:30 · 218 阅读 · 0 评论 -
PHP中extract()函数的妙用
近日在看博客时,看到一个非常好用的函数:extract(),它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具,比方说,可以很方便的提取$_POST或者$_GET的元素,对表单提交上来的内容不能不用一一赋值,直接使用下面代码:form.html 在action.php中只要使用extract()函数将$_POST原创 2017-07-14 13:37:03 · 228 阅读 · 0 评论 -
IO编程
原文: https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832151866c052395d62814708a14c4fa1c933d85e000IO在计算机中指Input/Output,也就是输入和输出。由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来...转载 2018-03-20 17:29:14 · 137 阅读 · 0 评论 -
PHP错误调试
原文地址:http://blog.csdn.net/lmjy102/article/details/60959994导读2012年至今做到哪个项目都带上这个调试函数,为我带来了不少的调试便利性基础版我见过封装几次这样封装的函数:function debug($data){ echo '<pre>'; print_r($data); echo '</pre>';}挺...转载 2018-03-21 13:04:01 · 628 阅读 · 0 评论