用PHP写sqlbulider
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...
jetbrain软件使用技巧
一、常用快捷键1.1 编辑
快捷键组合
说明
Ctrl + Space
代码自动完成提示(选择)
Alt + Enter
显示意图动作和快速修复
Ctrl + P
参数信息(在调用方法参数忘记的时候,提示)
Ctrl + Q
快速查找文件,可以查找当前类定义的文件等
Ctrl + 鼠标滑过
基本信息
Alt + Insert
生成代码…(细节需要多次操作会发现很有意思)
Ctrl + O
重写方法(在PHPStorm中是重写父类方法,会有选择框)
Ctrl + I
实现方法(一般是指实现接口类或抽象类方法)
Ctrl + Alt + T
环绕代码块 (if..else, try..catch, for, 等)
Ctrl + /
单行注释(//)
Ctrl + Shift + /
块注释 (/**/)
Ctrl + W
选择依次递增的代码块,具体使用目前来看比较少
Ctrl + Shift + W
去掉当前选择返回上一个选择,类似于撤销选择,与上面的相反
Ctrl + ...
javascript教程
写在最后欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
如何写出更优雅的代码
导读:编程是一门创造性的工作,是一门艺术。我们每天与代码打交道,为什么普通码农辛苦一年只拿十万,而高级架构师年薪百万。最主要的就是我们敲出来的代码有差别,差别在意大部分码农敲出来坏的代码,而高级架构师能敲出优雅的好的代码。我们每天都会敲代码,但当被问道什么是好的优雅的代码时,大家可能会先愣一下,然后给出的回答要么比较空泛,要么比较散,没办法简单明了地概括出来。显然,这个问题并没有唯一的标准答案,谁都可以谈论自己的理解。要成为合格的架构师最基本的要求是能写好的优雅的代码,所以必须要知道什么是优雅代码。这篇文章我来分享一下阿里系高级架构师对于好的优雅代码的理解。 一句话概括
衡量代码质量的唯一有效标准:WTF/min —— Robert C. Martin
年薪十万与年薪百万程序员写的代码的区别
Martin(Bob大叔)曾在《代码整洁之道》一书中说:当你的代码在做 Code Review 时,审查者要是愤怒地吼道:“What the fuck, is this shit?”、“Dude, What the fuck!”等言辞激烈的词语,那说明你写的代码是 Bad Code ...
好用的chrome插件,方便开发
1 EditCookiechrome链接
点击右上角的按钮,即可修改当前网页的cookie数据。
2 JSON-handlechrome链接
3 OneTabchrome链接
4 WappalyzerWappalyzer 是一个为技术人员准备的插件,它能够识别当前网站所用技术,比如使用的编程语言、数据库、Web服务器、框架和库、甚至WordPress这样的CMS等,都可以识别出来,对于喜欢研究各种工具和技术的人来说是一款非常好用的插件
5 简悦简悦是一款Chrome阅读模式插件,能够让你在阅读文章时一键进入专注模式,屏蔽掉一切不相干的网页元素,只展示正文,适合经常需要阅读网页的人使用
简悦还支持许多定制功能,包括定制阅读器样式、定制快捷键、保存与分享文章、稍后阅读等,集成你需要的工具,让工作更简单
6 Extension ManagerChrome的很多插件非常强大,有些朋友可能就会安装很多插件,让自己上网体验更好,但是插件安装一多,问题也就随着而来了,最明显的一个问题就是插件的管理,过多的插件会导致真正需要时,很难找到自己想用的插件
Extension Manager ...
Linux定时任务教程
1 教程1.1 安装crontabs123yum install contabs #通过yum安装systemctl enable crond #设置开机启动systemctl start crond #启动
1.2 查看crontab服务的状态:1service crond status
1.3 查看crontab的日志信息12tail -f /var/log/cron #crontab的日志信息放在/var/log文件夹中cat /vat/log/cron
在crontab定时执行脚本的过程中,可能会有文件权限的问题,比如:
这个时候,需要给定时任务执行的脚本一个可执行的权限,修改权限的命令如下:
1chmod 777 /home/centos/sh/test.sh #给所有权限
1.4 配置定时任务crontab的定时任务文件放在/etc/crontab文件中,直接使用vim修改即可:
/etc/crontab文件默认内容如下,其中也解释了每个符号代表什么意思:
12345678SHELL=/bin/bashPATH=/sbin:/bin:/usr ...
在centos中安装LNMP开发环境
1 安装nginx1.1 安装步骤nginx的源码下载地址: https://nginx.org/download/nginx-1.20.1.tar.gz
第一步:下载nginx源码包。12wget https://nginx.org/download/nginx-1.20.1.tar.gzyum install make gcc wget pcre-devel openssl openssl-devel -y # 安装前置依赖包
第二步:解压12tar -zxvf nginx-1.20.1.tar.gz # 先解压,然后进入解压后的目录cd nginx-1.20.1 #目录中的内容如下
第三步:安装其中configure是一个可执行文件,执行如下命令,执行:
1234./configure --prefix=/usr/l ## 执行该配置文件make # 执行完成之后,会产生对应的makefile文件make install ## 然后再安装whereis nginx ## 使用该命令测试nginx是否安装成功
第四步:启动nginx使用whereis ...
sublime教程
1 介绍
sublime更新两点:
许可证更改:Sublime Text License 密钥(注册码)不再与独立的主要版本绑定,而是对购买后 3 年内的所有更新均有效,不过使用更新的版本需要升级 License。
支持多 tab 选项卡:方便分割视图,支持通过界面或内置命令行使用。
支持 Apple Silicon 和 Linux ARM64:Sublime Text for Mac 包含对 Apple Silicon 处理器的原生支持,Linux ARM64 builds 在树莓派等设备中可用。
全新的 UI 界面
语境感知自动补全:该版本重写了自动补全引擎,使之能够基于项目中的已有代码提供智能补全。
支持 TypeScript、JSX 和 TSX
语法定义升级:语法高亮引擎全新升级,能够处理非确定性语法、多行语句、lazy embed 和语法继承。此外,内存使用降低,加载速度更快。
GPU 渲染:Sublime Text 4 稳定版在渲染界面时,能够在 Linux、Mac 和 Windows 系统中利用 GPU,从而带来流畅的 UI 界面,分辨率最高可达 8K,且消耗的能源更少 ...
Docker教程
1 安装dockerWindows用户一般通过安装docker-desktop(点击下载),下载完成以后按照提示安装wsl2,然后才可以正常启用Docker,但是使用本镜像会导致出现container exit(139)的错误。在C:\Users\(用户名)中创建.wslconfig以我为例,创建C:\Users\zhangsan\.wslconfig文件中写入下面内容:
12[wsl2]kernelCommandLine = vsyscall=emulate
1.1 Windows10启动docker失败解决办法提示信息:
1234Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException: 引发类型为“Docker.ApiServices.WSL2.WslKernelUpdateNotInstalledException”的异常。 在 Docker.ApiServices.WSL2.WslShortLivedCommandResult.LogAndThrowIfUnexpectedExitCode(String p ...
select、poll和epoll区别
一、名词解释1.1 用户空间与内核空间现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分,一部分为内核空间,一部分为用户空间。针对linux操作系统而言,将最高的1G字节(从虚拟地址0xC0000000到0xFFFFFFFF),供内核使用,称为内核空间,而将较低的3G字节(从虚拟地址0x00000000到0xBFFFFFFF),供各个进程使用,称为用户空间。
1.2 进程切换为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。
从一个进程的运行转到另一个进程上运行,这个过程中经过下面这些变化:
保存处理机上下文,包括程序计数器和其他寄存器。
更新 PCB信息。
把进程的 PCB移入相应的队列, ...