最近我要实作使用 OAuth 2 认证的 API ,我先是看了 Spec (RFC 6740 、 RFC 6750),然后研究了既有的 Rails solution ,但因为 API 是用 Grape 盖的,又 Doorkeeper / Rack::OAuth2 / Grape 内建的 OAuth 2 认证全都无法直接拿来用,所以只好自己实现 API 认证这部份。
Discourse 意为“谈话”,是由 Stack Overflow 的联合创始人 Jeff Atwood 推出的下一代开源论坛程序。目前,网络上还没有一份详细、全面的中文 Discourse 安装指南,ofGEEK 特此整理编写本文,希望能够对需要的人有所帮助。 由于 Discourse 仍在不断更新变化之中,本指南也将随之不断调整,以适应最新的系统安装环境。更多相关信息与讨论,请访问 ofGEEK 讨论区 的 Discourse 分类 (这个讨论区就是用 Discourse 搭建而成的)。
我之前在豆瓣工作,大家一般都叫我“清风”,豆瓣一般都用网名。我在豆瓣差不多工作了五年,走的时候是豆瓣的技术总监。现在在创业,这次演讲因为跟MSUP的人很熟,本来没有太想来,因为创业了,准备收山了。今天真的是收山之讲,以后不能总出来讲了,因为自己也创业了。我自己的项目其实也用phython做很多事,我用phython差不多用了快十年。豆瓣大家知道一直用phython做的网站,所以我今天大概跟大家分享豆瓣是怎么用phython的,先泛泛说一下phython都有哪些,我们也可以用提问的方式更多的了解phython。
谢谢大家,我这边主要跟大家分享一下在豆瓣这边做的测试。今天主要来的都是开发,有没有是做测试的同事,有没有接触过持续集成的同事。首先先分享一下豆瓣的测试,主要分两个方向,一个是Web的测试,其实就是以phython为主的测试。第二个是APP的测试,主要分为两个方向,一个是IOS的方向,一个是安卓的方向,今天主要分享的是WEB的测试。
人人网网站架构--服务化的演进刘源内容概要一、人人网网站业务介绍二、为什么要服务化三、服务化:开启潘多拉的魔盒四、问题与解决方案人人网网站业务每月数千万活跃用户每周数T照片上传到相册每天数千万新鲜事儿发布排名靠前的实时通讯软件(人人桌面)人人网网站业务很异构,很分散,很易变动内容概要一、人人网网站业务介绍二、为什么要服务化三、服务化:开启潘多拉的魔盒四、问题与解决方案一张依赖图(局部)“发状态”服务依赖多沟通烦上线难为什么服务化“解耦,分而治之,应对变化”名词太多,简单来说:将高内聚模块实现为服务,服务接口形式化让服务和数据易于访问应对复杂性和易变性:复杂度增加VS人对复杂性控制的界限可预期的变化VS不可预期的变化那我们就开始服务化吧自实现REST框架使用Java,基于SpringMVC开发便捷,应用在UGC等业务逻辑中使用开源ICE
J2EEWEB服务端打包成网上下载2个打包软件InnoSetup5和ISTool,准备好有服务的免安装的tomcat、JDK、免安装的数据库。数据库1、在原有数据库备份数据,然后关闭原有数据库,卸载原有数据库服务,2.、打开免安装数据库,添加该数据库的服务,还原备份Tomcat1、程序打包成war包,放到tomcat\webapps目录下
Java基础知识精华部分(个人总结)写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。
SSH各框架的工作原理struts1的工作原理:1.初始化:struts框架的总控制器ActionServlet是一个Servlet,它在web.xml中配置成自动启动的Servlet,在启动时总控制器会读取配置文件(struts-config.xml)的配置信息,为struts中不同的模块初始化相应的对象。(面向对象思想)2.发送HTTP请求:用户提交表单或通过URL向WEB服务器提交请求,请求的数据用HTTP协议传给web服务器。3.form填充:struts的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员变量中。
Java23种设计模式
文从Android版开心连连看这个休闲游戏的设计背景,相关技术,需求分析,详细设计等等多个方面详细的叙述了这个游戏的设计以及开发过程。游戏通过自定义View来呈现游戏的界面,通过复写自定义View中的onDraw方法来实现游戏界面的动态刷新,连连看游戏是将相同的两张牌用一根线相连就能消除这两张牌,只要将界面中的牌在规定时间内全部消除完该游戏就能获胜。该游戏界面是N×M的网格状,通过抽取的数据模型形成一个二维数组,游戏中需要判断两个图形能否相连,这需要对两个方块的位置分门别类的进行处理。游戏特点是节奏快,画风清晰可爱,并且游戏中可以选择不同的模式,还增加了背景音乐和音效,从而使游戏更加生动有趣。
概述本文档内容包括easyui的引入和easyui的使用实践,编写该文档的目的,其一是为了下次再使用easyui的时候,有章可循,提高开发效率;其次记录使用过程中遇到的一些关键的问题,供自己和其他的同学参考。EasyUI的引入说明Jquery库引用EasyUI中自带了Jquery的库,版本是V2.0.0,请注意该版本不一定适用于你的项目场景,关于JqueryV2.0.0对IE浏览器的支持也是每一个开发人员需要注意的。JqueryV2.0.0支持IE9+。最新的不一定是最好的,有时候,请果断更换你的jquery版本。还有一点注意的是,项目中通常不会只有一个地方使用jqeury,使用easyui时,使用项目中统一的jquey版本库,也不失为一种好的方案。
自JDK1.5以后,推出了注解新特性。注解的推出其实最主要的目的是为了让广大的用户认知EJB3.0,因为EJB2.X广受大多数开发者的诟骂和质疑。为了减少配置、让注解替代配置。有了注解,我们以前看似一般的、普通的JavaBean就有了活力,有了内涵,有了新的契机。配合Sun的JPA规范,EJB3.X又再次在企业级开发中大放异彩,让很多开发者赞不绝口。也许是无心插柳,这种“零配置”思维也影响着Java其他的开源项目——像Struts、Spring、Hibernate(也就是咱们耳熟能详的SSH)不都是具有“零配置”支持嘛!Java现在也是往动态、敏捷的方向发展着。有可能将来配置文件越来越少、规范、约定、注解代替了繁琐的配置信息。而XML估计会回归原始的使命——数据传输与数据交换。 自定
第一种:直接导出jar包,然后copy到eclipse主目录的plugins①准备好需要打包的插件工程
Hadoop练习—MapReduce进行数据查询和实现推简单荐系统1 运行环境说明1.1 硬软件环境1.2 机器网络环境2 书面作业1:计算员工相关2.1 书面作业1内容2.2 实现过程2.2.1 准备测试数据2.2.2 问题1:求各个部门的总工资2.2.3 问题2:求各个部门的人数和平均工资2.2.4 问题3:求每个部门最早进入公司的员工姓名2.2.5 问题4:求各个城市的员工的总工资2.2.6 问题5:列出工资比上司高的员工姓名及其工资2.2.7 问题6:列出工资比公司平均工资要高的员工姓名及其工资2.2.8 问题7:列出名字以J开头的员工姓名及其所属部门名称
数字:^[0-9]*$2n位的数字:^\d{n}$3至少n位的数字:^\d{n,}$4m-n位的数字:^\d{m,n}$5零和非零开头的数字
Qweb是OpenERP使用的XML模板引擎,一般用来生成HTML对于二次开发来说,Qweb一般用来开发报表使用Qweb写报表使用wkhtmltopdf将html转换为pdf将Qweb渲染为HTML报表开发想要开发一个报表,需要以下部分一个report标签的报表声明一个template标签的Qweb模板声明重载report_sxw.rml_parse类,使得在Qweb模板中使用函数重载osv.AbstractModel类来将report_sxw.rml_parse和如果不需要再Qweb中使用函数,可以不写报表声明向系统声明一个报表
需要一个课程持续时间字段课程天数和人数都不能为0显示报名精度和剩余席位课程需要存在不同的状态审批开始后日期不能修改可以在日历上看培训计划,能够按照科目分组和搜索新的需求?约束条件?约束条件是指在OpenERP中输入一条记录的时候检查数据的完整性和有效性Python约束:_constraints属性来定义一个OpenERP系统内部的约束数据库约束
需求?使用工作流来实现课程的状态管理对非管理员用户分配权限状态变化过程草稿提交审核第二次审批第一次审批准备上课开始上课课程结束已到时间学生数目达标工作流包含的内容第二次审批准备上课开始上课已到时间学生数目达标当学生数目达标开始时间已经到了一个工作实例(workflow)工作流节点(workflow.activity)工作流迁移(workflow.transition)工作流实例(workflow)每一个工作流实例和一个具体对象绑定工作流定义很简单,只有三个字段需要定义
目标:定义管理科目、课程、老师、学生字段的表科目定义一个类似于英语、计算机等总括的课程课程表示科目下的具体的一堂课老师和学生都是组成课程的一部分要做什么?目标:定义管理科目、课程、老师、学生字段的表多对多多对一一对多多对一该怎么做?构建一个模块框架写模块声明name该模块的模块名称depends该模块所依赖的模块data该模块所用的所有非py文件auto_install默认为False,当设置为True的时候
需要一个状态来区分已审批和未审批的课程审批后的课程的名称、开始时间都不可以更改需要一个审核按钮来审核课程需要增加一个学生报名的界面特殊字段名称state:用来表示记录的状态,需用手动指定id:记录自动生成的字段,是每条记录的主键create_uid:记录的创建者的用户IDcreate_date:记录的创建时间write_uid:记录最后一次修改者的用户IDwrite_date:记录最后一次修改时间这四个字段需要在py文件中定义后才可以使用state字段state:用来表示记录的状态