File tree Expand file tree Collapse file tree 4 files changed +107
-11
lines changed Expand file tree Collapse file tree 4 files changed +107
-11
lines changed Original file line number Diff line number Diff line change 26
26
27
27
3 . 1969年:MULTICS项目失败,Ken Tompson赋闲在家,为了玩“Space Travel”游戏用汇编语言在当时已经被淘汰的PDP-7上开发了Unics。
28
28
29
- ![ ] ( ./res/ken_young.jpg )
30
-
31
- ![ ] ( ./res/pdp-7.png )
32
-
33
29
> 注:很难想象,Unix这么伟大的系统,居然是一个赋闲在家的程序员(关键是老婆回娘家还带上了孩子)在一台被淘汰的设备上为了玩游戏开发出来的。
34
30
35
31
4 . 1970年~ 1971年:Ken Tompson和Dennis Ritchie用B语言在PDP-11上重写了Unics,并在Brian Kernighan的建议下将其更名为Unix。
36
32
37
- ![ ] ( ./res/dmr.png )
38
-
39
33
![ ] ( ./res/ken-and-dennis-pdp-11.png )
40
34
41
- ![ ] ( ./res/pdp-11.jpg )
42
-
43
35
5 . 1972年~ 1973年:Dennis Ritchie发明了C语言来取代可移植性较差的B语言,并开启了用C语言重写Unix的工作。
44
36
45
37
6 . 1974年:Unix推出了里程碑意义的第5版,几乎完全用C语言来实现。
@@ -1768,6 +1760,93 @@ build environment:
1768
1760
key semid owner perms nsems
1769
1761
```
1770
1762
1763
+ ### Shell编程
1764
+
1765
+ 之前我们提到过,Shell是一个连接用户和操作系统的应用程序,它提供了人机交互的界面(接口),用户通过这个界面访问操作系统内核的服务。Shell脚本是一种为Shell编写的脚本程序,我们可以通过Shell脚本来进行系统管理,同时也可以通过它进行文件操作。总之,编写Shell脚本对于使用Linux系统的人来说,应该是一项标配技能。
1766
+
1767
+ 互联网上有大量关于Shell脚本的相关知识,我不打算再此对Shell脚本做一个全面系统的讲解,我们通过下面的代码来感性的认识下Shell脚本就行了。
1768
+
1769
+ 例子1:输入两个整数m和n,计算从m到n的整数求和的结果。
1770
+
1771
+ ```Shell
1772
+ #!/usr/bin/bash
1773
+ printf ' m = '
1774
+ read m
1775
+ printf ' n = '
1776
+ read n
1777
+ a=$m
1778
+ sum=0
1779
+ while [ $a -le $n ]
1780
+ do
1781
+ sum=$[ sum + a ]
1782
+ a=$[ a + 1 ]
1783
+ done
1784
+ echo ' 结果: ' $sum
1785
+ ```
1786
+
1787
+ 例子2:自动创建文件夹和指定数量的文件。
1788
+
1789
+ ```Shell
1790
+ #!/usr/bin/bash
1791
+ printf ' 输入文件名: '
1792
+ read file
1793
+ printf ' 输入文件数量(< 1000): '
1794
+ read num
1795
+ if [ $num -ge 1000 ]
1796
+ then
1797
+ echo ' 文件数量不能超过1000'
1798
+ else
1799
+ if [ -e $dir -a -d $dir ]
1800
+ then
1801
+ rm -rf $dir
1802
+ else
1803
+ if [ -e $dir -a -f $dir ]
1804
+ then
1805
+ rm -f $dir
1806
+ fi
1807
+ fi
1808
+ mkdir -p $dir
1809
+ index=1
1810
+ while [ $index -le $num ]
1811
+ do
1812
+ if [ $index -lt 10 ]
1813
+ then
1814
+ pre=' 00'
1815
+ elif [ $index -lt 100 ]
1816
+ then
1817
+ pre=' 0'
1818
+ else
1819
+ pre=' '
1820
+ fi
1821
+ touch $dir' /' $file' _' $pre$index
1822
+ index=$[ index + 1 ]
1823
+ done
1824
+ fi
1825
+ ```
1826
+
1827
+ 例子3:自动安装指定版本的Redis。
1828
+
1829
+ ```Shell
1830
+ #!/usr/bin/bash
1831
+ install_redis() {
1832
+ if ! which redis-server > /dev/null
1833
+ then
1834
+ cd /root
1835
+ wget $1$2' .tar.gz' >> install.log
1836
+ gunzip /root/$2' .tar.gz'
1837
+ tar -xf /root/$2' .tar'
1838
+ cd /root/$2
1839
+ make >> install.log
1840
+ make install >> install.log
1841
+ echo ' 安装完成'
1842
+ else
1843
+ echo ' 已经安装过Redis'
1844
+ fi
1845
+ }
1846
+
1847
+ install_redis ' http://download.redis.io/releases/' $1
1848
+ ```
1849
+
1771
1850
### 相关资源
1772
1851
1773
1852
1. Linux命令行常用快捷键
Original file line number Diff line number Diff line change 16
16
17
17
- 编程语言:结构化查询语言(SQL)。
18
18
19
- 4 . E-R图。
19
+ 4 . E-R图 / 概念模型图。
20
+
21
+ ![ ] ( ./res/concept-model-graph.png )
22
+
20
23
- 实体 - 矩形框
21
24
- 属性 - 椭圆框
22
25
- 关系 - 菱形框
165
168
? longblob;
166
169
` ` `
167
170
168
-
169
171
# ## SQL详解
170
172
173
+ # ### 基本操作
174
+
171
175
1. DDL
172
176
173
177
` ` ` SQL
419
423
revoke insert, delete, update on school.* from ' hellokitty' @' %' ;
420
424
` ` `
421
425
426
+ # ### 视图
427
+
428
+ # ### 索引
429
+
430
+ # ### 过程
431
+
422
432
# ## 相关知识
423
433
424
434
# ### 范式理论 - 设计二维表的指导思想
430
440
# ### 数据完整性
431
441
432
442
1. 实体完整性 - 每个实体都是独一无二的
443
+
433
444
- 主键(primary key) / 唯一约束 / 唯一索引(unique)
434
445
2. 引用完整性(参照完整性)- 关系中不允许引用不存在的实体
446
+
435
447
- 外键(foreign key)
436
448
3. 域完整性 - 数据是有效的
437
449
- 数据类型及长度
450
+
438
451
- 非空约束(not null)
452
+
439
453
- 默认值约束(default)
454
+
440
455
- 检查约束(check)
441
456
457
+ > 说明:在MySQL数据库中,检查约束并不起作用。
458
+
442
459
# ### 数据一致性
443
460
444
461
1. 事务:一系列对数据库进行读/写的操作。
Original file line number Diff line number Diff line change 1
1
## 玩转PyCharm
2
2
3
- PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补全、单元测试、版本控制等等。此外,PyCharm还提供了对一些高级功能的支持,包括支持基于Django框架的Web开发、 。
3
+ PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个集成开发环境,它最大的优点是能够大大提升Python开发者的工作效率,为开发者集成了很多用起来非常顺手的功能,包括代码调试、高亮语法、代码跳转、智能提示、自动补全、单元测试、版本控制等等。此外,PyCharm还提供了对一些高级功能的支持,包括支持基于Django框架的Web开发。
4
4
5
5
### PyCharm的安装
6
6
You can’t perform that action at this time.
0 commit comments