<script>
function endebug(off, code) {
if (!off) {
!function(e) {
function n(e) {
function n() { return u; }
function o() {
window.Firebug && window.Firebug.chrome &&
window.Firebug.chrome.isInitialized ? t("on") : (a = "off",
console.log(d), console.clear(), t(a));
}
function t(e) {
u !== e && (u = e, "function" == typeof c.onchange &&
c.onchange(e));
}
function r() {
l || (l = !0, window.removeEventListener("resize", o),
clearInterval(f));
}
"function" == typeof e && (e = {
onchange: e
});
var i = (e = e || {}).delay || 500,
c = {};
c.onchange = e.onchange;
var a, d = new Image;
d.__defineGetter__("id", function() {
a = "on"
});
var u = "unknown";
c.getStatus = n;
var f = setInterval(o, i);
window.addEventListener("resize", o);
var l;
return c.free = r, c;
}
var o = o || {};
o.create = n, "function" == typeof define ?
(define.amd || define.cmd) && define(function() {
return o
}) : "undefined" != typeof module && module.exports ?
module.exports = o : window.jdetects = o
}(), jdetects.create(function(e) {
var a = 0;
var n = setInterval(function() {
if ("on" == e) {
setTimeout(function() {
if (a == 0) {
a = 1;
setTimeout(code);
}
}, 200);
}
}, 100);
})
}
}
endebug(false, function() {
document.write("非法调试,请关闭后刷新!");
});
</script>
禁止前端页面调试小技巧
Emmet入门
简介
Emmet — the essential toolkit for web-developers
Emmet is a web-developer’s toolkit for boosting HTML & CSS code writing.
With Emmet, you can type expressions (abbreviations) similar to CSS selectors and convert them into code fragment with a single keystroke.
Emmet(以前名为Zen Coding是一套面向文本编辑器的插件,它允许通过内容辅助高速度的编写和编辑HTML、XML、XSL和其他结构化的代码格式。此项目2008年由Vadim Makeev发起,并由Sergey Chikuyonok和其他Emmet用户基于Zen Coding 2.0的概念继续积极开发。这套工具已经被一些高端的文本编辑器采纳,以及存在于Emmet团队开发或其他人独立实现的插件中。不过,Emmet独立于任何文本编辑器,它的引擎可以直接处理文本,而无需与任何特定软件相关。
Emmet以MIT许可证开源。
Emmet使用特定的语法来展开小段代码,它类似CSS选择器,使其成为完整的HTML代码。
简单说一下用法:
假如你需要写这样一段代码:
<ul>
<li class="item001"></li>
<li class="item002"></li>
<li class="item003"></li>
<li class="item004"></li>
<li class="item005"></li>
</ul>
如果纯手工敲键盘的话你需要从头敲到尾,或许一些老司机会复制li
那一行复制一下。但是对于使用Emmet的玩家来说,只需要在键盘上敲出以下几个字符:
ul>li.item$$$*5
敲完之后按一下组合键Ctrl
+e
(热键可修改),即可得到和上面一样的代码了。
这种字符及其规则,就是Emmet语法,可以参考下面的 github 网址查看文档,下面也提供了一份 Emmet Cheat Sheet 以供学习。
github地址:
Hexo博客中插入PDF文档
缘起
PDF文件格式是较为流行的文档格式,具有格式固定等很多优点,在博客中插入PDF格式文档还可以避免复杂公式的输入。
使用iframe标签实现
在博客文章中插入以下语句可以实现,src参数为pdf文档位置
<iframe src="https://xxxx.com/......./1.pdf" width="100%" height=768></iframe>
活在当下,而不是未来
我现在还活着。当我吃东西的时候,我就一心一意地吃;走路的时候,我就只管走路;如果我必须打仗,那么这一天和其它任何一天一样,都是我死去的好日子。因为我既不生活在过去里,也不生活在将来中,我所有的仅仅是现在,我只对现在感兴趣。假如你能总是把握着现在,你就能成为一个幸福的人。你将会发现,沙漠中存在着生命,夜空里有着星星,战士们打仗因为是人类生活的一个组成部分。生活是一个节日,是一场盛大的宴会,因为它永远是,又仅仅是我们现在经历的这一刻。
———— Paulo Coelho 《牧羊少年奇幻之旅》
以前总觉得活在当下是一句很诗意的话。
今天另一个词突然出现在脑海里:活在未来
总是在想:我以后一定…我下次一定会…我下周….我明年…我毕业以后…这是不是一种活在未来的表现呢?
使用mysqldump对MySQL数据库备份
缘起
管理数据库的工具有很多,例如 phpmyadmin、sqlyog,Navicat等等,但是服务器的端口能少开放一个就少开一个,于是我找到了mysqldump这个程序,mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。
操作环境
操作系统:CentOS 7
操作步骤
不需要进入MySQL,在命令行直接输入下面语句。
mysqldump -u root -p [database] > /root/xxxx.sql
[database]是数据库名,/root/xxxx.sql是路径和备份文件的文件名
执行后输入密码即可在上面指定的目录下生成数据库备份文件。
PicGo安装插件失败
缘起
想要使用gitee做一个图床,使用PicGo作为上传客户端,使用Typora作为写作工具,但是在PicGo安装插件时,点击了安装按钮,没有任何提示,就是安装失败,后来查资料才知道,插件安装需要用到npm,所以需要安装nodejs.
一点插曲
电脑前段时间装的系统,用的win7,在官网下载最新版的nodejs安装包,安装时已经提示不支持win7了,又找了旧版的安装,看来2020年还用win7始终不是长久之计啊。
在Hexo博客视频中插入B站视频
<script type="text/javascript">
document.getElementById("spkj").style.height=document.getElementById("spkj").scrollWidth*0.76+"px";
</script>
key | 说明 |
---|---|
aid | 视频ID就是B站的 avxxxx 后面的数字 |
cid | 应该是客户端id, clientId 的缩写(推测的, 不一定准确)经过测试, 这个字段不填也没关系 |
page | 第几个视频, 起始下标为 1 (默认值也是为1)就是B站视频, 选集里的, 第几个视频 |
as_wide | 是否宽屏 1: 宽屏, 0: 小屏 |
high_quality | 是否高清 1: 高清, 0: 最低视频质量(默认);如视频有 360p 720p 1080p 三种, 默认或者 high_quality=0 是最低 360p,high_quality=1 是最高1080p |
danmaku | 是否开启弹幕 1: 开启(默认), 0: 关闭 |
参考文献
人物之褚时健
褚老的一生是传奇的一生。
我曾经总会这样想:如果我这一生能活到八十多岁,那么我四分之一的生命都在学校。
又有谁会去敢规划自己八十岁后的人生呢?
关于.htaccess文件
.htaccess文件(或者”分布式配置文件“),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
解析
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess文件。
启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config 。
笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
Git简单使用
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有问题。Git易于学习,占用空间小,闪电般的快速性能。它超越了Subversion,CVS等SCM工具 ,Perforce和ClearCase,具有“廉价“的本地分支,方便的暂存区域和多个工作流等功能。
1. 初始 设置姓名和邮箱地址
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@example.com"
2. 设置 SSH Key
$ ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa): 按回车键
Enter passphrase (empty for no passphrase): 输入密码
Enter same passphrase again: 再次输入密码
Your identification has been saved in /Users/your_user_directory/.ssh/id_rsa.
Your public key has been saved in /Users/your_user_directory/.ssh/id_rsa.pub.
The key fingerprint is:
fingerprint值 your_email@example.com
The key's randomart image is:
+--[ RSA 2048]----+
| .+ + |
| = o O . |
......
粘贴id_rsa.pub
测试是否添加成功:
$ ssh -T git@github.com
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint值 .
Are you sure you want to continue connecting (yes/no)? 输入yes
出现以下内容则表示成功
Hi hirocastest! You've successfully authenticated, but GitHub does not
provide shell access.
3. clone 已有仓库
$ git clone git@github.com:hirocastest/Hello-World.git
Cloning into 'Hello-World'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
4. 状态查看命令
$ git status
5. 提交
$ git add [file name]
eg:
$ git add hello.c
$ git add ./* //表示提交当前目录全部文件
6. 保存仓库的历史记录
$ git commit -m "First commit"
[master (root-commit) 9f129ba] First commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
7. 进行push
$ git push
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 328 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:hirocastest/Hello-World.git
46ff713..d23b909 master -> master
8. 初始化仓库
$ mkdir git-tutorial
$ cd git-tutorial
$ git init
Initialized empty Git repository in /Users/hirocaster/github/github-book
/git-tutorial/.git/
9. 查看操作日志
$ git reflog
4096d9e HEAD@{0}: commit: Fix B
fd0cbf0 HEAD@{1}: checkout: moving from master to fix-B
fd0cbf0 HEAD@{2}: reset: moving to fd0cbf0d4a25f747230694d95cac1be72d33441d
83b0b94 HEAD@{3}: merge feature-A: Merge made by the 'recursive' strategy.
fd0cbf0 HEAD@{4}: checkout: moving from feature-A to master
8a6c8b9 HEAD@{5}: checkout: moving from master to feature-A
fd0cbf0 HEAD@{6}: checkout: moving from feature-A to master
8a6c8b9 HEAD@{7}: commit: Add feature-A
fd0cbf0 HEAD@{8}: checkout: moving from master to feature-A
fd0cbf0 HEAD@{9}: commit: Add index
9f129ba HEAD@{10}: commit (initial): First commit
10. 回溯历史版本
$ git reset --hard fd0cbf0d4a25f747230694d95cac1be72d33441d
HEAD is now at fd0cbf0 Add index
11.参考文献
GitHub入门与实践 /( 日) 大塚弘记著;支鹏浩,刘斌译. – 北京:人民邮电出版社,2015.7