# shell 能做什么 将一些复杂的命令简单化 (平时我们提交一次 github 代码可能需要很多步骤,但是可以用 shell 简化成一步) 可以写一些脚本自动实现一个工程中自动更换最新的 sdk (库) 自动打包、编译、发布等功能 清理磁盘中空文件夹 总之一切有规律的活脚本都可以尝试一下 # shell 不能做什么 需要精密的运算的时候 需要语言效率很高的时候 需要一些网络操作的时候 总之 shell 就是可以快速开发一个脚本简化开发流程,并不可以用来替代高级语言 # shell 的工作原理 shell...

转载: Puppeteer: 更友好的 Headless Chrome Node API - 谦行 - 博客园 很早很早之前,前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常使用的莫过于 PhantomJS 和 selenium-webdriver,但两个库有一个共性 —— 难用!环境安装复杂,API 调用不友好,1027 年 Chrome 团队连续放了两个大招 Headless Chrome 和对应的 NodeJS API Puppeteer,直接让...

转载: PHP 数组的相关操作 # 创建数组 索引数组 索引为整数,如果没有指定索引值则默认为零,依次递增。 12//索引数组$array1 = array('a', 'b', 'c', 'd'); 关联数组 数组的 key 为字符串。 1234567//关联数组$arr2 = array( "a" => 1, "b" => 2,...

我们之所以觉得悬崖上的花朵美丽,那是因为我们会在悬崖停下脚步,而不是像那些毫不畏惧的花朵般,能向天空踏出一步。- 死神 # Python 12345678import timen = 1start = time.time()while n < 100000000: n = n + 1end = time.time()print((end - start) * 1000) # PHP 123456789<?php$n = 1;$start = time();while ($n < 100000000) { $n = $n +...

转载: python 中重要的模块–asyncio - python 修行路 - 博客园 一直对 asyncio 这个库比较感兴趣,毕竟这是官网也非常推荐的一个实现高并发的一个模块,python 也是在 python 3.4 中引入了协程的概念。也通过这次整理更加深刻理解这个模块的使用 asyncio 是干什么的? 异步网络操作 并发 协程 python3.0 时代,标准库里的异步网络模块:select (非常底层) python3.0 时代,第三方异步网络库:Tornado python3.4 时代,asyncio:支持 TCP, 子进程 现在的...

转载: 第三十九节,python 内置全局变量 - 林贵秀 - 博客园 # vars() 以字典方式返回内置全局变量 12345#!/usr/bin/env python# -*- coding:utf8 -*-print(vars())#输出# {'__builtins__': <module 'builtins' (built-in)>, '__spec__': None,...

这段时间要做一个毕业设计,主要设计到图片识别的东西,但是机器学习那一块是用 CAFFE 的 python 接口做的,然后 Web 和 APP 使用 Java 语言开发的,所有开发的应用项目(网站和移动客户端)需要调用图片识别的 python 脚本,后来查查资料,使用 Jython 可以满足在 Java 中执行 python 脚本。 测试环境: Eclipse 1.8 的 JDK Jython 版本 2.5.2(只要 jar 包就行了) 这里默认大家已经安装了 Eclipse 和 JDK,JDK 不是 1.8 的也可以,使用平时开发用的 JDK 就可以了,至于 jython.jar...

转载: 简单聊聊 Python 中的 wraps 修饰器 - 大白的碎碎念 - SegmentFault 思否 # 预备知识 在了解 wraps 修饰器之前,我们首先要了解 partial 和 update_wrapper 这两个函数,因为在 wraps 的代码中,用到了这两个函数。 # partial 首先说 partial 函数,在官方文档的描述中,这个函数的声明如下: functools.partial(func, *args, **keywords) 。它的作用就是返回一个 partial 对象,当这个 partial 对象被调用的时候,就像通过 func(*args,...

转载: Base64 原理解析 - 方方和圆圆 - 博客园 # Base64 编码由来 为什么会有 Base64 编码呢? 因为有些网络传送渠道并不支持所有的字节,例如传统的邮件只支持可见字符的传送,像 ASCII 码的控制字符就不能通过邮件传送。 这样用途就受到了很大的限制,比如图片二进制流的每个字节不可能全部是可见字符,所以就传送不了。最好的方法就是在不改变传统协议的情况下,做一种扩展方案来支持二进制文件的传送。把不可打印的字符也能用可打印字符来表示,问题就解决了。Base64 编码应运而生, Base64 就是一种基于 64 个可打印字符来表示二进制数据的表示方法。 # Base64...