快乐成长


每天进步一点点



把学习变为一种快乐,快乐长能长久,才能坚持,才能降低学习成本,带给您学习乐趣。 每天进步点点, 一直是我们的愿望,欢迎您光临!!

为了给您增加学习乐趣,并且学到有意思,简单高效的,有用的学习,为零基础的朋友们录制了趣味编程视频,欢迎您浏览,谢谢!

月度归档:2018年05月

Linux Nano编辑为初学者解释(10个例子)

在本教程中,我们将讨论Nano编辑器的基本用法,以及它提供的一些功能。

我们在Howtoing 已经详细介绍了Vim编辑器。 但Vim不是Linux提供的唯一的命令行编辑器。 有一些在一些Linux用户或其他部分中受欢迎。 所以,考虑到这一点,在本教程中,我们将讨论Nano编辑器的基本用法,以及它提供的一些功能。

请注意,本文中提到的所有示例和说明都已在Ubuntu 16.10 LTS上进行了测试,而我们使用的Nano版本为2.2.6。

关于纳米

Nano编辑器旨在模拟UW Pico文本编辑器的功能和用户友好性。 以下屏幕截图显示了编辑器的操作:

Linux Nano编辑器

官方文档如何解释编辑器的各个部分:

There are four main sections of the editor. The top line shows the program version, the current filename being edited, and whether or not the file has been modified. Next is the main editor window showing the file being edited. The status line is the third line from the bottom and shows importantmessages. The bottom two lines show the most commonly used shortcuts in the editor.

以下部分将介绍Nano的基本用法以及某些功能。

1.如何使用Nano编辑器创建和打开一个新文件

如果要创建一个新文件并使用nano打开它,则可以通过运行以下命令来执行此操作:

$ nano

要么

$ nano [file-name]

第二种方式也可以用来打开现有文件。 不用说,如果要打开不在当前目录中的文件,则必须提供该文件的绝对路径或相对路径。

以下屏幕截图显示了在nano编辑器中打开的文件:

用nano创建新文件

您可以看到,在编辑器窗口的底部,有一些有用的信息与键盘快捷键,让用户执行一些基本操作,如剪切和粘贴文本。 让您退出编辑器并启动帮助的快捷方式也在那里。

2.如何在Nano中保存文件

要保存文件,请使用键盘快捷键Ctrl + o 。 当您按下此组合键时,编辑器会要求您提供一个文件名(如果编辑器启动时已经提供,请确认该名称)。 只需要做,然后按Enter键保存文件。

下面是一个截图示例:

用nano保存文件

Nano还允许您以不同的操作系统格式保存文件。 例如,您可以按Alt + d保存为DOS格式。 同样,要保存为Mac格式,请按Alt + m 。 请注意,要更改格式,首先必须按Ctrl + o启动平常的保存过程,然后使用格式特定的快捷键,Alt + dAlt + m 。

纳米编辑器以不同的格式保存

3.如何在Nano中剪切和粘贴文本

要剪切并粘贴特定的行,首先将光标移动到该行。 现在,按Ctrl + k剪切,然后前往要粘贴的地方,最后使用Ctrl + u进行粘贴。

例如,在下面的截图中,如果要求是剪切第一行并将其粘贴到底部。 然后,按Ctrl + k 。 现在,将光标导向底部,然后按Ctrl + u 。

如何在Nano中剪切和粘贴文本

在。

您也可以复制特定的字符串而不是全行。 为此,首先,您必须通过按住Ctrl + 6 (或Alt + A ),使用光标在字符串的开头选择该字/字符串。 现在您可以按Ctrl + k剪切,然后Ctrl + u粘贴该字。

复制nano中的文字

在nano中粘贴文本

正如你在上述两个屏幕截图中可以看到的,“制作”被选择性地剪切并粘贴在底部。

4.如何使用nano搜索和替换单词

该工具还允许您搜索特定单词,并将其替换为另一个单词。

要在Nano中搜索一个单词,请按Ctrl + w 。 然后,您将被要求输入要搜索的单词。 输入单词后,只需按Enter键,该工具将带您进入匹配的条目。

搜索纳米

您还可以通过按Ctrl + \将关键字替换为另一个。 当您按下此组合键时,Nano会询问您要更换的单词。 输入单词后,按回车,现在将要求替换单词。 之后,它会要求您确认更改。 确认后,进行更改。

以下三个截图将帮助您了解整个过程。

用nano搜索文件

用nano替换文本

结果

5.如何将另一个文件插入当前文件

如果需要,您还可以将数据从另一个文件插入到您当前在Nano中编辑的文件。 为此,请按Ctrl + R ,然后给出要打开的文件的路径。

以下是此功能的示例截图:

合并纳米文件

插入文本

如上图所示,新文件的文本被插入到光标位置。

6.如何显示光标位置

如果需要,您还可以检查光标在文件中的位置。 这可以通过按Ctrl + c键盘快捷方式来完成。

显示光标位置

如上图所示,在Ctrl + c被按下之后,光标位置在编辑区域突出显示,详细信息显示在状态行中(突出显示的位置是第三行窗口)。

7.启动时如何将光标放在特定的行和列上

如果需要,还可以在编辑器启动时将光标置于文件的特定行和列上。 这可以通过在启动编辑器时提供所需的详细信息来完成。 用于此功能的命令行开关为+行,列 ( 确定行号,而确定列编号)。

$ nano +line,column [filename]

例如:

$ nano +2,5 abc.txt

启动时将光标放在特定的行和列上

如上图所示,当打开文件时,光标位于第二行和第五列。

8.如何备份以前版本的文件

该工具允许您备份正在编辑的文件的以前版本。 这是在您进行更改并保存文件后完成。 可以使用-B命令行选项访问此功能。

$ nano -B [filename]

例如:

$ nano -B abc.txt

备份将以相同的文件名保存在当前目录中,Postfix为波形符号(〜)。

备份以前版本的文件

请注意,无法备份第一次创建的文件。

9.如何在特定目录中备份文件

该工具允许您将所有备份文件保存在特定目录中。 可以使用-C-backupdir命令行选项访问此功能,该选项需要要保存备份文件的目录的路径。

$ nano -B –backupdir=[directory-path]

10.如何将制表符转换成空格

该工具还允许您将制表符转换为空格。 可以使用-E命令行选项访问此功能。

$ nano -E [filename]

例如,以下屏幕截图显示包含单词之间的选项卡的文本。

将标签转换为空格

现在,由于使用-E选项启动了编辑器,所以当保存更改时,选项卡被转换为空格。

将标签转换成空格 - 结果

结论

鉴于本教程针对初学者,我们刚刚在这里划伤了表面。 使用Ctrl + G快捷方式了解更多关于Nano的信息。 哦,是的,不要忘了尝试我们在这里讨论过的基础知识。

android开发环境搭建

现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到Android Studio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲Android Studio着手;而且很多优秀的开源项目都是基于Android Studio!当然,在本教程中对两种开发环境都会进行一个介绍,用哪个取决与你自己~ 还有一个IntelliJ,和Android Studio差不多的,并不对此进行讲解!

1.JDK安装与配置

  • Step 1:下载JDK 可以到官网进行下载:Jdk官方下载 也可到笔者网盘下载:笔者网盘 PS:这个随便下一个都可以,关系不大,32位的只能下32位哦!
  • Step 2:JDK安装 傻瓜式的下一步即可!
  • Step 3:环境变量的配置 配置环境变量是为了方便我们一些命令行的操作,后续会用到! 右键我的电脑——>高级——>环境变量 Java环境变量配置1
  • 新建JAVA_HOME 新建JAVA_HOME 修改PATH变量,别把原本的东西删掉!!!! 修改PATH变量 新建CLASSPATH 新建CLASSPATH 验证环境是否配置完成 打开电脑的cmd(命令行),win键 + R输入cmd,然后在命令行依次javac和java,出现如图效果表示配置完成: 此处输入图片的描述

2.开发工具二选一

一开始也说了开发环境IDE的现状,另外前面忘记说一点:Android Studio是比较吃配置的,如果电脑不怎么好,建议还是先使用Eclipse进行Android开发,下面先说下我们熟悉IDE开发APP的流程,按照下述流程来熟悉IDE的使用:

熟悉IDE开发APP的流程

然后下面两个选一个,开始我们的Android开发之路吧!

Eclipse + ADT + SDK: Android Studio + SDK:


3.相关术语的解析

  1. Dalvik: Android特有的虚拟机,和JVM不同,Dalvik虚拟机非常适合在移动终端上使用!
  2. AVD: (android virtual machine):安卓虚拟设备,就是安卓的模拟器
  3. ADT: (android development tools)安卓开发工具
  4. SDK:(software development kit)软件开发工具包,就是安卓系统,平台架构等的工具集合,如adb.exe
  5. DDMS:(dalvik debug monitor service)安卓调试工具
  6. adb:安卓调试桥,在sdk的platform-tools目录下,功能很多,命令行必备
  7. DX工具:将.class转换成.dex文件
  8. AAPT:(android asset packing tool),安卓资源打包工具
  9. R.java文件:由aapt工具根据App中的资源文件自动生成,可以理解为资源字典
  10. AndroidManifest.xml:app包名 + 组件声明 + 程序兼容的最低版本 + 所需权限等程序的配置文件

后续内容对于初学者的你可能有点难度,但后面回头,你会发现这些东西很有用~ 看不懂的话,可以先跳过

4.ADB命令行的一些指令

执行ADB指令之前我们还需要为我们的SDK配置一下环境变量 Step 1:新建一个ANDROID_HOME的环境变量,把sdk根目录地址贴上去: 此处输入图片的描述 Step 2:更新Path环境变量,在Paht开头加上:%ANDROID_HOME%\tools; 即可 配置完了,接下来就来学习指令了: 常用ADB指令


5.APP程序打包与安装的流程:

APP程序打包与安装的流程


6.APP的安装过程:

APP的安装过程

7.本节小结

本节我们对Android开发IDE的现状进行了分析,建议初学者硬件条件允许的话,使用Android Studio来进行Android APP的开发,讲述了JDK的安装与配置,以及熟悉IDE的流程,一些关键名称的解析,ADB命令行的常用指令,最后还有程序的打包安装和安装过程的解析!经过这章相信大家对Android开发有了个简单了解,了解开发一个程序的流程,以及对应的项目目录结构!相信大家会抱怨模拟器AVD跑得很慢,下节会给大家介绍一个比真机还快的Android模拟器——Genymotion的安装使用!

 

来源: http://www.runoob.com/w3cnote/android-tutorial-development-environment-build.html

Android开发工具汇总

这是Android开发工具汇总、 开发者必备的小工具。包含了Android开发所需要的环境、在线小工具、开发神器、辅助工具、开发文档、学习教程。提供SDK 、AndroidSudio、 ADT、Gradle等等各个版本的下载。 欢迎更多的同学加入我们,和我们一起把Android 开发工具汇总编辑完善。如果你有好工具,本站没有收录,欢迎发送邮箱luzhensheng72@gmail.com 或者在下方留言。
特别感谢DuGuang、 程序员之家、 inferjay 、qunlunsoft等对本站的支持。

Android Studio 版本

版本描述WindowsMacLinux
2.1 preview1支持Java 8 语言特性、向导用于配置生成针对Android N 预览版本的项目。下载下载下载
2.0 preview9包含Instant Run、更快的模拟器、全新GPU分析器等多项功能改进。下载下载下载
2.0 preview4preview下载下载下载
2.0 previewpreview下载下载下载
1.5.1 正式版正式版下载下载下载
1.2 正式版1.2下载下载下载
1.1 正式版1.1下载下载下载
版本描述WindowsMacLinux

Android Studio 插件

插件名称描述下载地址
ButterKnife一键从xml布局文件中生成对View的声明和ButterKnife的注解下载
LeakCanary帮助你在开发阶段方便的检测出内存泄露的问题,使用起来更简单方便下载
android-parcelable-plugin可以生成实现Parcelable接口所需的字段和方法下载
adb-idea实现:卸载应用\杀掉应用进程\启动应用\重启应用\清除应用数据下载
Android Holo Colors Generator通过自定义Holo主题颜色生成对应的Drawable和布局文件下载
Android Studio Prettify从布局文件中生成对View的声明(不使用注解)下载
SelectorChapek for Android通过资源文件命名自动生成Selector Drawable下载
MaterialDesignIconGenerator通过资源文件命名自动生成Selector Drawable下载
MaterialDesignIconGenerator生成MaterialDesignerIcon到项目下载
GitignorePlugin帮助生成ignore文件的插件下载
Codegenerator-Plugin-Intellij由xml layout自动生成Fragment、ViewHolder、Activity等,免去写findViewById的问题下载
MarkDown在AS中编辑Readme文件时,可以直观的预览最终的网页显示效果,对于经常在项目中写Readme的你,你一定需要下载
GsonFormat根据Gson库使用的要求,将JSONObject格式的String 解析成实体下载
AndroidWiFiADB可以通过这个插件来达到无线调试应用的目的,摆脱数据线下载
FIRPlugin一键上传应用到fir.im下载
Android-DPI-Calculator方便计算出在不同目录(hdpi xhdpi xxhdpi..)下的DPI下载
Unit Test Plugin解决testcompile依赖下载
intellij-java2smali快速编译Java和Kotlin下载
Genymotion最好用的Android模拟器在线安装
Robotium RecorderRobotium 自动化测试脚本录制工具在线安装
插件名称描述下载地址

ADT Bundle

ADT Bundle版本WindowsMacLinux
23.0.232位下载  /  64位下载64位下载32位下载  /  64位下载
23.0.032位下载  /  64位下载64位下载32位下载  /  64位下载
ADT Bundle版本WindowsMacLinux

ADT Plugin

ADT Plugin版本下载地址
ADT-23.0.7下载
ADT-23.0.6下载
ADT-23.0.4下载
ADT-23.0.3下载
ADT-23.0.2下载
ADT-23.0.0下载
ADT-22.6.3下载
ADT-22.6.1下载
ADT Plugin版本下载地址

Android SDK

版本WindowsMacLinux
android 5.0(21)下载下载下载
android L Rev3(L)下载下载下载
android 4.4W(20)下载下载下载
android 4.4.2(19)下载下载下载
android 4.3(18)下载下载下载
android 4.2.2(17)下载下载下载
android 4.1.2(16)下载下载下载
android 4.0.3(15)下载下载下载
android 4.0(14)下载下载下载
android 3.2(13)下载下载下载
android 3.1(12)下载下载下载
android 3.0(11)下载下载下载
android 2.3.3(10)下载下载下载
版本WindowsMacLinux

SDK TOOL

版本WindowsMacLinux
sdk-tools-r24.3.4下载下载下载
sdk-tools-r24.3.2下载下载下载
sdk-tools-r24.2下载下载下载
sdk-tools-r24.1.2下载下载下载
sdk-tools-r24.0.1下载下载下载
sdk-tools-r24下载下载下载
sdk-tools-r23.0.2下载下载下载
sdk-tools-r23下载下载下载
版本WindowsMacLinux

SDK Samples

SDK Samples版本号下载链接
android 21 (21)下载
android L (L)下载
android 4.4W (20)下载
android 4.4.2 (19)下载
android 4.3 (18)下载
android 4.2.2 (17)下载
android 4.1.2 (16)下载
android 4.0.3 (15)下载
android 4.0 (14)下载
android 3.2 (13)下载
android 3.1 (12)下载
android 3.0 (11)下载
android 2.3.3 (10)下载
android 2.2 (8)下载
SDK Samples版本号下载链接

Framework Source Code

源码版本下载地址
Source Code 5.0 (21)下载
Source Code 4.4W (20)下载
Source Code 4.4.2 (19)下载
Source Code 4.3 (18)下载
Source Code 4.2.2 (17)下载
Source Code 4.1.2 (16)下载
Source Code 4.0.3 (15)下载
Source Code 4.0 (14)下载
Source Code 3.0 (11)下载
Source Code 2.3.3 (10)下载
Source Code 2.2 (8)下载
源码版本下载地址

Support Library

Support Library版本下载地址
21.0.3下载
21.0.2下载
21下载
Support Library版本下载地址

gradle

版本号下载链接
gradle-2.10-all.zip下载
gradle-2.9-all.zip下载
gradle-2.8-all.zip下载
gradle-2.7-all.zip下载
gradle-2.6-all.zip下载
gradle-2.5-all.zip下载
gradle-2.4-all.zip下载
gradle-2.3-all.zip下载
gradle-2.2.1-all.zip下载
gradle-2.2-all.zip下载
gradle-2.1-all.zip下载
gradle-2.0-all.zip下载
gradle-1.12-all.zip下载
gradle-1.11-all.zip下载
gradle-1.10-all.zip下载
gradle-1.9-all.zip下载
gradle-1.8-all.zip下载
gradle-1.7-all.zip下载
版本号下载链接

GIT

git版本WindowsMacLinux
Git-2.0.1-下载-
Git-1.9.4下载--
Git-1.8.5.2下载下载-
git版本WindowsMacLinux

SVN Plugin For Eclipse

SVN版本下载地址
SVN-1.10.5下载
SVN-1.8.22下载
SVN-1.6.18下载
SVN版本下载地址

NDK

NDK版本WindowsMacLinux
NDK r10e32位下载  /  64位下载32位下载  /  64位下载32位下载  /  64位下载
NDK r9e32位下载  /  64位下载32位下载  /  64位下载32位下载  /  64位下载
NDK版本WindowsMacLinux

JDK

JDK版本WindowsMacLinux
1.8 u532位下载  /  64位下载64位下载32位下载  /  64位下载
1.7 u6032位下载  /  64位下载64位下载32位下载  /  64位下载
1.6 u4532位下载  /  64位下载64位下载32位下载  /  64位下载
JDK版本WindowsMacLinux

反编译工具

名称描述下载地址
Dedexer反编译dex文件的开源工具下载  /  教程
enjarifyGoogle官方开源的可以将 Dalvik 字节码转换为 Java 字节码的工具。下载  /  教程
dex2jar+jd-gui+apktool完美组合反编译下载  /  教程
APK+Dex文件反编译及回编译工具针对Android OS系统的APK程序,直接反编译修改的工具下载  /  教程
onekey decompile apk一键反编译apk工具下载  /  教程
BaksmaliDalvik的dex格式汇编/反汇编程序下载  /  教程
AXMLPrinter2反编译 AndroidManifest.xml下载  /  教程
Android逆向助手反编译apk/重新打包成apk/对apk进行签名/反编译dex/重新打包成等等下载  /  教程
Android Killer集Apk反编译、Apk打包、Apk签名,编码互转,下载  /  教程
名称描述下载地址

Android 分析工具/反逆向

名称描述下载地址
SmaliViewer一款免费的APK分析软件,采用多种方法来对疑似样本进行筛选判定下载  /  教程
XAppDbgXAppDbg是一个可以在运行中改变代码中参数的一个应用开发工具。这个工具可以为你省下大量的时间,因为你不用为应用的每次小改变而重新编译运行你的程序下载
ChkBugReport这个工具可以快速地检查输出的Android错误报告。它从Android错误报告工具输出的大量文本文件中进行语义分析,然后解析成一个更具有可读性的文档,分析起来更加容易下载
AppXplore有了AppXplore工具,你可以浏览所有安装在你安卓设备上的应用,还可以剖析很多应用的细节——应用的版本、包名、证书、权限、签名、activities和很多设备上其它一般不可查看的信息下载
SandDroidAPK静态动态分析下载
Android analysis framework每一个Android应用程序的全面分析下载
ApkAnalyserAndroid 静态,虚拟分析工具,用来测试和验证 Android 应用的开发工作下载
APKfuscator一个防止dex逆向的开源项目下载
Androguard恶意软件分析工具包下载
VirusTotal扫描APK病毒下载
Droidbox一款Android病毒的动态分析工具下载
dsploitAndroid工具进行网络分析,端口扫描,MITM攻击,等等。下载
TaintDroid扫描APK病毒下载
AndBug一个非常强大的安卓调试工具下载
Android安全监测网在线监测Android病毒检测下载
名称描述下载地址

Android测试工具/平台

版本描述下载地址
AppurifyGoogle旗下的公司,对移动应用和网站进行自动测试和优化下载
Testin国内测试平台下载
GTAPP的随身调测平台,它是直接运行在手机上的“集成调测环境”下载
Little EyeFacebook性能测试工具下载
APT一个Android平台高效性能测试组件下载
Emmageer-下载
易测云-下载
版本描述下载地址

Android多渠道打包工具

名称描述下载地址
Android studio 多渠道gradle 多渠道下载
AndroidMultiChannelBuildTool一秒900下载
兰贝壳儿基于eclipse 插件下载
package_tool替换相应的标签,然后重新打包下载
名称描述下载地址

日志收集工具

名称描述下载地址
ChkBugReport-下载
Crashlytics-下载
Android Crash Catcher-下载
ACRA-下载
名称描述下载地址

资源清理工具

名称下载地址
Android Lint下载
Android Resource Cleaner下载
Android Unused Resources下载
Android Resource Remover下载
名称下载地址

Chrome插件

名称下载地址
Android Resource Navigator下载
Android SDK Search下载
Mobile/RWD Tester下载
Android Developer Improvements下载
Android downloader下载
ADB Plugin for remote下载
ExtensionAndroid SDK Samples Search下载
Android Developer Improvements下载
JSONView下载
JSON Formatter下载
Base64 Encode and Decode下载
名称下载地址

切图工具

名称描述下载地址
Slicy切图神器下载
DevRocket切图神器下载
Cutterman切图神器下载
Ink输入你的字段的前缀,选择你的XML中的范围并点击生成,自动生成java代码下载
名称描述下载地址

尺寸标注工具

名称描述下载地址
马克鳗马克鳗下载
PxCook像素大厨UI设计师效率提升利器,让你专注于设计本质, 不再为标注切图而烦恼,从设计到实现一气呵成下载
名称描述下载地址

矢量图工具

名称描述下载地址
Affinity Designer-下载
Adobe Illustrator-下载
Gravit-下载
名称描述下载地址

配色工具

名称描述下载地址
Android Material Design可视化调色板-下载
Colorube配色神器-下载
Android Material Colours-下载
Piknik-下载
名称描述下载地址

效果预览工具

名称描述下载地址
Android Design Preview-下载
PS Play-下载
LiveView-下载
skalapreview-下载
名称描述下载地址

原型设计工具

名称描述下载地址
Fluid UI-下载
Briefs-下载
Axure-下载
UXPin-下载
名称描述下载地址

在线代码生成器,提高开发效率

名称描述下载地址
Android Layout Finder只需粘贴你的Android布局代码在第一个文本框,选择你需要的功能,就会自动生成代码下载
Android KickstartR帮助您快速创建 Android应用程序并使用最流行的库进行配置。 它创建和配置你的项目给你。只专注于代码!下载
Android Button Maker在线生成shape drawable XML代码 ,提供图形界面调试,更加直观下载
Android Layout Parser工具输入你的字段的前缀,选择你的XML中的范围并点击生成,自动生成java代码下载
名称描述下载地址

Android资源生成分析工具

名称描述下载地址
Android Asset Studioicon制作(桌面icon,通知栏icon等),9patch图片制作,ActionBar样式等相关的工具下载
Android Action Bar Style Generator自定义生成自己风格主题,图形化界面,直接下载相关的代码和资源下载
Simple Nine-patch Generator快速生成不同分辨率的资源下载
Android Holo Colors Generator在线生成android的组件,如EditText、Radio等等,通过自定义自己的颜色风格。图形界面,简单可观下载
Android Assets Viewer通过上传的自己的drawable resources,是否达到设计师的视觉效果下载
Android SVG to VectorDrawable一个可以将SVG图片转换为Vector Drawable xml文件的在线工具下载
名称描述下载地址

计算转换工具

名称描述下载地址
Android dp px Calculatordp px 相互转换下载
DP-PX-converter自定义生成自己风格主题,图形化界面,直接下载相关的代码和资源下载
Androidpixels不同分辨率下的转换数值下载
pixelcalcAndroid pixel 计算器下载
名称描述下载地址

grepcode.com是一个Java源码搜索引擎,对于查看Android代码也不例外。并且支持多个API版本快速切换查看。如果你的IDE关联本地代码后,让机器累的喘不过气来,那么就试一试这个在线的工具吧。

名称描述下载地址
Grepcode支持多个API版本快速切换查看下载
名称描述下载地址

当你还在花时间切换不同的反编译工具时,一个在线反编译网站应运而生,它就是Android APK Decompiler,只需上传要反编译的apk包,无需多时,源码可以下载下来了。

名称描述下载地址
Android APK Decompoler有两个在线反编译,简单容易,喜欢哪个用哪个下载1  /  下载2
名称描述下载地址

由于一些你懂的原因,国内无法直接访问Google Play商店。而且下载Google Play商店还是需要登陆谷歌账户,以国内的网络,下载成功简直是太困难了。这里介绍一款不需要账户国内即可访问的Web工具。可以通过输入包名或者Google Play地址即可下载。

名称描述下载地址
快速下载Google Play应用下载Google Play的应用下载
名称描述下载地址

Android中所有的资源都有一个对应的资源ID,资源ID的类型为16进制的整数。有些时候特殊的场合处理资源ID,为了调试需要进行进制转换,比如16进制转常用的10进制。不用自己算,使用下面的工具就可以轻松搞定。

名称描述下载地址
进制转换在线快速转换,比如16进制转常用的10进制下载
名称描述下载地址

在CS应用中,客户端和服务器端通常使用json作为数据交换格式。当分析的时候,我们必然是将raw数据转换成可读性更高的。快来使用这个强大的工具吧。

名称描述下载地址
JSON格式化转成标准json格式下载
名称描述下载地址

收录网站各个领域的开发API,比如图片识别,语音合成,OCR等等一些生活常用的API开放接口,不需要后台也可以做一款使用的应用

名称描述下载地址
API 市场图片识别,语音合成,OCR等等一些生活常用的API开放接口下载
名称描述下载地址

在线画流程图,如果你在家里用的MAC OX ,但是在公司用的是Linux ,那么导致UML图的转移不方便,这个在线的UML画图解决了一切问题

名称描述下载地址
在线UML工具UML工具 、类图、流程图等等下载
名称描述下载地址

国内功能很强大且图标内容很丰富的矢量图标库,提供矢量图标下载、在线存储、格式转换等功能

名称描述下载地址
公开图标库设计和前端开发的便捷工具下载
名称描述下载地址

当图片很大的时候,又不想麻烦设计师,那么这个网站很适合你,批量压缩各种图片,直接把图片拖拉进去就行

名称描述下载地址
批量图片压缩批量图压缩下载
名称描述下载地址

通常UI设计师都会给开花童鞋色值,当疏忽的时候,我们可以使用截图软件得到10进制的三个值,然后将其转换成色值。这里有一个便捷的RGB工具。

名称描述下载地址
RGB转换RGB转换下载
名称描述下载地址

Chrome的Developer Tools对于WEB开发者来讲几乎是一个神器,而Chrome Store里也有无奇不有的插件,如果Chrome能调安卓应用应该是一件美好的事,而Facebook开源的一个工具Stetho让Chrome调试android 应用不再是一个梦。安卓在调试时,有时候需要查看数据库,SharePreference等,而这个前提是必须root,另一方面,andoird的网络方面的抓包调试显得很困难,而这一切,Stetho都为我们轻轻松松地解决。除了使用android集成环境里的工具查看view树,使用Stetho也可以做到。

名称描述下载地址
StethoAndroid 调试神器(FaceBook 出品)下载  /  教程
名称描述下载地址

著名的开源组织 Square 开发了一套 Android 和 Java 内存泄露检测库。LeakCanary 是一个检测内存泄露的开源类库。你可以在 debug 包种轻松检测内存泄露。

名称描述下载地址
LeakCanary轻松检测内存泄露。下载  /  教程
名称描述下载地址

dex-method-counts来统计包中的总体数量,使用方法很简单,只需执行下面语句即可: java -jar path\dex-method-counts.jar path\App.apk

名称描述下载地址
dex-method-counts统计包中方法的总体数量下载  /  教程
名称描述下载地址

Android Butterknife Zelezny这个插件,事实上这是个Android Studio的plugin,他可以让你在添加Butterkinfe注解时偷偷懒,直接点击几下鼠标既可以完成注解的增加,同时还是图形化的操作,可以说,大大的减轻了开发负担。尤其是当你的layout中有很多很多的view需要通过findviewbyid来获得引用时。

名称描述下载地址
Android-butterknife-zelezny一键生成注解下载  /  教程
名称描述下载地址

手动实现Parcelable接口,往往需要写多些代码去实现,android-parcelable-plugin.可以让你几秒钟实现 Parcelable接口,让开发变得更开心

名称描述下载地址
android-parcelable-plugin一键生成邮包方法下载  /  教程
名称描述下载地址

你还在为在使用真机测试时,缺乏数据线而发愁吗?你还在为同事踩烂了你的一根数据线而耿耿于怀吗?(说实话我今天就被踩烂了一根) 你还在为每次用数据线连接真机测试时,都得抽拔抽拔而不耐烦吗?AndroidWiFiADB 通过WiFi 进行adb调试, 摆脱数据线

名称描述下载地址
AndroidWiFiADB通过WiFi进行adb调试下载  /  教程
名称描述下载地址

这是一个根据JSONObject格式的字符串,自动生成实体类参数.

名称描述下载地址
GsonFormatJSon实体类快速生成插件下载  /  教程
名称描述下载地址

ACRA是一个可以让安卓应用自动发出GoogleDoc格式崩溃报告的函数库。安卓开发者可以通过ACRA获取应用崩溃或者错误行为的数据。如果有一个崩溃发生,你的应用不会越过已有的系统崩溃提醒或者报告功能来添加用户提醒。如果使用Toast、状态提醒条或者直接对话框模式,这个“强制关闭”的对话框不会再显示,就算设备上原生系统的提醒功能开启也不能发送一个另外的报告。

名称描述下载地址
ACRA知道程序的错误才能更快的解决问题,优化我们的程序

来源:http://androidblog.cn/tools/

速写基础教程

速写的概念和功能

1、速写的概念  速写是画家在较短的时间内以简练、概括和鲜明的手法对艺术形象进行瞬间捕捉,并以此方式表达自己对物象的强烈感受。速写是素描的凝练与概括。

2、速写的功能  速写是敏锐观察能力和艺术造型能力培养的重要途径。速写作为造型艺术基本功的训练,能够培养学习者对物象敏锐的观察力,具备与众不同的眼睛,以艺术的眼光和视角去认识和观察世界,在平凡中发现伟大,在一般中发现典型。速写还可以培养学习者,灵活准确的造型能力,能够从复杂多变的生活场面和人物中捕捉、概括出不同形象的鲜明特征。 

速写是画家创作素材收集的重要载体。艺术创作与生活的体验、素材的积累有着密切的关系。“素材”是画家艺术创作必备的前提条件之一,可以说,没有艺术家素材的收集和积累,就不可能有艺术精品佳作的诞生。速写以其工具简单,携带方便,能够迅速、简要捕捉和概括瞬间物象变化而成为画家创作素材收集的重要载体。许多画家一生速写本不离身,走到那里,画到那里,速写使他们成就卓著,受益终身。 

速写具有独立的审美价值。速写,以其大胆而富有节奏的落笔、简练而明畅的线条、强烈而饱满的激情把观众带到无限深邃的意境之中,得到美的熏陶和享受。因此,速写不仅是艺术造型的重要途径,素材收集的重要载体。而且,具有独立的艺术审美价值。

一个梦想成为艺术家的人,他必须具备敏锐的观察力;必须熟练掌握艺术造型能力;必须具有丰富的生活体验和艺术素材的积累。而速写,是实现这些条件的重要途径。因此,速写对学习者成才具有重要而深远的意义。

对于美术院校的学生来说,速写作为造型艺术训练的基本功,它是美术院校的必修课。甚至速写还作为某些专业的主导课程,如国画专业,所以,已经入校的美术学生也应高度重视速写的训练和学习。

对于正在准备迎战美术高考的考生来说,速写是绝大部分美术院校招生的必考科目,速写能力的高低,成绩的优劣,直接关系到考生的录取与否。从历年的美术高考分析,许多考生素描、水粉等科成绩优秀,却因不够重视速写科目训练,能力较差,成绩不佳,而在高考中名落孙山,遗憾终身。从某种意义说,速写是一块打开“艺术之门”的敲门砖。速写对于正在报考美术院校的学生,具有更现实的意义。 

(二)速写的工具    

速写的工具选择,可根据个人的偏爱和实际需要来确定。但应以简单实用,携带方便为原则。 

1、笔的选择

用于速写的笔可谓多种多样,如钢笔、铅笔、碳笔、马克笔、毛笔、油画棒等。只要用起来得心应手,能充分表达个人的感受、激情和意图即可。

钢笔   钢笔有普通钢笔、针管笔和美工笔等。其共同特点是含墨水较多,线条流畅、清晰而挺拔。美工笔弯曲的笔尖使线条可粗可细变化丰富。钢笔的缺点 是不易涂改,无浓淡、深浅变化。

铅笔(含碳笔)  铅笔有绘图铅笔、碳铅笔、速写铅笔和木炭条等。速写铅笔为扁平状,铅蕊可切为斜面,线可粗可细。铅笔有软硬之分。人物速写多以软铅笔为主,线条润滑而流畅,可表现出丰富的线条变化和深浅调子层次。不足之处是画面易脏,不宜保存。

毛笔    毛笔是中国传统的绘画工具,有勾线笔、衣纹笔等,目前还有多种钢笔型毛笔,可用钢笔墨水,携带方便。毛笔有软毫、硬毫之分(如羊毫笔较软, 狼毫笔较硬)。毛笔可抑扬顿挫、轻重缓急,可体现干湿浓淡、皴擦点染等不同变化。是画家绘画的好工具,尤其是中国画专业的必用工具。但作为速写工具最大的缺点是携带不便。 

2、纸的选择

速写用的种类繁多,如绘图纸、素描纸、铜版纸、卡纸、毛边纸、宣纸等。由于用笔不同,所选择使用的纸也就不同。

钢笔速写的用纸应选择光滑而不太渗水的纸为宜,如卡纸、铜版纸等。铅笔速写的用纸应选择质地较粗、较厚或松涩的纸张为宜,如素描纸、图画纸、毛边纸等。毛笔速写的用纸应选择纸质松软,吸水性强的纸为宜,如生宣纸、毛边纸等。另外,除选用适合自身使用的单片纸外。目前市场上还有很多种类的速写本、册页可供选择。速写本、册页的最大优点是携带和使用方便,便于收藏。

(三)速写的类型

1、完美型  就是追求画面形式的完整和完美,侧重于物象整体气势、构图和效果的把握描绘,可作为一幅完整作品来欣赏,具有独立的审美价值。此类型速写在美术院 校高考专业测试中有所运用。

2、手写型  又称写生型,即用笔描绘。其特点是现场对模特进行真实描绘,画家感情投入,画面生动感人,宜永久性保存。此类型速写使用广泛,在历年美术院校高考专业测试中出现频率最高。

3、素材型  就是不追求画面的完整或完美,侧重于物象局部典型性的具体刻画,是作为画家生活资料的记录和艺术创作资料收集研究使用的一种速写方法。在美术院校专业测试中运用较少。

4、默写型  又称记忆型, 就是对模特不作现场写生,而是以心记忆物象的形象或动态特征,然后凭记忆默写出物象。其优点是适于捕捉瞬间即逝的物象变化。此类型速写在近些年美术院校专业测试中也常常出现。

5、慢写型  就是对物象描绘的比较具体细致深入,所用时间也相对较长。慢写为初学者提供了较充裕的观察、理解、刻画对象的可能,也能充分体现绘画者的基本功。这种类型的速写在历年美术院校高考测试中经常使用。

6、快写型  就是对物象的描绘比较凝练、概括,所用时间较短。在表现瞬间即逝的物象时,此方法可迅捷表达物象鲜明特征。此类型速写在近年的美术高考测试中也时有使用。 

(四)速写的观察方法

1、概括取舍 删繁就简  要善于概括取舍,删繁就简。只有把目光和精力集中于最主要、最本质、视觉最敏感的地方,才能舍弃那些无关紧要的细节。大的轮廓、结构,大的动势、节奏,是表现物象的重点和主导,只有抓住了整体,才是抓住了最本质的东西。没有概括和删减,平铺直叙的去描绘,画面必然苍白无力。对于初学速写者来说, 培养训练敏锐、正确的观察方法是至关重要的大事。敏锐正确的观察方法,就是要“充满激情”、“整体观察”、“概括取舍”、“删繁就简”。

2、充满激情 整体观察  要培养敏锐的观察力,具备一双“艺术家的眼睛”,能够发现一般常人所不能观察到美的和感人的东西,于平凡中发现伟大。无动于衷或静止的去观察事物是不行的,要带着强烈的激情去观察,要运动的,多角度的观察。要整体的观察,不要陷入无关紧要的琐碎细节。 

(五)速写造型的主要因素---线    

流畅的线条,可以表达欢快、轻松、愉悦的感觉;晦涩的线条则可以表达苦闷、压抑的情感。 线的抑扬顿挫、轻重缓急、长短曲直、浓淡干湿、虚实变化都展现了画家不同的情怀。 线所形成的节奏,构成的韵律,产生的强烈视觉冲击力,使观者得到美的享受。 

1、主线

主线(又称结构线)是决定物象形状、轮廓和结构关系的主导线。在一定意义上讲,它决定着一幅速写作品的成败。画主线(结构线)时,要求线条准确、肯定、简练、生动。其线的表现形式一般多为长而整的线条。

辅线(又称装饰线)是在主线(结构线)确定的基础上,进一步表现物象质感、体积,增强丰实画面效果的线。要求自然、生动、灵活,线条可繁可简。其线的表现形式一般多为随意多变的短线条。

主线与辅线有密切相连的关系。没有主线(结构线)对物象形态和大局的确定,辅线就无从落笔。而没有辅线(装饰线)补充,画面强烈丰实的效果就难以实现。应该特别强调的是,正确认清和把握主线与辅线的概念、作用和关系,是学好速写的一个十分重要的环节。 

2、实线与虚线

实线是指决定物象形态变化的支撑线。画实线时,要求线条准确、简练、生动,线条多长而整。

虚线是指无支撑作用的物象变化线。画虚线时,线条可自然、灵活、生动一些。

实线与虚线关系把握的总的原则是实线严谨而准确,虚线自然而灵活。正确处理好实线与虚线的关系与正确处理好主线与辅线的关系同等重要。 

3、线的表现方法

线在表现空间、质感、量感等方面有独特的表现方法:如利用疏密、强弱、方向的不同变化来表现空间、距离、质感、量感等。

线的疏密表现。通过线条疏密的不同排列和衬托,表现物象的空间。如用疏密相衬法表现物象的前后关系。即前面的物象画的疏些,后面的物象画的密些把前面物象衬托出来。也可反过来用之。

线的强弱表现。通过线条的强弱变化也可以表现物象的前后空间关系。如用强(粗线、重线)线来表现近处物象,用弱(细线、浅线)线去表现远处的物象。

线的方向表现。通过线的方向的不同变化来表现物象的形态和体积等。

线的质感与量感表现。运用刚柔、方圆、粗细、浓淡、干湿等表现物体的质感与量感。如坚硬的物体用刚、方、重的线来表现;轻柔的物体用柔、圆、淡、细的线来表现;粗糙沉重的物体用粗、浓、干的线来表现。

来源:http://blog.sina.com.cn/s/blog_c39ff59d0102v08p.html

--------------------------

下面是另一个文章中的, 感觉很好,摘抄到此

速写无步骤,是率性的随意之作,乌鲁木齐美术培训班认为完全用不着步骤的约束,但对于初学者,往往需要有一个帮扶的过程人物速写为例,说明研究型速写[或者叫。慢写” 3基本步骤中应注意的一些问题。
1)以虚线定构图之位
构图不仅是较完整地把物象框在画面中,更重要的是对下面的结果[画面风格t节奏、韵律、笔墨分布等]有所涉及。应最大限度地运用纸张,如果不是有特殊要求,要把人物画满上下画面,左右的均衡关系要看画者所处的位置、角度,看模特儿的动态而定。先定出画面1/2处位置,标出人物于画面中的大约位置、比例,再看画面上下中点处的内容,这里有时是手的位置,有时是肘的位置,有时是上衣下襟的位置,可以运用中心点的1/2处校正人物的比例。 (图23—1]12]以虚线定人物比例和人物大形往住只用几个点或几条线就可找到人物造型的感觉。强调透视,画出微妙的生动姿态。(图23—2)
2)以虚线分析形体体块几何型
用虚线把动态特征画准,把微妙地体现人物个性的变化拔出来,不能画什么角度什么动态都有透视,没有感觉。形体是方的,外轮廓方,内部体块也方,要分析出方圆之间的样接关系,不可只注意平面线条,忘记体积。对方圆相结合的体块的理解认识,直接影响到造型风格,影响到线条的转折角度和节奏。有了这些分析线,在深入描绘时,就可以更多地把注意力放到笔触的表达中了。 [图23—3)
3)以虚线分析头像几何型
所画眉目口真不是毫无联系地“散”在面部轮廓的空白内,让五宫有机地“卡”起来。解创义的结构应以线条体现出来,线条有虚实强弱,有形体的样接关系交代,有对人物面部神情的夸张强调。注意五宫在适观情况下某些面型的缩减变化。(图23—4)
4)以虚线分析手、脚几何型
注意几个方向面的联系和透视变化,手攀是一个面,手指可有三个面,四指与拇指是分属于同的面型的,在动作中和双手结合后会有更复杂的面型变化。但再复杂的手的动态都可在几何型中运用线条和色调表示出来o (图23—53脚的几何型比手要相对简单,因为没有那么多变化,但同样需要以几何型概括,几何型既规定了脚的结构的型,也保证了脚的形态、动态[脚是有动态和表情的,不信可看看舞蹈t戏曲或武术的表演),以及鞋的构造。脚的结构往往被忽视而画得不伤样子,在画家的笔下也不尽人意,几处败笔会成为画面的累整,就是因为不注意面型概念的运用。[图23—6)

以虚线分析衣纹特征
这一步要分析出衣缘位置、走向、疏密,分析衣纹形成的原因,乌鲁木齐美术班分析体块对衣服的影nR和衣绞本身的强弱虚实以衣纹的变化暗示里面包夷着的形体,为下一步刻画作准备。 〔图23—7)
以上几步,都是以虚线,伴随着脑、眼、手的分析进行的,是整个过程进行的草图方案,却也是成败的关键。这是需要整体意识的,没有这样一个基础,后面的步骤台显得局促,既顾构图又顾形,既顾线条又顾及体效果,往往顾此失彼。有了这样的分析垫底,心中既有了写生的最初欲望,又有了刻画的底气,还有了处理表现的方法尝试。当然,辈控构图、造型、表现方法之后,能在整体把握的前提下局部表现,则用不着这样一个切形分析的步骤。
速写步骤二:自上而下推画

这一步是建立在上一步分析基础之上的自上而下地,推画“,乌鲁木齐绘画培训是直接下笔推画的“写“的过程,像写字一样,把一处形体画完备、画充分后,再画其他。上一步已对构图造型等有了初步认识和掌握,接下来便可专注于线条的变化,整体是一种概念,绘画需要局部完成,所以,前面专注形,这一步专注于表现语言。
为什么一定要有“推画“的步骤呢,
理由之一 推画能保证线条笔触的连贯性。速写的用笔,仍是一个线条问题,书写过程中容得“描“。由浅入深、由简入繁的步骤是描,线条的渐次显影也是描。我们在书写时应该有这样的体会:在一种情绪控制下,写下的通篇文字有情感、有思想,不管你的“书法“如何,贯通的气息总是有感染力的,一旦有不会写的字或修改之处,再回头填补,后加的字怎么也融不到原先字里行间的气息中去。这是根微妙、很神奇的现象。速写的艺术憨力很大程度在于书写性和“写意意识”的体现,因为表面留在纸上的是线条或色调v笔触背后体现的却是情感、情绪、意识、思想。
理由之二:线条与笔锋的转折有一个内在的逻辑性,伤汉字草书中纳笔顺,一组衣纹表现过今先画哪条后画哪条,如果处理得好,会收到优美顺畅的效果,否则,东添一笔西添一笔,难免琐碎。写字是讲究笔顺的,讲笔意的连贯性,讲笔画之间的呼应、衔接的逻线性,不是无目的、跳跃性的,不是到处羞笔,同时用力。这里的。推画”就是这个原理。速写的连续用笔也保证笔锋转换的自然,在变化中求得统一。理由之三:是在下笔推画的过程中较容易找到笔触虚空变化的依据,是中锋、侧镑J是勾勒、继棕粗线细线、虚线实线,在表现的逻轻中同时对比,随时找出笔触与对象质量感的对应关系。再一个理由是,只有下笔直书,才符合绘画速度的“速”的表现样式和“写”的意义,一旦描摹,势必会影响速度和线条的质量,影响情绪的流淌宣泄。

-------------------------

速写在绘画中起着非常重要的作用,是画家对物体表达与感受的记录,认真总结,然后进行构思并创作其速写草图。它也是一种训练综合能力的方法,对于绘画创作者来说,是感受生活、记录感受的方式。而在速写中最主要、最常用的基本手段就是线条。我们知道速写在中国绘画中被称为“线的艺术”,在这当中值得借鉴的东西很多。而在西方的绘画中,许多大师的素描都是以线条造型为主,速写被称为一种艺术形式。其作品都流芳百世,表现方法大都以线条为主。
一、线条的表现
线条是人类造型艺术最原始的一种手段,从我国原始社会开始,线条就已经在其发挥着重要的作用。在许多装饰物品上我们都可以看出其清晰的线条描绘出各种纹样,而至今线条的表现与运用都是不可替代的。
一般来说线条是素描中最主要、用途最多和分布最广的要素。可以把线条作为构成形象的基本手段来对待,可以说“线条是最有生命力的因素”,这是速写中通过对物体的观察、理解、判断而得出来的,是画家的眼、手、心与对象瞬间融会的艺术过程。所以在速写中要求学生以第一时间把自身对对象的第一印象记录在画纸上,不允许你有过多的思考及主观的东西,可以说类似于一种条件反射。所以在画速写时,我们不单要观察对象的明暗深浅,也要观察其线条的穿插与节奏。
线条具有独特的美感,有长短、粗细、刚柔、曲直、顿挫、虚实的变化,不同的线条反映出不同的情感。比如说线条的虚实可表达物体的远近,线条的疏密可表达物体的层次等等。我认为一幅速写是否生动活泼,画面看起来是否清晰、错落有致,关键取决于线条的如何安排。因此,应该根据不同的对象,善于运用不同的线条来表达不同的特征、情感与意境。
线条是最具表现力的语言方式,它是一个概念,是指转折部位给人的一种“线”的感觉,是物体存在的界定。所以我们在画速写时,我们可能会在物体上感觉到许多线条存在,但是最重要的一点就是我们要学会观察和表现物体的整体轮廓线,不能感觉和看到线条就画,应该有主次,先画大形体、大关系的边线,不要总是去强调作品的细节,画出的线条要流畅,不拖泥带水,一气呵成。这样画面才有节奏感和韵律感。黄胄正是因为在速写中对人物造型的把握与熟练才有了伟大的成就。由此必须心中有“整体”,使“局部服从整体”。
二、以线条为主的速写
所有的线条都会表现出某种意图,或者是某种性格。例如在安格尔的作品中充分的表现出了线条间的疏密变化,体现出了布纹的穿插等细节,因而表现出画面的结构感;而在马蒂斯的作品中,更注重的是一种气质和感受以及情绪的表现,从他的作品中看出,画面线条简约,风格浪漫洒脱;拉斐尔的速写作品中,线条优美、娴熟;德加则以轻灵的线条抓住舞者的姿态,捕捉了光影。在速写习作中特别注意的是线条的互相衔接和穿插,这种穿插就体现了前后关系,远近关系,虚实关系等。同时要注意线的层次和统一,在一幅作品中,要找到一条强调结构和动势的主要的线,即“结构线”。
我们知道在画速写时有以线条为主的速写,还有以明暗调子、明暗调子与线条相结合的速写。而在以线条为主的速写中往往是形体结构鲜明,画面简洁明快。我们在作画时一定要从形体的内在结构去观察,用简练的线条画出物体的主要结构和形体的透视变化。并通过用线的顿挫、虚实等充分体现物体的形象特征。线条也有长短对比,一般人物的外形线长,而内形线较短。通常情况下,在画面的前面适用于实的、粗的线条来表现。而离我们远的则反之;此外,可以利用线条表现画面中不同的质感。通过线条的疏密不同排列和相互衬托,以及在不同的画面中采用不同的线条表现形式,就能够充分地表达物体之间层次的空间关系。
速写中线条的运用并不是随便使用,要根据物体的现实情况由绘画者概括提炼出来,而不是凭空臆造出来的。比如,形体上部位清晰、干脆的地方就可以把线画得肯定一些;而一些不清楚、在阴影里的结构部位就可以把线条画得虚一些,另外,线条的粗细、黑白和它的虚实是没有直接关系的,细线条既可能是实线也可能是虚线,粗线条也是同样的道理,是要根据实际情况而定。所以画速写千万不能形成思维定式,需要我们仔细观察去理解,需要绘画者自已凭经验来取舍,从而使画面达到丰富统一的效果。
三、结语
速写是迅速捕捉现实生活的快捷键,我们应该坚持不懈地画现实生活中的速写,培养我们敏锐的观察力和概括力,特别是能够熟练地掌握和运用线条,用线条来表达我们的思想情感,在速写中漫步,画出美丽的“音符”。

 

从锦囊妙计想到的10–内容总结

内容回顾与总结

本文已经是这个文章系列的第9个文章了(中间跳过一个编号),

前面8个文章中, 通过比喻或者类比的办法了解到, 其实计算机就是一个执行指令(类似于古代的锦囊)的机器, 这些指令是程序员自己在程序运行前, 根据需要进行编制的。

然后, 后面7,8,9开始介绍一些分布式下的程序的工作情况, 到底什么是分布式的, 分布式可以类比 不在一个工作地点的不同人们的工作来联想。说的在通俗一点, 有时候我们可以把参加工作的各个人们都集中在一个房间, 一个地点让后让他们参加一项工作。 但是这个办法并不是总是有效, 例如人太做,房间装不下了, 或者一个军营,一个地点容不下了, 因此人们就会分别 安排到不同地点中去, 这个工作人员 分布在不同地点 的工作的安排方式叫分布式。

现实生活中,有这个问题, 计算机中也有这个问题。 那么在分布式系统中, 我们首先要必须明确的几点:

1. 异地同时工作问题

各个地点的人们是  同时在工作的, 也就是  甲地张三工作时, 乙地的 王五也在工作, 当然可以采用一定的办法 可以让他们  分别工作, 例如, 甲第, 白天工作, 乙地晚上工作, 但是这个情况比较少, 因此建议 在安排工作时, 确保同时工作能 正常进行, 才能保证不会有问题, 那么如何确保呢?  后面我们会慢慢讨论的。

 

2. 同地不同人同时工作(仍然有竞争的问题)

同一个地点的不同人 他们也会, 同时执行的, 这个是很有可能的,这样就有一个问题了, 就是竞争关系, 例如甲地 张三 正在拿起餐桌上的编号1的馒头, 同时 甲地的  马趴  也拿起编号1的馒头, 这样就有问题了, 必然打起来

若是在现实生活中很好解决,大家都是朋友, 自然有一个人退让就好了, 但是我们说的计算机是个傻东西, 他只会执行你告诉他的指令, 若是你没告诉他退让的指令, 他就不会退让, 然后。。。

3. 同地不同人, 覆盖问题

同一个地点的 两个不同人 还可能存在 覆盖的问题, 例如 甲地李四 拿起书包放到1号储物柜, 然后走了, 过一会 甲地 王五走来了, 他也把他的东西放到1号储物柜中。 这个情况下现实生活中 很好解决就是 放之前看一下, 但是计算机是个傻东西, 他就会执行指令, 若是你的指令里面没有 先检查一下的 指令, 他就不检查的呀, 就直接放了, 等到  李四到一号储物柜中取东西时, 他会取走全部东西的, 或者有的时候会变质, 例如, 李四放白菜到储物柜, 然后后面王五可能  放小白兔到储物柜, 因此等李四回来拿白菜时, 哪里还有呀!!

4. 异地不同人 集中访问一个资源 竞争问题

在不同地点的不同人也存在同时使用资源的问题

例如甲地张三 购买了城里唯一宠物店的 1号狗, 那么乙地 赵武也 购买了这个城市相同宠物店的 1号狗, 那么就有了  竞争的问题。

还是 一样, 人自己能解决这个问题, 有一个人退出就好了, 但是计算机可没那么只能, 你不告诉他, 他就会 有问题

是否有办法预防, 有, 后面慢慢会说到, 目前知道有这个情况就好

5. 异地不同人 的相互覆盖问题

这个情况同  前面的同一个地点的 两个不同人的相互覆盖有一样的事情。

例如两个不同地点的两个不同人 都到一个超市去购买东西, 然后他们放东西到超市的储物柜, 这个情况就有了相互覆盖的问题。

6. 总结一下, 一个人做指令(执行锦囊) 无论你有多少指令(或者锦囊), 也无论你这些指令如何排布(锦囊排布, 无论是分支还是循环), 这个人都要一个一个指令的做, 他没办法同时执行,原因就是他是一个人,必须一个接着一个的, 因此这些 被一个一个接着执行后的 指令可以就像一条线串到一起了, 因此这个 这些指令流 就可以是一个 线程。

什么线程, 线程通俗的说 就是一个执行路线。

每个人都会有一个执行路线, 因此一个人就相当一个cpu, 就有一个路线就是个线程(目前这么认为, 后面还会在讨论, 这个需要由简单到 复杂的慢慢过渡的)。

7. 一个任务可能有 多个人在同时执行, 例如到稻田里面去收割水稻, 要很多人进行, 这个时候 就有了多个线程, 也就是多个cpu

这些集中在一个计算机上(一个地方)的共同完成一个任务的线程构成了一个进程, 首先进程必须是执行的, 另外进程可能包括多个线程, 至少一个线程, 否则他就没有任何功能了。

8.  有的时候需要多高地方一起进行才能完成一个非常巨大的任务, 例如欢喜岭这边收割水稻,同时沙岭那边也要同时收割, 这些分布在不同地点的不同进程完成共同一个任务, 这个系统就是 分布式系统了。

对于计算机来说 不同的计算机就是不同的地点。

9. 这些分布到 不同地点的不同任务 需要协调才能更好的 一起工作, 例如一起开始, 一起结束, 然后 一起去看看 文艺节目啥的, 否则, 可能有人还在工作, 有人去看节目休息了, 这样就很不公平了。

10. 这些协调需要人员传达信息的, 任何人传达信息都要走路, 需要时间, 计算机也是  即使在快的计算机传递信息也是有 时间的

11. 不同人, 包括传递信息的人, 做工作的人, 还有路上的其他的人, 都可能 造成一定的影响, 或者这些人 工作速度等不一样, 例如早上工作快, 累了就慢了, 或者吃饱了工作快, 快到饭时了, 就慢了, 因此没有理想的 人,

计算机也是一样的 就是完全相同的cpu,完全的计算机硬件, 也可能因为环境温度, 湿度,等等造成速度的变化等

因此对数量有严格限制的  程序要特别注意这个问题

12. 对于数量有严格要求的程序或者任务要采用 计数的办法进行是最好的, 对于 没有数量要求的 任务例如收割水稻, 采用事件的办法,例如开始收割, 结束收割这些都可以看作事件,或者消息

13. 由于任何人,都可能有失误, 或者生病等, 因此例如人去传递信息时, 他病了,住院了, 那么信息谁来传递?  生活中他可以指定其他人去替他, 但是计算机比较傻的, 若是一个计算机传信息个另外计算机, 若是传递过程中出现失误, 若是没有指令告诉计算机去处理这个问题, 那么计算机就不会处理的!!  因此可能造成 整个任务失败的!  要如何避免?

还有可能某个工作的人, 工作中, 越来越累, 慢慢的睡着了, 然后睡了20天(夸张点), 那么正任务 就耽误了, 如何解决这些东西

这些都是程序要考虑的事情!  都要程序员 去编写指令 来完成这些事情。

复习是学习中非常重要的事情, 详情参见 http://www.iigrowing.cn/xue_xi_qu_xian_yu_xue_xi.html

6666

22

 

上面两张图是学习同遗忘的关系, 因此本文才花了很多篇幅来复习前面学习的一些知识, 就是复习一下, 加深印象。

上面都是对过去的回顾, 我们本次内容依然分析一下分布式任务的事情

 

数量巨大的独立工作

前面讨论的分布式烙饼中一个特点是, 很多人一起烙饼, 当这些烙饼都完成了, 这个任务才算完成。

再有一个例子是, 抬木头时, 很多人共同抬一个木头才能抬的动。

两个例子有一个共同点:      他们都是一个 单一任务,   然后这个单一任务要很多人一起工作才能完成, 并且他们中每个人到要参与或者都要完成了, 这个任务才能完成。  假设这些任务中有任何人没烙饼, 或者少烙一个, 任务没完成。  抬木头中,若是有一个人突然不抬了, 可能就抬不起来, 而且会砸到其他人。

除了这个类型的 任务外, 还有别的吗?考虑下面的吃饭任务(老是吃饭有关的!)。

还是, 编个故事, 让孩子们高兴一下。看看, 能否看完故事明白道理

话说, 张飞烙饼的事迹已经在军中 传扬开了, 大家都知道张飞不光会打仗, 也会烙饼, 然后大家更是苛刻训练防备曹军在来进犯。

这一天张飞要检阅一下, 最近的练兵结果, 因此在教军场  点起1万士兵 进行检阅, 排成  各种阵势操练起来, 练来练去, 到了中午, 该吃饭了。  老张想, 今天给大家改善一下生活。 然后说大家今天累了, 大家自己去吃饭, 吃完饭下午放假半天。

这一万人, 沿着城镇的大街走起来去找饭馆去吃饭了!

1. 没有任何一个 饭馆能同时容纳1万人

2. 这些可以分开吃, 吃完各自回家就可以了!

3. 可以适当组织一下, 让他们都均匀的分散到城里各处, 这样才能快点, 否则都挤在一处饭馆, 岂不是要 等到天黑也吃不完。

简单总结一下这个 吃饭的问题

1.  每个人吃饭, 同其他人 没关系, 他吃完自然就完成了, 不需要其他人协助等等, 就是 他的任务是 独立于其他人的任务(吃饭)

2. 他们这些人中, 可以几个人一起吃, 也可以分开吃, 可以在一个地方吃, 也可以等着别人吃完后, 有地方在吃

总之 每个人吃饭是独立的, 但是就是人多。

3. 若是有个疏导的人员对他们进行 调整一下, 他们就会更有秩序的完成吃饭

可以看到这个特点是, 一个任务或者任务群 由若干个独立  子任务组成, 每个子任务不影响其他子任务。

最后这类任务, 最后需要的是  很多饭店 , 然后让这些士兵合理的分配到这些饭店去, 就解决任务。

8888

如上图, 有20个饭店, 为这一万人提供服务, 其中张飞和他的助手负责疏导工作

9999888

如上图的红色的文字描述, 这个任务的特点。

 

大型任务的分布式解决方法

有了这个我们也来讨论前面的 烙饼的分布式任务的特点, 也画张图

11111

如上图,  一个单次的任务, 这个任务要很多 厨房一起劳动才能完成。

 

两种任务的比较

两种任务的比较如下图

233333

特别注意上图中中红色箭头和绿色箭头的情况

两种类型的任务图示已经出来了, 但是在实现上完全不一样, 难度也不一样, 目前仅仅需要知道他们的区别,将来实现时还是有很多可以借用的资源的, 因此也不是就特别难的

 

最后, 总结一下最近全部的一些内容, 放到一张图中,图没最后画完, 慢慢在补充。

 

计算机01

 

 

 

相关文章

计算机介绍                                  从锦囊妙计想到的01

流程图(分支结构)介绍          从锦囊妙计想到的02

线程介绍                                     从锦囊妙计想到的03

循环结构介绍                             从锦囊妙计想到的05

流程线程总结                             从锦囊妙计想到的06

cpu和线程定义、开始               从锦囊妙计想到的07

分布式计算                                  从锦囊妙计想到的08

分布式中事件和计数                 从锦囊妙计想到的09

内容总结                                     从锦囊妙计想到的10

数据类型,变量简介                从锦囊妙计想到的11

函数和参数                                从锦囊妙计想到的12

用户交互与数据输入输出       从锦囊妙计想到的13

人机交互界面                            从锦囊妙计想到的15 

过程与对象                                从锦囊妙计想到的16

同步和异步                                从锦囊妙计想到的17

顺序打印                                    从锦囊妙计想到的18

数据输入输出                            从锦囊妙计想到的19

屏幕坐标和打印                        从锦囊妙计想到的20

java函数控制输出                     从锦囊妙计想到的21

逐步细化解决复杂问题           从锦囊妙计想到的22

java入门                                    从锦囊妙计想到的23

java复杂过程分析                   从锦囊妙计想到的25

中间辅助功能解决问题          从锦囊妙计想到的26

叠加操作输出复杂图形          从锦囊妙计想到的27

时间和空间                               从锦囊妙计想到的28

编写边测解决问题                  从锦囊妙计想到的29

让程序动起来                          从锦囊妙计想到的30

程序往复运动                           从锦囊妙计想到的31