源码

odoo8.0+PyCharm4.5开发环境配置

空扰寡人 提交于 2019-12-25 14:13:13
终于把odoo的开发环境配置好,现把相关经验教训做个记录分享: odoo8.0+PyCharm4.5开发环境配置(剑飞花 373500710) 1.最佳兼容搭配包 试过各种组合 GreenOdoo+pC4.5;OpenERP-China+pc4.5;odoo每日同步版(git@OSC)都因为各种原因无法通过调试。 最终使用github的odoo原版+PC4.5+postgres9.2+win7 32位终于跑起来了。 个中过程,说出来都是泪啊。无数次系统安装,无数次虚拟机恢复成初始状态,适配各种版本的插件包。。。。。 在这感谢odoo中国群的@深圳-飞飞等热心群友的帮助。 2.配置开发环境所需软件共享 360网盘: http://yunpan.cn/ccqVChVN59Phz 访问密码 c791 特别是py的插件包,有些源码的只能在Linux中安装,exe的能在windows下安装的不好找啊。 倾情奉献。 3.配置安装顺序 3.1.先安装基础支撑软件JDK,doNet4.5 3.2.接下来安装pythonxy,注意安装了pythonxy可以不用再安装python了。 3.3.安装git,postgresSQL,pc4.5等等没安装的。 4.下载odoo8代码 4.1.在根目录建目录odoo 4.2.进入odoo目录,在空白出单击鼠标右键,在弹出菜单选择“git bash”

SpringMVC源码(二)- DispatcherServlet结构和初始化

喜你入骨 提交于 2019-12-25 13:03:25
目录 1、DispatcherServlet结构 1)、GenericServlet 2)、HttpServlet 3)、HttpServletBean 4)、FrameworkServlet 5)、DispatcherServlet 2、DispatcherServlet初始化(九大件的加载和初始化) 上一篇博客知道,SpringMVC中Spring容器的关系是通过监听方式启动的。那么Spring(或者说SpringMVC)与Servlet的Web容器(如:Tomcat、jetty)的关系则是通过DispatcherServlet进行关联。在Web容器看,DispatcherServlet就是同一普通的Servlet,从Spring看是与Web的关联,会将所有的请求转发到该 控制器 。 1、DispatcherServlet结构 从层级能看出其顶层实现了Servlet和ServletConfig接口,由于Web容器只认识Servlet,而Spring只认识Bean,所以DispatcherServlet既是请求转发和返回视图解析控制中心,更是web与Spring的适配器,从其父子结构层级就能看出,慢慢的从Servlet适配到Bean的过程。 1)、GenericServlet GenericServlet实现了Servlet、ServletConfig接口

Redux源码解读

ⅰ亾dé卋堺 提交于 2019-12-25 12:14:16
前言 作为React全家桶的一份子,Redux为react提供了严谨周密的状态管理。但Redux本身是有点难度的,虽然学习了React也有一段时间了,自我感觉算是入了门,也知道redux的大概流程。但其背后诸如creatstore,applymiddleware等API背后到底发生了什么事情,我其实还是不怎么了解的,因此最近花了几天时间阅读了Redux的源码,写下文章纪录一下自己看源码的一些理解。 一、源码结构(redux4.0版本) Redux是出了名的短小精悍(恩,这个形容很贴切),只有2kb大小,且没有任何依赖。它将所有的脏活累活都交给了中间件去处理,自己保持着很好的纯洁性。再加上redux作者在redux的源码上,也附加了大量的注释,因此redux的源码读起来还是不算难的。 先来看看redux的源码结构,也就是src目录下的代码: 源码结构 其中utils是工具函数,主要是作为辅助几个核心API,因此不作讨论。 (注:由于篇幅的问题,下面代码很多都删除了官方注释,和较长的warn) 二、具体组成 index.js是redux的入口函数具体代码如下: 2.1 index.js import createStore from './createStore' import combineReducers from './combineReducers' import

原生XMLHttpRequest学习日志

老子叫甜甜 提交于 2019-12-25 11:02:07
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 今天决定学习一下Ajax异步的XMLHttpRequest对象,平时一直使用jQuery.ajax()就万事大吉, 当自己要实现一套时才发现当中的细节事情!jQuery源码真的博大精深优美得很; 先从w3cschool看一下基本的使用方式,参考的jQ版本是v1.11.1 http://www.w3school.com.cn/xml/xml_http.asp 基本流程是先做简单 XMLHttpRequest 兼容处理,提交请求,最后是回调处理结果; setup1 配置 开始时候在想怎样才能写出优美的参数传值,看jQ源码发现是使用jQuery.extend,而且这函数在很多地方都在应用,看来分量很重噢; 手册介绍是用一个或多个其他对象来扩展一个对象,返回被扩展的对象;如果不指定target,则给jQuery命名空间本身进行扩展。 jQ是先定义了基本参数对象ajaxSettings#8830行开始;然后调用ajaxSetup方法,其实这货还是调用了 jQuery.extend去合并对象;只是判断是否是扩展配置对象; 自己太赖了只做最简参数单合并和获取回调方法事情; function ajaxSetup(opations) { if (typeof opations == 'object') { for (key in

jquery源码分析

我的梦境 提交于 2019-12-25 06:55:14
作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可。 前段时间上班无聊之时,研究了下jquery的源码。现在记录下自己的成果,分享一下。 下面是我自己琢磨和编写的jquery模型,里面有我所写的注释。 /* * my-jquery-1.0 */ /* * 网上也有很多实现的版本,不过这是我在我自己的理解下写的,加上注释,希望可以解释清楚。 */ /* * 整个jquery包含在一个匿名函数中,专业点叫闭包,就是下面的形式,如(function(window,undefined){}(window))。 * 闭包的定义在这里不太容易讲清楚,我只说下这样说的好处。 * 1.使整个jquery中定义的变量成为局域变量,不会影响全局变量,个人觉得这也是jquery被成为轻量级的原因之一。 * 2.增加jquery运行速度,因为局域变量运行速度高于全局变量。 * 3.就像你看到,传入的window和undefined,可以自定义名字,方便编写。当然,现在你看到的仍是原来的写法,但是你可以看看jquery的min版本,一定是压缩的。 */ (function( window, undefined ) { var /*jquery的定义,我们平时用的$和jQuery就是它

吃透Shiro源码第七天

久未见 提交于 2019-12-25 06:34:20
文章目录 技术手法 (1)多个方法重载设计思路 (2)AuthenticationInfo设计思路 技术手法 (1)多个方法重载设计思路 如果有多重方法在重载的话,提供一个同名的private或protected方法。各种重载对象最后转成此private或protected方法需要的格式。其实今天处理的代码并不复杂,实际上就是通过AuthenticationInfo对象,将其解析成Collection<Permission>。 @Override public void checkPermission ( PrincipalCollection subjectPrincipal , String permission ) throws AuthorizationException { Permission perm = getPermissionResolver ( ) . resolvePermission ( permission ) ; AuthorizationInfo authorizationInfo = this . getAuthorizationInfo ( subjectPrincipal ) ; checkPermission ( perm , authorizationInfo ) ; } @Override public void

在Ubuntu-14.04.3配置并成功编译Android6_r1源码

喜你入骨 提交于 2019-12-25 05:43:59
在Ubuntu-14.04.3配置并成功编译Android6_r1源码 折腾了一周,终于把Android6_r1的源码编译成功。先上图,这是在ubuntu中运行的Android模拟器: 由于我是在win8中安装虚拟机VMware,然后在虚拟机中安装Ubuntu进行编译,所以遇到诸多麻烦。如果直接在linux中编译,可能会更顺利。 -------------------------------------------------------------------------------------------------------------------------- 准备工作: VMware虚拟机,安装请参考: VMware8安装配置Win7、CentOS-7向导 官网下载ubuntu镜像: ubuntu-14.04.3-desktop-amd64.iso 安装ubuntu,一并参考“VMware8安装配置Win7、CentOS-7向导” ----------------------------------------------------------------------------- 建议:ubuntu内存分配4G,预留90G虚拟硬盘(之前选择了默认的20G,在解压tgz的时候直接报空间不足),网络选择“Bridged”方式。 为了编译Android源码

Java8 HashMap源码分析

与世无争的帅哥 提交于 2019-12-25 05:42:14
java.util.HashMap 是最常用的java容器类之一, 它是一个线程不安全的容器. 本文对JDK1.8.0中的HashMap实现源码进行分析. HashMap 使用位运算巧妙的进行散列并使用链地址法处理冲突. 自JDK1.8后, 若表中某个位置元素数超过阈值 则会将其自动转换为红黑树来提高检索效率. HashMap 中的迭代器同样采用 fail-fast 机制, 即若迭代过程中容器发生结构性改变, 则会终止迭代. HashMap 主要有三个视图接口 keySet() , values() , entrySet() . 它们都是基于迭代器实现的, 并不实际存储数据. 哈希表 自JDK1.8.0开始HashMap使用静态内部类 Node 来存储键值对结构, 不再使用 Map.Entry : static class Node<K,V> implements Map.Entry<K,V> { final int hash; final K key; V value; Node<K,V> next; Node(int hash, K key, V value, Node<K,V> next) {...} public final K getKey() { return key; } public final V getValue() { return value; }

CTF中常见注入题源码及脚本分析

你说的曾经没有我的故事 提交于 2019-12-25 04:39:40
1.代码审计发现 这里没有用escape_string,因此存在注入。 1 function show($username){ 2 global $conn; 3 $sql = "select role from `user` where username ='".$username."'"; 4 $res = $conn ->query($sql); 5 if($res->num_rows>0){ 6 echo "$username is ".$res->fetch_assoc()['role']; 7 }else{ 8 die("Don't have this user!"); 9 } 10 } 通过这里注入可以得到pasaword,$usename为被 单引号引起,所以应该首先注意闭合单引号。 pyhton脚本如下: 1 # --coding:utf-8-- import requests 2 url="http://117.34.111.15:89/?action=show" 3 passwd="" 4 lists="1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm" 5 for i in xrange(1,33): 6 print i 7 for p in lists: 8 param={