python模拟登陆之下载

目录 头条资讯

好长时间没有更新博客了,哈哈。

今天公司给了这么一个需求,现在我们需要去淘宝获取上一天的订单号,然后再根据订单号去另一个接口去获取订单详情,然后再给我展示到web!

中间涉及到的技术点有:

  • 模拟登陆
  • 模拟下载
  • 解析exal文件数据流
  • 读取exal文件,拿出订单号
  • 还有最后一点请求接口

继续阅读 “python模拟登陆之下载”

trace与代码跟踪服务

目录 头条资讯

首先开篇引用《MVC2 2 in action》里面一段关于这个跟踪服务的话

When you called Trace.Write() in Web Forms, you were interacting with the Trace- Context class. This exists on your ViewPage in ASP.NET MVC, but this isnt where you would want to write tracing statements. By the time youve passed the baton over to the view, theres no logic there that youd need to trace. Instead, youd like to trace the logic embedded in your controllers. You might try to leverage the TraceContext class in your controller, but these statements wont ever make their way to the list of messages in the trace log (on your page or on Trace.axd). Instead, you can use System.Diagnostics.Trace and set up your own TraceListeners to inspect the activity in your controllers. Alternatively, you can leverage a more mature logging framework such as log4net or NLog:

You debug ASP.NET MVC applications just as you would any .NET application. Tracing, however, doesnt offer as much for MVC. Instead, you can lean on the built-in TraceListeners in .NET, or utilize a good logging library like those mentioned earlier. Another aspect of error logging is health monitoring.

来自 <http://stackoverflow.com/questions/3328678/asp-net-mvc-tracing-issues>

继续阅读 “trace与代码跟踪服务”

不同浏览器下兼容文本两端对齐

目录 头条资讯

在form表单的前端布局中,我们经常需要将文本框的提示文本两端对齐,例如:

比较粗暴的做法是在需要隔离边距的文本中加标签,然后分别控制每个文字的边距,这种方法比直接加空格或者占位符更精准,我之前也都是这么做的。但是写的多了之后开始思考能不能抽象出来用于更多的场景?让代码更好看一些?维护成本更低一些?


继续阅读 “不同浏览器下兼容文本两端对齐”

缓存在大型网站架构中的应用

目录 头条资讯

缓存的基本知识

在整个计算机体系构造中(无论是硬件层面还是软件层面),缓存都是无处不在的。

在计算机硬件构造中,由于两种介质的速度不匹配,高速介质在和低速介质交互时速度趋向低速方,这就导致了高速介质的资源闲置。而通过引入第三种介质(速度和成本介于两者中间),将低速方读写的部分内容数据保存在该介质中,高速方大多数情况下则无需和低速方直接交互,这样就能整体提升了交互的性能。这就是计算机体系中缓存的由来。比较典型的就是CPU缓存(CPU寄存器=>L1 cahce =>L2 cache =>内存=>硬盘),如图:

 

继续阅读 “缓存在大型网站架构中的应用”

Linux多线程学习总结

目录 头条资讯

  线程是程序中完成一个独立任务的完整执行序列,即一个可调度的实体;进程相当于运行中程序的一种抽象。根据运行环境的调度者的身份,线程可分为内核线程和用户线程。内核线程,在有的系统上称为LWP(Light Weight Process,轻量级线程),运行在内核空间,由内核调度;用户线程运行在用户空间,由线程库来调度。当进程的一个内核线程获得CPU的使用权时,它就加载并运行一个用户线程。可见,内核线程相当于用户线程运行的‘容器’,一个进程可以拥有M个内核线程和N个用户线程,其中M<=N,并且一个系统的所有进程中,M和N的比值是固定的。

线程控制函数

pthread_create

#include <pthread.h>
int pthread_create(pthread_t * tidp, const pthread_attr_t *attr, void *(*start_rtn)(void *), void *arg);
    // 返回:成功返回0,出错返回错误编号

继续阅读 “Linux多线程学习总结”

js闭包的理解

目录 头条资讯

  闭包算是前端面试的基础题,但我看了很多关于闭包的文章博客,但感觉很多对于闭包的理想还是有分歧的,现在网上对闭包的理解一般是两种:

  1. 有些文章认为闭包必须要返回嵌套函数中里面用到外面函数局部变量的方法才叫闭包,有两个条件:1)、函数嵌套,内部函数要用到外部函数的局部变量 2)、内部函数必须返回
  2. 有些文章认为只要函数嵌套内部函数用到了外部局部变量就是闭包,不要返回内部函数   

我们先看看闭包的定义到底是什么,然后在来分析我在学习js的时候不同阶段对闭包的误解。在高级程序设计中对闭包定义是这样的:“闭包是指有权限访问另一个函数作用域中的变量的函数。“这里没有提到这个函数必须要return出来,我们在看看语言精粹中对闭包的定义是用一段很误导人的代码例子来解释闭包:

var quo=function(status){
  return{
    get_status:function(){
      return status;
    }
  }
}

var myQuo=quo("amazed");
document.writeln(myQuo.get_status());

继续阅读 “js闭包的理解”

这段牛逼的代码据说结构和语句都惊为天人!

目录 头条资讯

程序员每天和代码接触,如果一不小心写出一段惊为天人的代码,简直是件很开心的事。有网友提问有没有一段代码,让你觉得人类的智慧璀璨无比。该题主称,这段代码不一定要是完整的代码,只需要看着就觉得很嗨,而且结构和语句惊为天人。

这段牛逼的代码据说结构和语句都惊为天人!

看了这个问题后,有网友分享了下面三段代码,据说惊为天人。

代码片段1:

这段牛逼的代码据说结构和语句都惊为天人!

据说这段代码,实现了实现了求二分图最大匹配的匈牙利算法。这段代码没有炫技,只是简单的写出了该写的东西,而且很直白,又美得很自然。

不过这段代码一发出来,很多人都看不懂。

网友一:没有啥原因,完全看不懂。

网友二:表示看不懂,求注释。

网友三:初学JAVA狗一只,完全看不懂。

网友四:这个是0-1整数规划中指派问题的匈牙利算法吗?

网友五:每读懂一个算法,都觉得世界如此美好~不过最震撼的还是第一次接触面向对象这个概念的时候,感觉打开了新世界的大门。

代码片段2:

这段牛逼的代码据说结构和语句都惊为天人!

这段代码,它的形状是圆形。通过计算代码本身的面积,计算圆周率的近似值。

代码片段3:

这段牛逼的代码据说结构和语句都惊为天人!

关于这段代码,分享者没说什么。但是网友看了之后,有问是不是通用表的,还有网友称是C++设计新思维,模板元的基础。

其实代码真的很有意思,尤其是写出一段很牛逼的代码,自己看着都觉得赏心悦目又成就感很强。上面网友分享的三段代码,不知道你有没有看懂呢?如果你还有更牛逼的代码,可以在下面留言哦。

这段牛逼的代码据说结构和语句都惊为天人!

学编程技术,就到W3Cschool,如果你喜欢我们的文章,可以点击右上角关注我们;如果你想看到更多IT界的资讯,可以加我们的公众号。

公众号:w3cschoolcn