首页 文章 精选 留言 我的

精选列表

搜索[首次盈利],共10002篇文章
优秀的个人博客,低调大师

滴滴开源首次发布年度报告

2018年是滴滴开源飞速崛起的一年,滴滴开源项目由2017年的4个增长到目前的12个,总Star数突破1.6万,Fork数有2千多个,PR总数超过300个,共多达65个贡献者参与到滴滴开源项目中。开源项目种类也从单一的前端项目,扩大到覆盖数据库、小程序、移动开发、前端、架构、中间件、云相关和运维监控等技术领域。今天给大家总结下滴滴2018年开源工作,很多开源项目值得大家关注。 对外部项目贡献 除了在Github上开源的项目外,滴滴也积极贡献外部知名的开源项目,在18年滴滴共向HDFS, HIVE,Spark, Yarn,Flink,Druid.io等项目贡献了53个patch,有1个PMC,2个Committer,滴滴持续向OpenMessaging社区贡献多个patch,产生1个TSC,同时主导了RocketMQ重大改进RIP-7的设计和开发,滴滴向Linux内核贡献了15个patch,向QEMU社区贡献了3个patch,向DPDK等社区贡献了5个patch,向Ceph社区贡献了20多个patch,有1个PM。 社区合作支持 滴滴开源也积极参与和加强与Linux基金会等开源社区的交流合作,18年滴滴正式成为Linux基金会会员,并先后加入了LFDL基金会、CNCF基金会和CEPH基金会。2018年11月份滴滴加入了OIN社区,和其他会员一起为提升核心Linux和其他重要OSS技术中的专利防御性贡献力量。在社区活动方面,滴滴和GoCN社区联合主办了18年Gopher China大会,赞助和支持了中国开源年会,Flink Forward大会、HBaseCon等社区活动。滴滴也积极与信通院合作,参与编写和制定了《开源协议白皮书》、《企业开源治理方案指南》等。 展望2019 开源是互联网产业的发展基石,没有任何一家互联网公司可以不使用开源软件,开源软件可以看作是全人类智慧共同协作成果。滴滴的发展受益于开源,也会回馈于开源。2019新的一年,滴滴会继续秉承“拥抱开放、合作共赢、创造价值”的理念,在开源的道路上继续砥砺前行,和更多的社区开发者一起为中国开源做出积极贡献。 转载自滴滴技术

优秀的个人博客,低调大师

Wood,微型 Java ORM 框架(首次发版)

Wood,微型 Java ORM 框架(支持:java sql,xml sql,annotation sql;事务;缓存;监控;等...),零依赖! 特点和理念: 跨平台:可以嵌入到JVM脚本引擎(js, groovy, lua, python, ruby)及GraalVM支持的部分语言。 很小巧:0.2Mb(且是功能完整,方案丰富;可极大简化数据库开发)。 有个性:不喜欢反射(主打弱类型)、不喜欢配置(除了连接,不需要任何配置)。 其它的:支持缓存控制和跨数据库事务。 核心对象和功能: 上下文:DbContext db 四个接口:db.mapper(), db.table(), db.call(), db.sql() /** BaseMapper 用法 */ //BaseMapper 接口 db.mapperBase(User.class).selectById(1); //BaseMapper 接口,lambda 条件查询 db.mapperBase(User.class).selectList(mq->mq .whereLt(User::getGroup,1) .andEq(User::getLabel,"T")); /** Table用法 */ //增:: db.table("user").setEntity(user).insert(); db.table("user").setMap(map).insert(); db.table("user").setMap(map).insertAsCmd(); //构建查询命令(即查询语句) //删:: db.table("user").whereEq("id",2).delete(); //改:: db.table("user").set("sex",1).whereEq("id",2).update(); db.table("user").setInc("level",1).whereEq("id",2).update(); //字段自+1 //查:: db.table("user u") .innerJoin("user_ext e").onEq("u.id","e.user_id") .whereEq("u.id",1001) .selectItem("u.*,e.sex,e.label", User.class); db.table("user u") .innerJoin("user_ext e").onEq("u.id","e.user_id") .whereEq("u.id",1001) .selectAsCmd("u.*,e.sex,e.label"); //构建查询命令(即查询语句) <!-- Xml 用法 --> <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE mapper PUBLIC "-//noear.org//DTD Mapper 3.0//EN" "http://noear.org/dtd/wood-mapper.dtd"> <mapper namespace="wood_demo.xmlsql2" import="demo.model.*" baseMapper="UserModel"> <sql id="getUser" return="UserModel" remarks="获取用户信息"> SELECT * FROM user WHERE id = @{id:int} </sql> </mapper> 项目地址: https://gitee.com/noear/wood https://github.com/noear/wood

优秀的个人博客,低调大师

DevUI 11.3.0 发布:首次开放 DevUI 动效

DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸、灵活、至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠、取悦眼球的设计。如果你正在开发 ToB 的工具类产品,DevUI 将是一个很不错的选择! 新增特性 新版本主要包含以下特性: 开放DevUI动效,参考扩展服务/Animations动效 time-axis组件新增交替排布、设置内容位置、自定义轴点图标、轴线样式等特性 toggle支持开关内容展示 category-search分类搜索tree类型支持单选,textInput类型模板支持dValidateRules校验, 分类搜索中保存过滤器名称输入框增加清空按钮 drawer新增直接关闭方法 quadrant-diagram象限图适配暗黑模式,象限图增加是否展示工具栏 pagination新增自动隐藏特性 Bug修复 修复了以下缺陷,包含社区提的issue和内部发现的问题。 radio修复传入对象导致id重复报错的问题 tooltip修复input变化时未刷新问题 button修复width处理异常,以及异步icon未刷新问题 category-search修复自定义模板必选为可选,修复cache未初始化导致比较重置时覆盖了value值 tree修复disableSelect设置后不应触发SelectNode treeSelect修复单选模式下的清空所有按钮未触发绑定值的变更 dataTable修复fixHead下实际高度不对,修复扩展区域初始值问题和demo展示问题,及timePicker报错问题 datePicker修复分类搜索中年份选择出错问题, 修复最下行日期在选择年月时露出的问题 nav-sprite修复样式问题和延时设置问题,解决初始化不同步的问题 timePicker修复输入长度超过2时的报错 search修复输入文字过长与清除图标显示重叠 upload修改多文件上传时自动清空文件的问题,修复oneTimeUpload的文件状态显示不正确的问题 API变更 无 感谢 @xiejay97 @yangtuantuan 的贡献。 欢迎您一起参与DevUI的开源,我们任何形式的贡献! 欢迎加DevUI小助手微信:devui-official,一起讨论组件技术和前端技术。 欢迎关注我们DevUI组件库,点亮我们的小星星: https://github.com/devcloudfe/ng-devui 也欢迎使用DevUI新发布的DevUI Admin系统,开箱即用,10分钟搭建一个美观大气的后台管理系统! 详细的 Release Notes,请参考: https://github.com/DevCloudFE/ng-devui/releases/tag/11.3.0

优秀的个人博客,低调大师

项目中首次使用DBUnit拾遗

文章目录 测试准备 测试类配置 - BusDeviceTestApp 测试类 - DeviceLogServiceTest Excel数据准备注意点 测试数据准备 Maven 包导入 Unitils额外配置(数据库连接) 参考 正文 参考 测试整合之王Unitils(单元测试系列) 正文 测试准备 测试数据准备 dev_equipment_info.xlsx - 测试数据 expected_dev_equipment_info.xlsx - 测试后数据 Excel数据准备注意点 日期/时间格式 使用 'yyyy-mm-dd hh:mm:ss’格式 每个sheet表的首行为数据表字段名称 sheet名称需要与表名完全相同,也可以使用database.tableName格式的sheet名 一个excel数据表可以同时有多个数据表 Excel最后一行数据之后,不能只是清除内容,导入时无法识别 Maven 包导入 在pom.xml的dependencies中,增加 com.github.yangjianzhouspring-boot-unitils-starter1.3.0.RELEASE Unitils额外配置(数据库连接) application-ut.properties 存放于resources下,其内容可参考 database.driverClassName=com.mysql.jdbc.Driver #此数据库连接信息 database.url=jdbc:mysql://127.0.0.1/septictank_device #此数据库连接用户名 database.userName=root #此数据库连接用户密码 database.password=123456 #此数据库连接的schema database.schemaNames=septictank_device #此数据库数据库类型:oracle/mysql/postgres等 database.dialect=mysql dataSource.beanName=druidDataSource 测试类配置 - BusDeviceTestApp packagecom.citylink.device; importcom.unitils.boot.autoconfigure.ConfigurableApplicationContextAware; importorg.springframework.boot.SpringApplication; importorg.springframework.boot.autoconfigure.SpringBootApplication; importorg.springframework.context.annotation.ComponentScan; @SpringBootApplication @ComponentScan(basePackages={"com.citylink.device"},basePackageClasses= {ConfigurableApplicationContextAware.class,DataSourcePostProcessorExt.class}) publicclassBusDeviceTestApp{ publicstaticvoidmain(String[]args){ SpringApplication.run(BusDeviceTestApp.class,args); } } 主要实现以下功能: basePackages = {“com.citylink.device”},扫描需要注入上下文的业务bean ConfigurableApplicationContextAware.class,为测试提供上下文,以便@SpringBean,@SpringBeanByName,@SpringBeanByType等从上下文中注入bean DataSourcePostProcessorExt.class,为替换系统中原有的dataSource bean的类,如测试时一直使用系统原数据库,很有可能是相应的dataSource未被正常替换 packagecom.citylink.device; importorg.springframework.beans.BeansException; importorg.springframework.beans.factory.config.BeanPostProcessor; importorg.springframework.stereotype.Component; importorg.unitils.database.UnitilsDataSourceFactoryBean; importjavax.sql.DataSource; @Component publicclassDataSourcePostProcessorExtimplementsBeanPostProcessor{ publicDataSourcePostProcessorExt(){ } publicObjectpostProcessBeforeInitialization(Objectbean,StringbeanName)throwsBeansException{ returnbean; } publicObjectpostProcessAfterInitialization(Objectbean,StringbeanName)throwsBeansException{ if(beaninstanceofDataSource){ try{ return(newUnitilsDataSourceFactoryBean()).getObject(); }catch(Exceptionvar4){ thrownewRuntimeException("replacedatabasethrowexception,cannotcontinuetoprocess",var4); } }else{ returnbean; } } } 测试类 - DeviceLogServiceTest packagecom.citylink.device; importcom.citylink.device.pojo.Device; importcom.citylink.device.service.IDeviceService; importcom.citylink.security.common.msg.ObjectRestResponse; importcom.unitils.boot.util.UnitilsBootBlockJUnit4Cla***unner; importorg.junit.Assert; importorg.junit.Test; importorg.junit.runner.RunWith; importorg.springframework.boot.test.context.SpringBootTest; importorg.unitils.dbunit.annotation.DataSet; importorg.unitils.dbunit.annotation.ExpectedDataSet; importorg.unitils.spring.annotation.SpringBeanByType; importjava.util.List; @RunWith(UnitilsBootBlockJUnit4Cla***unner.class) @SpringBootTest(classes=BusDeviceTestApp.class) @DataSet("dev_equipment_info.xlsx") publicclassDeviceLogServiceTest{ @SpringBeanByType privateIDeviceServicedeviceService; @Test @ExpectedDataSet("expected_dev_equipment_info.xlsx") publicvoidtestSelectAll(){ ObjectRestResponseorr=deviceService.selectAll(); Assert.assertTrue(orr.isRel()); ListdeviceList=(List)orr.getData(); System.out.println("deviceList.size()="+deviceList.size()); } }

优秀的个人博客,低调大师

Windows 10 市场份额首次超过 50%

调研机构 NetMarketShare 发布了 2019 年 8 月的数据,可以看到,在微软不遗余力地推广 Windows 10 的情况下,Windows 10 终于迎来了自己的高光时刻 —— 其全球市场份额已经超过 50%。 目前 Windows 10 的市场份额为50.99%,而 Windows 7 则降至 30.44%。排在第三位的是 macOS 10.14,市场份额为 5.95%。虽然操作系统部分为微软带来了好消息,但随着 Windows 7 生命周期的结束,该公司仍需要将近 30% 的用户转化到 Windows 10。 浏览器市场方面,Microsoft Edge 和 Internet Explorer 本月的市场份额均有小幅度的上升,Microsoft Edge 由 7 月的 5.80% 上升至现在的 6.34%,Internet Explorer 则由 7.44% 上升至 7.50%。另一边,Chrome 的市场份额出现了微小的下滑,由 68.60% 下降至 67.22%。Firefox 由 8.34% 上升至 8.43%。 推荐阅读:为什么要从 Windows 7 升级到 Windows 10?

优秀的个人博客,低调大师

Spring Boot应用首次启动慢的问题

最近一个项目中,遇到了一个奇怪的现象,spring boot应用启动后,第一次访问页面总是会有大量的ajax请求pedding,然后刷新页面,大量的IOException错误: org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:356) at org.apache.catalina.connector.OutputBuffer.flushByteBuffer(OutputBuffer.java:815) at o

优秀的个人博客,低调大师

开源Linux 3.3内核首次融合Android代码

最新3.3版本的 Linux 内核中包括一些 Google Android 代码。这对两个开源项目都有所帮助。 Linux 内核项目主管李纳斯·托沃兹(Linus Torvalds)昨天公布最新版内核,它将两个开源世界相连。Linux 3.3 版本的内核结束了两个项目孤立的时代。 在表面之下,每一台 Andorid 手机也将成为 Linux 手机。在开发 Android 程序时,程序员一般用的是 Java 式的界面,但在一些细节方面用的是 Google 定制版 Linux,比如键盘输入、多任务等。 在将二者融合之后,如果一切顺利,将使得编程更为容易,让参与开发的各方进程更快。Google 也会受益,它可更快使用 Linux 新功能,在与主 Linux 内核同步时也更容易。 两大开源项目融合也带来一种可能:将本地 Android 程序在 Linux PC 桌面上运行。 Linux 3.3 内核是 Linux 的心脏,它被用在许多系统上,如 Debian、Red Hat、SUSE、Ubuntu 等。就在 3 个月时,Linux 3.2 才刚刚推出。 Android 使用的是高度修改的 Linux 内核,尽管如此,二者在今天之前仍是独立的 本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/811883,如需转载请自行联系原作者

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册