一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Backend

【解决】asp.net请求header添加gzip后抓网页源码乱码问题

asp.net抓网页源代码的代码很普遍,大家都会用,不过今天我在使用asp.net抓网页源代码时,遇到了一个小小的困扰,那就是我在请求header里添加了GZip的内容编码后,一直返回乱码的问题。不过最终还是把这个小问题给解决了,现在记录一下。 asp.net使用gzip抓取网页 普遍情况下,asp.net抓取网页源码时并不使用gzip,而是直接抓。关键代码如下: string PageUrl = "http://www.webkaka.com/"; WebRequest request = WebRequest.Create(PageUrl); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); Encoding enc = Encoding.GetEncoding("GB2312"); StreamReader sr = new StreamReader(resStream, enc); string strHtml = sr.ReadToEnd(); resStream.Close(); sr.Close(); 在请求header里添加了GZip的内容编码: string PageUrl = "http://www.webkaka.com/"; WebRequest request = WebRequest.Create(PageUrl); request.Headers.Add("Accept-Encoding", "gzip,deflate"); WebResponse response = request.GetResponse(); Stream resStream = response.GetResponseStream(); Encoding enc = Encoding.GetEncoding("GB2312"); StreamReader sr = new StreamReader(resStream, enc); string strHtml = sr.ReadToEnd(); resStream.Close(); sr.Close(); 但是,这样的代码,获得的网页源代码是乱码的,确切来说,是经过了GZip压缩的字符串,因此必须要进一步处理,把这些乱码还原成可读的html代码。 最终实现代码如下: string PageUrl = "http://www.webkaka.com/"; WebRequest request = WebRequest.Create(PageUrl); request.Headers.Add("Accept-Encoding", "gzip,deflate"); request.AutomaticDecompression = DecompressionMethods.GZip; WebResponse response = […]

龙生   17 Jul 2016
View Details

c# 实现网页上用户自动登陆|asp.net 模拟网站登录

using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; namespace Czt.Web { /// <summary> /// 实现网站登录类 /// </summary> public class Post { /// <summary> /// 网站Cookies /// </summary> private string _cookieHeader = string.Empty; public string CookieHeader { get { return _cookieHeader; } set { _cookieHeader = value; } } /// <summary> /// 网站编码 /// </summary> private string _code = string.Empty; public string Code { get { return _code; } set { _code = value; } } private string _pageContent = string.Empty; public string PageContent { get { […]

龙生   17 Jul 2016
View Details

Facebook 针对 iOS 推出 Swift 开发者工具包

Swift3中文网消息,Facebook为iOS开发者推出了Swift开发者工具包(SDK),开发者可以通过Github链接下载https://github.com/facebook/facebook-sdk-swift。目前这一SDK基于Swift2,不过Facebook称他们将很快推出Swift3的版本。 据悉,这一开发者工具包包括登陆和分享功能,同时也包含带有分析功能的社交图谱API。 Facebook在官方博客中宣称:“我们相信将Facebook社交能力拓展于iOS生态系统,对于我们来说非常之重要。” 显然,Facebook并不是第一个投资于Swift的大公司,IBM在Swift发布的第一天起就发布了相关的企业级的工具,如Swift沙盒功能。Facebook也在类似的事情,这一SDK的发布将在消费级领域推广Swift的使用。 来源:Swift3中文网 from:http://www.oschina.net/news/75243/facebook-ios-swift

龙生   16 Jul 2016
View Details

一个收集了 502 款开源 iOS 应用的开源项目

由dkhamsing发起的Open-Source iOS Apps收集了各种开源的iOS App,并进行了详细的分类,比如游戏、社交、健康、键盘、定位、多媒体、新闻、办公、安全以及小工具类等。截至目前,项目已收集了502款开源iOS应用,收获了7967+个Star,并吸引了109位Contributor的参与。 在此摘取部分与开发者密切相关的应用与其GitHub地址。欲阅览全部应用,可直接点击链接查阅「Open-Source iOS Apps」的README。 Developer AppLove:https://github.com/snowpunch/AppLove AppSlate:https://github.com/Taehan-Kim/AppSlate Bequest:https://github.com/splinesoft/Bequest Blink:https://github.com/blinksh/blink Charter:https://github.com/matthewpalmer/Charter wat:https://github.com/pj4533/wat GitHub CodeHub:https://github.com/thedillonb/CodeHub GitBucket:https://github.com/leichunfeng/MVVMReactiveCocoa Github-Swift:https://github.com/acmacalister/Github-Swift Monkey:https://github.com/coderyi/Monkey MrCode:https://github.com/haolloyin/MrCode OctoPodium:https://github.com/nunogoncalves/iOS-OctoPodium SwiftHub:https://github.com/sahandnayebaziz/StateView-Samples-SwiftHub Ionic Minds Mobile App:https://github.com/Minds/mobile Vegan Lists UK:https://github.com/dsgriffin/vegan-lists-uk Parse 2CITY:https://github.com/2city/2CITY-iOS Anypic in Objective-C:https://github.com/ParsePlatform/Anypic Anypic in Swift:https://github.com/kwkhaw/SwiftAnyPic AnyWall:https://github.com/ParsePlatform/AnyWall how-much:https://github.com/dkhamsing/how-much iBeaconTasks:https://github.com/TomekB/iBeaconTasks React Native 2048(App by Facebook):https://github.com/facebook/react-native/tree/master/Examples/2048 allyoop:https://github.com/wwayne/react-native-nba-app Around Me:https://github.com/bgryszko/react-native-example Assemblies:https://github.com/buildreactnative/assemblies ReactiveCocoa BrewMobile:https://github.com/brewfactory/BrewMobile C-41:https://github.com/ashfurrow/C-41 GroceryList:https://github.com/jspahrsummers/GroceryList HausClock:https://github.com/nottombrown/HausClock RxSwift Count It:https://github.com/PiXeL16/CountItApp GitHub API Client:https://github.com/tailec/boilerplate Kiosk:https://github.com/artsy/eidolon 出处:CSDN from:http://www.oschina.net/news/75258/502-opensource-ios

龙生   16 Jul 2016
View Details

VS2015 +EF6 连接MYSQL数据库生成实体

使用EF设计器 此时此刻,发现二逼了,咋没有MySQL Database呢? 好吧,下面重点: 需要下载安装: 1:mysql-for-visualstudio-1.2.6.msi http://dev.mysql.com/downloads/file/?id=460645 2:mysql-connector-net-6.9.8.msi http://dev.mysql.com/downloads/connector/net/ 3:使用Nuget安装EF   我这边是已经安装完了(版本选择6.1以上的),所以显示“更新”和“卸载”,如果你安装了,继续看下面的   下图是随便找了一个没安装的,就会有“安装”按钮,   4:使用Nuget安装Mysql.Data.Entity 与安装EF相同 点击安装后,一会会出现如下图:     执行完上述步骤,看web.config文件,会自动增加如下代码 OK,现在我们所有的步骤就执行完了。最好重启下VS(不知道是不是必须,反正我重启了),之后重新编译。 再之后,就可以按开始的步骤生成MYSQL对应的实体了。 注:如果刚开始那两个MSI文件安装有问题,则生成实体的时候,到了这一步之后(如下图),会出现闪退问题,无法生成实体   (本人就遇到过这个问题) 到了这一步,已经没有任何悬念了。   来自为知笔记(Wiz) from:http://www.cnblogs.com/RushPasser/p/5438334.html

龙生   14 Jul 2016
View Details

全世界只有我们Erlang程序员是正确的

全世界只有我们是正确的,其他的全错了。我们(Erlang程序员)找到了症结并正确的解决了问题,所有的其他人(非Erlang人)都找错了方向,解决了错误的问题。 全世界其他人想解决的问题是如何让现存的程序能并行执行。2004年之前,摩尔定律一直有效。每年我们的程序执行都会变得更快,我们不需要成为一个优秀的程序员,我们不需要掌握更优化的算法就能让程序一年比一年更快。 芯片越来越大,时钟速度越来越快,程序运行速度越来越快,每年大概以15%幅度的性能提升。 到了2004年,这些现象终止了。芯片已经足够大,时钟的速率已经快到在一个时钟周期内时钟脉冲不能到达芯片的所有部分。电路设计开始改变。多核处理器出现。 从2004年开始,芯片的体积仍然在增大,但时钟的速率开始变小,每个芯片上的CPU数量开始增加。我们从每一个芯片只有一个超级处理器的时代进入到每个芯片有多个速度较慢、性能较弱的多核处理器时代。 由此开始,顺序执行的程序显得越来越慢,一年慢过一年,而并行执行的程序开始变得越来越快。 问题是,根本没有并行执行的程序,有也是极少。 而Erlang是一种具有并发特征的编程语言,所以Erlang程序本质上在具有并行能力的计算机上运行时要比其它程序都快的多。而唯一能阻挡它运行的更快的问题就是Erlang程序中可能存在一些必须顺序执行的瓶颈。 并行程序中有需要顺序执行的部分,这正应验了Amdahl定律。 假设你的程序中有10%是需要顺序执行的(其余部分可以并行),可以并行的部分的执行时间可以压缩近似0——只要有足够的可以并行的处理器。但顺序执行部分的时间无法缩减。 如果程序中含有10%的需要顺序执行的代码,你的程序执行速度最高能提高10倍。其中1/10的程序的速度永远无法提高,其它9/10的程序的执行时间可以缩减至接近0。 所以,对于Erlang程序员来说,提高他们的程序的运行速度的技巧就是找出代码中需要顺序执行的部分。 而对于任何对于其他编写顺序执行程序的程序员来说,提高他们程序速度的方法是找出他们程序中可以并行执行的部分。 让串行程序自动并行化的征途铺满荆棘,无法走通。(并不完全是这样,在某些特殊环境中是可以实现的,但绝非易事)。 现在的数据中心了都排满了酷炫的新型计算机,某些顶级的配置里拥有多达24核。但它们的性能呢?这些酷炫的新机器能快24倍吗? 对某些程序来说是的,但对大多数程序来说不是。对大多数程序来说24个CPU中只有一个被利用。CPU的低利用率成了一个严重的问题。这点正印证了Alexander Gounares Brilliant在Erlang factory谈到的问题。 Alexander的演讲让我们隐约看到了未来。他开创concurix让我们看到了未来的方向。他们正在开发工具能自动找出Erlang代码中需要顺序执行的瓶颈。 Concurix使用这些工具来发现Erlang虚拟机中的瓶颈,在他们的测试中显示了惊人的结果。他们找到了一个图片处理应用中的瓶颈,它是zlib库中的一个程序锁,是用C写成的。他们用Erlang重写了它,用Erlang替换了C代码。 这真是不可思议,C程序本应更快,事实也是,但它却有个同步锁。Erlang程序相比之下要慢,但没有状态锁,这赋予了它提升能力的机会。去掉了C代码后,用Erlang写成的图片处理应用比原始的C程序快了很多。 我很吃惊——惊奇于这样的好东西的出现。 当Alexander在Erlang factory的演讲视频出来之后,你们观看时准备好惊奇吧。这是未来,未来就在下周旧金山。 from:http://www.vaikan.com/erlang-solving-the-wrong-problem/

龙生   13 Jul 2016
View Details

Erlang

Erlang是一种通用的面向并发的编程语言,它由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。 Erlang问世于1987年,经过十年的发展,于1998年发布开源版本。 Erlang是运行于虚拟机的解释性语言,但是现在也包含有乌普萨拉大学高性能Erlang计划(HiPE)开发的本地代码编译器,自R11B-4版本开始,Erlang也开始支持脚本式解释器。在编程范型上,Erlang属于多重范型编程语言,涵盖函数式、并发式及分布式。顺序执行的Erlang是一个及早求值, 单次赋值和动态类型的函数式编程语言。 Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进程间上下文切换对于Erlang来说仅仅 只是一两个环节,比起C程序的线程切换要高效得多得多了。 使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处运行。它的运行时系统甚至允许代码在不被中断 的情况下更新。另外如果需要更高效的话,字节代码也可以编译成本地代码运行。

龙生   13 Jul 2016
View Details

史上最详细Windows版本搭建安装React Native环境配置

说在前面的话: 感谢同事金晓冰倾情奉献本环境搭建教程 之前我们已经讲解了React Native的OS X系统的环境搭建以及配置,鉴于各大群里有很多人反应在Windows环境搭建出现各种问题,今天就特意更新一贴来说明。关于os x环境搭建以及react native入门学习资料请移步:http://www.lcode.org/react-native/ 刚创建的React Native技术交流3群(496508742),欢迎各位大牛,React Native技术爱好者加入交流!同时博客右侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! 1、安装Java 这里需要注意对环境变量的设置,可以根据java -version来检测一下 2、安装SDK 这里需要注意设置环境变量ANDROID_HOME:Android SDK Manager的位置 例如:(ANDROID_HOME=> E:\Android\sdk)设置环境变量PATH:例如:(PATH=> %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools) 3、设置SDK 打开Android SDK Manager。 选中以下项目: Android SDK Build-tools version 23.0.1 Android 6.0 (API 23) Android Support Repository Local Maven repository for Support Libraries 4、安装node 这货是基于js的,node.js轻量级的Web服务器,想要是React Native跑起来需要安装node, 如果没有安装node.js,先去官网安装node.js,最好是4.1以上版本 下载地址:https://nodejs.org/en/ 下载node.js,找好对应的版本,然后去安装就可以了。 大家可以通过node -v的命令来测试NodeJS是否安装成功 5、安装git 安装React-native需要用到git,如果没有配置git,需要先下载对应的客户端,然后将git加入path环境变量即可 下载地址:https://git-for-windows.github.io/ 安装: 6、安装react-native命令行工具react-native-cli git配置完成后可以clone React-native-cli了,建议大家到将react-native-cli克隆到某个盘,不要在c盘直接clone 1)   在命令行中进入你希望RN安装的目录 2)   输入git clone https://github.com/facebook/react-native.git,等待下载 clone成功后: 3)   进入刚刚目录下的react-native目录下的react-native-cli目录,输入npm install -g 安装好之后,可以命令行下就有react-native命令了 7、创建RN项目 进入你希望创建项目的目录后,输入react-native init AwesomeProject,等待一段时间(较慢) 成功后: 目录结构: 7、运行package 在命令行中进入项目目录,输入react-native start,等待一段时间: 这时候可以用浏览器访问http://localhost:8081/index.android.bundle?platform=android,如果可以访问表示服务器端已经可以了。   7、运行项目 刚刚运行package的命令行不要关闭,重新启动一个新的命令行, 进入项目目录,输入react-native run-android 等待运行(如果是第一次运行,首先会下载gradle,时间较长) 运行成功后出现下图 第一次手机肯定报错 […]

龙生   12 Jul 2016
View Details

React Native专题

出处地址:http://www.lcode.org 本文出自:【江清清的技术专栏】 本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶相关讲解。 刚创建的React Native交流7群:131537844  欢迎各位大牛,React Native技术爱好者加入交流!同时博客右侧欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! 关于React Native各种疑难杂症,问题深坑总结方案请点击查看: Mac和Windows安装搭建React Native环境教程如下:  Mac OS X版本:Mac OS X安装React Native环境点击进入….  Windows版本:Windows系统安装React Native环境点击进入… 微信公众账号推送文章清单目录(每天推送React Native技术文章,右侧二维码扫描):https://github.com/jiangqqlmj/WeixinArticles/blob/master/README.md (一).基本介绍: React Native For Android是伟大的互联网公司Facebook与2015年9月15日发布的,该可以让我们广大开发者使用JavaScript和React开发我们的应用,该提倡组件化开发,也就是说React Native给我们提供一个个封装好的组件让开发者来进行使用,甚至我们可以相关嵌套形成新的组件。使用React Native我们可以维护多种平台(Web,Android和IOS)的同一份业务逻辑核心代码来创建原生应用。现阶段Web APP的的体验还是无法达到Native APP的体验,所以这边fackbook更加强调的是learn once,write everywhere,应用前端我们使用js和React来开发不同平台的UI,下层核心模块编写复用的业务逻辑代码,提供应用开发效率。 [特别注意]目前react native在ios上仅支持ios7以上,Android仅支持Android4.1以上。 React Native项目github地址:https://github.com/facebook/react-native React Native项目官网文档:http://facebook.github.io/react-native/docs/getting-started.html (二).基础入门: 1.React Native For Android环境配置以及第一个实例 2.React Native开发IDE安装及配置  3.React Native应用设备运行(Running)以及调试(Debugging) 4.React Native移植原生Android项目-已废弃 4.1.React Native移植原生Android项目-已更新版本-New 5.React Native进行签名打包成Apk 6.React Native库版本升级(Upgrading)与降级讲解 7.React Native VSCode IDE超强开发插件介绍(智能,代码提醒,运行调试…) 8.React Native特定平台代码说明 9.React Native基础之Linking Libraries链接库配置-适配iOS开发 10.React Native基础之真机设备运行调试应用-适配iOS开发 11.React Native基础之从源代码编译详解-适配Android开发 12.React Native进阶之原生UI组件封装详解-适配Android开发 13.React Native 移植原生iOS平台项目 13.1.React Native 移植原生iOS平台项目-更新最新版本 14.React Native基础之核心组件使用教程介绍-Core Components (三).组件学习: 1.React Native控件之View视图讲解 2.1.React Native配置运行官方例子-初学者的福音(Mac OS X版本) 2.2.React […]

龙生   12 Jul 2016
View Details

开源公司黄页之 Google 开源软件推荐

在企业使用开源和贡献开源方面,Google一直是行业的典范。一直以来,Google都在极力推广和倡导开源,并发布了一系列开源项目。如果没有开源软件,Google也难以达到今日的成功。开源中国社区目前收录了Google 259 款开源软件,详见:http://www.oschina.net/project/google Android SDK——Android SDK logoAndroid开发工具包 Android SDK 是 Android 的开发工具包。 Android是谷歌(Google)公司推出的手机开发平台。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台,下图是 Android 手机平台开发工具包说提供的模拟器界面截图: 但其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时 拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。 Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。谷歌移动平台主管安迪·鲁宾(Andy Rubin)表示,与软件开发合作伙伴的密切接触正在进行中。从去年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并 组建“开放手机联盟”,其成员超过30家。     Android Studio——Android Studio logoAndroid 开发环境 Android Studio 是一个全新的 Android 开发环境,基于 IntelliJ IDEA。类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试,在 IDEA 的基础上,Android Studio 提供: 基于 Gradle 的构建支持 Android 专属的重构和快速修复 提示工具以捕获性能、可用性、版本兼容性等问题 支持 ProGuard 和应用签名 基于模板的向导来生成常用的 Android 应用设计和组件 功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览 Chrome——Google浏览器 Google Chrome,又称谷歌浏览器,是一个由Google(谷歌)公司开发的开放源代码网页浏览器。本软件的程式码是基于其他开放源代码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的名称是来自于又称作“Chrome”的网络浏览器图形使用者界面(GUI)。 软件的beta测试版本在2008年9月2日释出,提供43种语言版本,目前仅适用于Microsoft Windows的XP及Vista平台,并不支援Windows 2000或更早期的版本。Mac OS X和Linux版本正在研发中,并将于日后推出。 Android NDK Android NDK 是在 SDK 前面又加上了原生二字,即 Native Development Kit,因此又被 Google 称为 NDK。 在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK的公布可以让开发者更加直接的接触Android系统资源,并使用传统的C或C++语言编写程序,并在程序封包文件(.apks)中直接嵌入原生库文件。 不过,Google也表示,使用原生SDK编程相比Dalvik虚拟机也有一些劣势,比如程序更加复杂,兼容性难以保障,无法访问Framework API,Debug难度更大等。开发者需要自行斟酌使用。 众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。 NDK包括了: 从C / C++生成原生代码库所需要的工具和build […]

龙生   08 Jul 2016
View Details
1 191 192 193 280