Quantcast
Channel: OSCHINA 社区最新新闻
Viewing all 44787 articles
Browse latest View live

加速版本更新,Nacos 10 天发布 3 个版本

$
0
0

继9天前发布0.6.0版本,支持 Dubbo 和 Docker 部署后,Nacos随后又发布了0.6.1和0.7.0版本,网友直呼:真是拼命,昨天看到的还是0.6.0,睡一觉醒来已经是0.7.0版本了。

此次发布的0.7.0,主要解决了以下 issue:

[#461] 当实例端口设置为0时,注册失败

[#455] 控制台无法更改代码

[#447] 集群模式 Server 挂掉一台后,提供方注册失败

[#445] 0.6.1控制台创建配置发布提交时,提示信息有问题

[#442] 命名和变量中的一些拼写错误

[#413] 控制台出现一些未捕获的异常

[#395] stand-alone 模式下,Nacos 支持 MySQL

[#393] 支持控制台上选择器的操作

[#365] 支持NodeJs SDK

[#362] 在线或离线实例通过Web UI时,元数据将丢失

[#187] 对接第三方CMDB,实现基于标签的服务发现能力


基于 swoole 的极简框架 One 1.3.1 发布

$
0
0

主要更新

  • 添加Rpc服务支持内置了http,TCP协议支持

  • 增加Tcp协程客户端连接池

  • 增加 globalData 自增方法

背景

在用过laravel框架,发现它的路由数据库ORM确实非常好用,但是整体确实有点慢,执行到控制器大于需要耗时60ms左右。于是打算做一个拥有非常好用的路由和orm又非常简单的框架。所以你会发现one框的路由ORM有laravel的影子。但也有一些自己的特色,例如ORM支持自动化缓存(自动化读、写、刷新)保持与数据库同步,对外使用无感知。one框架也支持在fpm下运行,在fpm下框架自身整体耗时在1ms左右。

hello world

安装

composer create-project lizhichao/one-app app
cd app
php App/swoole.php

测试

curl http://127.0.0.1:8081/

主要功能

  • RESTful路由

  • 中间件

  • websocket/tcp/http……任意协议路由

  • ORM模型

  • 统一的session处理

  • mysql连接池

  • redis连接池

  • tcp连接池

  • HTTP/TCP/WEBOSCKET/UDP服务器

  • 缓存

  • 进程间内存共享

  • RPC(http,tcp,udp)

  • 日志

  • RequestId跟踪

路由

Router::get('/', \App\Controllers\IndexController::class . '@index');

// 带参数路由
Router::get('/user/{id}', \App\Controllers\IndexController::class . '@user');

// 路由分组 
Router::group(['namespace'=>'App\\Test\\WebSocket'],function (){
    // websocket 路由
    Router::set('ws','/a','TestController@abc'); 
    Router::set('ws','/b','TestController@bbb'); 
});

// 中间件
Router::group([
    'middle' => [
        \App\Test\MixPro\TestMiddle::class . '@checkSession'
    ]
], function () {
    Router::get('/mix/ws', HttpController::class . '@ws');
    Router::get('/mix/http', HttpController::class . '@http');
    Router::post('/mix/http/loop', HttpController::class . '@httpLoop');
    Router::post('/mix/http/send', HttpController::class . '@httpSend');
});

orm 模型

定义模型

namespace App\Model;use One\Database\Mysql\Model;// 模型里面不需要指定主键,框架会缓存数据库结构// 自动匹配主键,自动过滤非表结构里的字段class User extends Model{
    // 定义模型对应的表名
    CONST TABLE = 'users';    // 定义关系
    public function articles()
    {
        return $this->hasMany('id',Article::class,'user_id');
    }
    
    // 定义事件 
    // 是否开启自动化缓存 
    // ……
}

使用模型

fpm下数据库连接为单列, 在swoole模式下数据库连接自动切换为连接池

// 查询一条记录$user = User::find(1);// 关联查询$user_list = User::whereIn('id',[1,2,3])->with('articles')->findAll()->toArray();// 更新$r = $user->update(['name' => 'aaa']);// 或者$r = user::where('id',1)->update(['name' => 'aaa']);// $r 为影响记录数量

缓存

// 设置缓存Cache::set('ccc',1);// 获取Cache::get('ccc');// 或者 缓存ccc 过期10s 在tag1下面Cache::get('ccc',function (){
    return '缓存的信息';
},10,['tag1']);// 刷新tag1下的所有缓存Cache::flush('tag1');

HTTP/TCP/WEBOSCKET/UDP服务器

启动一个websocket服务器, 添加http服务监听, 添加tcp服务监听

[
     // 主服务器
    'server' => [
        'server_type' => \One\Swoole\OneServer::SWOOLE_WEBSOCKET_SERVER,
        'port' => 8082,
        // 事件回调
        'action' => \One\Swoole\Server\WsServer::class,
        'mode' => SWOOLE_PROCESS,
        'sock_type' => SWOOLE_SOCK_TCP,
        'ip' => '0.0.0.0',
        // swoole 服务器设置参数
        'set' => [
            'worker_num' => 5
        ]
    ],
    // 添加监听
    'add_listener' => [
        [
            'port' => 8081,
            // 事件回调
            'action' => \App\Server\AppHttpPort::class,
            'type' => SWOOLE_SOCK_TCP,
            'ip' => '0.0.0.0',
            // 给监听设置参数
            'set' => [
                'open_http_protocol' => true,
                'open_websocket_protocol' => false
            ]
        ],
        [
            'port' => 8083,
            // 打包 解包协议
            'pack_protocol' => \One\Protocol\Text::class,
            // 事件回调
            'action' => \App\Test\MixPro\TcpPort::class,
            'type' => SWOOLE_SOCK_TCP,
            'ip' => '0.0.0.0',
            // 给监听设置参数
            'set' => [
                'open_http_protocol' => false,
                'open_websocket_protocol' => false
            ]
        ]
    ]
];

RPC

像调用本项目的方法一样调用远程服务器的方法。跨语言,跨机器。

服务端

启动rpc服务,框架已经内置了各个协议的rpc服务,添加到到上面配置文件的action即可。列如: 支持http调用,又支持tpc调用。

// http 协议 rpc服务
[
    'port'   => 8082,
    'action' => \App\Server\RpcHttpPort::class,
    'type'   => SWOOLE_SOCK_TCP,
    'ip'     => '0.0.0.0',
    'set'    => [
        'open_http_protocol'      => true,
        'open_websocket_protocol' => false
    ]
],
// tpc 协议 rpc服务
[
    'port'          => 8083,
    'action'        => \App\Server\RpcTcpPort::class,
    'type'          => SWOOLE_SOCK_TCP,
    'pack_protocol' => \One\Protocol\Frame::class, // tcp 打包 解包协议
    'ip'            => '0.0.0.0',
    'set'           => [
        'open_http_protocol'      => false,
        'open_websocket_protocol' => false,
        'open_length_check'       => 1,
        'package_length_func'     => '\One\Protocol\Frame::length',
        'package_body_offset'     => \One\Protocol\Frame::HEAD_LEN,
    ]
]

添加具体服务到rpc, 例如有个类Abc

class Abc{
    private $a;    // 初始值
    public function __construct($a = 0)
    {
        $this->a = $a;
    }    // 加法
    public function add($a, $b)
    {
        return $this->a + $a + $b;
    }    public function time()
    {
        return date('Y-m-d H:i:s');
    }    // 重新设初始值
    public function setA($a)
    {
        $this->a = $a;        return $this;
    }
}

Abc添加到rpc服务

// 添加Abc到rpc服务
RpcServer::add(Abc::class);

// 如果你不希望把Abc下的所有方法都添加到rpc服务,也可以指定添加。
// 未指定的方法客户端无法调用.
//RpcServer::add(Abc::class,'add');

// 分组添加
//RpcServer::group([
//    // 中间件 在这里可以做 权限验证 数据加解密 等等
//    'middle' => [
//        TestMiddle::class . '@aa'
//    ],
//    // 缓存 如果设置了 当以同样的参数调用时 会返回缓存信息 不会真正调用 单位:秒
//    'cache'  => 10
//], function () {
//    RpcServer::add(Abc::class);
//    RpcServer::add(User::class);
//});

客户端调用

为了方便调用我们建立一个映射类(one框架可自动生成)

class ClientAbc extends RpcClientHttp {

    // rpc服务器地址
    protected $_rpc_server = 'http://127.0.0.1:8082/';    // 远程的类 不设置 默认为当前类名
    protected $_remote_class_name = 'Abc';
}

调用rpc服务的远程方法, 和调用本项目的方法一样的。你可以想象这个方法就在你的项目里面。

$abc = new ClientAbc(5);// $res === 10$res = $abc->add(2,3);// 链式调用 $res === 105$res = $abc->setA(100)->add(2,3);// 如果把上面的模型的User添加到rpc// RpcServer::add(User::class);// 下面运行结果和上面一样// $user_list = User::whereIn('id',[1,2,3])->with('articles')->findAll()->toArray();

上面是通过http协议调用的。你也可以通过其他协议调用。例如Tpc协议

class ClientAbc extends RpcClientTcp {

    // rpc服务器地址
    protected $_rpc_server = 'tcp://127.0.0.1:8083/';    // 远程的类 不设置 默认为当前类名
    protected $_remote_class_name = 'Abc';
}

其中类 RpcClientHttp,RpcClientTcp在框架里。
你也可以复制到任何其他地方使用。

更多请看文档

详细文档地址

github:https://github.com/lizhichao/one

码云:https://gitee.com/vicself/one

Swagger-Bootstrap-Ui 1.8.8 发布,Swagger 增强 UI 实现

$
0
0

Swagger-Bootstrap-Ui 1.8.8 发布了。Swagger-Bootstrap-Ui是 Swagger 的增强UI 实现,目的是替换 Swagger 默认的 UI 实现 Swagger-UI,使文档更友好一点儿

Swagger-Bootstrap-Ui 1.8.8 主要更新如下:

特性&优化

1、顶部标题可自定义,去除原默认显示swagger-bootstrap-ui的固定标题,title规则为获取分组对象apiInfo中的第一个title属性

2、个性化配置中新增是否开启请求参数缓存策略,默认为true,当设置为false时,请求的参数不会再本地产生缓存,下次打开接口调试时需要自己重新输入相关接口参数

3、分组加载由同步改为异步加载

4、新增接口高亮显示,当后端新增接口后,UI会自动标识该接口为新接口,直到该接口被点击为止.

5、当服务器正在重启或者宕机时,接口发生异常,给出友好提示,告知接口对接人员.

6、请求参数必填排序,require=true排最前

7、后端接口方法上针对@Deprecated标注的接口,UI以中横线标注区分

8、针对不同状态响应码,返回内容均有Schema的情况下,UI以tab方式将所有状态码的schema内容呈现

9、优化接口数量过多的情况下,离线文档会导致文档页假死

Bug修复

1、修复针对Delete请求,使用@RequestBody注解出现400错误 issue IPLJT @Gitee

2、修复响应状态码HTML标签非转义输出 issue #47 @GitHub

3、不能正确解析response内非$ref的schema内容 issue #43 @Github

UI效果展示

项目地址

Maven坐标

<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>swagger-bootstrap-ui</artifactId>
   <version>1.8.8</version>
</dependency>

码云https://gitee.com/xiaoym/swagger-bootstrap-ui

GitHub:https://github.com/xiaoymin/Swagger-Bootstrap-UI

在线体验:http://swagger-bootstrap-ui.xiaominfo.com/doc.html

Star & Issue

前往https://gitee.com/xiaoym/swagger-bootstrap-ui点个Star吧~~ :)

KooTeam 0.0.5 发布,增加 Mysql 数据库支持

$
0
0

Kooteam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发等工具,并接入了微信小程序,钉钉开放平台,使用便捷高效。

重点更新记录

1. 数据库增加MySQL支持,支持自动创建表,升级时自动同步表结构

2. 优化钉钉插件功能,钉钉作为可选模块接入,简化初始化安装流程

3. 修复知识库权限错误

安装教程

升级方法: 

kooteam安装目录下,执行upgrade.sh脚本完成自动升级 

 

Kooteam是一款轻量级的在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发等工具,并接入了微信小程序,钉钉开放平台,使用便捷高效。

1. 思维导图

2. 流程图

3. 工作四象限

PHP ChineseUtil v1.1 新增中文数字、人民币大写转换

$
0
0

PHP 中文工具类 ChineseUtil,支持汉字转拼音、拼音分词、简繁互转、数字、金额大写;

本类库字典数据总共收录 73925 个汉字,包括:3955 个简体字,1761 个繁体字,68209 个其它汉字。

v1.1 更新内容

  • 新增中文数字转换、人民币大写转换

  • 新增支持不分割无拼音字符的选项

数字转换

use Yurun\Util\Chinese\Number;
function test($number)
{
    $chinese = Number::toChinese($number, [
        'tenMin'    =>  true, // “一十二” => “十二”
    ]);
    $afterNumber = Number::toNumber($chinese);
    echo $number, '=>', $chinese, '=>', $afterNumber, '=>', 0 === bccomp($number, $afterNumber, 20) ? 'true' : 'false', PHP_EOL;
}

test(1.234);
test(-1234567890.666);
test(pi());
/**
输出结果:
1.234=>一点二三四=>1.234=>true
-1234567890.666=>负十二亿三千四百五十六万七千八百九十点六六六=>-1234567890.666=>true
3.1415926535898=>三点一四一五九二六五三五八九八=>3.1415926535898=>true
 */

金额数字转换

use Yurun\Util\Chinese\Money;
function test($number)
{
    $chinese = Money::toChinese($number, [
        'tenMin'    =>  true, // “一十二” => “十二”
    ]);
    $afterMoney = Money::toNumber($chinese);
    echo $number, '=>', $chinese, '=>', $afterMoney, '=>', 0 === bccomp($number, $afterMoney) ? 'true' : 'false', PHP_EOL;
}

test(1.234);
test(-1234567890.666);
/**
输出结果:
1.234=>壹圆贰角叁分肆厘=>1.234=>true
-1234567890.666=>负壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾圆陆角陆分陆厘=>-1234567890.666=>true
 */

不分割无拼音字符

use \Yurun\Util\Chinese;
use \Yurun\Util\Chinese\Pinyin;
$string = '恭喜發財!123';

echo '分割无拼音字符:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN, '-'));

echo '不分割无拼音字符:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN, '-', false));
分割无拼音字符:
array(1) {
  'pinyin' =>
  array(1) {
    [0] =>
    string(24) "gong-xi-fa-cai-!-1-2-3"
  }
}
不分割无拼音字符:
array(1) {
  'pinyin' =>
  array(1) {
    [0] =>
    string(21) "gong-xi-fa-cai-!123"
  }
}

使用说明

代码及demo效果,请查看码云仓库的说明和demo代码。

Composer 直接安装

composer require yurunsoft/chinese-util

Composer 项目配置引入

"require": {
    "yurunsoft/chinese-util" : "~1.1"
}

代码仓库( 求 star 鸭!)

码云:https://gitee.com/yurunsoft/ChineseUtil

github:https://github.com/Yurunsoft/ChineseUtil

Lucenex 1.2 发布,急速开发全文检索框架

$
0
0

lucenex

基于JDK 1.8 & lucene 7.x 的搜索框架、在不影响原本性能的同时、提升80%的开发效率、降低70%的开发难度!!!

文档

javadoc:https://apidoc.gitee.com/Myzhang/luceneplus

轻松入门:https://gitee.com/Myzhang/luceneplus/blob/master/README.md

入门实例:https://gitee.com/Myzhang/luceneplus/tree/master/src/test/java/com/ld/lucenex/demo

更新日志

v1.2

  • 增加jfinal、springboot、servlet等集成插件

  • 精简代码

  • 增加两个实用方法

  • 删除2个依赖

  • 适配 javabean and map and fastjson 直接添加

  • 自动提交&关闭数据、避免丢失数据或手动提交

快速开发平台 MRoot 2.0.1 发布,Bug 修复优化版本

$
0
0

MRoot是基于Spring Boot2编写的快速开发平台

【修复】

1.登录后首页条数没有数据

2.Shiro权限匹配

3.使用Spring Boot内嵌的服务容器启动项目时,无法初始化


【调整】

1.权限(system_rule表)的url的字段加上唯一限制

2.添加子级权限时,去掉标识字段

3.代码生成模板

4.插入或更新的字段有空字符串或者null时FieldStrategy的策略,默认是NOT_EMPTY

5.开发阶段不把缓存实例化到硬盘上

6.jQuery插件的中文提示


【新增】

1.默认首页的设置


【计划】

1.简单的前台文章页面,把使用手册以博客的形式写出来,以便更好的理解(暂无具体时间)

2.做个互联网金融的项目(从事这个行业的),这个已经在做了


最后,分享一首 G.E.M.邓紫棋 -光年之外 (Live) 

D2Admin 发布 1.6.9 版本,开源的管理系统前端集成方案

$
0
0

D2Admin 发布了 1.6.9 版本,更新如下:

详情:https://github.com/d2-projects/d2-admin/releases


日志分析工具 GoAccess v1.3 发布,已支持简体中文

$
0
0

GoAccess旨在成为一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作)。 虽然终端输出是默认输出,但它能够生成完整的,自包含的实时HTML报告(非常适合分析,监控和数据可视化),以及JSON和CSV报告。

作为一个可视化的日志分析器,GoAccess非常容易上手,基本上相关的命令只需要简单的参考复制粘贴就可以了。

这次GoAccess v1.3是一个主要版本,自上一版本以来提交了582次提交。最重要的更新是:i18n用于法语,西班牙语,中文和日语。它还增加了对openssl-1.1的WebSocket服务器的支持。现在可以包括自定义浏览器以及其他功能和修复程序。

GoAccess v1.3目前已经支持简体中文,上图即为实时输出的html截图,可以看到各个模块的名称和简介已经都是中文了,并且可以根据Linux默认语言来自动输出中文。  如果你有在使用GoAccess分析器的话,明月强烈建议你更新。

来自:https://www.imydl.tech/lnmp/719.html

Keycloak 4.8.0.Final 发布,身份和访问管理系统

$
0
0

Keycloak 4.8.0.Final 已正式发布,Keycloak 是一个针对现代应用程序和服务的开源身份和访问管理,为应用程序和安全服务添加最小化身份验证。无需处理存储用户或验证用户,开箱即用。

Keycloak 4.8.0.Final 下载地址:http://www.keycloak.org/downloads

主要更新内容

集成 OpenShift

It is now possible to fully secure OpenShift 3.11 with Keycloak, including the ability to automatically expose Service Accounts as OAuth clients as clients to Keycloak.

This is currently a technology preview feature.

Rules/Drools Policy Marked 的技术预览版本

Until now, Drools policies were enabled by default. But now, this policy type is only available as a technology preview feature and to use it you need to enable the preview profile or the corresponding feature. Take a look at the Authorization Services Guide for more details.

移除对 DB2 的支持

DB2 support has been deprecated for a while. With this release we have removed all support for DB2.

有关新版本中包含的更新详细信息,请查看发布说明

JIRA 中提供了已解决问题的完整列表。

在升级之前,请记住备份数据库并查看升级指南以了解可能已更改的任何内容。

Sylius 1.3.6 和 1.2.13 发布,开源 PHP 电子商务网站框架

$
0
0

Sylius 1.3.6 和 1.2.13 发布了,这是一个常规维护版本,没有重大的更新内容,仅包含 bugfix 和功能变更。

v1.3.6 (2018-12-17)

TL;DR

  • Fixed compatibility issues with Symfony 4.1.18 and 4.1.19 (#10020#10038)

Details

1.2.13 的更新说明和 1.3.6 基本一样。

详细更细说明

源码下载:https://github.com/Sylius/Sylius/tags

Sylius 是一个开源的 PHP 电子商务网站框架,基于 Symfony 和 Doctrine 构建,为用户量身定制解决方案。可管理任意复杂的产品和分类,每个产品可以设置不同的税率,支持多种配送方法,集成 Omnipay 在线支付。

Kubernetes v1.12.4 和 v1.12.5-beta.0 发布

$
0
0

Kubernetes v1.12.4 和 v1.12.5-beta.0 发布了。更新内容集中在添加新特性和修复 bug 上。

Action Required

  • ACTION REQUIRED: The Node.Status.Volumes.Attached.DevicePath fields is deprecated for CSI volumes and will be unset in a future release (#71095@msau42)

Other notable changes

  • fix kubelet log flushing issue in azure disk (#71990@andyzhangx)

  • Disable proxy to loopback and linklocal (#71980@micahhausler)

  • fix issue: vm sku restriction policy does not work in azure disk attach/detach (#71941@andyzhangx)

  • Scheduler only activates unschedulable pods if node's scheduling related properties change. (#71551@mlmhl)

  • UDP connections now support graceful termination in IPVS mode (#71515@lbernail)

  • Fixes an issue where Azure VMSS instances not existing in Azure were not being deleted by the Cloud Controller Manager. (#71597@marc-sensenich)

  • Include CRD for BGPConfigurations, needed for calico 2.x to 3.x upgrade. (#71868@satyasm)

  • On GCI, NPD starts to monitor kubelet, docker, containerd crashlooping, read-only filesystem and corrupt docker overlay2 issues. (#71522@wangzhen127)

  • Only use the first IP address got from instance metadata. This is because Azure CNI would set up a list of IP addresses in instance metadata, while only the first one is the Node's IP. (#71736@feiskyer)

  • kube-controller-manager: fixed issue display help for the deprecated insecure --port flag (#71601@liggitt)

  • Fixes apiserver nil pointer panics when requesting v2beta1 autoscaling object metrics (#71744@yue9944882)

  • Fix a potential bug that scheduler preempts unnecessary pods. (#70898@Huang-Wei)

  • The kube-apiserver's healthz now takes in an optional query parameter which allows you to disable health checks from causing healthz failures. (#70676@logicalhan)

  • Fix scheduling starvation of pods in cluster with large number of unschedulable pods. (#71488@bsalamat)

  • Upgrade Stackdriver Logging Agent addon image to 0.6-1.6.0-1 to use Fluentd v1.2. This provides nanoseconds timestamp granularity for logs. (#70954@qingling128)

  • fix detach azure disk issue due to dirty cache (#71495@andyzhangx)

  • Fixes ability for admin/edit/view users to see controller revisions, needed for kubectl rollout commands (#70699@liggitt)

  • Upgrade golang.org/x/net image to release-branch.go1.10 (#70663@wenjiaswe)

  • [GCE] Filter out spammy audit logs from cluster autoscaler. (#70696@loburm)

  • Correctly default Audience in the kubelet for TokenRequestProjections. (#71007@mikedanese)

  • fix azure disk attach/detach failed forever issue (#71377@andyzhangx)

  • Fix a scheduler panic due to internal cache inconsistency (#71063@Huang-Wei)

  • apiserver: fixes handling and logging of panics in REST handlers to prevent crashes (#71076@liggitt)

  • Fixes an issue with stuck connections handling error responses (#71419@liggitt)

详情请查看 v1.12.4 的更新日志

源码下载:https://github.com/kubernetes/kubernetes/tags

Gradle 5.1 RC2 发布,项目自动化构建工具

$
0
0

Gradle 5.1 RC2 发布了,该 RC 版本针对 5.1 RC1 报告的问题进行了修复:

  • #8036 - Remove history after no-source outputs have been cleaned

  • #8042 - Exclude virtual platform from resolution results

查看发布说明以获取更多信息

有关升级要注意的事项,以及源码下载,请点此查看

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。

当前其支持的语言限于 Java、Groovy 和 Scala,计划未来将支持更多的语言。

Jenkins 2.156 每周更新版发布,可扩展的持续集成引擎

$
0
0

Jenkins 2.156 发布了,这个系列不是 LTS 版本,它每周都会发布一个新版本,为用户和插件开发者提供错误修复和新功能。

本次更新内容如下

  •  User account creation by administrators did not show error messages when it failed. (Regression in 2.129) (issue 52869)

  •  Fix java.lang.IllegalStateException that could occur in rare cases on Jenkins startup. (issue 55197issue 55070)

  •  Attempt to prevent NoClassDefFoundError: javax/servlet/ServletException under some conditions on agents. (issue 26677)

  •  Update Remoting from 3.27 to 3.28 to fix some minor issues and enhance NO_PROXY options. (full changelogissue 47977issue 48778issue 49987issue 50730issue 51108issue 54005)

  •  Replace the Flash implementation of the "copy to clipboard" feature with the native JavaScript equivalent. (issue 54933)

  •  Login and signup pages redesigned in 2.129 now can receive style contributions (footer view for SimplePageDecorator) from multiple plugins. (issue 54325)

下载地址 https://jenkins.io/download/,其中提供了适用于 Windows 和主流 Linux 发行版的二进制安装包。

Jenkins 的前身 Hudson 是一个可扩展的持续集成引擎。

主要用于:

1.持续、自动地构建/测试软件项目,如 CruiseControl 与 DamageControl。
2.监控一些定时执行的任务。

PHP 虚拟机 HHVM 3.30 发布,支持至2019年11月

$
0
0

HHVM 3.30 已发布,官方表示这是一个长期支持版本,会支持到2019年11月。

根据开源中国此前的报道,此版本是 Facebook 计划支持 PHP 代码的最终版本,因此包含了几个破坏兼容性的选择性变更,以及下面的具体选项(在接下来的几个版本中将会被删除),可以使用 hhvm.enable_php=false 选项,该选项禁用对以 <?php 开头的文件的支持。官方表示预计暂不会删除此选项 —— 主要目的是启用测试以确保 Hack 项目没有隐藏的 PHP 依赖项。

详细的新特性、可用性、破坏性变更以及更多的变更,请查看发布公告

源码下载:https://github.com/facebook/hhvm/releases/tag/HHVM-3.30.0

HipHop VM(HHVM) 是 Facebook 推出的用来执行 PHP 代码的虚拟机,它是一个 PHP 的 JIT(Just-In- Time) 编译器,同时具有产生快速代码和即时编译的优点。


NethServer 7.6 发布,面向服务器的 Linux 发行版

$
0
0

NethServer 是基于 CentOS 的面向服务器的 Linux 发行。该产品的主要特性是模块化的设计,这使得用户可以容易地将该发行用作以下任何功能:邮件服务器和过滤器、网页服务器、群件、防火墙、网页过滤器、入侵阻止系统/入侵检测系统、虚拟专用网服务器。它还包含了一个全方位的基于网页的用户界面,这能简化通用管理任务,并让用户通过单击就能安装一些预配置好的模块。NethServer 主要为中小型企业而设计。

NethServer 7.6 在通信、协作和安全方面都向前迈进了一大步,主要更新如下:

  • 多重备份,基于新的后端存储方式和加密方式。

  • 全新的用户界面

  • 电子邮件使用 Rspamd 作为默认反垃圾邮件系统

  • WebTop 软件:CalDAV / CarDAV 服务器,针对平板电脑,优化了我的文件夹和视频通话页面布局

  • Fail2Ban:用新 jail 跟踪攻击者的活动

  • nDPI:性能和安全性得到保障

  • 账户:可以轻松的删除账户。

  • 改进 DC 容器升级和密码到期管理

更多信息可以查看发布公告 。

HttpComponents Client 5.0 beta3 发布

$
0
0

HttpComponents Client 5.0 beta3 发布了,此 BETA 版本通过 Conscrypt TLS 库增加了在 Java 1.7 和 Java 1.8 上对高级 TLS 功能(例如 ALPN protocol negotiation)的支持,并从 HttpCore 中获取了最新的修复和性能改进。

值得关注的新功能:

  • TLS ALPN protocol negotiation support on older JREs through Conscrypt TLS library.

5.0 系列引入了对 HTTP/2 协议的支持,以及为所有受支持的 HTTP 协议版本提供事件驱动消息 API。支持的特性:

  • HPACK header compression

  • Stream multiplexing (client and server)

  • Flow control

  • Response push

  • Message trailers

  • Expect-continue handshake

  • Connection validation (ping)

  • Application-layer protocol negotiation (ALPN) on Java 9.0.1+

  • TLS 1.2 security features

其他值得关注的变更和改进请查看发布主页
下载地址发布说明

GParted Live 0.33.0-1 发布,磁盘分区工具

$
0
0

GParted Live 0.33.0-1 发布了,GParted (Gnome Partition Editor)是一种非常小巧自启动运行光盘,采用 X.org、轻量级的 Fluxbox 窗口管理器,以及 Linux 内核构建。其中包含的 GParted 硬盘分区工具,作为系统维护盘非常有用。

该版本的更新包括升级的软件包,以及其他改进。

  • GParted 0.33.0 包含以下的功能增强:

    • 可复制和移动不被支持的分区内容

    • 添加对 minix 文件系统的支持
    • 可识别苹果的 APFS 文件系统

    • 将 Gtk2 代码现代化

  • 基于 Debian Sid (as of 2018/Dec/14)

  • Linux 内核升级到 4.18.20-2

该版本的 GParted Live 已在 VirtualBox, VMware, BIOS, UEFI 和具有 AMD/ATI, NVidia 和 Intel 图形的物理计算机上成功通过测试。

下载地址 https://gparted.org/download.php

SparkyLinux 5.6 发布,基于 Debian 的轻量级 Linux 发行版

$
0
0

SparkyLinux 是一个基于 Debian 的轻量级发行版。该项目的最新版本是 SparkyLinux 5.6,它基于 Debian 的 Buster 分支。新版本包括多个软件包更新,并在 32 位内核中引入对 PAE 的支持。建议需要非 PAE 内核的用户切换到 SparkyLinux 的 Stable 分支。

新版本特性:

  • Linux 内核版本更换为 4.19.9(Spark 非稳定版提供的是 4.19.10 和 4.20-rc7)。

  • Calamares 程序版本升级为 3.2.1 。

更新了精简版窗口管理器的配置,目前可以通过精简版的 ISO 镜像和 APTus 安装。

  • 声音组件更换成 pnmixer 。

  • PCManFM 文件管理器更换为 Thunar。

  • 默认启用  thunar daemon。

  • 添加了相关的软件包:fce4-notifyd,xfce4-power-manager,sparky-fileopen 。

更多信息请查看发布公告

导入 WORD 表格,O2OA V4 Build 12.16 推出表单设计新方式

$
0
0

在协同办公系统中制作流程表单,为了获得更好的用户体验,开发人员或多或少都会对表单样式进行编辑。为了方便非专业IT人员制作更有质量的表单,O2OA V4 Build 12.16 对表单设计器进行了升级,支持直接导入WORD和EXCEL文档进行表单设计。

与其他协同办公产品相比,O2OA表单设计器 :

  • 数十种可直接使用的表单控件,支持拖拽式表单设计。

  • 支持对表单上各元素自定义样式,编写事件以提高用户体验和业务需求适应能力。

  • 支持PC端和手机端表单分离,提高移动办公体验。

  • 可以直接导入WORD文件、EXCEL文件提高表单制作效率,降低表单制作门槛。

导入WORD文件作为O2OA表单

用户可以直接使用WORD制作一个符合要求的表单,存储为.doc格式,如下图所示:

然后在O2OA中创建一个空表单,在表单设计器里选择导入WORD或者EXCEL文件,如下图所示:

在弹出的对话框中勾选&ldquo;在表格的空单元格中添加输入框&rdquo;和&ldquo;去除空元素&rdquo;,然后选择文件,点击导入即可将使用WORD制作的表单样式导入到O2OA表单设计器中:

导入后的效果如下图所示:

预览效果:

Viewing all 44787 articles
Browse latest View live