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

New XAMPP with PHP 7.2.12 && 7.1.24 发布

$
0
0

XAMPP 更新啦!官方为所有平台发布了支持最新 PHP 系列的 XAMPP 新版本,其中包括 PHP 7.2.12 & 7.1.24。

下载地址 >>> https://www.apachefriends.org/zh_cn/download.html

7.2.12 / 7.1.24

  • 升级 PHP 至 7.2.12 / 7.1.24

  • 升级 Apache 至 2.4.37

  • 升级 MariaDB 至 10.1.37

XAMPP 是最流行的 PHP 开发环境,也是一个易于安装的 Apache 发行版,其中包含 MariaDB、PHP 和 Perl。仅仅需要下载并启动安装程序即可,就是这么简单。


IntelliJ IDEA 2018.3 RC2 发布,正式版即将推出

$
0
0

IntelliJ IDEA 2018.3 正式版即将推出,目前第二个候选版本已发布

官方表示,现在只是为即将发布的版本添加了一些最后的修改,所以本次更新主要是 bug 修复和可用性改进。现在所有 UI 组件都正确显示。此外,即使它包含对另一个插件的必要依赖项,也可以安装插件。

该版本已经为屏幕阅读器提供了“用户协议”对话框。现在可以使用 TAB 键将焦点移至复选框。要进行选择,使用 Space 键即可。

下载地址 https://www.jetbrains.com/idea/nextversion/

桌面环境 GNOME 3.31.2 开发版发布,包含性能改进

$
0
0

GNOME 3.31.2 开发版发布了,将作为3月 GNOME 3.32 版本的最新开发版本。 

更新亮点

  • Epiphany Web 浏览器为其文件选择器添加了预览小部件

  • 支持 Evince 文档查看器的 Flatpak 版本中的 XPS 文件。Meson 现在也是 Flatpak 版本的 Evince 的默认构建系统

  • GNOME Boxes 虚拟化客户端现在将默认机器类型设置为 Intel Q35 型号

  • Nautilus 文件管理器的崩溃修复程序

  • Sushi 已被移植到 Meson 构建系统

  • 更新了各种应用程序图标

  • 性能改进和针对 GNOME Shell 和 Mutter 的修复

有关 GNOME 3.31.2 开发版本的详细信息,请通过邮件列表公告进行查看。

扒网站工具 v2.2 发布:所见网站,皆可为我所用!

$
0
0

扒网站工具 v2.2 已发布,扒网站工具,看好哪个网站,指定好URL,自动扒下来做成模版。所见网站,皆可为我所用!

所下载的css、js、图片、html文件会自动分好类保存到特定文件夹!
如果你想吧你拔下来的模版做成网站使用,可以使用配套的模版计算工具,快速生成网市场云建站系统可用的模版,并且提供免费建站服务!一个手机号可免费领取一个网站,无任何广告!
然后,你可以配合其内的模版计算工具,将其自动计算出模版,导入网站,简单修改,即可使用!

升级事项

  1. 扒网站工具,高级设置中,增加 Request Headers 的 User-Agent 的设定。可自由设定模拟什么浏览器。(主要是了可以模拟手机浏览器抓手机页面)

  2. 模版计算工具,第三步-提取模版变量中,增加过滤条件设定;并将相似度的设定转移到其内进行设定。条件过滤设定,可针对模版变量内容的字符串长度、以及模版变量相对于模版页面的共用百分比进行条件设定,更快速找到目的模版变量。

  3. 扒网站工具,优化高级设置按钮,当点击高级设置时,扩大窗口,显示request headers的相关设定、并右下角显示作者信息。(默认刚打开,不再显示作者信息。极简。)

  4. 模版计算工具,在原先四个步骤之前,加入一个步骤:选择建站系统。 将来不止是网市场云建站系统可以使用,织梦CMS、帝国CMS等传统CMS系统都可以使用本软件来计算!

  5. 模版计算工具,在每个步骤下面,都增加一个 帮助说明 入口,点击可以查看当前步骤的视频说明。以便更好使用。

  6. 模版计算工具,第三步 资源替换 中,将原本的文本框,变为 textarea 输入,并自动换行,以避免文本太长看不到尾的情况。

  7. 模版计算工具,第三步 资源替换 中,将原本的两个按钮,简化为一个。点击 替换 按钮后,会自动判断要进行的动作。

  8. 模版计算工具,第四步 提取模版变量 中,增加 过滤条件设定,并增加 变量字符串长度过滤、变量相似度个数过滤,提取计算模版变量的步骤缩短80%

  9. 模版计算工具,第五步 导出模版 中,导出模版后增加一个功能,自动将导出的模版所在文件夹打开。

  10. 模版计算工具,修复对比计算模版变量时,字符对比中字符长度对比的失误,极大提高计算速度。

  11. 扒网站工具,将界面上显示的作者信息,改为帮助说明入口。

templatespider 最新版本下载

http://www.wang.market/4302.html

JeeSite 4.1.1 发布,拥抱 Spring Cloud 2.0,UI 小圆角

$
0
0

新增:

  • 新增 Spring Cloud Finchley 的支持

  • 新增代码生成 gen.enabled=true 开关

  • 新增系统监控 state.enabled=true 开关

  • 新增支持 iframe 内页使用 hash,addTabPage 的父级标签加 treeview 类即可

  • 新增支持 entity.getSqlMap().getOrder().setOrderBy("a.update_date desc") 设置排序

  • 新增参数配置、字典、数据权限、国际化、消息推送、文件服务层的重写扩展支持

  • 新增 MsgPushUtils 的一个方法,填写定时发送消息时不需要填写是否合并消息参数了

  • 新增 beetl xss 格式化类型,举例:${parameter.testParam,xss}

  • 新增 StringUtils.trim2 方法,去除左右空格,支持清理中文空格

  • 新增内部系统访问过滤器,可设置多个允许的内部系统IP地址串

优化:

  • 升级 spring boot 2.0.5 to 2.0.6

  • 优化 UI 色调、微调、美化,表单控件小圆角增强平滑感

  • 优化 PropertiesUtils 代码方便分布式配置中心获取数据

  • 优化 webuploader.mobile.js 文件上传的精简版,仅h5用

  • 优化菜单多的情况下关闭页签侧边栏会重置问题

  • 区域表单响应式布局优化,缩放窗口时体验效果

  • TimeUtils.formatDateAgo 代码精简优化

  • 手机号验证增加199号码段

修正:

  • 修正分页title工具提示undefined的问题

  • 修正tomcat容器shutdown后job未shutdown问题

  • 修正记住我情况下解决偶尔出现不显示登录页面的问题

  • 修正RoleDao.findListByUserCode多租户下查询不到系统角色问题

  • 修正树菜单保存排序时子节点的所有排序号字段未更新问题(4.0.5以上版本)

  • 修正UserUtils.putCache方法未登录系统的情况不存储问题

  • 修正整合OSS对象存储生成的URL,前端显示会自带项目前缀问题 #INXBI

  • 修正js.quickSelectDate报date.format未定义问题

  • 修正通过logincode获取用户的缓存无法清理问题

  • 修正有些功能存在xss漏洞的问题 #14

升级方法:

  • 修改web项目pom.xml文件中的jeesite-parent版本号为4.1.1-SNAPSHOT

  • 如果你导入了 jeesite-module-common 源码项目,请与 git 上的代码进行同步

  • 如果你导入了 jeesite-module-core 源码项目,请与 git 上的代码进行同步

  • 由于4.1.1开始全面支持微服务,有些核心包里的功能可能根据需要发布为服务, 故将所有Service层的类分离出接口,默认接口实现类的命名约定在Service后加Support为后缀, 默认情况下此类将在autoconfigure中注册,若您想根据需要重写该类,你可继承Support的类约定用Impl为后缀, 并通过@Service注解注册该类即可,这样将会排除默认的Service加载(实例文件见:UserServiceImpl.java)。 此分离出接口操作不会影响业务代码的调用。

了解更多:

PostgreSQL ODBC 驱动 psqlODBC 11.00.0000 发布

$
0
0

今天,PostgreSQL ODBC开发组发布了最新版本的PG ODBC驱动:psqlODBC 11.00.0000。该版做了一些细微的改动,并完善了一个已知bug。

  1. Remove obsolete maps pointed out. POWER -> pow, CONCAT -> textcat, LEFT -> ltrunc, RIGHT -> rtrunc

  2. Remove connSettings option and/or pqopt option from the OutConnectionString parameter of SQLDriverConnect() when each option doesn't exist in InConnectionString parameter.

  3. The parameters should be cast because parameters of concat() function are variadic "any".

  4. Unbuffered-IO in Windows is incredibly slow. Instead call fflush() after fprintf().

  5. Add an alias DX of *Database* keyword for connection strings to aviod the use of "database" keyword which has a special meaning in some apps or middlewares.

  6. numeric items without precision are unlimited and there's no natural map between SQL Data types. Add an option *Numeric(without precision) as*.

  7. Fix a bug that SQLSpecialColumns() returns oid/xmin incorrectly when a table does not exist.

下载地址:

https://www.postgresql.org/ftp/odbc/versions/src/

Egg 2.14.0 发布,阿里开源的企业级 Node.js 框架

$
0
0

Egg 2.14.0 发布了,Egg 是阿里开源的企业级 Node.js 框架,为企业级框架和应用而生。团队的架构师和技术负责人可以非常容易地基于自身的技术架构在其基础上扩展出适合自身业务场景的框架。

值得关注的变化

  • features

    • 向代理添加创建匿名上下文的功能

    • 支持服务器超时
  • fixes

    • curl: 允许请求超时大于代理超时

    • triggerServerDidReady 应该只触发一次

Commits

详情请查看发布说明

Egg.js,为企业级框架和应用而生,是阿里开源的企业级 Node.js 框架。

设计原则

企业级应用在追求规范和共建的同时,还需要考虑如何平衡不同团队之间的差异,求同存异。阿里没有选择社区常见框架的大集市模式(集成如数据库、模板引擎、前端框架等功能),而是专注于提供 web 开发的核心功能和一套灵活可扩展的插件机制;不做出技术选型,因为固定的技术选型会使框架的扩展性变差,无法满足各种定制需求。通过 Egg.js,团队的架构师和技术负责人可以非常容易地基于自身的技术架构在 egg 基础上扩展出适合自身业务场景的框架。

Egg.js 的插件机制有很高的可扩展性,一个插件只做一件事。Egg.js 通过框架聚合这些插件,并根据自己的业务场景定制配置,这样应用的开发成本就变得很低。

Egg.js 奉行『约定优于配置』,按照一套统一的约定进行应用开发,团队内部采用这种方式可以减少开发人员的学习成本,开发人员不再是『钉子』,可以流动起来。没有约定的团队,沟通成本是非常高的,比如有人会按目录分栈而其他人按目录分功能,开发者认知不一致很容易犯错。但约定不等于扩展性差,相反 egg 有很高的扩展性,可以按照团队的约定定制框架。使用 Loader 可以让框架根据不同环境定义默认配置,还可以覆盖 egg 的默认约定。

特性

CakePHP 3.7.0-RC2 发布,PHP 快速开发框架

$
0
0

CakePHP 3.7.0-RC2 发布了,这是 3.7 系列的第二个 RC 版本。该版本带来了几个新的主要功能。如果没有报告重大问题,将在几周内打包发布稳定版本。

此外,3.7 是在 4.0 发布之前 CakePHP 3.x 最后一次计划发布的次要版本。一旦 4.0 发布,2.x 将只接收安全修复程序,3.x 则将继续接收错误和安全修复程序。如果社区有兴趣,可能会有 3.8 版本,但目前还没有计划。

升级到 RC 版本:

可以使用 composer 升级到 CakePHP 3.7.0 的 RC 版:

php composer.phar require --update-with-dependencies "cakephp/cakephp:3.7.0-RC2"

自 3.7.0-RC1 以来的变化

  • Plugin::unload() is now deprecated. This mirrors the deprecation for Plugin::load().

  • New TestCase methods (removePlugin()removePlugins() and clearPlugins()) have been added to remove plugins at runtime.

  • LocaleSelectorMiddleware will now automatically select a fallback locale like es if a request for es-ES is made and your application does not define an es-ES locale.

  • MoParser now supports messages without contexts matching the behavior of PoParser.

  • Backwards incompatible changes in ConsoleIntegrationTrait were reverted.

  • Cake\ORM\Query::disableHydration() was added.

  • Cake\View\ViewBuilder::disableAutoLayout() was added.

  • Cake\View\View::disableAutoLayout() was added.

  • Cake\Database\Query::disableBufferedResults() was added.

  • Cake\Database\Driver::disableAutoQuoting() was added.

  • Cake\Database\Query::disableAutoFields() was added.

  • Cake\Datasource\Connection::disableQueryLogging() was added.

  • Cake\Datasource\Connection::disableSavePoints() was added.

  • Pagination no longer includes the direction key in generated URLs when multiple sort columns are used.

  • Cake\TestSuite\TestCase::getMockForModel() now accepts null for its $methods parameter.


CakePHP 是一个运用了诸如 ActiveRecord、Association Data Mapping、Front Controller 和 MVC 等著名设计模式的快速开发框架。该项目主要目标是提供一个可以让各种层次的 PHP 开发人员快速地开发出健壮的 Web 应用,而又不失灵活性。

CakePHP 3.7.0-RC2 源码下载 https://github.com/cakephp/cakephp/releases/tag/3.7.0-RC2


Foundation v6.5.1 发布,响应式前端框架

$
0
0

Foundation v6.5.1 发布了,Foundation 是一个易用、强大而且灵活的框架,用于构建基于任何设备上的 Web 应用。提供多种 Web 上的 UI 组件,如表单、按钮、Tabs 等等。此版本提供了 bux 修复和各种补丁,以提高 Foundation 的稳定性。

此版本修复了为错误版本(正在进行的 v6.6.0 而不是已发布的 v6.5.0)生成的 JavaScript 插件的分发文件,还包括各种错误修复和文档更新。

自 6.5.0 以来的变更

下载地址 https://github.com/zurb/foundation-sites/releases/tag/v6.5.1

PyCharm 2018.3 RC2 发布,JetBrains 的 Python IDE

$
0
0

PyCharm 2018.3 RC2 发布了,这是为 PyCharm 2018.3 的正式发布做最后的准备。

下载地址 >>> https://jetbrains.com/pycharm/nextversion

该版本已修复的问题

  • “There is a plugin available” 这个通知会打开错误的窗口

  • 对于某些用户,某些 UI 元素不可见

  • Markdown 预览窗口无法正确加载图像

  • 阅读发行说明以获取详细信息

PyCharm 是由 JetBrains 打造的一款 Python IDE。PyCharm 拥有一般 IDE 具备的功能,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。

发布主页 https://blog.jetbrains.com/pycharm/2018/11/pycharm-2018-3-rc-2/

Symfony 4.2.0-BETA2 发布,经典的 PHP Web 框架

$
0
0

Symfony 4.2.0-BETA2 发布了,发布说明显示,该版本包含较多的重要变更,内容较多,详情请点击下面链接进行查看:

下载地址

https://github.com/symfony/symfony/releases/tag/v4.2.0-BETA2
https://symfony.com/download

Symfony 的向后兼容性较好,因此,升级到该版本不会有太大的问题,查看升级文档以了解更多。

如果想及时了解更多关于 Symfony 的进展,可订阅 Symfony 的路线图

Symfony 是一款基于 MVC 架构的 PHP 框架。Symfony 致力于减少重复代码的编写,以加速 Web 应用的开发和维护。Symfony 与许多关系型数据库集成的也非常好,成本也较小。

此外,Symfony 致力于在企业背景下创建健壮的应用,同时也给予了开发者强大的配置功能:从文件结构到外部目录,几乎所有的东西都可以自定义。Symfony 也捆绑了一些诸如测试、调试、文档生成等额外的工具来满足企业的开发过程。

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

$
0
0

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

1.3.4

1.2.11 的更新说明和 1.3.4 并无二致。

详细更细说明

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

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

Apache Wicket 8.2.0 发布,Java Web 开发框架

$
0
0

Apache Wicket 8.2.0 发布了,Wicket 是一个 Java 语言的 Web 开发框架,与 Struts、WebWork、Tapestry 相类似,其特点在于对 Html 和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了 XML 等配置文件的使用),学习曲线较低(开发方式与 C/S 相似),更加易于调试(错误类型比较少,而且容易定位)。

Maven

<dependency>
    <groupId>org.apache.wicket</groupId>
    <artifactId>wicket-core</artifactId>
    <version>8.2.0</version>
</dependency>

下载地址  http://wicket.apache.org/start/wicket-8.x.html#manually

CHANGELOG for 8.2.0:

Bug

  • [WICKET-4423] - Modal Window dragging failes with iframe

  • [WICKET-5552] - Events to close pop-up on Modal Window are not propagated

  • [WICKET-6586] - Broken JavaScript due to fix charsetName in JavaScriptPackageResource

  • [WICKET-6588] - Under Tomcat (ver. >= 8.5) BaseWebSocketBehavior can’t find session id cookie

  • [WICKET-6589] - ClientInfo fails with NumberFormatException for unusual browser versions

  • [WICKET-6599] - ResponseIOException should never escape from WicketFilter

  • [WICKET-6602] - AuthenticatedWebApplication login Workflow broken with replaceSession

  • [WICKET-6603] - WicketTester.destroy sometimes hangs

  • [WICKET-6604] - Ajax repaint is not correctly handled when component being repainted has an enclosure associated with it and is not a child of the enclosure

  • [WICKET-6606] - data-wicket-placeholder is invalid XHTML

  • [WICKET-6607] - NoSuchMethodError when using Spring-Beans with constructor injection in an AjaxLink#onClick

  • [WICKET-6608] - Stateless page, mix of queue and add can cause unforseen consequences

  • [WICKET-6610] - Incorrect Javadoc: Refering to specific page in Application properties file is not possible

Improvement

  • [WICKET-6435] - WicketTester should provide assertExists and assertNotExists methods

  • [WICKET-6600] - Error logging in AjaxRequestHandler is too strict

  • [WICKET-6601] - Events to close pop-up on Modal Window are not propagated from caption bar

  • [WICKET-6605] - Allow AjaxFallbackButton to be stateless

Task

  • [WICKET-6594] - JavaDoc of redirectToInterceptPage in Component urges to use redirectTo method when in a constructor

  • [WICKET-6609] - Update Guice from 4.1.0 to 4.2.2

详情见发布公告

Xamarin.Forms 3.4.0 发布,带来 ImageButton 控件

$
0
0

Xamarin.Forms 3.4.0 发布了,与往常一样,该版本包含许多错误修复,自 3.3.0 以来,本次更新带来了超过 20 个主要更新和修复。

最值得注意的是,3.4.0 带来了一个新的控件 —— ImageButton!

ImageButton 还支持 Command 和 CommandParameter,可轻松绑定到 ViewModel 或其他的绑定上下文。

详细更新内容请查看发布说明,可通过 NuGet 获取更新。

互联网一站式框架 sumk 发布 1.8.4 版本

$
0
0

sumk 的定位是提供一个类似于 spring boot 的轻量级互联网框架。它的生命线是开发速度和对互联网天然支持,比如分布式session、数据库读写分离、微服务、数据缓存及刷新等。

本次更新的主要内容:

  • 日期工具类SumkDate,它可以在java8的LocalDateTime、传统的Date对象以及字符串之间互转。对于中国常见的日期格式,不如yyyy-MM-dd HH:mm:ss等,它的效率要比java原生日期对象高的多。

  • 优化日期的json序列化和反序列化。在json序列化和反序列化上兼容LocalDateTime和传统的Date对象。

  • 提供mybatis参数定制化的功能。因为mybatis不是sumk推荐的数据库操作方式,所以原先并不支持mybatis参数的定制化。现提供ConfigurationFactory接口,只要实现这个接口,并用@Bean注解,就可以定制mybatis的配置。可修改全局的mybatis配置,也可以针对某个数据源修改配置。

  • 微服务请求的时候,允许使用指定的服务地址来代替注册中心。

  • 微服务调用的时候,可以在接口参数之外传递额外数据,并且这些额外数据能够在调用链上传递。根据这一特性,使用者可以很方便的进行调用链分析,也叫鹰眼跟踪。

  • 将sumk.db.empty.allow设置为true,就可以允许数据源只有读数据源或者写数据源。默认情况下必须读写的都有。

  • 将rpc和http的常见工具方法,整合到util包下的RpcUtil和HttpUtil。未来会继续这种趋势,让大家只需要关注util包就好。

  • http测试用例上将加密方式和非加密方式分离。https正成为当前的主流,大家对内置加密的需求变低,只需要掌握非加密方式就可以了。非加密方式的http方式是很简单的。客户端登陆成功之后会自动保存session,不需要开发者做额外的处理。


高性能日志采集工具 logpipe 更新至 1.0.9 版本

$
0
0

1.0.9           2018-11-15      calvin
                * 插件logpipe-output-ingeek的服务端主机配置数量扩大到32个

1.0.8           2018-11-08      calvin
                * 清理了不少遗留代码
                * 其它几个遗漏未改select的地方也改用poll了
                * 新增分解日志行发送插件代码模板logpipe-output-linemode-template.c

1.0.7           2018-10-10      calvin
                * 解决了logpipe-output-ingeek.so使用select描述字大于1024而导致的异常,改用poll
                * 按读文件内容块轮训上游服务端改成按日志行块

1.0.6           2018-09-10      calvin
                * 插件logpipe-input-file.so和logpipe-output-ingeek.so新增NOTICE等级日志
                * 插件logpipe-output-ingeek.so新增参数iov_send_timeout,iov_connect_interval
                * 新增公函writev3,首先用于插件logpipe-output-ingeek.so

1.0.5           2018-09-07      calvin
                * 优化logpipe-output-ingeek分割行和合并通讯发送性能
                * 新增测试程序press_LOGC

1.0.4           2018-09-06      calvin
                * 优化logpipe-output-ingeek

1.0.3           2018-09-06      calvin
                * 调整了logpipe-input-file一些return值,不轻易返回-1导致退出
                * logpipe-input-file配置参数files和exclude_files增加到8个
                * 调整了所有插件的版本全局变量
                * 精简了logpipe-output-ingeek日志

1.0.2           2018-09-05      calvin
                * 调整了文件改名事件的错误处理

1.0.1           2018-08-23      calvin
                * 修正了日志等级常量字符串集合缺漏
                * 没有配置输出插件时不应该报错

1.0.0           2018-07-28      calvin
                * 发布v1.0.0版本

0.22.6          2018-07-23      calvin
                * 解决了移出文件没有释放的问题

0.22.5          2018-07-21      calvin
                * 插件logpipe-input-file.so重构成IN_ONESHOT模式

0.22.4          2018-07-20      calvin
                * 清除无用代码

0.22.3          2018-06-30      calvin
                * 同步更新iLOG3.LOGC

0.22.2          2018-06-27      calvin
                * 插件logpipe-input-file.so新增逻辑,变化文件在1、2、4...秒后检测大小,一共尝试6次

0.22.1          2018-06-26      calvin
                * 新增脚本shbin/logpipe.sh和shbin/logpipe_pack_bin.sh

0.22.0          2018-06-20      calvin
                * 新增目录test以及两个测试程序
                * 文件偏移量、块长度等从32位升级到64位,能处理更大大小的文件了 ***不向下兼容,如内部通讯协议等***

0.21.11         2018-06-19      calvin
                * 插件logpipe-input-file.so
                      新增参数min_usleep_interval
                      删除事件改为立即处理
                      其它一些优化调整
                * 修正公函size_atol和usleep_atol

0.21.10         2018-06-17      calvin
                * 新增API size_atoi用于插件参数大小单位转换
                * 新增API usleep_atoi用于插件参数微秒单位转换
                * 插件logpipe-input-file.so
                      新增参数max_usleep_interval用于沉睡间隔,降低CPU耗用
                      增加捕获子目录下的文件删除事件,防止文件IN_DELETE_SELF漏事件
                      inotify事件队列溢出时检查所有文件偏移量处理合并为一轮一次

0.21.9          2018-06-10      calvin
                * 修正了小日志文件没有及时采集的问题
                * 根据修改过的需求改造logpipe-output-ingeek.so

0.20.8          2018-06-09      calvin
                * 优化了logpipe-input-file.so性能

0.20.7          2018-06-08      calvin
                * 优化了logpipe-input-file.so性能

0.20.6          2018-06-05      calvin
                * 优化了logpipe-input-file.so和logpipe-output-file.so性能

0.20.5          2018-06-03      calvin
                * 修正了logpipe-output-file.so大小转档问题

0.20.4          2018-05-31      calvin
                * 增加logpipe-output-ingeek.so发送TCP性能日志
                * 调整了部分日志等级
                * 增大了自身日志缓冲区大小

0.20.3          2018-05-30      calvin
                * 修正了logpipe-output-ingeek.c和logpipe-output-tcp.c刚连接完未数据收发时停止logpipe,因为p_forward_session指针未赋值引发的coredump

0.20.2          2018-05-28      calvin
                * 修正了src-plugins/logpipe-output-ingeek.c和src-plugins/logpipe-output-ek.c解析缓存区与logpipe输入缓冲区大小相似造成的大量折行问题

0.20.1          2018-05-18      calvin
                * 钩子函数原型变动funcReadInputPlugin和funcWriteOutputPlugin
                * 插件logpipe-output-ingeek调整通讯协议

0.20.0          2018-05-10      calvin
                * 钩子函数原型变动funcReadInputPlugin和funcWriteOutputPlugin
                * 输入插件logpipe-input-file内部文件偏移量递增改成小步累加
                * 新增输出插件logpipe-output-ingeek

0.19.0          2018-05-03      calvin
                * 插件logpipe-input-file补充参数files2,file3,exclude_files2,exclude_files3

0.18.0          2018-04-19      calvin
                * 新增空闲事件函数用于无输入事件时定期调用,如logpipe-output-kafka定期检查异步响应

0.17.0          2018-04-19      calvin
                * 新增插件logpipe-output-kafka

-----------------------------------------------------------------

1. 概述

在集群化环境里,日志采集是重要基础设施。

开源主流解决方案是基于flume-ng,但在实际使用中发现flume-ng存在诸多问题,比如flume-ng的spoolDir采集器只能对文件名转档后的大小不能变化的最终日志文件进行采集,不能满足采集时效性要求,如果要采集正在被不断追加的日志文件,只能用exec采集器搭配tail -F命令,但tail -F命令又不能通配目标目录中将来新增的未知文件名。其它解决方案如logstash由于是JAVA开发,内存占用和性能都不能达到最优。

作为一个日志采集的本地代理,内存占用应该小而受控,性能应该高效,耗费CPU低对应用影响尽可能小,要能异步实时追踪日志文件增长,某些应用会在目标目录下产生多个日志文件甚至现在不能确定将来的日志文件名,架构上要支持多输入多输出流式日志采集传输,为了达成以上需求,我研究了所需技术,评估实现难度并不高,就自研了logpipe。

logpipe是一个分布式、高可用的用于采集、传输、对接落地的日志工具,采用了插件风格的框架结构设计,支持多输入多输出按需配置组件用于流式日志收集架构,无第三方依赖。

logpipe的一种用法是能异步实时监控集群里的所有日志目录,一旦有文件新增或追加写,立即采集并传输到大存储上以相同日志文件名合并落地,或者写入HDFS。异步意味着不影响应用输出日志的性能,实时意味着一有日志立即采集,很多日志采集工具如flume-ng、logstash介绍文档通篇不提采集方式是否实时还是周期性的,这很关键。



logpipe概念朴实、使用方便、配置简练,没有如sink等一大堆新名词。

logpipe由若干个input、事件总线和若干个output组成。启动logpipe管理进程(monitor),派生一个工作进程(worker),监控工作进程崩溃则重启工作进程。工作进程装载配置加载若干个input插件和若干个output插件,进入事件循环,任一input插件产生消息后输出给所有output插件。

logpipe自带了5个插件(今后将开发更多插件),分别是:
* logpipe-input-file 用inotify异步实时监控日志目录,一旦有文件新建或文件增长事件发生(注意:不是周期性轮询文件修改时间和大小),立即捕获文件名和读取文件追加数据。该插件拥有文件大小转档功能,用以替代应用日志库对应功能,提高应用日志库写日志性能。该插件支持数据压缩。
* logpipe-output-file 一旦输入插件有消息产生后用相同的文件名落地文件数据。该插件支持数据解压。
* logpipe-input-tcp 创建TCP服务侦听端,接收客户端连接,一旦客户端连接上有新消息到来,立即读取。
* logpipe-output-tcp 创建TCP客户端,连接服务端,一旦输入插件有消息产生后输出到该连接。
* logpipe-input-exec 执行长命令并捕获输出
* logpipe-output-hdfs 一旦输入插件有消息产生后用相同的文件名落地到HDFS中。该插件支持数据解压。

使用者可根据自身需求,按照插件开发规范,开发定制插件,如IBMMQ输入插件、HDFS输出插件等。

logpipe配置采用JSON格式,层次分明,编写简洁,如示例:

{
	"log" : 
	{
		"log_file" : "/tmp/logpipe_case1_collector.log" ,
		"log_level" : "INFO"
	} ,
	
	"inputs" : 
	[
		{ "plugin":"so/logpipe-input-file.so" , "path":"/home/calvin/log" , "compress_algorithm":"deflate" }
	] ,
	
	"outputs" : 
	[
		{ "plugin":"so/logpipe-output-tcp.so" , "ip":"127.0.0.1" , "port":10101 }
	]
}

Ant Design 3.10.8 发布,阿里开源的企业级 UI 设计语言

$
0
0

Ant Design 3.10.8 发布了,Ant Design 是蚂蚁金服开发和正在使用的一套企业级前端设计语言和基于 React 的前端框架实现。

特性

  • 提炼自企业级中后台产品的交互语言和视觉风格。

  • 开箱即用的高质量 React 组件。

  • 使用 TypeScript 构建,提供完整的类型定义文件。

  • 全链路开发和设计工具体系。

支持环境

  • 现代浏览器和 IE9 及以上。

  • 支持服务端渲染。

  • Electron

本次更新内容主要是 bug 修复:

  • 修复弹出菜单背景透明的问题。#13104

  • 修复了 disabled Button 在 Popconfirm 中的不占用整个宽度的问题。#13119

  • 修复了 Radio.Group 中的 Radio.Button 覆盖了 Badge 的问题。#13132

  • 修复 RangePicker 在 small 模式不对齐的问题。#13105

  • 修复 Dropdown 字体大小影响到头像的问题。#13091

  • 修复 tabBarGutter 无法在垂直模式下工作的问题。#12968

  • 调整了多处 typescript 的类型。

源码下载 https://github.com/ant-design/ant-design/releases/tag/3.10.8

Android Studio 3.4 Canary 4 发布

$
0
0

Android Studio 3.4 Canary 4 现已发布,可通过 Canary 和 Dev 通道获取更新。

下载地址 >>> https://developer.android.com/studio/preview/index.html

更新内容包括新特性和 bug 修复等:

  • 如果使用实验性 DSL 块的后期处理选项,则默认启用 tree-shaking(摇树优化)

  • 在你的 DSL 中,使用 android.getBootClasspath() 现在将在使用 Java 8 语言功能时返回正确的 bootclasspath

  • Guava-inspection 未报告与 minSdkVersion 相关的某些错误

  • 当 XML 布局文件包含引发错误的自定义视图时,布局预览窗格将为空白

有关 Android Studio 早期版本中新功能和更改的信息,请参阅 Android Studio Preview 发布说明。有关每个预览版本中修复的错误的详细信息,请参阅此博客上的先前条目。

From Android Studio 3.4 Canary 4 发布公告

fastjson 1.2.52 版本发布,Java 实现的 JSON 解析库

$
0
0

fastjson 1.2.52 版本发布了,这又是一个功能增强,以及 bug 修复的版本。主要是增强对 JSONPath 的支持。

Issues

  1. 增强JSONPath的支持,增强新的JSONPath.extract API,根据path按需解析JSON数据,大幅提升JSONPath的性能,可用于大数据分析场景。https://github.com/alibaba/fastjson/wiki/JSONPath_Extract

  2. SerializeWriter支持配置bufLocal大小,并改进缓存buf的算法。这是根据 @江南白衣 的建议做的改进。 https://github.com/alibaba/fastjson/wiki/Config_serializer_buffer_threshold_cn

  3. 修复反序列化是打开Feature.DisableCircularReferenceDetect时,某些场景会抛空指针的问题

  4. 增强JSONFeild.format对日期格式的支持,自动识别不带单引号的T格式 #2103

  5. 增强对joda日期库的支持

  6. JSONPath.contains支持对List

  7. 增强对guava的支持,支持HashMultimap #2132

相关链接

Aooms 1.0.0-alpha.2 发布,极速微服务开发,界面新鲜出炉

$
0
0

Aooms 极速微服务开发,界面新鲜出炉,不止像JFinal一样简单 1.0.0-alpha.2

一、Aooms

        一款基于SpringCloud的微服务基础开发平台,旨在降低SpringCloud的复杂度,像使用JFinal一样简单,但又包含整体解决方案,包含微服务相关的完整解决方案同时附加有权限管理、报表自定义、工作流、Cms等套件,可直接使用,Aooms基于Apache Licence 2.0开源协议。

二、核心功能

(1)极简Controller
(2)基于sharding-sphere的多数据源支持
(3)基于Mybatis 实现的 Db + Record 极简模式,附带物理分页实现
(4)基于Consul的服务注册、发现
(5)服务熔断、限流、降级
(6)服务客户端、http客户端
(7)内置各种ID生成器(UUID、snowflake)
(8)穿透一切的数据对象DataBoss
(9)基于J2Cache的缓存
(10) 其他更多功能,等你发现.......

二、内置集成系统

(1)权限管理 (实现中,基本完成)
(2)内容管理系统(规划中)
(3)报表系统(规划中)
(4)工作流系统(规划中)
(5)微信公众号(规划中)
(6).....................

三、1.0.0-alpha.2 更新内容

(1)[修复] 事务失效BUG
(2)[新增] 部分核心API、包结构修改
(3)[新增] CallServiceController 统一服务层调用入口
(4)[新增] 各种控制拦截器
(5)[新增] 自定义配置接口AoomsSetting
(6)[新增] 权限系统
(7)其他细节调整30余项

四、界面预览

五、用户管理示例

(1)Controller 

@RestController
@RequestMapping("/user")
public class UserController extends AoomsAbstractController {

    @Autowired
    private UserService userService;

    @RequestMapping("/findList")
    public void findList(){
        userService.findList();
    };

    @RequestMapping("/insert")
    public void insert(){
        userService.insert();
    };

    @RequestMapping("/update")
    public void update(){
        userService.update();
    };

    @RequestMapping("/delete")
    public void delete(){
        userService.delete();
    };
}

(2)Service

@Service
public class UserService extends GenericService {

    @Autowired
    private Db db;

    public void findList() {
	this.setResultValue(AoomsVar.RS_DATA, db.findRecords("UserMapper.findList", SqlPara.SINGLETON));
    }

    @Transactional
    public void insert() {
	Record user = Record.empty().setByJsonKey("form");
        db.insert("t_user",user);
    }

    @Transactional
    public void update() {
    	Record user = Record.empty().setByJsonKey("form");
    	db.update("t_user",user);
    }

    @Transactional
    public void delete() {
    	db.deleteByPrimaryKey("t_user",getParaString("id"));
    }
	   
}

 

(3)Mapper

<mapper namespace="UserMapper">

    <!-- 二级缓存 -->
    <!--
    <cache type="net.aooms.core.module.mybatis.J2CacheSupport" eviction="LRU" flushInterval="60000" size="512" readOnly="true"/>
    -->

    <select id="findList" resultType="net.aooms.core.record.Record">
        SELECT t.* FROM T_USER t
    </select>

</mapper>

收工!!!,更简单的模式,可以省略UserController, 通过内置CallServiceController统一调用

六、详细了解

请查看:

Gitee: https://gitee.com/cyb-javaer/Aooms
Github:https://github.com/yuboon/Aooms

七、在线体验

地    址:https://www.yuboon.com/Aooms
服务器配置有限,请勿压测

Viewing all 44834 articles
Browse latest View live