上一页 1 2 3 4 5 6 7 8 ··· 11 下一页

2018年10月30日

Python中syncio和aiohttp

摘要: CPython 解释器本身就不是线程安全的,因此有全局解释器锁(GIL),一次只允许使用一个线程执行 Python 字节码。因此,一个 Python 进程通常不能同时使用多个 CPU 核心。然而,标准库中所有执行阻塞型 I/O 操作的函数,在等待操作系统返回结果时都会释放GIL。这意味着在 Pyth 阅读全文

posted @ 2018-10-30 16:14 dz45693 阅读(2038) 评论(0) 推荐(0) 编辑

2018年10月26日

python下的selenium和PhantomJS

摘要: 一般我们使用python的第三方库requests及框架scrapy来爬取网上的资源,但是设计javascript渲染的页面却不能抓取,此时,我们使用web自动化测试化工具Selenium+无界面浏览器PhantomJS来抓取javascript渲染的页面, 但是新版本的Selenium不再支持Ph 阅读全文

posted @ 2018-10-26 16:54 dz45693 阅读(1474) 评论(0) 推荐(0) 编辑

2018年10月25日

AOP - C# Fody中的方法和属性拦截

摘要: 很久很久以前用过postsharp来做AOP, 大家知道的,现在那东东需要付费,于是尝试了一下Fody,但是发现Fody跟新太快了,所以大家在安装fody的时候尽力安装老的版本:packages.config 创建一个方法拦截的demo如下: 属性拦截如下: 创建FodyWeavers.xml: 调 阅读全文

posted @ 2018-10-25 19:03 dz45693 阅读(3034) 评论(0) 推荐(2) 编辑

Python的ctypes 和pyinstaller

摘要: 这几天在学习python的爬虫, 无意中看到一篇博文 Python爬虫之自制英汉字典 发现里面的ctypes 和pyinstaller 还不了解,这边文章说白了就是你输入英文, python读取你的输入 然后发送一个http请求到有道翻译,然后把翻译的结果打印出来,这里使用了ctypes来设置打印窗 阅读全文

posted @ 2018-10-25 16:26 dz45693 阅读(1646) 评论(0) 推荐(0) 编辑

2018年10月24日

pip安装pycrypto报错:Microsoft Visual C++ 14.0 is required. 和 SSLError: HTTPSConnectionPool的解决办法

摘要: 今天本打算把【Python3爬虫】网易云音乐爬虫 的代码敲一遍, 但是在安装pycrypto老是报错, 由于我计算是win10, 并且也有vs2017 python3环境下安装pycrypto的一些问题Python踩坑之路-Python-3.6 安装pycrypto 2.6.1各种疑难杂症及解决方案 阅读全文

posted @ 2018-10-24 16:02 dz45693 阅读(3210) 评论(0) 推荐(0) 编辑

python3 HTTP Error 403:Forbidden

摘要: 问题描述初学python,在用python中的urllib.request.urlopen()和urllib.request.urlretrieve方法打开网页时,有些网站会抛出异常: HTTP Error 403:Forbidden 问题原因网站对爬虫的操作进行了限制 解决方法伪装成浏览器, 基础 阅读全文

posted @ 2018-10-24 15:33 dz45693 阅读(1987) 评论(0) 推荐(0) 编辑

2018年10月5日

我的第一个 react redux demo

摘要: 最近学习react redux,先前看过了几本书和一些博客之类的,感觉还不错,比如《深入浅出react和redux》,《React全栈++Redux+Flux+webpack+Babel整合开发》,《React与Redux开发实例精解》, 个人觉得《深入浅出react和redux》这本说讲的面比较全 阅读全文

posted @ 2018-10-05 14:02 dz45693 阅读(2232) 评论(0) 推荐(0) 编辑

2018年9月28日

我的第一个正式react demo

摘要: 以前在看深入浅出react和redux的时候, 那个demo 总是用creat-react-app 创建的, 现在终于可以实现自己手动搭建一个简单的demo了。 1.首先新建一个文件夹, 执行npm init 2.安装各类插件如下: 3.配置.babelrc文件(windows下需要创建.babel 阅读全文

posted @ 2018-09-28 09:28 dz45693 阅读(1422) 评论(0) 推荐(0) 编辑

2018年9月23日

HTML动画 request animation frame

摘要: 在网页中,实现动画无外乎两种方式。1. CSS3 方式,也就是利用浏览器对CSS3 的原生支持实现动画;2. 脚本方式,通过间隔一段时间用JavaScript 来修改页面元素样式来实现动画。接下来我们就分别介绍这两种方式的原理,让大家先对这两种方式有一个直观认识,了解各自的优缺点。 CSS3 的方式 阅读全文

posted @ 2018-09-23 08:33 dz45693 阅读(4110) 评论(0) 推荐(1) 编辑

2018年8月4日

ICAP: 互换客户端地址协议

摘要: 什么是ICAP?从以太坊Homestead指南的词汇表中可以看出: ICAP 互换客户端地址协议,一种IBAN兼容系统,用于引用和处理客户帐户,旨在简化资金转移流程,在交易所之间无忧无虑,并最终使KYC和AML成为过去。 这里有相关于以太坊对ICAP的介绍: IBAN介绍 国际银行账户号码~[1]~ 阅读全文

posted @ 2018-08-04 11:24 dz45693 阅读(2371) 评论(0) 推荐(0) 编辑

2018年5月19日

MSSQL 调用C#程序集 实现C#字符串到字符的转化

摘要: 10多年前用过MSSQL 调用C#程序集来实现数据的加密和解密,也搞过通过字符偏移实现简单的加密和解密。这次就总结一下吧: C#如下: SQL如下,这里需要启用程序集功能,然后在创建程序集: 后来尝试用SQL实现C#的ToCharArray方法,在实现字符偏移,SQL如下: 阅读全文

posted @ 2018-05-19 06:43 dz45693 阅读(1424) 评论(0) 推荐(0) 编辑

2018年3月20日

python3 cookie

摘要: 最近再次学习python,本来就是一个菜鸟,我按照 Python CGI编程 发现读cookie 读取不了,后来发现它这种写的方式也不怎么靠谱。 Python中Cookie模块(python3中为http.cookies)提供了一个类似字典的特殊对象SimpleCookie,其中存储并管理着称为Mo 阅读全文

posted @ 2018-03-20 19:27 dz45693 阅读(1623) 评论(0) 推荐(0) 编辑

2018年3月19日

C# MemoryCache GCHandle

摘要: MemoryCache在项目中用了很久,感觉比较简单,以前也看过里面的源代码,主要借用MemoryCacheStore来完成数据的存储,里面是线程安全的,MemoryCacheStore借用Hashtable来实现存储,如果已经有数据了,就把以前的删除然后在添加 我们来看看MemoryCache的实 阅读全文

posted @ 2018-03-19 19:34 dz45693 阅读(2368) 评论(0) 推荐(2) 编辑

2018年1月9日

C# 枚举类型 enum

摘要: 我个人感觉平日用到的enum应该是非常简单的,无非就是枚举和整数、字符串之间的转换。最近工作发现一些同事居然不太会用这个东东,于是就整理一下。 枚举类型是定义了一组“符号名称/值”配对。枚举类型是强类型的。每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而sy 阅读全文

posted @ 2018-01-09 10:44 dz45693 阅读(2682) 评论(0) 推荐(0) 编辑

2017年12月28日

C# ReaderWriterLockSlim 实现

摘要: 其实ReaderWriterLockSlim的实现前段时间看了,当时不打算记录下来的,因为它的实现实在System.Core项目里面,而不是mscorlib项目。按照惯例我们还是先看看网上的一些说法吧。 读写锁 ReaderWriterLock 、就是支持单个写线程和多个读线程的锁。自.NET 3. 阅读全文

posted @ 2017-12-28 09:49 dz45693 阅读(4572) 评论(1) 推荐(3) 编辑

2017年12月27日

2017年工作总结

摘要: 转眼2017年就要结束了,感觉这一年又是虚度光阴了,也许普通百姓就是这样平凡的日复一日的过着,过着平凡幸福的生活。 这一年一共经历了4个项目,第一个是去年的项目,年初主要做性能优化以及功能的增加,第二个项目是公司内部的一个维护系统上线用的(自动发布系统),第三个项目急急忙忙昨完,结果就是只是做完, 阅读全文

posted @ 2017-12-27 08:59 dz45693 阅读(1447) 评论(1) 推荐(1) 编辑

2017年12月2日

C# IOThread

摘要: 在看微软的ASP.NET - 将 ASP.NET 用作高性能文件下载器 示例里面用到了IO 线程,以前打算自己撸的,这里贴出来 已标记一下: 使用示例: 阅读全文

posted @ 2017-12-02 17:19 dz45693 阅读(1805) 评论(0) 推荐(0) 编辑

2017年12月1日

C# Parallel.Invoke 实现

摘要: Parallel.Invoke应该是Parallel几个方法中最简单的一个了,我们来看看它的实现,为了方法大家理解,我尽量保留源码中的注释: Parallel.Invoke 的实现非常简单,如果我们Action的个数超过10或者我们制定的并行度MaxDegreeOfParallelism小于Acti 阅读全文

posted @ 2017-12-01 18:48 dz45693 阅读(2438) 评论(0) 推荐(0) 编辑

2017年11月29日

C# CancellationTokenSource和CancellationToken的实现

摘要: 微软关于CancellationTokenSource的介绍很简单,其实CancellationTokenSource的使用也很简单,但是实现就不是那么简单了,我们首先来看看CancellationTokenSource的实现: CancellationTokenSource的实现相对比较复杂,我们 阅读全文

posted @ 2017-11-29 13:52 dz45693 阅读(16709) 评论(0) 推荐(3) 编辑

2017年11月28日

C# Task的GetAwaiter和ConfigureAwait

摘要: 个人感觉Task 的GetAwaiter和ConfigureAwait也是比较好理解的,首先看看他们的实现 现在我们来看看TaskAwaiter<TResult>和ConfiguredTaskAwaitable<TResult>的实现: TaskAwaiter<TResult>中的OnComplet 阅读全文

posted @ 2017-11-28 13:43 dz45693 阅读(6540) 评论(0) 推荐(1) 编辑

C# Task WhenAny和WhenAll 以及TaskFactory 的ContinueWhenAny和ContinueWhenAll的实现

摘要: 个人感觉Task 的WaitAny和WhenAny以及TaskFactory 的ContinueWhenAny有相似的地方,而WaitAll和WhenAll以及TaskFactory 的ContinueWhenAll也是相同,但是WaitAny和WhenAny的返回值有所不同。我们首先来看看Task 阅读全文

posted @ 2017-11-28 12:58 dz45693 阅读(5559) 评论(0) 推荐(1) 编辑

2017年11月27日

C# Task WaitAll和WaitAny

摘要: Task 有静态方法WaitAll和WaitAny,主要用于等待其他Task完成后做一些事情,先看看其实现部分吧: 我们首先看看WaitAll的方法,检查Task数组中每个Task实例,检查Task是否已经完成,如果没有完成就把Task添加到waitedOnTaskList集合中,如果waitedO 阅读全文

posted @ 2017-11-27 19:29 dz45693 阅读(8642) 评论(0) 推荐(3) 编辑

C# Task ContinueWith的实现

摘要: 看了上一篇C# Task 是什么?返回值如何实现? Wait如何实现 我们提到FinishContinuations方法中会调用TaskContinuation实例,那么我们的ContinueWith就应该非常简单,只需要把TASK放到TaskContinuation结合中就可以了,Continue 阅读全文

posted @ 2017-11-27 12:31 dz45693 阅读(7644) 评论(0) 推荐(1) 编辑

2017年11月26日

C# Task 是什么?返回值如何实现? Wait如何实现

摘要: 关于Task的API太多了,网上的实例也很多,现在我们来说说Task究竟是个什么东西【task一般用于多线程,它一定与线程有关】,还有它的返回值有事怎么搞的。 首先我们以一个最简单的API开始,TaskFactory的StartNew<TResult>方法,TaskFactory.cs 可见最终和调 阅读全文

posted @ 2017-11-26 16:12 dz45693 阅读(21335) 评论(1) 推荐(3) 编辑

C# ExecutionContext 实现

摘要: 网上关于ExecutionContext的说明比较少,我们来看看微软的描述吧, 捕获从当前线程的执行上下文。 捕获从当前线程的执行上下文。 创建当前执行上下文的副本。 创建当前执行上下文的副本。 释放 ExecutionContext 类的当前实例所使用的所有资源。 释放 ExecutionCont 阅读全文

posted @ 2017-11-26 11:59 dz45693 阅读(3467) 评论(0) 推荐(1) 编辑

C# Barrier 实现

摘要: 当您需要一组任务并行地运行一连串的阶段,但是每一个阶段都要等待所有其他任务都完成前一阶段之后才能开始,你一通过Barrier实例来同步这一类协同工作。Barrier初始化后,将等待特定数量的信号到来,这个数量在Barrier初始化时指定,在所指定的信号个数已经到来后,Barrier将执行一个指定的动 阅读全文

posted @ 2017-11-26 01:12 dz45693 阅读(3204) 评论(0) 推荐(0) 编辑

2017年11月25日

C# CountdownEvent实现

摘要: 关于CountdownEvent网上的介绍比较少,因为它是实现和使用都很简单,先看看网上的一些评论吧: CountDownEvent调用成员函数Wait()将阻塞,直至成员函数Signal() 被调用达特定的次数,这时CountDownEvent称作就绪态,对于处于就绪态的CountDownEven 阅读全文

posted @ 2017-11-25 23:31 dz45693 阅读(1558) 评论(0) 推荐(0) 编辑

C# SemaphoreSlim 实现

摘要: 当多个任务或线程并行运行时,难以避免的对某些有限的资源进行并发的访问。可以考虑使用信号量来进行这方面的控制(System.Threading.Semaphore)是表示一个Windows内核的信号量对象。如果预计等待的时间较短,可以考虑使用SemaphoreSlim,它则带来的开销更小。.NetFr 阅读全文

posted @ 2017-11-25 12:24 dz45693 阅读(4475) 评论(0) 推荐(0) 编辑

2017年11月24日

C# ManualResetEventSlim 实现

摘要: ManualResetEventSlim通过封装 ManualResetEvent提供了自旋等待和内核等待的组合。如果需要跨进程或者跨AppDomain的同步,那么就必须使用ManualResetEvent,而不能使用ManualResetEventSlim。那么首先我们看看 ManualReset 阅读全文

posted @ 2017-11-24 22:40 dz45693 阅读(5273) 评论(0) 推荐(3) 编辑

C# Monitor实现

摘要: Monitor的code如下,非常简单: 核心方法就是Enter和Exit,其中lock关键字就是这2个方法的一个封装,剩下的Wait、Pulse和PulseAll也是很重要的方法,但是平时运用的比较少。所以这里重点说说Wait、Pulse和PulseAll方法。 线程优先顺序: 【等待队列】->【 阅读全文

posted @ 2017-11-24 21:09 dz45693 阅读(1673) 评论(0) 推荐(0) 编辑

C# SpinLock实现

摘要: 关于SpinLock自旋锁网上已经有很多说明,这里也copy了一部分,我这里主要关注微软的实现,学习人家的实现方式。 如果由于垃圾回收,基于对象的锁对象开销太高,可以使用SpinLock结构。.NET 4以后版本可使用,如果你有很多个锁(如,一个列表里面的每一个节点)并且锁时间通常非常的短,使用Sp 阅读全文

posted @ 2017-11-24 18:41 dz45693 阅读(1604) 评论(0) 推荐(1) 编辑

C# SpinWait 实现

摘要: 其实SpinWait的code 非常简单,以前看过很多遍,但是从来都没有整理过,整理也是再次学习吧。 我们先看看SpinWait的一些评论或者注意点吧:如果等待某个条件满足需要的时间很短,而且不希望发生昂贵的上下文切换,那么基于自旋的等待是一种很好的替换方案,SpinWait不仅提供了基本自旋功能, 阅读全文

posted @ 2017-11-24 12:16 dz45693 阅读(2111) 评论(1) 推荐(3) 编辑

2017年11月23日

C# ConcurrentBag实现

摘要: ConcurrentBag可以理解为是一个线程安全无序集合,API比我们的list要弱一点,那我们来看看它的实现: 首先我们需要知道里面有2个内部类Node和ThreadLocalList都是链表结构,其中Node是双向链表,因为它有m_next和m_prev属性,但是ThreadLocalList 阅读全文

posted @ 2017-11-23 13:55 dz45693 阅读(5047) 评论(0) 推荐(0) 编辑

C# ConcurrentDictionary实现

摘要: ConcurrentDictionary的源码看了很多遍,今天抽点时间整理一下,它的实现比Dictionary要复杂很多,至于线程安全我觉得比较简单,用的是lock的思想。首先我们来看看它的源码。 ConcurrentDictionary的构造函数依然有int capacity参数,该参数是控制Co 阅读全文

posted @ 2017-11-23 12:36 dz45693 阅读(7308) 评论(1) 推荐(0) 编辑

2017年11月22日

C# ConcurrentStack实现

摘要: 我们通过C# Queue 和Stack的实现知道Stack是依靠数组实现的,那么ConcurrentStack的栈又是如何实现的了,然后它的线程安全又是怎么做到的了? 来看看其code吧 ConcurrentStack<T>里面有一个内部类Node,看到这里我们就知道ConcurrentStack< 阅读全文

posted @ 2017-11-22 18:50 dz45693 阅读(1447) 评论(0) 推荐(0) 编辑

C# ConcurrentQueue实现

摘要: 我们从C# Queue 和Stack的实现知道Queue是用数组来实现的,数组的元素不断的通过Array.Copy从一个数组移动到另一个数组,ConcurrentQueue我们需要关心2点:1线程安全是怎么实现的,2队列又是怎么实现的?我们来看看其实现code: 首先ConcurrentQueue构 阅读全文

posted @ 2017-11-22 18:48 dz45693 阅读(2827) 评论(0) 推荐(1) 编辑

C# Dictionary, SortedDictionary, SortedList

摘要: 就我个人觉得Dictionary, SortedDictionary, SortedList 这几个类的使用是比较简单的,只要稍微花点时间在网上查找一点资料,然后在阅读以下源码就理解的很清楚了。为什么要写这一片文章了,看一下code吧: Dictionary<int, object> dict = 阅读全文

posted @ 2017-11-22 11:32 dz45693 阅读(1977) 评论(0) 推荐(0) 编辑

C# Queue 和Stack的实现

摘要: Queue 和Stack的使用就不用多说吧,一个是先进先出,一个是后进先出。 这里我主要关注其实现原理。 queue的实现如下: Stack的实现: Queue 和Stack都是依靠数组来实现,并且都有带int capacity的构造函数。假如我们定义一个数组长度为5,Queue 和Stack都添加 阅读全文

posted @ 2017-11-22 11:29 dz45693 阅读(1761) 评论(0) 推荐(0) 编辑

2017年9月30日

C# windows 桌面控件的扩展

摘要: 今天一同事 需要一个Windows from下 GridView的嵌套的控件,于是就去找了以前自己写的一些form 控件,发现居然没有人下载。同时查找以前的下载包也比较费时,于是乎就搞一个文章。 运行效果如下: 阅读全文

posted @ 2017-09-30 11:36 dz45693 阅读(2036) 评论(0) 推荐(0) 编辑

2017年9月28日

crucible 的 破解

摘要: crucible这个东西用了很久,但是从来都没有想过去破解它,毕竟在公司是不能使用破解 软件的。于是再家里面玩一下而已。下载地址 运行crucible_keygen 如图: 点击 patch 将选择安装目录下的lib\atlassian-extras-2.5.jar文件,输入Server ID和Na 阅读全文

posted @ 2017-09-28 09:04 dz45693 阅读(1820) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 11 下一页

导航