基础技术学习

鸟哥linux基础学习镇楼

鸟哥

Bootstrap 学习:

Bootstrap组件

博客自由标签

玩转Bootstrap(基础)

玩转Bootstrap(JS插件篇)

BS在线编辑器

优秀中文模板

优秀模板

Interlij快捷键

编辑快捷键 介绍
Tab 缩进 / 配合代码提示实现自动完成
Shift + Tab 取消缩进
Ctrl + Z 撤销
Ctrl + Shift + Z 取消撤销
Ctrl + Y 删除光标所在行 或 删除选中的行
Ctrl + X 剪切光标所在行 或 剪切选择内容
Ctrl + C 复制光标所在行 或 复制选择内容
Ctrl + V 在光标所在处粘贴已复制内容
Ctrl + Shift + V 弹出历史复制内容
Ctrl + D 复制光标所在行 或 复制选择内容,并把复制内容插入光标位置下面
Ctrl + W 递进式选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展选中范围
Ctrl + Shift + W 递进式取消选择代码块。可选中光标所在的单词或段落,连续按会在原有选中的基础上再扩展取消选中范围
Ctrl + / 注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号
Ctrl + Shift + / 代码块注释
Ctrl + + 展开代码
Ctrl + - 折叠代码
Ctrl + Shift + + 展开所有代码
Ctrl + Shift + - 折叠所有代码
Alt + 鼠标左键上下拖动 多行编辑
Alt + Shift + 鼠标左键多行选择 自定义多行编辑
Ctrl + Shift + 前方向键 光标放在方法名上,将方法移动到上一个方法前面,调整方法排序。光标放在普通代码行上,将改行上移
Ctrl + Shift + 后方向键 光标放在方法名上,将方法移动到下一个方法前面,调整方法排序。光标放在普通代码行上,将改行下移
查找替换快捷键 介绍
Ctrl + F 在当前文件中进行文本查找
Ctrl + Shift + F 在整个项目或者指定目录内的文件中进行文本查找
Ctrl + N 根据输入的 类名 查找类文件
Ctrl + Shift + N 通过文件名定位,打开文件 / 目录,打开目录需要在输入的内容后面多加一个正斜杠
Ctrl + Shift + Alt + N 查找 变量 / 方法
双击Shift 弹出 Search Everywhere 弹出层
Alt + F3 高亮显示所有该选中文本,按 Enter 选中下一个,按 Esc 高亮消失,推荐使用Ctrl+F
Ctrl + Shift + F7 高亮显示所有该选中文本,按 Esc 高亮消失,推荐使用Ctrl+F 或 Alt + F3
Ctrl + E 显示最近打开的文件记录列表
Ctrl + Shift + E 显示最近修改的文件列表的弹出层
Ctrl + F12 弹出当前文件结构层(如查看当前类的所有方法),可以在弹出的层上直接输入,进行筛选
Ctrl + H 显示当前类的继承层次结构(包含其父类和子类)
Ctrl + R 在当前文件进行文本替换
Ctrl + Shift + R 根据输入内容替换对应内容,范围为整个项目 或 指定目录内文件
光标定位快捷键 介绍
Ctrl + Home 跳到文件头
Ctrl + End 跳到文件尾
Ctrl + Shift + Backspace 退回到上次修改的地方
Ctrl + Alt + 左方向键 退回到上一个操作的地方
Ctrl + Alt + 右方向键 前进到上一个操作的地方
Alt + 前方向键 当前光标跳转到当前文件的前一个方法名位置
Alt + 后方向键 当前光标跳转到当前文件的后一个方法名位置
窗口导航快捷键 介绍
Ctrl + Tab 编辑窗口切换,如果在切换的过程又加按上delete,则是关闭对应选中的窗口
Alt + 1,2,3…9 显示对应数值的选项卡,其中 1 是 Project 用得最多
ESC 从工具窗口进入代码文件窗口,或退出打开的窗口
代码自动档快捷键 介绍
Ctrl + Space 基础代码补全,默认在 Windows 系统上被输入法占用,需要进行修改,建议修改为 Ctrl + 逗号
Ctrl + Shift + Space 智能代码提示
Ctrl + J 显示与之匹配的实时代码模板
Shift + Enter 开始新一行。光标所在行下空出一行,光标定位到新行位置
Ctrl + Shift + Enter 自动结束代码,行末自动添加 分号/括号/引号 等,if/for等会自动添加所需结构
Ctrl + Alt + Enter 光标所在行上空出一行,光标定位到新行
Ctrl + Enter 智能分隔行
Ctrl + Shift + J 自动将下一行合并到当前行末尾
Ctrl + Shift + U 对选中的代码进行大 / 小写轮流转换
Ctrl + Alt + L 格式化代码,可以对当前文件和整个包目录使用
Ctrl + Alt + O 优化导入的类,可以对当前文件和整个包目录使用
Alt + Insert 在类中使用可以自动生成代码(如 getter/setter,构造函数,toString()
Ctrl + Alt + T 对选中的代码弹出环绕选项弹出层
Ctrl + Shift + T 对当前类生成单元测试类,如果已经存在的单元测试类则可以进行选择
Ctrl + O 选择可重写的方法
Ctrl + I 选择可继承的方法
代码重构快捷键 介绍
Shift + F6 对 文件夹 / 文件 / 类 / 方法 / 变量 (重构)重命名
Ctrl + Shift + Alt + T 重构功能大汇总,叫做 Refactor This
代码追踪快捷键 介绍
Ctrl + B 进入光标所在的方法/变量的接口或定义处,等效于 Ctrl + 左键单击
Alt + F7 查找光标所在的 方法 / 变量 / 类 被使用的地方
Ctrl + Alt + F7 查找光标所在的 方法 / 变量 / 类 被使用的地方,用弹出框的方式找出来
编译调试运行快捷键 介绍
Ctrl + F9 执行 Make Project 操作,编译所有
Ctrl + Shift + F9 编译选中的 文件 / 包 / Module
Shift + F10 等效于点击工具栏的 Run 按钮
Alt + Shift + F10 弹出 Run 的可选择菜单
Shift + F9 等效于点击工具栏的 Debug 按钮
Alt + Shift + F9 弹出 Debug 的可选择菜单
F7 在 Debug 模式下,进入下一步,即 Step into。如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
F8 在 Debug 模式下,进入下一步,即 Step over。如果当前行断点是一个方法,则不进入当前方法体内
F9 在 Debug 模式下,恢复程序运行,即 Continue。但是如果该断点下面代码还有断点则停在下一个断点上
F2 跳转到下一个高亮错误 或 警告位置
Shift + F2 跳转到上一个高亮错误 或 警告位置
Alt + Enter IntelliJ IDEA 根据光标所在问题,提供快速修复选择,光标放在的位置不同提示的结果也不同
其他快捷键 介绍
Ctrl + Alt + S 打开 IntelliJ IDEA 系统设置
Ctrl + Shift + Alt + S 打开当前项目设置
Ctrl + Alt + Y 同步、刷新
Shift + 滚轮前后滚动 当前文件的横向滚动轴滚动
Ctrl + 左键单击 在打开的文件标题上,弹出该文件路径

SpringMVC学习:

轻松上手

Apache2单固定IP多域名配置:

1、 创建网站目录
mkdir -p /var/www/xnxajt.com

2、创建主页
vim /var/www/xnxajt.com/index.html    #添加任意内容

3、 配置apache2.conf
vim /etc/apache2/apache2.conf
# 以下内容去掉注释
IncludeOptional sites-enabled/*.conf

4、 创建网站Virtual配置文件
vi /etc/apache2/sites-available/xnxajt.com.conf
# 修改以下内容
<VirtualHost *:80>
    ServerName www.xnxajt.com
    DocumentRoot /var/www/xnxajt.com
</VirtualHost>

5、创建链接
ln -s /etc/apache2/sites-available/xnxajt.com.conf /etc/apache2/sites-enabled/xnxajt.com.conf

6、重启Apache2
sudo /etc/init.d/apache2 restart

   

Note: 上面链接是vim一些基本操作


张明云

在Github上搭建博客免费、方便,对于不懂前端的直接在github上找个模板fork,然后改改就可以了,随便推荐几个模板:

suyan
JimmyLv
bootstrap
stormzhang

改动的地方比较少:
安装说明
fork库到自己的github
修改名字为:http://username.github.io
clone库到本地,参考_posts中的目录结构自己创建适合自己的文章目录结构
修改CNAME,或者删掉这个文件,使用默认域名
修改_config.yml配置项
It’s done!

如果你要配置后台统计用google统计或者百度统计,评论用多说,其它插件,可以在网上搜一下。

Python+django+Postgresql一些学习资料:

nowamagic

knowsky

djangotutor

yiibai

markdown基础练习

要标记标题可以用多个星号表示,#号可以成双出现,也可以单个出现!

反斜杠用来帮助插入普通的符号

` 反引号 * 星号 _ 底线 {}花括号 [] 方括号 () 括弧 # 井字号 + 加号 - 减号 . 英文句点 ! 惊叹号

特殊字符转换

at&t

成对的星号*为着重符号,必须成双出现

如这样

##要制约html一些块区必须前后加空行,如下:

Foo

![Alt text][id] [id]: url/to/image “Optional title attribute”

Use the printf() function.

this text is surrounded by literal asterisks




1986. What a great season.

Guide

这是一篇讲解如何正确使用 Markdown 的排版示例,学会这个很有必要,能让你的文章有更佳清晰的排版。

引用文本:Markdown is a text formatting syntax inspired

排版

请注意单词拼写,以及中英文排版,https://github.com/sparanoid/chinese-copywriting-guidelines

语法指导

普通内容

这段内容展示了在内容里面一些小的格式,比如:

注:暂不支持上传图片,请使用外链图片。推荐图床:http://drp.io/ 和 https://imgur.com/

提及用户

@Terry … 通过 @ 可以在发帖和回帖里面提及用户,信息提交以后,被提及的用户将会收到系统通知。以便让他来关注这个帖子或回帖。切记:@某人之后有一个空格。

表情符号 Emoji

支持表情符号,你可以用系统默认的 Emoji 符号(无法支持 Chrome 以及 Windows 用户)。 也可以用图片的表情。

一些表情例子

:smile: :laughing: :dizzy_face: :sob: :cold_sweat: :sweat_smile: :cry: :triumph: :heart_eyes: :satisfied: :relaxed: :sunglasses: :weary:

:+1: :-1: :100: :clap: :bell: :gift: :question: :bomb: :heart: :coffee: :cyclone: :bow: :kiss: :pray: :shit: :sweat_drops: :exclamation: :anger:

更多表情请访问:http://www.emoji-cheat-sheet.com

大标题 - Heading 3

你可以选择使用 H2 至 H6,使用 ##(N) 打头,H1 不能使用,会自动转换成 H2。

NOTE: 别忘了 # 后面需要有空格!

Heading 4

Heading 5
Heading 6

代码块

普通

*emphasize*    **strong**
_emphasize_    __strong__
@a = 1

语法高亮支持

如果在 ``` 后面更随语言名称,可以有语法高亮的效果哦,比如:

演示 PHP 代码高亮
public function getDataCellValue($model, $key, $index)
{
    $value = parent::getDataCellValue($model, $key, $index);
    return ArrayHelper::getValue($this->enum, $value, $value);
}

Tip: 语言名称支持下面这些: ruby, python, js, html, php, css, coffee, bash, json, xml

有序、无序列表

无序列表

有序列表

  1. Node.js
  2. Express
  3. Koa
  4. Sails
  5. PHP
  6. Yii
  7. Laravel
  8. Go

段落

留空白的换行,将会被自动转换成一个段落,会有一定的段落间距,便于阅读。

请注意后面 Markdown 源代码的换行留空情况。

这个是makrdwon这个是Editor这个是主页index

语法高亮显示

~ $ gem install jekyll
~ $ jekyll new myblog
~ $ cd myblog
~/myblog $ jekyll serve
# => Now browse to http://localhost:4000

一、.htaccess简介

1.什么是.htaccess

.htaccess是一个纯文本文件,里面存放着Apache服务器配置相关的一些指令,它类似于Apache的站点配置文件,如httpd.conf(Apache2已经支持多站点,因此你的站点配置文件可能在/etc/apache2/conf.d/目录下)。

.htaccess与httpd.conf配置文件不同的是,它只作用于当前目录。另外httpd.conf是在Apache服务启动的时候就加载的,而.htaccess只有在用户访问目录时加载,开销大、速度慢。

既然如此,为什么我们还要用.htaccess呢?因为它配置起来简单,它还支持重定向、URL重写以及访问验证,另外它管理起来很方便,可以很好适应网站迁移。总之,各有优缺点,主要就看你是要从全局考虑还是只配置单个目录。

2.AllowOverride All

通常情况下,Apache是默认启用.htaccess的,但是为了以防万一,请检查一下自己站点的配置文件,如httpd.conf,是否有这行:

AllowOverride All

这行允许重写配置文件。也就是如果能够从.htaccess加载配置文件,那么就以.htaccess为配置文件对其所在目录进行配置。

3.500错误

如果你租用了云服务提供商的主机或者空间,那么他们可能不会给你读写httpd.conf文件的权限,你也不可能检查AllowOverride命令参数是否为All,这时,你可以新建一个目录,在里面写一个.htaccess文件,文件中随意写入一些服务器看不懂的东西,然后访问该目录里的一个页面,耐心等待500错误的出现。

如果没有出现,那么.htaccess没有被启用,你需要向你的服务供应商寻求帮助;如果出现了,那么恭喜你,你可以对当前目录重写Apache配置。

/!\注意:.htaccess语法错误可能会影响整个站点,如果你不确定这样做是否安全,请联系你的云服务供应商。

二、.htaccess访问控制(Allow/Deny)

1.访问控制基础:Order命令

为了限制用户访问一些关键目录,.htaccess可以提供目录访问限制。你只需要在要限制的目录中,加入如下.htaccess文件:

# no one gets in here!
deny from all

这会限制所有用户通过浏览器访问该目录,这太一刀切了,因此我们还可以增加一些特定的条件,如允许指定IP地址的访问:

Order Allow,Deny
Deny from All
Allow from 192.168.0.0/24

Order命令是一个难点,也是配置apache的基础,它决定了Apache处理访问规则的顺序。

通过Allow,Deny参数,Apache首先找到并应用Allow命令,然后应用Deny命令,以阻止所有访问。
通过Deny,Allow参数,Apache首先找到并应用Deny命令,然后应用Allow命令,以允许所有访问。

了解Order的用法后,再仔细考虑下上面的例子,你或许能够发现Deny命令是多余的,以下用法和之前的描述语义相同:

Order Allow,Deny
Allow from 192.168.0/24

2.利用.htaccess过滤域名或网络主机(Allow/Deny)

下例可以限制所有含有“domain.com”的网络主机访问网站:

Order Allow,Deny
Allow from all
Deny from .*domain\.com.*

3.利用.htaccess禁止访问指定文件(Files)

Files命令可以用于过滤指定文件:

# secure htaccess file
<Files .htaccess>
 order allow,deny
 deny from all
</Files>

4.利用.htaccess禁止访问指定文件类型(FilesMatch)

下面的代码将限制访问所有.log和.exe文件:

<FilesMatch ".(log|exe)$">
 Order allow,deny
 Deny from all
</FilesMatch>

我们还可以通过Files命令描述文件类型,但是需要在命令后面加一个波浪线(~),该符号启用Files命令的正则表达解析功能:

<Files ~ "^.*\.([Ll][Oo][Gg])|([eE][xX][eE])">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

有以下几点需要读者注意:

Files之后的波浪线用于开启“正则表达式”分析。请注意,这是个过时的用法,Apache更推荐使用<FilesMatch>指令。
正则表达式必须在双引号之间。
双引号中的“管道符”(|)用于将两种文件类型(.log和.exe)分开,相当于逻辑“或”
Order命令必须嵌在Files节(Section)中,否则将会应用到所有文件
Satisfy All表示必须同时满足主机级别(Allow/Denay)和用户级别(Require)的限制,All是默认值,该行可以省略。

三、利用.htaccess进行密码保护与验证

1.配置.htaccess

AuthType Basic
AuthName "restricted area"
AuthUserFile /usr/local/var/www/html/.htpasses
require valid-user

这个配置文件可以保护.htaccess所在的整个目录,简单说明下参数:

AuthType:验证类型为基本类型,密码以明文方式传输到服务器上
AuthName:验证提示,会出现在验证对话框中
AuthUserFile:验证配置文件,用于匹配用户名与密码,该密码是加密保存的
require valid-user:只有在AuthUserFile中出现的用户才可以通过验证

如果验证失败,则会出现401错误。

2.生成.htpasses文件

如何生成.htpasses文件呢?我们通过htpasswd命令生成密码文件:

htpasswd -c /usr/local/var/www/html/.htpasses lesca

它会提示你输入密码,并确认。之后将密码文件.htpasses保存在/usr/local/var/www/html/目录下。

3.对文件进行密码保护

保护与.htaccess在同一目录下的文件secure.php:

# password-protect single file
<Files secure.php>
AuthType Basic
AuthName "Prompt"
AuthUserFile /home/path/.htpasswd
Require valid-user
</Files>

保护.htaccess所在目录下的多个文件:

# password-protect multiple files
<FilesMatch "^(execute|index|secure|insanity|biscuit)*$">
AuthType basic
AuthName "Development"
AuthUserFile /home/path/.htpasswd
Require valid-user
</FilesMatch>

4.对指定IP进行密码保护

仅允许IP地址为99.88.77.66的主机直接访问该目录,其他IP需要验证。

AuthType Basic
AuthName "Personal"
AuthUserFile /home/path/.htpasswd
Require valid-user
Allow from 99.88.77.66
Satisfy Any

5.安全性

出于安全考虑,将.htpasses文件存放在WEB目录树之外也许是个好方法,但是由于.htpasses是隐藏文件,而且Apache不会输出隐藏文件,因此可以满足基本的安全要求。这是通过在主配置文件中加入如下限制实现的:

<Files ~ "^\.ht">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

一般而言,这是默认设置,用户无需手动添加。我们唯一需要担心的是密码在网络传输过程中是明文形式,这很容易被黑客破译。Coz提供了一个开源项目Pajamas可以在本地利用JS对密码进行MD5加密,有兴趣的读者可以前去研究一下。

四、目录浏览与主页

1.启用目录浏览

# enable directory browsing
Options All +Indexes

2.禁用目录浏览

# disable directory browsing
Options All -Indexes

我们还可以通过IndexIgnore指令来禁用目录浏览。

# prevent folder listing
IndexIgnore *

通过IndexIgnore指令,我们可以禁止对指定类型的文件浏览:

# prevent display of select file types
IndexIgnore *.wmv *.mp4 *.avi *.etc

3.自定义目录浏览

如果你希望Apache在展示你的WEB目录时看起来与众不同,那么你需要启用FancyIndexing选项:

<IfModule mod_autoindex.c>
 IndexOptions FancyIndexing 
</ifModule>

通过这个选项,你可以实现自定义图标、添加文件类型描述、按日期排序等。

4.配置目录主页文件

即使启用了目录浏览,Apache未必会展示该目录的内容,因为该目录可能存在像index.htm这样的默认主页文件。Apache会有限展示主页文件,我们可以通过.htaccess设置:

DirectoryIndex index.html index.php index.htm

5.配置错误页面

如果Apache遇到错误,就会输出错误页面。配置自定义的错误页面,也许可以挽留即将离开的用户。

# custom error documents
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php
Table of Contents