网站
文章平均质量分 52
tim5wang
Geek极客精神可以追溯到什么时候?
展开
-
Shell 一个简单的服务部署启动重启检查和保活脚本
起初为了写一个守护进程,定时监控软件死活,其核心在于使用ps 命令加上字符串过滤命令判断进程是否还存活。有了这个基础就能顺便写一个较为通用的服务部署脚本第一个脚本,定时任务保活第二个脚本,服务部署、启动、停止、查看状态核心代码为:ps -ef | grep "$App" | grep -v grep | wc -l原创 2022-03-19 15:18:33 · 1377 阅读 · 0 评论 -
Redis缓存/NoSQL使用经验笔记,分布式锁
背景:本人主要在php项目中使用redis,使用场合包括: 1. 缓存作用,对于需要被频繁读取,但是更新不频繁的数据,在更新数据后更新缓存,读取数据从缓存读取。 2. NoSQL作用,开发过java web项目再做php开发的童鞋肯能会遇到一个困惑,比如想实现统计网站访问次数,java可以用application超全局变量实现,而php-fpm似乎不存在比SESSION作用域更广的超全局变...原创 2018-08-31 21:07:02 · 398 阅读 · 0 评论 -
记两次“删跑路”经历
“MySQL从删库到跑路”听起来很不可思议很难发生,但是无奈的事情事实上很容易发生,可能没那么严重而已。第一次:旧的服务器版本不好使,并且想修改运维方案,需要给云服务器换系统。于是使用一个开源的SSH客户端finalshell从服务器上备份网站到本地,wordpress二次开发的网站,一些微信公众号网页小应用,一些用户图片等等,总共有两三百兆的零碎文件。选择了整个文件夹进行传输,经过了很久...原创 2018-10-05 11:46:57 · 991 阅读 · 0 评论 -
自己实现的一个PHP错误异常日志捕获类
调试代码调的心累,于是写一个Log类,用于记录错误日志特性:输出到控制台/文件/自定义方法可以通过错误等级进行过滤易用废话不多说,上代码:<?php/** * Created by PhpStorm. * User: tim * Date: 2019/1/30 * Time: 15:41 * 功能:日志函数,用与捕获错误或者输出信息到指定的输出流。 * 用法...原创 2019-01-31 17:41:29 · 1168 阅读 · 0 评论 -
[运维] 内网穿透最佳实战-基于frp
序言: 几年前写了一篇全面的,但是涉及管制被删,最近发现身边不少朋友也在用这个(英雄所见略同),而且发现新版本的frp可以用来实现负载均衡了(而且是可以跨机房的),感觉很赞,所以打算重新写一篇关于它的文章,这篇文章只介绍frp这个工具的使用方法,不涉违法。什么是内网穿透:如你在家里的电脑的ip地址是192.168.1.100, 有这个ip你是无法在公司通过这个局域网ip访问到家里的电脑的,...原创 2019-03-01 14:01:45 · 1342 阅读 · 1 评论 -
谷歌浏览器Chrome插件扩展开发教程
下文是我看到的一篇很好的Chrome扩展开发攻略,感觉很有价值,内容详尽,遂转载,为了尊重版权,推荐您移步至原文阅览。原文由小茗同学发表于小茗同学的博客园:【干货】Chrome插件(扩展)开发全攻略1. 写在前面我花了将近一个多月的时间断断续续写下这篇博文,并精心写下完整demo,写博客的辛苦大家懂的,所以转载务必保留出处。本文所有涉及到的大部分代码均在这个demo里面:https:/...转载 2019-06-08 11:30:00 · 5603 阅读 · 1 评论 -
JPA自定义原生SQL语句的查询结果如何转化为对象,三种方法
写在最前面(最近的感悟)这半年太忙了,好久没写博客了。写久了PHP项目,忽然想拾一拾JAVA项目,因为JAVA的消息队列、日志、分布式方案比较多,可以自己实现的功能比较多,具有比较高的性能,稳定性好,而且考虑到JAVA的开源中间件比较丰富,大数据生态多是JAVA的,适合搞大型项目,于是最近的项目后端采用了 Spring boot + JPA + Redis + MySQL,前端使用 Vue +...原创 2019-06-08 11:42:17 · 13914 阅读 · 5 评论 -
Libevent,libuv,libev,IOCP,asio,muduo,tbnet,epoll/select/poll 是什么?
Libevent、libev、libuv三个网络库,都是c语言实现的异步事件库Asynchronousevent library)原创 2019-08-20 17:51:38 · 1865 阅读 · 0 评论 -
CSS布局Flex和Grid方法
说到布局,再不用框架里的格栅系统的前提下,我用了好多年css + div布局方法,float , position,@media响应式,table方法,可以说挺熟练了,能应对平时的各种布局需求。直到最近偶然看到一篇flex的布局方法,我才知道自己out了,也终于明白为什么两年前一次面试问我布局用什么,我回答div,float,position这些,面试官不满意的原因了。这里也不具体介绍这些方法了...原创 2019-09-29 16:05:17 · 1420 阅读 · 0 评论 -
vue如何自我感觉良好地引入其他js文件
项目使用 vue-cli + webpack技术做开发,项目中有时需要引入非nodejs模块的js文件。经过摸索,采用下面的方式引入: 在build/webpack.base.conf.js里面的module.exports下加入:resolve: { extensions: ['.js', '.vue', '.json'], alias: { ...原创 2018-06-17 21:28:27 · 1778 阅读 · 0 评论 -
清除浮动导致的父容器高度塌陷
这个问题时常遇到,要用到了总是用不对,绕点弯路,还好很好搜到,这里给自己做个demo,方便下次使用。 <style> *{ padding: 0; margin: 0; } article { height: 20px; backgrou...原创 2018-06-20 22:10:41 · 249 阅读 · 0 评论 -
php实现文件夹访问,最基础,php在线文件管理系统
php实现的文件夹浏览: <?phpdefine('ROOTPATH','/tftp/data/');$spath = isset($_REQUEST)&&isset($_REQUEST['path'])?$_REQUEST['path'].'/':'';$path = ROOTPATH.$spath;echo '<hr/>'.xls($path);// 扫描文件夹子项目functio原创 2017-11-22 12:18:30 · 2756 阅读 · 0 评论 -
ajax的弊端 爬虫难以爬取 搜索引擎不易收录 解决办法 pajax hijax
Javascript对搜索引擎爬虫的影响以及SEO策略 当前主流的搜索引擎的爬虫基本上都采用类似文本浏览器Lynx的技术,因此滥用Javascript代码可能会对搜索引擎的抓取操作造成不好的影响。例如,Google和Yahoo的官方文档中说:如果在html中过多的使用 JavaScript、Cookie、会话 ID(session ID)、框架(frame or iframe)、DHTML 或原创 2017-08-05 17:05:37 · 4094 阅读 · 0 评论 -
微信开发入门
基本原理: 通信原理: 微信后台发送消息是一个POST请求,但和普通的POST请求不同的是,首先,URL会带上signature、timestamp、nonce这3个参数:POST http://www.example.com/weixin?signature=xxx×tamp=123456&nonce=123然后,HTTP请求的BODY是一个不规范的XML:<xml> <To原创 2017-08-28 21:36:51 · 481 阅读 · 0 评论 -
认识工作流框架
工作流框架是公司开发常用的技术:工作流概念工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。工作流管理系统(Workflow Management System, WfMS)是一个软件系统,它完成工作量的定义和管理,并按照原创 2017-08-07 08:48:04 · 3927 阅读 · 0 评论 -
MySQL忘记密码或者因为修改mysql.user导致无法登陆解决方法
手贱改了mysql.user表信息,还改错了,导致无法登陆,解决方法如下: (适用于其他因权限无法登陆的情况)# 1. 后台运行mysld_sage 使得可以跳过安全验证登陆到数据库(/usr/bin/mysqld_safe --skip-grant-tables &)# 2. 登陆mysql,把mysql改正常,或者把数据库备份出来mysql# 3. 结束前面后台运行的进程ps -e原创 2017-11-20 15:27:02 · 922 阅读 · 0 评论 -
windows下mysql5.7,php7,apache24绿色版多站点环境配置
1. mysql的配置my-default.ini文件需要配置basedir和datadir两个路径位置,分别是mysql根目录和里面的data目录。添加bin目录到系统path变量,也可不配置,而是使用命令的完整路径。以管理员权限运行下面命令:mysqld -installnet start mysql# 如果失败,用mysqld -remove 移除后重装,如果不配置系统环境变量,需原创 2017-02-19 02:11:33 · 575 阅读 · 0 评论