关于异步,其实是个老生常谈的话题,也是各大公司面试常问的问题之一.本文就几个点来介绍异步解决的问题 注:对多线程的运行的基本机制要了解 1.介绍 有人可能会有疑问,为什么并行,非得用异步.多线程也已可以啊,多开两个线程不就行了. 案例分析:现在有一个生活场景.需要煮饭(假设需要20分钟-机器煮).洗衣服(假设需要25分钟-机器洗).蒸菜(假设需要10分钟-机器蒸).并且昨晚之后我需要告知哥们. (1).同步 如果采用同步的方式(我先煮饭,把米放到电饭煲里,然后站在电饭煲前面等,什么事都不能干,一…
http://www.infoq.com/cn/articles/scala-technology/ 我无可救药地成为了Scala的超级粉丝.在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为一个巨大的黑洞,吸引力使我不得不飞向它,以至于开始背离Java.固然Java 8为Java阵营增添了一丝亮色,却是望眼欲穿,千呼万唤始出来.而Scala程序员,却早就在享受lambda.高阶函数.trait.隐式转换等带来的福利了. Java像是一头史前巨兽,它在OO的方向上几乎走到了极致,硬将它拉…
快速了解Scala技术栈 我无可救药地成为了Scala的超级粉丝.在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为一个巨大的黑洞,吸引力使我不得不飞向它,以至于开始背离Java.固然Java 8为Java阵营增添了一丝亮色,却是望眼欲穿,千呼万唤始出来.而Scala程序员,却早就在享受lambda.高阶函数.trait.隐式转换等带来的福利了. Java像是一头史前巨兽,它在OO的方向上几乎走到了极致,硬将它拉入FP阵营,确乎有些强人所难了.而Scala则不,因为它的诞生就是OO与FP…
前两天又有小伙伴私信松哥,问题还是职业规划,Java 技术栈路线这种,实际上对于这一类问题我经常不太敢回答,每个人的情况都不太一样,而小伙伴也很少详细介绍自己的情况,大都是一两句话就把问题抛出来了,啥情况都不了解,就要指出一个方向,这实在是太难了. 因此今天我想从我学习 Spring Boot + Vue 这套技术栈的角度,来和大家聊一聊没有人指导,我是如何一步一步建立起自己的技术体系的. 线上大家看我经常写文章,线下我其实比较宅,跟人交流比较少,我也很少问别人职业规划或者技术规划这些问题,因为…
Microsoft技术栈最近有大量的变迁,这使得开发人员和领导者都想知道他们到底应该关注哪些技术.Microsoft自己并不想从官方层面上反对Silverlight这样的技术,相对而言他们更喜欢让这种技术慢慢淡出人们的视线,否则局面可能会更加混乱.如果你想了解该问题的答案,那么可以查看“.NET业务应用程序技术指南”这个小有名气的文档.该文档发布于去年早些时候,它深入探讨了Microsoft打算在哪些领域付出努力,我们应该回避哪些技术等内容. 下面这个概要图是我们探索Microsoft及其相关技…
“MEAN”技术栈开发web应用 上一篇我们讲了如何使用angular搭建起项目的前端框架,前端抽象出一个service层来向后端发送请求,后端则返回相应的json数据.本篇我们来介绍一下,如何在nodejs环境下利用express来搭建起服务端,使之正确的响应前端的请求.本文所讲的示例还是基于我们的学习项目QuestionMaker(https://github.com/Double-Lv/QuestionMaker) 运行起基于express的web服务器 express是一个web应用开发…
前言 本文是自己vue项目实践中的一些总结,针对Vue2及相关技术栈,实践中版本为2.3.3. 开发前须知 vue-cli 在开发前,我们要至少通读一遍vue官方文档和API(看官方文档是最重要的,胜过看五十.一百篇博客),英文阅读能力还行的建议阅读英文文档,中文文档内容会稍落后,还要通读相关的vue-router.axios.vuex等. 一般来说我们都是先利用vue-cli来搭建项目基本架构. vue-cli官方temaplte地址,我们选择webpack版本,建议看看其文档vue-webp…
title: Elastic 技术栈之 Logstash 基础 date: 2017-12-26 categories: javatool tags: java javatool log elastic Elastic 技术栈之 Logstash 基础 本文是 Elastic 技术栈(ELK)的 Logstash 应用. 如果不了解 Elastic 的安装.配置.部署,可以参考:Elastic 技术栈之快速入门 简介 Logstash 可以传输和处理你的日志.事务或其他数据. 功能 Logsta…
react刚刚推出的时候,讲react优势搜索结果是几十页. 现在,react已经慢慢退火,该用用react技术栈的已经使用上,填过多少坑,加过多少班,血泪控诉也不下千文. 今天,再谈一遍react优势,WTF? React的收益有哪些?React的优势是什么?react和vue.angularJS等其它框架对比优势? 而作为总结回顾.react在工程实践中,带来哪些思想上的质变? virtual dom虚拟DOM概念 它并不直接对DOM进行操作,引入了一个叫做virtual dom的概念,安插…
以下摘自http://www.tvtv223.com/so/8/default/8.html#36-数据库的分库分表mycat java技术栈 参考了众多资料,这里就不再详细列举了,可以自行去搜索 1 java基础: 1.1 算法 1.1 排序算法:直接插入排序.希尔排序.冒泡排序.快速排序.直接选择排序.堆排序.归并排序.基数排序 1.2 二叉查找树.红黑树.B树.B+树.LSM树(分别有对应的应用,数据库.HBase) 1.3 BitSet解决数据重复和是否存在等问题 1.2 基本 2.1…
好文章就得分享: 一.SOA 系统设计包括若干个层面.先说顶层的系统设计原则,如 REST.SOA.由于 Uber 之前一直算一个创业公司,所以开发速度至关重要,由于微服务能够极大地促进不同组件的平行开发,SOA 成为了 Uber 的选择. 在这种选择下,我们需要先按功能设计出不同责任的 Service,每一个 Service 作为这个责任的唯一真实信息源.在开发新的功能时,只需要先设计好不同 Service 之间的合约,就可以按照合约平行开发了.在实际工作中,这点被证明非常有效. 二.服务要设…
JAVA是一个面向对象的编程语言,由SUN公司的程序员所开发.它不仅吸收了C++的各种优点,而且还撇弃了C++中难以理解的概念,如多继承.指针等:因此JAVA语言具有功能强大且简单易用两个特征, JAVA作为静态面向对象语言的代表,是全世界最受欢迎的计算机语言 Java包含四个独立却又彼此相关的技术 1. JVM,Java的虚拟机,在JVM上运行Java的bytecode(字节码) 2. Java的程序编程语言 3. Java Class,Java的类文件格式:其决定Java程序编译出的字节码应…
通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?   什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NET的相关概念,这主要包括:CLS.CTS(CLI).FCL.Windows下CLR的相关核心组成.Windows下托管程序运行概念.什么是.NET Framework,.NET Core,.NET Standard及一些VS编译…
1.好多公司动不动就JVM.高并发.分布式.微服务等等,我没有实际经验. 2.从事Java开发三年了,目前的职位是高级Java工程师,感觉技术和工资都到了瓶颈,对以后的发展方向有些迷茫. 3.加班时间过长,年龄大了,精力严重不够,竞争力远不如年轻程序员了. 4.Java工程师体量庞大,供大于需,导致Java程序员面临更加激烈的竞争. 5.目前做技术管理,薪资25K,但25K基本是天花板了,不甘心. 在我看来,开发三年甚至五六年以上的Java程序员要解决上面的问题无非就是两个层面: 1.技术经验…
一.前言 大家一直都在谈论微服务架构,园子里面也有很多关于微服务的文章,前几天也有一些园子的朋友问我微服务架构的一些技术,我这里就整理了微服务架构的技术栈路线图,这里就分享出来和大家一起探讨学习,同时让新手对微服务相关技术有一个更深入的了解. 二.技术栈 2.1 工欲善其事,必先利其器 现在互联网盛行的年代,互联网产品也层出不穷,受欢迎的互联网产品都有一个比较牛的技术团队,我这里分享下.net 微服务架构技术栈图如下: 俗话说得好:工欲善其事,必先利其器.一个优秀的工程师应该善于使用框架和工具,…
​ 摘要 新5G标准和边缘计算对低延迟的要求,给那些试图将一堆不同组件组装成一个不会出现故障且仍具有低延迟的高成本效益应用程序公司带来了严峻的挑战.事实上,这个问题非常严重,以至于需要重新考虑架构. 想要真正从5G和高速数据带来的发展中获利,需要将多个数据层整合到一个集成堆栈中. 介绍 5G和边缘计算都有改变世界的潜力.事实上,很多人会争辩说,边缘计算已经改变了世界.STL Partners发布的一份令人震惊的报告深入分析了IBM和亚马逊等主要企业目前向边缘计算领域投入了多少资金,而5G也在其中…
欢迎关注公众号:bin的技术小屋,阅读公众号原文 本系列 Netty 源码解析文章基于 4.1.56.Final 版本 本文概要 在上篇文章 我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景 中笔者为大家详细介绍了 Netty 在处理连接关闭时的完整过程,并详细介绍了 Netty 如何应对 TCP 连接在关闭时会遇到的各种场景. 在连接关闭之后,接下来就轮到 Netty 的谢幕时刻了,本文笔者会为大家详尽 Java 技术栈中间件中关于优雅停…
上一篇介绍了如何用express搭建起服务端MVC的开发架构,本篇我们来详细介绍一下这个Model层,也就是数据库访问层.包含如何使用mongodb搭建数据库,以及如何使用mongoose来访问数据.   mongodb的安装和启动 首先我们得安装mongodb,先去官网( http://www.mongodb.org/downloads)下载安装包,我的开发环境是Windows,所以下载Windows下的iso文件,根据提示一路安装完毕即可,没什么需要特别选择的. 安装完后,为了能在cmd中全…
非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的,这就要求在前端和后端不同的技术栈上完成信息的加密解密.当然我们通常完成这样专业的功能都会考虑使用相应的框架或者程序库来完成功能,前端或者NodeJS平台通常是JavaScript语言,JavaScript主流的加密解密库分别是SjclJS和CryptoJS, 本文以CryptoJS为例进行讨论.另…
作者:题叶链接:https://zhuanlan.zhihu.com/p/24425284来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.今天(昨天)分享完关于 ClojureScript 的话题, 算是如实重负. 我嗓子不好, 之前分享过 React, 但相比在网上总是差很多, 这次分享也是紧张, 会场的 Keynote 没有按照预想放在挺高的地方, 也没有下一页的预览, 看着大屏幕衔接没做好. 但是说真的心里还是忐忑的, 提问的同学很犀利, 几个都在点子上, 关…
http://www.cnblogs.com/zmkeil/archive/2013/04/18/3029339.html 1.1简介 VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去.下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示: 这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个struct net_dev…
前言 不知何时突然冒出“MEAN技术栈”这个新词,听起来很牛逼的样子,其实就是我们已经熟悉了的近两年在前端比较流行的技术,mongodb.express.angularjs.nodejs,由于这几项技术涵盖了从前端到后端再到数据库,可以用他们完整的开发一个web应用了,所以成了一个非常牛逼的组合,颇有当年LAMP的气势.前端要从切图仔迈向全栈的路上,这几门技术必须得有所涉猎.本系列文章利用自己虚构的一个小项目为例,对“使用MEAN技术栈开发web应用”做一个入门级的介绍.   AngularJs…
作为面向对象编程中实现控制反转(Inversion of Control,下文称IoC)最常见的技术手段之一,依赖注入(Dependency Injection,下文称DI)可谓在OOP编程中大行其道经久不衰.比如在J2EE中,就有大名鼎鼎的执牛耳者Spring.Javascript社区中自然也不乏一些积极的尝试,广为人知的AngularJS很大程度上就是基于DI实现的.遗憾的是,作为一款缺少反射机制.不支持Annotation语法的动态语言,Javascript长期以来都没有属于自己的Spri…
学习使用java到现在也有三年多了,这三年基本是以项目驱动的方式学习,有好有坏,个人觉得好处在于,有一个清晰的目标让你解决,这会让你学习非常迅速有效.当然坏处就是片面,不成体系.这种学习方式在学校以小组方式做"小玩具"还是行之有效的,但是遇到正规的生产环境后,便会东拼西凑,忙于奔波. 因此,我便想按照专业书籍,系统的再过一遍java的全栈技术(当然,全栈技术不止这点).并且为学弟学妹们尽自己最大的能力举起一盏明灯,也为正在使用java的coders,做一个查漏补缺的list. 首先从j…
目录 C蛮的全栈之路-序章 技术栈选择与全栈工程师C蛮的全栈之路-node篇(一) 环境布置C蛮的全栈之路-node篇(二) 实战一:自动发博客 博主背景 985院校毕业,至今十年C++开发工作经验,现工作地北京.曾参与开发千万级用户的客户端,及其企业应用的后台.曾为上亿级用户产品的主程,自己写的界面库作为产品的主界面引擎运行在上亿用户的计算机上.现从事业务在世界获得一流水平的成绩,并产出过业务相关的已审定授权的核心专利.曾有一次创业经历:两次陪伴公司一起成长,从未上市到上市的经历.长期TRPG…
引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后’适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术栈,于是就完成了一个reactSPA小项目,计划日后把平时工作中遇到的业务以及学习中遇到有趣的东西给抽象成demo展示出来.目前该项目只是把雏形搭好,效果如下: 其实这套界面风格不仅仅可以作为后台管理系统界面,也可以修改成一个可以展示项目并且美观的博客.项目地址在这里(本地跑效果更佳),如果有好的意…
有很多朋友有的因为兴趣,有的因为生计而走向了.Net中,有很多朋友想学,但是又不知道怎么学,学什么,怎么系统的学,为此我以我微薄之力总结归纳写了一篇.Net web开发技术栈,以此帮助那些想学,却不知从何起的朋友. 本文整理了当前企业web开发中的管理系统,商城等系统的常用开发技术栈. C#运算符 一元运算符(+.-.!.~.++.--) 算术运算符(*./.%.+ . – ) 移位运算符(<< .>> ) 关系和类型测试运算符(==.!=.<.>.<=.>…
Elastic 技术栈之 Filebeat 简介 Beats 是安装在服务器上的数据中转代理. Beats 可以将数据直接传输到 Elasticsearch 或传输到 Logstash . Beats 有多种类型,可以根据实际应用需要选择合适的类型. 常用的类型有: Packetbeat:网络数据包分析器,提供有关您的应用程序服务器之间交换的事务的信息. Filebeat:从您的服务器发送日志文件. Metricbeat:是一个服务器监视代理程序,它定期从服务器上运行的操作系统和服务收集指标.…
前言 上家公司的项目主要是使用jQuery和Angular1,然后自己学了React,没想到来到这家公司突然开始做vue,不过vue还是挺容易上手的.下面是vue技术栈的一些总结,都是来自官网,主要是自己对vue技术栈知识点的一些整理,因此此文很水,建议阅读我的上一篇文章Vuejs技术栈从CLI到打包上线实战全解析 Vue 独立构建和运行时构建 有两种构建方式,独立构建和运行构建.它们的区别在于前者包含模板编译器而后者不包含. 模板编译器的职责是将模板字符串编译为纯JavaScript的渲染函数…
智能电视越来越普及了,华为说四月发布智能电视跳票了,一加也说今后要布局智能电视,在智能电视方向,小米已经算是先驱了.但是还有不少开发把智能电视简单的理解成手机屏幕的放大,其实这两者并不一样. 一.序 你慢慢会发现,身边所有的电视都变成了智能电视.这是很容易接受的事实,智能电视更便宜. 价格是不容忽视的敏感点,顾客会天然的选择物美价廉的智能电视.这看似不符合逻辑,为什么选择落后的技术,不允许联网的传统电视反而更贵呢? 厂商靠硬件的利润是固定的,当小米发布"年轻人的第一台电视"之后,通过搭…