Skip to content

Latest commit

 

History

History
120 lines (86 loc) · 6.36 KB

File metadata and controls

120 lines (86 loc) · 6.36 KB

#新生群小课堂-知识总结(三) 来自Lulu学姐的整理和补充~

首先是开篇的放松一刻,来点小废话:

请首先食用(一)和(二)哦,有bug请艾特窝更新!整理比较匆忙,有时会有错误。

粗体字如果不明白,请自己搜索哦~有问题可以随时提出~

这些并不一定是大家大一上来会学习的东西,但确实是非常基础的知识,对日后的学习会有所帮助,我们的目的不在于进行系统的教学,只是起到基础普及的作用,因此涉及的新名词都十分零散,不用担心,当成补充课外知识就好了。

同时如果大家想要先学会一门语言的话,请参阅每一版本的总结中的语言及参考书部分,一般常用的入门语言是C\JAVA\Python等,但实际上什么都可以的^ ^

日经问题:

  • Q:小白可以学这个专业吗?看起来你们都好厉害啊我什么也不知道怎么办?
  • A:可以的。所以快学习吧。

##1 语言及参考书-续II 现在开始不再对每个新词汇作简介,感兴趣的同学可以自己去查。

除了之前提到过的语言,我们还提到过ErlangElixir等语言。Rust,在总结一我们提到过,是一个15年5月发布的新语言,但实际上它已经开发了很多年,在Github也比较火;苹果的Swift模仿了Rust,它本身也是一门迅速流行起来的新兴语言。

但另一种观点是,小众语言坑比较大,但学学思维不错,主修语言一般则要选择主流语言,比如C/C++/Java/Javascript。

有一种说法是,编程语言一通百通,重要的是思想;但另一方面,每种编程语言都有各自的核心概念,先天有着不同的思维方式。比如js的异步,lisp的递归。

另外,语言的社区很重要。

###1.1 PHP 一门通用的计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用,大多运行在网络服务器上。

比较简单,大家如果想玩的话可以去下载一下XAMPP这个东西,是一个集成包。

地址戳这里!还可以找到教程。

然后下载安装好以后,会看到它的界面由很多组件构成,简单介绍一下:

  • Apache是一个服务器,处理HTTP请求
  • MySQL是一个数据库
  • FileZilla是一个FTP工具
  • Mercury是一个邮件工具
  • Tomcat是Java的服务器

使用PHP,只需要打开Apache和MySQL;然后我们可以找一找Apache的网站根目录,看一看Apache的端口,在那个目录新建一个文件,例如index.php,内容是<?php echo '<p>Hello World!</p>';?>,然后在浏览器访问localhost:端口号,就可以看到Hello World!啦。

PHP有一些有趣的应用,比如我们可以用P它做签名档哦。

##2 概念 ###2.1 框架 框架是为了实现某个业界标准或完成特定基本任务的软件组件规范,也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。它制定一套规范(思想),使得大家能够在它的指导下工作,或者说使用别人搭好舞台来表演。

例如React.js是Javascript的一个框架,LavarelPHP的一个框架。

###2.2 宏 计算机科学里的宏是一种抽象,它根据一系列预定义的规则替换一定的文本模式。解释器或编译器在遇到宏时会自动进行这一模式替换。

##3 编辑器、IDE-续I ###3.1 vim Vim是从vi发展出来的一个文本编辑器,可在命令行内使用。功能丰富。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

然后Linux和OS X系统下似乎是自带的?Windows需要用包管理器安装一个。值得一用哦。 ###3. 2 nano 一个更加易于使用的文本编辑器,可在命令行内使用。

Linux和OS X应该也自带,Windows可用包管理器另行安装。 ###3.3 IntelliJ IDEA 是一种商业化销售的IDE,由捷克软件公司JetBrains开发。被认为是当前Java开发效率最快的IDE工具,集成了许多功能。可以增加其他语言的插件。

安装的话可以去官网下载,然后选择ultimate版本,先试用(允许试用一个月),开学以后可以用学校的教育邮箱注册,就可以免费使用。

另外JetBrains家的的IDE普遍都很好用哦。

##4 命令行工具的使用 在之前,我们有反复提到使用cmd/powershell/终端等来执行一些命令,因而应当学习一些基本的命令使用,具体可以自己查查看。Windows建议使用Powershell,以下范例在cmd中可能不会生效,此外也可以尝试Console2、ConEmu、Consolas等优化的命令行工具(for win)。然后Linux/OS X可以装一个叫oh my zsh的东西,对自己的命令行工具做个优化,让它看起来更优雅。 ###4.1 基本的几个命令

  • rm remove 删除
  • mv move 移动
  • cpcopy 复制
  • lslist 查看当前目录内容
  • pwdprint working directory 查看当前工作目录的绝对路径

###4.2 跟踪路由 此外,windows的tracert,Linux/OS X的traceroute(可能需要包管理器安装)可以跟踪路由,命令的形式类似:

tracert www.baidu.com
traceroute www.baidu.com

###4.3 下载工具 wget和cURL都是能在命令行下使用的下载工具,Linux/OS X可能自带,Windows则须通过包管理器下载。 例如wget的基本命令格式是:

wget [参数] [URL地址]

具体的使用可以自己查查。 ###4.4 快捷键 此外还有快捷键,例如crtl+C终止命令,home移动到行首,end移动到行尾等。

##5 内存错误

这是一个黑漆漆的深夜,虎虎在上网,突然,他的电脑一黑,这究竟是外星人的诡计,还是宇宙射线的威力? …… 为什么呢? …… 朱小平说,这是因为他挺黑的。 …… 但是虎虎很白。 …… 其实,这是因为他的游戏内存泄漏了。

那么,为什么会内存泄漏呢?

因为C语言里可以手动申请内存,申请来的不会自动释放,不释放呢,就不能重新使用它,然后渐渐内存就不够用了,然后就boooom~所以虎虎的电脑在夜里duang~炸了。

有时候我们会遇到报错,地址为**的内存不能为read,但其实这是错误的翻译,英文是Could not be read,正确的翻译应该是无法读取。

##6 下期预告

  • 类型系统
  • 文件系统
  • Git(可能是一个专题/番外)
  • KMP和DFA会另外整理一个专题写