Linux学习-基础知识部分

这里罗列一些关于学习Linux的基础准备工作,来自《鸟哥的私房菜》,近期准备重新刷一遍,巩固一下Linux的知识和操作。

计算机概论与硬件相关知识

了解计算机的概论,包括一些基本理论知识;以及计算机相关的硬件知识,包括计算机的组成。

Linux的安装和命令

选择一款Linux的发行版并尝试安装。

Linux操作系统的基础技能

了解用户、用户组、权限、程序等概念。

务必学会vi编辑器

所有Unix Like的系统均安装了vi编辑器,平时操作修改配置文件都可能使用到。

Shell和Shell脚本的学习

玩命令行必须要经历的一步,主要包括“正则表达式”、“管道命令”与“数据流重定向”。

软件管理

玩Linux的时候,免不了要自己安装驱动程序或者额外的软件,Tarball/rpm/dpkg等软件包管理工具的使用就很重要了。

网络基础

“IP”、“路由”等概念需要了解,以及再进一步的TCP/IP协议。

参考

[鸟哥的私房菜]
计算机基础
网络基础

程序员养生和每日饮食习惯

作为程序员,刚开始工作的几年的,不太注意饮食习惯,有一餐没一餐或者不定时的饮食习惯,会导致胃消化能力变差,甚至得慢性胃炎。

慢慢的,发现胃难受,开始关注养胃,早知道一开始就注意饮食习惯,这里就是给后续的程序员做一些程序员的饮食习惯的参考。

你和我一样,要开始注重养生和饮食了!!!

大原则

影响健康的几点因素

心态,饮食,健身,睡眠,金钱

饮食要点:

这是盛传的一句话,适合要养胃的朋友们:

早吃好,午吃饱,晚吃少。

总体好消化; 早晚餐量少、有营养,午餐吃饱量稍多些。

整体的每顿尽量不要超过7分饱。

日常三餐

以下是我列举的饮食选择,作为平日里每顿饮食的选项。

早餐: 红枣大米粥、鸡蛋。(可选: 玉米、面包、紫薯、燕麦、黑芝麻糊、小米粥、小份水果、牛奶)

午餐: 肉类(猪肉、鸡肉、鱼肉、鸭肉、羊肉、牛肉)、蔬菜(各类蔬菜)、米饭(可选: 面条)

晚餐: 红枣大米粥、肉类或者蔬菜(可选:面条,馄饨,水饺)

水果和零食

除了一日三餐的正常饮食之外,需要一些水果和坚果零食来进行相应的补充。

水果可补充我们所需要的维生素,坚果可补充一些微量元素。

早睡早起

也许上大学和刚毕业的时候,觉得年轻无极限,通宵加班神马的都无所谓,可这是在透支身体,时间会慢慢让你认识到的。

因此,早点养成早睡早起的习惯,对你的身体会更有益。

我现在开始养成晚上11点前后入睡,早睡在7点前后醒来,中午可能会午睡半个小时,一天的精力感觉比较充沛。

结语

愿大家开始注重养生,拥有健康!

-2017.03.16初稿

百度地图获取可视区域及回调事件的用法简介

记录使用百度地图获取可视区域、回调事件的用法。

可视区域

使用百度地图获取可视区域的坐标点的方法:

原理:通过地图状态方法的接口getBounds()可获取到Bounds对象,包含东北和西南角的坐标点。

1
2
3
4
5
6
7
8
9
10
11
12
13
// 获取地图可视化区域的坐标点
function getViewAreaPoint(map) {
var bounds = map.getBounds();
console.log(bounds);
var swPoint = bounds.getSouthWest();
var nePoint = bounds.getNorthEast();
var nwPoint = new BMap.Point(swPoint.lng, nePoint.lat);
var sePoint = new BMap.Point(nePoint.lng, swPoint.lat);
console.log(swPoint);
console.log(nePoint);
console.log(nwPoint);
console.log(sePoint);
}

事件监听

原理:定义事件回调函数,添加事件的监听。

以click事件为例:

1
2
3
4
5
6
7
8
9
10
11
map.addEventListener("click", showInfo);

function showInfo(e) {
console.debug(e);
console.debug(e.type);
console.debug(e.target);
console.debug(e.point);
console.debug(e.pixel);
console.debug(e.overlay);
// console.debug(e.point.lng + ", " + e.point.lat);
}

百度地图的JavaScript类参考中列举click事件的说明:
事件: click
参数:(type, target, point, pixel, overlay)
描述:左键单击地图时触发此事件。

参数的说明:
type: 事件类型(“onclick”)
target: 地图实例
point: 经纬度坐标点Point对象
pixel: 像素坐标
overlay: 覆盖物对象

【以上】

disable超链接的css样式

想要设置disabled的超链接,让用户不可点击,可添加一个class来设置。

1
2
3
4
5
6
7
.disabled-link {
pointer-events: none;
cursor: default;
opacity: 0.6;
}

<a href="#" class="disabled-link">link</a>

注意:
pointer-events这个属性对浏览器兼容性有一定的要求。

IE11
Edge 14
Firefox 51
Chrome 49
Safari 10
Opera 43

【以上】

自定义li的css样式

li的默认样式有几种,我们想要自定义li的样式,例如定义颜色或者显示的图标,以下是操作的两种方法。

方法一:

修改的原理,取消list默认的style,并通过伪元素before来设置新的样式。

1
2
3
4
5
6
7
ul {list-style: none}

li::before {
content: "•"; color: red;
display: inline-block; width: 1em;
margin-left: -1em
}

特殊符号的一些输入可使用Unicode编码:• = “\2022”, ◦ = \25E6” and ▪ = “\25AA”

方法二:

修改的原理,通过自定义的class来区分标点和文字的颜色。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.listStyle {
color: red;
}

.listStyle p {
color: black;
}

<ul class="listStyle">
<li>
<p><strong>View :</strong> blah blah.</p>
</li>
<li>
<p><strong>View :</strong> blah blah.</p>
</li>
</ul>

参考:

开源协议系列之GPL

这个系列文章会收集和翻译一些常用的开源协议,方便对开源代码使用的考虑因素,本文为GPL协议。

阅读更多

开源协议系列之Mozila

这个系列文章会收集和翻译一些常用的开源协议,方便对开源代码使用的考虑因素,本文为Mozila协议。

阅读更多

开源协议系列之Apache

这个系列文章会收集和翻译一些常用的开源协议,方便对开源代码使用的考虑因素,本文为Apache 2.0协议。

阅读更多

开源协议系列之BSD

这个系列文章会收集和翻译一些常用的开源协议,方便对开源代码使用的考虑因素,本文为BSD协议。

英文版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
* Copyright (c) 1998, Regents of the University of California
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the University of California, Berkeley nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

中文版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
* Copyright (c) 1998 著作权由加州大学董事会所有。著作权人保留一切权利。
*
* 这份授权条款,在使用者符合以下三条件的情形下,授予使用者使用及再散播本
* 软件包装原始码及二进位可执行形式的权利,无论此包装是否经改作皆然:
*
* * 对于本软件源代码的再散播,必须保留上述的版权宣告、此三条件表列,以
* 及下述的免责声明。
* * 对于本套件二进位可执行形式的再散播,必须连带以文件以及/或者其他附
* 于散播包装中的媒介方式,重制上述之版权宣告、此三条件表列,以及下述
* 的免责声明。
* * 未获事前取得书面许可,不得使用柏克莱加州大学或本软件贡献者之名称,
* 来为本软件之衍生物做任何表示支持、认可或推广、促销之行为。
*
* 免责声明:本软件是由加州大学董事会及本软件之贡献者以现状提供,
* 本软件包装不负任何明示或默示之担保责任,包括但不限于就适售性以及特定目
* 的的适用性为默示性担保。加州大学董事会及本软件之贡献者,无论任何条件、
* 无论成因或任何责任主义、无论此责任为因合约关系、无过失责任主义或因非违
* 约之侵权(包括过失或其他原因等)而起,对于任何因使用本软件包装所产生的
* 任何直接性、间接性、偶发性、特殊性、惩罚性或任何结果的损害(包括但不限
* 于替代商品或劳务之购用、使用损失、资料损失、利益损失、业务中断等等),
* 不负任何责任,即在该种使用已获事前告知可能会造成此类损害的情形下亦然。

参考