自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 收藏
  • 关注

原创 快速入门系列--WebAPI--04在老版本MVC4下的调整

WebAPI是建立在MVC和WCF的基础上的,原来微软老是喜欢封装的很多,这次终于愿意将http编程模型的相关细节暴露给我们了。在之前的介绍中,基本上都基于.NET 4.5之后版本,其System.Net.Http程序集非常的丰富,而老版本的则相对较弱。在WebAPI v1.0(和ASP.NET MVC4在一起的版本)很多的类和接口并不存在,同时对Task异步编程(ApiController默认提

2017-06-14 14:48:12 226

原创 让我们一起写出更有效的CSharp代码吧,少年们!

名称 内容和示例 理解查询表达式如何映射到方法调用 简单来说,我们所写的LINQ语句都会先转化为对应的扩展方法,然后再解析相关的表达式树最后生成对应语句。 var people = from e in employees where e.Age > 30 orderby e.LastName, e.FirstName, e.Age select e; var people = employee

2017-06-14 14:47:45 756

原创 快速入门系列--JMeter压测工具

今天的年会已过,仍然是空手而归,不过俺坚信能让生活稳定永远都是努力。由于隔壁组负责年会的抢红包项目,因而趁此机会把通过工具模拟高并发的知识补了补,通过和身边大师的交流,总算是对压力测试有了个简要的了解,尤其是熟悉JMeter的使用(之前还想过自己写个多线程客户端,被大师说重复造轮子不可取)。 Apache JMeter是Apache组织开发的基于Java的压力测试工具,是非

2017-06-14 14:47:19 263

原创 快速入门系列--TSQL-01基础概念

作为一名程序员,对于SQL的使用算是基础中的基础,虽然也写了很多年的SQL,但常常还是记不清一些常见的命令,故而通过一篇博文巩固相关的记忆,并把T-SQL本身的一些新特性再进行一次学习。    首先回顾基础的概念,这部分可以跳过哈,比较枯燥。结构化查询语言SQL是基于集合理论和谓词逻辑的,大学课程中数字逻辑和离散数学主要会涉及这部分的内容。集合理论是数学家Georg Cantor创

2017-06-14 14:46:39 314

原创 快速入门系列--GIT版本控制工具

由于GIT刚刚开始使用不久,经常会在Merge时出现没有change-id的情况,在结合gerrit使用时,经常出现不能提交的情形,使得自己很困扰。最近有次熬夜加班,在代码完成后,由于多人在很短时间内提交多次,造成提交不上去的情况,当时那个慌啊。还好有给力的大神帮忙处理,突然觉得有必要好好学学Git了,不能仅仅满足于图形化工具的使用。工作区、版本库、缓存区的关系与区别,如下图:

2017-06-14 14:46:00 372

原创 快速入门系列--NOSQL--05Redis也木有那么“高富帅”

由于工作慢慢从原来的少量用户的企业内部应用慢慢转化为了大量用户的企业内部应用或者直接转为了线上高并发应用,因而也渐渐的开始使用memcached、Redis等缓存服务器,为了便于自身的学习和记忆,特此成文。本文以window下的redis使用为例,实际中redis服务器会搭建在Linux服务器上。Redis核心特性简洁借鉴知乎大牛的评价,Redis的快是因为:单进程

2017-06-14 14:45:31 317

原创 简单易用的MongoDB

从我第一次听到Nosql这个概念到如今已经走过4个年头了,但仍然没有具体的去做过相应的实践。最近获得一段学习休息时间,购买了Nosql技术实践一书,正在慢慢的学习。在主流观点中,Nosql大体分为4类,键值存储数据库,列存储数据库,文档型数据库,图形数据库。 今天主要快速的浏览了文档型数据库中目前市场占有率的最高的MongoDB数据库。记得初次见到和关注这个数据库还是我刚来上海的时候,公司将该数据

2017-06-14 14:44:59 519

原创 快速入门系列--CLR--02多线程

最近,由于基础框架的整体升级,因此需要更新所有相关项目的DLL文件。这个过程存在不小的风险,因此也对发布后的生产服务器进行了密切的监控,结果还是出现了个别应用出现异常的情况,很快的占用了大量的服务器内存和CPU等资源。通过研究dump,初步发现是由于配置服务器出现单点故障,然后应用通过多线程调用相关SOA服务时出现异常,引发了ThreadAbortException异常,而且由于原有异常处理代码不

2017-06-14 14:40:24 499

原创 快速入门系列--CLR--03泛型集合

.NET中的泛型集合在这里主要介绍常见的泛型集合,很多时候其并发时的线程安全性常常令我们担忧。因而简述下.NET并发时线程安全特性,其详情请见MSDN。普通集合都不支持多重并发写操作部分支持单线程写和并发读操作同时.NET4添加了大量并发集合 首先介绍常见的泛型集合接口,其大部分都位于System.Collection.Generic命名空间

2017-06-14 14:39:49 275

原创 考试备战系列--软考--01基础架构概念

由于一些知识性的特殊需要,要求掌握比较过时的软件架构设计理论,因而作此文案用于记忆和查询。该部分内容与现实中软件开发相去甚远,也可以理解一些东西之间确实存在很大的鸿沟,不多说,开始码字咯。Bass、Clements和Kazman的定义:系统的一个或多个结构,结构中包含软件的构件,构件的外部可见属性以及它们之间的关系。体系结构并非是一个可以运行的软件,而是一种表达,使软件工程师能够分

2017-06-14 14:39:21 377

原创 快速入门系列--Log4net日志组件

Log4net是阿帕奇基金会的非常流行的开源日志组件,是log4j的.NET移植版本,至今已经有11年的历史,使用方便并且非常稳定,此外很重要的一点是其和很多开源组件能很好的组合在一起工作,例如NHibernate等。对于以本地日志为主的中小型的项目,Log4net已经足够使用,当然涉及跨平台的大型分布式系统可以选择Elmah等其他日志组件。在这里,主要介绍log4net的一些关键知识点,

2017-06-14 14:38:46 496

原创 快速入门系列--CLR--01基本概念

在.NET平台用C#这么久,自然会发现其版本很多,相应的概念也会很多,常常都是萌萌哒。而在实际工作中经常会遇到需要配置dll版本号,公钥token等场景,因而对C#、NET、CLR、框架类型等基础概念有个大略的了解有很大必要性。当涉及到程序集版本时,注意查看全局程序集缓存GAC(Global Assembly Cache),路径为c:\windows\assembly,还有几个相似的.net fr

2017-06-14 14:38:18 460

原创 快速入门系列--MVC--03控制器和IOC应用

Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET MVC4框架剖析一书都买了2年多了,真正认真看过并实践过的也就第一章而已。最开始的时候还老认为这本书不好,又厚又晦涩,不容易坚持读完,现在回想起来都觉得羞愧。标准的徒弟不好怪师傅的心态,当然学习的确需要一个过程,从浅入深会越来越喜欢。到目前为止,我

2017-06-14 14:37:45 328

原创 快速入门系列--MVC--04模型

model元数据   闲来继续学习蒋金楠大师的ASP.NET MVC框架揭秘一书,当前主要阅读的内容是Model元数据的解析,即使是阅读完的现在,仍然有不少细节不是特别明白。好在这部分内容主要是关于Razor引擎的呈现的,通过注解的方式对Model进行自定的修饰,最终使得页面在渲染时(即从cshtml文件转化为html时),相关的数据能够按照指定的形式转化并显示。由于接下来的项目中不再打算

2017-06-14 14:37:20 600

转载 分享系列--面试JAVA架构师--链家网

本月7日去了一趟链家网面试,虽然没有面上,但仍有不少收获,在此做个简单的分享,当然了主要是分享给自己,让大家见笑了。因为这次是第一次面试JAVA网站架构师相关的职位,还是有些心虚的,毕竟之前大部分时间都是在做.NET相关的技术工作,并且自己所负责过的项目规模都是比较小,并且差异也较大。在高并发性,高伸缩性的互联网网站的架构方面没有太多的经验,只是在之前空闲时阅读李智慧老师的《大型网站技术架构》一书

2017-06-14 14:36:48 560

原创 快速入门系列--MVC--05行为

Action执行包含内容比较多,主要有同步/异步Action的概念和执行过程,Authorationfilter, ActionFiltor, ResultFilter, ExceptionFilter等四个主要过滤器类型的执行过程。首先介绍异步的Action,之前学习Controller的时候已经知道默认情况下Controller的执行是异步的,在不继承异步Controller的情况,我们代码中

2017-06-14 14:36:16 361

原创 快速入门系列--MVC--06视图

到了View的呈现板块,感觉ASP.NET MVC的学习也进入了尾声,还是比较开心的,毕竟也有了不小收获。这部分内容相对比较简单,因为之前还专门学习过如何结合HTML5与MVC框架。前文中提到过,ActionResult的执行实际就是View呈现的入口。不同类型的ActionResult比较多,以下做个简要的介绍。类型简介EmptyResult

2017-06-14 14:35:46 167

原创 快速入门系列--WebAPI--03框架你值得拥有

接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5、单页应用程序SPA等技术和理念很好的结合在一起。所谓ASP.NET WebAPI,其核心概念就是构建REST风格的Web服务,把一起数据视为资源,无论是服务请求或者是数据操作,与以前的SOAP和XML-RPC架构风格有很大不同。说道这,很多读者可能想到WCF中不是早都有了REST

2017-06-14 14:35:17 380

原创 快速入门系列

现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯。通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性、可读性、SEO优化。接下来通过一个最简单的路由例子进入这部分的学习,这是一个蒋老师提供的WebForm路由的例子,回想起刚做ASP.NET时,每次看到.aspx页面的前台代码时的茫然和无措,茫茫多的标签,属性,数据源的绑定吓死

2017-06-14 14:34:50 304

原创 Promise实现多图预加载

Promise正如它的中文意思“承诺”一样,保存着未来会发生事件(一般为异步操作)。Promise避免了“回调地狱”,写法更加接近同步操作。说到同步,我更加喜欢async、await,它们书写更贴近同步操作。图片加载往往是异步的,如果有操作需要等到所有的图片加载完之后再执行,这时候就需要不断的监听所有图片的加载情况。ES5利用ES5实现多图预加载,可以通过计数器判断有多少图

2017-06-13 21:58:03 1023

原创 heroku

前言:  本来打算将自己搭建的博客部署到heroku上的,用的是mongolab;无奈,虽然heroku对于mongolab的add-ons是免费的,但必须进行信用卡确认。对于我这种学生仔,哪来的信用卡。。。不想使用heroku上免费的postgres database,只能放弃heroku了,改用阿里云。部署了一天,现在来记录一下heroku的使用吧。说不定以后能用上呢。 

2017-06-13 21:57:20 463

原创 创建hexo风格的markdown页面

最近在用 nodejs 搭建一个个人博客,博客当然要有编辑文章的功能啦。个人比较偏爱 hexo 风格的 markdown 格式,所以想自己的博客也是这样的风格。尝试了几个库,发现 marked 的转换很好,但是样式需要自己编写,这个库还算满意。 marked正如在 github 上的介绍,它能够识别标题(#等)、段落和换行、区块引用、列表、强调(**)、斜体(*)、

2017-06-13 21:56:33 2175

原创 理解 node.js 的事件循环

node.js 的第一个基本观点是,I/O 操作是昂贵的: 目前的编程技术最大的浪费来自等待 I/O 操作的完成。有几种方法可以解决这些对性能的影响(来自 Sam Rushing):  同步:依次处理单个请求。    优点:简单。    缺点:任何一个请求都会阻塞其余请求。  创建新进程:为每个请求创建一个进程处理    优点:容易。    缺点:扩

2017-06-13 21:55:48 452

原创 URI、URL、URN

URI:统一资源标识符(Uniform Resource Identifier)。是一个通用的概念。URL:统一资源定位符(Uniform Resource Locator)。表示资源在服务器中的实际地址。URN:统一资源名(Uniform Resource Name)。为对象提供一个稳定的名称。 URI一类通用的资源标识符。由两个主要子集 URL 和 UR

2017-06-13 21:55:12 182

原创 HTTP报文

HTTP 报文是 HTTP 应用程序之间传递的格式化数据块,分为请求报文和响应报文两类,两者的基本结构相同。HTTP 报文由起始行、首部、主体(可选)三个部分组成。其中,起始行和首部均以一个行终止序列(即空行,可写作CRLF,包括一个回车符、一个换行符)作为结束符。主体是可选的数据块,可以包含文本、二进制数据或者为空。 起始行所有 HTTP 报文都已起始行作为开始,

2017-06-13 21:54:42 247

原创 NLTK学习笔记(二):文本、语料资源和WordNet汇总

[TOC]语料库基本函数表示例描述fileids()语料库中的文件fileids([categories])对应分类中的语料库文件categories()语料库的分类categories([fileids])文件对应的语料库分类raw(fileids=[f1,f2..],categories

2017-06-13 21:36:31 858

原创 python3操作MySQL数据库

这是python3下的MySQL基本操作。其他类型的数据库用法基本一样。就是库的名字不同。因为python官方很早之前就规定了数据库第三方库的借口,来避免API混乱的情况。安装与准备这是python3的库,所以windows下安装不会像python2那样各种奇葩VC错误。是比较方便的傻瓜安装。Windows平台下: py -3 -m pip install PyMySQ

2017-06-13 21:19:17 19852 1

原创 数据库并行读取和写入(Python实现)

max_process = 16 #最大进程数 def read_SQL_write(r_host,r_port,r_user,r_passwd,r_db,r_charset,w_host,w_port,w_user,w_passwd,w_db,w_charset,cmd,index=None): #得到tem字典保存着信息 try: conn = pymysql.Connect(host=r

2017-06-13 21:18:46 819

原创 NLTK学习笔记(三):NLTK的一些工具

主要总结一下简单的工具:条件频率分布、正则表达式、词干提取器和归并器。条件分布频率《自然语言学习》很多地方都用到了条件分布频率,nltk提供了两种常用的接口:FreqDist 和 ConditionalFreqDist 。后面很多都会用到这两种方法,特别是第二个。因为第二个更符合定义,会智能的找到条件。然后根据绘图的库,可以做出来很漂亮的图形。简单的FreqDist

2017-06-13 21:18:15 912

原创 NLTK学习笔记(四):自然语言处理的一些算法研究

自然语言处理中算法设计有两大部分:分而治之 和 转化 思想。一个是将大问题简化为小问题,另一个是将问题抽象化,向向已知转化。前者的例子:归并排序;后者的例子:判断相邻元素是否相同(与排序)。这次总结的自然语言中常用的一些基本算法,算是入个门了。递归使用递归速度上会受影响,但是便于理解算法深层嵌套对象。而一些函数式编程语言会将尾递归优化为迭代。如果要计算n个词有多

2017-06-13 21:17:21 1040

原创 NLTK学习笔记(五):分类和标注词汇

[TOC]词性标注器之后的很多工作都需要标注完的词汇。nltk自带英文标注器pos_tagimport nltktext = nltk.word_tokenize("And now for something compleyely difference")print(text)print(nltk.pos_tag(text))标注语料库表示已经标注的标

2017-06-13 21:16:38 430

原创 深入C++的运算符重载

对于简单的运算符,可以参考之前的博文。之后会有一篇关于从等号运算符重载的角度研究深浅拷贝的博文。逗号运算符重载逗号运算符重载需要一个参数,并且返回自身类。逗号运算符在复制操作中比较常见,下面就是以赋值操作为例的逗号运算符重载。#include#includeusing namespace std;class Tem{ private: in

2017-06-13 21:16:13 140

原创 python3实现TCP协议的简单服务器和客户端

利用python3来实现TCP协议,和UDP类似。UDP应用于及时通信,而TCP协议用来传送文件、命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱。下面代码就是模拟客户端通过命令行操作服务器。客户端输入命令,服务器执行并且返回结果。TCP(Transmission Control Protocol 传输控制协议):是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IE

2017-06-13 21:15:42 3595

转载 python3实现UDP协议的简单服务器和客户端

利用python中的socket模块中的来实现UDP协议,这里写一个简单的服务器和客户端。为了说明网络编程中UDP的应用,这里就不写图形化了,在两台电脑上分别打开UDP的客户端和服务端就可以了。UDP:用户数据报协议,是一个面向无连接的协议。采用该协议不需要两个应用程序先建立连接。UDP协议不提供差错恢复,不能提供数据重传,因此该协议传输数据安全性差。客户端python

2017-06-13 21:15:16 11175 2

原创 Windows平台下python2和3的兼容问题解决

很多朋友都安装了python2和3,因为用些库例如scapy,不是scrapy,python3下面都是错,那么怎么让python2和3共存呢。像一般的程序员,达到如下效果Windows平台下的兼容问题CMD可以分别进入python2和3的交互模式CMD可以正常使用pip对应的python2和3版本请按照步骤操作确保把python2和3的路径添加到环境变量中C

2017-06-13 21:14:18 652

原创 《算法图解》代码实现和改进

《算法图解》代码实现和改进请随意观看表演二分查找数组和链表递归递归条件和基线条件快速排序散列表广度优先搜索狄克斯特拉算法贪婪算法二分查找def bin_search(list,item): low = 0 high = len(list) - 1 while low<=high: mid = (low+high)//

2017-06-13 21:13:54 1115

原创 Python多线程和多进程谁更快?

python多进程和多线程谁更快python3.6threading和multiprocessing四核+三星250G-850-SSD自从用多进程和多线程进行编程,一致没搞懂到底谁更快。网上很多都说python多进程更快,因为GIL(全局解释器锁)。但是我在写代码的时候,测试时间却是多线程更快,所以这到底是怎么回事?最近再做分词工作,原来的代码速度太慢,想提速,所以来探求一下有效方

2017-06-13 21:10:58 867

原创 一窥--顺序表和单链表

#include #include using namespace std; typedef int ElemType; struct Node{ ElemType data;//数据域 node->data struct Node *next;//指针域 node->next };string CreateListHead(Node *L){//L是现在是空表的头指针 L->next

2017-06-13 21:10:28 133

原创 中文分词中的战斗机

英文分词的第三方库NLTK不错,中文分词工具也有很多(盘古分词、Yaha分词、Jieba分词等)。但是从加载自定义字典、多线程、自动匹配新词等方面来看。大jieba确实是中文分词中的战斗机。请随意观看表演安装分词自定义词典延迟加载关键词提取词性标注词语定位内部算法安装使用pip包傻瓜安装:py -3 -m pip install jieba / pip

2017-06-13 21:09:48 297

原创 iOS 开发学习资料整理(持续更新)

“如果说我看得比别人远些,那是因为我站在巨人们的肩膀上.” ---牛顿iOS及Mac开源项目和学习资料【超级全面】http://www.kancloud.cn/digest/ios-mac-study/84557iOS 学习资料整理https://segmentfault.com/a/1190000002473595#articleHeader16iOS、mac开源项目及库

2017-06-12 21:21:01 1775

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除