系统学习

“我爱记单词”之用户规格需求说明

混江龙づ霸主 提交于 2020-02-25 20:01:35
  用户规格需求说明 一、概述   本项目为英语单词学习助手,名为“我爱记单词”。主要提供服务包括:单词查询,单词测试,单词记忆和中英互译。目前开发的是单机版本,用户可以根据自己的需求灵活的使用相应功能。该版本主打单词记忆功能,通过有效的规划与方法帮助用户更有效地记忆单词。   目前市场上已经存在许多类似的单词记忆软件,如疯狂单词无忧记忆、e时代英语等。我们对这些软件做了相应的评估分析,取长补短并加入自己的创意,争取做一个广受大众欢迎的英语单词学习产品。 二、产品面向的用户群体   产品面向的用户十分广泛,包括想要学习英语的普通人和准备英语考试的学生。由于不做盈利,我们暂时不会对用户的级别作区分。 为了便于初期的推广,我们决定暂不采用账户登录的方式,即用户打开软件即可免注册直接使用。   用户可以进行如下操作:   (1) 进行单词测验;   (2) 从词库里查阅单词   (3) 背单词   (4) 中英互译   重点介绍一下该版本添加的背单词的功能:   (1) 用户在学习或者复习的时候可以点认识、模糊、忘记来区分自己对单词的第一印象,以便软件更好地帮助用户学习;   (2) 用户可以根据自己的需求选择相应的选词库进行背单词,如国内考试中的四级词汇、六级词汇、考研词汇与出国考试中的GRE词汇、TOEFL词汇等;   (3) 用户可以查看自己背单词的统计结果

Linux学习

末鹿安然 提交于 2020-02-25 19:28:38
Linux教程 Linux的应用领域 个人桌面领域 此领域是Linux应用最薄弱的环节,但是催着Deepin等,桌面占有率有所回升 服务器领域 此领域是服务器的应用是最强的,Linux免费、稳定、高效等特点在这里得到了很好的体现 嵌入式领域 Linux运行稳定、对网络良好支持性、低成本,内核最小可以几百kb等 Linux进阶之路 linux环境下基本操作命令、文件操作命令、编辑工具使用、linux用户管理 linux中各种配置 linux下搭建开发环境 shell脚本、对Linux服务器进行维护 进行安全设置、防止攻击,保障服务器正常运行,对系统调优 深入理解linux(对内核有研究),熟练掌握大型网站应用架构组成、熟悉各个环节的部署与维护 一、Linux入门 1.1 Linux介绍 Linux是一款操作系统,免费,开源 ,安全,高效,稳定,处理高并发非常强悍 Linux创始人 linus 林纳斯 Linux吉祥物 Linux发行版 RedHat Ubuntu Suse opensuse 目前主要的操作系统 windows android linux ios 车载系统 1.2 Linux与Unix的关系 贝尔实验室 与 麻省理工学院 , 通用电气公司 开发 分时操作系统 ,后感觉太过庞大,故遗弃。 后来 Ken tompson 肯•汤普森 在此基础上,使用B语言开发了 Unix系统

机器学习概览

帅比萌擦擦* 提交于 2020-02-24 20:39:03
什么是机器学习? 广义概念: 机器学习是让计算机具有学习的能力,无需明确的编程 —— 亚瑟·萨缪尔,1959 工程概念: 计算机程序利用经验 E 学习任务 T,性能是 P,如果针对任务 T 的性能 P 随着经验 E 不断增长,则称为机器学习。 —— 汤姆·米切尔,1997 机器学习系统的类型 机器学习有多种类型,可以根据以下规则进行分类: 是否在人类监督下进行训练(监督、非监督、半监督和强化学习) 是否可以动态渐进学习(在线学习和批量学习) 它们是否只是简单的通过比较新的数据点和已知的数据点,还是在训练数据中进行模式识别,以建立一个预测模型,就像科学家所做的那样(基于实力学习和基于模型学习) 监督/非监督学习 机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督、非监督、半监督和强化学习 监督学习 在监督学习中,用来训练算法的训练数据包含了答案,称为标签。 图 1 用于监督学习(比如垃圾邮件分类)的加了标签的训练集 一个典型的监督学习就是分类,垃圾邮件过滤器就是一个很好的例子:用很多带有归类(垃圾邮件和普通邮件)的邮件样本进行训练,过滤器还能用新邮件进行分类。 另一个典型数值是预测目标数值,例如给出一些特征(里程数、车程、品牌等等)称为预测值,来预测一辆汽车的价格。这类任务称为回归,要训练在这个系统,你需要给出大量汽车样本,包括它们的预测值和标签(即它们的价格) 图2

收藏!2020 年最具潜力 44 个顶级开源项目,涵盖 11 类 AI 学习框架、平台

佐手、 提交于 2020-02-24 07:14:25
工欲善其事必先利其器,这也是大部分开发者在日常工作中最重要开发原则。选择与开发内容相匹配的工具,常常会使我们事半功倍。但面对人工智能的多个领域,如:机器学习、深度学习、NLP等等,多样的工具有时也让我们也无从选择。 就在最近,一个基于 javascript 的可视化库 D3js(treemap 可视化)对 json 文件生成的技术图,给开发者提供了详细的各领域工具清单,内容涵盖了 11 种极具潜力的 AI 工具类型,我们将其整理如下,强烈建议大家收藏~ 原文链接:https://github.com/haggaishachar/techmap 目录: Ⅰ、经典机器学习(1-3) Ⅱ、深度学习(4-8) Ⅲ、强化学习(9-12) Ⅳ、自然语言处理(13-18) Ⅴ、语音识别(19-21) Ⅵ、计算机视觉(22-26) Ⅶ、分布式训练(27-31) Ⅷ、自动建模(32-35) Ⅸ、IDEs系统(36-38) Ⅹ、平台(39-41) Ⅺ、评分推理系统(42-43) I . 适用于经典机器学习的工具 一、SciKit-learn  star 39.2k  fork 19.2k scikit-learn 是一种强大的基于 Python 语言的机器学习算法库(https://scikit-learn.org/stable/)。其中,包含了算法预处理,模型参数择优,回归与分类等算法

值得学习的C语言开源项目

时光毁灭记忆、已成空白 提交于 2020-02-22 13:03:03
1.Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。 下载链接: https://github.com/LippiOuYang/WebBenchl 2.Tinyhttpd tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。 下载链接: https://github.com/LippiOuYang/Tinyhttpd 3.cJSON cJSON是C语言中的一个JSON编解码器,非常轻量级,C文件只有500多行,速度也非常理想。 cJSON也存在几个弱点,虽然功能不是非常强大,但cJSON的小身板和速度是最值得赞赏的。其代码被非常好地维护着,结构也简单易懂,可以作为一个非常好的C语言项目进行学习。 项目主页: http://sourceforge.net/projects/cjson/ 4.CMockery cmockery是google发布的用于C单元测试的一个轻量级的框架。它很小巧

Linux基础学习(三)

本秂侑毒 提交于 2020-02-22 12:17:29
八、正文处理命令及tar命令 8.1 使用cat命令进行文件的纵向合并 1) 掌握使用cat命令实现文件的纵向合并: a) 例如:使用cat命令将baby.age、baby.kg和baby.sex这三个文件纵向合并为baby文件的方法: cat baby.age baby.kg baby.sex >baby b) 例如:使用cat命令将baby.age文件的内容添加到baby2文件中的方法: cat baby.age >>baby2 8.2 归档文件和归档技术 (详见linux系统管理P209) 1) 归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件。 2) 归档的目的:归档的目的就是方便备份、还原及文件的传输操作。 3) tar命令的功能:将多个文件(也可能包括目录,因为目录本身也是文件)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件。 4) tar命令的常用选项: c:创建一个新的tar文件。 t:列出tar文件中目录的内容。 x:从tar文件中抽取文件。 f:指定归档文件或磁带(也可能是软盘)设备(一般都要选)。 v:显示所打包的文件的详细信息,v是verbose的第1个字母。 z:使用gzip压缩算法来压缩打包后的文件。 j:使用bzip2压缩算法来压缩打包后的文件。 8.3 使用tar命令创建

RHCE第一次学习

十年热恋 提交于 2020-02-15 09:09:19
2020年2月14…我开始学Linux。 第一天了解Linux整体的发展以及RHEL证书体系。 1.Linux发展来历:抵制AT&T将UNIX系统私有化,Geek成立GUN计划,1987出编译器,编译出了Linux系统,基于Linux系统衍生品自由,衍生出了更多的系统(红帽系:RHEL,Centos【企业版,免费】,Fedora 【终端版,免费】Debian系:Debian,ubuntu,Deepin) 2.开源共享特点: 2.1低风险 2.2高品质 2.3低成本 2.4更透明 3.GUN开源许可特点: 3.1复制自由 3.2传播自由 3.3使用自由 3.4修改自由 3.5收费自由 3.6创建衍生品自由 **4.Linux系统的优势:(主要体现于服务端)** 4.1高可用性&高性能 4.2免费&少许费用(RHEL 企业版) 4.3漏洞少 4.4多用户及多任务 5.考试相关 5.1RHCSA,RHCE满分300,210分通过 5.2 2020年8月1日后更新RHEL8版本,(目前只有中国区延期至8月1日) 5.3 RHCSA 侧重于系统管理增删改等,RHCE侧重于服务开启关闭等,RHCA方向不同,有集群,安全等方向任选五门。 来源: CSDN 作者: bossxue 链接: https://blog.csdn.net/bossxue/article/details/104320073

Linux系统新手学习的11点建议

落爺英雄遲暮 提交于 2020-02-15 05:17:16
  随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。   一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。   二、Linux命令是必须学习虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子: Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手。它的功能实在太强了,在配合exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间。 不同版本的Linux命令数量不一样

Linux学习第一天

最后都变了- 提交于 2020-02-12 13:28:34
1.开源软件的特点是:将程序软件和源代码打包提供给用户,让用户可以修改或编写成衍生品发布出去。 2.开源软件的特性:高透明度,低风险,低成本,高品质。 3.GNU GPL(GNU General Public License,GNU通用公共许可 证)。 4.开源软件一般都是为用户通过有偿服务来盈利的。 5.Linux系统的用途:稳定运行的服务,集群系统,多人协同工作的环境等等。 6.Linux系统内核:提供硬件抽象层,硬盘几文件系统控制及多任务的系统核心程序。 7.各种版本的Linux系统:红帽企业版Linux(RedHat Enterprise Linux,RHEL);社区企业操作系统(Community Enterprise Operating System,CentOS)。 8.CentOS与RHEL的关系:CentOS系统是通过把RHEL系统释放出的程序源代码经过二次编译之后生成的一种Linux系统,其命令操作和服务配置方法与RHEL完全相同,但是去掉了很多收费的服务套件功能,而且还不提供任何形式的技术支持。 9.RHEL7采用systemd作为系统初始化进程。 10.virtualization technology,虚拟化技术,把主机分成多个独立的资源区,让每个独立的资源区模拟出系统的一项技术。,本质是资源的管理和再分配。 11.RPM (红帽软件包管理器)

系统学习python第六天学习笔记

烂漫一生 提交于 2020-02-11 00:06:27
1.补充 1.列表方法补充 reverse,反转。 v1 = [1,2,3111,32,13] print(v1) v1.reverse() print(v1) sort,排序 v1 = [11,22,3111,32,13] print(v1) # v1.sort(reverse=False) # 从小到大(默认) # v1.sort(reverse=True) # 从大到小 # print(v1) 2.字典方法补充 keys/values/items get 判断字典中是否存在键,不存在则返回None,存在则取对应的值并返回赋值给变量 info = {'k1':'v1','k2':'v2'} # v1 = info['k11111'] # v2 = info.get('k1111') # None就是Python中的空 # v3 = info.get('k1111',666) # print(v2) # None数据类型,改类型表示空(无任何功能,专门用于提供空值) pop 删除,也可以用del删除 info = {'k1':'v1','k2':'v2'} result = info.pop('k2') print(info,result) del info['k1'] update 不存在,则添加/存在,则更新 info = {'k1':'v1','k2':'v2'} #