2019-11-07 11:08
Node.js是什么?对node.js的理解
官网解释:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。
这是一种通过JavaScript语言开发web服务端的东西
Node 是一个服务器程序。但是,基础 Node 产品肯定不 像 Apache 或 Tomcat
node.js有非阻塞,事件驱动I/O等特性,从而让高并发(high concurrency)在的轮询(Polling)和comet构建的应用中成为可能
Node 是一个程序,能够完成 Apache 能够完成的所有任务(借助一些模块),而且,作为一个可以将其作为基础进行构建的可扩展 JavaScript 平台,Node 还能完成更多的任务。
...
2019-11-07 11:13
PowerBI Service 有时也称作PowerBI Online,是PowerBI的Saas(Software as a service)部分。在典型的PowerBI开发的工作流程中,用户使用PowerBI Desktop创建Report,然后把该Report发布到PowerBI Service中;用户在PowerBI Service中创建Dashboard,并可以把Report或Dashboard分享给其他用户。从总体上来看,PowerBI Service 有4个主要的构建模块,分别是Dashboards、Reports、Workbooks 和 Datasets,这四个模块都是目录,位于workspaces目录中。
...
2019-11-07 11:40
本文主要讲迪米特法则和开闭原则。一、迪米特法则...
2019-11-07 11:16
其实最好的学习方式就是互相交流,最近也有跟网友讨论了一些关于 RocketMQ 消息拉取与重平衡的问题,我姑且在这里写下我的一些总结。
关于 push 模式下的消息循环拉取问题
之前发表了一篇关于重平衡的文章:「Kafka 重平衡机制」,里面有说到 RocketMQ 重平衡机制是每隔 20s 从任意一个 Broker 节点获取消费组的消费 ID 以及订阅信息,再根据这些订阅信息进行分配,然后将分配到的信息封装成 pullRequest 对象 pull 到 pullRequestQueue 队列中,拉取线程唤醒后执行拉取任务,流程图如下:
...
2019-11-07 11:55
在实际开发中,有时候为了及时处理请求和进行响应,我们可能会多任务同时执行,或者先处理主任务,也就是异步调用,异步调用的实现有很多,例如多线程、定时任务、消息队列等,...
2019-11-07 11:23
这次我们来说说我们的RocketMQ的安装和参数配置,先来看一下我们RocketMQ的提出和应用场景吧。
早在2009年,阿里巴巴的淘宝第一次提出了双11购物狂欢节,但是在2009年,服务器无法承受到大规模的并发,导致了大规模宕机停运,当时还是IOE的服务架构,也就是没有我们的消息队列中间件,直接由IBM的小型机、Oracle数据库、EMC存储设备来提供服务的,可想而知,我们的大并发场景,IOE是无法承受的,RocketMQ是由我们的国内的阿里巴巴在2010年开始由我们的阿里云的王坚博士组件团队,来处理我们的去IOE服务架构,也就产生了我们的RocketMQ中间件,经历了阿里巴巴内部的不断尝试和实践下,在2016年11月,阿里将RocketMQ捐献给Apache软件基金会,正式成为孵化项目,现在已经在我们Apache软件基金会毕业了,并且成为了Apache软件基金会的顶级项目。可想而知RocketMQ还是很成熟很可靠的。
...
2019-11-07 11:19
线程池简述+两种传统的异步编程模式1.线程池简述...
2019-11-07 11:29
在日常的工作生活中,有这些场景:(还有其他生活场景)
去银行办理业务一般会经过四个流程:取号、排队、办理业务以及办理完业务后对工作人员进行评分等流程,其中取号、排队和对银行工作人员进行评分的业务对每个顾客都是同样的,可以在父类中实现;但是办理的业务每个人是不同的,取款、存款或者转账等,个人的具体业务可以在子类中实现。
一个人每天起床、吃饭、做事及睡觉等,其中做事情因为每个人不同而异,因此我们可以将起床,吃饭,以及睡觉定义为父类,做事定义为子类等
简历模板,论文模板,word模板等都可以定义为父类,每个人简历,论文,word模板又不同,可以定义为子类。
...
2019-11-07 11:07
初级、中级和高级工程师并不是通过你从事编码工作的年限来判断的。初级工程师有时可能比高级工程师工作时间还要长。能否成为更高等级的工程师完全取决于你对专业技能的掌握程度,这也不是说高级工程师必须在每一方面都是专家,但是可以肯定的是,高级工程师一定比初级和中级工程师更加专业。
不仅仅是编程能力更加专业,高级工程师和初中级工程师相比还有其他区别。这区别到底是什么呢?
知识
很明显,高级工程师需要掌握更多的知识。学习设计模式、架构、自动化测试、性能、安全等知识是初级工程师迈向中高级工程师的必经之路。
知道软件开发过程中需要做什么是一件非常重要的事情。但是当你掌握了上面所说的全部知识时,你并不是已经成为高级工程师了,这些知识只是不同等级工程师之间的区别之一。
...
2019-11-07 11:08
微服务架构的项目,一次请求可能会调用多个微服务,这样就会产生多个微服务的请求日志,当我们想要查看整个请求链路的日志时,就会变得困难,所幸的是我们有一些集中日志收集工具,比如很热门的ELK,我们需要把这些日志串联起来,这是一个很关键的问题,如果没有串联起来,查询起来很是很困难,我们的做法是在开始请求系统时生成一个全局唯一的id,这个id伴随这整个请求的调用周期,即当一个服务调用另外一个服务的时候,会往下传递,形成一条链路,当我们查看日志时,只需要搜索这个id,整条链路的日志都可以查出来了。
现在以dubbo微服务架构为背景,举个栗子:
...
2019-11-07 11:44
介绍
9月,微软发布了新版.NET Core,用于构建Windows桌面应用程序,包括WPF和Windows Forms。从那时起开发人员可以将传统的nfx桌面应用程序(和控件库)迁移到.NET Core。一般使用WPF和Windows Forms开发的业务范围包括:
UI密集数据形式(FOD)应用程序
响应式低延迟UI
需要脱机/断开连接运行的应用程序
依赖于自定义设备驱动程序的应用程序
这只是.NET Core上Windows应用程序开发的开始。继续阅读以了解有关.NET Core对构建Windows应用程序更多好处的信息。
...
2019-11-07 11:46
目录
用户注册
创建数据库
生成UserMapper
编写业务逻辑
编写user service
UserServiceImpl#findUserByUserName 说明
UserServiceImpl#createUser 说明
编写user controller
UserController#validateUsername(username) 说明
UserController#createUser(UserRequestDTO) 说明
测试API
UserController#validateUsername(username) 测试
...
2019-11-07 11:18
一,社区的小圈子今年3月的一次技术交流活动上,那是我们.NET技术社区第一次组织线下活动,由于没什么经验,所以活动组织得比较仓促,内容也比较一般,效果还是有点欠缺。当然,活动本身是必要的,这次活动上有幸认识了许多长沙的优秀开发者,这让我非常的高兴。...