为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网官方认证

精英讲师

老卫 全栈工程师 关注Ta 老卫,英文名 Way Lau,80后程序员,waylau.com站长,关注编程、系统架构、性能优化。在 IT 公司担任项目经理、架构师、高级开发顾问等职位,是 CSDN、 开源中国、云栖社区等技术社区专家。对技术抱有极大的热情,坚持每天学习。喜欢开源,乐于分享。为开源社区贡献了近30本开源书籍详见(https://waylau.com/books/),《分布式系统常用技术及案例分析》一书已出版。

手记

分享经验交流心得,学习前沿流行技术
  1. MyBatis四大核心概念 本文讲解 MyBatis 四大核心概念(SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper)。 MyBatis 作为互联网鸿运国际hv128映射工具界的“上古神器”,训有四大“神兽”,谓之:SqlSessionFactoryBuilder、SqlSessionFactory、SqlSession、Mapper。可以说,了解了这四大核心,便可知 MyBatis 八九。 SqlSessionFactoryBuilder 从命名上可以看出,这个是一个 Builder 模式的,用于创建 SqlSessionFactory 的类。SqlSessionFactoryBuilder 根据配置来构造 SqlSessionFactory
    557浏览 11推荐 0评论
  2. HTTP协议中的Accept与Content-Type的区别 在开发REST服务时,不可避免的需要了解HTTP协议的内容,其中,我们经常会用到 Accept 与 Content-Type,那么这两者有什么区别和联系呢? 1. 类型不同 类型不同Accept属于请求头, Content-Type属于实体头。 Http报头分为通用报头,请求报头,响应报头和实体报头。 请求方的HTTP报头结构:通用报头|请求报头|实体报头 响应方的HTTP报头结构:通用报头|响应报头|实体报头 2. 作用不同 Accept代表发送端(客户端)希望接受的数据类型。 比如:Accept:text/xml; 代表客户端希望接受
    78浏览 0推荐 0评论
  3. 敏捷,但不简单 企业里面都在喊敏捷开发,仿佛敏捷就是一切提升效率的源泉。 但其实实施敏捷开发并不简单,甚至很多企业、很多团队都在实施一种“伪敏捷”。“伪敏捷”非但不能真正提高效率,反而让组员频繁返工,影响产品质量,从而导致产品的失败。 在实施敏捷方法中,不可避免会由一些仪式,而过度关注这些仪式反而有时会掩盖了敏捷的核心思想,就是迭代式地对反馈进行回应。我们不需要过度的计划,不需要过度的设计,也不需要过度的架构。我们已经看到了这一点,但如果我们稍不留意,就会从光谱的一边跑到
    95浏览 3推荐 0评论
  4. 不要相信 Double! 在Java浮点类型中,经常会使用 Double 类型。在大部分场景,使用 Double 并不会有什么问题。但如果是数值计算,就要小心了。 眼见不一定为实 如果我们编译运行下面这个程序会看到什么? public class Test{ public static void main(String args[]){ System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.println(123.3/100); } }; 也许你脑子马上有了答案,但对不起,你的答案多半不准确,因为结果确实是: 0.06000
    2784浏览 20推荐 1评论
  5. 如何提高代码的可维护性 提高代码的可维护性的出路就是: 注意代码规范! 注意代码规范! 注意代码规范! 要统一语言 为啥一直在强调代码规范呢?好比大家都是说中国话,一个团队如果十个人有九个是说普通话的,但其中有一个是说的“川普”,虽然,讲“川普”的人,听其他九个人表达都没有问题,但如果要让其他九个人都能顺利听懂“川普”,那就有点困难。而且容易生出歧义。 so,团队里面,要讲统一的语言。这种语言,可以是普通话,也可以是“川普”,但必须要统一。统一语言有利于减少沟通的障碍。 统一的代码
    1373浏览 5推荐 1评论
  6. Spring RestTemplate 调用天气预报接口乱码的解决 Spring RestTemplate 调用天气预报接口可能遇到中文乱码的问题,解决思路如下。 问题出现 我们在网上找了一个免费的天气预报接口 http://wthrcdn.etouch.cn/weather_mini?citykey=101280601。我们希望调用该接口,并将返回的数据解析为 JSON 格式。 核心业务逻辑如下: private WeatherResponse doGetWeatherData(String uri) { ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class); String strBody = null; if (response.getStatusCodeVa
    739浏览 6推荐 1评论
  7. 老卫谈技术-掌握“复制-粘贴-改”的IT技能 “Stop Trying to Reinvent the Wheel(不要重复造轮子 )”, 可能是每个程序员入行被告知的第一条准则。在公司里面,我也会对团队里面每个新进的成员反复灌输这个理念。但要真正做到这一点也非易事。 寻找轮子 所谓“轮子”可以理解为行业里面的技术解决方案。特别是当今开源社区的盛行,开源软件以及开源技术方案层出不穷,这为寻找轮子提供了丰富的途径。 避免重复造轮子 一个轮子能够个被复用,体现了软件的复用性。 使用轮子,本身就是“站在巨人的肩膀上”,最大化享受当今技
    1912浏览 15推荐 1评论
  8. Spring MVC 使用 Jetty 作为内嵌服务器 Jetty 是高性能的 Servlet 容器,经常会在开发环境中作为服务器来使用。在本文中,我们将使用 Spring Web MVC 技术来实现 REST 接口,并使用 使用 Jetty 作为内嵌服务器,方便测试。 接口设计 我们将会在系统中实现两个接口: GET http://localhost:8080/hello GET http://localhost:8080/hello/way 其中,第一个接口“/hello”将会返回“Hello World!” 的字符串;而第二个接口“/hello/way”则会返回一个包含用户信息的JSON字符串。 系统配置 我们需要在应用中添加如下
    1072浏览 8推荐 0评论
  9. 老卫谈技术面试-服务化、微服务及Spring Cloud 作为职场老手的你,也许对服务化(SOA)并不陌生。当今 Web 2.0 架构如火如荼,越来越多的企业正在进行着服务化的改造。最为著名莫过于 Amazon 。 服务化 早在2002年,Amazon 就已经开始进行服务化的改造了。Amazon 的 CEO杰夫·贝索斯对市场有着超乎常人的理解和预见: 从今天起,所有的团队都要以服务接口的方式,提供数据和各种功能。 团队之间必须通过接口来通信。 不允许任何其他形式的互操作:不允许直接链接,不允许直接读其他团队的数据,不允许共享内存,不允许任何形式的
    3050浏览 11推荐 0评论
  10. 老卫谈技术面试-如何真实反映出自己的经验 老卫作为技术面试官已经多年,也遇到过形形色色的面试者,深知面试准备的重要性。 面试,就是让面试者真实反应出个人技术水平给面试官。对于面试官来说,“真实”往往是作为面试官的第一考察要素。毕竟,如果你牛头不对马嘴,前言不搭后语,假话连篇,实际上不管你的水平多高,基本上是没有任何录取机会的。 作为中高级工程师,面试者所要做的准备自然要更多更充分。这里说的准备,并不是让你去做假、去遍项目经验。恰恰相反,还是要以“真实”为准绳。你不能胡编一段工作经验,但是可以“美化
    1900浏览 11推荐 1评论
  11. Spring Boot使用Redis提升天气预报应用的并发访问能力 有时,为了提升整个网站的性能,我们会将经常需要访问数据缓存起来,这样,在下次查询的时候,能快速的找到这些数据。 缓存的使用与系统的时效性有着非常大的关系。当我们的系统时效性要求不高时,则选择使用缓存是极好的。当系统要求的时效性比较高时,则并不适合用缓存。 本文,我们将演示如何通过集成 Redis 服务器来进行数据的缓存,以提高微服务的并发访问能力。 为啥我们需要缓存 在之前的文章中,我们已经介绍了如何使用 Spring Boot 来快速实现一个天气预报服务应用micro-weath
    3024浏览 27推荐 2评论
  12. Spring Data Elasticsearch与ES的关系 Spring Data Elasticsearch 与 Elasticsearch 其实是两个不同的产品。本文带你简单的了解下,Spring Data Elasticsearch 与 Elasticsearch 的关系。 Elasticsearch Elasticsearch 是 NoSQL 之一,是用于构建大数据全文检索的利器。见课程(https://coding.imooc.com/class/125.html)。Elasticsearch 是采用 Java 编写的,提供丰富的 API 可供用户选择。 学习使用这些 API 是有学习成本的。要完全掌握整套 API 可能需要数月的时间。那么,怎么办呢?是否有速成的方式,
    1092浏览 11推荐 1评论
  13. 你应该了解的 Spring Cloud 是什么 很多同学都了解了Spring ,了解了 Spring Boot, 但对于 Spring Cloud 是什么还是比较懵逼的。 本文带你简单的了解下,什么是Spring Cloud。 Spring Cloud 是什么 从字面理解,Spring Cloud 就是致力于分布式系统、云服务的框架。 Spring Cloud 是整个 Spring 家族中新的成员,是最近云服务火爆的必然产物。 Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具,例如: 配置管理 服务注册与发现 断路器 智能路由 服务间调用 负载均衡 微代理
    5292浏览 17推荐 1评论
  14. Spring Boot 应用是如何找到Redis服务的 在《从天气项目看Spring Cloud微服务治理 》课程(https://coding.imooc.com/class/177.html)中,有学员对 Redis 的使用产生了疑问。因为,在应用中没有指定任何的 Redis 配置,但应用启动之后,就能跟本地的 Redis 连接上了。这是为什么呢? 其实,如果你了解 Spring Boot 自动配置机制,就应该知道,只要 Spring Boot Data Redis Starter 的 jar 包存在Java 类路径中,如果应用没有配置 Redis 的信息,则 Spring Boot 应用就会自动去读取本地的Redis 的启动IP及端
    3406浏览 11推荐 0评论
  15. Spring Cloud应知必会——从天气项目看Spring Cloud微服务治理 接到慕课网的通知,本人所设计的视频教程《基于Spring Cloud的微服务实战》于 2018年1月22日下午发布了!课程地址:https://coding.imooc.com/class/177.html。 课程从策划、编码、录制到后期制作,差不多花费了4-5个月的时间。课程中的每行代码都是笔者亲自敲的,光写代码都也要好几个月时间。编码期间也是遇到了很多技术问题,埋了很多坑,其中心酸只有自知。 同时,慕课网的后期制作人员也是加班加点,力求将课程最好的一面呈现给大家。实在是辛苦! 那么,这门课程到底是怎么样的? 课程
    3143浏览 11推荐 0评论
  16. 使用 Bootstrap 4 正式版重新定义网站的新Style! 2018年01月18日,Bootstrap 4.0.0 正式版现已发布,更新内容方面,相对于之前的测试版(Beta版本),正式版没有重大的改变,但做出了一些关键的改进,并解决了一些棘手的错误。 Bootstrap 4.0.0 的每个示例都了重大修改,其中删除了一些过时的示例,添加了一些新的示例,并且彻底改变了其他一些示例。官方示例,可见 https://getbootstrap.com/docs/4.0/examples/。 Bootstrap 的主题今年将得到重大更新,官方表示将会推出十个全新的主题。当前的目标是第一季度推出的主题都建立在 Boot
    3082浏览 9推荐 1评论
  17. 学习的过程就是建立知识体系的过程 很多学员在学习过程中,都会遇到这样的疑问,买了很多课程、书籍,但一学起来,发现越学,越是不懂,就犯困。于是开始怀疑,自己是否值得在技术路上继续投入,是否适合继续干技术这一行。 其实,如果单从技术点来讲,学习技术还是比较简单的。比如参与到老卫的课程中来,学习Spring Boot这个技术点应该不难 。但学习过程中,学员们也应该感觉到了,你学习的越多,你不懂的越多,疑惑就最多。这是为什么呢? 因为学习就是由点及面的过程,Spring Boot只是一个切入点,随之而来的是整个 Java
    2909浏览 12推荐 0评论
  18. Spring Boot设置Hibernate DDL 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中, 有学员对课程中所使用的 Hibernate DDL 表示不解决。特作答如下: 在课程中,我们经常推荐如下配置: spring.jpa.hibernate.ddl-auto=create-drop 使用该配置,Spring Boot 应用在启动过程中,就能根据实体,来自动映射成为鸿运国际hv128的表结构。create-drop 意味着,创建表结构前,会把之前已经存在的表结构先 drop掉。好处在于,每次的表结构都是全新的。 当然,也有学员产生了困扰。好不容易在表结构中创建了一堆的数
    4691浏览 7推荐 0评论
  19. 项目管理心得——你为啥会觉得自己很忙? 在项目组中,你经常会觉得自己很忙。一会而又要参加XXX会议,一会又要紧急修复线上的BUG,同时,还有几个新人要跟你请求如何编码的问题,而后又瞄了几眼问题单,瞬间脑子都大了。 你不得不加班加点。别人都回去了,你还在苦逼的编码。最后,为了能挤上最后的一班公交,你不得不放弃还未解决的任务,心里盘算着明天早点过来,在上班前解决掉。 结果,第二天,由于睡眠不足,脑子发晕,遗留的问题始终没有解决,被Boss在早会上批了。 于是,你开始思考人生,作为老黄牛的你,为啥会得不到上级的
    1914浏览 15推荐 5评论
  20. 项目管理心得——你为啥会觉得自己很闲? 在一个项目组中,作为新人的你,会觉得比较闲,好像领导也没有分配啥任务,或者分配的任务也没啥难度。感觉这样行业也就是这样的,早九晚五很快进入了安逸的状态。 殊不知,危机正悄然临近。 实际上,在国内的软件开发行业,基本上不可能存在空闲的时候,特别是互联网公司,九九六的工作制度大有存在。如果你觉得很闲,可能有以下原因: 领导不愿意分配任务给你 如果你是领导的得力干将,那领导会想法设法的找你办事情,因为你办事让领导觉得靠谱;如果相反,领导都不愿分配任务给你,只能说
    1652浏览 11推荐 1评论
  21. Elasticsearch 使用中文分词 本文演示了如何使用IK Analysis 插件来实现在 Elasticsearch 中的中文分词功能。 使用中文分词 在“Spring Boot应用企业级博客系统”课程中(http://coding.imooc.com/class/125.html),所有的博客功能都已经完成了。读者朋友们开始愉快地使用博客来发表博客了。但如果朋友们足够细心的话,发现在输入中文的标签的时候,存在一定的问题。 比如,当我们想将某个博客标记为“大神”时,博客系统却将这个单词粗暴的分成了如图21-2所示的两个词“大”和“神”。显然,这并不符合用户的使用
    3187浏览 11推荐 1评论
  22. 论技术选型的重要性,采用前端模板还是后端模板? 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html), 有学员问道 ,是可以完全返回JSON数据, 交由前端来渲染。这样,是否就不需要 Thymeleaf 模板了。 理论上,是可以完全返回JSON数据, 交由前端来渲染。但这样同样会引入另外一个问题,那就是必然也会需要在一个前端的模板,比如 AngularJS 等。也就是说,问题变成了是选择前端模板还是后端语言模板了。 鉴于本课程大多是面向Java开发工程师,在理解上,对于后端的Java模板
    1227浏览 8推荐 4评论
  23. Elasticsearch产生数据的两种方式 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html), 有学员问道 ,生产中ES里面的数据是如何生成的?测试用例中通过ElasticsearchRepository注入三条数据,再通过ElasticsearchRepository查询出来。在实际生产场景中是如何处理的呢? 是在对RDBMS插入/更新数据时,同时通过ElasticsearchRepository对ES进行数据插入/更新? 还是说在ES和RDBMS间建立同步机制。。。? 这个问题问的很好,其实,他在问题已经给出了答案。 基本上会
    1110浏览 3推荐 0评论
  24. Spring Boot企业级博客的技术为啥这么潮! 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中, 有学员对课程中的技术选型提出了疑问,想了解为啥要这么选择这些技术,而不是传统的诸如 Struts 、MyBatis、JSP 等等。 其实,任何技术都没有错! 本课程技术较为前瞻,当不一定全是当前IT企业在用的技术,原因如下: 很多企业趋向于保守。能用就行,特别是遗留项目,能不改就不改,更不用说是改技术框架; 中国企业创新能力偏弱,都是从众心里,看几个大厂在用什么,就跟着用 大部分开发人员在工作中,不会区分实际应
    8619浏览 29推荐 7评论
  25. 使用 Eureka 实现服务注册与发现 Eureka 是 Netflix 出品的用于实现服务注册和发现的工具。 Spring Cloud 集成了 Eureka,并提供了开箱即用的支持。其中, Eureka 又可细分为 Eureka Server 和 Eureka Client。 本例子将演示如何通过 Spring Cloud Eureka 来快速实现服务的注册和发现。 开发环境 Gradle 4.0 Spring Boot 2.0.0.M3 Spring Cloud Netflix Eureka Server Finchley.M2 Spring Cloud Netflix Eureka Client Finchley.M2 从 Spring Initializr 进行项目的初始化 访问http:/
    5530浏览 6推荐 1评论
  26. Spring Boot应用的部署,简单到令人吃惊! 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html), 有学员问道 ,为啥没有讲解应用部署的内容?是否是漏讲了? 关于部署,我觉得很多学员都陷入一种传统的思维,以为部署就是要部署到 Tomcat 。这种观念在学习SpringBoot 技术里面要改改。 Spring Boot 为了降低企业级开发的难度,推崇回归到原始 Java 程序的部署方式,即 只需要 Java 环境就能部署,最简单的莫过于 java -jar xxx.jar 的命令。甭管是本地还是远程,
    12866浏览 29推荐 2评论
  27. 论技术选型的重要性,JSP还是Thymeleaf? 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html), 有学员问道 ,我是跟着视频,只有 Thymeleaf,没有JSP标签,用着很不爽。 问我 怎么将 JSP\ thyemleaf 结合起来用。 我的答复是: 首先,就不应该结合起来。两者是同个类东西,就应该二选哪一。 其次,JSP 真的不推荐使用了,连Spring Boot 官方都嫌弃了。你想啊,我们课程是讲 Spring Boot ,你来问JSP 的问题,不适合啊,出了问题,Spring Boot 团队开发都搞不
    8183浏览 30推荐 2评论
  28. 基于Spring Boot的天气预报服务 本文,我们将基于 Spring Boot 技术来实现一个微服务天气预报服务接口——micro-weather-basic。micro-weather-basic 的作用是实现简单的天气预报功能,可以根据不同的城市,查询该城市的实时天气情况。 开发环境 Gradle 4.0 Spring Boot 1.5.6 Apache HttpClient 1.5.3 数据来源 理论上,天气的数据是天气预报的实现基础。本应用与实际的天气数据无关,理论上,可以兼容多种数据来源。但为求简单,我们在网上找了一个免费、可用的天气数据接口。 天气数据来源为中华万年历。例
    9650浏览 28推荐 5评论
  29. Gradle Wrapper 引用本地的发布包 Gradle Wrapper 免去了用户在使用 Gradle 进行项目构建时需要安装 Gradle 的繁琐步骤。 每个 Gradle Wrapper 都绑定到一个特定版本的 Gradle,所以当你第一次在给定 Gradle 版本下运行上面的命令之一时,它将下载相应的 Gradle 发布包,并使用它来执行构建。默认,Gradle Wrapper 的发布包是指向的官网的 Web 服务地址,有时候,下载这个发布包比较慢甚至不成功,本文演示了加速下载发布包的方式。 Gradle Wrapper 的配置 Gradle Wrapper 的配置在gradle/wrapper/gradl
    1452浏览 6推荐 0评论
  30. Spring Boot 使用 H2 内存鸿运国际hv128 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html), 有学员问道 ,我是跟着视频,没有mysql,只用H2的时候跑项目,在H2不能生成user表。 其实是他们访问错了鸿运国际hv128。 H2 内存鸿运国际hv128,设置 JDBC URL为 jdbc:h2:mem:testdb 主要,就能使用 select * from user 查询到数据了。 参考 https://github.com/waylau/h2-database-doc
    2509浏览 5推荐 1评论
  31. 如何清除 Elasticsearch 中的数据 在 “Spring Boot技术栈博客系统企业级前后端实战 ” 课程中(http://coding.imooc.com/class/125.html),我们使用了 Elasticsearch 来提供全文检索功能。 有同学问,是否有快速清除 Elasticsearch 中的数据 的方式。 答案是,删除安装目录下 \data 目录下的文件即可。 比如,我的安装目录是 D:\elasticsearch-2.4.4\,则删除目录D:\elasticsearch-2.4.4\data\elasticsearch即可。
    3730浏览 2推荐 2评论
  32. Spring Data Elasticsearch与Elasticsearch的版本关系 ES 对于版本的兼容性要求很高。大版本之间是无法兼容的。具体可以见 当时,我们课程所使用的最新的稳定版本是 Spring Data Elasticsearch 2.1.3.RELEASE ,所以只能选那个对应的 ES , 选 2.4.X 。 课程地址 http://coding.imooc.com/class/125.html 参考 https://github.com/spring-projects/spring-data-elasticsearch
    3471浏览 8推荐 1评论
  33. Spring Boot自定义版本 Spring Boot Starter 已经提供了各种依赖的集成,对于用户来说,只需要设置相应的Spring Boot Starter 版本即可。 但有时,Spring Boot Starter 中依赖版本,并不是我们想要的,此时需要自定义依赖的版本。 实现自定义Spring Boot版本 比如,我们想修改 slf4j 的版本,我们可以这么做: <properties> <slf4j.version>1.7.5<slf4j.version> </properties> 这样,就能指定 slf4j 的版本了。 如果你想知道 slf4j.version 这个依赖的默认版本是什么,可以查看这个 https://
    2085浏览 1推荐 0评论
  34. Spring Data JPA、MyBatis还有Hibernate有什么区别 Spring Data JPA 可以理解为 JPA 规范的再次封装抽象,底层还是使用了 Hibernate 的 JPA 技术实现。要说差异,主要是比较的是 MyBatis 和 Hibernate。 性能考虑 由于 Hibernate 比 MyBatis 抽象封装的程度更高,理论上单个语句之心的性能会低一点(所有的框架都是一样,排除算法上的差异,越是底层,执行效率越高)。 但 Hibernate 会设置缓存,对于重复查询有一定的优化,而且从编码效率来说,Hibernate 的编码效果肯定是会高一点的。所以,从整体的角度来看性能的话,其
    10204浏览 15推荐 2评论
  35. Java 之 ConcurrentModificationException 在Java 遍历集合时,有时会抛出 java.util.ConcurrentModificationException异常。 问题 这类异常也被称为 fail-fast,它是Java集合的一种错误检测机制。当线程对集合进行结构上的改变的操作时,有可能会产生fail-fast机制。记住是有可能,而不是一定。 考虑下面的例子: Iterator<string> it = myList.iterator(); while (it.hasNext()) { String value = it.next(); if (value.equals( "3")) { myList.remove(value); // error } } for (Iterator<string> it =
    1392浏览 6推荐 1评论
  36. Java 多个异常共享同一个异常处理器 Java 的异常处理机制,在 Java 7 中有了非常大的改进。其中一个特性就是,支持多个异常共享同一个异常处理器。 传统的异常处理 我们先来看下,传统的异常处理方式: // not share exception handler int[] intArray = new int[3]; try { for (int i = 0; i <= intArray.length; i++) { intArray[i] = i; System.out.println("intArray[" + i + "] = " + intArray[i]); System.out.println("intArray[" + i + "]模 " + (i - 2) + "的值: "
    2157浏览 8推荐 1评论
  37. 使用 Webix 创建 Email 客户端 Webix 是一个JavaScript UI 库,提供了多达88个UI小部件和功能丰富的 CSS/HTML5 JavaScript 控件。使用 Webix 可以有效地加快 Web 应用的开发。文本将演示了如何通过 Webix 框架,来创建一个 Email 客户端原型。 安装 Webix 可以下载 Webix 的 JS、CSS 文件,但最快的方式是使用 Webix 的 CDN, 如下: <!DOCTYPE HTML> <html> <head> <link rel="stylesheet" href="http://cdn.webix.com/edge/webix.css" type="text/css"> <script src="http://cdn.webix.c
    4482浏览 11推荐 1评论
  38. 基于 MongoDB 及 Spring Boot 的文件服务器的实现 MongoDB 是一个介于关系鸿运国际hv128和非关系鸿运国际hv128之间的产品,是非关系鸿运国际hv128当中功能最丰富,最像关系鸿运国际hv128的,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。 本文将介绍通过 MongoDB 存储二进制文件,从而实现一个文件服务器 MongoDB File Server。 文件服务器的需求 本文件服务器致力于小型文件的存储,比如博客中图片、普通文档等。由于MongoDB 支持多种数据格式的存储,对于二
    4925浏览 13推荐 6评论
  39. 高性能Web服务器 NGINX 简明教程 NGINX 是一款来自俄罗斯的HTTP 和反向代理(reverse proxy)服务器、邮件服务器,以及通用的 TCP/UDP 代理服务器,以其高性能被业界广泛采用。本文通过最简洁的方式,将 NGINX 核心应用做下介绍。 什么是 NGINX NGINX是一个免费的、开源的、高性能的 HTTP 服务器和反向代理,以及一个 IMAP/POP3 代理服务器。 NGINX以其高性能、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名。 NGINX 是为解决C10K 问题而编写的少数服务器之一。与传统服务器不同,NGINX 不依赖于线程
    3013浏览 26推荐 2评论
  40. 分布式系统常见的事务处理机制 为保障系统的可用性、可靠性以及性能,在分布式系统中,往往会设置数据冗余,即对数据进行复制。举例来说,当一个鸿运国际hv128的副本被破环以后,那么系统只需要转换到其他数据副本就能继续运行下去。另外一个例子,当访问单一服务器管理的数据的进程数不断增加时,系统就需要对服务器的数量进行扩充,此时,对服务器进行复制,随后让它们分担工作负荷,就可以提高性能。但同时,如何保障多个数据节点之间数据的一致以及如何处理分布式事务,将成为为一个复杂的话题。本文将介绍常用的事务处理机制。
    1662浏览 4推荐 0评论
意见反馈 常见问题 APP下载
官方微信
hv128