当前位置:首页 » 编程语言 » pythonguide

pythonguide

发布时间: 2022-07-13 11:36:47

㈠ 黑客的行为特征。

这些多网络一下,就可以得到答案。以下仅供参考。

要想更好的保护网络不受黑客的攻击,就必须对黑客的攻击方法、攻击原理、攻击过程有深入的、详细的了解,只有这样才能更有效、更具有针对性的进行主动防护。下面通过对黑客攻击方法的特征分析,来研究如何对黑客攻击行为进行检测与防御。

一、反攻击技术的核心问题

反攻击技术(入侵检测技术)的核心问题是如何截获所有的网络信息。目前主要是通过两种途径来获取信息,一种是通过网络侦听的途径(如Sniffer,Vpacket等程序)来获取所有的网络信息(数据包信息,网络流量信息、网络状态信息、网络管理信息等),这既是黑客进行攻击的必然途径,也是进行反攻击的必要途径;另一种是通过对操作系统和应用程序的系统日志进行分析,来发现入侵行为和系统潜在的安全漏洞。

二、黑客攻击的主要方式

黑客对网络的攻击方式是多种多样的,一般来讲,攻击总是利用“系统配置的缺陷”,“操作系统的安全漏洞”或“通信协议的安全漏洞”来进行的。到目前为止,已经发现的攻击方式超过2000种,其中对绝大部分黑客攻击手段已经有相应的解决方法,这些攻击大概可以划分为以下六类:

1.拒绝服务攻击:一般情况下,拒绝服务攻击是通过使被攻击对象(通常是工作站或重要服务器)的系统关键资源过载,从而使被攻击对象停止部分或全部服务。目前已知的拒绝服务攻击就有几百种,它是最基本的入侵攻击手段,也是最难对付的入侵攻击之一,典型示例有SYN Flood攻击、Ping Flood攻击、Land攻击、WinNuke攻击等。

2.非授权访问尝试:是攻击者对被保护文件进行读、写或执行的尝试,也包括为获得被保护访问权限所做的尝试。

3.预探测攻击:在连续的非授权访问尝试过程中,攻击者为了获得网络内部的信息及网络周围的信息,通常使用这种攻击尝试,典型示例包括SATAN扫描、端口扫描和IP半途扫描等。

4.可疑活动:是通常定义的“标准”网络通信范畴之外的活动,也可以指网络上不希望有的活动,如IP Unknown Protocol和Duplicate IP Address事件等。

5.协议解码:协议解码可用于以上任何一种非期望的方法中,网络或安全管理员需要进行解码工作,并获得相应的结果,解码后的协议信息可能表明期望的活动,如FTU User和Portmapper Proxy等解码方式。

6.系统代理攻击:这种攻击通常是针对单个主机发起的,而并非整个网络,通过RealSecure系统代理可以对它们进行监视。

三、黑客攻击行为的特征分析与反攻击技术

入侵检测的最基本手段是采用模式匹配的方法来发现入侵攻击行为,要有效的进反攻击首先必须了解入侵的原理和工作机理,只有这样才能做到知己知彼,从而有效的防止入侵攻击行为的发生。下面我们针对几种典型的入侵攻击进行分析,并提出相应的对策。

1.Land攻击

攻击类型:Land攻击是一种拒绝服务攻击。

攻击特征:用于Land攻击的数据包中的源地址和目标地址是相同的,因为当操作系统接收到这类数据包时,不知道该如何处理堆栈中通信源地址和目的地址相同的这种情况,或者循环发送和接收该数据包,消耗大量的系统资源,从而有可能造成系统崩溃或死机等现象。

检测方法:判断网络数据包的源地址和目标地址是否相同。

反攻击方法:适当配置防火墙设备或过滤路由器的过滤规则就可以防止这种攻击行为(一般是丢弃该数据包),并对这种攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址)。

2.TCP SYN攻击

攻击类型:TCP SYN攻击是一种拒绝服务攻击。

攻击特征:它是利用TCP客户机与服务器之间三次握手过程的缺陷来进行的。攻击者通过伪造源IP地址向被攻击者发送大量的SYN数据包,当被攻击主机接收到大量的SYN数据包时,需要使用大量的缓存来处理这些连接,并将SYN ACK数据包发送回错误的IP地址,并一直等待ACK数据包的回应,最终导致缓存用完,不能再处理其它合法的SYN连接,即不能对外提供正常服务。

检测方法:检查单位时间内收到的SYN连接否收超过系统设定的值。

反攻击方法:当接收到大量的SYN数据包时,通知防火墙阻断连接请求或丢弃这些数据包,并进行系统审计。

3.Ping Of Death攻击

攻击类型:Ping Of Death攻击是一种拒绝服务攻击。

攻击特征:该攻击数据包大于65535个字节。由于部分操作系统接收到长度大于65535字节的数据包时,就会造成内存溢出、系统崩溃、重启、内核失败等后果,从而达到攻击的目的。

检测方法:判断数据包的大小是否大于65535个字节。

反攻击方法:使用新的补丁程序,当收到大于65535个字节的数据包时,丢弃该数据包,并进行系统审计。

4.WinNuke攻击

攻击类型:WinNuke攻击是一种拒绝服务攻击。

攻击特征:WinNuke攻击又称带外传输攻击,它的特征是攻击目标端口,被攻击的目标端口通常是139、138、137、113、53,而且URG位设为“1”,即紧急模式。

检测方法:判断数据包目标端口是否为139、138、137等,并判断URG位是否为“1”。

反攻击方法:适当配置防火墙设备或过滤路由器就可以防止这种攻击手段(丢弃该数据包),并对这种攻击进行审计(记录事件发生的时间,源主机和目标主机的MAC地址和IP地址MAC)。

5.Teardrop攻击

攻击类型:Teardrop攻击是一种拒绝服务攻击。

攻击特征:Teardrop是基于UDP的病态分片数据包的攻击方法,其工作原理是向被攻击者发送多个分片的IP包(IP分片数据包中包括该分片数据包属于哪个数据包以及在数据包中的位置等信息),某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。

检测方法:对接收到的分片数据包进行分析,计算数据包的片偏移量(Offset)是否有误。

反攻击方法:添加系统补丁程序,丢弃收到的病态分片数据包并对这种攻击进行审计。

6.TCP/UDP端口扫描

攻击类型:TCP/UDP端口扫描是一种预探测攻击。

攻击特征:对被攻击主机的不同端口发送TCP或UDP连接请求,探测被攻击对象运行的服务类型。

检测方法:统计外界对系统端口的连接请求,特别是对21、23、25、53、80、8000、8080等以外的非常用端口的连接请求。

反攻击方法:当收到多个TCP/UDP数据包对异常端口的连接请求时,通知防火墙阻断连接请求,并对攻击者的IP地址和MAC地址进行审计。

对于某些较复杂的入侵攻击行为(如分布式攻击、组合攻击)不但需要采用模式匹配的方法,还需要利用状态转移、网络拓扑结构等方法来进行入侵检测。

四、入侵检测系统的几点思考

从性能上讲,入侵检测系统面临的一个矛盾就是系统性能与功能的折衷,即对数据进行全面复杂的检验构成了对系统实时性要求很大的挑战。

从技术上讲,入侵检测系统存在一些亟待解决的问题,主要表现在以下几个方面:

1.如何识别“大规模的组合式、分布式的入侵攻击”目前还没有较好的方法和成熟的解决方案。从Yahoo等着名ICP的攻击事件中,我们了解到安全问题日渐突出,攻击者的水平在不断地提高,加上日趋成熟多样的攻击工具,以及越来越复杂的攻击手法,使入侵检测系统必须不断跟踪最新的安全技术。

2.网络入侵检测系统通过匹配网络数据包发现攻击行为,入侵检测系统往往假设攻击信息是明文传输的,因此对信息的改变或重新编码就可能骗过入侵检测系统的检测,因此字符串匹配的方法对于加密过的数据包就显得无能为力。

3.网络设备越来越复杂、越来越多样化就要求入侵检测系统能有所定制,以适应更多的环境的要求。

4.对入侵检测系统的评价还没有客观的标准,标准的不统一使得入侵检测系统之间不易互联。入侵检测系统是一项新兴技术,随着技术的发展和对新攻击识别的增加,入侵检测系统需要不断的升级才能保证网络的安全性。

5.采用不恰当的自动反应同样会给入侵检测系统造成风险。入侵检测系统通常可以与防火墙结合在一起工作,当入侵检测系统发现攻击行为时,过滤掉所有来自攻击者的IP数据包,当一个攻击者假冒大量不同的IP进行模拟攻击时,入侵检测系统自动配置防火墙将这些实际上并没有进行任何攻击的地址都过滤掉,于是造成新的拒绝服务访问。

6.对IDS自身的攻击。与其他系统一样,IDS本身也存在安全漏洞,若对IDS攻击成功,则导致报警失灵,入侵者在其后的行为将无法被记录,因此要求系统应该采取多种安全防护手段。

7.随着网络的带宽的不断增加,如何开发基于高速网络的检测器(事件分析器)仍然存在很多技术上的困难。

入侵检测系统作为网络安全关键性测防系统,具有很多值得进一步深入研究的方面,有待于我们进一步完善,为今后的网络发展提供有效的安全手段。

㈡ 求本适合学习python3.2的书或者电子版资料

首先想和你说的是,市面上绝对不存在只讲Python 3.X的书籍。至于为什么就说来话长了……Python 3并不向下兼容,2和3之间的差别体现在一些底层语句和函数的变化。Python3包含一个2to3的组件,可以将2的代码改为3的代码,但是没有相对安全的3to2工具。其次,之所以Python会流行,就在于其有庞大的组件库。但是,大部分的组件库目前都只有2.x版本(这个今年之内不会变)。这两个原因使整个Python社区使用3.x的人只占很小的比例。学的话2.5以后的2.x版本都是绝对没有问题的,不要过多纠结于版本问题。
说一下中文书籍,不推荐中国人写的(这点所有技术类书籍都适用)。翻译过来的书籍里,我唯一推荐《Python基础教程(第2版)》(Beginning Python: From Novice to Professional)。这本书特色在于全面涵盖了基础语法,并提供了十个很典型的案例,并附有层次清晰的函数参考。而且书中关于Python3讨论了很多,如果你用心看的话,可以同时将2和3的语法都掌握,这点其他的同类书籍做的都不够好(很适合对3感兴趣的你)。
另外,能适应并买到外文书的话,最新的Python基础书籍《The Quick Python Book》也不错(个人认为稍好于国外流行的《Python Programming for the Absolute Beginner, 3rd》)。有人会推荐O‘Reilly出版社的《Learning Python》,10年前的这本确实不错,但现在越来越差,作者并没有从一个初学者的角度看问题,章节排布很混乱,尤其是对2和3区别的处理及其令人失望,中文版甚至没有印全,就更不推荐了。同出版社的进阶书籍《Programming Python (4th)》介绍的是实际项目中会用到的各种Python机制,但语言和逻辑都不好,不如直接看API。参考类的新书里《Python Essential Reference, 4th》好于《Python Pocket Reference, 4th》,项目需要经常翻看这种字典类书籍的话,可以买本。
基于Python的Web开发框架推荐学django,推荐书籍是Apress出版社的《The Definitive Guide to Django》。
希望能帮助你在Python之路上一个有好的开始!

㈢ 有打算学python的新手么

Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的c语言,非常流行的java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。

那Python是一种什么语言?

首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。

比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。

所以Python是一种相当高级的语言。

你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。

那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。

但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。

learning=input('DoyouwanttolearnPythonnow(YesorNo):')
a=str(learning)
ifa=='Yes':
print('QQ1129834903')
else:
print('Thanks!!')

㈣ GitHub 上有哪些值得推荐的开源电子书

语言无关类
操作系统

  • 鸟哥的linux私房菜 (简体)

  • Linux 系统高级编程

  • The Linux Command Line (中英文版)

  • Linux 设备驱动 (第三版)

  • 深入分析Linux内核源码

  • UNIX TOOLBOX

  • Docker中文指南

  • Docker —— 从入门到实践

  • FreeRADIUS新手入门

  • Mac 开发配置手册

  • FreeBSD 使用手册

  • Linux 命令行(中文版)

  • 智能系统
  • 一步步搭建物联网系统

  • web服务器
  • Nginx开发从入门到精通 (淘宝团队出品)

  • 版本控制
  • Git教程 (本文由 @廖雪峰 创作,如果觉得本教程对您有帮助,可以去 iTunes 购买)

  • git – 简易指南

  • 猴子都能懂的GIT入门

  • Git 参考手册

  • Pro Git

  • Git Magic

  • GotGitHub

  • Git Community Book 中文版

  • Mercurial 使用教程

  • HgInit (中文版)

  • 沉浸式学 Git

  • Git-Cheat-Sheet (感谢 @flyhigher139 翻译了中文版)

  • GitHub秘籍

  • NoSQL
  • NoSQL数据库笔谈 (PDF)

  • Redis 设计与实现

  • Redis 命令参考

  • 带有详细注释的 Redis 3.0 代码

  • 带有详细注释的 Redis 2.6 代码

  • The Little MongoDB Book

  • The Little Redis Book

  • Neo4j 简体中文手册 v1.8

  • Neo4j .rb 中文资源

  • MySQL
  • MySQL索引背后的数据结构及算法原理

  • 项目相关
  • 持续集成(第二版) (译言网)

  • 让开发自动化系列专栏

  • 追求代码质量

  • selenium 中文文档

  • Joel谈软件

  • 约耳谈软体(Joel on Software)

  • Web
  • 关于浏览器和网络的 20 项须知

  • 前端知识体系

  • 浏览器开发工具的秘密

  • Chrome 开发者工具中文手册

  • Chrome扩展开发文档

  • Grunt中文文档

  • 移动Web前端知识库

  • 正则表达式30分钟入门教程

  • 前端开发体系建设日记

  • 移动前端开发收藏夹

  • JSON风格指南

  • HTTP 接口设计指北

  • 前端资源分享(一)

  • 前端资源分享(二)

  • 前端代码规范 及 最佳实践

  • w3school教程整理

  • 大数据
  • 大数据/数据挖掘/推荐系统/机器学习相关资源

  • 编程艺术
  • 程序员编程艺术

  • 每个程序员都应该了解的内存知识(译)【第一部分】

  • 取悦的工序:如何理解游戏 (豆瓣阅读,免费书籍)

  • 其他
  • OpenWrt智能、自动、透明翻墙路由器教程

  • 语言相关类 AWK
  • awk程序设计语言

  • C/C++
  • C++ 并发编程指南 (@傅海平ICT)

  • Linux C编程一站式学习 (宋劲杉, 北京亚嵌教育研究中心)

  • CGDB中文手册

  • 100个gdb小技巧

  • 100个gcc小技巧

  • ZMQ 指南

  • How to Think Like a Computer Scientist (中英文版)

  • 跟我一起写Makefile(PDF)

  • GNU make中文手册

  • GNU make 指南

  • Google C++ 风格指南

  • C/C++ Primer (by @andycai)

  • 简单易懂的C魔法

  • Cmake 实践 (PDF版)

  • C++ FAQ LITE(中文版)

  • C++ Primer 5th Answers

  • CSS/HTML
  • 学习CSS布局

  • 通用 CSS 笔记、建议与指导

  • CSS参考手册

  • Emmet 文档

  • 前端代码规范 (腾讯alloyteam团队)

  • Dart
  • Dart 语言导览

  • Fortran
  • Fortran77和90/95编程入门

  • Java
  • 实时 Java 系列

  • Apache Shiro 用户指南

  • 使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序

  • 第 1 部分: Web Services 服务端应用程序

  • 第 2 部分: Web 服务客户端应用程序

  • JavaServer Faces 1.2 入门

  • 第 1 部分: 构建基本应用程序

  • 第 2 部分: JSF 生命周期、转换、检验和阶段监听器

  • 用 Eclipse Europa 进行 Web 开发

  • 第 1 部分: Eclipse Java EE

  • 第 2 部分: PHP 开发工具

  • 第 3 部分: Ruby Development Toolkit 和 RadRails

  • 使用 JavaServer Faces 构建 Apache Geronimo 应用程序

  • 第 1 部分: 使用 Eclipse 和 Apache MyFaces Core 构建基本的应用程序

  • 第 2 部分: 在 JavaServer Faces 中使用 Tomahawk

  • 第 3 部分: 使用 ajax4jsf 添加 Ajax 功能

  • 第 4 部分: 使用 Apache Trinidad 组件扩展 JSF

  • 第 5 部分: 将 JSF 应用程序与 Spring 集成

  • Apache Geronimo 和 Spring 框架

  • 第 1 部分: 开发方法学

  • 第 2 部分: 构建第一个应用程序

  • 第 3 部分: 集成 DAO 与 ORM

  • 第 4 部分: 混合使用 Spring AOP 和 Spring Web Flow

  • 第 5 部分: Spring MVC

  • 第 6 部分: Spring MVC:使用 Web 视图技术

  • 终极 mashup —— Web 服务和语义 Web

  • 第 1 部分: 使用与组合 Web 服务

  • 第 2 部分: 管理 Mashup 数据缓存

  • 第 3 部分: 理解 RDF 和 RDFs

  • 第 4 部分: 创建本体

  • 第 5 部分: 切换 Web 服务

  • Jersey 2.x 用户指南

  • MyBatis中文文档

  • JavaScript
  • Google JavaScript 代码风格指南

  • Airbnb JavaScript 规范

  • JavaScript 标准参考教程(alpha)

  • Javascript编程指南 (源码)

  • javascript 的 12 个怪癖

  • JavaScript 秘密花园

  • JavaScript核心概念及实践 (PDF) (此书已由人民邮电出版社出版发行,但作者依然免费提供PDF版本,希望开发者们去购买,支持作者)

  • 《JavaScript 模式》翻译,此书中文版有售,但是纸质书翻译的还没有这个版本翻译的好

  • 命名函数表达式探秘 (注:原文由为之漫笔翻译,原始地址无法打开,所以此处地址为我博客上的备份)

  • 学用 JavaScript 设计模式 (开源中国)

  • 深入理解JavaScript系列

  • ECMAScript 6 入门 (作者:阮一峰)

  • jQuery

  • jQuery 解构

  • 简单易懂的JQuery魔法

  • How to write jQuery plugin

  • Node.js

  • Node入门

  • 七天学会NodeJS

  • Nodejs Wiki Book (繁体中文)

  • express.js 中文文档

  • koa 中文文档

  • 使用 Express + MongoDB 搭建多人博客

  • Express框架

  • nodejs文档

  • Node.js 包教不包会

  • Learn You The Node.js For Much Win! (中文版)

  • Node debug 三法三例

  • underscore.js

  • Underscore.js中文文档

  • backbone.js

  • backbone.js入门教程 (PDF)

  • Backbone.js入门教程第二版

  • Developing Backbone.js Applications(中文版)

  • AngularJS

  • AngularJS最佳实践和风格指南

  • AngularJS中译本

  • AngularJS入门教程

  • 构建自己的AngularJS

  • 在Windows环境下用Yeoman构建AngularJS项目

  • zepto 简明中文手册

  • Sea.js

  • Hello Sea.js

  • CoffeeScript

  • CoffeeScript Cookbook

  • The Little Book on CoffeeScript中文版

  • ExtJS

  • Ext4.1.0 中文文档

  • Chrome扩展及应用开发

  • JavaScript入门教程

  • PHP
  • PHP调试技术手册(PDF)

  • XDebug 2中文手册(译) (CHM)

  • PHP之道

  • PHP 最佳实践

  • PHP安全最佳实践

  • 深入理解PHP内核

  • PHP扩展开发及内核应用

  • CodeIgniter 用户指南

  • Laravel4 中文文档

  • Laravel 入门

  • Symfony2中文文档 (未译完)

  • Phalcon中文文档(翻译进行中)

  • YiiBook几本Yii框架的在线教程

  • 简单易懂的PHP魔法

  • swoole文档及入门教程

  • iOS
  • iOS开发60分钟入门

  • iOS7人机界面指南

  • Google Objective-C Style Guide 中文版

  • iPhone 6 屏幕揭秘

  • Apple Watch开发初探

  • 马上着手开发 iOS 应用程序

  • 网易斯坦福大学公开课:iOS 7应用开发字幕文件

  • Android
  • Android Design(中文版)

  • Google Android官方培训课程中文版

  • Android学习之路

  • Python
  • 小白的Python教程

  • 简明Python教程

  • 零基础学Python

  • Python 2.7 官方教程中文版

  • Python 3.3 官方教程中文版

  • 深入 Python 3

  • PEP8 Python代码风格规范

  • Google Python 风格指南 中文版

  • Python入门教程 (PDF)

  • Python的神奇方法指南

  • 笨办法学 Python (PDF版下载)

  • Django 文档中文版

  • Django 最佳实践

  • The Django Book 中文版

  • web.py 0.3 新手指南

  • Web.py Cookbook 简体中文版

  • Dive Into Python 中文版

  • Bottle 文档中文版 (需翻墙)

  • Flask 文档中文版

  • Jinja2 文档中文版

  • Werkzeug 文档中文版

  • Flask之旅

  • Introction to Tornado 中文翻译

  • Python自然语言处理中文版 (感谢陈涛同学的翻译,也谢谢 @shwley 联系了作者)

  • Python 绘图库 matplotlib 官方指南中文翻译

  • Scrapy 0.25 文档

  • ThinkPython

  • Ruby
  • Ruby 风格指南

  • Rails 风格指南

  • 笨方法学 Ruby

  • Ruby on Rails 指南

  • Ruby on Rails 实战圣经

  • Ruby on Rails Tutorial 原书第 2 版 (本书网页版免费提供,电子版以 PDF、EPub 和 Mobi 格式提供购买,仅售 9.9 美元)

  • 编写Ruby的C拓展

  • Ruby 源码解读

  • Shell
  • Shell脚本编程30分钟入门

  • Go
  • Go编程基础

  • Go入门指南

  • 学习Go语言 (PDF)

  • Go Web 编程 (此书已经出版,希望开发者们去购买,支持作者的创作)

  • Go实战开发 (当我收录此项目时,作者已经写完第三章,如果读完前面章节觉得有帮助,可以给作者捐赠,以鼓励作者的继续创作)

  • Network programming with Go 中文翻译版本

  • Groovy
  • 实战 Groovy 系列

  • LaTeX
  • 一份其实很短的 LaTeX 入门文档

  • 一份不太简短的 LATEX 2ε 介绍 (PDF版)

  • LISP
  • ANSI Common Lisp 中文翻译版

  • Lua
  • Lua编程入门

  • Haskell
  • Real World Haskell 中文版

  • R
  • R语言忍者秘笈

  • Scala
  • Scala课堂 (Twitter的Scala中文教程)

  • Effective Scala(Twitter的Scala最佳实践的中文翻译)

  • Scala指南

  • Swift
  • The Swift Programming Language 中文版

  • Perl
  • Modern Perl 中文版

  • Perl 程序员应该知道的事

  • Prolog
  • 笨办法学Prolog

  • Vim中文文档

  • Vimscript
  • 笨方法学Vimscript 中译本

  • Vim中文文档

  • 读书笔记及其它 读书笔记
  • 编译原理(紫龙书)中文第2版习题答案

  • 把《编程珠玑》读薄

  • Effective C++读书笔记

  • Golang 学习笔记、Python 学习笔记、C 学习笔记 (PDF)

  • Jsoup 学习笔记

  • 学习笔记: Vim、Python、memcached

  • 图灵开放书翻译计划–C++、Python、Java等

  • 蒂姆·奥莱利随笔 (由译言网翻译,电子版免费)

  • Octave 入门 (PDF版)

  • SICP 解题集

  • 精彩博客集合

  • 正则表达式简明参考

㈤ 什么是黑客啊

---什么是黑客?

Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)

长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。

黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。

另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。

根本的区别是:黑客们建设,而骇客们破坏。

如果你想成为一名黑客,继续读下去。如果你想做一个骇客,去读 alt.2600 新闻组,并在发现你并不像自己想象的那么聪明的时候去坐5到10次监狱。 关于骇客,我只想说这么多。

---黑客的态度

黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。
要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但是如果你想靠培养黑客态度在黑客文化中得到承认,那就大错特错了。因为成为具备这些特质的这种人对你自己非常重要,有助于你学习,并给你提供源源不断的活力。同所有有创造性的艺术一样,成为大师的最有效方法就是模仿大师的精神---不是仅从理智上,更要从感情上进行模仿。

So,如果你想做一名黑客,请重复以下事情直到你相信它们:

1 这世界充满待解决的迷人问题

做一名黑客有很多乐趣,但却是些要费很多气力方能得到的乐趣。 这些努力需要动力。成功的运动员从健壮体魄,挑战自我极限中汲取动力。同样,做黑客,你必须
要有从解决问题,磨练技术,锻炼智力中得到基本的热望。如果你还不是这类人又想做黑客,你就要设法成为这样的人。否则你会发现,你的黑客热情会被其他诱惑无情地吞噬掉---如金钱、性和社会上的虚名。

(同样你必须对你自己的学习能力建立信心---相信尽管你对某问题所知不多,但如果你一点一点地学习、试探,你最终会掌握并解决它。)

2. 一个问题不应该被解决两次

聪明的脑瓜是宝贵的,有限的资源。当这个世界还充满其他有待解决的有趣问题之时,他们不应该被浪费在重新发明轮子这些事情上。 作为一名黑客,你必须相信其他黑客的思考时间是宝贵的---因此共享信息,解决问题并发布结果给其他黑客几乎是一种道义,这样其他人就可以去解决新问题而不是重复地对付旧问题。

(你不必认为你一定要把你的发明创造公布出去,但这样做的黑客是赢得大家尊敬最多的人。卖些钱来给自己养家糊口,买房买车买计算机甚至发大财和黑客价值也是相容的,只要你别忘记你还是个黑客。)

3. 无聊和乏味的工作是罪恶

黑客们应该从来不会被愚蠢的重复性劳动所困扰,因为当这种事情发生时就意味着他们没有在做只有他们才能做的事情---解决新问题。这样的浪费伤害每一个人。因此,无聊和乏味的工作不仅仅是令人不舒服而已,它们是极大的犯罪。 要想做的象个黑客,你必须完全相信这点并尽可能多地将乏味的工作自动化,不仅为你自己,也为了其他人(尤其是其他黑客们)。

(对此有一个明显的例外。黑客们有时也做一些重复性的枯燥工作以进行“脑力休息”,或是为练熟了某个技巧,或是获得一些除此无法获得的经验。但这是他自己的选择---有脑子的人不应该被迫做无聊的活儿。)

4 自由就是好

黑客们是天生的反权威主义者。任何能向你发命令的人会迫使你停止解决令你着迷的问题,同时,按照权威的一般思路,他通常会给出一些极其愚昧的理由。因此,不论何时何地,任何权威,只要他压迫你或其他黑客,就要和他斗到底。

(这并非说任何权力都不必要。儿童需要监护,罪犯也要被看管起来。 如果服从命令得到某种东西比起用其他方式得到它更节约时间,黑客会同意接受某种形式的权威。但这是一个有限的、特意的交易;权力想要的那种个人服从不是你的给予,而是无条件的服从。)

权力喜爱审查和保密。他们不信任自愿的合作和信息共享---他们只喜欢由他们控制的合作。因此,要想做的象个黑客,你得对审查、保密,以及使用武力或欺骗去压迫人们的做法有一种本能的反感和敌意。

5. 态度不能替代能力

要做一名黑客,你必须培养起这些态度。但只具备这些态度并不能使你成为一名黑客,就象这并不能使你成为一个运动健将和摇滚明星一样。成为一名黑客需要花费智力,实践,奉献和辛苦。

因此,你必须学会不相信态度,并尊重各种各样的能力。黑客们不会为那些故意装模做样的人浪费时间,但他们却非常尊重能力---尤其是做黑客的能力,不过任何能力总归是好的。具备很少人才能掌握的技术方面的能力尤其为好,而具备那些涉及脑力、技巧和聚精会神的能力为最好。

如果你尊敬能力,你会享受提高自己能力的乐趣---辛苦的工作和奉献会变成一种高度娱乐而非贱役。 要想成为一名黑客,这一点非常重要。

---基本黑客技术

黑客态度是重要的,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一套基本的技术你必须掌握。 这套基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去包括使用机器码编程,而知道最近才包括了HTML语言。但现在明显包括以下技术:

1 学习如何编程

这当然是最基本的黑客技术。如果你还不会任何计算机语言,我建议你从Python开始。它设计清晰,文档齐全,对初学者很合适。尽管是一门很好的初级语言,它不仅仅只是个玩具。它非常强大,灵活,也适合做大型项目。

但是记住,如果你只会一门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个普通程序员的水平---你需要学会如何以一个通用的方法思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会如何在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种不同的语言。

如果要做一些重要的编程,你将不得不学习C语言,Unix的核心语言。其他对黑客而言比较重要的语言包括Perl和LISP。 Perl很实用,值得一学;它被广泛用于活动网页和系统管理,因此即便你从不用Perl写程序,至少也应该能读懂它。 LISP 值得学习是因为当你最终掌握了它你会得到丰富的经验;这些经验使你在以后的日子里成为一个更好的程序员,即使你实际上可能很少使用LISP本身。

当然,实际上你最好四种都会。 (Python, C, Perl, and LISP). 除了是最重要的四种基本语言,它们还代表了四种非常不同的编程方法,每种都会让你受益非浅。

这里我无法完整地教会你如何编程---这是个复杂的活儿。但我可以告诉你,书本和课程也不能作到。几乎所有最好的黑客都是自学成材的。真正能起作用的就是去亲自读代码和写代码。

学习如何编程就象学习用自然语言写作一样。最好的做法是读一些大师的名着,试着自己写点东西,再读些,再写点,又读些,又写点....如此往复,直到你达到自己在范文中看到的简洁和力量。

过去找到好的代码去读是困难的,因为很少有大型程序的可用源代码能让新手练手。这种状况已经得到了很大的改善;现在有很多可用的开放源码软件,编程工具和操作系统(全都有黑客写成)。这使我们自然地来到第二个话题...

2 得到一个开放源码的Unix并学会使用、运行它

我假设你已经拥有了一台个人计算机或者有一个可用的( 今天的孩子们真幸福 :-) )。新手们最基本的一步就是得到一份Linux或BSD-Unix,安装在个人计算机上,并运行它。
当然,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发送的---你无法读到它的源码,更不可能修改它。尝试在DOS或Windows的机器上学习黑客技术,就象是在腿上绑了铁块去学跳舞。

除此之外,Unix还是Internet的操作系统。你可以不知道Unix而学会用Internet,但不懂它你就无法成为一名Internet黑客。因为这个原因,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此很不高兴,但Unix和Internet之间的共生关系已是如此之强,甚至连微软也无可奈何)

So,装一个Unix---我个人喜欢Linux,不过也有其他选择。(你也可以在同一台机器上同时运行DOS,Windows和Linux)学会它。运行它。用它跟Internet对话。读它的代码。试着去修改他。你会得到比微软操作系统上好的多的编程工具(包括C,Lisp, Python, and Perl),你会得到乐趣,并将学到比你想象的更多知识。

关于学习Unix的更多信息,请看 The Loginataka.

要得到Linux,请看: 哪里能得到 Linux.

3 学会如何使用WWW和写HTML

大多黑客文化建造的东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对他人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大而耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的), 你就需要学习如何掌握Web。

这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML,Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先建起自己的主页。

但仅仅建一个主页也不能使你成为一名黑客。 Web里充满了各种网页。多数是无意义的,零信息量垃圾。

要想有价值,你的网页必须有内容---必须有趣或对其它黑客有用。这样,我们来到下一个话题....

---黑客文化中的地位

象大部分不涉及金钱的文化一样,黑客王国的运转靠声誉维护。你设法解决有趣的问题,但它们到底多有趣,你的解法有多好,是要有那些和你具有同样技术水平的人或比你更牛的人去评判的。

相应地,当你在玩黑客游戏时,你知道,你的分数要靠其他黑客对你的技术的评估给出。(这就是为什么只有在其它黑客称你为黑客是,你才算得上是一名黑客)这个事实常会被黑客是一项孤独的工作这一印象所减弱;它也会被另一个黑客文化的禁忌所减弱(此禁忌的效力正在减弱但仍很强大):拒绝承认自我或外部评估是一个人的动力。

特别地,黑客王国被人类学家们称为一种精英文化。在这里你不是凭借你对别人的统治来建立地位和名望,也不是靠美貌,或拥有其他人想要的东西,而是靠你的奉献。尤其是奉献你的时间,你的才智和你的技术成果。

要获得其他黑客的尊敬,你可以做以下五种事情:

1. 写开放源码的软件

第一个(也是最基本和传统的)是写些被其他黑客认为有趣或有用的程序,并把程序的原代码公布给大家共享。
(过去我们称之为“自由软件-free software”,但这却使很多不知free的精确含义的人感到不解。现在我们很多人使用“开放源码-open source”这个词)

黑客王国里最受尊敬的大牛们是那些写了大型的、具有广泛用途的软件,并把它们公布出去,使每人都在使用他的软件的人。

2. 帮助测试并修改开放源码的软件

黑客们也尊敬也那些使用、测试开放源码软件的人。在这个并非完美的世界上,我们不可避免地要花大量软件开发的时间在测试和抓臭虫阶段。 这就是为什么任何开放源码的作者稍加思考后都会告诉你好的beta测试员象红宝石一样珍贵。 (他知道如何清楚描述出错症状,很好地定位错误,能忍受快速发布的软件中的bug,愿意使用一些简单的诊断工具) 甚至他们中的一个能判断出哪个测试阶段是延长的、令人精疲力尽的噩梦,哪个只是一个有益健康的玩意儿。

如果你是个新手,试着找一个赶兴趣的正在开发的程序,作一个好的beta测试员。从帮着测试,到帮着抓臭虫,到最后帮着改程序,你会不断进步。以后你写程序时,会有别人来帮你,你就得到了你当初善举的回报。

3. 公布有用的信息

另一个好事是收集整理网页上有用有趣的信息或文档如FAQ。许多主要FAQ的维护者和其他开放源码的作者一样受到大家的尊敬。

4. 帮助维护基础设施的运转

黑客文化是靠自愿者运转的。要使Internet能正常工作,就要有大量枯燥的工作不得不去完成----管理mail list,newsgroup,维护大量文档,开发RFC和其它技术标准等等。做这类事情的人会得到很多人的尊敬,因为每人都知道这些事情是耗时耗力的苦役,不象编码那样好玩。做这些事情需要毅力。

5. 为黑客文化本身服务

最后,你可以为这个文化本身服务(例如象我这样,写一个“如何成为黑客”的初级教程 :-) )(hehe,象我这样把它翻成中文 :-) ) 这并非一定要在你已经在这里呆了很久,精通所有以上4点,获得一定声誉后后才能去做。

黑客文化没有领袖。精确地说,它确实有些文化英雄和部落长者和历史学家和发言人。若你在这圈内呆的够长,你或许成为其中之一。
记住:黑客们不相信他们的部落长者的自夸的炫耀,因此很明显地去追求这种名誉是危险的。你必须具备基本的谦虚和优雅。

---黑客和怪人(Nerd)的联系

同流行的传说相反,做一名黑客并不一定要你是个怪人。然而,很多黑客都是怪人。做一个出世者有助于你集中精力进行更重要的事情,如思考和编程。
因此,很多黑客都愿意接受“怪人”这个标签,更有甚者愿意使用“傻子(geek)”一词并自以为豪---这是宣布他们与主流社会不合作的声明。

如果你能集中足够的精力来做好黑客同时还能有正常的生活,这很好。今天作到这一点比我在1970年代是个新手是要容易的多。今天主流文化对技术怪人要友善的多。甚至有更多的人意识到黑客通常更富爱心,是块很好的做恋人和配偶的材料。 更多信息见 Girl's Guide to Geek Guys.

如果你因为生活上不如意而为做黑客而吸引,那也没什么---至少你不会分神了。或许以后你会找到自己的另一半。

---风格的意义

重申一下,做一名黑客,你必须进入黑客精神之中。当你不在计算机边上时,你仍然有很多事情可做。它们并不能替代真正的编程(没有什么能替代编程),但很多黑客都那么做,并感到它们与黑客精神存在一种本质的关联。

阅读科幻小说。参加科幻小说讨论会。(一个很好的寻找黑客的场合)
研究禅宗,或练功习武。
练就一双精确的耳朵,学会鉴赏特别的音乐。学会玩某种乐器,或唱歌。
提高对双关语的鉴赏。
学会流畅地用母语写作。(令人惊讶的时,我所知道的所有最棒的黑客,都是很不错的作家)

这些事情,你做的越多,你就越适合做黑客。至于为什么偏偏是这些事情,原因并不很清楚,但它们都涉及到了左-右脑的综合技巧,这似乎是关键所在。(黑客们既需要清晰的逻辑思维,有时也需要强烈的跳出逻辑之外的直觉)

最后,还有一些不要去做的事情。

不要使用愚蠢的,过于哗众取宠的ID
不要自称为网络崩客(punk) ,也不要对那些人浪费时间
不要寄出充满拼写和语法错误的email,或张贴错误百出的文章

做以上的事情,会使大大损害你的声誉。黑客们个个记忆超群---你将需要数年的时间让他们忘记你的愚蠢。

---其它资源

Peter Seebach为那些不知如何同黑客打交道的经理们维护了一个非常精彩的黑客FAQ。

The Loginataka 有许多关于如何正确培养一个Unix黑客的态度的材料。

我也曾写过一篇“黑客文化简史”。

我还写过另一篇文章,“大教堂与集市”,解释了许多Linux和开放源码文化的运做原理。我还在它的续集“开拓智域”一文中有更直接的论述。

---FAQ(常问问题解答)

问:你会教我如何做黑客吗?

自从第一次发布此页,我每周都会得到一些请求,要我“教会他如何做黑客”;遗憾的是,我没有足够的时间和精力来做这个;我自己的编程项目已经占用了我110%的时间。
甚至即便我想教你也不可能,黑客基本上是一项需要你自行修炼的的态度和技术。你会发现即使真正的黑客想帮助你,如果你乞求他们填鸭一样教你的话,你不会赢得他们的尊敬。
首先去学习。显示你在尝试,你能靠自己去学习。然后再去向黑客们请教问题。

问:你会帮我“黑”掉一个站点吗?或者教我怎么黑它?

No. 任何在读完FAQ后还问此问题人,都是愚不可及的家伙,即使有时间我也不会理睬。 任何发给我的此类mail都会被忽略或被痛斥。

问:哪里能找到真正的可以与之交流的黑客?

最佳办法是就近参加一个Unix或Linux的用户组,参加他们的会议。

问:我该先学哪种语言?

HTML, 如果你还不会的话.
但它不是一个真正的编程语言。当你准备编程时,我建议你从 Python开始. 会有很多人向你推荐Perl,它比Python还受欢迎,但却难学一些。

C 是非常重要的,但它却是最难学的。不要一开始就尝试学C。

问:开放源码的自由软件不会使程序员饿肚子吗?

这似乎不大可能---到目前,开放源码软件产业创造了而不是消灭了大量工作机会。
如果写一个程序比不写一个程序只是个纯粹经济上的收益的话,无论它是否免费,只要它被完成,程序员都会从中得到回报。而且,无论软件是由多么的free的方法开发的,对更新的软件应用的需求总是会有的。

问:我从何学起?哪里有免费的Unix?

本页的其他地方指向最常用的免费Unix。要做一名黑客,你需要自立自强,以及自我教育的能力。
现在开始吧......

㈥ 学了linux有什么用啊

学习Linux的心得
通过这几年来对Linux的学习,一步一步摸着石头过河,到现在才刚刚上岸。我能起的作用可能可以告诉你一些学习的方法,当你遇到困难的时候有个人在旁边给予帮助。说句心里话,对于Linux的掌握我还只能算是很粗的东西,因为看了很多大师们的东西以后,发现自已离他们真得还很远。我不是要打击你的意思,是告诉你实情。但也可以告诉你,就这一点现在还是比较好混口饭吃。对她了解掌握的越深,你会发现他几乎什么都能做,有了实现自已商业机会的平台。

学习Linux分好几种层次,我个人觉得可以用中学里学的课文《疱丁解牛》来对比。说白了也就是对事物的认识一般都是由表及里的过程,学习Linux也是一样的。以前总觉的学理的人只要会数理化就行了,很多老师们由于自身的素质问题也不由自主的暗示着我们这样做。现在觉得很后悔当初没有学好文,文太重要了,很多时候他真的可以指导我们的形为和思维方式。最近看的很多管理上的书,最终上升到都是哲学方面的问题,很多东西一追踪根源到上升到哲学上来了。以前小的时候不懂事,觉得学这些东西有什么用,现在成熟一些了才发现这些东西真的不是件简单的事情。学习Linux有很多东西,我建议你首先要注意大师们在哲学上的思路。Linux是由Unix产生的,最终他的实现及他基础上很多应用软件都是基于一个哲学理念“把任务分解成一小块一小块完成”,可能现在你觉得这是件很简单的道理。但他不简单就在于所有有关Unix的东西都是基于这一理念的,看看我们常用的那些小工具吧,find,grep,gzip,tar,bash...等等,这个道理无不贯穿始终。现在IBM/MS等公司经常提到的WEB Service,实际上细想也是这样的,无非是把很多服务分散开来,然后有个总的业务逻辑来进行迅速的组合成一个新的服务,满足市场的迅速变化的需求。

结论1:首先要明白他的设计理念是缘自Unix的“把任务分解成一小块一小块完成”,建议你可以看这本电子书>。是由Eric Steven Raymond写的,在google上很容易找到。这本书编重于编程,可以根据自已的兴趣选相应章节。我也没有全看完,也在研习中:-)

从使用着手,自已装个系统。建议你从Redhat开始。现在Redhat的安装基本上都是学习MS的做法,很图形化了。只要按照图形的指示,很容易让一个系统跑起来。我觉得初学者应该从这个入手,这样会快很多。因为Linux上的软件包都是由不同的开发团队做的,所以一般人不知道如果安装,redhat公司做的事情就是把这些东西组织起来,然后把这些软件卖给大家。因为他对这一行非常的精通,所以卖软件是其次,卖服务是主业。现在redhat已停止出个人版的了,改成专做企业的了,版本发行最近有些变动。现在最后一个版本好象是RH9.1。

装好系统后从使用应用软件开始,建议你先学BASH SHELL编程。因为你将业想往Oracl DBA发展的话,精通SHELL可以在管理上给你带来很大的便利。同时对于理解Linux系统的启动和一些软件的安装很有帮助。比如说你可以很清楚的了解Linux的整个启动过程,继而知道为什么要做那一步做了这个动作,对你将来处理实际碰到的问题至少可以明白知道问题出在哪。象很多我们日常在Unix/Linux的管理和脚本都是分不开的,精通BASH是我们需要完成的第一步。我指的是精通,不是一般的了解,因为你只有精通了,用的时间越长,你会发现script可以帮我们很方便的干很多事情。这里有一本电子书提供参考,是我至今见到写BASH最全,最好的一本。名叫《Advanced Bash Scripting Guide》,你可以在www.linuxdoc.org里找到。

这里也提一下www.linuxdoc.org里的文章是你学习Linux的良师益友,里面的很多文章都是非常不错的教材。主要分为几类:1、FAQ 2、HOWTO 3、Guider 4、man手册。其中的Guider有几本都是非常不错的入门书,你基本上可以不用去买本,美国出的印刷书都奇贵,你把那里的几本书看完就差不多了。插一句,现在P2P很流行,我基本上都不买专业的书了,大部分都可以找到电子版的下载。里面的HOWTO主要讲的一些具体的问题如何处理,门类也很多很杂,你可以根据自已现在的需求去看相应的文章。有空的时候可以多看看,这里面有些很好的solution,说不定什么时候就可以用上。FAQ的文章不多,建议挑些重要的看下。对于man手册,一般系统上都有,不过那里应该是最近的,平时用的不多。

结论2:自已装个Redhat,学好shell。

你用Unix/Linux时候,熟悉一个编辑器是必不可少的。用两种建议选择Emacs&VIM。Emacs比较大些,要花些空间,功能具强,以前用过一段时间但没有深入下去,所以了解也是通过大师们文章中反复提到这个关键字和一些信息知道的,用好了功能具强,相当于一个MS下的IDE开发环境;vim比较小些,功能也很强,是vi的增强版,我现在主要是用她来编辑东西。vim支持多种语法,可以用来编脚本、C、Java,功能足够我们用,学好需要一定的时间实践。因为我们用Unix/Linux,免不了有时要用console来控制,如果用惯了MS的编辑的话,你会非常痛苦,建议如果以后想长时间使用unix/linux环境的话,学好一种这环境下的编辑器。vim也有windows的版本,开始用起来会觉得不方便,便很快你会发现用VIM可以解决很多MS下编辑器不能解决的问题,不信你可以试试看。

结论3:学会一种Unix/Linux下编辑器Emacs或Vim,建议Vim(因为我在用,可以给你些指导 )

学习Linux有几种常用的服务软件需要会用,1) apache(http) 2) bind(dns) 3) pro-ftp(ftp) 4)samba(file share) 。需要掌握这些软件的安装和简单配置,这些软件在网上都有很详细的文档。至少apache要会安装和管理,因为这是最基本的WEB服务,今天在哪里都能用到。对于这些常用服务软件根据自已兴趣和环境要求做出选择,不一定要很精,但要会,建议精通。

结论4:学会常用服务软件的安装和配置,至少掌握apache

在Linux中还有很多小实用工具也需要掌握,这对你今后诊断问题和做相应的系统管理有很大帮助。如配置网卡地址的工具ifconfig,查找文件的工具find,行编辑的命令sed、awk,网络状态检查netstat、ping、nc等。这些工具可以在实践中慢慢学习。

结论5:在实践中学习一些常用小工具,如ifconfig netstat route等

掌握一到两种Opensource的数据库,如现在流行的两种数据库MySQL和PostgreSQL。MySQL用的人多些也比较简单,速度又快,做一些简单的数据库应用很多都用他做backend databaes server。如果你自已想学Oracle的话,可以直接学Oracle。Oracle的东西多且全,基本上所用的功能都能在Oracle找到。但如果你想更深一层学习DB的话,你可以考虑学PostgreSQL,他有源程序而且支持事务处理(trans-action)、子查询(sub-select),过程(procere)、自定义函数(function)、光标(cursor),支持了大部份SQL92和99的标准。他的文档也比较全。

结论6:建议掌握一种Opensource的DB,如MySQL

建议对TCP/IP协议层深入了解,我想你们上研究生时应该讲的很深。但我还是建议你再多复习相关的知识点,很多时候网络上的问题可以通对你对TCP/IP的了解找到问题所在。建议你买那个steven的书叫>,同时经常在身边准备好那几种状态切换的图,劳记在心,出问题的时候就可以知道是哪边网络不通,还是应用程度出了什么问题了。

结论7:建议再深入了解TCP/IP protocol

建议除了bash外,再学多一种在Unix环境下的RAD脚本语言python。我也正在学python,通过这段时间的了解发现,这个东东有很多功能而且在开发上可以比c/c++提高至少5倍效率。有时候偏向做系统管理,但掌握一本这种编程形的脚本对工作帮助很大,可以迅速的处理一些问题。BASH是侧重于人机交复的脚本,有些事情用BASH是无法完成的。Python在很多Internet应用上有很多mole&package,你可以很方便的使用已有的功能,比如说自已做个小的WEB SERVER,做测试工具,做数据库查询等等。

结论8:建议学下Python

好了,今天先罗嗦到这里,还有很多想法愧于文笔有限,改天再详谈。

水平有限,权做参考,希望对于你的学习有所帮助。
客观来说 对你毫无用处。

㈦ java加减乘除计算器界面编程

来源:Code Wizards HQ

智能观 编译

孩子想学编码的话,有很多方法可以展开学习。可以让他们学着构建视频游戏、创建动画、开发移动应用程序和搭建网站。不管孩子喜欢哪种形式,都有大量的编码书供他们快速学起来!

但是,怎么才能找到一本好的儿童编码书呢?


  • 没经验的孩子的编码书,应该涵盖基本内容。

  • 翻翻适合初学者的书,看看里面是否有加减乘除基本数学运算,仔细看看带变量、if / then语句、循环和函数的章节。你不需要理解这些概念是怎么工作的,只要看看书的标题里有没有提这些,如果没有,这本书不适合新手。

  • 许多好的儿童编码书只用一种语言。

  • 好的儿童编码书只侧重一种语言,可以是Scratch、Javascript或Python。如果你不知道孩子应该学哪种语言,可以买两三种不同语言的书。

  • 好的儿童编码书有很多照片和插图。

  • 对于那些第一次接触代码的孩子来说,视觉吸引力很重要。好的儿童编码书每一页上都有丰富多彩的插图,充分吸引孩子的关注。

  • 好的儿童编码书提供有用的、可转移的知识。

  • 学一门特定的语言并不像理解基本的编码概念那么重要。写代码的人可以从任何语言开始学起,然后轻松地转入其他语言。有些语言不太适合孩子,如C和C++,很多成年人都学不好。

    因此,根据以上几项挑选原则,我们推出一份教孩子编码的书籍,涵盖块编程、编程基础语言、Web开发、移动开发、游戏编程、机器人和物联网等几大类,并标出适合孩子学习的年龄段,可以说是史上最全的儿童编码书籍汇总了!如果你正在苦恼怎么给孩子选书,快收下这份开学礼物吧~

    块编程类

    学龄前的儿童也可以学习用块编程语言编码。块语言是高度图形化的,易于学习。Scratch是为孩子们设计的一种流行的块语言。

    1. Coding with Scratch Workbook

    (用Scratch编码)

    作者:DK出版公司

    适合年龄: 6-9岁

    在短短40页的篇幅里,读者就能学会用Scratch做任何事,从解决简单的数学问题到构建、分享游戏。每章都包含指导孩子们完成简单编码项目的分步说明。

    2. Learn to Program with Scratch:A Visual Introction to Programming with Games, Art, Science, and Math

    (学会用Scratch编程:游戏、艺术、科学和数学编程的可视化介绍)

    作者:Majed Marji

    适合年龄: 10岁及以上

    这本将近300页的书涵盖了初学者需要了解的关于Scratch语言的所有内容。读完这本书后,孩子们将会牢固掌握Scratch和适用于任何语言的编程思想。

    3. Scratch for Kids For Dummies

    (儿童Scratch傻瓜书)

    作者:Derek Breen

    适合年龄: 10-14岁

    读者将在构建16个项目中,学习变量、if / then语句、循环和基本编程逻辑。

    4. The Official ScratchJr Book: Help Your Kids Learn to Code

    (中文版:动手玩转ScratchJr编程)

    作者:Marina Umaschi Bers 、Mitchel Resnick

    适合年龄: 5-9岁

    对于那些还太小不能学习Scratch的孩子来说,Scratchr Jr是一种更简单的块编程语言。

    5. MicroWorlds EX Books for Kids

    (儿童MicroWorlds EX工具书)

    作者:Steve Robson

    适合年龄: 5-9岁

    借助MicroWorlds EX工具,孩子们通过图形和文本来学习。他们没有被一种纯图形语言和“固定”代码所束缚,也不必100 %处理文本。

    链接:

    https://pan..com/s/1igfVJVV1UpBdIZvNzogv2Q

    6. Coding for Kids For Dummies

    (儿童编码傻瓜书)

    作者:Camille McCue

    适合年龄: 10-14岁

    书中指导孩子完成15个项目,包括绘画、动画和游戏,还带领孩子们完成了创建计算机程序的过程,从构思到构建、测试。

    编程基础

    尽管C++、Java和Python等语言之间存在着巨大的差异,但理解编码基础知识,孩子可以相对轻松地从一种语言迁移到另一种语言。

    Python

    7. Python for Kids

    (适合孩子的Python学习)

    作者:Jason R. Briggs

    适合年龄: 10岁以上

    这本书对孩子来说既全面又容易理解。内容适合小学生,但也适合许多成人学习者看。

    链接:

    https://pan..com/s/1GJUXzKUfVed3O-sfss3MDg

    8. Coding Projects in Python

    (Python编码项目)

    作者:DK出版公司

    适合年龄: 9-12岁

    不管孩子已经学了Scratch之类的块语言,还是没有做过任何编程,都可以在这本书里找到需要的一切来构建软件。书后面的词汇和参考部分对孩子来说很有帮助。

    链接:

    https://pan..com/s/1BJE0IgfeBc8uEHrdHAxuaw

    9. Python in Easy Steps

    (学习Python的简单步骤)

    作者:Mike McGrath

    适合年龄:中学及以上

    本书不是专门为孩子写的,但它内容组织得很好,中学生,尤其是有一些Scratch或其他语言经验的中学生,可以很容易地理解它。读完本书,学生可以用Python构建简单的网页和编写桌面应用程序。

    10. Hello World! Computer Programming for Kids and Other Beginners

    (中文版:父与子的编程之旅:与小卡特一起学Python)

    作者:Warren Sande

    适合年龄: 12岁以上

    学习编码时,大家编写的第一个程序就是在屏幕上显示“Hello World”。本书沿袭了这一传统,并为新手提供构建任何类型有用软件所需的必要技能。

    链接:

    https://pan..com/s/1tue23Fur36Q3l-8YoziJ1w

    Java

    Java是一种非常流行的语言,用于所有操作系统和Android设备。这也是高中计算机科学课程中最常见的语言。

    11. Java Programming for Kids: Learn Java Step by Step and Build Your Own Interactive Calculator for Fun!

    (面向儿童的Java编程:逐步学习Java,并构建自己的交互式计算器)

    作者:R. Chandler Thompson

    适合年龄: 13-17岁

    这本书既有趣又简单。青少年读者可以通过Java编程语言,构建交互式计算器应用程序。

    12. Java for Kids (and grown ups): Learn to Code and Create Your Own Projects with Java 8

    (面向儿童和成年人的Java:学习用Java 8编写代码并创建自己的项目)

    作者:Nadia Ameziane Garcia

    适合年龄: 10-12岁

    这本书只介绍学习过程中每一步所需要的东西。每一章都建立在前文介绍的基础上,孩子们可以在短时间内学会Java的基础知识。

    C++

    这不是最容易学的语言,但精通C++的人会更了解计算机是如何工作的。

    13. C++ Progamming In Easy Steps

    (C++编程的简单步骤)

    作者:Mike McGrath

    适合年龄:中学及以上

    作者通过一系列简单的课程介绍了C++,并提供大量专家提示,以帮助读者获得最佳编程实践。这本书让孩子们短时间内学会C++基础知识,并可能沿用很多年。

    14. C++ for Kids

    (适合儿童的C++语言)

    作者:Blaise Vanden-Heuvel、John C Vanden-Heuvel Sr.

    适合年龄: 7-9岁

    这本简短多彩的书向孩子们展示了C++编程是如何工作的。示例程序各色各样,这样孩子们就能理解程序的各个部分实际上是做什么的。

    Web开发类

    HTML和CSS

    网页用HTML构建,用CSS设计风格。这些不是真正的编程语言,但它们让孩子接触文本编辑器、构思想法,对日后探索Javascript或Python之类的语言很有用。

    15. Build Your Own Website, a Comic Guide to HTML, CSS and WordPress

    (建立你自己的网站,HTML、CSS和WordPress的漫画指南)

    作者:Nate Cooper、Kim Gee

    适合年龄:中学及以上

    在这本漫画风格的网站搭建指南中,孩子们学习HTML标记语言,熟悉控制网页样式的CSS语言,了解内容管理系统WordPress。

    链接:

    https://pan..com/s/194OAJuxV47aUdHndpjzXhA

    16. CoderDojo Nano: Building a Website: Create with Code

    (用代码搭建网站)

    作者:Clyde Hatter、CoderDojo

    适合年龄: 8-12岁

    这本书只有96页,引导孩子们完成建立网站的整个过程。孩子可以建立一个和书中例子完全一样的网站,也可以试着建自己喜欢的网站。

    17. Creating a Website: Design and Build Your First Site

    (创建网站:设计和建立你的第一个网站)

    作者:Greg Rickaby

    适合年龄: 7-11岁

    这本书为孩子设计网页提供指南,从规划网站的结构到添加使网站与众不同的细节。同时提供了软件工程师在现实世界中使用的许多技巧和操作过程。

    JavaScript

    许多程序员认为JavaScript是互联网的未来,学习这种语言可以建立互动性强的、有用的网站。

    18. Computer Coding with Javascript

    (使用Javascript进行计算机编码)

    作者:DK出版公司

    适合年龄: 8-12岁

    从HTML、CSS转到JavaScript可能容易晕,因为JavaScript更加复杂、强大。但这本书内容比较简单,孩子们可以顺利过渡。

    19. Javascript for Kids: A Playful Introction to Programming

    (面向儿童的JavaScript:有趣的编程入门)

    作者:Nick Morgan

    适合年龄: 10岁以上

    本书从数组、变量类型讨论到游戏编程。无论孩子想制作游戏、制作动画还是使用虚拟现实,JavaScript都能让他们把想法变成真实的程序。

    链接:

    https://pan..com/s/1JEs-oTMGwV2OgCcRdlfJEQ

    20. Javascript for Kids For Dummies

    (面向儿童的JavaScript傻瓜书)

    作者:Chris Minnick、Eva Holland

    适合年龄: 10-13岁

    如果你有兴趣读编程书,帮孩子学习编码,试试这本。这本书远远超出基本内容,方便读者构建任何能想到的Web项目。

    链接:

    https://pan..com/s/1JfXJvj0xPSdGGw-Iwr_IJA

    21. Get Coding! Learn HTML, CSS, Javascript & Build a Website, App & Game

    (编码!学习HTML,CSS,Javascript ;建立一个网站,应用程序和游戏)

    作者:Young Rewired State

    适合年龄: 9-12岁

    这本书中的课程是以任务形式呈现的,教导孩子构建网站、应用程序和游戏。他们还会了解不同类型的编程语言以及每种语言的优点。

    移动开发

    安卓应用

    App Inventor是一个完全在线开发的Android编程环境,具有类似Scratch的块编程界面。它简化了移动开发过程,是向孩子们介绍Android编程的理想方式。

    22. Building a Mobile App

    (构建移动应用程序)

    作者:Guthals

    适合年龄: 7-11岁

    读这本书的孩子不仅学习编码,还学习规划、开发自己的定制应用。本书提供了专业人员使用的应用程序开发的内容,包括原型制作和创建应用程序框架,对热爱移动开发的孩子来说特别有价值。

    23. Hello App Inventor

    (你好,App Inventor)

    作者:Paula Beer、Carl Simmons

    适合年龄: 9岁以上

    使用App Inventor构建的应用可以利用许多智能手机功能,如运动传感器、GPS和相机。本书通过30个示例项目向读者展示了如何利用这些功能。

    链接:

    https://pan..com/s/1ybVo8tEVE5TE3T8F4wnaqw

    iOS应用

    为了构建苹果产品应用程序,开发人员使用了一种叫Swift的语言。创建这种语言时,软件工程师想让没经验的人容易学习。对于从未编程的孩子来说,这是一个很好的选择。

    24. Coding iPhone Apps for Kids

    (适合孩子的iPhone应用程序编码)

    作者:Gloria Winquist、Matt McCarthy

    适合年龄: 10岁以上

    本书介绍了Swift语言和编码基础,并让孩子们构建两个真正的应用程序:一个生日跟踪器和一个滑板游戏。

    25. Hello Swift

    (你好,Swift)

    作者: Tanmay Bakshi、Lynn Beighley

    适合年龄: 9岁以上

    Tanmay Bakshi可以说是我们的老朋友了,智能观从去年开始就报道他的故事。他4岁编码,9岁就发布第一个应用程序。通过他的书,读者也会构建能在iOS应用商店上发布的应用程序。

    如果还有人对他不了解,可以看看我们往期的报道。附传送门:

    13岁天才少年在IBM掀起一场人工智能风暴

    IBM少年工程师说:人工智能的下一个前沿是心理健康

    游戏编程

    Scratch游戏编程

    26. Coding Games in Scratch

    (用Scratch编码游戏)

    作者:Jon Woodcock

    适合年龄: 8-12岁

    这本书让孩子在浏览器中制作自己的游戏。

    27. Code Your Own Games: 20 Games to Create with Scratch

    (编码自己的游戏: 用Scratch创建20个游戏)

    作者: Max Wainewright

    适合年龄: 6-11岁

    这本书分5个层次递进,20个游戏项目让孩子们熟悉编码和游戏开发的原理。每款游戏都锻炼了孩子们的能力,比如控制玩家互动、在屏幕上设置对象动画、添加声音。

    28. Star Wars Coding Projects

    (星球大战编码项目)

    作者:Jon Woodcock、Kiki Prottsman

    适合年龄: 8-12岁

    喜欢《星球大战》的孩子可以通过C3PO、R2D2和其他角色学习编码。读者不需要任何编程经验就可以看这本书。

    Python游戏编程

    29. Mission Python

    (Python任务)

    作者:Sean McManus

    适合年龄: 10岁以上

    虽然对于10岁的孩子来说,这本书有点简单了,但它探索了Python游戏编程的深度。书从Python Essentials插件开始,逐渐深入更高级的概念,如音频文件处理和3D图形。

    30. Invent Your Own Computer Games with Python

    (中文版:Python编程快速上手——让繁琐工作自动化)

    作者:Al Sweigart

    适合年龄: 10岁以上

    这本书通过对Hangman和Tic-Tac-Toe等几款流行游戏进行详细解释来教授编程。

    链接:

    https://pan..com/s/1ncZTTrIPlBzA30e_BNjDAA

    我的世界

    31. Learn to Program with Minecraft

    (用我的世界学项目)

    作者:Craig Richardson

    适合年龄: 10岁以上

    《我的世界》是一款受欢迎的3D游戏,孩子们可以在虚拟世界中探索、建造城堡等。本书介绍了如何使用Python编程扩展《我的世界》。

    链接:

    https://pan..com/s/13_FMKoqlMF8P1uu4gaqRNQ

    32. Minecraft Modding for Kids For Dummies

    (用我的世界教孩子建模的傻瓜书)

    作者:Guthals、Stephen Foster、 Lindsey Handley

    适合年龄: 10-13岁

    通过9个JavaScript项目,孩子们从《我的世界》里的“玩家”化身为 “建模师”。读者要有玩《我的世界》的经验,但不需要以前学过编码。

    机器人和物联网

    Arino

    Arino是一台微型计算机,可以用传感器、LED灯和马达等小硬件控制各种电路。学习Arino不仅仅意味着学习编码;它包括设计和建造真实世界的项目。

    33. Adventures in Arino

    (Arino历险记)

    作者:Becky Stewart

    适合年龄: 11-15岁

    喜欢机械和工程的孩子会喜欢本书中的项目。孩子们了解Arino,然后上手一些简单的项目,比如让LED灯亮起来。

    链接:

    https://pan..com/s/1JFopfxxfONYCGAKMM28yaQ

    34. Sylvia’s Super-Awesome Project Book: Super-Simple Arino

    (Sylvia的超棒项目书:超级简单的Arino)

    作者:Sylvia "Super-Awesome" Todd

    适合年龄: 8-12岁

    Sylvia介绍了如何建立Arino项目来控制灯光和制作音乐等。这些项目不是复制代码,罗列事物,而是对事物如何工作以及为什么工作进行了详细解释。

    树莓派

    你可以把树莓派(Raspberry Pi)当成Arino的升级版。两台计算机的尺寸差不多,但是树莓派的操作系统更接近笔记本电脑。

    35. Raspberry Pi Projects Workbook

    (树莓派项目工作簿)

    作者:DK出版公司

    适合年龄: 7-12岁

    孩子们可要通过这本书制作游戏,制作音乐,制作动画,学习Scratch、Python和Raspberry Pi。

    链接:

    https://pan..com/s/1AzZ-ZubG41zOXUh2IFRA

    36. Adventures in Raspberry Pi

    (树莓派历险记)

    作者:Carrie Anne Philbin

    适合年龄: 11-15岁

    本书介绍的9个项目让孩子们快速上手树莓派,涵盖的概念编程有基础、游戏编程、图形创建等。

    链接:

    https://pan..com/s/1Ub365kwYczlN0E5k6b-57g

    乐高机器人

    乐高生产了几个套件,包括机器人滚动、旋转甚至攀爬的所有必要部件。他们也有自己的语言,孩子们用这些语言来创作。

    37. The Art of Lego Mindstorms EV3 Programming

    (乐高头脑风暴EV3编程的艺术)

    作者:Terry Griffin

    适合年龄: 10岁以上

    本书教孩子们在EV3头脑风暴编程环境中,控制自己的机器人。他们学习如何建造乐高机器人并用代码控制它。

    38. Building Robots with Lego Mindstorms

    (用乐高头脑风暴套件制造机器人)

    作者: Mario Ferrari、Giulio Ferrari、Ralph Hempel

    适合年龄: 10岁以上

    在本书中,孩子们使用电子电路和传感器,以及乐高头脑风暴套件,学习制造机器人。书中有大量关于齿轮、马达、气动和其他工程概念的信息,对于严肃的机器人爱好者来说很重要。

    适合学龄前儿童的编码书

    为低龄儿童设计的编码书,帮助儿童建立对计算机程序的模式、颜色和其他基本要素的认知。

    39. Baby Loves Coding

    (宝贝喜欢编码)

    作者:Ruth Spiro

    适合年龄:学前及以上

    因为是给很小的孩子看的,书中没有提供任何明确的编码指导。它介绍了解决问题的方法,以及优秀程序员需要有的想法。

    40. Learn to code: Robot Train’s Surprise Birthday Party (Volume 1)

    (学会编码:机器人火车的惊喜生日聚会I)

    作者:by Jen Chiou

    适合年龄:学前及以上

    孩子在本书中了解编码的先决条件,如决策和逻辑。通过触摸书上像按钮的图片,孩子们帮助一辆虚构的机器人火车向生日派对运送用品,从而了解编码逻辑是如何工作的。

    41. HTML for Babies

    (适合婴儿的超文本标记语言)

    作者:Sterling Children's

    适合年龄: 3-5岁

    HTML是一种简单的标记语言,不需要复杂的逻辑,3-5岁的孩子可以通过本书,学会识别与网络编程相关的符号和颜色。

    42. JavaScript for Babies

    (适合婴儿的JavaScript语言)

    作者:Sterling Children's

    适合年龄: 3-5岁

    这本书让孩子们了解JavaScript的一些基本结构和数据类型。

    有趣的青少年编码书

    让青少年读一本编程类的书可能很困难,所以以下书籍通过游戏开发和其他有趣的项目,帮助青少年学习。

    43. Computer Programming for Teens

    (适合青少年的电脑编程)

    作者:Mary E. Farrell

    适合年龄:青少年

    没有编码经验的孩子和那些不知道学什么语言的孩子,是本书的目标受众。书中有一些C++、Python和Web编程语言的例子,孩子们将会找到最适合自己的编码项目。

    44. Game Programming for Teens

    (适合青少年的游戏编程)

    作者:Maneesh Sethi

    适合年龄:青少年

    本书介绍了一种名为BlitzMax的游戏专用语言,它使孩子们能在所有平台( Windows、Mac、Linux )构建游戏。

    链接:

    https://pan..com/s/1pe0gc_MlDdIeD3jp5YNE1w

    适合女孩的编码书,STEM入门

    女孩可以通过编程提前接触STEM。构建应用程序、开发游戏、编程机器人——这些活动为女孩们进入STEM领域奠定了坚实的基础。

    45. Women Who Launched the Computer Age

    (开创计算机时代的女性)

    作者:Laurie Calkhoven

    适合年龄: 6-8岁

    本书讲述了6位在二战期间为美国军方从事秘密项目的天才女性。

    46. Grace Hopper: Queen of Computer Code

    (格雷斯·霍普:计算机代码女王)

    作者:Laurie Wallmark

    适合年龄: 5岁以上

    格雷斯·霍普是一位有创造力的计算机科学家和数学家,也是一位授勋的海军军官和总统自由勋章获得者。孩子们会在她精彩的生活和成就中找到鼓励。

    47. Girls Who Code: Learn to Code and Change the World

    (学会编码并改变世界)

    作者:Reshma Saujani

    适合年龄: 10岁以上

    Reshma Saujani是女孩编码组织“Girls Who Code”的创始人,她在本书中介绍了电脑和编码,以及在科技领域工作的女性的轶事。

    培养儿童编码兴趣的通用读物

    编码的孩子受益于问题解决、数学和决策能力。一些优秀的儿童计算机科学通用读物侧重于培养孩子对编码的兴趣。

    48. Lauren Ipsum: A Story About Computer Science and Other Improbable Things

    (劳伦·益普森:关于计算机科学和其他不可思议的故事)

    作者:Carlos Bueno

    适合年龄: 10岁以上

    一个年轻的女孩需要找到回家的路,但要做到这一点,必须解决一个个难题……读者不知不觉中,接触到了编程逻辑、解决问题的技巧和其他计算机科学思想。

    49. Once Upon an Algorithm

    (从前有个算法)

    作者:Martin Erwig

    适合年龄:中学及以上

    算法是解决问题的一组指令或过程。你可能觉得孩子们不太想看这个。但作者Martin Erwig通过类比、童话和电影引用,使算法变得有趣。

    原文链接:

    http://www.codewizardshq.com/coding-books-for-kids/

    —完—

    扩展阅读:

    适合孩子学习编码的7款工具套件

    干货|| 如何在线学习编码?看看这 11个优秀的编程资源网站

    教孩子编码就够了吗?不!学校该培养的是计算思维

    每个人都应该学习编码吗?吴恩达这样回答……

    如果学生编程能力胜于老师,编码课该怎么教?

    亲爱的朋友:

    经常有读者咨询,有没有适合孩子的编码书推荐?

    我们之前推荐过一些,但苦于无中文版,很多读者找不到购买方式。

    今天的推荐,内容比较全面,我们可爱的小编找遍了资源,将能找到电子版都找到,一并送给你。

    其余没有资源的,网上也可以买到。

    如果本文对你有帮助,别忘了转发给你身边的朋友,让它帮助更多人。

    祝安!

    PS:为了方便与读者探讨,特意注册了一个专用号。如果你也是我们的铁杆读者,想探讨交流,可以加微信:znglmym。

    智能观 灵米

    2018-9-12 于北京中关村

    想知道AI加教育领域有哪些最新研究成果?

    想要AI领域更多的干货?

    想了解更多专家的“智能观”?

    请前往:www.智能观.com。

    想交流沟通,请加负责人微信:znglmym

    声明:

    编译文章旨在帮助读者了解行业新思想、新观点及新动态,为原作者观点,不代表智能观观点。

    转载智能观原创文章,请联系

    智能观小艾(微信号:zng2017618)!

    关于我们

    我们关注AI+教育。致力于提供高附加值的知识,以帮助每一位老师和我们的读者不断学习并提高技能。

    我们努力让发表的每一篇文章都具有最佳质量,以满足读者的需求。

㈧ NOLIA E72i 用360安全卫士扫描出Python plugin 与PIPS Installer 与 InstallGuide三个程序是恶意木马正常

Python plugin 这不是恶意木马, 我手机里面也有,是360有问题,把Python plugin删掉会出问题的。

㈨ 如何通过Python构造一个DNS查询包

可以尝试以下步骤:
ping一个域名,用wireshark抓一个DNS的query,看看各个字段分别是什么值;
用python的struct将这些字段按顺序pack成二进制数据;
用python的socket将构造好的数据发到DNS服务器UDP的53号端口,本地端口可以自行指定;
用python的socket从buffer中读取server返回的数据;
用python的struct将二进制数据中各个字段按顺序unpack回来;
打印显示。
按照这个方法,同样可以写一个简单的DNS服务器,希望能有所帮助。
再具体点,可以参照The TCP/IP Guide 中的DNS message format来构造query的各个字段:
Header部分
Identifier:16位的int,就是0-65535,可以用随机数产生。
Flags:0x0100,其中:
#0... .... .... .... = Query/Response
Flag: query=0
#.000 0... .... .... = Opcode: standard query=0
#.... .0.. .... .... = Authoritative
Answer Flag
#.... ..0. .... .... = Truncated: not truncated=0
#.... ...1 .... .... = Recursion desired: recursively=1,如果想 iteratively就置1
#.... .... 0... .... = Recursion Available: response的东西,=0
#.... .... .000 .... = Zero: 保留字段,=0
#.... .... .... 0000 = Response Code:=0
3.Question Count:16位的int,=0x0001
4.Answer Record Count:16位的int,=0x0000
5.Authority
Record Count:16位的int,=0x0000
6.Additional Record Count:16位的int,=0x0000
Question部分
QName:直接把域名打包进去;
QType:16位的int,我们要得到的是主机名,所以=0x0001,
QClass:16位的int,=0x0001

㈩ 《Python3程序开发指南》pdf下载在线阅读,求百度网盘云资源

《Python 3程序开发指南》([美] 萨默菲尔德(Mark Summerfield))电子书网盘下载免费在线阅读

资源链接:

链接:https://pan..com/s/1UqWQmiRdjPEqHOKku1n2Cg

提取码:1idq

书名:Python 3程序开发指南

作者:[美] 萨默菲尔德(Mark Summerfield)

译者:王弘博

出版社:人民邮电出版社

出版年份:2015-2

页数:518

作者简介:

Mark Summerfield,Qtrac公司的所有人,同时还是一位在Python、C++、Qt以及PyQt等领域卓有专长的独立培训专家、顾问、技术编辑与作者。Mark Summerfield撰写的书籍包括《Rapid GUI Programming with Python》以及《Qt:The Definitive Guideto PyQt Programming》(Addison—Wesley,2008),并与Jasmin Blanchette共同编写了《C++GUI Programming with Qt 4》(Addison—Wesley,2006)。作为Trolltech的文档管理者,Mark创立了并负责编辑Trolltech的技术杂志《Qt Quarterly》。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:427
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:552
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:738
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:531
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:141
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:227
java驼峰 发布:2025-02-02 09:13:26 浏览:646
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:527
linuxadobe 发布:2025-02-02 09:09:43 浏览:207
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:721