- 验证码破解的可能与不可能:用Python处理图片验证码的原理与限制
程序员威哥
python开发语言
前言验证码(CAPTCHA)是当前互联网防护机制中的重要组成部分,用于区分真人与自动程序。近年来,随着自动化技术发展,验证码破解成为自动化测试、爬虫及安全研究领域的热点。然而,从技术层面来看,验证码破解既有可行之处,也存在根本限制。本文将结合Python图像处理与机器学习技术,深度剖析图片验证码破解的原理、实践与瓶颈。一、验证码的分类及破解难点1.验证码类型字符型验证码纯数字、字母或混合,最常见。
- 深度学习数据集加载
Ethan@LM
深度学习人工智能
数据集结构E:\Mytest\test20250622\pythonProject\dataset├──rose│├──rose1.jpg│├──rose2.jpg│└──...└──sunflower├──sunflower1.jpg├──sunflower2.jpg└──...主要只有的两个类fromtorch.utils.dataimportDatasetfromtorchvisionimp
- Pytorch实现DenseNet,腾讯T3大牛手把手教你
print("TorchvisionVersion:",torchvision.version)all=[‘DenseNet121’,‘DenseNet169’,‘DenseNet201’,‘DenseNet264’]defConv1(in_planes,places,stride=2):returnnn.Sequential(nn.Conv2d(in_channels=in_planes,out
- Pytorch实现DenseNet,先收藏了
classDenseNet(nn.Module):definit(self,init_channels=64,growth_rate=32,blocks=[6,12,24,16],num_classes=1000):super(DenseNet,self).init()bn_size=4drop_rate=0self.conv1=Conv1(in_planes=3,places=init_chan
- 使用TVM编译部署DarkNet模型:YOLO-V2和YOLO-V3实战指南
周情津Raymond
使用TVM编译部署DarkNet模型:YOLO-V2和YOLO-V3实战指南tvm-cnTVMDocumentationinChineseSimplified/TVM中文文档项目地址:https://gitcode.com/gh_mirrors/tv/tvm-cn前言在深度学习模型部署领域,TVM作为一个高效的深度学习编译器栈,能够将训练好的模型优化并部署到各种硬件平台上。本文将详细介绍如何使用T
- ConvNeXT:面向 2020 年代的卷积神经网络
摘要视觉识别的“咆哮二十年代”始于VisionTransformer(ViT)的引入,ViT很快取代了ConvNet,成为图像分类任务中的最新最强模型。然而,vanillaViT在应用于目标检测、语义分割等通用计算机视觉任务时面临困难。HierarchicalTransformer(如SwinTransformer)重新引入了若干ConvNet的先验知识,使Transformer成为实用的通用视觉
- 人工智能赋能气象气候:从数据智能到预测创新的融合之路
慌ZHANG
人工智能人工智能
个人主页:慌ZHANG-CSDN博客期待您的关注一、引言:气象气候与AI的“天然耦合”气象与气候系统是典型的复杂、多尺度、强非线性的自然系统,其建模、分析与预测依赖庞大观测数据和高性能计算资源。传统方法以数值天气预报(NWP)与物理建模为核心,虽然取得重要成就,但也面临计算代价大、精度不足、长期预测偏差大等瓶颈。与此同时,人工智能(AI),尤其是以深度学习为代表的机器学习方法,近年来在图像识别、自
- 【深度学习|冰川制图9】GlacierNet2:一种面向高山冰川制图的混合多模型学习架构
努力毕业的小土博^_^
优秀论文推荐深度学习学习架构
【深度学习|冰川制图9】GlacierNet2:一种面向高山冰川制图的混合多模型学习架构【深度学习|冰川制图9】GlacierNet2:一种面向高山冰川制图的混合多模型学习架构文章目录【深度学习|冰川制图9】GlacierNet2:一种面向高山冰川制图的混合多模型学习架构结果与讨论3.1消融区制图欢迎铁子们点赞、关注、收藏!祝大家逢考必过!逢投必中!上岸上岸上岸!upupup大多数高校硕博生毕业要
- 数字图像处理学习笔记
andwhataboutit?
学习笔记
1-图像处理基础_哔哩哔哩_bilibili输出图像像素点需要将图象值要作类型转换,转成Int图像仿射变换线性变换+平移线性变换:1,变换前直线,变换后仍然直线2,直线比例不变3,直线到远点的距离不变仿射变换计算:常见变换:恒等变换:变换前后一致尺度变换:对尺寸作放大或缩小旋转变换:图像旋转但是尺寸不变平移::位置移动尺寸不变偏移(垂直、水平):垂直或者水平方向变化代码示例:importcv2im
- OpenCV中DPM(Deformable Part Model)目标检测类cv::dpm::DPMDetector
村北头的码农
OpenCVopencv目标检测人工智能
操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:VisualStudioCode编程语言:C++11算法描述OpenCV中用于基于可变形部件模型(DPM)的目标检测器,主要用于行人、人脸等目标的检测。它是一种传统的基于特征的目标检测方法,不依赖深度学习,而是使用HOG特征+部件模型来进行检测。示例代码#include#include#includeusingnamesp
- 深度学习前置知识全面解析:从机器学习到深度学习的进阶之路
一、引言:人工智能时代的核心技术在当今这个数据爆炸的时代,人工智能(AI)已经成为推动社会进步的核心技术之一。作为AI领域最重要的分支,深度学习(DeepLearning)在计算机视觉、自然语言处理、语音识别等领域取得了突破性进展,彻底改变了我们与机器交互的方式。本教案将从机器学习的基础知识出发,系统性地介绍深度学习的核心概念、数学基础、网络架构和训练方法,为读者构建完整的知识体系框架。无论你是刚
- Pytorch 之torch.nn初探 torch.nn.Module与线性--Linear layers
十有久诚
人工智能机器学习pytorch
初探torch.nn.Module神经网络可以使用torch.nn包构建。它提供了几乎所有与神经网络相关的功能,例如:线性图层nn.Linear,nn.Bilinear卷积层nn.Conv1d,nn.Conv2d,nn.Conv3d,nn.ConvTranspose2d非线性nn.Sigmoid,nn.Tanh,nn.ReLU,nn.LeakyReLU池化层nn.MaxPool1d,nn.Aver
- 深入解析VAE:从理论到PyTorch实战,一步步构建你的AI“艺术家”
电脑能手
人工智能深度学习python
摘要:你是否好奇AI如何“凭空”创造出从未见过的人脸或画作?变分自编码器(VAE)就是解开这一谜题的关键钥匙之一。本文将带你从零开始,深入浅出地剖析VAE的迷人世界。我们将用生动的比喻解释其核心思想,拆解其背后的数学原理(KL散度与重参数技巧),并最终用PyTorch代码手把手地构建、训练和可视化一个完整的VAE模型。无论你是初学者还是有一定经验的开发者,相信这篇文章都能让你对生成模型有一个全新的
- PyTorch实战:从零构建CNN模型,轻松搞定MNIST手写数字识别
PyTorch实战:从零构建CNN模型,轻松搞定MNIST手写数字识别大家好!欢迎来到我的深度学习博客!对于每个踏入计算机视觉领域的人来说,MNIST手写数字识别就像是编程世界的“Hello,World!”。它足够简单,能够让我们快速上手;也足够完整,可以帮我们走通一个深度学习项目的全流程。之前我们可能用Keras体验过“搭积木”式的快乐,今天,我们将换一个同样强大且灵活的框架——PyTorch,
- 重生学AI第十五集:学习非线性激活函数
背景知识激活是什么意思?“激活”一词来源于生物学神经系统,在人的大脑中,存在着大量的神经元。每个神经元在接收到足够强的刺激时,会被激活,产生电信号并传递给其他神经元。这些电信号在神经网络中层层流动,最终形成了大脑对外界信息的反应。神经元就等同于人工神经网络中的基本计算单元,每一个网络层都包含着许多这样的神经元,激活函数就是为了能够判断输入是否达到“激活”标准,达到激活标准,则会影响后续计算,反之,
- Pytorch:nn.Linear中是否自动应用softmax函数
浩瀚之水_csdn
深度学习目标检测#Pytorch框架pytorch人工智能python
在本文中,我们将介绍Pytorch中的nn.Linear模块以及它是否自动应用softmax函数。nn.Linear是Pytorch中用于定义线性转换的模块,常用于神经网络的全连接层。一、什么是nn.Linearnn.Linear是PyTorch中的一个类,它是实现线性变换的模块。nn.Linear的主要作用是将输入张量和权重矩阵相乘,再添加偏置,生成输出张量。我们来看一个简单的示例,展示如何使用
- 【字节跳动】数据挖掘面试题0006:SVM(支持向量机)详细原理
言析数智
数据挖掘常见面试题支持向量机数据挖掘算法SVM
文章大纲SVM(支持向量机)原理:用最通俗的话讲清楚1.核心思想:找一条“最安全”的分界线2.数学背后的“人话”逻辑3.处理“分不开”的情况:核函数的魔法4.为什么SVM有时比神经网络“聪明”?`5.SVM的优缺点:适合什么场景?`6.一句话总结SVM7.SVM常见的面试知识点除了原理相关内容外**1.硬间隔SVM的数学表达****2.软间隔SVM的数学表达****3.拉格朗日对偶问题推导****
- 计算机视觉中的Transformer:ViT模型详解与代码实现
AI大模型应用工坊
计算机视觉transformer人工智能ai
计算机视觉中的Transformer:ViT模型详解与代码实现关键词:计算机视觉、Transformer、ViT、自注意力机制、图像分块摘要:传统卷积神经网络(CNN)统治计算机视觉领域多年,但2020年一篇《AnImageisWorth16x16Words:TransformersforImageRecognitionatScale》的论文打破了这一格局——它将NLP领域的Transformer
- 《ONNX推理部署全解析:从基础到进阶的实用指南》
空云风语
人工智能深度学习神经网络人工智能深度学习神经网络YOLOONNX
ONNX基础入门ONNX是什么ONNX,即OpenNeuralNetworkExchange(开放神经网络交换),是一种用于表示深度学习模型的开放标准文件格式。它由Facebook和Microsoft在2017年联合开发,后来得到了NVIDIA、Intel、AWS、Google、OpenAI等众多公司的支持,旨在解决不同深度学习框架之间模型格式不兼容的问题,为模型的存储、交换和部署提供统一标准,使
- 基于图神经网络的ALS候选药物预测模型设计与实现
神经网络15044
MATLAB专栏神经网络深度学习神经网络人工智能深度学习机器学习
基于图神经网络的ALS候选药物预测模型设计与实现一、任务背景与意义肌萎缩侧索硬化症(ALS)是一种致命的神经退行性疾病,目前尚无有效治愈方法。传统药物发现流程耗时长、成本高,而人工智能技术为加速药物发现提供了新途径。本文设计并实现了一个基于图神经网络(GNN)的ALS候选药物预测模型,通过整合分子图结构信息和生物活性数据,实现对潜在治疗ALS化合物的高效筛选。二、系统架构设计
- 遥感影像岩性分类:基于CNN与CNN-EL集成学习的深度学习方法
神经网络15044
仿真模型神经网络深度学习深度学习分类cnn算法网络集成学习数据挖掘
遥感影像岩性分类:基于CNN与CNN-EL集成学习的深度学习方法1.任务概述岩性分类是地质遥感的核心任务,旨在通过遥感影像识别地表岩石类型。本文使用ASTER(多光谱热辐射传感器)和Sentinel(多光谱成像卫星)数据,采用卷积神经网络(CNN)及CNN-集成学习(CNN-EL)方法实现高精度岩性分类。2.数据预处理2.1数据源说明ASTER数据:14个波段(VNIR/SWIR/TIR),分辨率
- 数字图像处理第二次实验
愚戏师
数字图像处理python图像处理
实验三技术点分析根据实验要求,需要实现以下图像空间域滤波技术:噪声生成:高斯噪声椒盐噪声空间域滤波:均值滤波(3×3,5×5,7×7)中值滤波(3×3,5×5,7×7)最大值滤波最小值滤波图像处理流程:读取原始图像添加噪声(高斯/椒盐)应用各种滤波器可视化对比结果完整示例代码importcv2importnumpyasnpimportmatplotlib.pyplotaspltfrommatplo
- 【Python】已解决:Traceback (most recent call last): File “C:/python/kfc.py”, line 8, in KfcError: KFC Cra
屿小夏
pythonc语言开发语言
个人简介:某不知名博主,致力于全栈领域的优质博客分享|用最优质的内容带来最舒适的阅读体验!文末获取免费IT学习资料!文末获取更多信息精彩专栏推荐订阅收藏专栏系列直达链接相关介绍书籍分享点我跳转书籍作为获取知识的重要途径,对于IT从业者来说更是不可或缺的资源。不定期更新IT图书,并在评论区抽取随机粉丝,书籍免费包邮到家AI前沿点我跳转探讨人工智能技术领域的最新发展和创新,涵盖机器学习、深度学习、自然
- 【深度学习】一文彻底搞懂前向传播(Forward Pass)与反向传播(Backward Pass)
烟锁池塘柳0
机器学习与深度学习深度学习人工智能机器学习
【深度学习】一文彻底搞懂前向传播(ForwardPass)与反向传播(BackwardPass)摘要:在深度学习的星辰大海中,无论模型多么复杂,其训练过程都离不开两大核心支柱:前向传播(ForwardPass)和反向传播(BackwardPass)。理解这两个概念,就等于拿到了解开神经网络训练奥秘的钥匙。本文将用最直白易懂的方式,并结合规范的数学表达,为你彻底讲透这两个基本而又重要的过程。文章目录
- 【深度学习】强化学习(Reinforcement Learning, RL)主流架构解析
烟锁池塘柳0
机器学习与深度学习深度学习人工智能机器学习
强化学习(ReinforcementLearning,RL)主流架构解析摘要:本文将带你深入了解强化学习(ReinforcementLearning,RL)的几种核心架构,包括基于价值(Value-Based)、基于策略(Policy-Based)和演员-评论家(Actor-Critic)方法。我们将探讨它们的基本原理、优缺点以及经典算法,帮助你构建一个清晰的RL知识体系。文章目录强化学习(Rei
- 边缘设备上部署模型的限制之一——显存占用:模型的参数量只是冰山一角
烟锁池塘柳0
机器学习与深度学习深度学习物联网人工智能
边缘设备上部署模型的限制之一——显存占用:模型的参数量只是冰山一角在边缘设备上部署深度学习模型已成为趋势,但资源限制是其核心挑战之一。其中,显存(或更广义的内存)占用是开发者们必须仔细考量的重要因素。许多人认为显存占用主要取决于模型的参数量,这种看法虽然没错,但并不全面。实际上,显存的占用远不止模型参数量那么简单。关于边缘设备(EdgeDevice)的介绍,可以参见我的这一篇文章:EdgeDevi
- 【Pytorch学习笔记(三)】张量的运算(2)
一、引言在《张量的运算(1)》中我们已经学习了几种张量中常用的非算数运算如张量的索引与切片,张量的拼接等。本节我们继续学习张量的算术运算。二、张量的算术运算(一)对应元素的加减乘除在PyTorch中,张量的对应元素的算术运算包括加法、减法、乘法、除法等常见的数学运算。这些运算可以对张量进行逐元素操作(element-wise),也可以进行张量之间的广播运算(broadcasting)。1.逐元素操
- 【零基础学AI】第22讲:PyTorch入门 - 动态图计算与图像分类器实战
1989
0基础学AI人工智能pytorchpython机器学习sklearn深度学习
本节课你将学到理解PyTorch的核心概念和优势掌握张量(Tensor)的基本操作学会使用动态计算图构建神经网络实现一个完整的图像分类器项目训练模型并进行预测开始之前环境要求Python3.8+建议使用GPU(可选,CPU也能运行)内存:至少4GB需要安装的包#CPU版本(推荐新手)pipinstalltorchtorchvisionmatplotlibpillow#GPU版本(如果有NVIDIA
- LLM面试题14
三月七꧁ ꧂
破题·大模型面试语言模型人工智能数据库自然语言处理prompt
算法岗面试题介绍下Transformer模型。 Transformer本身是一个典型的encoder-decoder模型,Encoder端和Decoder端均有6个Block,Encoder端的Block包括两个模块,多头self-attention模块以及一个前馈神经网络模块;Decoder端的Block包括三个模块,Masked多头self-attention模块,多头Encoder-D
- YOLO 推理部署全方案」:一文掌握部署方式与性能对比!
要努力啊啊啊
计算机视觉YOLO目标跟踪计算机视觉目标检测人工智能
YOLO的推理部署方法全景指南YOLO系列模型经过训练后,通常需要部署到线上环境中进行推理(inference)。下面是常见的YOLO推理部署方式:1️⃣PyTorch原生部署使用原始PyTorch模型.pt文件直接调用model(input)进行推理✅优点:简单、灵活、易于调试❌缺点:推理速度较慢,不适合生产环境2️⃣ONNX导出+推理将YOLO模型导出为.onnx格式使用ONNXRuntime
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数