顿悟之回头看ICE

ICE入门 部分参考自:https://www.cnblogs.com/SGSoft/archive/2007/05/02/734454.html https://blog.youkuaiyun.com/liuxuezong/article/details/28925453 https://blog.youkuaiyun.com/qingen1/... 阅读详情

 早在2年前就已经接触过ICE了,当时还在网店,IM提供了ICE接口给我们,让我们可以从旺旺导入联系人等信息,但当时主要是由其他同学编码实现的,所以对ICE的理解仅限于:他是通过C++服务端暴露出来的一种接口,然后我们在客户端可以用JAVA来调用这些接口;简而言之,就是实现C++和JAVA之间互相通信的一种接口,至于为什么叫ICE这点都不清楚;这段时间群服务项目中又要用到IM提供给我们的另外一组ICE接口,于是想回头多了解了解ICE,这一看,还真有些感悟!

一般来说,我们首次了解或者接触到某项新技术或者新名词有两种方式:

  • 其一:从熟知的人或者系统中了解;就比如说偶前面说到以前接触到ICE一样,类似情况我相信在现实工作中非常普遍,特别是当我们接触到一个以前已经存在的系统时;通过这种方式接触到的一些东西往往都是皮毛,并不能真正了解到核心,但是这有极强的抛砖引玉的效果!第一次接触到之后,有部分人会进行深入的学习和研究,从而将某项技术研究得比较透彻,甚至会成为那方面的专家;当然这就是最明显的漏斗效应,能够深入到最后的人数不会很多;而且很多人往往会因此而产生以偏概全的现象,以后在和其他人交流时,很可能惯性的将自己本来了解不多的这些观点传递给别人,其实有些时候这些观点并不一定正确;
  • 其二:为了特定目标而去考察某项技术;这种情况一般出现在技术预研阶段,有时候我们要实现某些特定的功能,需要用到一些新的技术,此时一般都会去考察下能实现该功能的一些比较成熟的现成技术,然后对考虑的几种方案进行对比,最后挑选一个最合适的技术方案;这种方式正好与第一种方式相反,考察人一般会对该项技术有很全面的认识,而不仅仅是抛砖引玉;

当然,以上两种方式并不是绝对的,每一种方式里面都有灰色地带;结合到这次回头看ICE的这件事情来说,再次看了ICE的官方文档之后才发现自己以前对ICE的认识真的是太肤浅了,甚至可以说某些表述都是非常不准确的!

结合前段时间赵兄所写的《编码原则十日谈》,其中有一条是说:在使用别人的库时,需要先理解然后再使用!我个人非常赞同,这和我们上面提到的两种学习方式在思想上也有很多类似之处;

所以我觉得对于第一种方式,虽然我们总是会被动接触,但是我们应该要用第二种方式来具体要求自己,当我们接触到一项新技术时,还是要自己去深入学习的,并不是说人家说咋样就以为是咋样的,不要让表象模糊了你的视线和思维,只有具备了严谨的学习态度,才有可能让我们在技术上更上一层楼!

Java-ICE入门教程(2-1:ICE基础知识) 1、ICE是什么?  ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,使我们能够以最小的代价构建分布式应用程序。ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程,这样我们就不用去考虑这样的细节:打开网络连接、网络数据传输的序列化与反序列化、连接失败的尝试次数 阅读详情

相关推荐

DSP开发实战指南:定点运算与CMSIS-DSP的避坑之路

数字信号处理(DSP)是嵌入式系统与音频、通信、工业控制等领域的核心支撑技术。从采样量化到滤波器设计,开发者常因定点与浮点运算的精度差异、硬件加速单元未正确使能等问题而陷入调试困境。本文从定点数Q格式的原理出发,解析其在自适应滤波等算法中的累积误差效应,并重点讲解STM32F407平台上CMSIS-DSP库的移植要点——包括FPU协处理器使能、宏定义配置以及FFT缓冲区的内存对齐要求。同时,结合定时器中断延迟、Visual DSP工程配置、调音软件参数烧录等高频故障场景,给出系统性排查方法与经验铁律。无论你

weixin_34162228的博客 415

ICE简单介绍及使用示例

1、ICE是什么?  ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,使我们能够以最小的代价构建分布式应用程序。ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程,这样我们就不用去考虑这样的细节:打开网络连接、网络数据传输的序列化与反序列化、连接失败的尝试次数

冯立彬的博客 8万+

MC68HC16Y3复位与中断机制详解:从原理到实战配置

在嵌入式系统开发中,复位与中断机制是微控制器(MCU)稳定运行的基础。复位过程确保芯片从已知状态启动,涉及外部复位、上电复位(POR)等多种复位源,以及复位时序、引脚状态等关键环节。中断系统则处理异步事件,基于优先级、屏蔽与仲裁机制,实现高效的任务响应。深入理解这些机制,对于设计可靠系统、优化实时性能至关重要。本文聚焦于经典16位MCU MC68HC16Y3,结合**中断仲裁(IARB)** 和**片选逻辑**等核心概念,剖析其复位与中断处理的全过程,涵盖从硬件信号流到软件配置的实践细节,为嵌入式工程师提供

weixin_30621711的博客 356

基于Zero-Ice搭建的物联网监控平台

基于Zero-Ice搭建的物联网监控平台,支持本地部署、云端部署。

技术需要分享 2988

USB接口JTAG ICE制作与升级实战详解,支持目标板电压检测

CY7C68013A的最大优势在于其片上8051 CPU具备完整可编程能力。开发者可通过Keil C51或SDCC编译固件,直接在芯片内部实现JTAG状态机引擎、TAP控制器逻辑甚至部分GDB stub功能,从而将大量原本由PC承担的协议解析任务下沉至设备端。例如,可在固件中预定义常用JTAG指令序列:i++) {else1 : 0);// 最后一位拉高TMS退出Shift-IR上述函数实现了IR寄存器的数据移入操作,其中等宏通过直接操作I/O口实现快速翻转。

weixin_32324637的博客 1362

关于solidworks无法获得下列许可SOLIDWORKS Standard的解决方法

在使用solid works的时候,出现无法获得下列许可SOLIDWORKS Standard,刚开始还以为软件出了问题,经过一方折腾找到了解决方法。希望这个方法可以帮助到您 找到这个服务 问题到这里就已经得到了解决,但更大的问题是,要是每次遇见这种都要这么麻烦,岂不是很累?这里也提供一种方法。考虑到每个人的情况,下面说的可能有一点啰嗦。 !!!!!!注意那个在此期间之后重新启动服...

Chaosna13的博客 7万+

什么是ICE (Internet Communications Engine)

 http://user.qzone.qq.com/77811970   直接在google上搜索ICE,出来的结果并不多,所以很多人就认为ICE是个神秘的东西,其实,国内已经有很多大型应用在使用ICE了。前段时间因为工作的关系被逼学习了ICE, 感觉不错的东西。我记录下入门的一些概念,希望对后来的学习者有所帮助。     什么是ICE  (Internet Communications...

weixin_33887443的博客 731

CAN XL和10Base-T1S全对比:在区域架构中如何选择最适合的车载通信协议?

本文深入对比了CAN XL和10Base-T1S在车载网络架构中的性能差异,通过实测数据和典型应用场景分析,为区域架构设计提供选型指南。重点探讨了带宽、延迟、成本等关键指标,帮助工程师在ADAS传感器部署和车身控制网络优化中做出明智选择。

pear55的博客 595

硬件架构学习路径全指南:从Logisim到gem5的实践平台与进阶方法

计算机体系结构是理解程序性能、功耗与系统行为的底层基础,其核心在于指令集、流水线、Cache层次与总线互联等机制的协同工作。掌握这些原理,不仅能解释代码为何快慢,更能指导嵌入式开发、芯片验证与性能优化中的关键决策。在嵌入式、驱动开发、SoC设计及高性能计算等场景中,体系结构认知直接决定问题定位的深度与效率。然而,从理论到实践常因缺乏系统路径而中断。本文围绕硬件架构学习,梳理从Logisim、RISC-V模拟器到gem5与FPGA的进阶平台组合,帮助读者建立可落地的知识框架。

weixin_34252686的博客 324

ArcGIS图解建模工具与DEM提取山脊、山谷线(水文分析、表面分析)

参考汤国安、杨昕等编著的《地理信息系统空间分析实验教程第二版》 利用水文分析(流量)和表面分析(坡向变率)得到山脊和山谷线 文章目录1、基本概念1.1 正地形1.2 负地形正负地形的影响2、水文分析方法2.1 基本思想原理2.2 技术路线2.3 操作步骤2.3.1 正负地形的提取2.3.2 利用水文分析思想和工具提取研究区域的山脊线2.3.3 利用水文分析思想和工具提取研究区域的山谷线2.3.4 利用水文分析提取山脊线和山谷线结果3、表面分析方法3.1 基本思想原理3.2 技术路线3.3 操作步骤4、图.

fungis 1万+

一文搞定学术英语写作 (斯坦福SCI论文写作课程笔记)

0.前言: 本文基于斯坦福Kristin Sainani 教授的学术论文写作公开课——SCI论文写作(Writing in the Sciences)。在此基础上进行章节顺序的重排及部分内容的删减,以方便第一次进行英语学术论文写作的同学快速上手。 时间充足和想要系统学习英文学术写作的同学,十分建议观看完整课程视频,一定会受益匪浅!课程地址如下: 课程B站地址:https://www.bilibili.com/video/BV1zv41177JQ 1.论...

Ogmx的博客 3万+

ICE使用总结

客户端的slice-to-c++映射 slice标识符会映射到相同的c++标识符,如果一个slice的标识符与某个c++关键字一样,那么对应的c++ 标识符会加上前缀 _cpp_ 命名空间的映射是一样的 接口映射: 要调用一个远地操作,要调用本地类实例的成员函数,这个实例代表的是远地的对象。 这使得映射变得容易,使用也直观。 举例: interface Simpl...

conggai1647的博客 1146

保姆级教程:QGC地面站Vehicle Setup全模块配置详解(从固件升级到安全设置)

本文提供QGC地面站Vehicle Setup全模块配置的保姆级教程,涵盖从固件升级到安全设置的完整流程。详细解析二次开发环境准备、传感器校准、飞行模式配置等关键步骤,帮助用户快速掌握无人机配置技巧,确保飞行安全与性能优化。

weixin_28726671的博客 387

ICE的输入流和输出流

1、ICE提供流式接口InputStream来进行对象的解码操作,通过如下方法构造一个输入流对象:    InputStreamPtr createInputStream(const Ice::CommunicatorPtr& communicator, const std::vector& data); 2、在输入流对象InputStream上提供了多个重载的read方法,用来从输入流中提取

followshake的专栏 3046

工业相机的检测原理课件(建议收藏)

本课件为各位工程师详细介绍了工业相机的视觉检测原理 ,旨在为工程师调试工业相机的视觉检测原理时提供理论性指导。

Bamboo265925的博客 498

高通Camx功能feature分析之一:remosaic功能导通

本文详细介绍了S5K3P9S传感器前置场景中SW Remosaic功能的实现流程。首先需在sensorxml中确认支持SW Remosaic类型,并集成remosaic相关库文件(libremosaic_wrapper.so等)。核心实现包括:初始化阶段调用InitFrontSamsungRemosaic();执行线程DeferFrontInitThread()读取校准数据;通过DoSamsungRemosaic()执行remosaic算法处理;最后在析构函数中调用DeinitFrontSamsungRem

1700

ICE浅谈:(一)ICE概览

注:本文内容以RFC 5245文档记载内容为主,中文翻译有不当之处请见谅。 概述 ICE是Interactive Connectivity Establishment的简称,一般的定义是: ICE = STUN + TURN + 协商机制 +协商路径 实时音视频通信的场景中,会话双方可能都在NAT网络后面,直接协商的网络接口地址可能无法直接通信。ICE的目的是发现何种候选地址配对可以工作。 基本的ICE工作理念是:针对传输协议(这里重点讨论UDP协议)每个agent都有各种候选地址(绑

5D金豆豆的博客 3268

AMDGPU IH(Interrupt Handler)实现分析

AMDGPU IH环形缓冲区机制是显卡驱动中高效处理GPU硬件中断的核心架构。该机制通过环形缓冲区存储中断事件,利用读写指针(wptr/rptr)同步硬件与驱动间的数据交互。硬件写入事件后驱动遍历处理,通过指针掩码实现环形循环,并具备溢出检测和虚拟化环境下的重置保护。其优势在于批量处理降低中断开销,指针同步确保可靠性,支持多队列扩展和SR-IOV虚拟化场景,为GPU中断管理提供了高性能基础架构。

图形/计算GPU的驱动与虚拟化技术分享园地 1638

ICE简介

1       ICE简介1.1    简介ICE(Internet Communications Engine)是一个中间件平台。作为一个高性能的互联网通信平台,ICE包含了很多分层的服务和插件(Plug-ins),并且简单、高效和强大。ICE当前支持C++、Java、C#、Visual Basic、Python和PHP编程语言,并支持在多种操作系统上运行。更多的操作系统和编程语言将

xxdyynn163的专栏 1764

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VS2012配置使用ICE通信接口

1.下载安装Ice-3.5.1.msihttp://www.zeroc.com/download.html 2.添加安装路径到环境变量path,D:\Program Files (x86)\ZeroC\Ice-3.5.1\bin\vc110 3.编写一个ice文件,可以用文件编辑器 module MCal{ interface Cal { int add(int ...

weixin_30938149的博客 151

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ICE详解

1. ICE的一些背景 ICE(the Internet Communications Engine,因特网通讯引擎),http://www.zeroc.com/ice.html ICE 是ZeroC的主要产品, 是一个object-oriented toolkit,用来帮助我们构建分布式应用程序,使我们专注于程序的逻辑而不是底程网络交互的细节 ice提供了强大的 RPC(remote ...

顺其自然~专栏 3038

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

什么是ICE

什么是ICE? ICE(internet communications engine)是适用于异种环境的面向对象中间件平台。 那么什么是中间件呢? 比较流行的定义是:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯。 从中间件的定义可以看出,中间件是一类软件,而非一种软件;中间件不仅仅实现互连,

cp62的专栏 4115

JAVA调用ICE接口实践

最近刚开发了一个需求,使用ICE调用服务器端的接口,过程如下: 1 首先是准备环境,通过下载得到安装包,这次我用的是3.1版本(目前最新是3.4) 2 接着使用bin目录下slice2java将得到的ice文件转化为Java类,命令为slice2java    ****.ice 3 将lib目录下Ice.jar引入Java工程内,开始编写客户端代码 ...

dengminhui 1923

ice最简单实现 ruby调用ice接口

公司里越来越多的接口以ICE方式提供了,以前没接触过,所以我这两天也抽了点时间研究了下ICE,参考了网上很多帖子,才终于跑通第一个简单的ICE 接下来贴上我所有环境的搭建过程以及代码,和大家分享下ICE所带来的快乐 ICE是什么我就不多说了 1、 一款高性能的中间件,基于ICE可以实现电信级的解决方案。 2、Ice 应用适合于异构平台环境中使用:客户和服务器可以采用...

跋涉与思考 503

通过ICE接口对hbase进行文件操作

最近开发了几个对集群做文件操作的模块,都是基于python(2.7)。下面记录一下对通过ICE接口,写HBASE的模块,贴出部分代码。 1. 关于ICE ICE是一个中间件,我们可以通过ICE,不考虑server和client分别是什么,进行跨集群的操作。ice已经有很多资料可供学习,以后也会自己总结一个关于ice的文档 2. 依赖包 ICE 3. 源码及解释

lilyjoke的专栏 969
上一篇: Oracle多行转换成字符串方法总结
下一篇: 转帖【编码原则十日谈】
sfdev
博客等级 码龄22年 468粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值