闯关经验: 袋鼠走过了第一关,顺利搭建出了Demo,信心爆棚.不过之后,心想怎么去研究这个框架呢.查了一下,官方文档,好像没什么东西可以研究啊.后来,又搜了搜博客,因为这是微博的框架嘛,所以搜索时用百度进行搜索.后来发现,源代码工程motan-demo-server中的MotanApiExportDemo类,它用代码的形式完整了表述了服务端启动的过程,这不正是思路吗.袋鼠,找到了方向,摸了摸下巴,点了点头,开干. 1 服务发布 不多说废话,先上demo package com.weibo.mot…
这是系列的第二篇 这是这个系列文章的第二篇,要是没有看第一篇的还是建议看看第一篇,以为这个是接着第一篇梳理的 先大概的总结一下在上篇的文章中说的些内容: 1. 整理了一下做IM我们有那些途径,以及我们怎样选择最适合自己的 2.在做IM的时候协议你又该怎样选择,以及这些协议之间一些的对比等等 3.接下来梳理了一下Socket的我们该怎样理解,它的心跳,pingpong,重连机制等等 4.利用demo整理出来了原生Socket的简单的连接以及接收/发送消息. 这篇我们梳理那些 1. 对CocoaAs…
写在前面: 在iOS开发的过程中,有很多时候我们都在和数据打交道,最基本的就是数据的下载和上传了,估计很多很多的小伙伴都在用AFNetworking与后台数据打交道,可有没有想过,哪天AFNetworking你不能用了或者不会用了怎么办?可能你心中疑惑了,这三方只要更新,存在怎么会不能用或者我怎么会不会用了,在没有看Telegram源码之前,我也是这么想的,看了Telegram源码就不会再这么想了,以后我会把自己看的Telegram源码部分的总结和经验一点点的整理分享出来,整理成这个Telegr…
袋鼠回头看了看文章,有些啰嗦,争取语音简练,不断提高表达力!袋鼠奋起直追! 注:此篇文章,暂时为了以后时间线排序的需要,暂时发表出来,可是仍然有许多地方需要改写.自己打算把服务端发布,客户端订阅都搞定后,再修改这部分. 接着上篇继续分析doExport() ...前面的部分就做了一件事,将相关配置信息转换成URL类...下面的两行也就做了一件事,委托configHandler,生成exporter对象 1 ConfigHandler configHandler = ExtensionLoader…
背景以及说明: 最近逮到个RPC框架,打算深入学习,框架千千万,只有懂得内部原理,才能应对复杂的业务,进行自定义化系统. 这个系列的Motan文章也是自己慢慢摸索的轨迹,将这个过程记录下来,一是提升自己对框架的理解,二是让大家看到这个过程,解决心中学习的困惑,三是由于网上Motan的文章,大多感觉没有写的足够深入,自己想学习又找不到很好的东西,干脆,自己写,撸起膀子开干. 本篇目标: 了解Motan基本知识,搭建Motan Demo,对Zookeeper有个初步的认识. 1.概要 Motan是微…
困惑的袋鼠,对框架的把握有些茫然,但是仍然一步步向前,行动总比一直迷茫停止不前要好,您说呢,各位客官? 这篇开始客户端的分析.有些地方的代码,就不每段都标出了,中间有跳跃的地方,请自己对照代码来看.鄙人认为,光看武功秘籍没用,得动手debug,您说是不? 文章发了之前,斟酌了一会,因为自己认为写的不理想,有很多东西分析的不透彻,但是,决定还是发布出来,作为自己学习的历程,也希望大家多多给出建议.不断努力. Demo 当然还是看源码中的tutorial demo了. public class Mo…
前言: 在上一节中,通过一系列的步骤,已经将项目部署到IIS上,虽然遇到了一些问题,但最终解决并成功运行了.而在这一节中,将尝试通过linux系统的环境下,部署项目,实现Net Core跨平台的亮点. 虽然网上已经有很多关于asp.net core在linux下的部署教程了,但我还是想写一篇,主要增强我自己的记忆,同时分享下我部署遇到的坑. 我在我电脑win7的操作系统中用来虚拟机建了个CentOS7,来演示,我们的项目如何发布在Linux上运行. 开始: 一.安装.Dotnet Core 2.…
一.序列化 1.什么是序列化和反序列化? 序列化:将对象变成有序的字节流,里面保存了对象的状态和相关描述信息. 反序列化:将有序的字节流恢复成对象. 一句话来说,就是对象的保存与恢复. 为什么需要这个东西.它的作用呢,就是持久化(比如讲内容保存在计算机上)和进程间传递.因为计算机是二进制的,网络间传输东西也是通过二进制来传递的,所以需要将对象变成bytes再进行传递. 2.序列化的使用 使用序列化的demo,我不写了,网上一堆.里面用到的ObjectOutputStream很重要,我们看看它的介…
dubbo本质是一个RPC框架,我们首先讨论这个骨干中的骨干,dubbo-rpc模块. 主要讨论一下几部分内容: 一.此模块在dubbo整体框架中的作用: 二.此模块需要完成的需求功能点及接口定义: 三.DubboProtocol实现细节: 四.其他协议实现: 一.此模块在dubbo整体框架中的作用 Protocol 是框架中的核心层,也就是只要有 Protocol + Invoker + Exporter 就可以完成非透明的 RPC 调用,然后在 Invoker 的主过程上 Filter 拦截…
单元测试OK,封装为Dubbo服务.   添加依赖 pom.xml   <properties>       <dubbo.version>2.5.3</dubbo.version>       <zookeeper.version>3.3.3</zookeeper.version>     <zookeeper.client.version>0.1</zookeeper.client.version> </prop…
在做spark项目时,我们常常面临如何在本地将其打包,上传至装有spark服务器上运行的问题.下面是我在项目中尝试的两种方案,也踩了不少坑,两者相比,方案一比较简单,本博客提供的jar包适用于spark版本2.0以下的,如果jar包和版本不对应会出现找不到类或方法等错误提示信息,它主要借助于eclipse和现成的jar包进行打包应用,只能从官网上下载对应的jar包,局限很大.方案二是借助于IntelliJ + maven方式,它只要配置好pom.xml文件,在文件中写明自己的运行环境即可,通用(…
卷积神经网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间精确的数学表达式,只要用已知的模式对卷积神经网络加以训练,网络就具有输入.输出之间映射的能力. 其训练算法与传统的BP算法类似,主要分4步,可分为2个阶段: 第一阶段,前向传播阶段: (1)从样本集中取一个样本,将样本输入网络: (2)计算相应的实际输出. 在此阶段,信息从输入层经过逐级的变换,传送到输出层.这个过程也是网络在完成训练后正常运行时执行的过程. 第二阶段,后向传播阶段:…
目录 1. 服务注册 1.1 代码演示 1.2 在go run的时候传入服务注册的参数 2. 服务发现均衡负载 2.1 均衡负载算法 2.2 服务发现均衡负载的演示 1. 服务注册 1.1 代码演示 还是跟上一篇:go微服务(一) - go micro入门一样使用consul package main import ( "net/http" "github.com/gin-gonic/gin" "github.com/micro/go-micro/regi…
服务注册 Server端流程   我们先看下面这张图片,这张图片简单描述了下我们EurekaClient 在调用EurekaServer 提供的服务注册Http接口,Server端实现接口执行的大致流程如下,图中还包含了获取服务的大致流程. 服务注册Server端实现源码分析    接下来我们看看Client在调用Server端提供的注册接口的具体实现,注册接口是Server端ApplicationResource类addInstance方法实现,下面我们来看看这个方法: @POST @Cons…
c中没有Boolean类型的值,一般是使用1表示true,0表示false,c中也没有String类型的数据,c中的字符串要通过char数组来表示.c中没有byte类型,一般用char表示byte类型. 先看看c中数据类型长度: # include<stdio.h> # include<stdlib.h> main(){ printf("char类型的长度为:%d\n",sizeof(char)); printf("int类型的长度为:%d\n&quo…
Controls, layout, and text AutoSuggestBox migration Clipboard Commanding Context menu Context menu (XAML) Disabling selection Display orientation Downloadable fonts (DirectWrite) Downloadable fonts (XAML) Drag and drop Focus visuals Full screen mode…
转:http://www.cnblogs.com/springyangwc/archive/2011/08/03/2126763.html 概要 为时20多天的sharepoint开发学习笔记系列终于写完了,从基本的配置到web part开发,再到time job开发等等,其中由于自己才接触sharepoint一年的时间,很多认识还很浅,暂时先记下来,让自己能坚持学习的时候不忘写博客的习惯. 系例导航 步步为营 SharePoint 开发学习笔记系列 一.简介 步步为营 SharePoint 开…
一.前言 本文讲服务发布与服务注册,服务提供者本地发布服务,然后向注册中心注册服务,将服务实现类以服务接口的形式提供出去,以便服务消费者从注册中心查阅并调用服务. 本文源码分析基于org.apache.dubbo:dubbo:2.7.2,服务端代码例子是上文的例子 如果没有Dubbo SPI的基础知识,建议先看Dubbo SPI,否则源码怎么跳转的将毫无头绪 Dubbo SPI:https://www.cnblogs.com/GrimMjx/p/10970643.html 二.服务发布 调用顺序…
WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS2008自带的WCFSVCHost(WCF服务主机)发布WCF服务,以便进行测试.这种VS2008内置的WCFSVCHost只适用于开发人员测试的使用,能进行WCF服务部署.这一篇文章中我们来看一下如何在IIS中部发布我们上一篇中做好的WCF服务. 第一步:打开我们上一篇文章中建立的WCF服务项目. 图<…
motan是新浪微博开源的服务治理框架,具体介绍请看:http://tech.sina.com.cn/i/2016-05-10/doc-ifxryhhh1869879.shtml. 本系列的文章将分析它的底层源码,分析的源码版本为:0.1.2.第一篇文章将以服务的发布和注册开始,注册服务使用zookeeper来分析.源码地址:https://github.com/weibocom/motan 本文涉及到的主要类和接口:MotanApiExportDemo.MotanDemoService.Mot…
原文https://www.cnblogs.com/artech/p/net-core-di-07.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的IServiceProvider对象.服务注册就是创建出现相应的ServiceDescriptor对象并将其添加到指定IServiceCollection集合对象中的过程. 一.ServiceDescriptor 通过<依赖注入[6]: .NET Core DI编程体验>的实例演示我们知道作为DI容器…
RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列 http://www.80iter.com/blog/1437455520862503 上一篇已经讲了Rabbitmq如何在Windows平台安装,不懂请移步:RabbitMQ学习系列一:windows下安装RabbitMQ服务 一.理论: .net环境下,C#代码调用RabbitMQ消息队列,本文用easynetq开源的.net Rabbitmq api来实现. EasyNetQ 是一个易于使用的Rabbi…
Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhong/category/771056.html .今天总结总结缓存使用过程中遇到的一些常见的问题.比如缓存雪崩,缓存穿透,缓存预热等等. 缓存雪崩 缓存雪崩是由于原有缓存失效(过期),新缓存未到期间.所有请求都去查询数据库,而对数据库CPU和内存造成巨大压力,严重的会造成数据库宕机.从而形成一系列连锁…
目录 Dubbo 系列(05-1)服务发布 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 1.1 服务暴露整体机制 2. 源码分析 2.1 前置工作 2.2 服务发布 Dubbo 系列(05-1)服务发布 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 相关文档推荐: Dubbo 实战 - API 配置 Dubbo 源码解析 - 服务暴露 本章主要研究一下 Dubbo 服务暴露和服务引入的过程.Duboo 服务暴露…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 本篇概览 本文是<java版gRPC实战>系列的第二篇,前文<用proto生成代码>将父工程.依赖库版本.helloworld.proto对应的java代码都准备好了,今天的任务是实战gRPC服务的开发和调用,实现的效果如下图: 本篇的具体操作如下: 开发名为local-serv…
学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 四.创建一个Blazor应用程序 1. 第一种创建Blazor应用程序的方式.在Visual Studio 2022启动界面中选择"创建新项目",如下图. 图2-5 2. 第二种创建Blazor应用程序的方式是.在Visual Studio 2022启动界面中选择"继续但无需代码",然后在Visual Studio…
上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS7允许通过HTTP外的协议进行激活和网络通信.此环境适合开发可通过 WCF支持的任何网络协议(包括http.net.tcp.net.pipe.net.msmq)进行通信的WCF服务.部署简单.管理方便,这些网络协议在部署时可像Http一样,直接丢到IIS7上即可,我们在下面的例子中以net.tcp为…
我们知道在CRM的js文件里引用XrmPageTemplate.js后,就可以实现智能提示,但每个js文件都引用太麻烦了,其实可以利用vs的功能让每个js文件自动实现智能提示CRM的js: 另外,我们调试js,发布js文件也是比较繁琐的事情,最好的办法是全部调好,再发布上去,本文介绍用firefox + firebug + frame可以很方便地调试CRM js,全部调好后,再上传js,明显可以加快开发的速度. 1. 智能提示 CRM相关的方法属性的vs 里加上XrmPageTemplate.j…
系列一: 制作一个可安装.可启动.可停止.可卸载的Windows service(downmoon原创) 系列二:演示一个定期执行的windows服务及调试(windows service)(downmoon) 系列三: windows service系列三--制作可控制界面的windows service 一.经常有人问起如何让程序定期自动执行? 除了像系统任务和SQL JOB/DTS等都可以满足不同的用户需求外,这里演示了如何做一个简单的windows serivce的框架.主要的功能是按照…
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改,并且对程序接口做了一些调整,以及对一些问题进行了解答. 1.调整后的结构图: 2.连接数据库文件配置分离: 一般的程序都会把连接数据库的配置单独放在.properties 文件中,然后在XML文件中引用,示例如下: config.properties: driver=oracle.jdbc.Orac…