自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dodoing的博客

记录与分享

  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

原创 ChatGPT有多强?真的能替代程序员?一起来看看!

最近网络上很多文章都在说ChatGPT,神乎其神,我也试着玩了一下,这里分享下过程。从结果来说,它离替代程序员还有很长的一段路要做。因为程序的工作虽然是由各个小模块组成,但是一个系统性的大逻辑,可能是现阶段的它所无法触及的。毕竟一个系统由n个小模块,以及模块间的协作区完成工作。就算它能帮助完成一些模块的编码,但是对于系统需求的转化,还是需要程序员去跟进。对于高级和中级程序员来说,它是一款非常...

2022-12-14 22:09:00 4370

原创 在windwos创建的脚本文件在linux环境中无法执行的问题

原因:在windows下创建的文件采用的文件模式是dos,由于不同系统对有些字符的定义不同,比如对于回车符的定义:Windows:0D0AUnix/Linux: 0AMAC: 0D所以在windows下创建的sh文件在linux环境无法直接执行。解决方式1:在windows的编辑器中转换,以notepad++为例子:打开文件 -> 编辑 -> 文档格式转换 -> ...

2021-07-28 14:03:00 908

原创 PHP + Redis 实现定任务触发

定时任务,是很常见的业务场景了。比如说游戏服的定时开服,定时发消息,定时发邮件等等。定时任务的触发方式有很多,有的人借助 linux 系统的 crontab 服务,但是 crontab需要每分钟去轮询,所以 crontab 会有一分钟误差。也有的人选择自己写一个定时器去处理定时任务。这里我们介绍一种通过订阅 redis 键过期的消息回调来触发定时任务的方式。具体原理利用 redis 键事...

2021-02-25 12:40:00 286

原创 测试PHP几种方法写入文件的效率与安全性

前置条件:所有测试生成的都写入一个新文件,如果是同一个文件名,那么每次执行脚本前,需要把该日志文件删掉,确保每次执行时日志文件都是重新创建的。每次执行都是往日志文件中使用多进程写入90000行日志。每种方式分成四种对照组测试:30*3000 加锁(即30个进程每个进程写入3000行,总共90000行,写入时需对日志文件上独占锁)。30*3000 不加锁(即30个进程每个进程写入3...

2021-02-05 20:03:00 557

原创 简析小黑是如何盗取cookie登录用户账号

都说cookie不安全,现在通过一个很简单的例子来说明它为什么不安全。对于cookie的概念这里就不做阐述了。前端截取cookie的方式有多种,下面介绍一种比较简单的手法。首先:小黑会在各种网站发布帖子,然后在某些特定的地方添加吸引人点击的内容,而该内容会有一些超链接。比如在A网站,小黑在发布的内容中加个超链接:<a href=”JS_URL” target=”_blan...

2020-05-21 17:17:00 1737

原创 一个'&'引起md5签名不一致问题

有时会遇到这样一个问题,本地和接口在验证数据签名时,明明两端打印出来的两个字符串一模一样,但是md5加密后的两个密文却不一样。例如:本地字符串:$str = "a=1&amp;b=2&amp;c=3";此时将数据请求到接口,接口获取到的数据可能会变成这样:$str = "a=1&amp;amp;b=2&amp;amp;c=3";那是因为在html中  '&amp;amp;'  就是  '...

2018-12-10 14:05:00 1126

原创 linux学习:curl与netcat用法整理

&#13; CURL语法: curl [option] [url]常用参数:-A/--user-agent &lt;string&gt; 设置用户代理发送给服务器-b/--cookie &lt;name=string/file&gt; cookie字符串或文件读取位置-c/--cookie-jar &lt;file&gt; ...

2018-11-15 17:33:00 1346

原创 swoole+websocket+redis实现一对一聊天

&#13; 如同web端的QQ和微信一样,这是一个web端的聊天程序。环境:ubuntu + php + swoole扩展 + redis + mysqlRedis 实现每个连接websocket的服务都唯一绑定一个用户。通过 用户账号 = websocket fd 存到redis中。Mysql 实现离线消息池。如果一个用户不在线,则其他用户发送给他的消息暂时存储在my...

2018-09-05 19:01:00 995 1

原创 使用COOKIE实现登录 VS 使用SESSION实现登录

&#13; 注:本文使用的代码基于PHP,其他语言逻辑同理。 一:使用COOKIE实现登录验证使用cookie实现登录的方式,主要通过一些单向的加密信息进行验证。比如admin用户登录了之后,服务端生成一个cookie值:admin_1533006028_ bbf2c2b1ec5cfb62d0a30438d8d0305c ,这个cookie值包含用户名,cookie到期...

2018-08-06 12:43:00 631

原创 巧用PHP中__get()魔术方法

PHP中的魔术方法有很多,这些魔术方法可以让PHP脚本在某些特定的情况下自动调用。比如 __construct() 每次实例化一个类都会先调用该方法进行初始化。这里我们讲一下__get() 魔术方法的使用。读取不可访问属性的值时,__get() 会被调用。也就是,当想要获取一个类的私有属性,或者获取一个类并为定义的属性时。该魔术方法会被调用。下面有段代码:class Model{...

2018-07-27 19:02:00 371

原创 用户表分表原理

当用户数量达到百万甚至千万级别的时候,可能无法靠单标满足现有需求。此时常用的处理方式就是分库分表。这里介绍一个简单的分表方法。对用户进行分表,首先要解决的是将一个用户分配到那个表,然后如何知道去哪个表查询该用户的数据。解决了这个两个问题。无论将该用户的数据放在哪个表都无所谓。首先来看一个方法:function getHash($uid) { return sprintf...

2018-06-09 13:54:00 3310

原创 linux学习:用户管理

一、管理用户(user)主要工具命令useradd    注:添加用户adduser    注:添加用户passwd     注:为用户设置密码usermod    注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;pwcov      注:同步用户从/etc/passwd 到/etc/shadowpwck       注:pwck是校验用户配置文件...

2018-05-05 11:16:00 121

原创 linux学习:网络(防火墙)及系统安全相关命令学习

指令: top、htop、free、pstree、lsof、ifconfig、w3m、tcpdump、netstat、ufw网络:top      #查看内存,cpu,进程之间的状态。htop        #在top的基础上更好显示(执行sudo apt-get install htop安装)free     #查看当前的内存使用情况free -m | grep Mem | aw...

2018-03-05 18:59:00 239

原创 MySQL语句技巧

1、查询时将时间戳格式化显示:SELECT  FROM_UNIXTIME(1234567890, '%Y-%m-%d %H:%i:%S')  FROM  table_name2、最高效的删除重复记录方法 ( 因为使用了ROWID)例子:DELETE  FROM  EMP E  WHERE  E.ROWID &gt; (SELECT MIN(X.ROWID) FROM  EMP X ...

2017-10-25 19:34:00 152

原创 实习那些事儿

  转眼都毕业一年多了,时光荏苒。一些学弟学妹们也要找工作找实习了。最近一个师弟问我应该怎样充实的度过实习生活。聊了大半天,总结起来就4个字:埋头苦干。  话说回来,2015年11月初开始找实习,拿了三个offer。第一个是能源公司的技术部,做一些日常技术维护和公司一些B/S系统开发,该公司正在准备上市,感觉也还不错。面试通过了,并且已经通知下周一可以入职了,结果到入职前的那个周五,一...

2017-09-30 18:52:00 253 6

原创 shell 环境下MySQL的基本操作指令总结

&#13; 一、对数据库的基本操作 show databases;                      //列出数据库use database_name;               //使用database_name数据库create database data_name;   //创建名为data_name的数据库drop database data_name;  ...

2017-08-04 18:25:00 196

原创 linux学习:归档,备份及进程相关命令用法整理

指令:tar、zip、gzip、unzip、rsync、scp、ps、kill、nohup压缩tar 归档命令,不具备压缩功能tar -cf output.tar file1 file2 file3 folder1...    #参数-c表示创建文件,-f表示指定文件。tar -cf output.tar *.txt               #归档所有.txt文件tar -rv...

2017-06-12 19:40:00 290

原创 Docker简介以及使用docker搭建lnmp的过程(多PHP版本)

一、Docker基础Docker安装Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。通过 uname -r 命令查看你当前的内核版本通过 apt-get install docker.io 安装dockerDocker常见命令容器相关操作docker create # 创建一个容器...

2017-06-07 19:25:00 296

原创 linux学习:特殊符号,数学运算,图像与数组与部分终端命令用法整理

指令:let、expr、array、convert、tput、date、read、ln、apt、系统信息一:特殊符号用法整理算术比较-eq 等于-ne 不等于-gt 大于-lt 小于-ge 大于或等于-le 小于或等于-a 逻辑与 and &amp;&amp;-o 逻辑或 or ||[ $var -eq 0 ]    #当$var等于0时,返回真[ $var -n...

2017-06-06 19:22:00 123

原创 linux学习:文件处理相关命令用法整理(正则表达式)

指令:ls、cat、du、rename、dirname、basename、sort、diff、seq、head、tail、tree、chmod、cut、paster、正则一:统计文件大小,行数,字符数相关命令统计文件行数、单词数和字符数wc file        #统计文件行数,单词数,字符数wc -l file         #统计文件行数cat file | wc -l   ...

2017-06-05 19:52:00 123

原创 linux学习:wget与cURL用法整理

指令:wget、curl、lynx、axelwget url        #下载数据写入文件,下载的文件名与url中的文件名保持一致,下载信息或进度写入stdoutwget url1 url2 url3    #下载多个文件wget ftp://example.com/test.img -o download.img -o log #下载时日志或进度写入日志文件,输出文件为down...

2017-05-27 16:51:00 302

原创 linux学习:wget与lynx用法整理

指令:wget、lynx、axelwget url       #下载数据写入文件,下载的文件名与url中的文件名保持一致,下载信息或进度写入stdoutwget url1 url2 url3 #下载多个文件wget ftp://example.com/test.img -o download.img -o log #下载时日志或进度写入日志文件,输出文件为download...

2017-05-27 16:51:00 156

原创 linux学习:xargs与grep用法整理

xargsxargs命令应该紧跟在管道操作符后面,以标准输入作为主要的源数据流。cat test.txt | xargs -n 3                    #将单行划分为多行,每行3个字echo "splitxsplitxsplitxsplitx" | xargs -d x      #使用-d将x作为输入定界符(默认是使用IFS作为输入定界符的)echo "splitxs...

2017-05-22 21:04:00 1013

原创 linux学习:sed与awk与tr用法整理

流编辑器:sedsed 's/pattern/replace_string/' file    #从给定文本中的字符串利用正则表达式进行匹配并替换每一行中第一次符合样式的内容sed 's/text/replace/' file &gt; newfile    #替换每一行中第一次符合样式的内容并将替换结果重定向到新文件sed -i 's/test/replace/' file  ...

2017-05-20 16:43:00 284

原创 linux学习:find用法整理

find path -option [ -print ] [ -exec -ok command ] {} \;path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print 将查找到的文件输出到标准输出-exec command {} \; 将查到的文件执行command操作,{} 和 \;之间有空格;{}标识匹配到的文件路径或文件名-...

2017-05-10 13:31:00 100

原创 JavaScript 中的FileReader对象(实现上传图片预览)

方法一:使用js的FileReader对象1、FileReader对象简介1.检测浏览器对FileReader的支持 if(window.FileReader) { var fr = new FileReader(); // add your code here } else { alert("Not supported by your br...

2017-05-06 16:57:00 104

原创 PHP中递归的实现(附例子)

递归函数是一种调用自己的函数。写递归函数时要小心,因为可能会无穷递归下去。必须确保有充分的方法来终止递归。一:使用参数引用完成递归函数。操作的是同一块内存地址。&lt;?php$i=1;function test(&amp;$i){ echo $i; $i++; if ($i &lt; 10){ test($i); }}te...

2017-02-05 13:13:00 335

原创 Git 与 SVN 命令学习笔记

一:Gitgit config --global user.name "you name"   #设置用户名git config --global user.email "you email"  #设置用户邮箱git config --global color.ui true  #设置git适当地显示不同颜色git config --global alias.st status  #为...

2017-02-05 13:02:00 124

原创 Apache服务器在80端口配置多域名虚拟主机的方法

我们在配置一台服务器的时候,如果只运行一个站点,往往过于浪费资源。Nginx和Apache都可以通过配置虚拟主机实现多站点。配置虚拟主机的方式主要有两种,一种是多个不同端口对应的多个虚拟主机站点,一种是同一端口对应多个不同域名的虚拟主机站点。这里我用80端口为例,在apache配置多个不同域名虚拟主机。 试验环境:windows+apache (linux+apache同理) 1...

2016-12-05 21:03:00 220

原创 MySQL数据表range分区例子

某些行业数据量的增长速度极快,随着数据库中数据量的急速膨胀,数据库的插入和查询效率越来越低。此时,除了程序代码和查询语句外,还得在数据库的结构上做点更改;在一个主读辅写的数据库中,当数据表数据超过1000w行后,那查询效率真的很让人抓狂。就算早前建了索引,也很难满足用户对于系统查询效率的体验。优化方案是分表或分区。至于分区的原理以及分区和分表的区别,搜索一下,都介绍的很详细,这里就不作...

2016-12-02 13:21:00 117

原创 MySQL主从复制技术的简单实现

配置环境:主从服务器操作系统均为 ubuntu15.10主从服务器MySQL版本均为 MySQL5.6.31主服务器IP:192.168.0.178从服务器IP:192.168.0.145主从服务器之间都是相互能ping通的。主服务器配置:1、启用二进制日志,设置服务器唯一ID;2、修改 /etc/mysql/my.cnf  “bind-address = 0.0.0....

2016-12-01 13:24:00 94

原创 Ubuntu系统下lnmp环境搭建和Nginx多站点配置

最近需要使用Ubuntu作为服务器搭建Lnmp环境,顺便将操作过程写下来,与大家分享。如有不足之处,欢迎大家提出不同意见。(本文默认读者已经熟悉相关linux命令的使用,比如创建文件和文件夹,编辑文件的命令等。)操作系统:Ubuntu 15.10本系统是新装的,所以没有Nginx、mysql和php环境。如果之前有装过这些环境的还得先把之前的软件先卸载。 一、安装MySQL安装...

2016-11-04 22:59:00 231 2

原创 浅析PHP中for与foreach两个循环结构遍历数组的区别

遍历一个数组是编程中最常见不过的了,这里跟大家讨论下for和foreach两种方法。用这两种方法执行遍历的场景太多太多了,这里我们只针对以下两个数组作为例子来讨论。所谓管中窥豹,多少能理清一点两者的区别。 首先,我们先准备两个用于遍历的数组:$arr1=array(1=&gt;'a', 3=&gt;22, 5=&gt;'b', 4=&gt;'c', 8=&gt;'d');$arr...

2016-11-03 14:22:00 123

原创 超链接跳转到不同页面的锚点链接

在做前端的时候,有时会遇到这样一种情况:要在此页面跳转到另一个页面的某个地方。这种情况,就可以使用超链接和锚点链接进行调转了。比如要从index.html页面的某个超链接调转到single.html页面的底部,则此时可在single.html页面底部添加一个锚点。然后在index.html的超链接里加上此锚点的名称即可。 index.html页面的超链接:&lt;a href...

2016-04-05 14:07:00 6465

原创 超链接的各种功能

超链接的各种功能: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>超链接的各种功能</t...

2016-04-05 14:07:00 286

php-7.3.0RC1-nts-Win32-VC15-x64

php7.3的候选版本,目前的最新版本,据说比php7.0还要快25%。

2018-09-21

c语言配有图片和音乐的打字母游戏

使用C语言实现的打字游戏,类似于金山打字之类的,可供C语言学习之用。

2018-09-20

严蔚敏版数据结构所有算法代码

数据结构与算法及相应的代码,包括线性表链表、排序、图等结构算法。

2018-09-20

kibana-6.3.0-windows-x86_64

elasticsearch-6.3.0对应的windows环境下的数据分析平台:kibana-6.3.0-windows-x86_64

2018-09-20

kibana-6.3.0-linux-x86_64

elasticsearch-6.3.0 对应的开源的分析与可视化平台linux版:kibana-6.3.0-linux-x86_64

2018-09-20

空空如也

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

TA关注的人

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