代码改变世界

[置顶] 扎实基础之从零开始-Nginx集群分布式.NET应用

2018-01-08 19:37 by 夜雨瞳, 602 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。扎实基础之从零开始Nginx集群分布式.NET,应用Nginx集群系列篇。 阅读全文

[置顶] 扎实基础之从零开始-Oracle

2013-02-28 09:22 by 夜雨瞳, 897 阅读, 收藏, 编辑
摘要:<img src="http://www.cnblogs.com/images/cnblogs_com/yongfeng/447519/t_08.jpg" class="desc_img">快速学习法是一种市场经济时代的学习方法,是高效的学习方法,是日本出现的一种新的学习方法,它能使人们以高于常法五倍的速度灵活、迅速地掌握知识。基础学习法中国采取的是“重基础厚理论”的教育方式,免不了会对学生采取“强迫填鸭”式的教学方法。如果你希望能够掌握和理解一门课程的内容,可采用基础学习法。基础学习法首先你得有以下四个因素:兴趣这里不谈培养学习的兴趣,个人观点:学习兴趣很容易培养(三分热的人多的是),真正的兴趣,需要你自己去挖掘。 阅读全文

扎实基础之从零开始-Nginx集群分布式.NET应用

2018-01-08 19:37 by 夜雨瞳, 602 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。扎实基础之从零开始Nginx集群分布式.NET,应用Nginx集群系列篇。 阅读全文

Nginx集群之.Net打造WebApp(支持IOS和安卓)

2017-12-27 08:46 by 夜雨瞳, 983 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">讨论了那么多Nginx集群的应用,本文就打造一个安卓App实例来展现给大家。WebApi好处就是无前端化,无论前端是PC机、笔记本、手机、平板电脑或者是IOS等,都可以通过集群,实现数据流的交互。如果要支持视频流这些,就要另当别论了。MUI框架在国内是个不错的框架,本次主要还是利用MUI框架实现一个简单的APP,这个APP动态调用WebApi,利用XPATH方式爬虫抓取博客园的文章,从而实现一个简单的“天下网阅”APP。 阅读全文

Nginx集群之基于Redis的WebApi身份验证

2017-12-13 11:50 by 夜雨瞳, 1224 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx在集群上使用Redis数据库进行身份验证,达到了支持集群、分布式。在此基础上能够实现单点登录、时效性的访问,结合WebApi最大限度地发挥了后台身份验证的管理Nginx集群使用Redis数据库,客户端利用 http basic身份验证,访问WebApi获得Token并将Token存储到Redis内在数据库,通过Token值获取相应的权限数据,这样子可以做到单点登录,集群分布式的身份验证效果。既方便了用户在整个业务领域的系统操作,同时可以为整个公司、集团等各个区域的系统进行统一有效的身份验证管理。 阅读全文

Nginx集群之SSL证书的WebApi令牌验证

2017-12-06 08:44 by 夜雨瞳, 594 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx在WebApi集群,除了OAUTH身份验证外,针对移动端的手机、平板电脑等,还经常使用Token令牌验证,通过服务器授权发出有效期的Token,客户端通过此Token在当前有效期内,进行访问获取信息数据。Token验证在很多方面都广泛应用,举一个实际应用场景:A客户想通过接收邮件或者短信网址打开一个URL的PDF报表,但是又不想安装APP、或者访问我们的系统,连登录都不想登录。这时候,便可以使用一个有效期的Token,然后结合URL发送给用户,过了有效期,当前URL就失效。便可以解决用户临时访问的问题。 阅读全文

Nginx集群之SSL证书的WebApi身份验证

2017-12-02 10:06 by 夜雨瞳, 519 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx集群可以实现基于Http Basic身份验证,通过输入用户、密码,经过SSL协议的HTTPS,从而实现有效的身份验证并访问相应的WebApi。当然,访问的方式不仅仅基于Http Basic一种,还可以通过令牌token的方式进行访问,又或者基于redis实现单点登录的访问,本文主要讲述的是基于Http Basic身份验证,并在HTTPS安全的通信下,实现简单集群身份验证。Nginx基于SSL协议下,利用http basic身份验证,可以实现简单访问WebApi,达到集群负载均衡的效果。通过简单的设计,在局域网上应用还是够用的。当然,身份认证方式有很多种,使用redis、token都是可以的。 阅读全文

Nginx集群之SSL证书的WebApi微服务

2017-12-01 08:57 by 夜雨瞳, 862 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx集群是.NET WebApi提供了负载均衡的其中一种实现方式,同时还增加了SSL认证,能够确保WebApi能够以加密形式进行响应。Nginx使用其中的SSL模块,能够支持HTTPS的配置,当然也能够让HTTP与HTTPS并存(只需要增加listen 80监听端口则可),本文主要实现HTTP访问则跳转至以HTTPS方式。HTTP(HyperText Transfer Protocol)超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议:它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息 阅读全文

Nginx集群之WCF分布式消息队列

2017-11-27 15:58 by 夜雨瞳, 978 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">针对WCF分布式消息队列MSMQ大大提高了处理能力,无论是发送方还是接收方都不用等待对方返回成功消息,但是不适合Client与Server端的实时交互。WCF分布式消息队列,在处理日志方面,效果还是很显著的。当然,针对消息队列的处理技术,有很多种,例如:ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。本文使用的是微软自带的消息队列MSMQ,结合WCF在Ningx集群的环境下,创建一个类似日志型或邮件型的WCF服务。基于WCF分布式消息队列,可以在一些客户端并不需要服务端响应的场景上应用。消息队列在异步处理上有巨大优势,是一项可选择性的进程间的通信 阅读全文

Nginx集群之WCF大文件上传及下载(支持6G传输)

2017-11-24 14:21 by 夜雨瞳, 996 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx的匹配规则,很容易帮助我们划分WCF服务的网段,从而实现企业数据信息系统多区域划分,如小数据的微服务、传输数据文件的服务、即时通信服务、或者邮件服务,相当于构建了一条企业内部信息化的数据总线(DataBus)。Nginx的匹配原则能够有效的分配URL,将流式数据分发给相应的服务处理,并且在局域网内能够支持较大的上传下载功能。通过BasicHttpBinding的相关配置,能够控制流式数据上传大小,同时支持流式数据的下载功能,达到WCF大文件上传及下载的效果。当然,具体的应用场景,还是要结合数据大小而言论的,这里只是提供一个解决方案的参考。 阅读全文

Nginx集群之WCF分布式身份验证(支持Soap)

2017-11-20 19:03 by 夜雨瞳, 624 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">Nginx是个轻量级的反向代理,当然,也有相应的SSL身份认证。本文主要采用一种自我寄宿的方式,使用Nginx集群,通过windows证书(X.509证书),讲述客户端如何访问服务器的方法。客户端以BasicHttpBinding进行访问Nginx,然后Nginx进行负载均衡,将消息分发到后端任意一台WCF的PC机,后端需要被访问的WCF服务器,都要安装Windows证书(仅被访问的服务器需要安装wcf_zhyongfegn.pfx证书)。通过使用BasicHttpBinding,除了能让WCF客户端访问之外,还增加了WSDL的访问方式。Nginx集群让WCF客户端具备用户名密码验证的同时,达到负载均衡分布式处理的效果。 阅读全文

Nginx集群之WCF分布式局域网应用

2017-11-17 13:01 by 夜雨瞳, 1125 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">关于WCF即可以寄宿于IIS,也可以自我寄宿,本文采用的是自我寄宿方式。之所以采用自我寄宿方式,很大程度上,在一些特殊的场景,例如下载大文件(如几百MB、1G等)、图片、文档等,如果以IIS为宿主,可能会产生内存不够用。所以这里采用自我寄宿的方式为例子。WCF是由微软开发的一系列支持数据通信的应用程序框架,通过开源框架Nginx的结合,能够有更多的扩展性。Nginx结合WCF对局域网内的布局有很大关系,通过WCF整合报表服务器、邮件服务器、文档服务器等,WCF原来就整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,Nginx让具备分布式功能的WCF更加强大了。 阅读全文

Nginx集群及代理的应用

2017-11-15 14:36 by 夜雨瞳, 983 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_12.png" class="desc_img">了解Nginx及文档资源.Nginx命令模块及进程结构.解读Nginx配置.让“百度”成为自己的“搬运工”.服务器负载均衡集群.域名解析实现负载均衡.Nginx可以使用Rewrite模块建立高级重写规则,可以和PHP、Python结合,也可以替换Apache,或者作用于现有HTTP服务器前端,能够轻松建立虚拟主机配置,既能反向代理又可以是电子邮件(IMAP/POP3)代理服务器,功能强大,可以深入学习。 阅读全文

跨域WebApi的Jquery EasyUI的数据交互

2017-11-14 10:58 by 夜雨瞳, 627 阅读, 收藏, 编辑
摘要:<img src="http://www.cnblogs.com/images/cnblogs_com/yongfeng/447519/t_06.JPG" class="desc_img">大概思路,创建WebAPI,CrossMainController并编写,Nuget安装microsoft.aspnet.webapi.cors., 跨域设置路由,WebAPI提供广泛的对外开放,可以起到整合性的作用,例如:跟Oracle ERP、SAP的SCM、MM、PP以及SD领域。WebAPI形成一个Web标准,对于一些微服务,也起到关键性的作用。跨域还能不受限制让更多人访问,当然,也降低了安全性 阅读全文

Windows服务程序时钟调用

2014-04-01 11:36 by 夜雨瞳, 1059 阅读, 收藏, 编辑
摘要:<img src="http://www.cnblogs.com/images/cnblogs_com/yongfeng/447519/t_04.JPG" class="desc_img"/>大概思路设计服务程序创建服务安装必备组件编写Service1运行效果2设计服务程序创建服务程序,通过添加System.Timers时钟进行定时向Wecome.txt写入文本。3创建服务创建项目、安装项目(通过工具箱添加System.Timers组件,系统时钟组件,不同于System.Windows.Forms)Windows服务可通过修改以下属性,通过System.Timers组件达到自动控制的功能,针对一些运行周期长的数据可通过Windows服务处理(如通过捕捉大量数据收发邮件等)。serviceInstaller1属性值说明Manual:服务安装后,必须手动启动。Automatic :每次计算机重新启动时,服务都会自动启动。Disabled: 服务无法启动。 阅读全文

Cygwin Run in the Windows(Simulation of UNIX)

2013-11-06 22:05 by 夜雨瞳, 516 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_c.jpg" class="desc_img"/>Cygwin Install:http://cygwin.com/install.html Cygwin API:http://cygwin.com/cygwin-api/ cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件(该公司开发了很多好东西,著名的还有eCos,不过现已被Redhat收购)。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。Cygwin包括了一套库,该库在Win32系统下实现了POSIX系统调用的API;还有一套GNU开发工具集(比如GCC、GDB),这样可以进行简单的软件开发;还有一些UNIX系统下的常见程序。 阅读全文

Oracle编程入门经典 第12章 事务处理和并发控制

2013-07-27 15:49 by 夜雨瞳, 831 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/r_02.JPG" class="desc_img"/>定用户隔离层次的情况下,使用相同的输入,采用相同的方式执行的相同的工作可能会导致不同的答案,这些隔离层次采用指定层次上许可(或者不符合规定)的三种“读取”方式进行定义。它们是:脏读取(Dirty read)——这种读取方式的含义同它听起来一样糟糕。您可以读取没有提交的“脏”数据。非可重复读取(Non-repeatable read)——这种方式意味着,如果用户在T1时刻读取了一行,在T2时刻再次读取一行,那么这个行就可能发生改变。例如,它可能已经被删除或者更新。影像读取(Phantom read)——这种方式意味着如果用户在T1时刻执行了一个查询,在T2时刻再次执行它,就可能会有影响结果的附加行加入到数据库中。在这种情况下,这种读取方式与非可重复读取有所不同,您已经读取的数据不会发生变化,而是会有比以前更多的满足查询条件的数据。 阅读全文

Oracle编程入门经典 第11章 过程、函数和程序包

2013-07-20 17:05 by 夜雨瞳, 639 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/r_02.JPG" class="desc_img"/>可扩展性。使用过程和函数可以让开发者增加功能。编写用户自己的全程可以让用户灵活地扩展数据库的核心能力。模块化。任何优秀的开发者都知道编写模块化代码的重要性。用户应该通过编写小型、可管理的过程在用户应用中定义单独的处理模块,它们可以组织在一起形成更复杂的应用。可重用性。由于这些全程命名后并且保存在数据库中,所以任何应用都能够执行它们(只有它们更具有合适的权限完成这项工作)。这种重用代码的能力在开发过程中非常关键。可维护性。继续使用上一部分中的示例,考虑当存储日志信息的表发生改变之后,会出现什么情况。如果用户需要改动的只有一个地方,那么就会使用户代码更容易维护。抽象和数据隐藏。我们假定用户正在调用不是由用户编写的名为GIVE_EMPLOYEE RAISE()的过程,用户可以向它提供一些信息,让它来工作,换句话说,用户可以用它来员工加薪。它对于用户来讲是个黑箱。它怎样实现并不重要 阅读全文

eclipse配置Struts2、Hibernate3、Spring2.5范例

2013-06-10 23:49 by 夜雨瞳, 1314 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_13.png" class="desc_img">安装HIBERNATE插件.. 12.1 安装hibernate synchronizer 13 创建项目.. 33.1创建Demo项目.. 33.2 JUnit4. 3.3Referenced Libraries 54 项目分层概述.. 8 demo.core. 95.1 Pagination.java. 95.2 SpringBaseRootDAO.jaa. 126 demo.model 156.1 生成*.hbm.xml 156.2抽象工厂方法.. 196.3 生成model 237配置spring-database.xm 248配置spring-dao.xml 269 demo.service. 2710 配置spring-service.xml 2711 demo.action. 2812配置struts.xml 3013配置web.xml 3114编译.. 33 阅读全文

EXTJS组件化编程及递归树实现范例

2013-05-27 09:28 by 夜雨瞳, 1883 阅读, 收藏, 编辑
摘要:<img src="http://www.cnblogs.com/images/cnblogs_com/yongfeng/447519/t_06.JPG" class="desc_img"/>目录1 大概思路... 12 设计数据库... 13 编写递归树... 24 EXTJS注册若干通用组件... 35 EXTJS类图概览与代码... 76 JSON序列化... 117 运行效果... 128 总结... 13 设计数据库 编写递归树 EXTJS注册若干通用组件与代码 EXTJS类图概览 JSON序列化 运行效果comment on table SYSTEM_MODULEcomment on column SYSTEM_MODULE.SM_PARENTID is'父节点';comment on column SYSTEM_MODULE.SM_NAME is'模块名称';comment on column SYSTEM_MODULE.SM_DESCRIP 阅读全文

Oracle编程入门经典 第10章 PLSQL

2013-05-08 10:28 by 夜雨瞳, 1416 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/r_02.JPG" class="desc_img"/>我们以介绍性的概念分析了在Oracle中进行PL/SQL编程。讨论了基于程序块的编程、以及PL/SQL怎样从逻辑上将代码块划分为职责区域,例如变量和常量声明、执行代码、以及错误控制代码。我们还讨论了PL/SQL中数据类型与SQL中数据类型之间的区别。游标可以让我们将SQL查询引入到PL/SQL代码中,有效地集成程序的结构与数据库中存储的数据。有大量内建的功能可以帮助操作我们的数据、字符、和数值变量。另外,我们还可以将PL/SQL编程结构划分为条件逻辑、循环语句、以及错误控制代码等。在异常处理器有2个新“变量”可以使用。它们是SQLCODE和SQLERRM在父程序块的异常处理器中处理这些类型的异常。由于嵌套程序块是父程 阅读全文

C++ WINDOWS API 第2章 Windows API概要

2013-04-30 11:26 by 夜雨瞳, 1956 阅读, 收藏, 编辑
摘要:<img src="http://images.cnblogs.com/cnblogs_com/yongfeng/447519/o_35111.png" class="desc_img"/>Windows API 使用了很多 Windows 自己定义的数据类型。读者可能较为熟悉 C 语言或 C++语言的数据类型。要熟练使用 Windows API 必须要熟悉 Windows 数据类型。这些数据类型是Windows 特有的。在 SDK 的相关头文件中有定义在众多的Windows 数据类型中,最常用的有 DWORD、HANDLE、LPTSTR、WORD、BYTE、CHAR 等。在 Windows 系统中,DWORD 用于表示无符号整型的数据,意为 double word,32位。在一般情况下 BYTE 是 8 位的,而 WORD 是 16 位,DWORD 就是 32 位的。Windows 系统的应用程序中还具有一个特有的数据类型-HANDLE,通常 HANDLE 类型的变量用于唯一标识一个“对象”,如窗口、控件、文件等,Windows 平台中 阅读全文