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

2018年12月18日

一个普通码农 2018 年 年终总结(10年的撸吗心得)

摘要: 十年弹指一挥间,转眼2018年就要结束了,撸代码10多年,毕业也有10年了,想想这10年都干了些什么, 这1年又干了些什么了? 在这10年我虽然换了很多工作,无论是主动还是被动,发自内心的感谢每位东家以及同事,回首过往的时间,虽然有打酱油的时候,但是整体比较充实。在这里记忆比较特别深有几位东家: 1 阅读全文

posted @ 2018-12-18 16:09 dz45693 阅读(1988) 评论(0) 推荐(0)

2018年11月21日

webpack Import 动态文件

摘要: 其实React Import scss 是非常简单的,比如一般写法import './PromotionPage.scss';,今天遇到一个样式需要覆盖,那么修改后的代码变成了: import './PromotionPage.scss'; import { config } from "../.. 阅读全文

posted @ 2018-11-21 16:47 dz45693 阅读(2267) 评论(0) 推荐(0)

2018年11月6日

.NET Threadpool的一点认识

摘要: 说到.NET Threadpool我想大家都知道,只是平时比较零散,顾现在整理一下: 一码阻塞,万码等待:ASP.NET Core 同步方法调用异步方法“死锁”的真相 .NET Threadpool starvation, and how queuing makes it worse New and 阅读全文

posted @ 2018-11-06 16:31 dz45693 阅读(2003) 评论(0) 推荐(2)

python装饰器

摘要: 装饰器的主要功能:在不改变函数调用方式的基础上在函数的前、后添加功能 ,类似C#的AOP编程。添加功能的这部分就在装饰器中,典型的格式如下: 比如我们给fun增加一个记时的装饰器,还要考虑到函数的参数调用 运行结果如下: hello:gavin0.010966062545776367first ti 阅读全文

posted @ 2018-11-06 10:29 dz45693 阅读(1659) 评论(0) 推荐(0)

2018年11月5日

Python--matplotlib

摘要: 无论你工作在什么项目上,IPython都是值得推荐的。利用ipython --pylab,可以进入PyLab模式,已经导入了matplotlib库与相关软件包(例如Numpy和Scipy),额可以直接使用相关库的功能。 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。 这样I 阅读全文

posted @ 2018-11-05 11:17 dz45693 阅读(1623) 评论(0) 推荐(0)

2018年11月4日

Python 和 Scikit-Learn

摘要: Reference:http://mp.weixin.qq.com/s?src=3&timestamp=1474985436&ver=1&signature=at24GKibwNNoE9VsETitURyMHzXYeytp1MoUyAFx-2WOZTdPelAdJBv9nkMPyczdr4riYdU 阅读全文

posted @ 2018-11-04 16:45 dz45693 阅读(1487) 评论(0) 推荐(0)

Python的pandas

摘要: pandas 是python中很重要的组件,网上关于pandas 的文章也很多,比如Python科学计算之Pandas 和 Python数据分析入门 Pandas基于两种数据类型:series与dataframe。 一个series是一个一维的数据类型,其中每一个元素都有一个标签。如果你阅读过这个系 阅读全文

posted @ 2018-11-04 14:43 dz45693 阅读(1445) 评论(0) 推荐(0)

2018年10月30日

Python中syncio和aiohttp

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

posted @ 2018-10-30 16:14 dz45693 阅读(2063) 评论(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 阅读(1496) 评论(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 阅读(3177) 评论(0) 推荐(2)

Python的ctypes 和pyinstaller

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

posted @ 2018-10-25 16:26 dz45693 阅读(1684) 评论(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 阅读(3285) 评论(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 阅读(2057) 评论(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 阅读(2264) 评论(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 阅读(1483) 评论(0) 推荐(0)

2018年9月23日

HTML动画 request animation frame

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

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

2018年8月4日

ICAP: 互换客户端地址协议

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

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

2018年5月19日

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

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

posted @ 2018-05-19 06:43 dz45693 阅读(1452) 评论(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 阅读(1653) 评论(0) 推荐(0)

2018年3月19日

C# MemoryCache GCHandle

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

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

2018年1月9日

C# 枚举类型 enum

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

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

2017年12月28日

C# ReaderWriterLockSlim 实现

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

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

2017年12月27日

2017年工作总结

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

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

2017年12月2日

C# IOThread

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

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

2017年12月1日

C# Parallel.Invoke 实现

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

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

2017年11月29日

C# CancellationTokenSource和CancellationToken的实现

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

posted @ 2017-11-29 13:52 dz45693 阅读(16963) 评论(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 阅读(6679) 评论(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 阅读(5632) 评论(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 阅读(8767) 评论(0) 推荐(3)

C# Task ContinueWith的实现

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

posted @ 2017-11-27 12:31 dz45693 阅读(7811) 评论(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 阅读(21590) 评论(1) 推荐(3)

C# ExecutionContext 实现

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

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

C# Barrier 实现

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

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

2017年11月25日

C# CountdownEvent实现

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

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

C# SemaphoreSlim 实现

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

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

2017年11月24日

C# ManualResetEventSlim 实现

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

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

C# Monitor实现

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

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

C# SpinLock实现

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

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

C# SpinWait 实现

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

posted @ 2017-11-24 12:16 dz45693 阅读(2156) 评论(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 阅读(5133) 评论(0) 推荐(0)

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

导航