Python Cookbook(第3版)中文版

《Python Cookbook(第3版)中文版》介绍了Python应用在各个领域中的一些使用技巧和方法,其主题涵盖了数据结构和算法,字符串和文本,数字、日期和时间,迭代器和生成器,文件和I/O,数据编码与处理,函数,类与对象,元编程,模块和包,网络和Web编程,并发,实用脚本和系统管理,测试、调试以及异常,C语言扩展等。 本书覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。书中包含了大量实用的编程技巧和示例代码,并在Python 3.3环境下进行了测试,可以很方便地应用到实际项目中去。此外,《Python Cookbook(第3版)中文版》还详细讲解了解决方案是如何工作的,以及为什么能够工作。 《Python Cookbook(第3版)中文版》非常适合具有一定编程基础的Python程序员阅读参考。

2019-12-04

JavaScript异步编程:设计快速响应的网络应用

《JavaScript异步编程:设计快速响应的网络应用》讲述基本的异步处理技巧,包括PubSub、事件模式、Promises等,通过这些技巧,可以更好地应对大型Web应用程序的复杂性,交付快速响应的代码。理解了Javascript的异步模式可以让读者写出结构更合理、性能更出色、维护更方便的Javascript程序。 《JavaScript异步编程:设计快速响应的网络应用》适合JavaScript开发人员阅读。

2019-12-04

python 无头浏览器

安装selenium pip install selenium 安装chromedriver 查看本地chrome浏览器版本,安装对应的chromedriver chromedriver下载地址 示例代码 # -*- coding: utf-8 -*- import os from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options import time chrome_options = Options() chrome_options.add_argument("--headless") base_url ="http://www.baidu.com/" #对应的chromedriver的放置目录 driver = webdriver.Chrome(executable_path=(r'C:\Program Files\Google\Chrome\Application\chromedriver.exe'), chrome_options=chrome_options) driver.get(base_url +"/") start_time=time.time() print('this is start_time ',start_time) driver.find_element_by_id("kw").send_keys("selenium webdriver") driver.find_element_by_id("su").click() driver.save_screenshot('screen.png') driver.close() end_time=time.time() print('this is end_time ',end_time)

2019-12-01

Head First JavaScript程序设计

本书语言和版式活泼,内容讲解深入浅出,是难得的JavaScript入门书。本书内容涵盖JavaScript的基本知识以及对象、函数和浏览器文档对象模型等高阶主题。书中配备了大量有趣的实例、图示和练习,让读者轻轻松松掌握JavaScript。 本书语言和版式活泼,内容讲解深入浅出,是难得的JavaScript入门书。本书内容涵盖JavaScript的基本知识以及对象、函数和浏览器文档对象模型等高阶主题。书中配备了大量有趣的实例、图示和练习,让读者轻轻松松掌握JavaScript。

2019-11-30

Linux常用命令

grep 命令显示匹配项前后几行 grep -A -B -C ## 显示前10行 tail -n10000 catalina.out | grep -A 10 Exception ## 显示后10行 tail -n10000 catalina.out | grep -B 10 Exception ## 显示前后10行 tail -n10000 catalina.out | grep -C 10 Exception 查看文件夹占用情况 du -sh ./* | sort -nr du -s ./* | sort -nr ```bash ## ls按时间倒序 ```bash ## -l 长列表 ## -t 修改时间倒序 ls -lt ##时间正序 -r 反转排序 ls -lrt

2019-11-27

全球IPv4地址正式耗尽!

北京时间11月26日下午消息,据国外媒体报道,负责英国、欧洲、中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)今日宣布: 全球所有43亿个IPv4地址已全部分配完毕,这意味着没有更多的IPv4地址可以分配给ISP(网络服务提供商)和其他大型网络基础设施提供商。 Nikolas Pediaditis发布的一封邮件部分内容 翻译如下: 亲爱的同事们, 今天,在2019年11月25日UTC + 1 15:35,我们从可用池中的最后剩余地址进行了最终的/22 IPv4分配。现在,我们已经用完了IPv4地址。 对于网络运营商来说,我们的宣布并不让人感到意外—— RIPE社区早就预料到并计划到了IPv4的耗尽。实际上,正是由于社区对这些资源的负责任管理,我们才能够在2012年达到最后一个/8后,向我们服务区域内的数千个新网络提供/22分配。 从邮件中,大家也可以看出来,对于这件事情,我们并不惊讶,而是早有准备。 IPv4迄今为止已经使用了30多年。最早期的时候,互联网只是设计给美国军方用的,根本没有考虑到它会变得如此庞大,成为全球网络。 进入21世纪后,随着计算机和智能手机的迅速普及,互联网开始爆发性发展,越来越多的上网设备出现,越来越多的人开始连接互联网。这就意味着,需要越来越多的IP地址。 地址不够的问题,其实早在1990年,IETF(互联网工程任务小组,成立于1985年底,是全球互联网最具权威的技术标准化组织)就开始规划IPv4的下一代协议。 没错,就是号称可以“给地球上每一颗沙子都分配一个IP的IPv6”。 另外,按照本世纪初专家们的预测,我们IPv4的地址早已枯竭几万次了。之所以能够“苟活”到现在,主要是除了IPv6之外,我们还有一些技术,可以变相地缓解地址不足,例如NAT(Network Address Translation,网络地址转换)。 而上个月,在乌镇举办的第六届世界互联网大会上,中国电信就表示:“中国电信城域网、移动网、骨干网、IDC等均实现了IPv6的商用部署,目前已建成规模最大、业务形态最全的IPv6网络”,“已为超过3亿用户分配IPv6地址”。

2019-11-26

centos7安装php72

安装epel-release源 yum -y install epel-release 安装webtatic-release源 rpm -ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 安装php72 yum -y install mod_php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-gd

2019-11-26

php验证码报错

使用php生成验证码时报错! Call to undefined function Intervention\Image\Gd\imagettfbbox() 先看下是否安装gd brew info gd gd: stable 2.2.5 (bottled), HEAD Graphics library to dynamically manipulate images https://libgd.github.io/ Not installed From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/gd.rb ==> Dependencies Required: fontconfig ✔, freetype ✔, jpeg ✔, libpng ✔, libtiff ✔, webp ✔ ==> Options --HEAD Install HEAD version 发现没有,安装gd brew install gd 重启php后发现还是不行,卸载php重新安装 brew install [email protected] --with-httpd --with-freetype 报错,发现brew不支持自定义编译参数了 然后卸载[email protected]安装[email protected] 还是不行,, php -version 发现版本还是7.1,这时候豁然开朗,我原来一直用的是mac自带的php mv /usr/bin/php php.bak echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/....

2019-11-26

macos 安装 composer

https://getcomposer.org/download/ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');" 执行完以上命令会将composer安装到当前目录,然后再将composer拷贝到bin目录 mv composer.phar /usr/local/bin/composer

2019-11-25

homebrew 更换国内源

homebrew默认官方源托管在github上,国内访问奇慢无比,可更换成中科大或者清华大学的镜像 中国科大替换命令 # 中国科大: # 替换brew.git: $ cd "$(brew --repo)" $ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git # 替换homebrew-core.git: $ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" $ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git # 替换homebrew-bottles: $ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile $ source ~/.bash_profile # 应用生效: $ brew update 清华大学替换命令 # 清华大学: # 替换brew.git: $ cd "$(brew --repo)" $ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git # 替换homebrew-core.git: $ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core" $ git remote set-url origin https://mirrors....

2019-11-25