开源中国

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

It appears you’re using an unsupported browser

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

精彩阅读

  • 最新推荐

  • 今日热门

  • 本周热门

  • 每日一博

  • 最新文章

华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

apiDoc构建源代码注释的接口文档

RESTful web API Documentation Generator. http://apidocjs.com 入门 前言 本文档中的所有示例都使用Javadoc-Style(可用于C#,Go,Dart,Java,JavaScript,PHP,TypeScript和所有其他支持Javadoc的语言): /** * This is a comment. */ 安装 一、安装nodeJs 根据每个人的操作系统是选择对应的node安装包。譬如,笔者是64位Windows操作系统,如下图所示:    1、点击进行逐步安装即可。注:高版本的JS自带了NPM,故不用另外去安装NPM。  2、Win+R输入cmd,进行查看安装状态是否成功。 二、安装apidoc 1、输入命令: npm install apidoc –g  2、Win+R输入cmd,进行查看安装状态是否成功。 到此安装工作已经完成。 构建 配置(apidoc.json) apidoc.json项目中的可选项root dir包含有关项目的常用信息,如标题,简短说明,版本和配置选项,如页眉/页脚设置或模板特定选项。 Name Description name Name of your project. If no apidoc.json with the field exists, then apiDoc try to determine the the value from package.json. version Version of your project. If no apidoc.json with the field exists, then apiDoc try to determine the the v...
吴伟祥 发布于 2周前 阅读 358

Tinker + Bugly + Jenkins 爬坑之路

前阵子 Android 端的线上崩溃比较多,热修复被提上日程。实现方案是 Tinker,Jenkins 打包,最后补丁包上传到 Bugly 进行分发。主要在 Jenkins 打包这一块爬了不少坑,现记录下来,供大家参考。 1. Tinker + Bugly热修复实现 首先是本地实现,按照官方文档,只要一步一步按照文档来,这个步骤还是比较容易的,这里就不再赘述了,不懂的可以先参考官方文档:Bugly Android热更新使用指南、Bugly Android热更新详解。这里贴一下接入流程: 打基准包安装并上报联网(注:填写唯一的 tinkerId) 对基准包的 bug 修复(可以是 Java 代码变更,资源的变更) 修改基准包路径、修改补丁包 tinkerId、mapping 文件路径(如果开启了混淆需要配置)、resId 文件路径 执行 buildTinkerPatchRelease 打 Release 版本补丁包 选择 app/build/outputs/patch目录 下的补丁包并上传(注:不要选择 tinkerPatch 目录下的补丁包,不然上传会有问题) 编辑下发补丁规则,点击立即下发 杀死进程并重启基准包,请求补丁策略( SDK 会自动下载补丁并合成) 再次重启基准包,检验补丁应用结果 查看页面,查看激活数据的变化 这里说一下使用指南中的第三步:初始化 SDK,我这里使用的是 enableProxyA...
cspecialy 发布于 3周前 阅读 365

Asf PHP 开发之配置信息常驻系统内存

把读取到配置文件的内容保存到系统内存, 下一次请求直接去内存读取数据。Asf 也提供非常简单的配置实现 Config Cache。
f2203859 发布于 3周前 阅读 141 评论 1

对一款优秀国产Python IDE---NovalIDE的体验

作者本人也是有多年开发经验的Python程序员,开发所使用的Python IDE无一例外都是用的国外的IDE。像Pycharm,Eclipse,Pyscripter,Sublime,VS啊等等,都是国外开发者开发的。没有碰到过国产的Python IDE。 今天在网上闲逛,无意中发现居然有一款国产的Python IDE,其官方网址是:http://www.novalide.com,据说是刚刚上线,内容还没完全做好。但是使用版本是可以下载的。 下面是其官网概貌: 这款Python IDE按其说明功能还是挺强大的,下面是自带的软件功能说明: 这是一款开源,免费,轻便,且跨平台的Python编辑,运行,调试软件,当前支持Windows以及Linux平台,大小才十几M 有出色的语法高亮功能,支持多种语言,python,c/c++,html,javascript,xml,css等。 自动检测,并加载Python解释器,允许用户自由添加删除解释器,并选择相应的解释器运行脚 支持函数智能提示和代码自动完成 支持新建NovalIDE工程和从现有代码创建工程,新建工程类型将包括应用程序,Django,Flask,wxPython,Py2exe,Win32,GTK,控制台程序等 自动智能分析解释器系统路径下模块文件,并生成智能提示使用的数据文件 类VS风格的可停靠窗口,多文档切换模式 各种复杂的编辑功能,支持高级编辑功能 可以调试...
东方玄 发布于 1个月前 阅读 797 评论 4 点赞 4

【代码审计】使用SonarQube进行代码质量分析管理

      在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来说说代码的质量化。代码的质量不是一个小问题,代码的质量问题可能会导致整个软件项目的失败,甚至更严重的问题,因此在日常的代码开发过程中加强代码审计工作(PM)是必要的,同时开发人员自己也应该去注重代码质量。目前业内对代码的质量化分析工具有阿里巴巴的p3c(GitHub:https://github.com/alibaba/p3c)、有Sonar质量分析管理工具等,本文我们主要来研究下Sonar这个相比功能比较强大的质量分析管理工具。
MaxBill 发布于 1个月前 阅读 343

【在线集成开发环境】Eclipse Che随时随地Coding

偶然发现了Eclipse旗下的一个项目Eclipse Che,已经发布到6.5.0的版本了,百度了下是个什么东西,说白了就是web化的IDE编辑器(eclipse的web化),总体感觉上肯定没有本地IDE功能强大,但是不得不说想法是好的,将docker结合起来,而且还开源,可以将该项目部署成web云服务。对于企业来说可以搭建这样一个云端IDE服务,配合企业的LDAP或者单点系统让多人同时在线编码,只要有网络的地方,用浏览器都能让码农干活啦,哈哈哈!
MaxBill 发布于 1个月前 阅读 432

DevOps 漫谈:从作坊到工厂的寓言故事

- 背景:《凤凰项目》的灵魂 - 管理约束:最大的瓶颈是人 - 任务追踪:可视化工作区和看板实践 - 改进日常工作:预防性维护 - 反常识:系统里要经常出些故障、人力资源使用率与效率成反比
RiboseYim 发布于 2个月前 阅读 257

Git 对象存储结构分析

# 1. 前言 git 对象有四种:blob (数据块), tree (目录树), commit (提交), tag (标签)。 本文通过一个示例,以blob为例来讨论对象的存储结构。示例采用的git版本为**2.17** 。 # 2. 实践讨论 ## 2.1. 生成Blob对象文件 首先创建一个测试git仓库 ``` $ mkdir hello $ cd hello $ git init ``` 然后通过创建一个文件 test,test的内容为 "hello", 可以看到test文件的字节长度为6, 是因为创建文件的时候自动在行末加上了换行符\n。对文件其执行 `git add` , 可以看到在.git/objects目录下面生成了一个子目录ce,ce目录下面有个文件013625030ba8dba906f756967f9e9ca394464a。 ``` $ echo "hello" > test $ du -b test 6 test $ git add test $ find .git/objects/ -type f .git/objects/ce/013625030ba8dba906f756967f9e9ca394464a ``` 该文件即为git为 test 文件数据内容生成的blob对象文件,该对象的SHA值为`ce013625030ba8dba906f756967f9e9ca394464a`. 至此,产生两个问题: 1. **对象文件的数据结构是什么样的 ?** 2. **对象的SHA值又是如何生成的 ?** ## 2.2. 对象数据结构及SHA值 根据 [Git-Internals-Git-Objects](https://git-scm.com/book/en/v2/Git-Internals-G...
囚兔 发布于 2个月前 阅读 162 评论 2

《GNU通用公共许可证》第3版 中英对照翻译版 By: 冰焰火灵X

## GNU通用公共许可证 > >GNU 通用公共许可证 第3版 翻译。 >翻译者:冰焰火灵X <1079092922@qq.com> >翻译出来的部分字句进行了调整。 >其中包含的译者注是一些可能必要的提醒和我对这份许可证的理解。在...
ICE冰焰火灵X 发布于 2个月前 阅读 185 点赞 1

修改Gradle 和Maven本地仓库的位置 方法

关于Maven的配置: 用过Maven的开发人员应该知道Maven可以通过配置 conf文件夹下面的settings.xml文件来修改maven下载的包,默认是下在c盘的用户文件夹下的.m2中,日积月累.m2会越来越庞大,自然会影响windows的响应,所以一般我们都会将其移动到其他非系统盘下。具体是修改下面这段配置: 默认是: <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> 修改后: <localRepository>D:/Maven/.m2/repo</localRepository> 这样就将下载的包下到D盘下的.m2中。 这里在补充一个很好的maven的远程地址即阿里云maven地址。 后来发现了 国内maven的救星【阿里云maven】真是由衷的感谢啊!具体配置如下,同样是操作conf下面的settings.xml文件: 将原有被注释了的那段<mirrors>找到并全部替换成下面这样: <mirrors>     <mirror>       <id>alimaven</id>       <name>aliyun maven</name>       <url>http://maven.aliyun.com/nexus/content/groups/public/</url>       <mirrorOf>central</mirrorOf>  ...
JackFace 发布于 3个月前 阅读 165

JMETER进行HTTP接口性能实例

在进行网页或应用程序后台接口开发时,一般要及时测试开发的接口能否正确接收和返回数据,对于单次测试,Postman插件是个不错的Http请求模拟工具。  但是Postman只能模拟单客户端的单次请求,而对于模拟多用户并发等性能测试,就必须借助其他的工具了,这里推荐功能强大的JMeter自动化测试工具 Apache JMeter - Apache JMeter™ Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。 下面就以上图的Restful类型的接口为例简单介绍使用Jmeter进行接口测试的方法。 获取某个具体网关设备的基本信息。 请求 方法:GET URI:/api/gateway/<gateway_id> 参数: 在HTTP请求(http request)的头部(header)添加Userid和Token字段作为用户验证字段 参数名 必需 类型 说明 gateway_id true int 网关ID,置于URL内 响应 返回值:JSON格式的网关信息 参数: 参数...
摆渡人啊东 发布于 3个月前 阅读 372

Jenkins持续集成SVN版本库项目

1 概述 Jenkins是一个Java语言编写的开源的持续集成工具,它的前身为Hudson,使用它可以进行项目的自动编译、测试与发布,这极大的减轻了团队之间的繁琐重复的工作,从而加快了整个项目的交付进度。 jenkins官方wiki:https://wiki.jenkins.io/display/JENKINS/Use+Jenkins 2 安装Jenkins  2.1 安装JDK (1)安装包:jdk-7u80-linux-x64.rpm (2)解压安装包 $ rpm -ivh jdk-7-linux-x64.rpm (3)环境变量配置:vi /etc/profile JAVA_HOME=/usr/java/jdk1.7.0_80 JRE_HOME=/usr/java/jdk1.7.0_80/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH 2.2 安装Maven (1)安装包:apache-maven-3.5.2-bin.tar.gz (2)解压安装包 $ tar -zxvf apache-maven-3.5.2-bin.tar.gz -C /usr/local/ (3)配置maven的环境变量 2.3 安装Jenkins 这里有两种方式 方式一:直接下载jenkins.war包 运行jenkins.war的两种方式 (1)通过jenkins内建的容器运行 java -jar jenkins.war (2)通过独立的tomcat/jboss容器运行 方式二:通过yum安装(这里选择安装稳定...
FEINIK 发布于 4个月前 阅读 514 点赞 1

妆罢低声问夫婿, 画眉深浅入时无——我的年度Markdown笔记软件VNote

关于VNote的设计和开发
tamlok 发布于 4个月前 阅读 180 打赏 1

写自己的产品的教训

一个程序员开发自己的产品,是需要跳出技术的小圈子的
自由之信 发布于 5个月前 阅读 644 评论 7 点赞 3

java 通过网络唤醒实现远程开机

网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
千里明月 发布于 5个月前 阅读 3393 评论 6 点赞 10

SpringBoot集成JPA

idea工具,框架springboot,数据库mysql 可根据实体类自动生成数据表 更方便的执行CRUD操作
千里明月 发布于 5个月前 阅读 390 评论 7

Selenium使用及原理

#### 1、Selenium介绍 Selenium是一个Web测试工具,通过直接控制浏览器来实现Web测试,与真实用户操作完全一致。Selenium目前支持IE、Firefox、Chrome、Safari、Opera等浏览器,Selenium支持主流的操作系统平台-Windows、Linux、Mac等,Selenium支持Java、Ruby、Python、Perl、PHP、C#等编程语言进行制定测试。 Selenium IDE还可以录制用户的基本操作,用于方便生产测试案例,可以在随后的测试过程中回放。 #### 2、基于Python的简单使用 下面是一个简单的例子,用于打开百度并进行搜索 ```python from selenium import Webdriver from selenium.webdriver.common.keys import Keys #启动web driver server,打开IE浏览器 ie = Webdriver.Ie() #打开百度首页 ie.get('http://www.baidu.com') #获取搜索输入框 kw = ie.get_element_by_id('kw') #在输入框输入selenium,并回车 kw.send_keys('selenium'+Keys.RETURN) #ie.close() ``` #### 3、远程调用浏览器 selenium实际上是由服务端和客户端两部分组成的,服务端必须与被调用浏览器在同一主机,服务端通过webdriver控制浏览器的行为,客户端可以与服务端位于不同主机,只要网络能够访问到即可。客户端通过http协议(restful...
tangchenyi 发布于 5个月前 阅读 235

将自己的 jar 包发布到 maven 中央仓库

注册 首先到sonatype官网进行注册! 找到注册“sign up”,如图,进行注册! 登录 登录后,在页面上方点击“create”进行创建 issue。 获得如下图所示。 Summary:写你想做什么,你的包的功能。简单概述,要短一点。 Description:可以直接复制 summary,然后加一点描述信息。 Group Id :推荐写 github。例如我的是 io.github.dslzc ,很快能通过,自己域名的话我没试过,虽然我有自己的域名。 Project UR : 你的项目的描述,填写你的项目的 github 地址就可以了。 SCM url: 有填写说明的,如https://github.com/DSLZC/dslcode-common-utils.git。 Username(s):邀请其他人有权限一起完成这个项目。我当时没填。 等待 Issue 审批通过 网上说需要一天到两天。为何我这一步是秒过的。大概 20 秒过后我就接收到通过邮件了。或许是我填写的 github 比较好认真真实性。 配置 GPG 如果是 Windows 操作系统,需要下载 Gpg4win 软件来生成密钥对。建议大家下载 Gpg4win-Vanilla 版本,因为它仅包括 GnuPG,这个工具才是我们所需要的。 安装 GPG 软件后,打开命令行窗口,依次做以下操作: 查看是否安装成功 gpg --version 能够显示 GPG 的版本信息,说明安装成功了。 生成密钥对 ...
田心双木 发布于 5个月前 阅读 251 评论 1

Spring Session java连接redis 失败解决方案

使用Spring Session 连接redis时被拒绝的解决方案
jaffreyen 发布于 5个月前 阅读 270

在java中使用solr7.2.0 新旧版本创建SolrClient对比

solr:基于lucene的高性能查询服务器
jaffreyen 发布于 5个月前 阅读 167

人们对自由软件有哪些误解?

任何一种美好的东西,比如善良,正义,美好的感情和回忆,和平,以及自由,都应该越多越好,不存在所谓的“过度”或者“走极端”。如果因为这些美好的东西而产生了不好的事情,那只有可能是用得不对。 现在我通过解析一篇文章来解除恶心的FUDer们的误导和污蔑,请大家仔细看看,如有问题请指正。 文章作者:冰焰火灵X 本文注解部分("[ ]")的许可证:知识共享 署名-禁止演绎 4.0 国际版许可证 材料文章:https://getgnulinux.org/zh/linux/misunderstanding_free_software/ 材料文章许可证:知识共享 署名-相同方式共享 4.0 国际版许可证
ICE冰焰火灵X 发布于 2个月前 阅读 112

6月25日至27日,为何全球开源大咖齐聚国家会议中心?LC3来啦!

广告
今年6月25日至27日, LinuxCon + ContainerCon + CloudOpen(LC3)将在北京国家会议中心召开。本次会议针对开源技术在人工智能和深度学习、区块链、云原生、虚拟服务器架构和微服务、新兴技术、基础实施和自动化、IoT和M2M、KVM、Linux系统、网络编排等10大前沿领域的应用,邀请了全球数百位业界大咖,用三天时间、超过200场分享,从市场、技术、产业甚至整个生态层面,将做全方位的探讨。
LinuxCon + ContainerCon + CloudOpen(LC3)

windows10 下 gcc/g++ 的安装

本文转自:https://blog.csdn.net/altland/article/details/63252757 如果我们想像在Linux下一样使用gcc/g++,则在windows下面可以这样处理。 首先我们需要打开网址: www.mingw.org  直接点击右上方的 Download Installer 即可下载。 在打开的新页面会提示我们等待几秒秒后将开始下载。如果十多秒后也没有反应,可以点击进度条下方的direct link手动下载。 有人可能发现下载的安装软件相当地小,只有几十K。 这是因为我们下载的只是一个包管理器,包管理器安装后才能继续安装编译器等组件。 注意,整个安装过程都是在线的,因此请不要断开网络。 首先打开安装程序,按照提示,以默认选项进行安装即可。 一直默认安装直到如下 包管理器安装完成后将弹出这个界面: 找到mingw32-gcc-g++(注意class属性要为bin),右键点击Mark for Installation。 然后点击左上角的Installation菜单中的Apply changes选项,然后管理器将开始在线安装或更新被选中的组件。 下面耐心等待程序的安装。 安装完成后关闭包管理器,如果由于某种原因安装未能成功,在退出程序前程序将给予提示,选择review changes选项重新安装即可。 下一步配置环境变量 打开控制面板 -> 系统 -> 高级系统设置 ->...
blackfoxya 发布于 2周前 阅读 13

Eureka微服务云架构源码分析

在看具体源码前,我们先回顾一下之前我们所实现的内容,从而找一个合适的切入口去分析。首先,服务注册中心、服务提供者、服务消费者这三个主要元素来说,后两者(也就是Eureka客户端)在整个运行机制中是大部分通...
明理萝 发布于 2天前 阅读 3 评论 1

解决Maven出现Plugin execution not covered by lifecycle configuration 错误

报错如下:   Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile (execution: default-testCompile, phase: test-compile)   解决办法:在pom.xml中在报错的plugin的外面再包上一层<pluginManagement></pluginManagement>  <build>     <pluginManagement>        <plugins>            <plugin> ... </plugin>              <plugin> ... </plugin>                  ....          </plugins>       </pluginManagement>   </build>    
故久呵呵 发布于 2个月前 阅读 19

码云gitee最大文件限制

oschina   gitee 码云 最大file size 100mb   $ git push origin master Counting objects: 77, done. Delta compression using up to 4 threads. Compressing objects: 100% (61/61), done. Writing objects: 100% (77/77), 292.97 MiB | 172.00 KiB/s, done. Total 77 (delta 4), reused 0 (delta 0) remote: warning: Large files detected. remote: error: File "xxxxxxx.rar" is 274.53 MB; this exceeds file size limit of 100.0 MB remote: error: hook declined to update refs/heads/master To git@gitee.com:username/projectname.git  ! [remote rejected] master -> master (hook declined) error: failed to push some refs to 'git@gitee.com:username/projectname.git'...
onedotdot 发布于 2个月前 阅读 89

Qt 遇到的问题记录

**已解决问题** ------------ **1. QT 用MSVC编译器 中文编码乱的解决方法** 1,在Main函数下家属 ``` QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); ``` 2 在.h 和.cpp 文件下加入 ``` #pragma execution_character_set("utf-8") ``` **未解决问题** ------------ > 1,为什么 关联模型(QSqlRelationalTableModel)所关联项,用SQL语句查询为Id,用 model的select() 方法为Id 对应的名称 而且,在所关理的表中查不到内容时,用model的select() 方法查询不显示,用SQL语句查询,得到此Id
zanglaowei 发布于 2个月前 阅读 17

配置servlet支持文件上传

MultipartConfig servlet
Apirl 发布于 1个月前 阅读 8

spring-boot-starter-data-elasticsearch

依赖 spring-boot 1.5.10.RELEASE pom ... ... <dependency> <groupId>com.sun.jna</groupId> <artifactId>jna</artifactId> <version>3.0.9</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> ... ... application.properties # # ES # spring.data.elasticsearch.cluster-name=elasticsearch-dev spring.data.elasticsearch.cluster-nodes=47.94.5.129:9300 spring.data.elasticsearch.repositories.enabled=true QuestionAnswerRecord.java @Document(indexName = "question_answer_record", type = "question_answer_record", indexStoreType = "fs", shards = 5, replicas = 1, refreshInterval = "30s") public class QuestionAnswerRecord { @Id @Field(type = FieldType.String, index = FieldIndex.not_analyzed) private String id; private Integer lessonId; private Integer classroomId; private Integer smallClassId; private Integer questionId; private Intege...
夜黑人模糊灬 发布于 1个月前 阅读 27

[mac]-windows安装mac实现双系统

[点击地址查看](https://juejin.im/post/5a31409051882507ae26011f)
xiaoLoo 发布于 3周前 阅读 7

VSCode安装SVN插件

SVN插件下载地址 点击Install,然后按照提示安装即可 TortoiseSVN for VS Code插件下载地址 点击Install,然后按照提示安装即可 这两个插件功能类似,皆可使用 右击需要操作的文件--》SVN--》即可选择你需要的操作
临江仙卜算子 发布于 2个月前 阅读 724

如何优雅的编程——C语言界面的一点小建议

我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以来这些基于许多经验的...
柳猫 发布于 16小时前

Java并发编程与高并发解决方案(一)-并发与高并发基本概念

并发:     多个线程操作相同的资源,保证线程安全,合理利用资源 高并发:     服务能同时处理很多请求(如12306的抢票,天猫双十一的秒杀活动,这会导致系统在短时间内执行大量的操作,如对资源的请求,数据库的访问),提高程序性能(如果高并发处理不好,不光会导致用户体验不好,还可能会使服务器宕机,出现内存泄露等问题)  
monroeCode 发布于 3个月前 阅读 834 评论 4

spring-data-elasticsearch 基本案例详解(三)

『 风云说:能分享自己职位的知识的领导是个好领导。 』 运行环境:JDK 7 或 8,Maven 3.0+ 技术栈:SpringBoot 1.5+, Spring Data Elasticsearch 1.5+ ,ElasticSearch 2.3.2 本文提纲 一、spring-data-elasticsearch-crud 的工程介绍 二、运行 spring-data-elasticsearch-crud 工程 三、spring-data-elasticsearch-crud 工程代码详解 一、spring-data-elasticsearch-crud 的工程介绍 spring-data-elasticsearch-crud 的工程,介绍 Spring Data Elasticsearch 简单的 ES 操作。Spring Data Elasticsearch 可以跟 JPA 进行类比。其使用方法也很简单。 二、运行 spring-data-elasticsearch-crud 工程 注意的是这里使用的是 ElasticSearch 2.3.2。是因为版本对应关系 https://github.com/spring-projects/spring-data-elasticsearch/wiki/Spring-Data-Elasticsearch—Spring-Boot—version-matrix; Spring Boot Version (x) Spring Data Elasticsearch Version (y) Elasticsearch Version (z) x <= 1.3.5 y <= 1.3.4 z <= 1.7.2* x >= 1.4.x 2.0.0 <=y < 5.0.0** 2.0.0 <= z < 5.0.0** * – 只需要你修改下对应的 pom 文件版本号 ** – 下一个 ES 的版本会有重大的更新 1. 后...
夜黑人模糊灬 发布于 1个月前 阅读 38

phpStudy2018安装教程及本地服务器的配置方法

phpStudy 2018是一款非常强大的php环境调试工具,
寰宇01 发布于 1个月前 阅读 37

spring-data-elasticsearch 实战案例详解(四)

本文提纲 一、搜索实战场景需求 二、运行 spring-data-elasticsearch-query 工程 三、spring-data-elasticsearch-query 工程代码详解 一、搜索实战场景需求 搜索的场景会很多,常用的搜索场景,需要搜索的字段很多,但每个字段匹配到后所占的权重又不同。比如电商网站的搜索,搜到商品名称和商品描述,自然商品名称的权重远远大于商品描述。而且单词匹配肯定不如短语匹配。这样就出现了新的需求,如何确定这些短语,即自然分词。那就利用分词器,即可得到所需要的短语,然后进行搜索。 下面介绍短语如何进行按权重分匹配搜索。   二、运行 spring-data-elasticsearch-query 工程 1. 后台起守护线程启动 Elasticsearch cd elasticsearch-2.3.2/ ./bin/elasticsearch -d git clone 下载工程 springboot-elasticsearch ,项目地址见 GitHub – https://github.com/JeffLi1993/ … ample。 下面开始运行工程步骤(Quick Start):   2. 项目结构介绍 org.spring.springboot.controller - Controller 层 org.spring.springboot.repository - ES 数据操作层 org.spring.springboot.domain - 实体类 org.spring.springboot.service - ES 业务逻辑层 Application - 应用启动类 ...
夜黑人模糊灬 发布于 1个月前 阅读 39 评论 1

整合Springboot+Blazdes+Spring+Flex

写在前面:     Flex是10年前的产物,基本也要退出历史舞台了,手里有个Flex 项目,最近又在看SpringBoot方面的书,突发奇想,能不能整合一下。由于Flex年代久远,国内相关文献实在是少的可怜。努力了几天,终于成功了。写这些就当记录一下,万一哪天有朋友也要配置,也不用走很多弯路。     说几个坑点:    1:Spring Flex已经停用了大约3年以上。基本上它被抛弃了,并且和Spring 5不兼容。起初配置好后用SpringBoot 2.0启动,提示Flex Bean _messageBroker初始化失败,并且jar包中有一个JdkVersion方法报错,因为这是Spring4.0方法。   2:Blazdes 在spring-boot中只有4.7.3版本,Flex对象绑定java对象的时候,要添加白名单(4.7.3版本新功能)。     下面上我的配置: 首先是pom.xml 添加相关依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>pgfServer</groupId> ...
章大大 发布于 1周前 阅读 15

掌握需求过程

1,需求必须可度量、可测试 2,需求是什么? 功能需求 非功能需求 限制条件 3,Volere需求过程 采用Volere需求过程,最好采用RUP,增量,迭代,螺旋,Scrum或其他类似的迭代式开发过程 (注意:需求过程与开发过程是两码事) 3.1项目启动 启动会议主要目的为接下来的需求发现工作奠定基础  
霜叶情 发布于 4天前 阅读 7

QtCreator 编译时提示 warning C4819 的解决办法

用 QtCreator + Visual C++ 编译器 编译程序时经常会出现类似的警告: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 warning C4819: 该文件包含不能...
水海云 发布于 2天前 阅读 4

apiDoc构建源代码注释的接口文档

RESTful web API Documentation Generator. http://apidocjs.com 入门 前言 本文档中的所有示例都使用Javadoc-Style(可用于C#,Go,Dart,Java,JavaScript,PHP,TypeScript和所有其他支持Javadoc的语言): /** * This is a comment. */ 安装 一、安装nodeJs 根据每个人的操作系统是选择对应的node安装包。譬如,笔者是64位Windows操作系统,如下图所示:    1、点击进行逐步安装即可。注:高版本的JS自带了NPM,故不用另外去安装NPM。  2、Win+R输入cmd,进行查看安装状态是否成功。 二、安装apidoc 1、输入命令: npm install apidoc –g  2、Win+R输入cmd,进行查看安装状态是否成功。 到此安装工作已经完成。 构建 配置(apidoc.json) apidoc.json项目中的可选项root dir包含有关项目的常用信息,如标题,简短说明,版本和配置选项,如页眉/页脚设置或模板特定选项。 Name Description name Name of your project. If no apidoc.json with the field exists, then apiDoc try to determine the the value from package.json. version Version of your project. If no apidoc.json with the field exists, then apiDoc try to determine the the v...
吴伟祥 发布于 2周前 阅读 358

转发和重定向的区别

转发在服务器端完成的;重定向是在客户端完成的 转发的速度快;重定向速度慢 转发的是同一次请求;重定向是两次不同请求 转发不会执行转发后的代码;重定向会执行重定向之后的代码 转发地址栏没有变化;重定向地址...
冯莉莉莉莉 发布于 2天前

VSCode安装SVN插件

SVN插件下载地址 点击Install,然后按照提示安装即可 TortoiseSVN for VS Code插件下载地址 点击Install,然后按照提示安装即可 这两个插件功能类似,皆可使用 右击需要操作的文件--》SVN--》即可选择你需要的操作
临江仙卜算子 发布于 2个月前 阅读 724

Java并发编程与高并发解决方案(一)-并发与高并发基本概念

并发:     多个线程操作相同的资源,保证线程安全,合理利用资源 高并发:     服务能同时处理很多请求(如12306的抢票,天猫双十一的秒杀活动,这会导致系统在短时间内执行大量的操作,如对资源的请求,数据库的访问),提高程序性能(如果高并发处理不好,不光会导致用户体验不好,还可能会使服务器宕机,出现内存泄露等问题)  
monroeCode 发布于 3个月前 阅读 834 评论 4

apiDoc构建源代码注释的接口文档

RESTful web API Documentation Generator. http://apidocjs.com 入门 前言 本文档中的所有示例都使用Javadoc-Style(可用于C#,Go,Dart,Java,JavaScript,PHP,TypeScript和所有其他支持Javadoc的语言): /** * This is a comment. */ 安装 一、安装nodeJs 根据每个人的操作系统是选择对应的node安装包。譬如,笔者是64位Windows操作系统,如下图所示:    1、点击进行逐步安装即可。注:高版本的JS自带了NPM,故不用另外去安装NPM。  2、Win+R输入cmd,进行查看安装状态是否成功。 二、安装apidoc 1、输入命令: npm install apidoc –g  2、Win+R输入cmd,进行查看安装状态是否成功。 到此安装工作已经完成。 构建 配置(apidoc.json) apidoc.json项目中的可选项root dir包含有关项目的常用信息,如标题,简短说明,版本和配置选项,如页眉/页脚设置或模板特定选项。 Name Description name Name of your project. If no apidoc.json with the field exists, then apiDoc try to determine the the value from package.json. version Version of your project. If no apidoc.json with the field exists, then apiDoc try to determine the the v...
吴伟祥 发布于 2周前 阅读 358

springboot linux下启动的脚本

看到比较好的linux脚本: start.sh #!/bin/sh rm -f tpid nohup java -jar xx.jar --spring.profiles.active=dev > /dev/null 2>&1 & echo $! > tpid echo Start Success! stop.sh #!/bin/sh APP_NAME=myapp tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Stop Process...' kill -15 $tpid fi sleep 5 tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Kill Process!' kill -9 $tpid else echo 'Stop Success!' fi check.sh #!/bin/sh APP_NAME=myapp tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'App is running.' else echo 'App is NOT running.' fi kill.sh #!/bin/sh APP_NAME=myapp tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'` if [ ${tpid} ]; then echo 'Kill Process!' kill -9 $tpid fi   以上合并为一个脚本: #!/bin/sh APP=stockhouse APP_NAME=${APP}".jar" command=$1 function start()...
binhu 发布于 2个月前 阅读 218

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模式文档,这里按1.0的来。 xsi:schemaLocation=" http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit-1.0.xsd" 配置connection-factory元素。 <rabbit:connection-factory id="connectionFactory" username="mmq" password="mmq" host="192.168.1.138" port="5672" virtual-host="/vhost1" /> 配置connection-factory元素实际是注册一个org.springframework.amqp.rabbit.connection.CachingConnectionFactory实例。 参数介绍: id:bean的id值。 host:RabbitMQ服务器地址。默认值"localhost"。 port:RabbitMQ服务端口,默认值"5672"。 virtual-host:虚拟主机,默认是"/"。 username和password就是访问RabbitMQ服务的账户和密码了。 channel-cache-size:channel的缓存数量。新版本默认是25。 消息队列queue的配置。 <!--定义queue queueTest --> <rabbit:queue name="queueT...
onedotdot 发布于 6天前 阅读 17

【代码审计】使用SonarQube进行代码质量分析管理

      在之前的开发中,代码的工作量化和质量化都是一个问题,随着近几年互联网行业的快速发展,代码已经可以来工作量化和质量化,今天我们来说说代码的质量化。代码的质量不是一个小问题,代码的质量问题可能会导致整个软件项目的失败,甚至更严重的问题,因此在日常的代码开发过程中加强代码审计工作(PM)是必要的,同时开发人员自己也应该去注重代码质量。目前业内对代码的质量化分析工具有阿里巴巴的p3c(GitHub:https://github.com/alibaba/p3c)、有Sonar质量分析管理工具等,本文我们主要来研究下Sonar这个相比功能比较强大的质量分析管理工具。
MaxBill 发布于 1个月前 阅读 343

Kubernetes代码仓库-GitLab的Helm部署

Kubernetes代码仓库-GitLab的Helm部署 本文翻译来自:https://docs.gitlab.com/ee/install/kubernetes/gitlab_omnibus.html#installing-gitlab-using-the-helm-chart 本文地址 https://my.oschina.net/u/2306127/blog/1819812,by openthings,2018.05.28. GitLab(https://about.gitlab.com/)是一个用于git项目托管的开源平台。GitLab采用Git作为版本管理系统,与Github可以联合使用,是分布式、大规模代码构建的理想工具。   GitLab可以直接部署在Kubernetes集群之中,从而与Jenkins-X、Harbor、Kubernetes 形成完整的代码管理、版本控制、自动构建、自动测试、镜像仓库、灰度发布、动态调度、运维管理的“从摇篮到坟墓”的软件生命周期支持平台。         GitLab功能类似于Github.com,可以在局域网使用,搭建自己的私有代码版本仓库。GitLab分为社区版和企业版,社区版免费,企业版是收费的、可以购买技术支持。 这里介绍GitLab在Kubernetes上使用Helm进行快速安装的方法。 This chart has been tested on Google Kubernetes Engine and Azure Container Service. This chart is beta, and is the best way to install GitLab on Kubernetes today. A new clo...
openthings 发布于 4周前 阅读 80

Kubernetes镜像仓库-Harbor的Helm部署

Kubernetes镜像仓库-Harbor的Helm部署 Harbor是Docker Images Registry Service系统,用于管理容器镜像,由VMVare中国团队开发。 Harbor项目源码,https://github.com/vmware/harbor Harbor的部署有几种方式: 直接安装(包括在线安装、离线安装、虚拟机安装),参考 https://github.com/openthings/harbor/blob/master/docs/installation_guide.md。 在Kubernetes上,使用Kubectl部署,参考 https://my.oschina.net/u/2306127/blog/1819645 推荐:在kubernetes上,使用Helm部署,本文将介绍这一方法。 1、部署Kubernetes和Helm Kubernetes集群建议使用1.10.x版本,Helm是在Kubernetes上的应用软件包管理工具。具体方法参见: 通过kubeadmin部署Kubernetes,https://my.oschina.net/u/2306127/blog/1628082 在Kubernetes上部署机器学习软件栈,https://my.oschina.net/u/2306127/blog/1807648 Kubernetes软件包管理系统-Helm架构,https://my.oschina.net/u/2306127/blog/1788678 2、下载Harbor源码 下载helm部署代码并进入harbor helm目录。 git clone https://github.com/vmware/harbor cd harbor/contrib/helm/harbor 更新helm dependency harbor的helm部署依赖helm部署...
openthings 发布于 4周前 阅读 43

spring-data-elasticsearch 基本案例详解(三)

『 风云说:能分享自己职位的知识的领导是个好领导。 』 运行环境:JDK 7 或 8,Maven 3.0+ 技术栈:SpringBoot 1.5+, Spring Data Elasticsearch 1.5+ ,ElasticSearch 2.3.2 本文提纲 一、spring-data-elasticsearch-crud 的工程介绍 二、运行 spring-data-elasticsearch-crud 工程 三、spring-data-elasticsearch-crud 工程代码详解 一、spring-data-elasticsearch-crud 的工程介绍 spring-data-elasticsearch-crud 的工程,介绍 Spring Data Elasticsearch 简单的 ES 操作。Spring Data Elasticsearch 可以跟 JPA 进行类比。其使用方法也很简单。 二、运行 spring-data-elasticsearch-crud 工程 注意的是这里使用的是 ElasticSearch 2.3.2。是因为版本对应关系 https://github.com/spring-projects/spring-data-elasticsearch/wiki/Spring-Data-Elasticsearch—Spring-Boot—version-matrix; Spring Boot Version (x) Spring Data Elasticsearch Version (y) Elasticsearch Version (z) x <= 1.3.5 y <= 1.3.4 z <= 1.7.2* x >= 1.4.x 2.0.0 <=y < 5.0.0** 2.0.0 <= z < 5.0.0** * – 只需要你修改下对应的 pom 文件版本号 ** – 下一个 ES 的版本会有重大的更新 1. 后...
夜黑人模糊灬 发布于 1个月前 阅读 38

UML建模

# UML建模 ## 1.UML基础 ### 1.1什么是UML     Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通用的、可视化建模语言标准,可以用来描述(specify)、可视化(visualize)、构造(construct)和记载(document)软件密集型系统的各种工件(artifacts,又译为制品)。     UML是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。     UML是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。在软件无线电系统的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。     UML不是一个程序设计语言,更不是一个形式化语言。     UML是一种可视化的面向对象建模语言,描述了一个系统的静态结构和动态行为,用图形方式表现典型的面向对象系统的整个结构,从不同的角度为系统建模,并形成系统的不同视图。这些图包括:类图(它以继承结构、关联、组成和聚集为特色)、时序图、协作图和状态...
阿元 发布于 4天前 阅读 8

Linux开发环境搭建之Intellij Idea安装配置

Linux开发环境搭建之Intellij Idea安装配置
MaxBill 发布于 1个月前 阅读 51

phpStudy2018安装教程及本地服务器的配置方法

phpStudy 2018是一款非常强大的php环境调试工具,
寰宇01 发布于 1个月前 阅读 37

Kubernetes持续交付-Jenkins X的Helm部署

Kubernetes持续交付-Jenkins X的Helm部署 本文翻译根据 https://github.com/jenkins-x/jenkins-x-platform 在Kubernetes上创建CI/CD流水线,https://my.oschina.net/u/2306127/blog/1819650。 Jenkins X 是一个集成化的 CI / CD 平台,可用于部署在Kubernetes集群或云计算中心。支持在云计算环境下简单地开发和部署应用。本项目是在Kubernetes上的安装支持工具集。 本工具集中包含:     Jenkins - 定制好的流水线和运行环境,完全整合CI/CD解决方案。 Nexus 用于Maven支持的组件仓库 (pluggable so we can switch with Artifactory) Chartmuseum Helm Chart 仓库 (Helm是 Kubernetes 上的包管理器,用于Kubernetes上的应用安装和更新(Kubernetes应用往往包含多个Docker运行实例的部署)。 Monocular 搜索和发现Helm Charts的Web UI。 通过Helm可以快速安装Jenkins X套件。 安装 我们使用CLI tool- jx 与 Jenkins X 进行交付。为了安装, jx 委托任务给 Helm (Kubernetes Package manager) 用于安装、升级和卸载操作。 抓取 jx 选取需要创建的集群。 远程集群安装 最快的方式是使用 Google Kubernetes Engine (GKE),其它的云计算支持很快也会发布。 预先要...
openthings 发布于 4周前 阅读 60

TP5项目微信支付配置(一)

最近在做TP5的集成微信支付功能,顺便把自己学到的一些东西记录一下 集成微信支付的话,需要在微信商户平台有账号,并且开通了微信支付功能,这里就不细说了 接入微信功能,可以参考一下官方文档:微信支付接入文档 他提供了很多接入方式的文档,这里我主要使用的是公众号支付   他文档里有官方的SDK和demo,可以下载下来参考 我们主要还是用到的是lib目录,其包括的微信支付的SDK,当然,实例代码也写了怎么调用微信功能   除了SDK,我们还需要在公众号平台和商户平台获取一些信息,才能够使用微信支付 获取到以上信息,去配置文件里加上这些信息,开发的时候就可以直接使用了    
月夜中徘徊 发布于 1周前 阅读 20

base64 加解密-【js】

``` var BASE64_MAPPING = "⊕◣◢︼【】┅┇〓y▃▄▅▆▇█▉▊▋▌▍▎▏の┈┊①②③④⑤⑥⑦⑧⑨⑩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩ埄钮磨氓贰帷狻穴憽鍴√ㄨ"; var __BASE64 = { // 解密 de: function(r) { var o = String(r).replace(/=+$/, ""); if (o.length % 4 == 1) throw new t("'atob' failed: The string to be decoded is not correctly encoded."); for (var n, a, i = 0, c = 0, d = ""; a = o.charAt(c++);~a && (n = i % 4 ? 64 * n + a: a, i++%4) ? d += String.fromCharCode(255 & n >> ( - 2 * i & 6)) : 0) a = BASE64_MAPPING.indexOf(a); return d }, // 加密 en: function(r) { for (var o, n, a = String(r), i = 0, c = BASE64_MAPPING, d = ""; a.charAt(0 | i) || (c = "=", i % 1); d += c.charAt(63 & o >> 8 - i % 1 * 8)) { if (n = a.charCodeAt(i += .75), n > 255) throw new t("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range."); o = o << 8 | n } return d } } function a() { return __BASE64.de(__BASE64.en("sdsagfg")); } ```...
开飞色 发布于 1周前 阅读 26

shiro 加密登录 密码加盐处理

对密码加密处理
jaffreyen 发布于 1个月前 阅读 105

敏捷开发思维导图,让java不再难懂

**0、先来一张导图** ![image](http://upload-images.jianshu.io/upload_images/4120002-f2cb7cc710efadb4?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) **1、概念** 简单的说,敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。 换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 敏捷最大的特色是迭代式开发。 **2、优势** ![image](http://upload-images.jianshu.io/upload_images/4120002-7a9c36966990ec87?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) 1、敏捷开发属于增量式开发,对于需求范围不明确,需求变更较多的项目而言,可以很大程度上响应及拥抱变化。 2、对于互联网产品而言,市场风向转变很快,需要一种及时快速的交付形式,而敏捷开发则能更好地适用于此。 3、敏捷开发可最大程度体现80/20法则的价值,通过增量迭代,每次都优先交付那能产生80%价值效益的20%功能。能最大化单位成本收益。 **3、误区** ![image](http://upload-images.jianshu.io/uploa...
java思维导图 发布于 2个月前 阅读 125 点赞 1

微信公众号登录的一些注意事项

之前讲了微信公众号内网页应用登录的一些配置,不过配置过程中,可能会遇到一些问题,这里简单说一下 首先,在微信公众平台上,我们获取到了APPID和APPSECRET,但是光是在代码里添加这两个,还是不能使用微信登录的,因为还没设置域名授权,所以,这里我们应该到微信公众平台去设置域名授权 找到“公众号设置”=>“功能设置”   点击设置,然后将你需要授权的域名填写,这里记得,下载证书,并拷贝到你的域名指向的程序文件,我的网站用的是TP5开发的,所以我把证书放到了public目录下 证书 拷贝过去后,点击确定,即可验证并设置成功   这样,这个域名对应的程序就可以使用微信登录了    
月夜中徘徊 发布于 1周前 阅读 12

基于Kubernetes的持续交付平台

基于Kubernetes的持续交付平台 现在实现持续集成、持续交付的所有软件都可以在Kubernetes上面运行,通过容器化可以快速部署持续交付平台,大幅度加快软件的开发过程、增强软件团队协作能力、降低软件开发成本。 Kubernetes的可迁移性和可伸缩性让开发软件变得容易,部署过程变得快捷,可以快速部署并且根据需要扩展到数十倍的规模,让数百人的软件研发管理变得轻而易举,大规模集群的开发、测试、管理和运维难度大幅度降低,私有云和公有云可以实现衔接而无需重复投资。 推荐参考《Cloud Native DevOps》(编写中,2019年出版) https://cloudnativedevopsblog.com/posts/2018-06-14-its-official/ https://github.com/cloudnativedevops/blog https://github.com/cloudnativedevops/demo 本文包括存储系统、代码托管、持续构建、镜像仓库、配置管理、应用管理以及机器学习、服务网格的相关资源。   持续交付软件技术栈 Kubernetes存储系统 云原生存储Rook部署,https://my.oschina.net/u/2306127/blog/1819630 NFS Server的Helm部署,https://my.oschina.net/u/2306127/blog/1820434 Kubernetes代码仓库-GitLab的Helm部署,https://my.oschina.net/u/2306127/blog/18198...
openthings 发布于 3周前 阅读 77

dslJson、jsoniter、fastjson、jackson解析字符串为map效率比较

package test; import cn.hutool.core.lang.Console; import cn.jiguang.entity.ErrorMessage; import com.alibaba.fastjson.JSON; import com.dslplatform.json.DslJson; import com.dslplatform.json.JsonReader; import com.fasterxml.jackson.databind.ObjectMapper; import com.jsoniter.JsonIterator; import com.jsoniter.ValueType; import org.junit.Before; import org.junit.Test; import org.springframework.util.Assert; import java.io.*; import java.util.Map; import java.util.concurrent.atomic.AtomicReference; /** * @desc: dsl-json fastjson jackson jsoniter 效率比较 * @author: zengxc * @date: 2018/4/4 */ public class JSONTest { private static final ObjectMapper MAPPER = new ObjectMapper(); public static String[] factors = {}; private static String JSON_STR = null; private static int count = 0; private final DslJson<Object> dslJson = new DslJson<Object>(); @Test public void testJsoniter2() throws IOException { JsonIterator jsonIterator = JsonIterator.pars...
小池仔 发布于 3个月前 阅读 113

华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

Eureka微服务云架构源码分析

在看具体源码前,我们先回顾一下之前我们所实现的内容,从而找一个合适的切入口去分析。首先,服务注册中心、服务提供者、服务消费者这三个主要元素来说,后两者(也就是Eureka客户端)在整个运行机制中是大部分通...
明理萝 发布于 2天前 阅读 3 评论 1

Hystrix服务降级

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自...
明理萝 发布于 2天前 阅读 3 评论 1

服务网关过滤器

过滤器作用 我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会将所有的微服务接口都...
明理萝 发布于 2天前 评论 1

QtCreator 编译时提示 warning C4819 的解决办法

用 QtCreator + Visual C++ 编译器 编译程序时经常会出现类似的警告: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 warning C4819: 该文件包含不能...
水海云 发布于 2天前 阅读 4

从 Confluence 5.3 及其早期版本中恢复空间

如果你需要从 Confluence 5.3 及其早期版本中的导出文件恢复到晚于 Confluence 5.3 的 Confluence 中的话。你可以使用临时的 Confluence 空间安装,然后将这个 Confluence 安装实例升级到你现在的版本,然后使用这...
honeymose 发布于 2天前 阅读 2

Confluence 6 从一个 XML 备份中导入一个空间

有下面 2 中方法可以导入一个空间——通过上传一个文件,或者从你 Confluence 服务器上的一个目录中导入。上传文件仅仅是针对一个小站点的情况。为了取得最好的导入结果,我们推荐你从服务器上的目录上进行恢复。...
honeymose 发布于 2天前 阅读 2

Confluence 6 恢复一个空间

你可以导出一个空间 – 包括页面,评论和附件到一个压缩的 XML 文件中,可选的你可以在 XML 文件中包括所有空间使用的附件。希望导入空间到其他的 Confluence 站点中,请按照下面的方法进行操作。 你需要具有 系统...
honeymose 发布于 2天前

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Back...
honeymose 发布于 3天前 阅读 5

Confluence 6 恢复一个站点问题解决

如果你在导入的时候遇到了问题,检查下面的一些提示。 你的文件太大而不能上传? 这个是非常常见的错误。出现的原因是备份文件不能在规定的时间内上传到服务器上。...
honeymose 发布于 3天前 阅读 1

Confluence 6 导入一个 Confluence 站点

有下面 2 种类方法可以导入一个站点 - 通过上传一个文件或者从你 Confluence 服务器上读取一个目录。上传文件仅仅是针对一个小站点的情况。为了取得最好的导入结果,我们推荐你从服务器上的目录上进行恢复。<...
honeymose 发布于 3天前

Confluence 6 恢复一个站点

这个页面对如何从一个 XML 导出文件中恢复到一个已经存在的 Confluence 站点进行描述。 如果你希望导入数据倒一个新的站点,请参考 
honeymose 发布于 3天前 阅读 1

有关Atlassian Jira的好用的插件

看板支持类 吐槽一下,没有插件,jira我是绝对不选的,自身功能太弱。 Agile Board Filter for JIRA Software
诺亚舟 发布于 3天前 阅读 1

UML建模

# UML建模 ## 1.UML基础 ### 1.1什么是UML     Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通用的、可视化建模语言标准,可以用来描述(specify)、可视化(visualize)、构造(construct)和记载(document)软件密集型系统的各种工件(artifacts,又译为制品)。     UML是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。     UML是面向对象软件的标准化建模语言。UML因其简单、统一的特点,而且能表达软件设计中的动态和静态信息,目前已成为可视化建模语言的工业标准。在软件无线电系统的开发过程中,统一建模语言可以在整个设计周期中使用,帮助设计者缩短设计时间,减少改进的成本,使软硬件分割最优。     UML不是一个程序设计语言,更不是一个形式化语言。     UML是一种可视化的面向对象建模语言,描述了一个系统的静态结构和动态行为,用图形方式表现典型的面向对象系统的整个结构,从不同的角度为系统建模,并形成系统的不同视图。这些图包括:类图(它以继承结构、关联、组成和聚集为特色)、时序图、协作图和状态...
阿元 发布于 4天前 阅读 8

commonservice-config配置服务搭建

1. 介绍 Spring Cloud Config为分布式系统中的外部配置提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用。随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具。很容易添加替代实现,并使用Spring配置将其插入。 2. 引入pom相关jar包,其中pom.xml配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.ml.honghu</groupId> <artifactId>commonservi...
明理萝 发布于 4天前 阅读 5 评论 1

掌握需求过程

1,需求必须可度量、可测试 2,需求是什么? 功能需求 非功能需求 限制条件 3,Volere需求过程 采用Volere需求过程,最好采用RUP,增量,迭代,螺旋,Scrum或其他类似的迭代式开发过程 (注意:需求过程与开发过程是两码事) 3.1项目启动 启动会议主要目的为接下来的需求发现工作奠定基础  
霜叶情 发布于 4天前 阅读 7

分布式微服务云架构开发Web应用

举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。 @Controller public class HelloController { @RequestMapping("/") public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 map.addAttribute("host", "http://blog.didispace.com"); // return模板文件的名称,对应src/main/resources/templates/index.html return "index"; } } <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8" /> <title></title> </head> <body> <h1 th:text="${host}">Hello World</h1> </body> </html> 如上页面,直接打开html页面展现Hello World,但是启动程序后,访问http://localhost:8080/,则是展示Controller中host的值:http://blog.didispace.com,做到了不破坏HTML自身内容的数据逻辑分离。 如有需要修改默认配置的时候,只需复制下面要修改的属性到application.properties中,并修改成需要的值,如修改模板文件的扩展名,修改默认的模板路径等。 # Enable template caching. sp...
明理萝 发布于 4天前 阅读 4

图应用之关键路径(Critical Path)

之前我们介绍过,在一个工程中我们关心两个问题: (1)工程是否顺利进行 (2)整个工程最短时间。   之前我们优先关心的是顶点(AOV),同样我们也可以优先关心边(同理有AOE)。(Activity On Edge Network) 看看百度百科上解释: AOE网:Activity on edge network 若在带权的有向图中,以顶点表示事件,以有向边表示活动,边上的权值表示活动的开销(如该活动持续的时间),则此带权的有向图称为AOE网。 如果用AOE网来表示一项工程,那么,仅仅考虑各个子工程之间的优先关系还不够,更多的是关心整个工程完成的最短时间是多少; 哪些活动的延期将会影响整个工程的进度,而加速这些活动是否会提高整个工程的效率。 因此,通常在AOE网中列出完成预定工程计划所需要进行的活动,每个活动计划完成的时间,要发生哪些事件以及这些事件与活动之间的关系, 从而可以确定该项工程是否可行,估算工程完成的时间以及确定哪些活动是影响工程进度的关键。 很显然,顶点表示事件,边表示活动,边的权则表示活动持续时间。 AOE一般用来估算工程的完成时间。 AOE表示工程的流程,把没有入边的称为始点或者源点,没有出边的顶点称为终点或者汇点。一般情况下,工程只有一个开始,一个结...
临江仙卜算子 发布于 4天前 阅读 7

Spring Initializr 构建Spring Boot/Cloud工程

在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建。而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也可以通过《Spring Boot快速入门》一文中提到的SPRING INITIALIZR页面工具来创建,相信每位读者都有自己最喜欢和最为熟练的创建方式。 本文我们将介绍嵌入的Intellij中的Spring Initializr工具,它同Web提供的创建功能一样,可以帮助我们快速的构建出一个基础的Spring Boot/Cloud工程。 菜单栏中选择File=>New=>Project..,我们可以看到如下图所示的创建功能窗口。其中Initial Service Url指向的地址就是Spring官方提供的Spring Initializr工具地址,所以这里创建的工程实际上也是基于它的Web工具来实现的。 点击Next,等待片刻后,我们可以看到如下图所示的工程信息窗口,在这里我们可以编辑我们想要创建的工程信息。其中,Type可以改变我们要构建的工程类型,比如:Maven、Gradle;Language可以选择:Java、Groovy、Kotlin。 点击Next,进入选择Spring Boot版本和依赖管理的窗口。在这里值的我们关注的是,它不仅包含了Spring Boot Starter POMs中的各个依赖,还包含了Spring Cloud的各种依赖。 点击...
明理萝 发布于 4天前 评论 1

图应用之拓扑排序(Topological Sort)

这一篇写有向无环图及其它的应用:   清楚概念: 有向无环图(DAG):一个无环的有向图。通俗的讲就是从一个点沿着有向边出发,无论怎么遍历都不会回到出发点上。 有向无环图是描述一项工程或者系统的进行过程的有效工具,比如办公室,到工商局里面注册的时候,他会提示你一个流程,这个流程就是一个有向无环图。 第一步不做,第二步就做不了。 在其期间关心两个问题: 1.工程是否顺利?(拓扑排序) 2.估算整个工程所必须的最短时间。(关键路径)   拓扑排序: 数学语言:某个集合上的一个偏序得到该集合上的一个全序的操作过程。 百度百科: 拓扑序列 通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。离散数学中关于偏序和全序的定义: 若集合X上的关系是R,且R是自反的、反对称的和传递的,则称R是集合X上的偏序关系。 设R是集合X上的偏序(Partial Order),如果对每个x,y属于X必有xRy 或 yRx,则称R是集合X上的全序关系。 比较简单的理解:偏序是指集合中只有部分成员可以比较,全序是指集合中所有的成员之间均可以比较。 注意: ①若将图中顶点按拓...
临江仙卜算子 发布于 4天前 阅读 8

PCI简介(二)

1.x86处理器系统地址空间简介 1.1 CPU地址空间     CPU地址空间是指CPU所能寻址的空间大小,比如对于32位CPU来说,其所能寻址的空间大小为0~4G。这是由CPU自身的地址总线数目决定的。这段空间也被称作CPU物理地址空间。 1.2 内存地址空间     内存地址空间就是指内存控制器所能寻址的空间大小。在x86处理器系统中,内存地址空间是CPU地址空间的一部分。在32位x86系统中,并不是所有的内存地址空间都能被系统使用,如下图所示:     如上图所示,左侧0~4G为CPU所能寻址的地址空间,红框内的空间是能被CPU识别的内存地址空间。右侧为内存控制器所能寻址的空间,大小为4GB,但是只有一部分空间能被CPU所识别。这就是为什么4GB内存在32位x86系统只能被识别为3G多的原因,因为剩下的CPU地址空间被其他设备占用了,比如PCI设备、Local APIC或者IO APIC等,这些CPU地址空间对应的是这些设备的寄存器区域。 1.3 设备的内存映射空间     这里的设备内存映射空间是指硬件机制上实现的设备寄存器访问方式映射,而不是指MMU中虚拟地址到物理地址的映射。CPU通过CPU地址空间中的内存地址空间能访问内存设备,大概的访问流程如下图所示:     CPU发送相关信号给北桥,...
深山野老 发布于 4天前 阅读 3

java 通过网络唤醒实现远程开机

网络唤醒的原理其实是,网卡接收到特定格式的数据包,就会唤醒主板,从而启动机器,所以需要网卡和主板的支持。一般现在的电脑都支持的
千里明月 发布于 5个月前 阅读 3393 评论 6 点赞 10

「华为云」云中优选惠,全场低至2折,6.19-6.30开抢,签到抽P20

广告
华为云年中钜惠,注册抽免费高配(2核4G)云服务器,单人成团2折起抢购热销云产品;云服务器、数据库、安全防护、大数据等150+云产品,更有精彩好礼送不停!
华为云

TeamFlowy——结合Teambition与Workflowy

使用Teambition来管理任务,使用Workflowy来撰写大纲,使用TeamFlowy来将Workflowy里面特定的条目作为任务自动添加到Teambition中。
kingname 发布于 9个月前 阅读 1080 评论 10 点赞 1

Spring、Spring Boot和TestNG测试指南 - 测试@Configuration

[码云地址][1] 在Spring引入Java Config机制之后,我们会越来越多的使用@Configuration来注册Bean,并且Spring Boot更广泛地使用了这一机制,其提供的大量Auto Configuration大大简化了配置工作。那么问题来了,如何确保@Configuration和Auto Configuration按照预期运行呢,是否正确地注册了Bean呢?本章举例测试@Configuration和Auto Configuration的方法(因为Auto Configuration也是@Configuration,所以测试方法是一样的)。 ## 例子1:测试@Configuration 我们先写一个简单的@Configuration: ```java @Configuration public class FooConfiguration { @Bean public Foo foo() { return new Foo(); } } ``` 然后看[FooConfiguration][src-ex1-FooConfiguration]是否能够正确地注册Bean: ```java public class FooConfigurationTest { private AnnotationConfigApplicationContext context; @BeforeMethod public void init() { context = new AnnotationConfigApplicationContext(); } @AfterMethod(alwaysRun = true) public void reset() { context.close(); } @Test public void testFooCreation() { context.register(FooConfiguration.class); context.refresh...
jarchan 发布于 10个月前 阅读 2013 评论 7

比特币深层技术原理浅析

这是一篇主要针对技术小白的文章。本文尽量使用通俗易懂但又不失要义的文字,带你深入剖析当前备受追捧的比特币背后的深层技术原理,最后会简要介绍一下业界市场的现状。
中成才 发布于 12个月前 阅读 5150 评论 30 点赞 12 打赏 4

关于“全球遭受网络勒索攻击”WannaCry2.0病毒软件图文分析

我是技术一般般码农 若分析的不到位 错误 请各位大神指出 分析此软件只是出去安全角度研究;请勿非法使用,工具就不公开,大家有兴趣逛逛我博客哈 liberxue博客:本文请勿转载by liberxue
Liberxue 发布于 1年前 阅读 4885 评论 17 点赞 5

重复性管理——从泛值到泛型以及泛函(上)

为什么用泛型以及它到底解决了什么问题?文中用大量例子介绍了重复性管理的一些具体做法,重点分析了泛型范式在解决重复性问题上的应用。
国栋 发布于 1年前 阅读 1715 评论 35 点赞 12

使用t-io实现简单的rpc调用(一)

1.先从最基础的来 编写接口及实现类 public interface IUserService { public String getList(); public String getList(Integer id,String name); } import cn.ensoft.service.IUserService; public class UserServiceImpl implements IUserService{ @Override public String getList() { return "{'id':'abc','name':'hello'}"; } @Override public String getList(Integer id, String name) { return "{'id':'"+id+"','name':'"+name+"'}"; } } 2.t-io自定义公共类     2.1业务消息包 import java.io.UnsupportedEncodingException; import org.tio.core.intf.Packet; public class MsgPacket extends Packet{ public static final String CHARSET = "GB18030"; private byte[] body; public MsgPacket() { } public MsgPacket(String msg) { try { this.body = msg.getBytes(MsgPacket.CHARSET); } catch (UnsupportedEncodingException e) { } } /** * @return the body */ public byte[] getBody(){ return body; } /** * @param body the body to set ...
龙图腾飞 发布于 1年前 阅读 4667 评论 19 点赞 18

Dubbo与Zookeeper、SpringMVC整合和使用(入门级)

Dubbo与Zookeeper、SpringMVC整合和使用 相关的原理介绍可以参考http://blog.csdn.net/congcong68/article/details/41113239博客写的内容。
小帅帅丶 发布于 1年前 阅读 10927 评论 47 点赞 14

视觉角度: jfinal的Model与Beetlsql比较

JFinal 是目前在 git.oschina.net java中关注最多的项目. 亲自用JFinal开发过有上百张表的项目.项目完结后总要做个总结 这篇文章是介绍项目中开发的一些经历. 会首先列出JFinal的Model开发 (只是Model的使用) 使用Beetlsql替换JFinal的Model (给出一种较爽编码方式) 对比两个在写多条件查询sql时, (就是需要条件判断, 为null的不参与查询) 1.JFinal的Model开发 JFinal的ORM下面称JFinal的Model 这是Model的新增 修改 删除 jfinal 实体类1 public class Elephant extends Model<Elephant> { public static final Elephant Dao = new Elephant(); public List<Integer> findIds() { return Db.query("select id from tb_bird"); } }   jfinal 测试用例1 @Log4j public class ElephantTest { @Test public void testChainSave() { // 无需要创建字段 new Elephant().set("age", 17).set("name", "jfinal").set("desc", "mvc + orm").save(); } @Test public void testUpdate() { Elephant elephant = Elephant.Dao.findById(1); elephant.set("age", 18).update(); } @Test public v...
渔泯小镇 发布于 1年前 阅读 4312 评论 97 点赞 18

Gitlab删库事件的借鉴意义

上周轰动一时的Gitlab事件终于尘埃落定了,不可否认的是这次事故Gitlab官方公关的的很出色,及时公布事件细节并寻求帮助,这让本是一个失误引发的事故,演变为一个真诚面对问题并反思的正面教材。对此,网络上一片好评。
wier 发布于 1年前 阅读 4658 评论 40 点赞 11

使用 TeamCity 实现持续集成(CI)

持续集成(Continuous Integration),也就是我们经常说的 CI,是现代软件开发技术的基础。本文论述了如何使用 TeamCity 持续集成工具来实现项目的持续集成。
waylau 发布于 1年前 阅读 2860 评论 16 点赞 6

接口自动化测试框架搭建

越来越多的公司开始做接口自动化测试,这里搭建一个轻量级的接口自动化框架,希望对大家有所帮助,在这之前希望大家先思考两个问题,什么是自动化测试?为什么要做接口自动化测试?
红焖鲤鱼 发布于 2年前 阅读 5160 评论 9 点赞 2

软件开发性感吗 ?!

软件开发的本质是复杂,有快感,无性感 。而美的感知是建立在亿万年人类进化之上深层次心理需求。
OceanStack 发布于 2年前 阅读 3071 评论 20 点赞 1

100行lua代码实现简单目录浏览器

界面部分用lae实现,无需写代码,100行lua代码实现简单目录浏览器。
ouloba 发布于 2年前 阅读 3975 评论 7 点赞 9

mybatis源码分析之Configuration

mybatis源码分析之Configuration
udbwcso 发布于 2年前 阅读 3162 评论 6 点赞 4

性能测试艺术[已经迁移]

已经迁移 https://www.jianshu.com/p/522913cded6d 多谢关注    
磁针石 发布于 2年前 阅读 7663 评论 11 点赞 22

编辑-发布-开发分离:git作为NoSQL数据库

动态网页是下一个要解决的难题。我们从数据库中读取数据,再用动态去渲染出一个静态页面,并且缓存服务器来缓存这个页面。既然我们都可以用Varnish、Squid这样的软件来缓存页面——表明它们可以是静态的,为什么不考虑直接使用静态网页呢? 为了实现之前说到的编辑-发布-开发分离的CMS,我还是花了两天的时间打造了一个面向普通用户的编辑器。效果截图如下所示: 作为一个普通用户,这是一个很简单的软件。除了Electron + Node.js + React作了一个140M左右的软件,尽管打包完只有40M左右 ,但是还是会把用户吓跑的。不过作为一个快速构建的原型已经很不错了——构建速度很快、并且运行良好。 尽管这个界面看上去还是稍微复杂了一下,还在试着想办法将链接名和日期去掉——问题是为什么会有这两个东西? 从Schema到数据库 我们在我们数据库中定义好了Schema——对一个数据库的结构描述。在《编辑-发布-开发分离 》一文中我们说到了echeveria-content的一个数据文件如下所示: { "title": "白米粥", "author": "白米粥", "url": "baimizhou", "date": "2015-10-21", "description": "# Blog post \n > This is an example blog post \n L...
Phodal 发布于 2年前 阅读 3880 评论 8 点赞 4

简述 Microservices(微服务)

自 2014 年始,Microservices(微服务)一词越来越火爆,不谈 Microservices 彷佛就 out 了。那么什么是 Microservices?Microservices 架构与传统的架构有什么区别?何时应该采用 Microservices?如何构建 Microservices? 本文,就针对上述提到的问题,来简单介绍下 Microservices。
waylau 发布于 2年前 阅读 3239 评论 4 点赞 8

老翟书摘:从《大野耐一的现场管理》看软件工程管理

![输入图片说明](https://static.oschina.net/uploads/img/201602/11213623_brK3.jpg "在这里输入图片标题") 前年,接触到了[《丰田生产方式》](http://my.oschina.net/zjzhai/blog/522423),就对大野耐一这个人十分感兴趣,就专门找他的书来看。 同时,我一直都有一种“感觉”:我们软件工程的管理方式都是从传统工业借鉴的。比如被吹上天的“精益”概念及“看板”概念。然而,这些概念里,少有人说明这样地借鉴的理由及借鉴了哪些,放弃了哪些。想回答这个问题就必须分别弄清楚传统工业和软件工程的本质。 我尝试在这本书了解一些关于传统工业的管理概念。以下是书摘: ####“精益”的概念的产生 >1990年,美国麻省理工学院的詹姆斯 沃麦克等多位教授,在《改变世界的机器》一书中,首次以“精益生产”(learn production)为核心介绍丰田生产方式,自此,欧美的一些企业才开始把丰田生产方式作为全球化以及提高生产率的标准和尺度。 ####领导说服力:坦诚即代表强劲的说服力 > 要想说服别人或是得到理解,若没有什么根据或道理是行不通的。 > 不要总是认为自己的言行没有错误,意识到错之后就应该爽快地说出来。如果有了这种胸怀,指挥现场以及下属不就变得轻而易举了吗...
翟志军 发布于 2年前 阅读 1950 评论 9 点赞 4

TCP可靠传输&流量控制&拥塞控制

TCP 可靠性算法解释,TCP 可靠性传输的理论知识 LwIP协议栈推荐
满小茂 发布于 2年前 阅读 9107 评论 7 点赞 23
顶部