自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(334)
  • 资源 (1)
  • 论坛 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 【Micro Server】Introduce of 'Micro Server'

Part1.What's 'Micro Server'?       Microservices involve an architectural approach that emphasizes the decomposition of applications intosinglepurpose, highly cohesive and loosely coupled servic

2017-04-21 09:33:43 977 12

原创 【NIO】解读 java.nio.channels.Selector

目录Part 1. What's Selector?Part 2.Why Selector?Part 3. How to use Selector?1) Create Selector2) Channel's Register3) Selection Key4) Selector.select()5) Selector.selectedKeys()Part 4.Demo TrainPart 1. What's Selector?Selector is the ..

2020-08-01 11:20:24 234

原创 【NIO】解读 java.nio.channels.Channel

目录Part 1. DefinePart 2.Implementation1. Channel2.FileChannel3.ServerSocketChannel4.SocketChannel5. ServerSocketPart 3. Demo1. FileChannel2. ServerSocketChannelPart 1. DefineDifference between NIO's Channel and Stream:1 NIO ...

2020-07-24 21:27:10 739

原创 【NIO】解读 java.nio.Buffer

目录Part 1. BackGroudPart 2.Doc Guide1. What's the buffer?2. What's the essential feature?3. how to operate buffer?4. Something you may wanna knowPart 3. Analysis as container and 'Read & Write' freature.Part 4. Demo TrainPart 1. ...

2020-07-20 20:30:30 130

原创 【FastJSON】使用serializeUsing定制序列化、反序列化

在fastjson 1.2.16版本之后,JSONField支持新的定制化配置serializeUsing,可以单独对某个类的某个属性定制序列化、反序列化。1.fastjson定制序列化、反序列化接口支持1)序列化package com.alibaba.fastjson.serializer;public interface ObjectSerializer { ...

2020-04-11 10:37:04 2310 1

翻译 【Web Design The Missing Link】More On Representation Design

包括 "self"参考和 "type"属性Google和GitHub的示例说明了我们喜欢的另外两个设计选择。第一个是包括一个kind属性(有时是拼写成kind或isA)。 第二个包括一个selfLink属性,在GitHub示例中称为url。 此属性使用了许多不同的拼写方式-我们喜欢名称self,它是ATOM规范中标准化的关系名称,已在IANA中注册,并由许多其他名称复制。尤其要注意,这些...

2020-01-22 09:51:35 92

翻译 【Web Design The Missing Link】Chatty APIs

REST API比较“琐碎(chatty)”是一个普遍的误解。如果您的API过于琐碎,那是因为您为客户设计了错误的资源,而不是因为您使用了REST。“ REST意味着琐碎”的误解可能来自对REST-API必须看起来像完全标准化的关系数据库规范。在规范化设计中,每个不同的概念都有单独的资源,例如订单,客户,帐户等。 如果仅定义这些资源,则想要向用户显示的UI客户端则必须执行许多GET才能检索订单,账...

2020-01-22 09:51:23 70

翻译 【Web Design The Missing Link】Handing Error

大多数API开发人员首先考虑API开发功能的完成,然后考虑异常和错误处理,但是对于所有客户端来说,错误处理的质量是API体验的关键部分。为什么好的错误设计对API设计人员来说尤其重要?从使用Web API的应用程序开发人员的角度来看,该接口另一侧的所有内容都是黑盒的。因此,错误成为提供有关如何使用API的上下文和可见性的关键工具。首先,开发人员学会通过错误来编写代码。 极限编程模型的测...

2020-01-22 09:51:12 76

翻译 【Web Design The Missing Link】Modeling Actions

您可能会遇到的另一种情况是要触发动作。假设您有用于标识某个过程的URL,并且希望能够启动,停止或暂停该过程。 在这种情况下,许多设计师都采用面向动词的,类似于RPC的API设计,但是有些设计选项仍然忠实于基于名词的Web实体模型。 一种是提供流程的状态属性,并允许客户端将其设置为启动,停止或暂停。另一个选择是允许客户端将操作请求发布到相关的URL。例如,流程资源可能具有一个名为actionRequ...

2020-01-22 09:50:42 74

翻译 【Web Design The Missing Link】Authentication

几年前,API设计指南将包含有关使用哪种身份验证方法的讨论。 当时领先的网站使用的标准或级别不同。 如今,几乎每个主要的Web-API都使用OAuth2。示例包括PayPal,Twitter,Google,Facebook,GitHub等。 您应该做同样的事情。使用OAuth 2.0意味着公开API的网络或移动应用无需共享密码。它允许API提供者撤销单个用户和整个应用程序的令牌,而无需用户更改...

2020-01-22 09:50:37 88

翻译 【Web Design The Missing Link】Complement With An SDK

如果您的API遵循良好的设计规范,并且是自洽(self-consistent)的,基于标准的并且有据可查的,那么使用您的API的应用程序开发人员可以在没有客户端SDK的情况下让他运转起来。记录良好的代码示例也是至关重要的资源。但是,大多数客户端程序员更喜欢在其选择的实现语言中使用精心设计的SDK,而不是直接使用HTTP-API。实际上,使用SDK的程序员可能会认为特定于语言的SDK是API,而完全...

2020-01-22 09:50:31 76

翻译 【Web Design The Missing Link】Versioning

API的版本控制是一个有争议的主题,您会在互联网上找到许多相互矛盾的指南。最常用的模式可能是在URL的路径段中带有版本标识符的模式。由于在版本控制方面几乎没有共识,因此仅提供有关该主题的意见可能不会很有帮助,但我们提供了两种想法:1.完全不进行API版本控制是一种明智的方法,越来越受到关注;2.链接和版本同时出现在url中不处理版本控制我们都知道API需要演变,并且在不破坏...

2020-01-22 09:50:18 110

翻译 【Web Design The Missing Link】Conclusion

近年来,随着Web API在商业上的重要性日益提高,Web API设计的最新水平和创新步伐不断提高。Web API基于万维网技术,特别是在HTTP和URI规范。 设计Web API时,最好将自己尽可能地限制在那些规范中能找到的概念和技术,这可以最大程度地减少客户端必须学习的特定于您的API的数量。HTTP和URI内在的概念是面向实体的,因此,以这种风格设计API更像是设计数据库,而不是设计典型...

2020-01-22 09:49:59 146

翻译 【Web Design The Missing Link】Appendix: Other Approaches to Representing Links

Chapter ResourceRepresentational State Transfer (REST), Roy Thomas Fielding2000 RESTful API Design Webinar, 2nd edition, Brian Mulloy, 2011Apigee BlogAPI Craft Google GroupChapterAppendix: O...

2020-01-22 09:49:54 119

翻译 【Web Design The Missing Link】Designing URLS

针对URL,使用名词而非动词REST面向数据模型的结果是,每个URL都可以被识别为事物。 这意味着,对于由API客户端的开发人员读取和编写的“知名URL”和“查询URL”,应该由名词组成,名词是用于指定事物的自然语言。众所周知的URL在上面的示例中,用于收集已知狗的URL为https://dogtracker.com/dogs。在API中,始终有必要发布至少一个众所周知的URL。...

2020-01-22 09:47:51 99

翻译 【Web Design The Missing Link】Designing Representations

目录使用JSON让JSON简洁化包含链接为什么这样更好?当有链接时URI模板还有用吗?类比万维网包含链接,步骤二注意事项在资源中如何表示链接?谁使用链接?更多API设计的许多讨论都是从如何设计URL开始的。在像REST这样的面向数据的模型中,我们认为最好从表示形式(Representations)设计开始。 我们将在“Designing URL...

2020-01-22 09:47:42 248

翻译 【Web Design The Missing Link】A Data-orinted Design Paradigm

REST API专注于它所暴露的问题域(problem domain)的基础实体,而不是操纵这些实体的一组函数。按照前言中介绍的示例,假设我们的议题(问题域)是”如何追踪狗及其主人“。 我们可能公开的主要实体包括:1、狗狗的集合:它的url可能是 https://dogtracker.com/dogs.2、单独的狗:每条狗都单独有一个url。我们稍后将讨论其URL格式。我们还需要...

2020-01-22 09:47:32 75

翻译 【Web Design The Missing Link】Web API and REST

API 设计者的工作API的工作是使应用程序开发人员尽可能地高效。在制作API时,您应该从应用程序开发人员的角度考虑设计选择。为什么? 看看下面的价值链。 应用程序开发人员是整个API策略的关键。编写API时,主要的设计原则应该是最大程度地提高应用程序开发人员的生产力和成功率。正确设计很重要,因为设计可以传达如何使用某些东西。 那么问题就变成了:对应用程序开发人员来说,利益最大化的...

2020-01-22 09:47:16 179

翻译 【Web Design The Missing Link】Introduction

根据定义,Web API使用HTTP。 在Web_API的早期,人们花费大量时间和精力来弄清楚如何在HTTP之上实现CORBA和DCOM等上一代分布式技术的功能。 这导致了诸如SOAP和WSDL之类的技术。经验表明,与大多数Web API相比,这些技术更复杂,更重且更易碎。取代SOAP和WSDL的想法是,您可以更直接地使用HTTP,而减少对上层技术的运用。 大多数现代Web API都比SOAP或W...

2020-01-22 09:46:57 91

翻译 【Web Design The Missing Link】Foreward

随着Web API在商业和技术中变得越来越重要,Web API设计的最新水平正在不断发展。作为API管理的领导者,Apigee与数百个客户一起开发和管理大量的API。通过反思我们的经验以及我们的客户和整个行业的经验,我们获得了一些见识,了解API设计创新正在带来真正的好处并成为显着的趋势。通过本书我们试图捕捉过去几年中出现的API设计中的一些重要趋势。本书力求简洁明了,但并不旨在成...

2020-01-22 09:46:43 93

原创 【IDEA】MAC 修改".vmoptions"导致 IDEA 无法启动 解决方案

Idea Version: “2019.3”Question:在IDEA的“Help | Edit Custom VM Options”菜单中修改了“.vmoptions”配置,(改错了文件路径),重启多次,软件一直打不开。即便卸载重装软件,问题依然复现。一、".vmoptions" 官方描述 Configuring JVM options and platform p...

2020-01-20 16:29:49 20003 26

原创 【Clean Smell】Why ‘lambda'?

最近在bibi看了一个视频,Up主一步步引出Lambda的方式看着很精彩,本文做个分享。【背景】如下,部门有十名员工,过滤"35岁以上","薪资高于5000" 的员工,怎么做呢?public class Employee { /** * 姓名 */ private String name; /** * 年龄 *...

2020-01-05 11:16:19 138 1

原创 【Bash】脚本也可以单步、断点调试吗?

01—bash自带调试方案

2019-10-08 21:38:57 1246 1

原创 【New Book】《Pure-Bash-Bible》- Dylan Araps

Forward 不知道您在使用linux系统时,是否经常需要编写脚本来处理复杂、重复的场景?比如对“独立程序”的启动、停止、暂定、状态检查,比如多台机器替换相同的文件,等等…… 对于一些逻辑简单的轻量级脚本,linux环境下使用bash来完成会是大部分人的首选,bash可在无任何其它语言或第三方依赖的安装环境下,快速写出脚本程序。 小编入门bash时...

2019-10-07 09:41:18 363

原创 【Think in American English】那些有影响力的报纸、杂志

一、前言 《中国合伙人》里的王阳曾说,“一个英语很好可以自如地读china daily的人,在华尔街日报上读相同一条新闻时,他却几乎看不懂,他很吃惊,他问我why?,我告诉他 chaily daily虽然是英文写的,但华尔街日报才是美式思维”。 我之前表达过观点,英语只是工具,为了掌握最新的计算机技术、拥有更广的技术视角,靠“翻译软件+VPN”即可搞定。本文介绍一些...

2019-09-23 22:18:12 667

原创 【Shell】独立程序(jar、class) - 启动、停止、重启 - 脚本

前言 当需要脚本来管理独立程序的启动、停止、重启、状态查询等功能时,小编为您提供一个模板,便于您参考。 脚本说明 run.sh #用于管理程序执行的脚本 run.conf #程序执行 配置项脚本展示 注:关键代码部分,已做解释。 1.run.sh#!/bin/sh### ===========...

2019-09-22 12:00:42 264 1

原创 【科普】“GPS周数翻转”会是新的“千年虫”事件吗?

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/一、导读0.千年虫计算机2000年问题,又叫做“千年虫”、“电脑千禧年千年虫问题”或“千年危机”。在某些使用了计算机程序的智能系统(包括计算机系统、自动控制芯片等)中,由于其中的年份只使用两位十进制数来表示,因此当系统进行(或涉及到)跨世纪的日期处理运 算时(如多个日期之间...

2019-09-09 23:41:10 673

原创 Arthas工具使用推荐

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/ 今日之主角,Arthas,中文名"阿尔萨斯";阿里巴巴开源,项目地址:https://alibaba.github.io/arthas/零、Content一、what? Arthas 是Alibaba开源的Java诊...

2019-09-02 18:31:18 715 1

原创 【墙外的IT世界】CROKAGE: A New Way to Search Stack Overflow

前言Stack Overflow(SO)最强大的特性之一是随着时间的推移而不断积累开发人员上传的知识贡献(目前社区成员提供了超过1800万个问题和2700万个答案)。当开发人员遇到编码问题时,他们可以在stackoverflow中,搜索其特定难题是否已经提供了解决方案。Why CROKAGE?程序员在搜索问题时,可能会使用口语 - “如何在特定位置插入元素数组?” - 或者他们可...

2019-08-26 21:45:22 210

原创 【墙外的IT世界】Java-design-pattern 一个有意思的社区推荐

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/本篇不生产“design pattern”代码,只推荐一个“真香”的repository、还有作者,哦对,还有他的gitter聊天室。1.分享内容 伴随java语言更新而不断更新的‘Java-design-pattern’论坛。 git仓库地址:...

2019-08-26 21:39:50 534

原创 【墙外的IT世界】"结缘" github 的第 "N+1" 天

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/ 2016年,北京,以VCS(version control system)的身份,初识“github”。后来渐渐觉得,“github”存在的意义远不止vcs,更是我看世界的一扇窗。 截止2019年5月,在全球范围,用户量超三千七百万,超...

2019-08-25 22:12:52 273

原创 【墙外的IT世界】昨天、今天、明天

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/ 恩师曾教导,“程序员,学好了英语,你会发现,好似多了一个新世界”。 小编年芳二八,免贵姓程,名序员。就职海淀某互联网工厂,从事“车联网”方向后端研发工作。 学计算机后深受恩师教诲,对外语的重视不亚于计算机技术学习,...

2019-08-25 21:51:05 1154 9

翻译 【java】Try With Resources

英文原文:https://www.journaldev.com/592/java-try-with-resources 今天和大家聊一下java中的 “try with resource”用法。通过“try-with-resource”实现资源自动管理,是java 7的一个重要特性。 (译者注:此处resource,指程序运行中打开的资源,比如:java strea...

2019-06-23 20:18:15 521

翻译 【HTTP Live Streaming】(四)苹果公司提供的7款 hls 工具

一、目标 了解apple官方提供的工具,可以帮助我们细分视频流并创建成功传输所需的播放列表。二、介绍 有几种工具可以帮助您设置HTTP Live Streaming服务,下面分别介绍: 1.Media Stream Segmenter(mediastreamsegmenter) 通过UDP网络连接或stdin接收MPEG-2传输流...

2019-05-18 21:54:44 795

翻译 【HTTP Live Streaming】(三)HLS 索引文件 && 常用场景下 功能介绍

一、 索引文件简介 HTTP Live Streaming将音频和视频作为一系列小文件发送,通常持续时间约为6秒,称为媒体段文件。 索引文件或播放列表提供媒体段文件的URL的有序列表。 HTTP Live Streaming的索引文件保存为M3U8播放列表,这是用于MP3播放列表的M3U格式的扩展名。 客户端访问索引文件的URL,然后客户端按顺序请求索引文件。 您可...

2019-05-18 21:49:24 550

翻译 【HTTP Live Streaming】(二)HLS 架构 && 部署 - 梳理

一、宏观 从概念上讲,HTTP Live Streaming由三部分组成:服务器组件,分发组件和客户端软件。如图: 在典型配置中,硬件编码器接收音频 - 视频输入,将其编码为HEVC视频和AC-3音频,并输出分段的MPEG-4文件或MPEG-2传输流。然后,软件流分段器将流分成大量短媒体文件,这些文件放在Web服务器上。分段器还创建并维护包含媒体文件列表的索...

2019-05-18 21:31:48 290

翻译 【HTTP Live Streaming】(一)苹果公司 - 流媒体传输技术 - 概览

零、前言 前几个月偶然接触了下点播功能,自己实现了nginx-rtmp做直播,client端分别尝试了拉取flv和m3u8+ts之后,hls切分文件的思想吸引了我,把在apple官网学习到的内容翻译到自己博客里。一、是什么? HTTP直播(HLS)通过HTTP从普通网络服务器发送音频和视频,在基于iOS的设备(包括iPhone,iPad,iPod touc...

2019-05-18 21:16:36 549

原创 【Aviator】(三)缓存引起的Full GC解决

【背景】 1.压测试算接口, 每分钟3600次请求 2.每1次试算需计算30个公式 3.通过监控,发现在上述条件下,30mins内老年代每分钟触发一次垃圾回收 (备注:老年代触发的 gc 是 full gc 会导致应用进程停顿 对性能的影响比较大)【思路】 1.静态变量的生命周期会伴随jvm全程,我封装的工具类中,使用了很多静态方法...

2019-04-05 13:40:04 1623 9

原创 【流媒体】nginx + nginx-rtmp-model 服务器搭建 && 推拉流测试

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/No_1.what is 'nginx media server'? nginx通过rtmp模块提供rtmp服务, ffmpeg推送一个rtmp流到nginx, 然后客户端通过访问nginx来收看实时视频流. HLS也是差不多的原理,只是最终客户端是通过HTTP协...

2019-03-31 21:53:14 1980 6

原创 【流媒体】rtmp && hls 协议 梳理、比较

推荐一个不错的AI教程:https://www.captainbed.net/blog-vincent/ 目前接触视频直播、点播的协议主要是rtmp和hls,这篇文章就来认识下这2种协议各有什么特色,目的在做直播、点播功能时,对2种协议有对比、有认识。一、简介 复习下网络传输协议: add:“七层网络”通俗易懂的文章:h...

2019-03-31 21:52:37 724

《JSF入门 - 简体中文版》.pdf

需要JSF资源的同学,可以来下载。

2017-04-30

暂7师师长常乃超的留言板

发表于 2020-01-02 最后回复 2020-01-02

AOP -- XML配置的一个问题

发表于 2017-11-02 最后回复 2017-11-04

GitHub上有哪些好一点的练习java基础代码的项目

发表于 2017-08-21 最后回复 2017-11-02

Eclipse中包结构和目录结构乱了,很诡异,请大神指点迷津,也让小生学习一下。

发表于 2017-07-15 最后回复 2017-08-21

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除