开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
博客专区 - 开源中国社区

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

开源中国全球专享福利,云栖大会购票大返现!

开源中国为大家带来了全网专享福利!开源中国的会员复制优惠码,在购票时填入,就可以在云栖大会现场开源中国展台处领取现金福利哦!先到先得,赶紧把这个消息传递给好朋友吧,我们云栖大会见!
阿里云栖大会

tangyuan-mongo,使用SQL语法访问MongoDB

## 1. 介绍 tangyuan-mongo是tangyuan框架中的MONGO服务组件,tangyuan-mongo组件将一系列的Mongo操作封装成Tangyuan中的服务,并提供统一的方式进行访问;同时还提供以SQL语法的方式访问Mongo。 ![示意图](http://www.xson.org/project/mongo/1.2.0/images/01.png) 项目源码: 官网地址: ## 2. 使用SQL语法访问Mongo 如果我们要查询性别为女性,年龄在18岁到28岁之间的用户,如果使用Mongo原始的语法,我们需要这样写: db.user.find({"gender":"Female", "age":{"$gte":18, "$lte":28}}) 现在,我们可以使用下面的方式: select * from user where gender = 'Female' and age >= 18 and age <= 28 是不是感觉就像SQL查询?是的没错,tangyuan-mongo就是提供以SQL语法的方式访问Mongo。 ## 3. 支持的SQL语法 ### 3.1 插入 > 语法 INSERT INTO tbl_name (col_name,...) VALUES (col_value,...) > 示例 INSERT INTO user_info(id, name, age, amount) VALUES(1, 'xsonorg', 18, 1000); > 解析后Mongo语法 db.user_info.insert({ "id" : 1 , "name" : "xsonorg" , "age" : 18 , "amount" : 1000}) ### 3.2 查询 > 语法 SELECT {col_name | expr}, ... [FROM tbl_name [WHER...
xson_org 发布于 7天前 阅读 173 评论 4

单点优化系列--session共享踩坑记

由于公司一直使用nginx的iphash负载策略,iphash的优劣这里不做分析,在大量请求下,iphash策略是个坑, 抛开此策略,多个服务器做负载均衡就要先做session共享
java_龙 发布于 7天前 阅读 468 评论 2

微服务开发的入门级框架Spring Boot详解(五)

        通过第四章的介绍,大家可能更能理解使用SpringBoot开发是多么爽并且快捷的了。         比如使用SSM框架开发写一个HelloWord,会经过以下几个步骤:         写POM文件,下载依赖包。         配置Spring MVC,视图解析器等         配置Spring,开启注解扫描器等(发现配置了一大堆,还没开始写真正的业务逻辑)         写Controller,实现HellWord         配置容器         应用打WAR包         放到容器里跑         以上步骤甚是繁琐,而使用Spring Boot呢?你只需以下几步就可以实现:          写POM文件,下载依赖包。         写Controller,实现HellWord         启动程序      对比后,我来说今天真正的主题,如何使用注解写动态SQL 1、动态SQL注解详解        写动态SQL使用的注解不再是:             @Select             @Update             @Delete             @Insert     而是对应 以下四个注解: @SelectProvider @UpdateProvider @DeleteProvider @InsertProvider     注解没有太多...
二十岁以后 发布于 1周前 阅读 1021 评论 18 点赞 3

微服务开发的入门级框架Spring Boot详解(四)

         前几章把Spring Boot大概都介绍了个遍,如果各位朋友有什么疑问和指教欢迎在评论指出。下面我将介绍如何使用Spring Boot进行企业级开发。大概会从以下几点开始介绍。 如何使用Spring Boot进行企业开发 Spring Boot与Spring Cloud(Spring Cloud会单独写一系列,包括PaaS云环境如何使用) Spring Boot集成Mybatis(这里会重点说,包括事物,用注解写SQL及动态SQL等等) 1、使用Spring Boot进行企业开发         刚开始接触微服务的开发我基本是一脸懵逼的状态,因为以前是做传统电商项目的开发,还好我的经理是个大牛(Pivotal原厂出来的),他对于微服务的开发以及PaaS云可以说是理解到骨子里了,感谢我的经理给了我很多的建议和思路。首先微服务的开发最先思考的应该是模型的设计,从数据库模型开始,因为微服务架构就是要高内聚低耦合,一个功能挂了,我应用其他模块照样跑。数据库模型很重要,可以说一个数据库的设计表结构就代表了你要实现的功能部分。写微服务就像是在搭积木,你的积木颜色可能不同,但最终却能完美的搭在一起,即使抽掉几块也不会倒。        当数据库建立好后,我又在思考,传统架构一般都是Controller接收数据,返回...
二十岁以后 发布于 2周前 阅读 1210 评论 7 点赞 10

微服务开发的入门级框架Spring Boot详解(三)

首先,感谢各位朋友指出的问题,我会更加认真负责的写下去,希望帮助正在微服务前进的朋友,大家一起努力!
二十岁以后 发布于 2周前 阅读 734 评论 12 点赞 5

微服务开发的入门级框架Spring Boot详解(二)

1、Spring Boot的属性配置文件         1.1 Spring Boot的属性配置文件的第一种形式             使用properties配置文件,如下两个属性的含义是更改访问端口为8081,并且加了一个contextPath,可以理解为在地址栏多加层地址。 server.port=8081 server.context-path=/joyou                 右键点击DemoApplication.java ——》Run As ——》Spring Boot App启动程序             效果如下,首先从日志上看,端口已经变为8081             浏览器访问效果如下。                 补充:             属性文件是最常见的管理配置属性的方式。Spring Boot 提供的 SpringApplication 类会搜索并加载 application.properties 文件来获取配置属性值。SpringApplication 类会在下面位置搜索该文件: 1.当前目录的/config子目录 2.当前目录 3.classpath 中的/config包 4.classpath 上面的顺序也表示了该位置上包含的属性文件的优先级。优先级按照从高到低的顺序排列。 可以通过spring.config.name这个key的配置属性来指定不同的属性文件名称。也可以通过spring.config.location来添加额外...
二十岁以后 发布于 2周前 阅读 4327 评论 24 点赞 4

微服务开发的入门级框架Spring Boot详解(一)

前几天把thymeleaf写完了,在写thymeleaf的时候就提过几嘴微服务,那么接下来就讲一讲微服务开发的那点事!
二十岁以后 发布于 2周前 阅读 1717 评论 16 点赞 2

Nginx代理webSocket经常中断的解决方案, 如何保持长连接

##**背景**## 这天气够热的,要处理的事情也够多的。。。。 ##**想看解决的,直接 ctrl+f搜索关键字‘配置点’**## ##**开始前交代(想看原因的看这个,个人观点,不代表正确)**## 解说:今天用nginx反代通讯项目,发现平均1分钟左右,就会出现webSocket连接中断,然后查看了一下,是nginx出现的问题。 **原因是:**nginx等待你 **第一次通讯和第二次通讯的时间差**,**超过**了它设定的**最大等待时间**,简单来说就是,**超时**,所以就啪的一声断了,开始上解决步骤。 ##**解决方案一**## 其实只要配置nginx.conf的对应localhost里面的这几个参数就好 1. proxy_connect_timeout; 2. proxy_read_timeout; 3. proxy_send_timeout; ##**解决方案二**## 发心跳包,原理就是在有效地再读时间内进行通讯,重新刷新再读时间 **备注:配置的位置为localhost,给出简略地址** ``` http { server { location / { root html; index index.html index.htm; proxy_pass http://webscoket; proxy_http_version 1.1; proxy_connect_timeout 4s; #配置点1 proxy_read_timeout 60s; #配置点2,如果没效,可以考虑这个时间配置长一点 proxy_send_timeout 12s; #配置点3 proxy_set_header ...
jack-0023 发布于 3周前 阅读 691 评论 9

xson 1.0.2 发布,新增byte[] buffer,支持XCO

## 1. 项目介绍 ![Xson](http://www.xson.org/project/xson/1.0.2/images/00.png) Xson是一个Java对象序列化和反序列化框架。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 官网地址: 项目地址: ## 2. 新版本特性 1. 新增`buffer`包,此包中的相关类提供对序列化过程中的byte[]进行分配、使用、回收的管理;进一步提供序列化的速度,并减少Full GC。 2. 提供带有偏移内容的API支持; 3. 提供XCO对象序列化和反序列的支持; 4. 提供扩展配置文件的支持; ## 3. 使用教程 ### 3.1 基本使用 > a. 添加依赖 org.xson xson 1.0.2 > b. 序列化 User user = new User(); // set... byte[] data = XSON.encode(user); > c. 反序列化 // byte[] data User user = XSON.decode(data); > d. 带有偏移内容的序列化和反序列化 ![偏移内容](http://www.xson.org/project/xson/1.0.2/images/01.png) int x = 6; User user = new User(); // set... byte[] data = XSON.encode(x, user); // byte[] data User user = XSON.decode(x, data); ### 3.2 配置文件 > 1.xson.properties文件配置示例: # Support for XCO xco=true # ByteArrayManager configuration by...
xson_org 发布于 3周前 阅读 702 评论 2

微信小程序下nginx代理wss,实现兼容原本服务协议ws,Java版本

## 开始前说明## ####微信小程序如果使用webSocket协议的话,那么按照官网上的要求是必须使用了wss协议,使用了一个框架,但不支持wss,所以后面用nginx代理解决了这个问题,接下来上代码#### ###软件列表### 1. 我使用的是 **nginx-1.12.1**,附上下载地址http://nginx.org/, 详细的nginx教程可以看一下这位的博客 http://www.cnblogs.com/edward2013/p/5506588.html 2. 需要有**SSL证书的域名**一个 3. 我使用的是**tomcat7**,**JDK7** 4. **服务器**一个(有公网IP的那种,别问我为什么强调这个。。。) ##熟悉这些的直接ctrl+f搜索关键字 '全文最主要',看着一步就好了## ## 好了开始搞事情 ## 1. 首先先在服务器上部署你的项目,并且测试运行起来(保证外网访问的到,**通过公网IP访问**) 在tomcat7上运行项目,我去掉项目名,直接是**ROOT文件夹** 像这样 ![输入图片说明](https://static.oschina.net/uploads/img/201707/27114132_BnpV.jpg "在这里输入图片标题") ![输入图片说明](https://static.oschina.net/uploads/img/201707/27114159_oyCU.jpg "在这里输入图片标题") 2. 在服务器上部署nginx,然后修改配置,然后测试跑起来 配置这样修改,**listen是监听的...
jack-0023 发布于 4周前 阅读 103 点赞 1

spring boot 注入 property的三种方式

            以前使用spring的使用要注入property要配置PropertyPlaceholder的bean对象。在springboot除  了这种方式以外还可以通过制定 配置ConfigurationProperties直接把property文件的 属性映射到 当前类里面。 @ConfigurationProperties(prefix = "mypro", merge = true, locations = { "classpath:my.properties" }) ConfigurationProperties prefix 属性指示property文件中属性的前缀是什么。我这里写的是mypro。 因此property文件的属性必须mypro.x.y=z的形式;      配置好ConfigurationProperties 之后就可以把property文件的属性映射到当前类了。 mypro.a:1 mypro.b:2 abc.d:123 property 文件里面mypro前缀的有a 和b两个。因此我在当前类就可以新建这两个属性。 private int a; private int b; 这些需要映射的属性一定要加上getter 和setter。因为spring是通过反射调用方法来修改属性值的             以前使用spring注入property的方式也同样适用。以前是xml配置PropertyPlaceholder。现在使用@bean 或者直接@Component配置这个类。只要把PropertyPlaceholderConfigurer添加到bean工厂,就可以使用@Value 取值了。 @Component pub...
安西都护府首席程序员 发布于 1个月前 阅读 1004 评论 4 点赞 3

XLSUnit,面向数据库的单元测试工具

大多数程序员和项目经理回避单元测试是因为工作量巨大且在面向数据库应用没有很好的工具能支撑,XLSUnit是我在公司研发部开发的一款面向数据库的单元测试工具,它能有效减少单元测试代码量和辅助面向数据库应用测试
闲大赋 发布于 2个月前 阅读 315

Petya勒索病毒疫苗出现,分分钟让电脑对病毒免疫

继wannacry之后,Petya勒索软件攻击再次席卷全球,对欧洲、俄罗斯等多国政府、银行、电力系统、通讯系统、企业以及机场造成了不同程度的影响。   研究发现,Petya 会锁定磁盘的 MFT 和 MBR 区,导致计算机无法启动。除非受害者支付赎金解锁,否则无法恢复他们的系统。但在此前的wannacry勒索软件事件发生的时候,阿里聚安全就建议大家不要支付赎金,一方面支付赎金后不一定能找回数据,其次这些赎金会进一步刺激攻击者挖掘漏洞,并升级攻击手段。   好消息是Cybereason安全研究员Amit Serper已经找到了一种方法来防止Petya (notpetya / sortapetya / petna)勒索软件来感染电脑,这种方法简直一劳永逸!   研究员蜂拥寻找killswitch机制 在Petya 爆发的第一时间,国内外安全研究人员们蜂拥而上对其进行分析,一开始他们认为Petya无非是新瓶装旧酒,和其他勒索软件相似。但在进一步研究过程中,他们发现这是一种全新的勒索蠕虫病毒。因此它的名字从Petya逐渐变为Notpetya,Petna,以及SortaPetya。   研究员分析勒索软件的运作机制后,发现NotPetya会搜索本地文件,如果文件已经在磁盘上存在,那么勒索软件就会退出加密。这意味着,受害者只需要在自己电脑上创建这个文...
阿里聚安全 发布于 2个月前 阅读 537 点赞 1

Jboot发布啦,如果你做微服务架构,你应该看看。

Jboot发布啦   Jboot是什么呢? 详情地址地址:https://git.oschina.net/fuhai/jboot jboot是一个类型springboot的开源框架,基于jfinal和undertow等非常优秀的、已经在商业项目中应用多年的、有良好口碑的、性能非常不出的诸多框架开发而成。 Jboot是一个新的轮子,但是是集大家之所长的一个极度好用的轮子。 如何使用Jboot呢? 第一步:maven依赖。 <dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>1.0-alpha3</version> </dependency>   第二步:coding 废话,都低coding都支持什么样的coding,有什么样的好处呢?   我们从几个方面来看: 一、mvc @RequestMapping("/") public class MyController extend JbootController{    public void index(){ renderText("hello jboot"); } public static void main(String [] args){ Jboot.run(args); } }   启动main方法,然后访问 http://127.0.0.1:8088,然后你就能看到浏览器输出:hello jboot.   怎么样?是否极度简单呢?   我们继续.     二、数据库查询。 表结构:   CREATE TABLE `user` (   `id` int(11) uns...
michaely 发布于 2个月前 阅读 2263 评论 21 点赞 6

JeeSite 4.0 规划(二)

接上文:https://my.oschina.net/thinkgem/blog/911392 点击图片查看高清图
thinkgem 发布于 3个月前 阅读 2071 评论 26 点赞 11

《AOSuite G1开发手册》之AOSuite G1开发环境搭建

AOSuite开发套件基于JavaEE技术体系,以“标准功能可复用、通用模块可配置、行业需求快速开发、异构系统无缝集成”为目标, 帮助企业落实IT策略、屏蔽技术壁垒,快速实现可水平扩展的高性能高可用业务愿景。 为传统软件企业和互联网企业研发团队提供高效可控、随需应变、快速实现业务需求的全栈式技术解决方案,以最低成本和最低风险获得更高质量、更快交付业务和运维支持的核心技术竞争力。
afghan007 发布于 3个月前 阅读 316 评论 1 点赞 1

让Hibernate识别数据库特有字段

Hibernate已经为绝大多数常用的数据库数据类型提供了内置支持,但对于某些数据库的专属字段支持就不够好了。 这些特殊数据类型往往提供了比常规数据类型更好的数据表达能力,更符合我们的业务场景。比如PostgreSQL的Interval类型,可以非常方便的保存一个时间段的数据。 本文以添加Interval类型支持为例,说明为Hibernate添加特有数据类型支持的方法。
XuYuan 发布于 3个月前 阅读 1352 点赞 1

JeeSite 4.0 规划(一)

时隔3年,偶得OSC举办的2016最优秀的开源项目之一,让Gem兴奋了一下,也再次燃起了对JeeSite升级的强烈欲望。感谢OSC提供码云这么好的平台,感谢红薯大哥的亲笔祝福! 很抱歉,由于近年来工作原因比较忙,JeeSite得到的是极少维护,在这样的情况下,依然得到了大家的深深青睐,这让Gem感到非常羞愧,在此忠诚感谢您们的鼓励和支持,否则也没有JeeSite的今天。 JeeSite自开源以来被用到了企业、政府、医疗、金融、互联网等各个领域中,JeeSite的设计思想和开发模式也深入支持者的内心,也帮助了不少刚毕业的大学生去快速学习和实践。这次升级的规划Gem也结合了以往的经验和总结各方面的应用案例,对架构做一次全部重构,也纳入一些新的思想。从开发者模式、底层架构、逻辑处理到用户界面都有很大的进步,最重要的是安全稳定,降低学习成本,提高开发效率。 由于时代的变革,技术的演变,这次规划架构的变化很大,所以将不考虑之前版本的兼容。既然有了规划,就的去实现,在不影响正常工作的情况下,所有计划均安排在本人业余时间,这样也就意味着,我会牺牲掉业余时间去学习新的知识。话说回来,规划结果也是我非常期待的,可以把我近年来的一个个的想法,一个个的目标,在这...
thinkgem 发布于 3个月前 阅读 1874 评论 26 点赞 12

Docker容器链接-WEB容器连接MYSQL容器

Docker容器链接-WEB容器连接MYSQL容器
ht896632 发布于 3个月前 阅读 175 评论 13

基于docker官网镜像centos7配置Java运行环境

基于docker官网centos7镜像配置java运行环境,自己安装jdk和tomcat,解决docker容器与宿主机时间不一致问题
ht896632 发布于 3个月前 阅读 597 评论 13 点赞 1

全球用户信息泄露事故频发 企业须加强防范

几天前,印度运营商Reliance Jio遭遇用户数据外泄事件,超过1亿用户的个人资料被泄露在了网站Magicapk.com上,包括姓名、手机号、电子信箱、SIM激活日期,甚至还包括Aadhaar号码(身份识别信息)。 Reliance Jio由印度首富穆克什·安姆巴尼(Mukesh Ambani)创建,去年9月正式运营。通过提供免费的4G服务,Reliance Jio迅速吸引了1亿多用户。此次事件也成了印度运营商史上最大的用户数据外泄事件。有消息透露是一名计算机应用专业的硕士生黑进了印度移动通信运营商。 而在地球的另一端,美国的电信运营商也被曝出近600万用户信息遭泄露的消息。数据泄漏是由于该公司供应商 Nice Systems 一名员工人为失误,导致其600万名用户信息被公开泄露在网上。数据中的确包含了一些个人信息,比如电话号码和 PIN码,但不包括录音或社安码(指所有美国公民、侨民、持有合法签证入境美国留学或短期及长期工作的外国人所拥有的身份信息号码)。 以上大规模用户信息泄露事故的发生也让我们不得不提高警惕,在如今的互联网时代,数据泄露主要是由于以下几种情况: 1、外部黑客攻击 现在勒索病毒攻击猖獗,各种变异多如繁星,企业中的许多电脑在进行浏览邮件、下载应用等操作时,无意间就成...
亚洲诚信 发布于 1个月前 阅读 4

Git功能分支工作流

功能分支工作流背后的核心思路是所有的功能开发应该在一个专门的分支,而不是在master分支上。这个隔离可以方便多个开发者在各自的功能上开发而不会弄乱主干代码。另外,也保证了master分支的代码一定不会是有问题的,极大有利于集成环境。
楠木楠 发布于 5天前 阅读 4

Jboot发布啦,如果你做微服务架构,你应该看看。

Jboot发布啦   Jboot是什么呢? 详情地址地址:https://git.oschina.net/fuhai/jboot jboot是一个类型springboot的开源框架,基于jfinal和undertow等非常优秀的、已经在商业项目中应用多年的、有良好口碑的、性能非常不出的诸多框架开发而成。 Jboot是一个新的轮子,但是是集大家之所长的一个极度好用的轮子。 如何使用Jboot呢? 第一步:maven依赖。 <dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>1.0-alpha3</version> </dependency>   第二步:coding 废话,都低coding都支持什么样的coding,有什么样的好处呢?   我们从几个方面来看: 一、mvc @RequestMapping("/") public class MyController extend JbootController{    public void index(){ renderText("hello jboot"); } public static void main(String [] args){ Jboot.run(args); } }   启动main方法,然后访问 http://127.0.0.1:8088,然后你就能看到浏览器输出:hello jboot.   怎么样?是否极度简单呢?   我们继续.     二、数据库查询。 表结构:   CREATE TABLE `user` (   `id` int(11) uns...
michaely 发布于 2个月前 阅读 2263 评论 21 点赞 6

Docker容器链接-WEB容器连接MYSQL容器

Docker容器链接-WEB容器连接MYSQL容器
ht896632 发布于 3个月前 阅读 175 评论 13

开源中国全球专享福利,云栖大会购票大返现!

开源中国为大家带来了全网专享福利!开源中国的会员复制优惠码,在购票时填入,就可以在云栖大会现场开源中国展台处领取现金福利哦!先到先得,赶紧把这个消息传递给好朋友吧,我们云栖大会见!
阿里云栖大会

tangyuan-mongo,使用SQL语法访问MongoDB

## 1. 介绍 tangyuan-mongo是tangyuan框架中的MONGO服务组件,tangyuan-mongo组件将一系列的Mongo操作封装成Tangyuan中的服务,并提供统一的方式进行访问;同时还提供以SQL语法的方式访问Mongo。 ![示意图](http://www.xson.org/project/mongo/1.2.0/images/01.png) 项目源码: 官网地址: ## 2. 使用SQL语法访问Mongo 如果我们要查询性别为女性,年龄在18岁到28岁之间的用户,如果使用Mongo原始的语法,我们需要这样写: db.user.find({"gender":"Female", "age":{"$gte":18, "$lte":28}}) 现在,我们可以使用下面的方式: select * from user where gender = 'Female' and age >= 18 and age <= 28 是不是感觉就像SQL查询?是的没错,tangyuan-mongo就是提供以SQL语法的方式访问Mongo。 ## 3. 支持的SQL语法 ### 3.1 插入 > 语法 INSERT INTO tbl_name (col_name,...) VALUES (col_value,...) > 示例 INSERT INTO user_info(id, name, age, amount) VALUES(1, 'xsonorg', 18, 1000); > 解析后Mongo语法 db.user_info.insert({ "id" : 1 , "name" : "xsonorg" , "age" : 18 , "amount" : 1000}) ### 3.2 查询 > 语法 SELECT {col_name | expr}, ... [FROM tbl_name [WHER...
xson_org 发布于 7天前 阅读 173 评论 4

干货分享!DevExpress v17.1最新版帮助文档下载大全

DevExpress v17.1.5帮助文档下载列表大全来啦!包含.NET、VCL、HTML/JS系列所有帮助文档,提供CHM和PDF两个版本。除已停止更新的Silverlight、Windows 8外,其余均为最新版本。 .NET: 版 本 CHM格式 PDF格式 WinForms Controls 下载DevWinForms帮助文档(CHM) 下载DevWinForms帮助文档(PDF) ASP.NET Controls 下载DevASP.NET帮助文档(CHM) 下载DevASP.NET帮助文档(PDF) WPF Controls 下载DevWPF帮助文档(CHM) 下载DevWPF帮助文档(PDF) Silverlight Controls 下载DevSilver帮助文档(CHM) 下载DevSilver帮助文档(PDF) Reporting 下载DevReport帮助文档(CHM) 下载DevReport帮助文档(PDF) Windows 8 XAML Controls 下载DevWin8帮助文档(CHM) 下载DevWin8帮助文档(PDF) Windows 10 App Controls 下载DevWin10帮助文档(CHM) 下载DevWin10帮助文档(PDF) Document Server 下载DevDoc帮助文档(CHM) 下载DevDoc帮助文档(PDF) CodeRush Classic 下载CodeRush Classic帮助文档(CHM) 下载CodeRush Classic帮助文档(PDF) CodeRush For Roslyn 下载DevCode帮助文档(CHM) 下载DevCode帮助文档(PDF) Dashboard 下载DevDash帮助文档(CHM) 下载DevDash帮助文档(PDF) Report Server 下载DevRS...
Miss_Hello_World 发布于 19小时前 阅读 6

odoo 10 的 两个模块分析和细微改动

今天帮一个学生写的, 贴出来吧 ,因为他们不需要掌握很深入的知识,所以写的比较浅显。 ================一,针对一个模块--maintenance 进行分析=========== 资源不是没有, 而是很多,在odoo的内部就有很多的模块,功能已经十分的强大,关键是我们是否知道它的意思 至于odoo 系统的 整体构架 , 需要大家有时间的时候多去查资料,自己体会这里,我们就针对一个小的模块做一个分析 一个 自定义模块的定义,安装到odoo中 ,在odoo中怎么被发现识别 ,更新. odoo 模块的路径 , 针对 绿色odoo10,默认有两个  一个是  GOdoo10\source\addons\  这个是系统标准模块, 自带的模块存放路径 另一个 是 GOdoo10 \myaddons\  一般用户自定义的模块存放目录 。 Q  模块安装了没有识别是怎么回事,?  怎么处理 ? 1 激活开发者模式, 2 更新  3 在应用中,输入自定义模块的名称 查找  Q  模块升级后 因为语法或者其他原因 ,导致odoo系统崩溃,怎么处理 ? 一般的处理措施有 : 1 卸载,  2  取消安装 3  修正代码,  重启odoo 4  错误已经非常严重, 重启odoo 也不行 ,只有删除了当前的数据库, 5  当然如果你这个模块错误导致就算删除数据库也启动不了,暂...
深圳市唤梦科技 发布于 2个月前 阅读 79

xson 1.0.2 发布,新增byte[] buffer,支持XCO

## 1. 项目介绍 ![Xson](http://www.xson.org/project/xson/1.0.2/images/00.png) Xson是一个Java对象序列化和反序列化框架。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 官网地址: 项目地址: ## 2. 新版本特性 1. 新增`buffer`包,此包中的相关类提供对序列化过程中的byte[]进行分配、使用、回收的管理;进一步提供序列化的速度,并减少Full GC。 2. 提供带有偏移内容的API支持; 3. 提供XCO对象序列化和反序列的支持; 4. 提供扩展配置文件的支持; ## 3. 使用教程 ### 3.1 基本使用 > a. 添加依赖 org.xson xson 1.0.2 > b. 序列化 User user = new User(); // set... byte[] data = XSON.encode(user); > c. 反序列化 // byte[] data User user = XSON.decode(data); > d. 带有偏移内容的序列化和反序列化 ![偏移内容](http://www.xson.org/project/xson/1.0.2/images/01.png) int x = 6; User user = new User(); // set... byte[] data = XSON.encode(x, user); // byte[] data User user = XSON.decode(x, data); ### 3.2 配置文件 > 1.xson.properties文件配置示例: # Support for XCO xco=true # ByteArrayManager configuration by...
xson_org 发布于 3周前 阅读 702 评论 2

Spring Cloud Netflix

本文节选自《Netkiller Java 手札》
neo-chen 发布于 2个月前 阅读 52

MES 系统

  领先的MES解决方案供应商 FTPC FactoryTalk ProductionCentre (FTPC)是罗克韦尔自动化的MES平台软件,基于SOA架构,J2EE技术。 该软件完全符合S95标准,提供了丰富的业务对象,如生产线、在制品、设备、路经等,具有强大的建模能力。在提供了丰富的应用模块,如供应商管理、跟踪与追溯、SPC、CAPA、RMA等功能模块的同时,用户也可以在FTPC的开放二次开发环境中定制开发自己的需求。 由于不同行业的生产和管理流程不同,用户对MES的需求也不同。针对汽车、制药、消费品等行业罗克韦尔自动化已经在FTPC平台上提供了对应的Pharma Suite、CPG Suite、Auto Suite解决方案。 作为罗克韦尔自动化FactoryTalk 软件的一员,FTPC可以和罗克韦尔自动化的其他任何一款软件无缝集成,共享数据和基础服务,这种架构为打造完全的企业生产信息系统提供了强有力的手段。 FTPC提供各种接口技术以实现和企业上层信息系统(如ERP)及下层生产控制设备(如第三方PLC)的集成。 目前FTPC在全球和中国已有广泛应用案例,在汽车、食品饮料、电子、半导体等行业发展迅速。 其特点是: 基于J2EE架构 FTPC的架构体系自下而上分为四层:数据层、商业逻辑层、web层和客户端层 公司简要:  ...
诺岚 发布于 6天前 阅读 5

让Hibernate识别数据库特有字段

Hibernate已经为绝大多数常用的数据库数据类型提供了内置支持,但对于某些数据库的专属字段支持就不够好了。 这些特殊数据类型往往提供了比常规数据类型更好的数据表达能力,更符合我们的业务场景。比如PostgreSQL的Interval类型,可以非常方便的保存一个时间段的数据。 本文以添加Interval类型支持为例,说明为Hibernate添加特有数据类型支持的方法。
XuYuan 发布于 3个月前 阅读 1352 点赞 1

XLSUnit,面向数据库的单元测试工具

大多数程序员和项目经理回避单元测试是因为工作量巨大且在面向数据库应用没有很好的工具能支撑,XLSUnit是我在公司研发部开发的一款面向数据库的单元测试工具,它能有效减少单元测试代码量和辅助面向数据库应用测试
闲大赋 发布于 2个月前 阅读 315

Cboard开源BI商业智能的新秀,从数据库到图表生成,简单!

此文根据CBoard官方文档整理 原文地址:https://github.com/yzhang921/CBoard/wiki/%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3 系统需求 Before the start, make sure you have setup environment: JDK version above 1.8 MySQL Maven Tomcat Phantomjs (for export dashbaord) Mail Servier How to build project 1 Download or git clone project git clone https://github.com/yzhang921/CBoard.git 2 Install metadata of CBoard (take MySQL database as example) 2.1 Install demo metadata and sample foodmart db Download cboard_demo & foodmart Enter into the path of these two files Use MySQL Command Line tool login and execute source cboard_demo.sql source foodmart.sql After success completed, check if cboard_demo2 and foodmart2 databases have been created 2.2 You can alternative choose start from a blank settingmysql -- CREATE DATEBASE cboard; Execute ddl to create metadata table: sql/mysql/mysql.sql 3 Modify metadata connection properties file according to your db environment CBoard/src/main/resources/config.prop...
gugudu 发布于 1个月前 阅读 89

JDBC,JdbcTemplate,JPA傻傻分不清楚

JDBC,JdbcTemplate,JPA,Hibernate,MyBatis之间的关系概述
momo1987 发布于 3周前 阅读 21

CentOS部署kodexplorer

1、确定linux版本 首先确认Linux是32位还是64位:uname -a 如果是64位机器会输出x86_64。 如下输出则表示是32位。 注:也可以在串口使用如下命令来查看:getconf LONG_BIT  输出:32表面系统是32位。 输出:64表面系统是64位。   2、下载相应版本(32或64)的xampp [64bit] wget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.14/xampp-linux-x64-5.6.14-0-installer.run   [32bit] wget https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.14/xampp-linux-5.6.14-4-installer.run   3、安装xampp 4、启动xampp 执行/opt/lampp/lampp start 5、下载kodexplorer wget http://static.kalcaddle.com/update/download/kodexplorer3.37.zip 6、将kodexplorer3.37.zip解压 cd kodexplorer/ unzip kodexplorer3.37.zip 7、将解压后的内容拷贝至tdocs目录下 sudo cp -r kodexplorer/ /opt/lampp/htdocs/ chmod 777 kodexplorer chmod -R 777 kodexplorer/data/ 8、浏览器访问kodexplorer的index.php即可(默认用户名密码均为admin) http://192.xxx.xxx.xxx/kodexplorer/index.php?user/login ...
暴雪首席执行官 发布于 3周前 阅读 24

Java中泛型集合List<T>反序列化问题及解决方法

本文通过3个问题来讨论如何使用 GSON 把JSON反序列化为List。 问题1 有这样两个类: class MyObj { int x; } class MyList { List<MyObj> objList = new LinkedList<>(); } 那下面的测试能通过吗? @Test public void test1() { MyList myList = new Gson().fromJson("{objList:[]}", MyList.class); Assert.assertEquals(LinkedList.class, myList.objList.getClass()); } 答案1 答案是,测试 通不过 !原因是GSON不知道objList的具体类型,因此只能选择默认的ArrayList。更详细的解释,可以参考这篇文章和ConstructorConstructor类的源代码。如果确实想让GSON创建LinkedList实例该怎么办呢?也简单,就是给objList一个更具体的类型: class MyList { LinkedList<MyObj> objList = new LinkedList<>(); } 问题2 下面的测试能通过吗? @Test public void test2() { ArrayList<?> list = new Gson().fromJson("[{x:1}]", ArrayList.class); Assert.assertEquals(1, list.size()); Assert.assertEquals(MyObj.class, list.get(0).getClass()); } 答案2 很明显,不能。因为fromJson方法不能从"[{x:...
留给明天 发布于 2个月前 阅读 36

Git Pull Request工作流

Pull Request(PR)简单的说就是你没有权限往一个特定的仓库或分支提交代码,你请求有权限的人把你提交的代码从你的仓库或分支合并到指定的仓库或分支。
楠木楠 发布于 5天前 阅读 4

搭建基于Eclipse的MyCollab开发环境

一、下载MyCollab源码     下载地址:https://github.com/MyCollab/mycollab 二、准备Eclipse及插件     下载Eclipse并安装scala插件,避免麻烦我直接下载了Scala IDE。(下载地址:http://scala-ide.org/download/sdk.html)             MyCollab需要JDK 1.8,设置Eclipse的JDK版本为1.8,配置maven相关设置 三、解压MyCollab源码,导入Eclipse          选择Maven->Existing Maven Project 选择MyCollab的所有maven组件,导入即可     maven处理过程中需要下载相应的插件,下载安装即可。     完成后,修改如下数据库配置,生成安装包及其他脚本执行的时候会用到测试库。          在代码编译完成之后,右键点击 mycollab-deployer-community -> run as -> maven install 可打包整个MyCollab工程。     打包完成后,mycollab-app-community\target 下会生成对应的zip程序包。          生成 MyCollab-5.4.10.zip 包          四、Eclipse中运行项目     该项目集成了jetty服务器,可直接通过如下方式运行。     mycollab-app-community 模块下的 com.mycollab.server.DefaultServerRunner 类,直接执行main方法。...
MaDFroG 发布于 2个月前 阅读 45

Git集中式工作流

像Subversion一样,集中式工作流以中央仓库作为项目所有修改的单点实体。相比SVN缺省的开发分支trunk,Git叫做master,所有修改提交到这个分支上。该工作流只用到master这一个分支。
楠木楠 发布于 5天前 阅读 5

msscript 64位找不到的替代方法

最近在维护以前的旧C#工程项目中,发现了一个使用了msscript控件的问题。该工程移植到64位系统中,进行编译的时候,发现MSSCript没有64位的控件。经查询msdn,发现MS没有继续提供该控件的64bit版本。但是发现了一个第三方的解决方案:Tablacus Script Control,按说明安装后,再次编译(无需任何代码改动),发现可以编译成功。  
hxapp2 发布于 2个月前 阅读 5

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

关于IT信息化的一些感想

信息化这个概念现在到处都是,凡是与计算机相关的都要扯上信息化,特别是当前的智能制造,IT软件是必不可以少的基础建筑。但是信息化到什么程度,才算是真正的信息化,没有一个统一的定论。但信息化是一个全局性的问题,有很多需要考虑的问题,只能真正将各方面考虑到了才有可能将信息化工作做到位。
长沙大东家 发布于 3周前 阅读 141 点赞 1

Jboot发布啦,如果你做微服务架构,你应该看看。

Jboot发布啦   Jboot是什么呢? 详情地址地址:https://git.oschina.net/fuhai/jboot jboot是一个类型springboot的开源框架,基于jfinal和undertow等非常优秀的、已经在商业项目中应用多年的、有良好口碑的、性能非常不出的诸多框架开发而成。 Jboot是一个新的轮子,但是是集大家之所长的一个极度好用的轮子。 如何使用Jboot呢? 第一步:maven依赖。 <dependency> <groupId>io.jboot</groupId> <artifactId>jboot</artifactId> <version>1.0-alpha3</version> </dependency>   第二步:coding 废话,都低coding都支持什么样的coding,有什么样的好处呢?   我们从几个方面来看: 一、mvc @RequestMapping("/") public class MyController extend JbootController{    public void index(){ renderText("hello jboot"); } public static void main(String [] args){ Jboot.run(args); } }   启动main方法,然后访问 http://127.0.0.1:8088,然后你就能看到浏览器输出:hello jboot.   怎么样?是否极度简单呢?   我们继续.     二、数据库查询。 表结构:   CREATE TABLE `user` (   `id` int(11) uns...
michaely 发布于 2个月前 阅读 2263 评论 21 点赞 6

odoo 10 的 两个模块分析和细微改动

今天帮一个学生写的, 贴出来吧 ,因为他们不需要掌握很深入的知识,所以写的比较浅显。 ================一,针对一个模块--maintenance 进行分析=========== 资源不是没有, 而是很多,在odoo的内部就有很多的模块,功能已经十分的强大,关键是我们是否知道它的意思 至于odoo 系统的 整体构架 , 需要大家有时间的时候多去查资料,自己体会这里,我们就针对一个小的模块做一个分析 一个 自定义模块的定义,安装到odoo中 ,在odoo中怎么被发现识别 ,更新. odoo 模块的路径 , 针对 绿色odoo10,默认有两个  一个是  GOdoo10\source\addons\  这个是系统标准模块, 自带的模块存放路径 另一个 是 GOdoo10 \myaddons\  一般用户自定义的模块存放目录 。 Q  模块安装了没有识别是怎么回事,?  怎么处理 ? 1 激活开发者模式, 2 更新  3 在应用中,输入自定义模块的名称 查找  Q  模块升级后 因为语法或者其他原因 ,导致odoo系统崩溃,怎么处理 ? 一般的处理措施有 : 1 卸载,  2  取消安装 3  修正代码,  重启odoo 4  错误已经非常严重, 重启odoo 也不行 ,只有删除了当前的数据库, 5  当然如果你这个模块错误导致就算删除数据库也启动不了,暂...
深圳市唤梦科技 发布于 2个月前 阅读 79

tangyuan-mongo,使用SQL语法访问MongoDB

## 1. 介绍 tangyuan-mongo是tangyuan框架中的MONGO服务组件,tangyuan-mongo组件将一系列的Mongo操作封装成Tangyuan中的服务,并提供统一的方式进行访问;同时还提供以SQL语法的方式访问Mongo。 ![示意图](http://www.xson.org/project/mongo/1.2.0/images/01.png) 项目源码: 官网地址: ## 2. 使用SQL语法访问Mongo 如果我们要查询性别为女性,年龄在18岁到28岁之间的用户,如果使用Mongo原始的语法,我们需要这样写: db.user.find({"gender":"Female", "age":{"$gte":18, "$lte":28}}) 现在,我们可以使用下面的方式: select * from user where gender = 'Female' and age >= 18 and age <= 28 是不是感觉就像SQL查询?是的没错,tangyuan-mongo就是提供以SQL语法的方式访问Mongo。 ## 3. 支持的SQL语法 ### 3.1 插入 > 语法 INSERT INTO tbl_name (col_name,...) VALUES (col_value,...) > 示例 INSERT INTO user_info(id, name, age, amount) VALUES(1, 'xsonorg', 18, 1000); > 解析后Mongo语法 db.user_info.insert({ "id" : 1 , "name" : "xsonorg" , "age" : 18 , "amount" : 1000}) ### 3.2 查询 > 语法 SELECT {col_name | expr}, ... [FROM tbl_name [WHER...
xson_org 发布于 7天前 阅读 173 评论 4

xson 1.0.2 发布,新增byte[] buffer,支持XCO

## 1. 项目介绍 ![Xson](http://www.xson.org/project/xson/1.0.2/images/00.png) Xson是一个Java对象序列化和反序列化框架。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 官网地址: 项目地址: ## 2. 新版本特性 1. 新增`buffer`包,此包中的相关类提供对序列化过程中的byte[]进行分配、使用、回收的管理;进一步提供序列化的速度,并减少Full GC。 2. 提供带有偏移内容的API支持; 3. 提供XCO对象序列化和反序列的支持; 4. 提供扩展配置文件的支持; ## 3. 使用教程 ### 3.1 基本使用 > a. 添加依赖 org.xson xson 1.0.2 > b. 序列化 User user = new User(); // set... byte[] data = XSON.encode(user); > c. 反序列化 // byte[] data User user = XSON.decode(data); > d. 带有偏移内容的序列化和反序列化 ![偏移内容](http://www.xson.org/project/xson/1.0.2/images/01.png) int x = 6; User user = new User(); // set... byte[] data = XSON.encode(x, user); // byte[] data User user = XSON.decode(x, data); ### 3.2 配置文件 > 1.xson.properties文件配置示例: # Support for XCO xco=true # ByteArrayManager configuration by...
xson_org 发布于 3周前 阅读 702 评论 2

Cboard开源BI商业智能的新秀,从数据库到图表生成,简单!

此文根据CBoard官方文档整理 原文地址:https://github.com/yzhang921/CBoard/wiki/%E4%B8%AD%E6%96%87%E6%96%87%E6%A1%A3 系统需求 Before the start, make sure you have setup environment: JDK version above 1.8 MySQL Maven Tomcat Phantomjs (for export dashbaord) Mail Servier How to build project 1 Download or git clone project git clone https://github.com/yzhang921/CBoard.git 2 Install metadata of CBoard (take MySQL database as example) 2.1 Install demo metadata and sample foodmart db Download cboard_demo & foodmart Enter into the path of these two files Use MySQL Command Line tool login and execute source cboard_demo.sql source foodmart.sql After success completed, check if cboard_demo2 and foodmart2 databases have been created 2.2 You can alternative choose start from a blank settingmysql -- CREATE DATEBASE cboard; Execute ddl to create metadata table: sql/mysql/mysql.sql 3 Modify metadata connection properties file according to your db environment CBoard/src/main/resources/config.prop...
gugudu 发布于 1个月前 阅读 89

在OSChina免费的码云平台上使用git管理自己的代码

在github上可以免费git上传和版本管理自己的代码,可惜要公开代码,私有的代码git是要收费的,而OSChina的码云平台即使是不公开代码,也可以免费使用,对于日常的一些代码管理就很实用了,我一直在找这种免费的,发现码云应该算里面很方便的 码云使用也很简单。我现在本机下载安装了TortoiseGit(即俗称的海龟Git),安装时会自动提示还需要安装git(其实我也不完全知道为什么),会提示推荐了一种git,我就是直接到TortoiseGit推荐的Git网站上下了一个安装包,安装好了后继续安装TortoiseGit就可以了。 然后登录码云,在码云上新建一个项目 然后复制HTTPS网址,如下图 然后再本地电脑上任意位置新建一个文件夹,点击右键,选择Git clone,在弹出框中输入如下图 会看到可爱的海龟Git开始自动运行,并把网站上新建的项目唯一的文件README.md下载到本地,接下来我们就可以在文件夹中新建项目文件,并且提交到码云。具体方法是选中新建的文件,点击鼠标右键,先选择TortoiseGit > add,然后选择Git commit -> “master”,在弹出框中再点“push”按钮,再点ok。然后刷新码云,就可以看到文件已上传到码云,一切都ok了...
maketc 发布于 3天前 阅读 3

linux下redis安装配置及redis常用命令

linux redis 安装配置
王小盼 发布于 3个月前 阅读 40

ubuntu处理openproj不能使用问题

### 安装 Download openproj from http://sourceforge.net/projects/openproj/ Yes, you can only download the rpm file. But you can also install it in Ubuntu via alien. sudo apt-get install alien sudo alien -i openproj.rpm ### 错误 Your Java vendor is "Oracle Corporation". To run OpenProj, you need the Sun Java implementation. The auto-detected Java Runtime used is.. ### 解决办法 修改$HOME/.openproj/run.conf,将JAVA_OPTS="-Xms128m -Xmx768m"改为AVA_OPTS="-Djava.vendor=Sun -Xms128m -Xmx768m",最后重启openproj
影狼 发布于 2周前 阅读 10

《AOSuite G1开发手册》之AOSuite G1开发环境搭建

AOSuite开发套件基于JavaEE技术体系,以“标准功能可复用、通用模块可配置、行业需求快速开发、异构系统无缝集成”为目标, 帮助企业落实IT策略、屏蔽技术壁垒,快速实现可水平扩展的高性能高可用业务愿景。 为传统软件企业和互联网企业研发团队提供高效可控、随需应变、快速实现业务需求的全栈式技术解决方案,以最低成本和最低风险获得更高质量、更快交付业务和运维支持的核心技术竞争力。
afghan007 发布于 3个月前 阅读 316 评论 1 点赞 1

Activiti5简单使用

一、Activiti 的 25 张表的两种创建方式 /**      * 生成Activiti需要的25表      */     @Test     public void testCreateTable(){ ProcessEngineConfiguration pec=ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration(); // 获取流程引擎配置         pec.setJdbcDriver("com.mysql.jdbc.Driver"); // 配置驱动         pec.setJdbcUrl("jdbc:mysql://localhost:3306/db_activiti"); // 配置连接地址         pec.setJdbcUsername("root"); // 用户名         pec.setJdbcPassword("root"); // 密码         /**          * 配置模式  true 自动创建和更新表          */         pec.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE);                  // 获取流程引擎对象         ProcessEngine pe=pec.buildProcessEngine();      }          /**      * 生成Activiti需要的25表 使用配置文件      */ 在resources下新建一个activiti.cfg.xml文件  文件内容如下 <?xml version="1.0" encoding="UTF-8"?> <bean...
xiaozhou18 发布于 2个月前 阅读 50

JS下载文件的方法(浏览器兼容)

JS下载图片的浏览器兼容办法
帅的不像男的 发布于 3个月前 阅读 48

JS遍历EL表达式List中的值

EL表达式不可以使用JS中的变量,EL表达式是一个整体
帅的不像男的 发布于 3个月前 阅读 20

IJPay 让支付触手可及

原文地址 IJPay GitHub:https://github.com/Javen205/IJPay OSchina:http://git.oschina.net/javen205/IJPay JPay、微信、支付宝App支付-JPay0.0.2发布 是对微信App支付、支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调 IJPay是JPay服务端-实现微信、支付宝系列支付
yangwr1019 发布于 2个月前 阅读 48

Spring 生态圈

Spring FramWork     spring framwork是spring社区的发起项目  spring社区所有项目都是围绕此项目展开/发展而来;Spring Framework提出了两个核心思想 依赖注入和面向切点编程; Spring IO Platform     当我们需要使用Spring+第三方包的时候往往会因为版本冲突问题而烦恼;那么此项目主要是结合构建工具(Maven Gradle)使用;     Spring IO主要管理的第三方jar依赖列表:https://docs.spring.io/platform/docs/Brussels-SR3/reference/htmlsingle/ 在此文档中可以找到;   Spring Boot     是Spring社区的新星只秀,为什么这么说呢  主要是使用了Spring Boot之后,我们创建和使用Spring得到了极大的简化(配置简化);这也是Spring发展的一个方向  让开发人员摆脱复杂的配置;     不仅如此,在此项目中还嵌入了J2ee容器   为我们开发带来极大的方便;     Spring Boot的核心亮点在于除了上面说的简化配置(采用默认配置) 嵌入容器还有就是actuator,他能对我们web容器运行状态 以及访问请求进行记录;   Spring Cloud Data Flow     从名字可以看出,此项目是关于数据流的;此项目是在SpringXD项目基础之上重构而来!主要是解决Spring对大数据产品的结...
天呀鲁哇 发布于 1个月前 阅读 28

Visual Studio Code使用笔记

今天体验了下Visual Studio Code,不论是界面还是使用过的体验,真的挺舒服!感觉是心目中的IDE,给个赞!特此记下使用的体验! 快捷键 只罗列一些常用的! 复制: Ctrl+C Ctrl+V如果不选中,默认复制或剪切一整行 上下移动一行: Alt+Up 或 Alt+Down 向上向下复制一行: Shift+Alt+Up或Shift+Alt+Down 在当前行下边插入一行Ctrl+Enter 在当前行上方插入一行Ctrl+Shift+Enter 移动到文件结尾:Ctrl+End 移动到文件开头:Ctrl+Home 移动到行首:Home 移动到行尾:End 找到所有的引用:Shift+F12 同时修改本文件中所有匹配的:Ctrl+F12 查找 Ctrl+F 查找替换 Ctrl+H 整个文件夹中查找 Ctrl+Shift+F VS Code与Python 安装python插件 打开VScode,Ctrl+p 输入 "ext install python",搜索时间可能会比较长 选择下载量最高的那个插件点击安装 配置flake8 安装flake8之后写代码的时候编辑器就会提示哪里出错,代码格式不规范也会提示 打开命令行 输入 "pip install flake8" 安装flake8成功后,打开VScode,文件->首选项->用户设置,在settings.json文件中输入"python.linting.flake8Enabled": true 配置yapf 安装yapf之后在VScode中按Alt+Shift+F即可自动格式化代码 打开命令行 ...
楠木楠 发布于 2个月前 阅读 76

重要通知|针对新一轮比特币勒索蠕虫病毒的安全建议。

原文链接   6月27日晚间,一波大规模勒索蠕虫病毒攻击重新席卷全球。 雷锋网报道,欧洲、俄罗斯等多国政府、银行、电力系统、通讯系统、企业以及机场都不同程度的受到了影响。 阿里云安全团队第一时间拿到病毒样本,并进行了分析: 这是一种新型勒索蠕虫病毒。电脑、服务器感染这种病毒后会被加密特定类型文件,导致系统无法正常运行。 目前,该勒索蠕虫通过Windows漏洞进行传播,一台中招可能就会感染局域网内其它电脑。 一、Petya与WannaCry病毒的对比 1、加密目标文件类型 Petya加密的文件类型相比WannaCry少。 Petya加密的文件类型一共65种,WannaCry为178种,不过已经包括了常见文件类型。 2、支付赎金 Petya需要支付300美金,WannaCry需要支付600美金。 二、云用户是否受影响? 截止发稿,云上暂时未发现受影响用户。 6月28日凌晨,阿里云对外发布了公告预警。   三、勒索病毒传播方式分析 Petya勒索蠕虫通过Windows漏洞进行传播,同时会感染局域网中的其它电脑。电脑感染Petya勒索病毒后,会被加密特定类型文件,导致电脑无法正常运行。 阿里云安全专家研究发现,Petya勒索病毒在内网系统中,主要通过Windows的协议进行横向移动。 主要通过Windows管理体系结构(M...
_夜枫 发布于 2个月前 阅读 7

【重大更新】DevExpress v17.1新版亮点(Data Access篇)

用户界面套包DevExpress v17.1日前正式发布,本站以连载的形式为大家介绍各版本新增内容。本文为大家介绍Data Access v17.1中新的表达式编辑器、增强的安全性功能和XPO等。快来下载试用新版本! 新的表达式编辑器 v17.1引入了一个新的表达式编辑器,具有内置对IntelliSense支持、更新UI和全面的自定义选项。 增强安全性功能 数据库凭证序列化 使用此版本,您可以指定是否将数据库凭据与文档数据(报告和仪表板布局)一起序列化。 您还可以允许最终用户在运行时指定所需的操作。 XPO 在XPO OData Service中支持Non-Persistent属性 使用新版本,可以使用XPO OData Service加载non-persistent属性值。想要启用此功能,请将Visible属性应用于non-persistent属性。XPO Odata Service将自动执行与此属性关联的自定义业务逻辑,并将生成的值返回给客户端。 Data Access v17.1详细更新(英文) =============================================================== DevExpress v17.1正式发布,更多精彩内容及最新资讯请关注DevExpress中文网! 扫描关注DevExpress中文网微信公众号,及时获取最新动态及最新资讯...
Miss_Hello_World 发布于 2个月前 阅读 11

搭建基于Eclipse的MyCollab开发环境

一、下载MyCollab源码     下载地址:https://github.com/MyCollab/mycollab 二、准备Eclipse及插件     下载Eclipse并安装scala插件,避免麻烦我直接下载了Scala IDE。(下载地址:http://scala-ide.org/download/sdk.html)             MyCollab需要JDK 1.8,设置Eclipse的JDK版本为1.8,配置maven相关设置 三、解压MyCollab源码,导入Eclipse          选择Maven->Existing Maven Project 选择MyCollab的所有maven组件,导入即可     maven处理过程中需要下载相应的插件,下载安装即可。     完成后,修改如下数据库配置,生成安装包及其他脚本执行的时候会用到测试库。          在代码编译完成之后,右键点击 mycollab-deployer-community -> run as -> maven install 可打包整个MyCollab工程。     打包完成后,mycollab-app-community\target 下会生成对应的zip程序包。          生成 MyCollab-5.4.10.zip 包          四、Eclipse中运行项目     该项目集成了jetty服务器,可直接通过如下方式运行。     mycollab-app-community 模块下的 com.mycollab.server.DefaultServerRunner 类,直接执行main方法。...
MaDFroG 发布于 2个月前 阅读 45

Git Forking工作流

Forking这种工作流不是使用单个服务端仓库作为『中央』代码基线,而让各个开发者都有一个服务端仓库。这意味着各个代码贡献者有2个Git仓库而不是1个:一个本地私有的,另一个服务端公开的。
楠木楠 发布于 5天前 阅读 7

PHP 数组遍历 foreach 语法结构

PHP 数组遍历 foreach 语法结构 foreach 语法结构用于遍历数组。 foreach() PHP foreach() 语法结构用于遍历操作或输出数组,foreach() 仅能用于遍历数组或对象,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。 语法: foreach (array as $value) statement // 或者: foreach (array as $key => $value) statement 上述语法中,每次循环将当前单元的值赋给 $value 并且数组内部的指针向前移一步。在第二种语法格式中还将当前单元的键名也会在每次循环中赋给变量 $key。 例子: <?php $arr_age = array("wang"=>18, "li"=>20, "zhang"=>25); foreach ($arr_age as $age) { echo $age,'<br />'; } ?> 运行该例子输出: 18 20 25 使用数组键值 <?php $arr_age = array("wang"=>18, "li"=>20, "zhang"=>25); foreach ($arr_age as $key=>$age) { echo $key,': ',$age,'<br />'; } ?> 运行例子输出: wang: 18 li: 20 zhang: 25 提示 当 foreach 开始执行时,数组内部的指针会自动指向第一个单元,这意味着不需要在 foreach 循环之前调用 reset()。 foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。对返回的数组单元的修改也不会影...
wenjin312 发布于 14小时前 阅读 1

73款阿里巴巴开源软件详解!

详细解读阿里巴巴开源技术,包括框架、组件、引擎、数据库/存储、平台/系统、解决方案、工具、中间件、Web Sever、设计等十大类73款!
阿里巴巴

干货分享!DevExpress v17.1最新版帮助文档下载大全

DevExpress v17.1.5帮助文档下载列表大全来啦!包含.NET、VCL、HTML/JS系列所有帮助文档,提供CHM和PDF两个版本。除已停止更新的Silverlight、Windows 8外,其余均为最新版本。 .NET: 版 本 CHM格式 PDF格式 WinForms Controls 下载DevWinForms帮助文档(CHM) 下载DevWinForms帮助文档(PDF) ASP.NET Controls 下载DevASP.NET帮助文档(CHM) 下载DevASP.NET帮助文档(PDF) WPF Controls 下载DevWPF帮助文档(CHM) 下载DevWPF帮助文档(PDF) Silverlight Controls 下载DevSilver帮助文档(CHM) 下载DevSilver帮助文档(PDF) Reporting 下载DevReport帮助文档(CHM) 下载DevReport帮助文档(PDF) Windows 8 XAML Controls 下载DevWin8帮助文档(CHM) 下载DevWin8帮助文档(PDF) Windows 10 App Controls 下载DevWin10帮助文档(CHM) 下载DevWin10帮助文档(PDF) Document Server 下载DevDoc帮助文档(CHM) 下载DevDoc帮助文档(PDF) CodeRush Classic 下载CodeRush Classic帮助文档(CHM) 下载CodeRush Classic帮助文档(PDF) CodeRush For Roslyn 下载DevCode帮助文档(CHM) 下载DevCode帮助文档(PDF) Dashboard 下载DevDash帮助文档(CHM) 下载DevDash帮助文档(PDF) Report Server 下载DevRS...
Miss_Hello_World 发布于 19小时前 阅读 6

在OSChina免费的码云平台上使用git管理自己的代码

在github上可以免费git上传和版本管理自己的代码,可惜要公开代码,私有的代码git是要收费的,而OSChina的码云平台即使是不公开代码,也可以免费使用,对于日常的一些代码管理就很实用了,我一直在找这种免费的,发现码云应该算里面很方便的 码云使用也很简单。我现在本机下载安装了TortoiseGit(即俗称的海龟Git),安装时会自动提示还需要安装git(其实我也不完全知道为什么),会提示推荐了一种git,我就是直接到TortoiseGit推荐的Git网站上下了一个安装包,安装好了后继续安装TortoiseGit就可以了。 然后登录码云,在码云上新建一个项目 然后复制HTTPS网址,如下图 然后再本地电脑上任意位置新建一个文件夹,点击右键,选择Git clone,在弹出框中输入如下图 会看到可爱的海龟Git开始自动运行,并把网站上新建的项目唯一的文件README.md下载到本地,接下来我们就可以在文件夹中新建项目文件,并且提交到码云。具体方法是选中新建的文件,点击鼠标右键,先选择TortoiseGit > add,然后选择Git commit -> “master”,在弹出框中再点“push”按钮,再点ok。然后刷新码云,就可以看到文件已上传到码云,一切都ok了...
maketc 发布于 3天前 阅读 3

使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(二)

MyEclipse限时秒杀!活动火热开启中>> 【MyEclipse最新版下载】 二、创建一个Session EJB – Part 1 MyEclipse中的EJB 2.x开发使用了EJB向导和集成XDoclet支持的组合。 每个EJB由三个基本部分组成: EJB Remote接口类声明业务操作对客户端可用 EJB实现类,也称为bean类,其中包含业务逻辑 EJB Home界面类,它控制bean的生命周期 bean类是主要的实现问题,因为它提供了EJB的功能。从使用XDoclet注释的bean类中,可以自动生成bean的Remote和Home接口以及ejb-jar.xml部署描述符中的EJB条目。2-part示例演示了创建名为Trader EJB的无状态会话bean的过程。Part 1重点介绍使用MyEclipse EJB Creation向导和XDoclet支持来创建基本的可部署Trader EJB。 Part 2介绍了向Trader EJB实施业务服务或功能的过程。 Trader EJB示例为销售和购买股票提供了简化的服务。由于本文档的范围是对MyEclipse EJB开发功能的快速介绍,因此Trader EJB不会处理事务或集成企业资源(如数据库或消息队列)。 首先使用EJB创建向导创建Trader bean实现类。 在创建Trader bean类之后,您将生成Remote和Home接口以及bean的ejb-jar.xml条目。 1. 在资源管理器中选择firstejb项目,选择File>New>Other。 2. 展...
Miss_Hello_World 发布于 3天前 阅读 2

Git Forking工作流

Forking这种工作流不是使用单个服务端仓库作为『中央』代码基线,而让各个开发者都有一个服务端仓库。这意味着各个代码贡献者有2个Git仓库而不是1个:一个本地私有的,另一个服务端公开的。
楠木楠 发布于 5天前 阅读 7

Git集中式工作流

像Subversion一样,集中式工作流以中央仓库作为项目所有修改的单点实体。相比SVN缺省的开发分支trunk,Git叫做master,所有修改提交到这个分支上。该工作流只用到master这一个分支。
楠木楠 发布于 5天前 阅读 5

Git功能分支工作流

功能分支工作流背后的核心思路是所有的功能开发应该在一个专门的分支,而不是在master分支上。这个隔离可以方便多个开发者在各自的功能上开发而不会弄乱主干代码。另外,也保证了master分支的代码一定不会是有问题的,极大有利于集成环境。
楠木楠 发布于 5天前 阅读 4

Git Pull Request工作流

Pull Request(PR)简单的说就是你没有权限往一个特定的仓库或分支提交代码,你请求有权限的人把你提交的代码从你的仓库或分支合并到指定的仓库或分支。
楠木楠 发布于 5天前 阅读 4

日常错误小结

     1、SVN 提交时一定要先更新再提交,并且只提交自己的部分。 2、当入参为选填时,按下面的格式写。     @RequestParam(value="bannerGroup",required=false,defaultValue="") String bannerGroup BannerController 3、连表查询时 排序怎么排? 4、如果一个 mapper 文件出现问题,那么在你运行时会优先报错,哪怕这个 mapper 文件跟你测试的类无关也一样。 5、SQL 语句报无效数字有可能是参数问题。 6、SVN 更新后提交代码依然失败时,Clean up 一下。 7、写动态 sql 时除非特殊要求,否则不要涉及业务逻辑,只判断  !=null and !='' 8、还原之前先把自己未提交新写的部分备份。 9、报未找到 Controller 里引用的 Biz 层接口时,可能是因为 Biz 实现类没加 @Service. 10、SVN 出现问题时,选中文件夹,clean up. 11、标识符无效在字段全对应的情况下也有可能是因为查错了表。 12、违反唯一约束条件就是唯一字段新增时出现重复。 13、<Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>     tomcat server.xml 文件中,缺少 URIEncoding="UTF-8" 会导致 Java 代码插入数据库数据出现时中文乱码...
宇哥v587 发布于 5天前 阅读 5

MES 系统

  领先的MES解决方案供应商 FTPC FactoryTalk ProductionCentre (FTPC)是罗克韦尔自动化的MES平台软件,基于SOA架构,J2EE技术。 该软件完全符合S95标准,提供了丰富的业务对象,如生产线、在制品、设备、路经等,具有强大的建模能力。在提供了丰富的应用模块,如供应商管理、跟踪与追溯、SPC、CAPA、RMA等功能模块的同时,用户也可以在FTPC的开放二次开发环境中定制开发自己的需求。 由于不同行业的生产和管理流程不同,用户对MES的需求也不同。针对汽车、制药、消费品等行业罗克韦尔自动化已经在FTPC平台上提供了对应的Pharma Suite、CPG Suite、Auto Suite解决方案。 作为罗克韦尔自动化FactoryTalk 软件的一员,FTPC可以和罗克韦尔自动化的其他任何一款软件无缝集成,共享数据和基础服务,这种架构为打造完全的企业生产信息系统提供了强有力的手段。 FTPC提供各种接口技术以实现和企业上层信息系统(如ERP)及下层生产控制设备(如第三方PLC)的集成。 目前FTPC在全球和中国已有广泛应用案例,在汽车、食品饮料、电子、半导体等行业发展迅速。 其特点是: 基于J2EE架构 FTPC的架构体系自下而上分为四层:数据层、商业逻辑层、web层和客户端层 公司简要:  ...
诺岚 发布于 6天前 阅读 5

微信一样的即时聊天系统——社交系统ThinkSNS功能详解

**什么是ThinkSNS+** ThinkSNS(简称TS),一款全平台综合性社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+。 在web端,用户收到的即时聊天消息会显示在消息栏,消息会有提示,用户点击相应联系人,即可回复私信。 Web端发起聊天有两个地方: 1、个人主页,点击“发私信” 2、右侧信息栏点击“联系人”。选择对应人员,发起聊天即可 PC端聊天信息框.png APP端: 发起聊天(单聊和群聊):1、个人主页,点击“聊天”按钮即可发起聊天 2、消息页面右上角点击发起聊天按钮,选择聊天人员,可以直接创建单聊或者群聊 3、在聊天列表内,单聊的聊天进入“聊天室信息”可以添加人员,创建群聊 2发起聊天功能.PNG 聊天界面: 1录制语音界面 - 副本.PNG 聊天室信息修改:群名、增加删除人员、修改群聊封面、删除聊天;单聊则可以增加人员创建新群聊 3聊天室信息编辑页面.PNG 想要了解更多请咨询电话: 18108035545(同微信);028-82884828 QQ:3298713109(←授权购买、二次开发、技术孵化、定制开发、产品功能规划、技术支持、商务合作等都找她) ThinkSNS官网:[http://www.thinksns.com/](http://www.thinksns.com/) 市场合作邮...
ThinkSNS账号 发布于 6天前 阅读 6

Code::Blocks设定相关

本来想一条动弹记录一下的,但是动弹有字符限制,干脆一不做二不休,开一篇文章吧,以后与Code::Blocks相关的东西都记录到这。
小保哥 发布于 6天前 阅读 3

tangyuan-mongo,使用SQL语法访问MongoDB

## 1. 介绍 tangyuan-mongo是tangyuan框架中的MONGO服务组件,tangyuan-mongo组件将一系列的Mongo操作封装成Tangyuan中的服务,并提供统一的方式进行访问;同时还提供以SQL语法的方式访问Mongo。 ![示意图](http://www.xson.org/project/mongo/1.2.0/images/01.png) 项目源码: 官网地址: ## 2. 使用SQL语法访问Mongo 如果我们要查询性别为女性,年龄在18岁到28岁之间的用户,如果使用Mongo原始的语法,我们需要这样写: db.user.find({"gender":"Female", "age":{"$gte":18, "$lte":28}}) 现在,我们可以使用下面的方式: select * from user where gender = 'Female' and age >= 18 and age <= 28 是不是感觉就像SQL查询?是的没错,tangyuan-mongo就是提供以SQL语法的方式访问Mongo。 ## 3. 支持的SQL语法 ### 3.1 插入 > 语法 INSERT INTO tbl_name (col_name,...) VALUES (col_value,...) > 示例 INSERT INTO user_info(id, name, age, amount) VALUES(1, 'xsonorg', 18, 1000); > 解析后Mongo语法 db.user_info.insert({ "id" : 1 , "name" : "xsonorg" , "age" : 18 , "amount" : 1000}) ### 3.2 查询 > 语法 SELECT {col_name | expr}, ... [FROM tbl_name [WHER...
xson_org 发布于 7天前 阅读 173 评论 4

bboss持久层开启和关闭自带主键机制

bboss通过tableinfo表提供了一种通用的主键生成机制,bboss 3.0.3.6以后的版本在poolman.xml中提供控制参数needtableinfo来开启和关闭这个机制,默认是关闭的,本文介绍needtableinfo的配置方法
bboss 发布于 7天前 阅读 11

使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(一)

MyEclipse限时秒杀火热进行中,仅限15天!!活动火热开启中>> 【MyEclipse最新版下载】 一、创建一个EJB项目 1. 选择File>New Project,选择EJB Project,然后单击Next。 2. 在Project name字段中输入firstejb。 3. 为Specification Level选择J2EE 1.3选项,从目标运行时的下拉列表中选择MyEclipse Generic Runtime for J2EE 1.3,然后单击Next。 创建一个新的EJB项目 Project Name – 必须是有效的Eclipse Java项目名称。 Location – 取消选中复选框,为新项目及其资源指定自定义文件系统的位置。 Directory – 该项目的默认文件系统位置位于MyEclipse启动的工作空间文件夹下,您可以在工作空间文件夹之外选择另一个文件位置。 注意:您不能在工作区文件夹中选择备用文件夹,因为Eclipse不允许这样。 Source Folder – Java源文件夹将包含Java包、*.java文件和属性文件。 此文件夹的内容将添加到项目的Java构建路径中。 注意:如果指定了非默认值,则需要相应地更新本文档中的XDoclet默认设置。 JEE Specification Level – 指定JEE规范合规级别。确保为应用程序需要的JEE功能选择适当的规范级别,并且您的目标部署应用程序服务器支持此规范级别。 4. 单击默认的...
Miss_Hello_World 发布于 7天前 阅读 3

IO编程:http与socket区别

HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通过session/cookie技术来解决此问题。 Socket:Socket不属于协议范畴,而是一个调用接口(API),Socket是对TCP/IP协议的封装,通过调用Socket,才能使用TCP/IP协议。Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。 http://www.cnblogs.com/meier1205/p/5971313.html
wiitht 发布于 1周前 阅读 11

SpringBoot:深入探索内嵌tomcat启动流程

1.SpringBoot启动过程中所涉及的类: springApplication -> run stopwatch AnnotationConfigApplicationContext: register, refresh -> AbstractApplicationContext -> refresh AnnotationConfigEmbeddedWebApplicationContext XmlBeanDefinitionReader RepositoryConfigurationDelegate ClassPathMapperScanner ConfigurationClassPostProcessor GenericScope AutowiredAnnotationBeanPostProcessor TomcatEmbeddedServletContainer StandardService StandardEngine WebApplicationContext ContextLoader ServletRegistrationBean FilterRegistrationBean RequestMappingHandlerMapping EndpointHandlerMapping SimpleUrlHandlerMapping RequestMappingHandlerAdapter ExceptionHandlerExceptionResolver arterDeprecationWarningAutoConfiguration URLConfigurationSource AnnotationMBeanExporter DefaultLifecycleProcessor DocumentationPluginsBootstrapper ApiListingReferenceScanner CachingOperationNameGenerator TomcatEmbeddedServletContainer Application 2.初步分析SpringBoot启动过程 先看看在SpringApplication.run方法做了什么: public Configurable...
wiitht 发布于 1周前 阅读 14

Spring: 代理模式JDK, CGlib, ASM

http://www.360doc.com/content/14/0801/14/1073512_398598312.shtml  http://www.cnblogs.com/liuling/archive/2013/05/25/asm.html  http://blog.csdn.net/catoop/article/details/50629921
wiitht 发布于 1周前 阅读 8

ETCD轮换使用场景与工作原理(学习笔记)

ETCD使用案例 据公开资料显示,至少有CoreOS, Google Kubernetes(K8S), Cloud Foundry, 以及在Github上超过500个项目在使用ETCD。   ETCD是什么     etcd是一个高可用的键值存储系统,主要用于共享配置和服务发现。etcd是由CoreOS开发并维护的,灵感来自于 ZooKeeper 和 Doozer,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性,在Raft中,任何一个节点都可能成为Leader。     etcd 集群的工作原理基于 raft 共识算法 (The Raft Consensus Algorithm)。etcd 在 0.5.0 版本中重新实现了 raft 算法,而非像之前那样依赖于第三方库 go-raft 。raft 共识算法的优点在于可以在高效的解决分布式系统中各个节点日志内容一致性问题的同时,也使得集群具备一定的容错能力。即使集群中出现部分节点故障、网络故障等问题,仍可保证其余大多数节点正确的步进。甚至当更多的节点(一般来说超过集群节点总数的一半)出现故障而导致集群不可用时,依然可以保证节点中的数据不会出现错误的结果。   服务发现(Service Discovery) 服务发现了解集群...
ND小龙 发布于 1周前 阅读 4

Mongo之ObjectId原理(学习笔记)

ObjectId     ObjectId 是"_id" 的默认类型。它设计成轻量型的,不同的机器都能用全局唯一的同种方法方便地生成它。这时MongoDB 采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因。     MongoDB 从一开始就设计用来作为分布式数据库,处理多个节点是一个核心要求。最重要的是ObjectId 类型在分片环境中容易生成。     ObjectId 使用12 字节的存储空间,每个字节两位十六进制数字,是一个24 位的字符串。          前4 个字节是从标准纪元开始的时间戳,单位为秒。这会带来一些有用的属性。时间戳,与随后的. 5 个字节组合起来,提供了秒级别的唯一性。     这4 个字节也隐含了文档创建的时间。绝大多数驱动都会公开一个方法从ObjectId 获取这个信息。     接下来的3 字节是所在主机的唯一标识符。通常是机器主机名的散列值。这样就可以确保不同主机生成不同的ObjectId,不产生冲突。       前9 字节保证了同一秒钟不同机器不同进程产生的ObjectId 是唯一的。后3 字节就是一个自动增加的计数器,确保相同进程同一秒产生的ObjectId 也是不一样的。同一秒钟最多允许每个进程拥有2563(16 777 216)个不同的ObjectI...
ND小龙 发布于 1周前 阅读 5

微服务开发的入门级框架Spring Boot详解(二)

1、Spring Boot的属性配置文件         1.1 Spring Boot的属性配置文件的第一种形式             使用properties配置文件,如下两个属性的含义是更改访问端口为8081,并且加了一个contextPath,可以理解为在地址栏多加层地址。 server.port=8081 server.context-path=/joyou                 右键点击DemoApplication.java ——》Run As ——》Spring Boot App启动程序             效果如下,首先从日志上看,端口已经变为8081             浏览器访问效果如下。                 补充:             属性文件是最常见的管理配置属性的方式。Spring Boot 提供的 SpringApplication 类会搜索并加载 application.properties 文件来获取配置属性值。SpringApplication 类会在下面位置搜索该文件: 1.当前目录的/config子目录 2.当前目录 3.classpath 中的/config包 4.classpath 上面的顺序也表示了该位置上包含的属性文件的优先级。优先级按照从高到低的顺序排列。 可以通过spring.config.name这个key的配置属性来指定不同的属性文件名称。也可以通过spring.config.location来添加额外...
二十岁以后 发布于 2周前 阅读 4327 评论 24 点赞 4

开源中国全球专享福利,云栖大会购票大返现!

开源中国为大家带来了全网专享福利!开源中国的会员复制优惠码,在购票时填入,就可以在云栖大会现场开源中国展台处领取现金福利哦!先到先得,赶紧把这个消息传递给好朋友吧,我们云栖大会见!
阿里云栖大会

让Hibernate识别数据库特有字段

Hibernate已经为绝大多数常用的数据库数据类型提供了内置支持,但对于某些数据库的专属字段支持就不够好了。 这些特殊数据类型往往提供了比常规数据类型更好的数据表达能力,更符合我们的业务场景。比如PostgreSQL的Interval类型,可以非常方便的保存一个时间段的数据。 本文以添加Interval类型支持为例,说明为Hibernate添加特有数据类型支持的方法。
XuYuan 发布于 3个月前 阅读 1352 点赞 1

远程过程调用(RPC)详解

本文介绍了什么是远程过程调用(RPC),RPC 有哪些常用的方法,RPC 经历了哪些发展阶段,以及比较了各种 RPC 技术的优劣。
waylau 发布于 1年前 阅读 6023 评论 27 点赞 20

7 款顶级开源 BI(商务智能)软件和报表工具

在这个信息化时代,每分每秒都产生海量数据。在海量数据中,挖掘出有用的数据,并且能以较人性化、直观的方式展示这些数据,变得尤为重要。本文将介绍 7款顶级开源 BI(商务智能)软件和报表工具,用于商业数据的分析处理,希望对您有所帮助。
催呀催呀 发布于 1年前 阅读 6025 评论 22 点赞 25

Spring 4.3 的新功能和增强

本文介绍了 Spring 4.3 的新功能和增强的特性。
waylau 发布于 1年前 阅读 8066 评论 24 点赞 9

用JS实现简单的神经网络算法

笔者尝试用JavaScript实现最简单的神经网络算法。 神经网络简介 神经网络试图模拟大脑的神经元之间的关系来处理信息。它的计算模型通常需要大量彼此连接的节点。每个神经元通过某种特殊的输出函数来处理来自其它相邻神经元的加权输入值。 神经元之间的信息传递的强度,用所谓的加权值来定义,算法会不断的调整加权值来实现自我的学习过程。 神经网络分为多层,如上图,有输入层,隐藏层和输出层。 JS线性代数包 神经网络的计算涉及到大量的矩阵计算,有许多的线性代数的开源的软件,Python下有著名的numpy,非常有名。 Javascript也有几个: http://numericjs.com/index.php https://github.com/jstat/jstat https://mkaz.tech/javascript-linear-algebra-calculator.html  我使用了numericjs,效果还不错。推荐大家可以试试。 两层神经网络 我们有一些简单的输入输出的数据用来训练神经网络。这里每一行代表一条数据。输入有三个参数,输出是一个。 Inputs 0 Inputs 1 Inputs 2 Output 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 0 首先我们实现一个最简单的神经网络,没有隐藏层,输入直连输出。 因为输入是三个参数,输出是一个,所以我们的神经网络输入层是三个节点,输出是1个。...
naughty 发布于 1年前 阅读 3903 评论 9 点赞 6

干货|建议初创团队起初也要构建分布式应用

  干货|建议初创团队起初也要构建分布式应用   本文内容整理自W-Time技术分享沙龙-天津站现场演讲《一切都是分布的》,演讲者:李傲,问啊联合创始人,前中交车联网总架构。   好多人都会问什么是架构师?其实架构师的定义很宽泛,前端后端的定义都不一样。作为后端出身的架构师,我认为后端并不是大家想的封装组件,它要定义的是规划,规划模块之前的关系。在一台机器搞不定时怎么办?答:集群!这词说着很容易,但真要给你,你发现how?怎么去加?   有人问我,架构师要做什么?我认为,架构师就是要在软件起初阶段就能够从情景当中预先想到这问题,通过架构分布式解决方案,预先把问题都埋好。可能有人会说这算不算重度设计?其实所谓重度设计,要看团队的基本能力,如果团队写代码还写不利索的情况下,那么这个设计就很重要。因为不能指望一个代码都没有写过几行的人去写架构,这个是不可能的,做分布式都很难。如果团队能力属于中上层,那么有两种可能:1、团队做过十几年的代码,但架构差一些,那么也会把程序写的非常漂亮,因为对代码有把控能力,对底层的研究比较透彻;2、代码写的并不是很好,但是架构师对新技术有了解,那么也是有可能做好分布式的。如...
刘星石 发布于 1年前 阅读 4161 评论 14 点赞 8

使用开源软件快速搭建数据分析平台

本文介绍了如何使用开源软件迅速的搭建一个数据分析平台,包含数据导入,变形,分析,预测,可视化。
naughty 发布于 1年前 阅读 10846 评论 56 点赞 49

Elasticsearch 2.2.0 分词篇:中文分词

在Elasticsearch中,内置了很多分词器(analyzers),但默认的分词器对中文的支持都不是太好。所以需要单独安装插件来支持,比较常用的是中科院 ICTCLAS的smartcn和IKAnanlyzer效果还是不错的,但是smartcn不支持自定义词库,所以优先用IKAnanlyzer。
赛克蓝德 发布于 2年前 阅读 6264 评论 18 点赞 6

Elasticsearch 2.20 高亮显示

Elasticsearch中的高亮显示是来源于lucene的功能,他允许在一个或者多个字段上突出显示搜索内容, lucene支持三种高亮显示方式highlighter, fast-vector-highlighter, postings-highlighter.
赛克蓝德 发布于 2年前 阅读 7644 评论 6 点赞 5

Elasticsearch 2.20入门篇:聚合操作

聚合(Aggregations)提供分组和统计文档的能力。聚合类似关系数据库中group by分组的功能,在Elasticsearch中,对一次的聚合查询中可以同时得到聚合的具体结果再次进行聚合,这是一个非常有用的功能。你可以通过一次操作得到多次聚合的结果,从而避免多次请求,减少网络和服务器的负担。
赛克蓝德 发布于 2年前 阅读 9347 评论 5 点赞 4

mycat实现mysql读写分离实践

mycat是一个的数据库中间件,基于阿里开源的cobar产品而研发,由几个有志之士的牛人共同完成并开源。提供高可用性数据分片集群,自动故障切换,高可用性 ,支持读写分离,支持Mysql双主多从,以及一主多从的模式 ,支持全局表,数据自动分片到多个节点,用于高效表关联查询 ,支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询多平台支持,部署和实施简单。 今天来实践下用mycat实现mysql的读写分离,1.配置mysql端主从数据同步,2.用mycat实现读写分离,配置mysql端主从数据同步不作讲解,这里详细介绍下用mycat实现数据读写分离 新建数据库读库和写库 分别在两个不同主机下新建两个大库,读库r和写库w,在读库r下新建3个数据库分片(db1,db2,db3),在写库w下也新建3个分片(db1,db2,db3)。 1.db1分片脚本 /* Navicat MySQL Data Transfer Source Server         : mysql Source Server Version : 50527 Source Host           : localhost:3306 Source Database       : db1 Target Server Type    : MYSQL Target Server Version : 50527 File Encoding         : 65001 Date: 2016-01-27 1...
rock912 发布于 2年前 阅读 9879 评论 21 点赞 18

获取spring 的bean 方法总结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?  Bean工厂(com.springframework.beans.factory.BeanFactory)是Spring框架最核心的接口,它提供了高级IoC的配置机制。BeanFactory使管理不同类型的Java对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在BeanFactory基础之上,提供了更多面向应用的功能,它提供了国际化支持和框架事件体系,更易于创建实际应用。我们一般称BeanFactory为IoC容器,而称ApplicationContext为应用上下文。但有时为了行文方便,我们也将ApplicationContext称为Spring容器。    对于两者的用途,我们可以进行简单划分:BeanFactory是Spring框架的基础设施,面向Spring本身;ApplicationContext面向使用Spring框架的开发者,几乎所有的应用场合我们都直接使用ApplicationContext而非底层的BeanFactory。 工厂方式:Resource resource = new ClassPathResource("/applicationContext.xml");              BeanFactory factory = new XmlBeanFactory(resource); factory.getBean(strName);    ApplicationContext的初始化和BeanFactory有...
hello菜bird 发布于 2年前 阅读 8791 评论 16 点赞 8

运维中被低估的日志

日志在运维中的作用是非常重要的,但非常不幸,日志在很多运维中被严重低估,直到磁盘空间不足的时候才想到,这有个大的日志文件把他删了,这样可以节省空间。
赛克蓝德 发布于 2年前 阅读 5383 评论 16 点赞 15 打赏 1

开源进销存PSI - 关于PSI开源协议的一些说明

关于PSI开源协议的一些说明
PSI 发布于 2年前 阅读 2370 评论 11 点赞 6 打赏 1

我如何在OSC上做开源项目

讲述我如何在OSC上做开源项目的经验体会
PSI 发布于 2年前 阅读 4163 评论 19 点赞 10

一个开源软件作者和邮件通知奋斗的血泪史

序章: 9月18日,禅道发布了7.3版本,这是禅道五年内发布的第65个开源版本,也是我们和邮件通知斗争五年的“血泪史”。这个版本我们最终集成了一个大招,来彻底解决邮件通知的问题。先卖个关子,后面详细讲我们的大招是啥。 背景: 禅道(http:/www.zentao.net)是我们团队开发的一款开源项目管理软件,主要定位是研发项目管理。面向的用户群体主要是研发团队,部署场景主要是企业内部的私有服务器。这是我们这个故事的大背景。然后悲惨的故事就开始了。 打不死的小强:Email 禅道软件在使用过程中的一个需求是需要将软件里面的各种动态消息通知到相关的人员。解决这个问题可以有很多种手段:客户端软件的提醒,QQ的提醒, 微信的提醒,短信的提醒,邮件的提醒,浏览器的桌面提醒等等。每种手段都有各自的优劣,然后我们与之奋斗了五年之久的邮件就粉墨登场了。在上述的各种通知 手段中,以邮件通知最为广泛,和用户的使用习惯契合度也最为密切。说到这儿,也许有的朋友说,我们团队邮件早都不用了。其实我们还是低估了邮件顽强的生命 力。邮件系统作为自互联网初期就存在的基础服务系统,有着广泛的用户基础。一直有各种各样的协同软件试图干掉邮件,但很遗憾的是,到现在还...
开源春哥 发布于 2年前 阅读 7666 评论 25 点赞 8

从开源到众包---写在2015“程序员”节

我们要打造众包平台帮大家找靠谱的项目,让大家一边干着私活一边树立个人品牌,直到实现财富自由!
老马 发布于 2年前 阅读 5182 评论 50 点赞 18

基于可视化复杂SQL拼接插件 QueryBuilder

基于Web的自定义查询系统在国内一直是一个短板,目前国内普遍的自定义查询均为一个简单的查询组件的罗列,达不到真正的实现动态、智能化的自定义查询。本系统就是在这个背景下,着力于解决这个短板,并将一个demo发布出来。
码上中国博客 发布于 2年前 阅读 4626 评论 34 点赞 16

我匆匆那年撸的开发平台G4Studio成功落户OSC : )

G4Studio行业应用二次快速开发平台基于JavaEE技术体系,面向中小软件企业。以“标准功能可复用、通用模块可配置、行业需求快速开发、异构系统无缝集成”为目标,为中小软件开发团队提供强有力的一站式解决方案。
afghan007 发布于 2年前 阅读 8420 评论 35 点赞 11
顶部