低学习成本的Gui自动化
近几天来有几个需求是软件自动化,之前没有接触过。在没有接触过自动化的情况下摸索了几天,找到了两个学习成本比较低的解决方案,采用的开发语言皆为Python。

Pywinauto

需准备如下环境
1.Python 3.x
python这样一门因为机器学习而大热的低学习成本的语言就不多做介绍了。
2.Python库 pywinauto
Github上Star700+的一个用于Windows GUI自动化库,官网上虽然写着Linux版本正在开发中,不过作者似乎咸鱼了有一段时间,Github上的最近一次更新也是在几个月之前。
3.Spy++
用于查看要进行自动化操作的软件的窗口句柄,简单易用。

Github: https://github.com/pywinauto/pywinauto

文档: https://pywinauto.readthedocs.io

​ 该解决方案只适用于调用Winapi接口的应用程序,对于使用Java编写的Jar等其他类型的GUI应用则无法操作,局限性较大。且调试略显麻烦,当然也有可能是我没有掌握正确的代码调试姿势。该方案不重点介绍,放上核心代码稍微注释一下就掠过了。

阅读更多
Go语言学习笔记

由于公司业务需要,近期开始学习Go语言。装完环境和Ide后,理所当然的从经典的Hello World开始入手,没有细看文档,然后开局就翻车。本篇笔记不会详细记录Go的方方面面,只是看个大概的Go语言的语法,细节在实际编写中体会。

学习资料使用菜鸟教程的Go语言教程
Go by Example中文版
main.go

1
2
3
4
5
6
7
package main

import "fmt" //引入fmt包实现格式化IO

func main() {
fmt.Println("Hello, World!")
}

使用Ide创建的Go文件,定义的package为文件名,每个Go引用都应该包含一个名为main的包,所以第一个创建的文件如果不是main,记得将package的名字修改为main。和C语言一样,main函数也是必须的,作为程序的入口第一个执行。平常写Javascript和Python写的奔放习惯了,突然学习Go忘记了这两点,理所当然的翻车了。

阅读更多
JS基础学习-异步

Promise

引用自MDN:
Promise 对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值。

Promise的三种状态

Promise拥有三种状态,pending(初始状态)、fulfilled(完成)、rejected(失败)。当Promise的resolve或reject方法被调用时,Promise的状态将会被修改为fulfilled或rejectd,在被执行的语句块中如果发生错误则Promise的状态将会被修改为rejected,并且被执行的语句块返回值会被忽略。

阅读更多
用Webpack+Vue来Hello一个World

用Webpack+Vue来Hello一个World

1
webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成少量的 bundle - 通常只有一个,由浏览器加载。

项目目录结构

  • LreanWebpack
    • src
      • component
        • images //存放图片
        • public //公共组件
          • style.css
      • app.vue
    • config //webpack配置文件
      • webpack.config.base.js
      • webpack.config.dev.js
    • node_modules //npm下载的模块
    • entry.js //入口
    • index.html //主页
    • package.json //包管理
    • package-lock.json

Webpack的安装

npm install 包名 –save
​npm install 包名 –save-dev

阅读更多
《Web前端开发最佳实践》笔记

前端代码的结构组织和文件的命名

原则:项目中代码的组织结构清晰,同类型的代码文件或者相同的模块归类到同一文件夹中,文件命名规范须统一且明明要有意义。

代码文件组织结构

示例(以下是一种常用的前端文件组织结构):
JS:

1
2
- lib(放置框架文件)
- custom.js(业务相关CSS文件)

CSS

1
2
3
4
- lib(放置框架文件)
- images(图片文件)
- reset.css(统一默认元素样式文件)
- custom.css(业务相关CSS文件)

阅读更多
Hello World