摘要:IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作。大体上可以这么说,当连接建立后,服务端与客户端的请求响应都是基于IOStream的,也就是说:IOStream是用来处理连接的。 接下来说一下有关接收请求的大体流程: 当连接建立,服务器端会产生一个对应
阅读全文
|
05 2017 档案
摘要:IOStream对tornado的高效起了很大的作用,他封装了socket的非阻塞IO的读写操作。大体上可以这么说,当连接建立后,服务端与客户端的请求响应都是基于IOStream的,也就是说:IOStream是用来处理连接的。 接下来说一下有关接收请求的大体流程: 当连接建立,服务器端会产生一个对应
阅读全文
摘要:tornado使用了单进程(当然也可以多进程) + 协程 + I/O多路复用的机制,解决了C10K中因为过多的线程(进程)的上下文切换 而导致的cpu资源的浪费。 tornado中的I/O多路复用前面已经讲过了。本文不做详细解释。 来看一下tornado中的协程模块:tornado.gen: tor
阅读全文
摘要:本文所剖析的tornado源码版本为4.4.2 ioloop是tornado的关键,是他的最底层。 ioloop就是对I/O多路复用的封装,它实现了一个单例,将这个单例保存在IOLoop._instance中 ioloop实现了Reactor模型,将所有要处理的I/O事件注册到一个中心I/O多路复用
阅读全文
摘要:Configurable十分重要! 位于tornado.util文件中,它是一个工厂类。 我们暂且称这个类为 配置类 。 我们暂且约定:该类的子类称之为 直属配置子类 , 该类的孙类、重孙类……称之为 从属配置子类。就像这样: class Configurable(object): # 配置类 pa
阅读全文
摘要:本文是在阅读了Aaron艾伦的jQuery源码解析(地址:http://www.imooc.com/learn/172)后的个人体会以及笔记。在这里感谢艾伦老师深入浅出的讲解!! 1 什么是链式? 先来段代码: $('#level > a').click(function(){ $(this).ad
阅读全文
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/4/28 16:41 # @Author : MnCu # @Site : # @File : fbnq.py # @Software: PyCharm # 一对兔子从出生到可繁殖需两个月,然后每月都能繁殖一对兔子,问n月后共有多少兔子 def fbn...
阅读全文
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/4/10 19:03 # @Author : MnCu # @Site : # @File : start.py # @Software: PyCharm import socket import asyncio.coroutines from torn...
阅读全文
摘要:先啥也不说:来张效果图 我是根据:http://www.imooc.com/learn/133 这里的课程进行学习的。大大的感谢liuyubobobo老师的深入浅出的讲解!! 我在这里仅仅提供我自己的代码和整体思路。 我的思路: 1 我们需要创建一个名为Ball的构造函数,每一个小球都是该构造函数的
阅读全文
摘要:说起面向对象,大部分程序员首先会想到 类 。通过类可以创建许多具有共同属性以及方法的实例或者说对象。但是JavaScript并没有类的概念,而且在JavaScript中几乎一切皆对象,问题来了,JavaScript中如何面向对象? JavaScript中将对象定义为:一组无序的 键值对的集合,属性以
阅读全文
摘要:本文转自:http://www.xiabingbao.com/jquery/2015/05/30/jquery-extend 原文的排版要比这里美观很多,建议去原文查看。本文仅仅作为个人的mark,方便自己。 通常我们使用jquery的extend时,大都是为了实现默认字段的覆盖,即若传入某个字段的
阅读全文
摘要:本文是在阅读了Aaron艾伦的jQuery源码解析(地址:http://www.imooc.com/learn/172)后的个人体会以及笔记。在这里感谢艾伦老师深入浅出的讲解!! 先来看看如何生成一个jQuery对象,源码: var jQuery = function( selector, cont
阅读全文
摘要:要说end(),我们就不得不说prevObject。 在jQuery中,每个jQuery对象都有一个prevObject属性 var $p = $('p'); 这个属性是做什么的呢? jQuery内部维护着一个jQuery对象栈。每个遍历方法都会找到一组新元素(一个jQuery对象),然后jQuer
阅读全文
摘要:FE-interview $HTML, HTTP,web综合问题 常见排序算法的时间复杂度,空间复杂度 前端需要注意哪些SEO web开发中会话跟踪的方法有哪些 <img>的title和alt有什么区别 doctype是什么,举例常见doctype及特点 HTML全局属性(global attrib
阅读全文
摘要:本文转自:http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html 作者:阮一峰 本文仅仅作为个人mark,所以排版可能并不优美,建议到原文观看。 另:本文在转载过程中加入了个人的一些理解,对原文进行了修改
阅读全文
摘要:引入 data函数在jQuery中看起来很不起眼, 就像沙滩上一颗平凡的沙子, 但仔细一瞅, 却惊讶的发现data是jQuery中无比重要的一环, 甚至jQuery中各种事件都基于此。 data有什么作用? 在我们平时js编码过程中,我们经常会向DOM元素中添加各种自定义属性,这样有一个弊端。 1
阅读全文
摘要:1 生成器: 为什么要有生成器? 就拿列表来说吧,假如我们要创建一个list,这个list要求格式为:[1,4,9,16,25,36……]这么一直持续下去,直到有了一万个元素的时候为止。如果我们要创建这个list,那么应该是这样的: [i*i for i in range(1,10001)] #列表
阅读全文
摘要:grep : 根据pattern(模式)搜索文本,并将符合模式的文本行显示出来,并不会修改原文件。 用法: grep [options] ‘ pattern ‘ /file #也可以利用管道进行匹配 -i ignore 忽略大小写 --colour 将匹配的字符串加颜色。 -v 反向查找,显示与pa
阅读全文
摘要:什么是正则表达式? 正则表达式并不仅仅是python的专利,几乎其他的语言都有正则表达式。就比如bash就有正则表达式命令--grep,个人感觉python中的正则表达式类似于 grep -o 正则表达式是用于处理字符串的强大工具,虽然效率上可能不高,但是功能强大! 正则表达式设定了一系列语法,比如
阅读全文
摘要:os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前命令时就要用到pwd命令,而Win
阅读全文
摘要:文件操作有很多种 我们在这里可以大体分一下,文件的操作其实可以分为对文件整体的操作(创建文件,删除文件,重命名文件,获取文件属性)以及对文件内容的操作(修改文件内容) 先来看对文件整体的操作: 我们按照增删查改的顺序进行讲述 1 增 所谓增,即新建。 新建一个文件 f=open('lalal','w
阅读全文
摘要:sys模块的功能 sys是python中较为常用的一个模块,他提供了对python脚本运行时的环境的操作。 sys功能: 1 sys.argv #将python脚本运行时的脚本名以及参数作为一个list,并输出。 View Code 2 sys.path #返回一个list,该list为当前脚本的p
阅读全文
摘要:shutil -- --High-level file operations 高级的文件操作模块。 os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都
阅读全文
摘要:什么是面向对象? 所谓面向对象就是将那些具有共同特质的事物组成一个类(Class),在类中为这些特质定义一个个方法(函数)。 具体一点,比如说英雄联盟。在英雄联盟中我们可以把所有的英雄划分为一个英雄类,这个类包含血量/蓝量/攻击力/法术强度/移动速度……的基本属性,同时我们为这些英雄定义了买装备,前
阅读全文
摘要:map(fun,iterable) 首先来看一看map()函数,map函数接受两个参数,第一个参数是函数的名称,第二个参数一个可迭代对象。即map(fun,iterable) map函数就是将具体数值根据算法进行计算,并将结果保存为一个迭代器。我们知道,迭代器很'懒',通过调用next函数一次只输出
阅读全文
摘要:继承 当我们定义完成某个类时,可以再定义一个新类,新类可以继承第一个类。新类被称为子类,而被继承的类称为父类/基类/超类。 继承就是子类继承父类的属性和方法(注意是类属性和类方法)。 继承可以使子类使用父类中的方法,也可以在子类中新定义某个方法,或者在子类中覆盖父类的方法。 来看一个实例: clas
阅读全文
摘要:什么是序列化(picking)? 我们把变量从内存中变成可存储或传输的过程称之为序列化。 序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。 反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。 举例:大家应该都玩过魔兽争霸,应该知道该游戏有
阅读全文
摘要:--引入 程序运行时,难免出现bug,当出现bug时,用户可能很难明白那一堆报错代码到底是个什么东西,为了让用户能更清楚知道错误原因或者直接对用户将此错误屏蔽,异常处理就应运而生。 --格式 try: #输入要运行的代码 pass except NameError as err: #将该类型的错误捕
阅读全文
摘要:引入 Socket的英文原义是“孔”或“插座”,在Unix的进程通信机制中又称为‘套接字’。套接字实际上并不复杂,它是由一个ip地址以及一个端口号组成。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座(ip地址)的房间,每个插座有很多插口(端口),通过这些插口接入电线(进程)
阅读全文
摘要:什么是sed? sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管 道传输来的数据。主要针对行,也就是行编辑。默认是不编辑文件的,处理时,把当前 处理的行存储在临时缓冲区中,称之为模式空间(pattern space),接着用sed命令处理 缓冲区中的内容,
阅读全文
摘要:最近在温习javaweb的相关基础知识,鉴于我弄丢了记满了整整一本的笔记,决定以后把笔记和一些学习上的心得以及碰到的一些问题统统都放在网上,今天看了一下jsp的相关基础,以下是笔记: JSP三大指令: JSP指令格式: <%@page language="java" pageEncoding="ut
阅读全文
摘要:上一篇笔记写的是jsp的三个指令九个内置对象,这篇随笔开始写jsp的动作标签,动作标签是由服务器(Tomcat)来解释执行,与java代码一样,都是在服务器端执行的,jsp动作标签有十几多个,这里只写了比较常用的几个. <jsp:include> 包含:与RequestDispatcher的incl
阅读全文
摘要:el表达式是jsp内置的表达式语言,jsp从jsp2.0开始,就不再提倡使用java脚本,而是用el表达式和动态标签来替代,而el表达式主要替代的是jsp中的<%=....%>,也就是说el表达式只做输出. EL表达式来读取四大域: ${xxx} : 全域查找名为xxx的属性,如果不存在,输出空字符
阅读全文
摘要:EL函数库(由JSTL提供的) * 导入标签库:<%@ tablib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> String toUpperCase(String input):把参数转换成大写 String toLower
阅读全文
摘要:前言 笔者因为项目需要自定义相机,所以了解了一下 Android 关于 camera 这块的 API。Android SDK 21(LOLLIPOP) 开始已经弃用了之前的 Camera 类,提供了 camera2 相关 API,目前网上关于 camera2 API 介绍的资料比较少,笔者搜集网上资
阅读全文
摘要:以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是对el表达式的扩展,是一种标签语言,使用起来比较方便,他不属于jsp内置的标签,使用之前需要导包,以
阅读全文
摘要://必须且仅能保留两位小数,如果大于两位,那么只保留两位,并四舍五入,如果小于两位,那么使用0补足两位。 //最多显示两位,如果小于两位,那么有几位保留几位,不会用0补足。大于两位,只保留两位,并四舍五入!
阅读全文
摘要:相信 strings.xml 已经是大家在 Android 开发中最熟悉的文件之一了,但其实它也有很多需要注意的地方和一些小技巧,知道了这些可以让你的 Android 应用更加规范易用,大家来看看吧。: ) 不要复用 这一条可能很多人会有不同的意见,因为广为流行的编程理念就在教导我们要复用代码,当然
阅读全文
摘要:前言 从零开始用 Flask 搭建一个网站(三) 介绍了网页前端与后端、前端与前端之间数据的交流。本节主要介绍一下如何应用 Flask-OAuthlib, 使用 Flask-OAuthlib 就可以轻松地请求第三方应用提供的 API。GitHub 上 example 给出了一些如何使用的简单例子,但
阅读全文
摘要:从零开始用 Flask 搭建一个网站(二) 介绍了有关于数据库的运用,接下来我们在完善一下数据在前端以及前端到后端之间的交互。本节涉及到前端,因此也会讲解一下 jinja2 模板、jQuery、ajax 等用法。 下面我们来创建两个界面,一个可以新建 channel,并显示,另一个可以创建 inte
阅读全文
摘要:从零开始用 Flask 搭建一个网站(一) 介绍了如何搭建 Python 环境,以及 Flask 应用基本项目结构。我们要搭建的网站是管理第三方集成的控制台,类似于 Slack。 本篇主要讲解数据如何在 Flask 应用中流动,其它的框架基本上也是大同小异。 数据库 既然是数据的流动,首先要建立起存
阅读全文
摘要:前言 笔者之前未接触过 Python,只是略懂一点前端,所以说从零开始也相差无几吧。Flask 是一个轻量级的基于 Python 的框架,但是扩展性非常良好(Github 上 22000 多个 star 就知道群众的选择不无道理),其他的这里就不多提了,下面就开始我们的网站搭建之路。 开始 首先需要
阅读全文
摘要:ReactJS 是否准备好 有时候我们常常需要监听 ReactJS 的的加载情况。比如说,当获取一条推送,应用还没有起来,通过点击推送启动应用后,而推送中包含一些我们感兴趣的字段需要处理,我们如果直接把这条通知发送给 ReactJS,会有一个问题,就是应用是刚启动的,ReactJS 还没有成功加载,
阅读全文
摘要:背景介绍 学生时代,老师站在窗外的阴影挥之不去。大家在玩手机,看漫画,看小说的时候,总是会找同桌帮忙看着班主任有没有来。 一转眼,曾经的翩翩少年毕业了,新的烦恼来了,在你刷知乎,看视频,玩手机的时候,老板来了!不用担心,不用着急,基于最新的人脸识别+手机推送做出的 BossComing。老板站起来的
阅读全文
摘要:推送已经是是手机应用的基本功能,如果自己实现一套推送系统费时费力,所有一般我们会使用第三方的推送服务,这里我使用「极光推送」作为集成推送的例子,因为有现成的 react native 插件 jpush-react-native 可以使用。 前置准备工作 安装软件 react native (0.41
阅读全文
摘要:给 iOS 应用添加推送功能是一件比较麻烦的事情,本篇文章收集了集成 jpush-react-native 的常见问题,目的是为了帮助用户更好地排查问题 1. 收不到推送 确保是在真机上测试,而不是在模拟器 自己的应用已经在 Apple developer 给应用配置推送功能,创建推送证书 (并且保
阅读全文
摘要:<?xml version='1.0' encoding='utf-8'?> <plugin id="cordova-plugin-janalytics" version="1.0.4" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:a
阅读全文
摘要:写在前面:年前的时候,极光社区组织了一场征文活动 ,收到不少好的文章。现在打算和大家一起分享一下这些优秀的作品 :)作者:IPastor - 极光原文:我和极光有个约会 ♤♤ 先来个自我介绍吧!本人是 JavaWeb 出身,后转 Android 开发,目前在北京某知名科技公司任职安卓端开发工程师!
阅读全文
摘要:Q 1:为啥收不到推送(1)? 如果收到推送时,App 在前台运行,那么: iOS 10 before 顶部横幅不会弹出。没有任何展示,你以为「没有收到推送」。 iOS 10 after 如果没有实现以下代码,也是不会有任何提示的,你以为「没有收到推送」。 //UNUserNotificationC
阅读全文
摘要:BlackArch 官方有一个比较完整的安装指南文档,其地址为https://blackarch.org/blackarch-install.html正如其第一行所述的那样 This tutorial will show you how to install Blackarch Linux usin
阅读全文
摘要:什么叫可读性 曾经看到过这样一句话「别人在阅读代码过程中飙脏话的频率是衡量你代码质量的唯一标准」。 代码的可读性其实不是针对的编译器、解释器,而是对于人来说的。具有良好可读性的代码,应该是能让人快速理解、轻松维护、容易扩展的。 相信大家都有过维护别人代码的经历,如果各有各的风格,而没有遵循一定的规范
阅读全文
摘要:修复 bug 占用我们日常开发的大部分时间,熟练的使用调试工具可以给我们节约大部分的时间。 LLDB 的常用命令 expresion 是一个非常常用的命令,我们可以通过这个命令来执行一些表达式,这样我们就不需要重写运行工程了,例如: 我们也可以使用 expression 来输出我们关注的信息 有时候
阅读全文
摘要:前言 老夫是 Linux 的老用户。大一的时候某不方便透露姓名的校内组织给了一个 Fedora 13 的安装光盘,然后老夫学会了重装 Windows。大二的时候知道了 Ubuntu ,开始在虚拟机和双系统中来回切换。大三的时候硬盘安装了 CentOS,开始正式成为 Linux 的用户。大四的时候被
阅读全文
摘要:YouCompleteMe is a fast, as-you-type, fuzzy-search code completion engine for Vim.参考: https://github.com/Valloric/YouCompleteMe#full-installation-guid
阅读全文
摘要:最近用到了一个非常强大的工具,这是一款由 facebook 出品的原型设计软件,老规矩我们先来看一下效果。大家也可以先进去官网看看效果Origami 官网 scroll.gif scroll.gif swipe.gif swipe.gif Origami 运行模拟器 我门在编辑 Origami 的时
阅读全文
摘要:最近有一款游戏特别的火爆,叫做Steve ,一种可以在通知中心直接玩的游戏。作者的脑洞也是非常的大,实在让人佩服。其实实现起来也简单,就是用到了iOS8新特性 app extension(Today extension),我们先来看看Steve 这图的效果。 我打算把一个曾经很火爆的开源游戏移植成控
阅读全文
摘要:现在很多 App 都需要集成 IM 功能,今天就为大家分享一下集成 IM 基本功能的步骤。本文内容以 JMessage 为例。极光 IM ( JMessage ) = 极光推送 ( JPush ) + IM,本篇只论述其中的 IM 部分,为大家快速集成 IM 功能提供一个简明的范例。 我们先来看一下
阅读全文
摘要:3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本—— ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无法升级至 TP 5 ,请往下看。另外本指南使用环境为 Linux/Mac,若开发环境为 Windwos
阅读全文
摘要:Markdown 和 MkDocs 简介 Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台 WordPress 和大型 CMS 如 Joomla 、Drupal 都能很好的支持 Markdown 。 MkDocs 是一个用于创建项目文档
阅读全文
摘要:我们现在无论何时拿出自己的手机,解锁后的主页上,总能看到一个个的小红点,仿佛在呐喊:有消息啦,不管重不重要,快点我,快来消除我。 甚至曾有人掀起了一波潮流:在微信头像上加上小红点。这很直接很彻底地引发了大众的清除强迫症。 这也就是为什么我们做 App 的时候,希望在收到了推送消息时,App 能带上一
阅读全文
摘要:该篇文章主要介绍一个实现聊天界面的思路过程,源码可以在 源码链接 获得,该工程实现聊天的基本功能,功能还不够完善,欢迎大家提PR,效果图如下所示 我希望通过相对简单的方式实现界面的布局,没有复杂的计算达到自适应的效果。 iOS8新功能介绍 虽然self size cell最终没有在我的工程中用到,但
阅读全文
摘要:目标 展示 C# 服务端集成极光推送的步骤,多图少字,有图有真相。使用极光推送, C# 服务端推送到 Demo App,Android 手机收到推送,整理为十个步骤,使用十分钟左右,完成从注册账号到 Android 手机上的 Demo App 收到推送。 1.注册极光账号 注册页面: https:/
阅读全文
摘要:最近接触与学习到的几个思想,总结学习下。 『黑天鹅』帮你认识世界的本质,『关键时刻』帮你认识商业的本质,张小龙则是从产品的本质出发来做工具的。 『黑天鹅』这本书很出名,因为它创造了一个非常独特的视角:认真地看待随机事件,并且是可以采取策略来规避与利用的。 世界一定程度上是由黑天鹅事件推动的。之所以黑
阅读全文
摘要:想获取用户各项行为数据吗? 想轻松查看用户行为图表吗? 想高效进行 App 运营管理吗? 想,来我带你玩转 App 数据统计。这里我使用专业、轻便的 JAnalytics。本文内容分为两部分:代码示例&使用技巧部分、控制台图表查看部分。 代码示例&使用技巧 集成 初始化 SDK 在 applicat
阅读全文
摘要:需求 最近需要给自己的服务器添加监控器,目的是监控服务器的内存、CPU、磁盘占用率,资源占用率过高的话能给自己发个提醒,当前主流的平台一般会提供邮件、短息、甚至会提供微信提醒,不过这类提醒包含的噪音太多了(夹杂着各种无关的社交信息),我只是单纯的需要接收到服务器的预警。由于服务器环境并不复杂,所以不
阅读全文
摘要:目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能。 首先,一个最基础的 IM 应用会需要有哪些功能? 用户注册 / 登录 管理聊天会话 发送消息 接收消息 那么我们又该如何用 JMessage 来实现这些功能呢? 当然
阅读全文
摘要:我们 Android 开发者在使用极光推送时可能会发现,在通过官方控制台进行推送时。只有 iOS 区分了开发和生产环境,而 Android 则没有。但实际开发中又确实经常需要针对开发和生产环境分别来推送,这里就讲解下 JPush 如何实现 Android 应用的不同环境推送。 首先,我们在极光推送官
阅读全文
摘要:bottle 是一个轻量级的python web框架, 可以适配各种web服务器,包括python自带的wsgiref(默认),gevent, cherrypy,gunicorn等等。bottle是单文件形式发布,源码在这里可以下载,代码量不多,可以用来学习web框架。这里也有官方文档的中文翻译。
阅读全文
摘要:gunicorn是一个python Wsgi http server,只支持在Unix系统上运行,来源于Ruby的unicorn项目。Gunicorn使用prefork master-worker模型(在gunicorn中,master被称为arbiter),能够与各种wsgi web框架协作。gu
阅读全文
摘要:如前文所述,Arbiter是gunicorn master进程的核心。Arbiter主要负责管理worker进程,包括启动、监控、杀掉Worker进程;同时,Arbiter在某些信号发生的时候还可以热更新(reload)App应用,或者在线升级gunicorn。Arbiter的核心代码在一个文件里面
阅读全文
摘要:gunicorn支持不同的worker类型,同步或者异步,异步的话包括基于gevent、基于eventlet、基于Aiohttp(python版本需要大于3.3),也有多线程的版本。下面是gunicorn当前版本(19.6.0)支持的Worker类型: sync eventlet - Require
阅读全文
摘要:在这篇文章中,提到了Master进程对信号的处理函数,其中有两个信号比较有意思。 SIGHUP:用来热更新(Reload)应用 SIGUSR2:用来在线升级(upgrade on the fly)gunicorn 下面来详细看一下: SIGHUP: SIGUP对应的信号处理函数是Arbiter.re
阅读全文
摘要:本文主要介绍python中Enhanced generator即coroutine相关内容,包括基本语法、使用场景、注意事项,以及与其他语言协程实现的异同。 enhanced generator 在上文介绍了yield和generator的使用场景和主意事项,只用到了generator的next方法
阅读全文
摘要:目录 generator基础 generator应用 generator基础应用 generator高级应用 注意事项 目录 generator基础 generator应用 generator基础应用 generator高级应用 注意事项 generator基础应用 generator高级应用 正文
阅读全文
摘要:如果一个函数直接或者间接调用了自己,那么就形成了递归(recursion),比如斐波那契数列的一个实现 def fib(n): if n <= 2: return 1 else: return fib(n - 1) + fib(n - 2) 递归一定要有结束条件,否则就形成了死循环, 比如下面的例子
阅读全文
摘要:目录 greenlet初体验 greenlet module与class Switch not call Greenlet生命周期 Greenlet Traceing greenlet使用建议 总结 目录 greenlet初体验 greenlet module与class Switch not ca
阅读全文
摘要:djanjo简介 Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框
阅读全文
摘要:在djanjo框架中我们最常用的框架分别就是mysql和sqlit了,下面我们将分别讲述一下这俩种数据库的基础必备知识 mysql 一、利用命令创建(在终端上执行) 1、首先创建一个project项目 djanjo—admin startproject project名字 2、创建app(首先必须利
阅读全文
摘要:ORM 就是用面向对象的方式去操作数据库的创建表以及增删改查等操作 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接数据库,并编写数据访问层代码 业务逻辑层去调用数据访问层执行数据库操作 View Code django
阅读全文
摘要:中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 MIDDLEWARE_CLASSES = [ # 'ZHONGJIANJIAN.text.text1Middlewa
阅读全文
摘要:模板 一、引用变量 模版的创建过程,对于模版,其实就是读取模版(其中嵌套着模版标签),然后将 Model 中获取的数据插入到模版中,最后将信息返回给用户。 {{ xxx }} 二、标签 用{% %}表示,用于处理一些逻辑 常用的几个标签 {% if 条件 %} 内容 {% endif %} {% f
阅读全文
摘要:Form验证 django中的Form一般有两种功能: 输入html 不能你自己写一些标签,而帮你自动生成 验证用户输入 将用户验证信息保存起来,可以传到前段 View form.html froms -----------------------------------总结:-----------
阅读全文
摘要:上节补充 当创建对象的类中没有我们想要执行的方法是,我们知道应该从它的父类里面找,如果父类里面有我们想找的方法,而且放下下面又包含方法时,包含的方法怎么执行呢? class A: def f1(self): print("A") def xxx(self): print("111") class B
阅读全文
摘要:一 、反射(根据字符串的形式去对象(某个模块)中操作成员) python中的反射功能是有以下四个内置函数提供:hahasattr、getattr、aetattr、delattr,这四个函数分别用于对对象内部执行:检查是否含有某成员,获取成员、设置成员、删除成员 1、通过字符串的形式来导入模块 inp
阅读全文
摘要:说实话,爬虫对于我来说还是很神秘的,对爬虫的学习动力,可能仅仅是因为能够快速的在校花网上爬取一些妹子图片,或者是完成自己的作业任务,还有可能是因为或许以后可以通过爬虫为自己爬来一碗口粮。。。。哎,不想了!管他呢 爬虫 百度百科定义: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常
阅读全文
摘要:一 、Socket 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket socket(TCP,IP)通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求 socket和file的区别: fil
阅读全文
摘要:一、json json,用于字符串 和 python数据类型间进行转换 Json模块提供了四个功能:dumps、dump、loads、load 1、json.loads()用于将字符串形式的字典,列表转换成相应的字典,列表(元祖不可以,应为其他语言中没用元祖) import json a="[1,2
阅读全文
摘要:一 、比较low的线程池 import queue,time,threading class My_theading_pool(object): def __init__(self,num = 20): self.queue = queue.Queue(num) #在类中分装一个队列,队列中最多容纳
阅读全文
摘要:一、线程(线程是最小的工作单位,同一进程内的线程共享资源) 创建线程:threading模块 创建一个线程:threading.Thread(target=函数名,args=(参数,) ) *这里的args后面必须是元祖,而且当括号内是一个参数是,第一个参数后加逗号 我们利用threading模块创
阅读全文
摘要:一、线程(目的提高执行效率) 计算机中执行任务的最小单元 优点:共享内存,IO操作的时候,创造并发操作 缺点:抢占资源 二、进程(提高执行效率) 进程就是一个程序在一个数据集上的一次动态执行过程 优点:同时利用多个CPU,能够同时进行多个操作 缺点:消耗资源(重新开辟内存空间) 三、线程和进程的关系
阅读全文
摘要:一个完整的网页是有html(超文本标记语言),css(层叠样式表)JavaScript(动态脚本语言)三部分组成 一、html 概念:超文本标记语言,“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素 结构构造:超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(
阅读全文
摘要:一、引入方式 1、 行内样式(放在body中) 行内样式 2、内嵌式(放在head中) 内嵌式 3、外链式 (放在head中)(将内嵌式中的css样式表放到外面一个单独的样式文件中) 主文件: 外链式 主文件 样式文件: 1 2 3 #div1{ background: #cc0000; } 1 2
阅读全文
摘要:一、python中执行系统命令常见的几种方法 1、os.system(command)仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 import os ret = os.system("command") 2、os.popen('command') 在终端运行系统命令,并获取命令执行
阅读全文
摘要:1、运算符 运算符用于执行程序的代码运算,包括1>算数运算符 2>比较运算符 3>赋值运算符 4>逻辑运算符 5>成员运算符 1> 算数运算符 2> 比较预算符 3> 赋值运算符 4> 逻辑运算符 5> 成员运算符 2、查看对象的类,或对象所具备的功能 1> 利用type功能查代码属于哪一类 例:
阅读全文
摘要:一、整体布局 1、创建一个html标签 2、创建三个div标签(分别是网页的头部,中间,和底部三部分) 3、一般都用class选择器 4、用css给body标签加个 margin:0(用于消除body边框和浏览器间的空白部分) 5、使div(块状)标签居中 >先定义宽度,高度 >margin:0 a
阅读全文
摘要:1、set set是一个无序的不重复的集合 li=[11,22,33,11] s=set(li) print(s) {11,22,33} set提供的方法 1、add(self, *args, **kwargs): 添加 li={11,22,33} s=li.add(44) print(li) {1
阅读全文
摘要:1、int 系统内部自动执行的 a=123>>>>a=int(123)>>>>a=_init_(123) 外部调用 a 2 b=a.bit_length() 计算int(整型)中元素换算成二进制所占的最少位数 a=123 print(a.bit_length()) 7 b=len() 查看字符串,列
阅读全文
摘要:1、函数参数(引用) 函数的传参,传的是引用 def func(args): args.appand(123) li=[11,22,33] func(li) print(li) [11,22,33,123] 2、lambda表达式 f4(函数名)=lambda 参数:reture值 3、内置函数 1
阅读全文
摘要:1、用户登录,验证,注册 def login(a,b): """ 用于用户名和密码的验证 :param a: 用户名 :param b: 密码 :return:Ture 用户验证成功 False 用户验证失败 """ c=open("334.txt","r",encoding="utf-8") fo
阅读全文
摘要:1>概念:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式就是记录文本规则的代码。 所以正则表达式并不是python中特有的功能,它是一种通用的方法。python中的正则
阅读全文
摘要:两种解析方式 1、from xml.etree import ElementTree as ET 利用ElementTree模块下的xml方法可以把一个字符串类型的东西转换成Element类,从而利用Element类下面的方法 xml(字符串)解析方式只能读不能写 from xml.etree im
阅读全文
摘要:1、vars() 查看一个.py文件中的全局变量 print(vars()) #重点 __name__': '__main__ '__file__': 'C:/Users/lenovo/PycharmProjects/老男孩/pppppppp.py' {'__spec__': None, '__na
阅读全文
摘要:1、购物车 c=[] sum=0 a=[ {"name":"电脑","price":1000}, {"name":"鼠标","price":2000}, {"name":"优盘","price":3000}, {"name":"硬盘","price":4000}, {"name":"音响","pri
阅读全文
摘要:字符串格式化 Python的字符串格式化有两种方式: 百分号方式、format方式 1、百分号方式 %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐;正数前加正好,负数前加
阅读全文
摘要:1、time & datatime #_*_coding:utf-8_*_ import time import datetime print(time.clock()) #返回处理器时间,3.3开始已废弃 print(time.process_time()) #返回处理器时间,3.3开始已废弃 p
阅读全文
摘要:学习python也已经有一段时间了,发现python作为脚本语言一个很重要的特点就是简单易用,而且拥有巨多的第三方库,几乎方方面面的库都有,无论你处于哪个行业,想做什么工作,几乎都能找到对应的第三方库。别人造好了轮子,我们直接拿过来用,这大大方便了开发,也极大地提升了效率。那么问题来了,有那么多的第
阅读全文
摘要:今天在无意之中发现了一个知乎的开源爬虫,是基于Python的,名字叫zhihu_oauth,看了一下在github上面star数还挺多的,貌似文档也挺详细的,于是就稍微研究了一下。发现果然很好用啊。就在这里给大家介绍一下如何使用。 项目的主页地址在:https://github.com/7sDrea
阅读全文
摘要:上一篇说了python使用 rpy2 调用 R,这里介绍R如何调用python。R的强项在于统计方面,尤其是专业的统计分析,统计检验以及作图功能十分强大,但是在通用性方面,就远不如Python了,比如python可以做web,可以开发GUI,可以爬虫,甚至可以开发游戏,这些R其实也不是完全不行,但是
阅读全文
摘要:python 与 R 是当今数据分析的两大主流语言。作为一个统计系的学生,我最早接触的是R,后来才接触的python。python是通用编程语言,科学计算、数据分析是其重要的组成部分,但并非全部;而R则更偏重于统计分析,毕竟R是统计学家发明的,本身就是为统计而生。python的优势在于其全能性,几乎
阅读全文
摘要:一、eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了。先来看看官方介绍吧。 About eyeD3 is a Python tool for working with audio files, specifically mp3 files c
阅读全文
摘要:python作为一门脚本语言,其好处是语法简单,很多东西都已经封装好了,直接拿过来用就行,所以实现同样一个功能,用Python写要比用C/C++代码量会少得多。但是优点也必然也伴随着缺点(这是肯定的,不然还要其他语言干嘛),python最被人诟病的一个地方可能就是其运行速度了。这这是大部分脚本语言共
阅读全文
摘要:昨天中国高校发生了一件骇人听闻的事情,听说不少高校的校园网用户连接校园网被勒索病毒给黑了,重要文件全部被加密,必须要支付赎金才能解密,具体新闻可以参见:http://www.sohu.com/a/140236495_346360。而且还有不少是和我一样的大四毕业狗,听说因为毕业论文没有备份,结果被黑
阅读全文
摘要:最近在温习C语言,看的书是《C primer Plus》,忽然想起来以前在参加数学建模的时候,用过的一些智能算法,比如遗传算法、粒子群算法、蚁群算法等等。当时是使用MATLAB来实现的,而且有些MATLAB自带了工具箱,当时有些只是利用工具箱求最优解问题,没有自己动手亲自去实现一遍,现在都忘的差不多
阅读全文
摘要:1.K-均值聚类法的概述 之前在参加数学建模的过程中用到过这种聚类方法,但是当时只是简单知道了在matlab中如何调用工具箱进行聚类,并不是特别清楚它的原理。最近因为在学模式识别,又重新接触了这种聚类算法,所以便仔细地研究了一下它的原理。弄懂了之后就自己手工用matlab编程实现了,最后的结果还不错
阅读全文
摘要:上一回说了基本粒子群算法的实现,并且给出了C语言代码。这一篇主要讲解影响粒子群算法的一个重要参数 w。我们已经说过粒子群算法的核心的两个公式为: Vid(k+1)=w*Vid(k)+c1*r1*(Pid(k)-Xid(k))+c2*r2*(Pgd(k)-Xid(k))Xid(k+1) = Xid(k
阅读全文
摘要:以前搞数学建模的时候,研究过(其实也不算是研究,只是大概了解)一些人工智能算法,比如前面已经说过的粒子群算法(PSO),还有著名的遗传算法(GA),模拟退火算法(SA),蚁群算法(ACA)等。当时懂得非常浅,只会copy别人的代码(一般是MATLAB),改一改值和参数,东拼西凑就拿过来用了,根本没有
阅读全文
摘要:上一次我们使用遗传算法求解了一个较为复杂的多元非线性函数的极值问题,也基本了解了遗传算法的实现基本步骤。这一次,我再以经典的TSP问题为例,更加深入地说明遗传算法中选择、交叉、变异等核心步骤的实现。而且这一次解决的是离散型问题,上一次解决的是连续型问题,刚好形成对照。 首先介绍一下TSP问题。TSP
阅读全文
摘要:缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了,先发一个月,看看效果再拓展吧。 脚本主要是通过Python写的,调的smtplib库,这些是基础,大家在网上一搜
阅读全文
摘要:缘起 说了那么多关于git和码云相关的事,一直都没给大伙讲解这个码云究竟是个啥玩意儿。 今天就给大伙说说如何通过git和码云搭建属于自己的代码库。 码云 码云(Git@OSC)是开源中国社区团队推出的基于Git的快速的、免费的、稳定的在线代码托管平台,不限制私有库和公有库数量. github大伙总该
阅读全文
摘要:缘起 这一章是Yii系列的第三章,前两章给大伙讲解了Yii2.0的安装与Yii2.0的基本框架及基础概念,传送门: 【Yii2.0的安装与调试】:http://www.cnblogs.com/riverdubu/p/6439680.html 【Yii2.0基础框架】:http://www.cnblo
阅读全文
摘要:缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我们引以为豪的,如果以后有机会薛强回国大力发展PHP事业,我肯定回去他麾下搞事情,为PHP在国内的发展
阅读全文
摘要:缘起 跟随上一章的脚步,上一章中,我们主要讲解了在用户发起请求,解析请求,服务器反馈请求以及session的一些知识点,这过程中,难免会遇到一些问题,比方说数据库查询失败,用户输入导致脚本出错,网络问题等等突发情况,对于突发情况,做过软件的一般都知道,会有错误处理和日志去记录下这个过程,同样的,Yi
阅读全文
摘要:缘起 上面的几章都讲概念了,没有怎么讲到实践的东西,可能会有些枯燥,这很正常的,概念还是需要慢慢啃的,尤其是官网其他的部分,需要狠狠的啃。 什么,你啃不动了?看看官网旁边的那个在线用户吧。 你不啃的时候可是有这么多人在啃知识,如果不想以后被这打击,赶紧学!!!一如当年大学的我,每天夜里都抱着一本《算
阅读全文
摘要:简单的来理解,我所说的CNMP,不是CNM+P,而是CentOs+Nginx+MySql+PHP,也可以单纯的理解为LNMP,但是系统是我们自己选的,虽说是Linux的一个分支,但我就喜欢CentOs的这个C。 好的,我们开搞服务器。 工欲善其事,必先利其器,首先,你需要两台电脑,为了更好的去模拟。
阅读全文
摘要:接上一回的话,CentOS7.0下安装好了Nginx服务,对于我们的CNMP,我们可以开始我们的M啦,就是传统意义上的MySql服务 MySql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。在 WEB 应用方面,MySQL是最好的 R
阅读全文
摘要:话步前言,CNMP之路,系统起步:http://www.cnblogs.com/riverdubu/p/6425028.html 这回我来讲解下CentOS7.0下如何安装和配置Nginx服务 Nginx的历史不在此赘述,轻量,快是它的特性。只是因为现在的模块没有达到apache的模块数量级,未来有
阅读全文
摘要:上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204 附上一节地址:http://www.cnblogs.com/riverdubu/p/6426852.html 关于php-fpm nginx本身不能处理PH
阅读全文
摘要:上一节我们说到PHP5.6.30在CentOS7.0下的整个安装过程,http://www.cnblogs.com/riverdubu/p/6428226.html 今天我来和大家讲解一下PHP-FPM安装的一些配置和调优。 PHP-FPM配置相关 再来解释下php-fpm的概念,PHP-FPM(P
阅读全文
摘要:一个小插曲,安装一个FTP服务,便于和远程服务器的文件沟通。后续我们会讲到如何使用Capistrano配合git完成服务器的代码部署以及发布流程。现在,代码先走FTP吧,挺稳。 FTP简介 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。
阅读全文
摘要:缘起 枫爷之前做过几年的PHP的研发,大部分都是在开源框架的引导下,编写代码。现在依然,本能的会去让我使用某个PHP框架开发PHP应用,也是因为懒吧,没有好好的去研究研究除了框架之外的一些东西。 今天和和大家讲的,也是后来结识了很多PHP框架后,发现有很多框架的工具不支持的功能,不得已,自己写写或者
阅读全文
摘要:经过上一章的内容,其实就页面层来说已结可以很轻松的实现功能了,但是很明显美观上还有很大的欠缺,现在有一些很好的前端css框架,如AmazeUI,腾讯的WeUI等等,这里推荐一个和flask集成很好的bootstrap框架 安装框架 在模板中直接引用bootstrap的CDN或者本地路径外,还可以直接
阅读全文
摘要:下面把角色分为两种,普通用户和管理员用户,至少对于普通用户来说,直接修改DB是不可取的,要有用户注册的功能,下面就开始进行用户注册的开发。 用户表 首先要想好用户注册的时候需要提供什么信息:用户名、密码、昵称、邮箱、生日、性别、自我介绍,下面就按照这些信息修改用户模型: 然后使用脚本修改db 回车后
阅读全文
摘要:上一章实现了登录的部分功能,之所以说是部分功能,是因为用户名和密码写成固定值肯定是不可以的,一个整体的功能,至少需要注册,登录,密码修改等,这就需要提供一个把这些值存储到数据库的能力。 当前的主流数据库分为两种,即关系数据库和NoSql数据库,对于中小型的系统来说,两种数据库性能,易用性都相当,都是
阅读全文
摘要:现在所有的Py代码均写在default.py文件中,很明显这种方法下,一旦程序变的负责,那么无论对于开发和维护来说,都会带来很多问题。 Flask框架并不强制要求项目使用特定的组织结构,所以这里使用的组织结构并不一定与其它项目中相同。 根据default.py中的代码,大体可分为三类:表单模型,数据
阅读全文
摘要:之前登录注册的功能都已经完成,但是登录成功回到首页发现还是白茫茫的一片,对的,title一直都写得博客,那么最终目的也是写出一个轻博客来,但是,在发表文章之前是不是要先记录一下登录状态呢? 用户登录 登录状态的记录方式有很多种,首先想到的应该就是使用flask自带的session,但flask还提供
阅读全文
摘要:1xx消息 这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。由于HTTP/1.0协议中没有定义任何1xx状态码,所以除非在某些试验条件下,服务器禁止向此类客户端发送1xx响应。 这些状态码代表的响应都是信息性的,标示客户应该采取
阅读全文
摘要:原文:CGI Made Really Easy,在翻译的过程中,我增加了一些我在学习过程中找到的更合适的资料,和自己的一些理解。不能算是严格的翻译文章,应该算是我的看这篇文章的过程的随笔吧。 CGI真的很简单 在此之前,你或许听说过很多说CGI‘晦涩难懂’的言论。如果你会写最基本的输入输出,那么你就
阅读全文
摘要:原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! 前言 在看这篇文章的时候,推荐使用chrome浏览器查看http请求过程中的相关参数。chrome浏览器,可以通过‘alt+
阅读全文
摘要:恢复内容开始 我们用QT开发好的应用程序,如果要发布到其他计算机上运行怎么办呢?我们在用VC编程时,单独运行编译好的可执行文件时,经常会发现提示缺少动态库。用QT编程也不例外,在一定程度上,编写好的QT程序会依赖一些动态链接库,包括MSVC运行库,已经QT自身的一些动态链接库。这是由于程序在编译时采
阅读全文
摘要:QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString
阅读全文
摘要:这个问题困扰了我很久。我的电脑上装的CTEX的最新版本,原来我的系统是windows 7 64位系统。装好了CTEX之后,在里面可以直接输入中文,显示和编译生成的PDF文件都正常。但是后来系统崩溃了一次就装回了Windows XP SP3系统。这次装好CTEX之后,发现在WinEdit中输入中文后,
阅读全文
摘要:使用QT来创建一个系统托盘,事实上是一件很简单的事。为什么这么说?一是因为QT文档给出了比较详细的例子,二是QT的结构比较优雅,设计风格统一。但是在动手之前,我们要从哪里下手?虽然QT文档给出了一个比较详细的例子,但由于功能较多,所以看起来比较费劲。我们在这只是抽丝剥茧,只实现系统托盘这一个功能。
阅读全文
摘要:Video.js是一款web视频播放器,支持html5和flash两种播放方式。更多关于video.js的介绍,可以访问官方网站介绍,我之前也写过一篇关于video.js的使用心得,有兴趣的可以点这里 , 阅读的人数还蛮多的,有些热心的读者甚至还给过我小额打赏,钱虽不多,但是很感动。最几天又收到几位
阅读全文
摘要:上篇博文中我们介绍了Azure Messaging的重复消息机制、At most once 和At least once. Azure Messaging-ServiceBus Messaging消息队列技术系列5-重复消息:at-least-once at-most-once 本文中我们主要研究并
阅读全文
摘要:上篇博文中我们介绍了Azure Messaging-ServiceBus Messaging消息回执机制。 Azure Messaging-ServiceBus Messaging消息回执机制 本文中我们主要研究消息的事务。直奔主题: Service Bus Queues支持事务,基于Transac
阅读全文
摘要:上篇博文中我们介绍了Azure ServiceBus Messaging的消息事务机制: Azure Messaging-ServiceBus Messaging消息队列技术系列7-消息事务(2017-03-30 22:12) 本文中我们介绍一下ServiceBus Messaging的一些配额,或
阅读全文
摘要:最近一直在总结Azure Messaging ServiceBus Messaging相关的技术:消息顺序、消息持久化、复杂对象消息的序列化、消息事务、消息回执等机制。 感觉有必要补充一篇消息队列技术的基本概念,无论RabbitMQ、ActiveMQ还是其他,都有的一些基本概念、术语、机制,分享给大
阅读全文
摘要:物联网技术已经火了很多年了,业界各大厂商都有各自成熟的解决方案。我们公司主要搞新能源汽车充电,充电桩就是我们物联网技术的最大应用,车联网、物联网、 互联网三网合一。作为Azure重要的Partner和使用者,我们对Azure的IoT方案也是非常期待的,因此,最近计划研究一下Azure的IoT技术,同
阅读全文
摘要:上篇博文中我们将模拟设备注册到Azure IoT Hub中:我们得到了设备的唯一标识。 Azure IoT 技术研究系列2-设备注册到Azure IoT Hub 本文中我们继续深入研究,设备到云、云到设备通信。 1. 在Azure IoT Hub中接收模拟设备的消息 读取设备到云消息的Event H
阅读全文
摘要:上篇博文中,我们主要介绍了Azure IoT Hub的基本概念、架构、特性: Azure IoT 技术研究系列1-入门篇 本文中,我们继续深入研究,做一个起步示例程序:模拟设备注册到Azure IoT Hub, 设备到云通信,云到设备通信。 整体篇幅较大,我们先来第一步:将模拟设备注册到Azure
阅读全文
摘要:上两篇博文中,我们介绍了将设备注册到Azure IoT Hub,设备到云、云到设备之间的通信: Azure IoT 技术研究系列2-设备注册到Azure IoT Hub Azure IoT 技术研究系列3-设备到云、云到设备通信 本文中,我们主要研究介绍一下Azure IoT Hub的使用配额、四个
阅读全文
摘要:最近在推广应用我们的分布式服务网关(Web Api):业务组大部分对外的业务逻辑以HSF服务或者自定义扩展插件的方式,注册并发布到分布式服务网关中,统一对外提供WebApi服务。临时介绍下我们的分布式服务网关: 1. 一键注册、发布WebApi服务, 2. 统一管理发布WebApi服务,实现WebA
阅读全文
摘要:业界主流的互联网架构中,分布式服务框架、分布式数据访问服务、消息队列服务、服务网关(API)、分布式事务等都是核心的组件和框架。 当我们的系统规模越来越大,从几台服务器扩展到几十台、几百台、上千台,传统的烟囱式的、大集中式系统架构,逐步演进为服务化SOA、分布式的系统架构: 在数据层面,应用层面,访
阅读全文
摘要:最近编码的过程中,使用了对象本地内存缓存,缓存用了Dictionary<string,object>, ConcurrentDictionary<string,oject>,还可以是MemoryCache(底层基于Hashtable)。使用缓存,肯定要处理数据变化缓存同步的问题。如何比较数据的变化,
阅读全文
摘要:经过WCF基础的ABC学习,已经可以构建简单的WCF的服务,使用不同的服务地址和绑定类型,根据业务提供所需的服务契约。但不禁想问,服务所使用的消息报文是什么样的形式么?蕴含什么样内容呢?WCF服务是否支持会话?WCF所提供的服务是单例的呢还是单调的呢?服务寄宿和客户端代理是如何实现的呢?接下来,将以
阅读全文
摘要:之前介绍了基于SOAP的Web服务,接下来将介绍基于REST的轻量级的Web服务。 REST(Representational State Transfer)与技术无关,代表一种软件架构风格,可以成为ROA面向资源的架构,之前Web服务的架构风格主要是SOAP和XML-RPC。REST从资源的角度来
阅读全文
摘要:本章节将进行元数据和异常处理的介绍,这部分内容概念型比较强,可以快速浏览一下就好。 客户端和服务器借助于终结点进行通信,服务的提供者通过一个或者多个终结点将服务发布出来,服务的消费者则通过创建与之匹配的终结点进行服务的调用。可以将服务的元数据看做是它所有终结点的描述,它以一种易于交换的数据格式(WS
阅读全文
摘要:这部分将介绍一些相对深入的知识点,包括通过并发限流来保证服务的可用性,通过可靠会话机制保证会话信息的可靠性,通过队列服务来解耦客户端和服务端,提高系统的可服务数量并可以起到削峰的作用,最后还会对之前的事务知识做一定补充。 对于WCF服务来说,其寄宿在一个资源有限的环境中,为了实现服务性能最大化,需要
阅读全文
摘要:最后一章将进行WCF扩展和新特性的学习,这部分内容有一定深度,有一个基本的了解即可,当需要自定义一个完整的SOA框架时,可以再进行细致的学习和实践。 服务端架构体系的构建主要包含接下来的几个要素:服务描述、终结点分发器选择机制、信道分发器、终结点分发器、分发运行时、分发操作。 ServiceDesc
阅读全文
摘要:这部分主要涉及企业级应用的安全问题,一般来说安全框架主要提供3个典型的安全行为:认证、授权和审核。除了典型的安全问题,对于一个以消息作为通信手段的分布式应用,还需要考虑消息保护(Message Protection)问题,消息保护机制主要包括签名和加密,前者保证消息的一致性,后者保证消息的机密性。
阅读全文
摘要:1、一些基础的知识点 ExecuteReader(); //返回查询到的数据,一次一行,用于 selectExecuteNonQuery(); //返回影响的行数,用于 delete,insert,updateExecuteScalar(); //返回第一行,第一列的数值,类型为 Object,用于
阅读全文
摘要:private void btnInput_Click(object sender, EventArgs e) { if (opFile.ShowDialog() != DialogResult.OK) //判断用户点击 确定 还是 取消,不点确定,则返回程序 { return; } using(FileStream FStre...
阅读全文
摘要:一、简单登录验证(防SQL注入) GetString(序号) 返回某一列的值(当用户不记得列名序号时,可使用GetOrdinal()获取到序号)GetInt32(序号) 针对的是 int 字段,返回int字段的值GetOrdinal("列名") 根据列名得到序号 Console.WriteLine(
阅读全文
摘要:// ExecuteNonQuery 构建 public static int ExecuteNonQuery(string sql,params SqlParameter[] parameters) { string Str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; using (...
阅读全文
摘要:using System.IO; 有一个数据库手机号码的txt文件,格式是 : 13500000000-13560000000-中国移动 查询结果: 湖南移动[邵阳]文件夹选择对话框 FolderBrowserDialog; string[] Directory.GetFiles(路径,类型,选项)
阅读全文
摘要:一、DataSet的查询 SqlDataReader 适用于大型数据的读取,它是一条一条的读取,读取出来的数据是存放在服务器上当正在读取数据的时候,突然与服务中断,将无法读取后面的数据DataSet 适用于小型数据的读取,它是一次将所有数据读取并存放到本机程序的内存当中,占内存当正在读取数据的时候,
阅读全文
摘要:public static string str = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString; /// /// 用于查询数据返回 SqlDataReader 类型 /// /// 连接字符串 /// 操作类型(t...
阅读全文
摘要:// 修改学员信息的方法 public bool ModifyStudent(MODEL.Students model) { // 利用反映获取类对所有属性,用来动态生成SQL语句 StringBuilder sbSql = new StringBuilder("update Students set "); // 先获得model 的Type类型 T...
阅读全文
摘要:如果想编写单机版MIS、小型网站等对数据库性能要求不高的系统,又不想安装SQLServer,可以使用Access(MDAC),只要一个mdb文件就可以了。使用Access创建mdb文件,建表。OleDbConnection、OleDbCommand……,用法和SqlServer差不多。和SQLSer
阅读全文
摘要:public DataTable GetNewTable() { DataTable dt2 = new DataTable("NewDataSet"); //创建一个新Table,必须设置表名 dt2.Columns.Add(new DataColumn("Result",typeof(System.String))); //添加字段,并设置类型 D...
阅读全文
摘要:AJAX简介 没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,如实现显示服务器的时间每次都要刷新页面的坏处:页面刷新打断用户操作、速度慢、增加服务器的流量压力。如果没有AJAX,在youku看视频的过程中如果点击了“顶、踩”、评论、评论翻页,页面就会刷新,视频就会
阅读全文
摘要:abort() 停止当前请求getAllResponseHeaders() 返回包含HTTP请求的所有响应头信息,其中响应头包括Content-Length,Date,URI等内容。getResponseHeader(String header) 返回HTTP请求的响应头中指定的键名header对应
阅读全文
摘要:原理:在同域中建立一个用于请求 别的域的代理程序,并将返回的内容发给客户端,客户端指向同域的这个代理程序 1. 客户端编写 // 其它部分都一样 //2.注册回调方法 callback xmlhttp.onreadystatechange = callback; //获取客户端内容 var user
阅读全文
摘要:框架代码如下: // 使用封装方法的人只关心提供http的请求方法,url地址,数据,成功和失败的回调方法 // 类的构造定义,主要职责就是新建出 XMLHttpRequest 对象 var MyXMLHttpRequest = function () { var xmlhttprequest; i
阅读全文
摘要:new ActiveXObject("Microsoft.XMLHTTP")是IE中创建XMLHttpRequest对象的方法。非IE浏览器中创建方法是new XmlHttpRequest()。 为了兼容不同的浏览器需要编写很多代码回调函数中data参数为服务器返回的数据,textStatus为服务
阅读全文
摘要:1.数据库设计字段:Id(int) , Msg(varchar(MAX)) , PostDate(datetime) 2.自定义SQL查询方法(强类型DataSet) //SelectCount()方法,用于查询总条数select count(*) from T_Posts //GetPageDat
阅读全文
摘要:AJAX传递复杂数据如果自己进行格式定义的话会经历组装、解析的过程,因此AJAX中有一个事实上的数据传输标准JSon。 Json将复杂对象序列化为一个字符串,在浏览器端再将字符串反序列化为JavaScript可以读取的对象。看一下Json的格式。Json被几乎所有语言支持。 C#中将.Net对象序列
阅读全文
摘要:三层架构的命名: UI: User Interface (数据显示层 用户界面)BLL:Business Logic Layer (业务逻辑层)DAL:Data Access Layer (数据访问层)Dao:Data Access Object (数据访问对象和数据访问层一个意思) 常用代码: C
阅读全文
摘要:微软AJAX解决方案 (*) ASP.Net中内置的简化AJAX开发的控件UpdatePanel 放入ScriptManager,将要实现AJAX效果的控件放到UpdatePanel中即可 UpdatePanel原理探秘,用HttpWatch只把需要无刷新更新的部分放到UpdatePanel中Upd
阅读全文
摘要:1.数据库用上面的,增加一个 DeleteById 的SQL方法delete from T_Posts where Id = @Original_Id 2.设置处理页面 delete.ashx public void ProcessRequest(HttpContext context) { con
阅读全文
摘要:ASP.NET页面生命周期 (1)PreInit 预初始化(2)Init 初始化(3)InitComplete 初始化完成(4)PreLoad 预加载(5)Load 加载(6)LoadComplete 加载完成(7)PreRender 预输出(8)PreRenderComplete 预输出完成(9)
阅读全文
摘要:字符拼接<%# "abc" + Eval("列名").ToString() %><%# Eval("列名","abc{0}") %>格式化<%# Eval("列名"{0:yyy-MM-dd}") %> //日期格式化<%# Eval("价格"{0:000.0#}") %> //如果没三位就补0,如0
阅读全文
摘要:加密:aspnet_regiis -pef appSettings "G:\FlyMusicNew\Web"解密:aspnet_regiis -pdf appSettings "G:\FlyMusicNew\Web" <%# Eval() %> //单向绑定,操作数据库 返回的是 object 类型
阅读全文
摘要:Web开发是和HTTP协议打交道的,必须了解,HTTP协议版本: HTTP/0.9 HTTP/1.0 HTTP/1.1 现在主流是 HTTP/1.1版本HTTP协议分析工具:1.DebugBar HTTP(S)标签的内容,免费的,只能分析当前浏览器中的内容2.httpwatch 收费的,只能分析当前
阅读全文
摘要:新建一个 ashx 一般处理程序 如: YZM.ashx继承接口 IRequiresSessionState //在一般处理程序里面继承 HttpContext context 为请求上下文,包含此次请求处理要使用到的信息和对象都在里面,有Response,有Request 下面为 YZM.ashx
阅读全文
摘要:Http是请求,响应的模型,服务器不会来读取浏览器的网页,只能够得到客户端提交过来的数据当用户点击提交,服务器就知道"提交回来了"(PostBack) Get与Post 设置form的method属性指定表单提交方式,get(默认值)是通过URL传递值,传递的数据量是有限的post传递的表单值是隐藏
阅读全文
摘要:Request对象 Response.Write(Request.ApplicationPath) //应用根路径Request.AppRelativeCurrentExecutionFilePath //当前执行请求相对于应用根目录的虚拟路径,以~开头Request.PhysicalApplica
阅读全文
摘要:不要轻信用户提交上来的数据alert消息太难看,因此开发一个aspx页面用来统一展示消息ShowMessage.ashx //主页将判断重定向到另一个页面 if (TextBox1.Text != "gao") { Response.Redirect("sey.aspx?Name=密码不正确!");
阅读全文
摘要:1.最小权限原则,只允许用户做****,而不是"不允许用户做****"2.浏览器查看的是服务端代码的执行输出的文本,除非服务器有漏洞,否则浏览者无法查看服务端的ASPX,CS代码,目标另存为也是保存ASPX的执行结果,而看不到ASPX的源代码,JS,HTML是被输出到浏览器上执行的,因此无法禁止浏览
阅读全文
摘要:案例:用NPOI动态生成一个Excel表,然后弹出对话框让用户下载,文件名是"用户列表.xls" 先去相关网站下载 NPOI DLL文件,再引用 application/x-excel, application/octet-stream(不知道的类型都可用) context.Response.Con
阅读全文
摘要:HttpHandler:处理请求(Request)的信息和发送响应(Response)。HttpModule:通过Http Module向Http请求输出流中写入文字,httpmodule先执行 它们两个的区别:页面处理程序在处理过程中,要经历HttpModule,HttpHandler的处理Htt
阅读全文
摘要:1. Request,Response,Server属性:对contex.Request,context.Response,context.Server的简化调用2. AppRelativeVirtualPath属性:获得页面相对于应用根路径的路径,比如:~/test.aspx3. FindCont
阅读全文
摘要:ASP.NET服务端基本控件介绍 大概分为三种控件: HTML控件,ASP.NET把HTML控件当成普通字符串渲染到浏览器端,不去检查正确性,无法在服务端进行处理ASP.NET服务端控件,经过ASP.NET高度封装的控件,运行在服务端,可以用C#代码进行操作,会渲染到客户端为HTML控件runat=
阅读全文
摘要:在新建项的时候,选择Web用户控件,可用来自定义自己的控件,做好后,直接拖到页面即可使用自定义控件与WEB交互,需要在 自定义控件里面 写 属性,如: public string CityID { get { return this.DropDownList1.SelectedValue; } se
阅读全文
摘要:ASP.NET提供了如下的控件: RequiredFieldValidator: 字段必填 (ControlTovalidate设定要验证的控件) RangeValidator: 值在给定的最大值,最小值之间() CompareValidator: 用于比较两个值的关系是否满足要求或者是否是指定类型
阅读全文
摘要:数据绑定控件简介 数据绑定分为:数据源 和 数据绑定控件 两部分,数据绑定控件通过数据源来获得数据,通过数据源来隔离数据提供者和数据使用者,数据源有:SqlDataSource,AccessDataSource,ObjectDataSource,LinqDataSource,XmlDataSourc
阅读全文
摘要:添加一个"母版页",使用<asp:ContentPlaceHolder>挖坑,新建的母版页已经自动设置了两个ContentPlaceHolder创建使用母版页的具体页面,WebSite是新建"Web窗体"的时候勾选"选择模板页",WebApplication是新建"Web内容窗体"然后选择页面使用母
阅读全文
摘要:缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多少人访问都只访问一次数据库,数据库压力不变缓存是一种用空间换取时间的技术,存在于计算机中很多地方,用
阅读全文
摘要:当页面发生错误的时候,ASP.Net会将错误信息展示出来,这样一来不好看,二来会泄露网站的内部实现信息,给网站带来安全隐患,因此需要定制错误页,发生错误时显示开发人员定制的页面404页面放点广告也是好的嘛配置web.config,配置customErrors区域: <customErrors mod
阅读全文
摘要:为什么要URL重写? 1、有利于SEO,带参数的URL权重较低;2、地址看起来更正规,推广uid 伪静态:看起来像普通页面,而非动态生成的页面。 原理:在Global.asax的Application_BeginRequest 中读取Request.Url 得到请求的URL(View-3.aspx)
阅读全文
摘要:添加Web→全局应用程序类,注 文件名不要改 Global.asax全局文件是对Web应用声明周期的一个事件响应的地方,将Web应用启动时初始化的一些代码写到Application_Start中,比如后面讲的Log4Net的初始化等。应用关闭的时候Application_End调用当一个Sessio
阅读全文
|