- CANopen补充--时间计算出错
月落三千雪
CANopen教程linuxc语言单片机
本专题相关教程:基于STM32F4的CANOpen移植教程基于STM32F4的CANopen快速SDO通信linux下CANopenforpython的使用基于LinuxC的CANopen移植CANopen补充–时间计算出错CANopen补充–主站检测节点是否在线0前言温馨提示,本文为基于LinuxC的CANopen移植后续。如果你在移植完canfestival之后,需要使用与时间相关的功能,如p
- 基于STM32F103ZET6的CANopen移植详解与实例解析
m0_57781768
stm32网络嵌入式硬件
基于STM32F103ZET6的CANopen移植详解与实例解析一、引言CANopen是一种基于CAN(ControllerAreaNetwork)的高层通信协议,广泛应用于工业自动化、医疗设备、交通运输等领域。STM32F103ZET6是一款高性能的ARMCortex-M3微控制器,通过将CANopen协议栈移植到STM32F103ZET6,可以实现稳定高效的设备通信。本文将详细介绍如何在STM
- 西门子PLC——CANopen系统通信解决方案
上海泗博自动化
工业通信协议转换西门子网关canopen西门子
背景浙江某磷酸亚铁锂电池生产线为了提高产能和质量,对生产线系统进行了升级改造。其中,将线上3台伺服驱动的相关数据上传到西门子PLC,通过WinCC实现对现场的全面监控是本次改造的重点。系统结构现场使用的伺服驱动是台达的ASDA-A2,支持CANopen从站协议;用户所使用的西门子PLC自带PROFIBUSDP接口,不支持CANopen协议。因此客户使用了国内网关知名品牌上海泗博CANopen转PR
- CANopen协议栈专题知识点干货分享,系统了解NMT,PDOSDO,时间戳,同步报文,紧急报文等-笔记
自小吃多
STM32开发笔记嵌入式硬件驱动开发
词典有专门的上位机工具,主要是管理变量词典有很多个索引,每个索引都有配置项词典说白了就是变量西门子的一个看open入门教程一个初始化的一个流程,这个流程非常重要,大家要了解。首先的话就是初始化,然后应用层复位,这是通讯复位。应用层复位指的是哪些呢?指的是词典工具里面索引范围2000到这个FFFF它们里面索引的复位。然后通讯复位,通讯符位的词典工具里面1000到1阿尔法,它相应的一些词典的变量一些复
- SPI接口介绍
zsqt8888
工作motorolainterface通讯编程扩展
SPIinterfaceSPI接口介绍SPI是由美国摩托罗拉公司推出的一种同步串行传输规范,常作为单片机外设芯片串行扩展接口。SPI有4个引脚:SS(从器件选择线)、SDO(串行数据输出线)、SDI(串行数据输入线)和SCK(同步串行时钟线)。SPI可以用全双工通信方式同时发送和接收8(16)位数据,过程如下:主机启动发送过程,送出时钟脉冲信号,主移位寄存器的数据通过SDO移入到从移位寄存器,同时
- Odrive STM32F405配置说明
hlpinghcg
电机控制OdiveDIY单片机stm32嵌入式硬件
OdriveSTM32F405配置说明文章目录OdriveSTM32F405配置说明1、原理图2、系统时钟配置2.1晶振配置2.2时钟树配置2.3系统配置2.4中断配置3、定时器TIM配置3.1TIMER1六路带死区PWM3.2TIMER3编码器模式3.3TIMER8霍尔传感器模式4、ADC配置4.1规则通道配置4.2注入通道配置5、CANopen总线配置5.1CAN驱动配置5.2TIM5定时器配
- CANopen从站伺服配置报文及使用
hlpinghcg
CANopen工业总线电机控制mcu
CANopen从站伺服配置报文及使用步骤一:切换到预操作态使PDO进入预操作态(在预操作状态下才可修改参数,否侧容易报错);主站发送报文:0x0000x800x01(节点号)步骤二:失能PDO(TPDO,RPDO)失能RPDO1(修改参数前需要失能,否侧不能更改参数,COB-ID0x201)主站发送报文:0x6010x220x000x140x010x010x020x000x80失能RPDO2(修改
- C#开发CANopen主站(SDO收发数据)
hlpinghcg
CANopenWPFc#开发语言mcu
C#开发CANopen主站(SDO收发数据)一、准备工作熟悉CANopen相关知识,可以参考我的另一篇博客《CANopen学习笔记》获取周立功或者广成科技的上位机二次开发包及驱动熟悉二次开发包(以周立功二次开发包为例)了解开发需求二、修改二次开发包(以周立功USBCAN为例)因为用不到CAN的高速功能(CAN_FD),因此相关的都可以删除或者注释掉。修改后,最重要的三个函数和一个数据接收委托事件就
- 三种串行总线的区别
从梦流风
SPI、I2C、UART三种串行总线协议的区别第一个区别当然是名字:SPI(SerialPeripheralInterface:串行外设接口);I2C(INTERICBUS)UART(UniversalAsynchronousReceiverTransmitter:通用异步收发器)第二,区别在电气信号线上:SPI总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SD
- I2S音频接口的理解
可可西里_X_back
工作笔记
1、概念理解通常IIS接口由,MCLK、SCK、LRCK、SDI、SDO组成。位时钟(BCLK):又名SCK,对应每一位(bit)数据,都有一个脉冲。BCLK=2*采样频率*量化位数。问:为什么BCLK是采样频率和量化位数乘积的2倍?答:量化位数是相对于单声道来说的,SCK是同时用于左、右声道数据交替传输的时钟。例如先传输16个bit的左通道数据,再传输16个bit的右通道数据,一直这样按顺序交替
- 学习CANopen --- [12] Abort报文
爱就是恒久忍耐
canopen学习
当我们使用SDO进行读写操作时,有时device会返回abort报文,意味着本次SDO读写失败。本文使用例子来讲解Abort报文,以及如何解读失败原因。一Device例子下面是device的python代码,文件名叫device.py,device的CANopenid是6,importsignalimportcanopenrunning=Truedefsigint_handler(signum,f
- 台达AS228两台PLC进行CanOpen主从通讯
TomatoTor
前言因为同事的一个项目应用需要,刚好我也做一下总结。客户的项目里面采用到了多机台单触摸屏的流水线,每一个机台采用一套AS228脉冲控制三台B2伺服走定位控制,机台与机台之间有动作交互。一共十三个机台。因为原先的的机台没有那么多,只有4或5台,所以之前的程序采用AS228自带的以太网数据交互功能。利用第一台机台作为主机。其他作为从机。触摸屏连接全部PLC。可是这次的项目一下子就变成了13台,不得不从
- CANopen学习笔记
hlpinghcg
CANopen电机控制工业总线学习mcu单片机
CANopen学习笔记文章目录CANopen学习笔记1、NMT1.1、NMT的Boot_up(节点上线报文)1.2、NMT节点状态与心跳报文1.3、NMT节点守护1.4、NMT节点状态切换命令2、CANopen主站设备3、过程数据对象PDO(ProcessDataObject)3.1、PDO的CAN-ID定义3.2、PDO的传输形式3.3、PDO的通信参数3.4、PDO的映射参数3.5、映射配置3
- Canopen学习笔记——canfestival分段sdo下载
码农江_一叶知秋
CanOpen学习笔记stm32
首先,先附上几张sdo传输的流程图,分别是sdo快传,sdo分段下载和sdo上传协议。下图二是分段sdo下载的报文传输流程:分段sdo下载测试:首先210023010B000000启动SDO下载流程,指定主索引为0x2300,子索引为0x01,写入长度为0x0B,11个字节0031303030303041第一数据分段,是一个字节的CS,加7个字节数据段173232344C000000对于写最后一个
- Canopen学习笔记——sync同步报文增加数据域(同步计数器)
码农江_一叶知秋
CanOpen学习笔记
1.Canfestival同步报文sync的设置在OD表中的配置如下:如果0x1006索引的同步报文循环周期时间设置为0则禁用同步报文,这里要注意的就是,上面第一张图也提到了,时间单位是us。第二张图,我的0x1006就设置为0xF4240,也就是1s发送一次同步报文。关于同步桢(同步计数器)的问题可以参考这篇文章:canfestival同步帧(同步计数器的问题)-哔哩哔哩关于canopen的SY
- 觉得伺服方案比较难开发的可以看过来
卓联微范同学
硬件工程人工智能驱动开发自动化算法
参数TMCM-1690是单轴FOC伺服电机控制模块集成预驱适合三相BLDC/PMSM和DC有刷伺服电机,带有高达1.5A栅极驱动电流和+60V(+48Vnominal)供电提供了UART(RS232-/RS485ready),CAN和EtherCAT@通讯接口支持TML,CANopen,或CANopen-over-EtherCAT通讯协议TMCM-1690支持增量编码器,数字霍尔编码器和绝对值编码
- 使用can上位机来调试 invt 伺服驱动器
往事不可追_来日不方长
canopenstm32
1.添加对invt伺服驱动器的调试功能;SDO快速写的命令字:0x23H//4个字节0X27H//3个字节0X2BH//2个字节0X2FH//1个字节2.使能Invt伺服驱动器的TPDO1的步骤:1)0x6030x080x230x000x180x010x830x010x000x80//去使能TPDO12)0x6030x080x2F0x000x180x020x010x000x000x00//1个有效
- BSP视频教程第29期:J1939协议栈CAN总线专题,源码框架,执行流程和应用实战解析,面向车通讯,充电桩,模组通信等(2024-01-08)
硬汉嵌入式
视频教程j1939toolcanopen
视频教程汇总帖:【学以致用,授人以渔】2024视频教程汇总,DSP第12期,ThreadX第9期,BSP驱动第29期,USB实战第5期,GUI实战第3期(2024-01-08)-STM32F429-硬汉嵌入式论坛-PoweredbyDiscuz!继前面CANopen专题视频教程后,再推出CAN总线的又一个重要协议栈J1939专题视频J1939在车通讯上应用比较多,现在电动车充电桩还有各种模组的通信
- 快速登录界面关于如何登录以及多账号列表解析以及config配置文件如何读取以及JsLogin模块与SdoLogin模块如何通信(4)
森明帮大于黑虎帮
DuiLibC++状态模式c++
1、###Jslogin模块与前端以及JsLogin模块与Sdologin的交互配置文件的读取:假设url:https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101531594&redirect_uri=https://mygm.sdo.com/v1/oauth/authorize&state=qq然后代码里面
- SPR系列激光扫描红外单点测距传感器CANOPEN 软件调试方法
华翔天诚科技
红外测距传感器单点测距传感器激光测距传感器激光单点测距传感器激光扫描测距传感器
SPR系列激光扫描红外单点测距传感器可用于对物体进行非接触式距离测量,其应用场景十分广泛工业自动化:在生产线、传送带等工业自动化场景中,可以使用红外测距传感器进行物体的距离测量和位置检测,以便机器人或其他自动化设备准确地进行操作。AGV和叉车的碰撞保护,机器人工作范围的量程检测,用于精确测算机器人周围物体、障碍、墙面或者地面距离。本文重点介绍SPR系列激光扫描红外单点测距传感器CANOPEN软件调
- 基于canfestival的canopen主节点收发
黄忻
canc++
1、新建字典文件->新建填名字,类型主控,其他默认2、增加同步这一步是为了接收数据编辑->DS-301Profile选中同步窗口时间和通讯循环周期,将之添加到右侧可以看到已经加进去了设定同步窗口时间为0x40000080设定通讯循环周期为0x000075303、增加pdo接收增加一个380的pdo接收有了前文的同步,这里除了id改为380,其他全部默认,添加pdo接收的步骤会同步生成该pdo接收对
- CanFestival结合Android来完成canopen通信
壮哥_icon
Androidandroidcanandroidstudio
1.准备开发环境安装AndroidStudio和NDK后,需要在AndroidStudio中创建一个新的NDK项目,并且在项目目录下创建一个jni目录来放置NDK代码。配置CAN总线接口硬件需要根据具体的硬件要求进行,常见的方法包括使用串口或USB连接CAN总线接口,并且在Android系统中安装CAN总线驱动程序来确保接口硬件能够被操作系统识别。2.下载CanFestival库可以从CanFes
- 记录诊断刷写仪CANFDLog-OTL脱机刷写实例
来可小闵儿
大数据嵌入式硬件人工智能汽车
1,产品概述CANFDLog-OTL是一款脱离PC独立运行的2路CANFD总线数据记录诊断仪。该产品通过内置SD(128G)卡记录数据,可通过WIFI实时传输数据到PC端,通过WIFI下载记录数据,便于用户监测数据和排查设备故障,四种数据记录模式,适应不同总线记录场景.免费配套软件LKMaster,支持配置设备通信参数,支持实时收发和解析CANFD报文(DBC解析、J1939、CANOpen、自定
- SPI的四线与三线制及二线制
牛牛ly
STM32stm32单片机
SPI的四线制与三线制及二线制前言1、四线的SPI2、三线的SPI3、两线的SPI4、总结前言SPI即SerialPeripheralInterface的缩写,全名串行外设接口,是一种高速的支持全双工同步通讯的接口技术。通讯速率可达几M到几十M。1、四线的SPI一般的常用的SPI是四根线:SDO/MOSI:主设备数据输出,从设备数据输入,如主机读取命令;SDI/MISO:主设备数据输入,从设备数据
- SPR系列激光扫描单点测距传感器RS485(MODBUS RTU)通信配置方法
华翔天诚科技
测距传感器单点测距传感器激光测距传感器激光扫描测距传感器激光扫描传感器
SPR系列激光扫描单点测距传感器(包含包SPR051100、SPR052100、SPR053100、SPR055100、SPR056100、SPR058100、SPR101100、SPR102100、SPR103100、SPR105100、SPR106100、SPR108100等型号)与上位机可通过RS485(ModBusRTU)和CANOPen通信。传感器可以工作在两种数据输出状态下,上位机根据
- 【上位机教程】CANopen通信下一体化步进电机与台达PLC(AS228T)的应用
BB8=_=NiMotion
一体化步进电机CANopen总线协议java开发语言
在工业控制领域,CANopen作为一种标准协议被广泛应用,今天为大家分享下一体化步进电机与台达PLC(AS228T)在CANopen通信协议下的应用案例:一、硬件组成STM57系列一体化步进电机软件组成:二、建立新项目1.打开编程软件ISPSoft315,点击“新项目”2.给项目命名3.控制器种类和PLC机种选择4.文件路径选择5.点击“确定”三、硬件配置1.双击“HWCONFIG”进入硬件配置软
- 【CANopen】关于STM32中CanFestival的pdo应用
第六个葫芦娃
CANopenstm32嵌入式硬件单片机
系列文章目录文章目录系列文章目录一、发送1、同步传输2、异步传输二、接收使用STM32F407单片机pdo属于过程数据用来传输实时数据,即单向传输,无需接收节点回应。一、发送分为同步传输和异步传输。1、同步传输分为循环传输(周期)和非循环传输(非周期)非循环传输接收到同步报文:1、如果映射值改变了就发送;2、如果没有改变就不发送。把整个pdox对应的映射值给发出去参数配置:UNS8Master_h
- 【CANopen】关于STM32的CanFestival移植
第六个葫芦娃
CANopenstm32嵌入式硬件单片机
系列文章目录文章目录系列文章目录一、准备工作二、源码移植1、新建CubeMX工程2、移植CanFestival源码3、去除源码中的多余项4、源码修改三、底层驱动适配四、字典工具1、字典的使用使用STM32F407单片机一、准备工作CanFestival下载二、源码移植1、新建CubeMX工程默认都会,略2、移植CanFestival源码在CubeMX生成代码路径下创建一个文件夹,将源码目录下的in
- 通过CANopen转Modbus TCP网关的伺服系统
bjkjzn
tcp/ip网络协议自动化网络
通过开疆CANopen转ModbusTCP网关的伺服系统,我们能够实现CANopen协议与ModbusTCP协议之间的无缝转换,从而为伺服电机的通讯和控制带来更大的便利和灵活性。首先我们可以通过CANopen协议与伺服电机进行通讯。CANopen协议是一种先进的、高效的通讯协议,它基于CAN总线技术,能够实现设备之间的快速、稳定通讯。在CANopen协议中,从站设备需要配置控制字、速度、模式等参数
- SPI通信
小明n.n
单片机基础stm32嵌入式硬件单片机51单片机
SPI通信1、SPI通信概述SPI(Serialperipheralinterface)是一种同步、串行、全双工、总线制、主从工作方式。有四线控制:SDO——主设备数据输出,从设备数据输入,对于MOSIoutputslaveinputSDI——主设备数据输入,从事设备数据输出,对应MOSIinputslaveoutputSCLK——时钟信号,由主设备产生CS——从设备使能信号,由主设备控制2、SP
- SQL的各种连接查询
xieke90
UNION ALLUNION外连接内连接JOIN
一、内连接
概念:内连接就是使用比较运算符根据每个表共有的列的值匹配两个表中的行。
内连接(join 或者inner join )
SQL语法:
select * fron
- java编程思想--复用类
百合不是茶
java继承代理组合final类
复用类看着标题都不知道是什么,再加上java编程思想翻译的比价难懂,所以知道现在才看这本软件界的奇书
一:组合语法:就是将对象的引用放到新类中即可
代码:
package com.wj.reuse;
/**
*
* @author Administrator 组
- [开源与生态系统]国产CPU的生态系统
comsci
cpu
计算机要从娃娃抓起...而孩子最喜欢玩游戏....
要让国产CPU在国内市场形成自己的生态系统和产业链,国家和企业就不能够忘记游戏这个非常关键的环节....
投入一些资金和资源,人力和政策,让游
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
商人shang
jvm内存
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。
HotSpot虚拟机GC算法采用分代收
- 页面上调用 QQ
oloz
qq
<A href="tencent://message/?uin=707321921&Site=有事Q我&Menu=yes">
<img style="border:0px;" src=http://wpa.qq.com/pa?p=1:707321921:1></a>
- 一些问题
文强chu
问题
1.eclipse 导出 doc 出现“The Javadoc command does not exist.” javadoc command 选择 jdk/bin/javadoc.exe 2.tomcate 配置 web 项目 .....
SQL:3.mysql * 必须得放前面 否则 select&nbs
- 生活没有安全感
小桔子
生活孤独安全感
圈子好小,身边朋友没几个,交心的更是少之又少。在深圳,除了男朋友,没几个亲密的人。不知不觉男朋友成了唯一的依靠,毫不夸张的说,业余生活的全部。现在感情好,也很幸福的。但是说不准难免人心会变嘛,不发生什么大家都乐融融,发生什么很难处理。我想说如果不幸被分手(无论原因如何),生活难免变化很大,在深圳,我没交心的朋友。明
- php 基础语法
aichenglong
php 基本语法
1 .1 php变量必须以$开头
<?php
$a=” b”;
echo
?>
1 .2 php基本数据库类型 Integer float/double Boolean string
1 .3 复合数据类型 数组array和对象 object
1 .4 特殊数据类型 null 资源类型(resource) $co
- mybatis tools 配置详解
AILIKES
mybatis
MyBatis Generator中文文档
MyBatis Generator中文文档地址:
http://generator.sturgeon.mopaas.com/
该中文文档由于尽可能和原文内容一致,所以有些地方如果不熟悉,看中文版的文档的也会有一定的障碍,所以本章根据该中文文档以及实际应用,使用通俗的语言来讲解详细的配置。
本文使用Markdown进行编辑,但是博客显示效
- 继承与多态的探讨
百合不是茶
JAVA面向对象 继承 对象
继承 extends 多态
继承是面向对象最经常使用的特征之一:继承语法是通过继承发、基类的域和方法 //继承就是从现有的类中生成一个新的类,这个新类拥有现有类的所有extends是使用继承的关键字:
在A类中定义属性和方法;
class A{
//定义属性
int age;
//定义方法
public void go
- JS的undefined与null的实例
bijian1013
JavaScriptJavaScript
<form name="theform" id="theform">
</form>
<script language="javascript">
var a
alert(typeof(b)); //这里提示undefined
if(theform.datas
- TDD实践(一)
bijian1013
java敏捷TDD
一.TDD概述
TDD:测试驱动开发,它的基本思想就是在开发功能代码之前,先编写测试代码。也就是说在明确要开发某个功能后,首先思考如何对这个功能进行测试,并完成测试代码的编写,然后编写相关的代码满足这些测试用例。然后循环进行添加其他功能,直到完全部功能的开发。
- [Maven学习笔记十]Maven Profile与资源文件过滤器
bit1129
maven
什么是Maven Profile
Maven Profile的含义是针对编译打包环境和编译打包目的配置定制,可以在不同的环境上选择相应的配置,例如DB信息,可以根据是为开发环境编译打包,还是为生产环境编译打包,动态的选择正确的DB配置信息
Profile的激活机制
1.Profile可以手工激活,比如在Intellij Idea的Maven Project视图中可以选择一个P
- 【Hive八】Hive用户自定义生成表函数(UDTF)
bit1129
hive
1. 什么是UDTF
UDTF,是User Defined Table-Generating Functions,一眼看上去,貌似是用户自定义生成表函数,这个生成表不应该理解为生成了一个HQL Table, 貌似更应该理解为生成了类似关系表的二维行数据集
2. 如何实现UDTF
继承org.apache.hadoop.hive.ql.udf.generic
- tfs restful api 加auth 2.0认计
ronin47
目前思考如何给tfs的ngx-tfs api增加安全性。有如下两点:
一是基于客户端的ip设置。这个比较容易实现。
二是基于OAuth2.0认证,这个需要lua,实现起来相对于一来说,有些难度。
现在重点介绍第二种方法实现思路。
前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGe
- jdk环境变量配置
byalias
javajdk
进行java开发,首先要安装jdk,安装了jdk后还要进行环境变量配置:
1、下载jdk(http://java.sun.com/javase/downloads/index.jsp),我下载的版本是:jdk-7u79-windows-x64.exe
2、安装jdk-7u79-windows-x64.exe
3、配置环境变量:右击"计算机"-->&quo
- 《代码大全》表驱动法-Table Driven Approach-2
bylijinnan
java
package com.ljn.base;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.uti
- SQL 数值四舍五入 小数点后保留2位
chicony
四舍五入
1.round() 函数是四舍五入用,第一个参数是我们要被操作的数据,第二个参数是设置我们四舍五入之后小数点后显示几位。
2.numeric 函数的2个参数,第一个表示数据长度,第二个参数表示小数点后位数。
例如:
select cast(round(12.5,2) as numeric(5,2))  
- c++运算符重载
CrazyMizzz
C++
一、加+,减-,乘*,除/ 的运算符重载
Rational operator*(const Rational &x) const{
return Rational(x.a * this->a);
}
在这里只写乘法的,加减除的写法类似
二、<<输出,>>输入的运算符重载
&nb
- hive DDL语法汇总
daizj
hive修改列DDL修改表
hive DDL语法汇总
1、对表重命名
hive> ALTER TABLE table_name RENAME TO new_table_name;
2、修改表备注
hive> ALTER TABLE table_name SET TBLPROPERTIES ('comment' = new_comm
- jbox使用说明
dcj3sjt126com
Web
参考网址:http://www.kudystudio.com/jbox/jbox-demo.html jBox v2.3 beta [
点击下载]
技术交流QQGroup:172543951 100521167
[2011-11-11] jBox v2.3 正式版
- [调整&修复] IE6下有iframe或页面有active、applet控件
- UISegmentedControl 开发笔记
dcj3sjt126com
// typedef NS_ENUM(NSInteger, UISegmentedControlStyle) {
// UISegmentedControlStylePlain, // large plain
&
- Slick生成表映射文件
ekian
scala
Scala添加SLICK进行数据库操作,需在sbt文件上添加slick-codegen包
"com.typesafe.slick" %% "slick-codegen" % slickVersion
因为我是连接SQL Server数据库,还需添加slick-extensions,jtds包
"com.typesa
- ES-TEST
gengzg
test
package com.MarkNum;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation
- 为何外键不再推荐使用
hugh.wang
mysqlDB
表的关联,是一种逻辑关系,并不需要进行物理上的“硬关联”,而且你所期望的关联,其实只是其数据上存在一定的联系而已,而这种联系实际上是在设计之初就定义好的固有逻辑。
在业务代码中实现的时候,只要按照设计之初的这种固有关联逻辑来处理数据即可,并不需要在数据库层面进行“硬关联”,因为在数据库层面通过使用外键的方式进行“硬关联”,会带来很多额外的资源消耗来进行一致性和完整性校验,即使很多时候我们并不
- 领域驱动设计
julyflame
VODAO设计模式DTOpo
概念:
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对
- 单例设计模式
hm4123660
javaSingleton单例设计模式懒汉式饿汉式
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
&nb
- logback
zhb8015
loglogback
一、logback的介绍
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-class
- 整合Kafka到Spark Streaming——代码示例和挑战
Stark_Summer
sparkstormzookeeperPARALLELISMprocessing
作者Michael G. Noll是瑞士的一位工程师和研究员,效力于Verisign,是Verisign实验室的大规模数据分析基础设施(基础Hadoop)的技术主管。本文,Michael详细的演示了如何将Kafka整合到Spark Streaming中。 期间, Michael还提到了将Kafka整合到 Spark Streaming中的一些现状,非常值得阅读,虽然有一些信息在Spark 1.2版
- spring-master-slave-commondao
王新春
DAOspringdataSourceslavemaster
互联网的web项目,都有个特点:请求的并发量高,其中请求最耗时的db操作,又是系统优化的重中之重。
为此,往往搭建 db的 一主多从库的 数据库架构。作为web的DAO层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数