- 博客(162)
- 资源 (1)
- 收藏
- 关注
原创 计算机科学箴言集 -- <编程珠玑续>
6 计算机科学箴言集程序员常常要转换时间单位; e.g. 一个程序每秒能处理100条记录, 那处理100w条需要多久? 用除法算, 就知道要花100000秒, 按每小时3600秒算, 差不多3小时;而一年有多少秒? 如果我直接告诉你 3.155x10^7秒, 你可能很快就忘了; 事实上, 要记住这个很简单, 在误差不超过0.5%的约束下: π秒就是一个纳世纪
2015-06-18 12:29:44 1064
翻译 WindowsBatchScripting_D
STARTTIMETITLETYPEVERVERIFYVOLExternal commandsARPATATTRIBBCDEDITCACLSCHCPCHKDSKCHKNTFSCHOICECIPHERCLIPCMDCOMPCOMPAC
2016-05-19 09:17:43 1535
翻译 WindowsBatchScripting_C
Built-in commands下列命令都是命令解释器built-in的, 不能被改变. 有时候, 因为它们要求获取internal命令解释器的数据结构, 或者修改命令解释器process自身的属性.Overview Command Description ASSOC 将一个扩展名和文件类型(FTYPE)关联起来 BREAK 设置或清除扩展的
2016-05-16 19:05:03 4017
翻译 WindowsBatchScripting_B
Command-line argumentscommand-line arguments即 command-line parameters(命令行参数)在batch脚本中可以通过 %1, %2,....,%9来获取. 可以有多于9个的参数 – 参见 how to loop over all of them.%0语法不指向命令行参数, 而是执行batch文件自身. e.g. 测试是否提供了
2016-05-13 14:48:42 4221
翻译 WindowsBatchScripting_A
Windows Batch Scripting https://en.wikibooks.org/wiki/Windows_Batch_ScriptingIntroduction本文针对32-bit Windows命令, 应用到现代Windows版本, 基于WIndows NT环境. 它不是针对特定DOS环境和基于DOS的操作系统, 比如Win95, Win98, WinME
2016-05-10 18:52:52 1203
翻译 Windows Batch 4-10
Suppressing Program Outputpseudofile(伪文件)NUL是用来丢弃程序的输出的. e.g. 通过针对 loopback address调用 ping, 模拟Unix命令 sleep. 通过将 stdout重定向到 NUL设备来防止将 output打印到command prompt屏幕上.PING 127.0.0.1 > NULRedirecting Program O
2016-05-09 16:56:09 1444
翻译 Windows Batch 1-4
Guide to Windows Batch Scripting http://steve-jansen.github.io/guides/windows-batch-scripting/index.htmlOverviewbatch可以帮助配置 DevOps , 提高每天的工作效率.Part 1 – Getting StartedLaunching the
2016-05-09 11:30:59 2683
转载 GradleUserGuide中文版 21)Java插件 22)War插件
21.7.2 定义新的资源集要定义一个新的源组, sourceSets {} 块中引用它.下面是一个例子: 22.5.定义一个新的 source set build.gradlesourceSets { intTest}当定义一个新的 source set, java 插件会为该 source set 添加一些如 Table 22.6, “Java plugin - source se
2016-05-05 14:02:34 1205
转载 GradleUserGuide中文版 19)Plugins 20)插件规范 21)Java插件
19.5 使用插件的插件DSL 插件DSL正在孵化(incubating)中, 请注意,在以后的Gradle版本中, DSL和其它配置可能会改变.新的插件DSL提供了更为简洁, 方便的方式来声明插件的依赖关系。它适用于与新的Gradle Plugin Portal,同时提供了方便的核心和社区插件.该插件脚本块配置PluginDependenciesSpec的实例.要应用核心插件, 可以使用短名
2016-05-05 13:34:46 1420
转载 GradleUserGuide中文版 16)Ant插件 17)Logging 18)Daemon 19)Plugins
16.3 Ant的属性与引用有许多方法可以设定 Ant 属性, 可以通过Ant任务使用属性. 可以直接在AntBuilder的实例设置属性。Ant的属性也可以作为一个可改变的Map. 也可以使用Ant的任务属性:16.13.设置Ant属性 build.gradleant.buildDir = buildDirant.properties.buildDir = buildDir
2016-05-05 12:33:00 681
转载 GradleUserGuide中文版 15)文件操作 16)Ant插件
15.4 使用一个归档文件的内容作为文件树可以使用 ZIP 或者 TAR 等压缩文件的内容作为文件树, Project.zipTree() 和 Project.tarTree() 方法返回一个 FileTree 实例, 可以像使用其他文件树或者文件集合一样使用它. e.g. 可以使用它去扩展一个压缩文档或者合并一些压缩文档.15.7 使用压缩文档作为文件树 build.gradle
2016-05-03 18:28:00 1169
转载 GradleUserGuide中文版 14)Tasks 15)文件操作
14.6 给 task 加入描述可以给你的任务加入一段描述性的文字. 它将会在任务执行的时候显示出来. 14-18 给任务加入描述 build.gradletask copy(type: Copy) { description 'Copies the resource directory to the target directory.' from 'resources
2016-04-28 17:10:48 749
转载 GradleUserGuide中文版 12)图形界面 13)构建脚本 14)Tasks
12 使用 Gradle图形界面为了辅助传统的命令行交互,Gradle还提供了一个图形界面 12-1 启动图形界面gradle --gui注意:这个命令执行后会使得命令行一直处于封锁状态,直到我们关闭图形界面. 可以另外加上“&”让它在后台执行:gradle --gui&如果从自己的Gradle项目目录中启动这个图形界面,会看到任务树.建议从当前的Gradle项目
2016-04-28 13:49:54 697
转载 GradleUserGuide中文版 10)网页应用 11)Gradle命令行
10 网页应用快速入门Gradle 提供了两个插件用来支持网页应用: War 插件和 Jetty 插件. War 插件是在 Java 插件的基础上扩充的用来构建 WAR 文件. Jetty 插件是在 War 插件的基础上扩充的, 允许用户将网页应用发布到一个介入的 Jetty 容器里.10.1 构建一个 WAR 文件为了构建一个 WAR 文件, 需要在项目中加入 War 插件:9-1 War
2016-04-27 11:56:52 690
转载 GradleUserGuide中文版 7)Java构建 8)依赖管理基础 9)Groovy入门
7 Java 构建入门7.1 Java 插件Gradle 是一种多用途的构建工具. 可以在你的构建脚本里构建任何想要实现的东西. 但前提是必须先在构建脚本里加入代码, 不然它什么都不会执行.多数 Java 项目是非常相像的: 需要编译你的 Java 源文件, 运行一些单元测试, 同时创建一个包含类文件的 JAR. 可以避免为每一个项目重复编写这些.Gradle 通过使用插件解决
2016-04-26 17:14:41 745
转载 实战 Groovy: for each 剖析
Refer to http://www.ibm.com/developerworks/cn/java/j-pg04149.html使用最熟悉的方法进行迭代迭代是编程的基础: e.g. List、File 和 JDBC ResultSet; Java 语言几乎总是提供了某种方法帮助您逐项遍历所需的内容,但它并没有给出一种标准方法。本文将介绍 Groovy 的万能的 each(
2016-04-26 13:24:35 5056
转载 精通Groovy_B 循环, 范围, 集合, 映射, 闭包, 类, UT
通过 Groovy 进行循环同大多数脚本语言一样,Groovy 经常被宣传为生产力更高 的 Java 语言替代品。更好、更短的循环下面这种方法可以更好地感受 Groovy 缺乏类型的好处:首先,用与创建 HelloWorld 相同的方式创建一个 Groovy 类,将这个类称为 MethodMadness,并删除自动生成的类体:将要定义一个独立的 repeat 函数。现在在控制台中输
2016-04-25 17:03:49 840
转载 精通Groovy_A 介绍, 与Java对比, 入门, 没有类型
Refer to http://www.ibm.com/developerworks/cn/education/java/j-groovy/j-groovy.html
2016-04-22 16:23:25 669
转载 GradleUserGuide中文版 1)介绍 2)概述 3)教程 4)安装 5)故障 6)构建基础
Refer to https://dongchuan.gitbooks.io/gradle-user-guide-/content/index.htmlTip: 文档翻译工作WIP, Git托管中1 介绍一个构建系统 • 像 Ant 一样的非常灵活的通用构建工具 • 可切换的, 像 maven 一样的基于合约构建的框架 • 支持强大的多工程构建 • 支持强大的依赖管理
2016-04-21 13:16:25 848
转载 虚拟内存管理器(VMM)性能概述
虚拟地址空间划分成段。每段的大小是 256 MB,它是虚拟内存地址空间中一个邻接的部分,数据对象可映射到该空间。进程对数据的寻址能力按段(或对象)的级别进行管理,所以段既可以在进程间共享,也可以进行专门维护。例如,进程可共享代码段但拥有独立和专用的数据段。实际内存管理虚拟内存段划分成固定大小的单元叫做页。缺省页面大小是 4096 字节。某些系统也支持大页面,通常只能通过系统调用 shm
2015-09-29 11:21:08 3078
原创 GoogleCpp风格指南 9)规则特例 10)结束语
9 规则特例 Exceptions to the Rules前面说明的编程习惯基本都是强制性的mandatory; 但所有优秀的规则都允许例外, 这里探讨这些特例;9.1 现有不合规范的代码 Existing Non-conformant CodeTip 对于现有不符合conform 既定编程风格的代码可以网开一面diverge;当你修改使用其他风格的代码时
2015-07-16 11:32:21 661
原创 GoogleCpp风格指南 8)格式 _part2
8.9 布尔表达式 Boolean ExpressionsTip 如果一个布尔表达式超过标准行宽standard line length; 断行方式要统一一下;下例中, 逻辑与(&&)操作符总位于行尾:12345if (this_one_thing > this_other_thing &&
2015-07-16 11:27:43 991
原创 GoogleCpp风格指南 8)格式 _part1
8 格式 Formatting代码风格和格式确实比较随意, 但一个项目中所有人遵循同一风格是非常容易的; 个体未必同意下述每一处格式规则, 但整个项目服从统一的编程风格是很重要的, 只有这样才能让所有人很轻松地阅读和理解代码;我们写了一个 settings file for emacs [http://google-styleguide.googlecode.com/svn/t
2015-06-25 18:01:20 864
原创 GoogleCpp风格指南 7)注释
7 注释 Comments注释虽然写起来很痛苦, 但对保证代码可读性至关重要; 下面的规则描述了如何注释以及在哪注释; 当然也要记住: 注释固然很重要, 但最好的代码本身应该是文档化self-documenting; 有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字;你写的注释是给代码读者看的: 下一个需要理解你代码的人, 慷慨些吧, 下一个人可能就是你;
2015-05-19 11:21:11 1014
原创 GoogleCpp风格指南 6)命名约定
6 命名约定 Naming最重要的一致性规则是命名管理govern naming; 命名风格快速获取名字代表是什么: 类型? 变量, 函数, 常量, 宏, ...甚至不需要去查找类型声明; 大脑中的模式匹配引擎pattern-matching engine可以非常可靠的处理这些命名规则;命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重要, 所以不管你怎么想, 规则总归是
2015-04-20 11:41:21 1017
原创 GoogleCpp风格指南 5) 其他特性_part3
[Add]Lambda expressions在合适的时候使用lambda表达式; 不要使用默认的lambda captures, 使用显式的captures;[http://en.cppreference.com/w/cpp/language/lambda ]定义:lambda表达式是一个创建匿名函数对象anonymous function obj
2015-04-19 15:02:49 941
原创 GoogleCpp风格指南 5) 其他特性_part2
5.10 前置自增和自减 Preincrement and PredecrementTip 对于迭代器iterator和其他模板对象template object使用前缀形式(++i)的自增, 自减运算符;定义: 对于变量在自增(++i 或 i++)或自减(--i 或 i--)后, 表达式的值没有被用到的情况下, 需要确定到底是使用前置还是后置的自增(自减);优
2015-02-27 14:03:15 922
原创 GoogleCpp风格指南 5) 其他特性_part1
5 其他C++特性 Other C++ Features5.1 引用参数 Reference ArgumentsTip 所有按引用传递的参数必须加上 const;定义: 在C语言中, 如果函数需要修改变量的值, 参数必须为指针, 如 int foo(int* pval); 在C++中, 函数还可以声明引用参数 int foo(int& val);优点: 定义引用参数
2015-01-04 11:58:30 966
原创 GoogleCpp风格指南 4)Google奇技
4 来自Google的奇技 Google-Specific MagicGoogle用了很多自己的实现技巧/工具使 C++代码更加健壮, 我们使用C++的方式可能和你在其他地方见到的有所不同;[Removed]4.1 智能指针Tip 如果确实需要使用智能指针的话, scoped_ptr完全可以胜任; 你应该只在非常特定的情况下使用 std::tr1::shared
2014-12-27 23:15:12 912
翻译 JavaScript Host Environment(Qt5)
JavaScript Host Environment[最近在upgradeQt4->Qt5的时候遇到一些JS的问题, 这个文档很好地解释了其中的变化;]http://qt-project.org/doc/qt-5/qtqml-javascript-hostenvironment.html QML提供了一个裁剪过的JavaScript Host Environ
2014-12-11 12:23:10 1460
原创 GoogleCpp风格指南 3)类
3 类 Classes类是C++中代码的基本单元; 显然, 它们被广泛使用; 本节列举了写一个类时的主要注意事项;3.1 构造函数的职责 Doing Work in ConstructorsTip 构造函数中只进行那些没什么意义的(trivial 译注: 简单初始化对于程序执行没有实际的逻辑意义, 因为成员变量"有意义"的值大多不再构造函数中确定)初始化, 可能的话, 使用
2014-12-09 17:59:33 1022
原创 [Puzzle] 蚂蚁路线碰撞问题
有这么一道题目, 看下面的图, 假设有一条直线, 每个叉叉上有一只蚂蚁, 它们会随机选择一个方向, 向前或者向后移动, 前进中当两只蚂蚁相遇, 它们会掉头, 问: 全部蚂蚁都走出去的最长和最短步数;最短步数很明显...只要方向一致了, 就是11;最长呢...在看到问题时脑子里第一个反应是: 没有储存对这类问题的算法, 然后开始模拟蚂蚁行进路线, 发现可能性太多, 简直就是一个分子碰撞大
2014-12-06 11:42:31 1398
原创 GoogleCpp风格指南 1)头文件 2)作用域
Google开源项目风格指南v3.133 原作: Benjy Weinberger, Craig Silverstein, Gergory Eitzmann, Mark Mentovai, Tashana Landray翻译: YuleFox, brantyoung修改: YCR0 扉页0.1 译者前言Google经常发布一些
2014-12-01 15:35:16 1131
翻译 QtQuick桌面应用开发指导 7)创建应用 8)扩展
CHAPTER7 部署NotApp应用现在我们要让程序在典型的桌面环境中可用, 可部署; 如第一章所描述, 我们在QtCreator中使用QtQuick UI项目开发NoteApp程序; 这意味着qmlscene用来加载main.qml, 随之让NoteApp运行;首先, 让NoteApp可用的最简单方案是创建一个package(包)将所有qml文件, qmlscense和一个可以
2014-10-15 12:30:30 1741
翻译 QtQuick桌面应用开发指导 4)动态管理Note对象_B 5)外观加强 6)更多改进
4.2.2 Stateless(状态无关的)JavaScript库为了让开发轻松点, 使用一个JavaScript接口来和数据库交互是个好主意, 它在QML中提供了方便的方法;在QtCreator中创建一个新的JavaScript文件 noteDB.js, 保证选择了 State Library选项; 这样使得noteDB.js用起来像一个库, 提供了stateless的h
2014-10-11 17:37:43 1727 2
翻译 QtQuick桌面应用开发指导 3)实现UI和功能_B 4)动态管理Note对象_A
3.2 把Page Item和Marker Item绑定之前我们实现了PagePanel组件, 使用了三个state来切换Page组件的opacity属性; 这一步我们会使用Marker和MarkerPanel组件来实现页面导航; 在原型阶段, MarkerPanel组件十分简单, 没有任何功能; 它使用了Repeater类型来产生三个QML Item以及Marker组件作
2014-10-09 13:16:56 1895
翻译 QtQuick桌面应用开发指导 1)关于教程 2)原型和设计 3)实现UI和功能_A
Release1.0 http://qt-project.org/wiki/developer-guides Qt Quick Application Developer Guide for Desktop这个教程的目的是让你熟悉使用QtQuick构建QML程序的最佳编程实践方法; 先决条件: 对QML有相当的理解, 相关阅读: ; 本教程会涉及QML开发最佳实践的各个方面,
2014-10-08 14:22:22 2679
原创 [摘录] 暴躁程序员的产生
--摘自 Code Complete -- 代码大全诉诸类比 Appeal to Analogy建造软件系统跟其他任何花费人力财力的项目是相似的; 如果打算建造一座房屋, 你需要在开始钉钉子之前准备好手绘草图(表达设计概念)和蓝图(即设计详图, 包含所有细节信息); 在浇筑混凝土之前必须审核蓝图并获得批准; 在软件领域做技术规划也包含同样多的事情;在把圣诞树立起来之前, 不
2014-09-21 06:26:15 1696
翻译 Qt Quick应用开发介绍 13 (JavaScript)
Chapter13 Annexure: JavaScript Language Overview 附录: JavaScript语言概览Js语言总览; 提供一个Qt支持的所有语言特性的概览; 通过本文了解Js语言的基本特性; 特别是当你开始学习一个相关的技术, 如QML时, 你可以在这获得帮助;这篇文章是对 JavaScript Language Overview http://qt
2014-08-22 20:46:58 1733
翻译 Qt Quick应用开发介绍 10-12(动态界面, 实践学习, 总结和扩展)
Chapter10 UI Dynamics and Dynamic UI 动态界面前面章节学习了在开发时添加item, 让它们invisible; 该怎么做可以让程序根据不同的数据和用户输入来有不同的显示? 这些变化可能比visibility复杂; 我们怎样才能做到让程序UI的动态变化更appealing吸引人, 甚至成为用户体验的一部分? 10.1 Using States 使用
2014-08-21 17:05:39 2076
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人