php 开启curl 模块

php 开启curl 模块

要搭建一个php网站,需要打开curl模块,网上有好多方法,都不起作用。经过多次尝试,下边的方式可以工作,希望对大家有用!

1. 复制下边4个文件到C:\Windows\SysWOW64 和 C:\Windows\System32 下
libeay32.dll
ssleay32.dll
libssh2.dll
php_curl.dll
2. 将php.ini中的;extension=php_curl.dll前的分号去掉
;extension=php_bz2.dll
exten[……]

继续阅读

静态代理

静态代理

上一篇讲了动态代理,接下里就说说静态代理。静态代理就是面向接口编程,在代理类中调用真实对象的行为。
cd337e41-6ee8-3619-a1c4-a2c096fb711c

先上代码:
[java]
package com.learn.core.proxy;

public interface Subject {

public void doSth();
}
[/java]

真实对象
[java]
package com.learn.core.proxy;

public class RealSubject imple[……]

继续阅读

Java自带的动态代理

Java自带的动态代理

大家都知道,代理模式是23中设计模式中的一种,代理模式又分为动态代理和静态代理,今天主要介绍下动态代理。目前流行的动态代理,一种是JDK自带的动态代理,另外一种就是cglib动态代理。所为的代理就是构造一个新对象,实现对原有对象所有行为的支持,同时又可以支持新的功能,比如常见的AOP。

JDK动态代理
先上代码

[java]
package com.learn.core.proxy;

public interface Subject {

public void[……]

继续阅读

Oracle Merge 语法详解

Oracle Merge 语法详解

用过Hibernate的,大家对方法saveOrUpdate()一定都不陌生,它的意思是如果存在就update,如果不存在就insert。如果没有用Hibernate,那怎么实现? 常规方法就是我们自己去判断这个数据是insert还是update,但是如果每次都去查询一下决定insert/update,性能不一定很理想,尤其当数据超过千万,你需要频繁做这样的操作,性能一定很差。今天介绍Oracle自带的merge,就可以解决这个问题,性能比普通操作有2-3个数量级的提升。

语法:

M[……]

继续阅读

Jupyter Notebook安装

Jupyter Notebook安装

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。在本文中,我们将介绍 Jupyter notebook 的主要特性,以及为什么对于希望编写漂亮的交互式文档的人来说是一个强大工具。

安装Jupyter

如果你熟悉pip安装工具,可以直接用下边的命令安装Jupyter类库
pip3 install –upgrade pip
pip3 install jupyter

01

启动Jupyter[……]

继续阅读

JDBC事务详解

JDBC事务详解

事务的特性:
1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行。
2)一致性(consistency):事务在完成时,必须是所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。
3) 隔离性(isolation):一个事务的执行不能被其他事务所影响。
4) 持久性(durability):一个事务一旦提交,事物的操作便永久性的保存在DB中。即使此时再执行回滚[……]

继续阅读

重构 01-Replace Nested Conditional with Guard Clauses 以卫语句取代嵌套条件表达式

重构 01-Replace Nested Conditional with Guard Clauses 以卫语句取代嵌套条件表达式

在函数中,如果嵌套很深的if/else,代码理解起来是比较费力,可以说是bad code。在重构过程中,可以通过谓语句表达式达到同样的效果。如下代码:
[java]
double getPayAmount() {
double result;
if (_isDead) result = deadAmount();
else {
if (_isSeparated) result = separatedAmount();
else[……]

继续阅读

Python2 vs Python3

Python2 vs Python3

1.性能
Py3.0运行 pystone benchmark的速度比Py2.5慢30%
2.编码
Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:
>>> 中国 = ‘china’
>>>print(中国)
china
3. 语法
1)去除了,全部改用!=
2)去除“,全部改用repr()
3)关键词加入as 和with,还有True,False,None
4)整型除法返回浮点数,要得到整型结果,请使用//[……]

继续阅读

Jquery Easyui中的坑

Jquery Easyui中的坑

Jquery Easyui是一个不错的前端UI框架,它以非常低的学习和编程成本,尽可能的用非标准的HTML属性和特殊的css来标记页面,由框架统一解析为前端UI控件。
但是,框架的作者采用了类似半开源的方式,license可以使的软件免费使用,但是,它对javascript源码进行了混淆,不发布源码,文档虽然还算整理的不错,但是一旦遇到坑,那就十分捉急。但是,我对其用来做demo的速度赞不绝口,所以总结各种坑与大家共享如下:

坑1:DataGrid如何使用动态的查询参数?
场景如下,一[……]

继续阅读

JDK8 Stream流的用法

JDK8 Stream流的用法

Stream 不是集合元素,它不是数据结构并不保存数据,它是有关算法和计算的,它更像一个高级版本的 Iterator。原始版本的 Iterator,用户只能显式地一个一个遍历元素并对其执行某些操作;高级版本的 Stream,用户只要给出需要对其包含的元素执行什么操作,比如 “过滤掉长度大于 10 的字符串”、“获取每个字符串的首字母”等,Stream 会隐式地在内部进行遍历,做出相应的数据转换。

Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次,遍历过一[……]

继续阅读