Win7配置express4环境

本机环境: $ node -v v10.14.1 $ npm -v 6.4.1 配置node环境变量: #配置全局安装目录 npm config set prefix "G:\WEB\node\node_global" #配置安装缓存目录 npm config set cache "G:\WEB\node\node_cache" 将全局安装目录配置到环境变量中,重启git bash。 $ express --version 4.16.0 然后就可以初始化了: $ express
分类: 其他 发布时间: 03-13 22:44 阅读次数: 0

python+turtle 笔记

用Python+turtle绘制佩琪: from turtle import * def nose(x,y):#鼻子 penup()#提起笔 goto(x,y)#定位 pendown()#落笔,开始画 setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南) begin_fill()#准备开始填充图形 a=0.4 for i in range(120):
分类: 其他 发布时间: 03-13 22:44 阅读次数: 0

LeetCode126周赛-1002. 查找常用字符-Java实现

题目链接 结果 题目如下: 给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。 输入:["bella","label","roller"] 输出:["e","l","l"] 输入:["cool","lock","cook"] 输出:["c","o"] 你可以按任意顺序返回答案。 代码如下: import java.util.ArrayL
分类: 其他 发布时间: 03-13 22:44 阅读次数: 0

Python程序中如何使用亿牛云爬虫代理

1.先在亿牛云客服处获取爬虫代理信息 2.添加代理信息 #! -- encoding:utf-8 -- import requests import random # 要访问的目标页面 targetUrl = "http://httpbin.org/ip" # 要访问的目标HTTPS页面 # targetUrl = "https://httpbin.org/ip" # 代理服务器 proxyHost = "t.16yun.c
分类: 其他 发布时间: 03-13 22:44 阅读次数: 0

实践出真知-C Sharp中集成ip代理(以亿牛云爬虫代理为例)

一、前言 公司最近新增了一个项目需要爬取航空信息数据,对方有ip屏蔽。所以我需要在C Sharp中实现ip自动切换,才能够完成爬取任务。 在此之前,我找过网上很多家代理测试。都是通过api接口进行ip的调用,可能是之前代码没有调整好,导致测试没有成功。(后面有机会再测试)。这两天了解了一家新的代理商叫亿牛云,他们有提供一种新的代理使用模式,动态转发,所以这边就以他们家的代理为例测试看下。 二 亿牛云范例 亿牛云官网有直接给出对应的语言的代码示例我选择的是C Sharp C Sharp代码示例
分类: 其他 发布时间: 03-13 22:43 阅读次数: 0

程序配置亿牛云动态转发代理后运行返回429

我是看了官网的代码示例来配置代理信息的,不知道是哪里设置的不对,配置好代理信息后运行程序就返回429
分类: 其他 发布时间: 03-13 22:43 阅读次数: 0

如何判断我们的代理ip是高匿

普通匿名代理能隐藏客户机的真实IP,但会改变我们的请求信息,服务器端有可能会认为我们使用了代理。不过使用此种代理时,虽然被访问的网站不能知道你的ip地址,但仍然可以知道你在使用代理,当然某些能够侦测ip的网页仍然可以查到你的ip。 高匿名代理不改变客户机的请求,这样在服务器看来就像有个真正的客户浏览器在访问它,这时客户的真实IP是隐藏的,服务器端不会认为我们使用了代理。t推介一家高质量代理商,亿牛云代理,提供家庭私密高匿代理ip。www.16yun.cn 验证方式:通过代理访问http://h
分类: 其他 发布时间: 03-13 22:43 阅读次数: 0

代理IP的实用都在哪些方面

我们在上网的时候,会发现自己的ip不够用。例如在有些场合,我们需要注册多个账号,这个时候,一个ip肯定是不够用的,那怎么办呢?这个时候,我们需要使用代理ip。在目前的网络上,有很多提供代理ip的网站和软件。 这些网站和软件是可以帮助我们更换ip的,而且更换速度是很快的。假如我们在注册账号的时候,利用这些代理ip的网站或者软件,那么就可以更换ip了。这些网站和软件能够提供海量的ip,提供的ip数量是很多的,并且是全球范围的。有时候,我们需要翻墙上网的时候,也是需要更换ip的。 更换ip的地方
分类: 其他 发布时间: 03-13 22:43 阅读次数: 0

TCP 连接的建立与终止

1. 建立连接协议(三次握手) TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。 请求端(通常称为客户)发送一个 SYN段 指明客户打算连接的服务器的端口,以及初始序号(ISN,在这个例子中为 J)。 服务器发回包含 服务器的初始序号(此处为 K) 的 SYN报文段作为应答。同时,将确认序号设置为客户的ISN加1以对客户的SYN报文段进行确认。一个 SYN将占用一个序号。 客户必须将确认序号设置为服务器的 ISN加1以对服务器的 SYN报文段进行确认
分类: 其他 发布时间: 03-13 22:42 阅读次数: 0

C++11 多线程 —— 在初始化期间保护共享数据

情景假设:Suppose you have a shared resource that’s so expensive to construct that you want to do so only if it’s actually required; maybe it opens a database connection or allocates a lot of memory. 解决方法1:懒汉式初始化 std::shared_ptr<some_resource> resource_p
分类: 其他 发布时间: 03-13 22:42 阅读次数: 0

C++11 多线程 —— 同步操作之条件变量

条件变量概述: Conceptually, a condition variable is associated with some event or other condition, and one or more threads can wait for that condition to be satisfied. When some thread has determined that the condition is satisfied, it can then notify one
分类: 其他 发布时间: 03-13 22:41 阅读次数: 0

C++11 多线程 —— 同步操作之 future

使用 future 等待一次性事件 简介:The C++ Standard Library models one-off event(一次性事件) with something called a future. If a thread needs to wait for a specific one-off event, it somehow obtains a future representing this event. The thread can then periodically w
分类: 其他 发布时间: 03-13 22:41 阅读次数: 0

TCP 的交互数据流

一些有关TCP通信量的研究如[Caceres et al. 1991]发现,如果按照分组数量计算,约有一半的 TCP报文段包含成块数据(如 FTP、电子邮件和 Usenet新闻),另一半则包含交互数据(如Telnet和R login)。如果按字节计算,则成块数据与交互数据的比例约为 90%和10%。这是因为成块数据的报文段基本上都是满长度(full-sized)的(通常为 512字节的用户数据),而交互数据则小得多(上述研究表明 Telne t和Rlogin分组中通常约 90%左右的用户数据小
分类: 其他 发布时间: 03-13 22:41 阅读次数: 0

Effective C++条款 —— 尽可能使用 const

const允许你指定一个语义约束(即指定一个“不该被改动”的对象),而编译器会强制实施这项约束。 const与指针 如果关键字const出现在星号左边,则表示被指物是常量; 如果出现在星号右边,则表示指针自身是常量。 int i = 0; const int *p; // 指向常量 int * const p = &i; // 指针本身是常量 令函数返回一个常量值,可以预防“无意义的赋值动作”。 const Rational operator*(const Rational &lhs,
分类: 其他 发布时间: 03-13 22:41 阅读次数: 0

多维分析预汇总的存储容量

多维分析一般是交互式操作的,也就要求有极高的响应速度,而多维分析涉及的数据量常常很大,几千万上亿行甚至更大都有,临时统计很可能跟不上界面的操作。为了保证性能,一些多维分析产品采用了预汇总方案,也就是把需要看到的统计结果事先计算好,这样计算复杂度就从 O(n) 变成 O(1),在常数时间(秒级甚至毫秒级)内就可以返回结果,满足了交互分析的需求。 我们都知道,预汇总的基本逻辑就是用空间换时间,将会额外占用许多存储空间,但很多人对它到底会占用多大空间却没有什么感性认识。我们现在就来算一算看。 假设一
分类: 其他 发布时间: 03-13 22:40 阅读次数: 0

多维分析预汇总的功能盲区

在进一步讨论如何在有限空间内实现多维分析的预汇总之前,我们有必要再了解一下预汇总方案还有什么功能上的不足,也就是要搞清还有什么查询需求很可能无法通过预汇总数据获取。 1. 非常规聚合 预汇总方案是将测度聚合值先计算好并存储起来,那么,显然,在预汇总阶段没有想到的测度聚合值就无法直接从预总汇的数据中查询出来了。比如,如果我们只存储了销售额的合计值,而没有存储最大值,那就无法直接查询出来了。 SQL 提供了五个最常见的聚合运算:计数、合计、平均、最大、最小。这几种聚合值一般都会在预汇总阶段被考虑到
分类: 其他 发布时间: 03-13 22:40 阅读次数: 0

多维分析预汇总的方案探讨

我们在《多维分析预汇总的存储容量》中计算过,如果想做到 O(1) 的复杂度,至少要考虑界面用到的各种维度组合,这在维度总量稍多一点时就不可行了。 这样,我们就只能放弃 O(1) 复杂度的期望了,不把每种可能出现的维度组合都预汇总出来,只能预汇总部分维度组合。在查询时,对于已经有预汇总的数据则可以直接返回,而如果碰到没有预汇总的维度组合时,则仍然从原始 CUBE 遍历聚合出来,这时的计算复杂度要么 O(1) 要么 O(n)。 还可以做得更聪明一点:从某个已有的中间 CUBE 聚合。比如,如果保存
分类: 其他 发布时间: 03-13 22:40 阅读次数: 0

Effective C++ 条款 —— 确定对象在使用前已先被初始化

最佳的处理方法就是:永远在使用对象之前先将其初始化。对于内置类型,你必须手工完成此事。如, int x = 0; double d; cin >> d; 对于类对象,确保每一个构造函数都将对象的每一个成员初始化。 别混淆了赋值和初始化 class ABEntry { public: ABEntry(const std::string &name, const std::list<PhoneNumber> &phones) { // 以下这些都是赋值,而不是初始化!!
分类: 其他 发布时间: 03-13 22:40 阅读次数: 0

C++11多线程 —— thread 构造函数抛出异常

std::thread 的构造函数有如下重载形式: 函数声明 thread() noexcept; thread( thread&& other ) noexcept; template< class Function, class… Args > explicit thread( Function&& f, Args&&… args ); 可以看到,前两个构造函数不会抛出异常,而最后一个则可能会抛出异常。 相关异常: 如果线程无法启动,则返回 std::system_error。异常可能表示
分类: 其他 发布时间: 03-13 22:40 阅读次数: 0

C++ 有符号数与无符号数混合运算

当算术表达式中既有无符号数又有带符号数时,那么在进行运算之前,这个带符号数值会先被转换成无符号数!然后再进行运算。如, unsigned i = 10; int j = -100; cout << i + j << endl; // 结果输出:4294967206 解释:-100的二进制补码为:11111111111111111111111110011100,当将其解释为无符号数时,它等于4294967196。 注:补码 = 反码 + 1 事实上,只有两个类型相同的对象才能进行运算。当两个
分类: 其他 发布时间: 03-13 22:40 阅读次数: 0