- 我的创作纪念日
我爱夜来香A
大数据
机缘一直以来都坚信一个观点:学习是一个输入输出的过程,当学到某个新知识的时候,能够说出来讲清楚或者用文章描述清楚是判断有没有掌握的一个重要方式成为CSDN创作者是偶然也是必然,之前读书的时候一直有记笔记的习惯,心里总是觉得不记录下来东西就记不住;在CSDN创作是因为当时刚入行的时候遇到问题经常在CSDN找到答案,后面也慢慢在CSDN创作文章在CSDN中,我会记录学习到的新东西、日常开发遇到的报错、
- 使用 Apache POI 实现 Java Word 模板占位符替换功能
德墨忒尔
apachejavaword
使用ApachePOI实现JavaWord模板占位符替换功能在日常开发中,我们经常会遇到生成Word文档的需求,特别是在需要从模板导出Word文件时,比如生成合同、报告等。通过使用模板,开发者可以减少重复的工作,将预定义的占位符替换为实际的数据,生成定制化的Word文件。本文将介绍如何使用ApachePOI库实现Java程序中的Word模板占位符替换功能,并最终导出定制化的Word文件。1.项目准
- 深入理解 Java 中 Map 和 Set 接口的高级用法
项目笔记与工具库
java开发语言
Java中的Map和Set接口是两个非常重要的数据结构,它们在日常开发中被广泛使用。本文将深入探讨这两个接口的高级用法,特别是如何自定义键的比较方式以及实现高效的集合操作。这些技巧能够帮助开发者更好地应对复杂的数据处理场景,并提升程序的性能。一、Map接口的高级用法Map接口用于存储键值对,是Java集合框架中最常用的数据结构之一。在某些场景下,默认的键比较方式可能不满足需求,因此了解如何自定义键
- 如何彻底搞懂迭代器(Iterator)设计模式?
职略
设计模式
说起迭代器(Iterator),相信你并不会陌生,因为我们几乎每天都在使用JDK中自带的各种迭代器。那么,这些迭代器是如何构建出来的呢?就需要用到了今天内容要介绍的迭代器设计模式。在日常开发过程中,我们可能很少会自己去实现一个迭代器,但掌握迭代器设计模式对于我们学习一些开源框架的源码还是很有帮助的,因为在像Mybatis等主流开发框架中都用到了迭代器模式。迭代器设计模式的概念和简单示例在对迭代器模
- springboot日常开发参数校验注解
听忆.
日常开发mysqljava数据库
springboot日常开发参数校验注解1.常用的参数校验注解2.使用示例3.在Controller中使用4.全局异常处理5.自定义校验注解边走、边悟迟早会好在SpringBoot的日常开发中,常常使用参数校验注解来保证传入的数据符合业务逻辑或预期格式。SpringBoot内置了对JSR-303和JSR-380标准的支持,主要依赖javax.validation和HibernateValidato
- 大厂必备的加解密算法分析与应用场景
不惑_
实战系列算法数据库
加解密算法分析与应用场景在日常开发中,无论是使用何种编程语言,我们都会遇到加解密的需求。例如,为了保护接口数据安全,我们需要对数据进行加密传输;在HTTPS协议中,通过非对称加密传输客户端私钥,然后双方使用该私钥进行对称加密通信;使用MD5算法进行文件一致性校验等。然而,面对众多的加解密方案,我们往往不清楚何时使用哪种方法。本文将为您梳理当前主流的加解密技术,并对算法进行科普性说明,但不涉及具体算
- 动态绑定 class 的几种实现方式 - Vue
survivorsfyh
日常开发中难免会遇到动态渲染修改样式的需求出现,So简单归纳如下三种实现方式,虽然还是学时的时候有所了解但事后很久不在接触,此次重新初识前端不久,哪里可以更优还请大佬多多指教!方式一:通过Class与Style绑定的方式即三目运算的判断方式设置样式,也是Vue官方推荐的方式,具体code实现如下:html代码片段点击抽题js代码片段importProjectEnviromentfrom"../..
- 私人工具集4——C#加密解密类(CryptoHelper)
gzhosp_redAnt
小徐的私人工具集加密解密.netrsamd5c#
子曰:“工欲善其事,必先利其器”github地址:https://github.com/redAntCpp/CSharpTools加密解密在日常开发中也是经常用到,尤其是在写登录功能时,对用户的密码进行加密,有时,对信息安全要求较高时,也需要对传输的数据进行加密,然后本地解密后得到相应的报文,然后继续进行业务。比如银行的金额,医院的患者病历信息等。简单的加密方式介绍加密分为:对称加密和非对称加密。
- 事务 ---- mysql
姜西西_
mysqlmysql数据库
一.引出事务在日常开发中,很多操作不是通过一个SQL完成的,往往需要多个SQL配合完成但是当多个SQL操作时,如果中间出现了特殊的情况(程序崩溃,系统崩溃,网络断开,主机掉电......),那么可能就会出现,前面的SQL执行成功,后面的SQL执行失败了考虑一个场景:转账如果a要给b转账500,那么a的余额-500,b的余额+500,那么如果在a的余额-500之后,就出现了上述的特殊情况,那么这个钱
- 深入理解webpack自动刷新浏览器
前端子金
webpackwebpack模块热更新自动刷新浏览器dev-serverdev-middleware
文章目录1.自动刷新浏览器1.1监听文件变化1.1.1方式1.1.2原理1.2自动刷新浏览器1.2.1原理2.模块热更新2.1两种方式2.1.1webpack-dev-server2.1.2webpack-hot-middleware我们在日常开发时,有一个需要在开发状态下的优化,就是浏览器能自动显示修改后的代码,而无需我们手动刷新1.自动刷新浏览器为了能实现浏览器自动刷新,需要做两件事情:监听文
- Nginx的基本使用指南
小于负无穷
nginx运维学习ubuntu
Nginx(发音为"enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。由于其高效的资源利用和强大的并发处理能力,Nginx被广泛用于Web服务器、负载均衡器和反向代理服务器中。本文将介绍Nginx的基本安装、配置及其在日常开发中的简单使用场景。一、Nginx的安装1.1安装前的准备在安装Nginx之前,确保您的系统已经安装了以下依赖包:GCC
- ubuntu使用postfix和AWS-SES发送邮件
MaxFang
在日常开发中,邮件发送是个比较常见的场景。因此出现了很多相关的软件和服务,各大云厂商也推出自己的邮件服务。今天笔者就像大家介绍一种常见的组合,AWS的邮件服务SES与邮件服务器postfix的配置和使用方法。概述什么是AWS-SESAmazonSimpleEmailService(SES)是一种经济高效、灵活且可扩展的电子邮件服务,使开发人员能够从任何应用程序中发送电子邮件。您可以快速配置Amaz
- PowerShell脚本在自动化
hai40587
自动化运维
在Windows开发环境中,PowerShell脚本编写是自动化工作流程的强大工具。PowerShell不仅提供了丰富的命令集来管理Windows系统,还支持脚本编写,允许开发者创建复杂的自动化任务来简化日常开发流程。以下将详细探讨如何使用PowerShell脚本自动化Windows开发工作流程,涵盖环境设置、依赖管理、代码编译、测试执行、部署以及持续集成/持续部署(CI/CD)等方面。一、环境设
- SpringBoot日常:扩展接口之CommandLineRunner和ApplicationRunner
码至终章
springboot后端javaspringmaven
文章目录简介springboot启动容器过程应用场景如何控制执行顺序ApplicationRunner和CommandLineRunner区别代码示例运行示例简介日常开发中我们可能经常会遇到这样的场景,像启动容器完成后需要去执行一些业务逻辑,SpringBoot给我们提供了两个接口来帮助我们实现这种需求,两个启动加载接口分别是CommandLineRunner和ApplicationRunner。
- jstack排查CPU标高
StaticKing
个人知识管理jvmjava
前言由于日常开发过程中一些线程池的不规范使用及不能正常评估CPU计算密集型资源耗费或不正确的处理方式或过度的I/O操作可能会导致线程忙碌地等待I/O完成,从而影响CPU使用率,以及错误的线程使用便会出现CPU标高的问题问题排查与定位top命令查看占用CPU资源最高的进程top执行结果top-10:05:08up297days,19:11,0users,loadaverage:15.55,18.55
- java数组转换为集合-Arrays.asList使用
试着奔跑的菜鸟
java踩坑java踩坑
在日常开发中,经常遇到需要将动态增加数组数据的情况,但是java中的数组的定义如下:Java语言中提供的数组是用来存储固定大小的同类型元素。(菜鸟教程)也就是说,数组在声明时就是固定长度,不可增加或者减少它的长度的。那么当我们的确需要动态修改长度应该如何去处理,这时候就应该用到List集合了。将数组转换为集合有以下两种方式1.声明一个List集合,遍历数组,将数组中的每一个元素添加到List集合中
- 日常避坑指南:如何正确使用 aiohttp 上传文件,避免文件被提前关闭
程序员的开发手册
Python教程爬虫抓取pythonaiohttp避坑文件上传
在日常开发中,我们经常会遇到需要上传文件到服务器的场景。如果你选择使用aiohttp进行异步请求,上传文件的方式需要特别注意,否则可能会遇到一些令人头疼的问题——比如文件被提前关闭,导致上传失败。这篇文章将为你详细解析这个问题,并提供有效的解决方案,帮助你在开发过程中少踩坑。问题背景在某次项目开发中,我需要通过aiohttp异步请求将文件上传至服务器。按照惯例,我写了如下代码:withopen(f
- 深入浅出fs-extra:Node.js文件操作的瑞士军刀
NolanKy
node.jsvim编辑器
在Node.js的世界里,文件操作是日常开发不可或缺的一部分。虽然Node.js内置的fs(文件系统)模块提供了基本的文件读写能力,但在实际开发中,我们往往需要更多的功能和更简洁的API。这时候,fs-extra包就像是一把瑞士军刀,为我们提供了强大而便捷的文件操作工具。1,为什么选择fs-extra?fs-extra是对标准fs模块的扩展,它不仅包含了所有原生fs模块的方法,而且还添加了许多实用
- 递归算法及应用
AI+程序员在路上
嵌入式软件开发数据结构与算法算法c语言开发语言数据结构
一.简介1.介绍递归(Recursion)在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法,其核心思想是分治策略。在日常开发中,我们使用循环语句远远大于递归,但这不能说明递归就没有用武之地,实际上递归算法的解决问题的步骤更符合人类解决问题的思路,这是递归算法的优点,同时也是它的缺点。递归算法是比较好用,但是理解起来可能不太好理解,所以在递归算法和循环算法对比中,流行一句话:人
- SpringBoot如何进行全局异常处理?
HBLOGA
SpringBootDemospringboot后端javaexception
1.为什么需要全局异常处理?在日常开发中,为了不抛出异常堆栈信息给前端页面,每次编写Controller层代码都要尽可能的catch住所有service层、dao层等异常,代码耦合性较高,且不美观,不利于后期维护。应用场景是什么?非常方便的去掉了try...catch这类冗杂难看的代码,有利于代码的整洁和优雅自定义参数校验时候全局异常处理会捕获异常,将该异常统一返回给前端,省略很多if...els
- el-form表单在循环里如何写rules表单校验,解决办法
Cheng Lucky
vue.js前端javascript
el-form表单在循环里如何写rules表单校验,解决办法在日常开发中我们经常可以遇到在form中循环嵌套多个的情况比如点击加减新增删除并且还需要校验表单如何写呢?实现办法1.html(举例)contractFeesForm为总数据源这里的rules需动态生成这里我们既然是在循环内在每个item上绑定的prop就不能是固定写死的不然没办法进行表单校验就需要写成xxxx[0,1,2......].
- LINUX环境中宝塔Python虚拟环境变量问题
老童聊AI
明哥陪你学Pythonpythonpythondjango
在日常开发和维护过程中,尤其是在处理Linux服务器环境的数据修复或执行其他Django命令时,通常需要手动导入环境变量,操作起来非常不安全和麻烦。这对于开发者来说,特别是通过SSH工具操作时,显得尤为麻烦。每次操作都需要先加载环境变量,然后再执行脚本。例如:#变量加载exportDJANGO_ENV=productionexportDJANGO_SETTINGS_MODULE=douniu.se
- Go语言定时器Timer和Ticker到底怎么用
CodeJR
GoLanggolanggo开发语言后端
原文链接,可获取更多Go语言学习资料概述在日常开发中,我们不可避免的需要使用到定时任务用来处理业务逻辑。在Go语言中内置的有两个定时器,Timer和Ticker,合理的使用这两个定时器可以很好的解决定时任务的需求,同时除了这两个内置的定时器外,还有另外的三方库也可以用来完成定时任务的需求。Timer简介Timer定时器可以在指定时间后执行一次,使用time包中的NewTimer方法传入间隔时间参数
- 【Js】fetch网络请求
smart_dream
javascriptjavascript开发语言ecmascript
一、网络请求方式:AJAX:基于XMLHttpRequest收发请求,使用较为繁琐,代码量会比较多axios:基于promise的请求客户端,在浏览器和node中均可使用,使用便捷,功能强大fetch:内置api,基于promise,用法和axios类似,功能更为简单,没有axios那么强大ajax一般为学习过渡使用,日常开发中一般不会使用。做项目的时候一般是使用axios,当项目规模比较小,调用
- React——组件通讯
水煮庄周鱼鱼
Reactreact.jsjavascript前端
组件通讯介绍组件中的状态是私有的,组件的状态只能在组件内部使用,无法直接在组件外使用,但是我们在日常开发中,通常会把相似、功能完整的应用才分成组件(工厂模式)利于我们的开发,而不同组件直接又需要传递数据,而这个过程就是组件通讯。组件通讯-父子间、兄弟间传值propsprops,学过vue的其实我们都很熟悉,都是父组件传递给子组件的一种方式。props是只读对象,只能读取属性,无法修改,属于单向数据
- Java反射的底层实现原理
爱码的嘉
javajava反射
1.什么是反射?反射在程序运行期间动态获取类和操纵类的一种技术。2.反射的应用有哪些?反射在日常开发中使用的地方有很多,例如以下几个:动态代理:反射是动态代理的底层实现,即在运行时动态地创建代理对象,并拦截和增强方法调用。这常用于实现AOP功能,如日志记录、事务管理等。Bean创建:Spring/SpringBoot项目中,在项目启动时,创建的Bean对象就是通过反射来实现的。JDBC连接:JDB
- ios 单元测试覆盖率怎么查看_iOS单元测试简单介绍
weixin_39714835
ios单元测试覆盖率怎么查看
单元测试的特点用代码来测试代码红灯/绿灯迭代开发在日常开发中,数据大部分来自网络,很难出现'边界数据',如果不测试所有条件就上架,APP就容易发生闪退自己建立测试用例单元测试不是靠NSLog来进行测试的,是使用'断言'来测试的,提前设置的条件必须满足才能通过测试扩展:为什么有些公司讨厌单元测试,因为'代码覆盖率'不好确认,提示:不是所有的代码都需要测试例如,私有方法不需要测试!只有暴露在.h中的方
- 用命令将本地jar包导入到本地maven仓库
南国薏米
【前情提要】在日常开发过程中,我们总是不可避免的需要依赖某些不在中央仓库,同时也不在本地仓库中的jar包,这是我们就需要使用命令行将需要导入本地仓库中的jar包导入本地仓库,使得项目依赖本地仓库中的代码。例如我们需要将下面pom文件中的jar包引入本地仓库com.eelvetodo1.0导入命令mvninstall:install-file-Dfile=D:\link\lib\todo-1.0.j
- 网络-httpclient调用https服务端绕过证书的方法
开着拖拉机寻找春天
网络httpspython
httpclient调用https服务端绕过证书的方法在日常开发或者测试中,通常会遇到需要用httpclient客户端调用对方http是服务器的场景,由于没有证书,所以直接是无法调用的。采用下面的方法可以绕过证书验证:TrustManager[]trustAllCerts=newTrustManager[]{newX509TrustManager(){publicjava.security.cer
- iconv 更改字符串编码操作
梦想患者
c++中文乱码iconv
概要在日常开发中,中文字符乱码是一个经常遇到的问题。在解决此问题时,遇到一个比较好用的字符串编码开源库,在此进行总结。整体思路流程iconv官网地址:http://www.gnu.org/software/libiconv/这里主要使用的相关接口:iconv_open():设置要转换的字符串iconv():字符串进行转换iconv_close():释放句柄资源详细函数描述可参考博客:https:/
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数