- PetaLinux开发流程
非鱼知乐
1.Createanewprojectpetalinux-create-tproject--templatezynq-n$(project_name)orpetalinux-create-tproject-s$(bsp_file)2.Importhardwareinformationpetalinux-config--get-hw-description=$(path_to_hdf)The.hdf
- 浅尝辄止3-Linux基础-加载库
阿棍儿_Leon
当我们用C/C++做Linux开发时,肯定会遇到加载库的问题,具体加载的方法要根据具体情况决定。库文件形式常见的C/C++库文件有2中形式,即*.a和*.so文件,前者是静态链接库,后者是动态链接库。静态链接库静态链接库的文件名一般为*.a,这个a就是archive,即存档的意思。这个文件的内容实际上是*.o的打包。动态链接库动态链接库的文件名一般为*.so,相当于windows环境里的*.dll
- Linux开发环境-Docker
long7066
dockerubuntu
Docker官网地址:https://www.docker.com/products/docker-desktop一、Docker介绍Docker是什么?借用下Docker中文社区介绍。使用Docker,首先需要对镜像、容器、仓库三个概念有所理解。镜像Docker镜像,可以认为是一个只读的模板文件,可以通过该文件创建一个Docker容器。镜像可以从Docker仓库下载,也可以由他人生成。当然也可以
- ARM/Linux嵌入式面经(二九):经纬恒润Linux开发
TrustZone_Hcoco
ARM/Linux嵌入式面试arm开发芯片单片机嵌入式硬件
文章目录介绍自己的三个项目1.什么是内联函数和宏定义?内联函数与宏定义追问及答案2.宏定义作用在编译阶段的哪个阶段生效?3.指针和数组的异同指针和数组的异同追问几个有深度的技术问题4.讲一下结构体回答追问及答案5.结构体里面内存对齐的规则结构体内存对齐的规则追问几个有深度的技术问题6.结构体和联合体的关系与区别结构体(Struct)和联合体(Union)的关系与区别追问几个有深度的技术问题7.讲一
- 【linux开发环境配置】 Ubuntu 17.10 安装Django2 基础
NewForMe
前言1首先Ububtu默认是安装了python2.7,所以我要重新安装python3,linux下单独安装python3的教程可再百度,一般就是在终端下执行命令sudoapt-getinstallpython3,有可能会因本来装有python2而不成功,所以可能需要删除usr/bin/目录下的python文件,然后重新执行上面的命令。2我是直接安装Anaconda3的,直接安装Anaconda3里
- Linux开发讲课30---基于ARM体系的内核启动解析
嵌入式开发1
linux开发讲课linuxarm开发运维
Bootloader至少完成以下基本的初始化准备:设置并初始化RAM(必须),引导加载程序应找到并初始化内核将用于系统中易失性数据存储的所有RAM。它以机器相关的方式执行此操作。(它可以使用内部算法来自动定位和调整所有RAM的大小,或者可以使用机器中RAM的知识或引导加载程序设计者认为合适的任何其他方法。)设置设备树dtb(必须),设备树blob(dtb)必须8字节对齐,并且大小不能超过2兆字节。
- Linux--汇编语法配置初始化的原理
广药门徒
linux运维服务器
------改编自正点原子Linux开发手册我们在学习STM32的时候几乎没有用到过汇编,可能在学习UCOS、FreeRTOS等RTOS类操作系统移植的时候可能会接触到一点汇编。但是我们在进行嵌入式Linux开发的时候是绝对要掌握基本的ARM汇编,因为Cortex-A芯片一上电SP指针还没初始化,C环境还没准备好,所以肯定不能运行C代码,必须先用汇编语言设置好C环境,比如初始化DDR、设置SP指针
- 浅谈linux - vs code搭建运行调试环境
不只会拍照的程序猿
浅谈linuxlinuxubuntu嵌入式vscodegdb
概述在Linux开发过程中,用不惯vim的用户往往会选择vscode软件或者sourceinsight软件编写相关的源代码,由于vscode对linux系统的支持及界面的美观,所以小编往往会选择使用vscode来编写代码,但是,代码编写完成后,需要进行调试,除了gdb还有没有其它方式呢?答案是肯定有,vscode结合gdb就可以实现在线调试功能。操作点击调试运行按钮点击创建launch.json文
- 【Linux】yum软件包管理器
lzb_kkk
Linuxlinux运维服务器
目录Linux软件包管理器yum什么是软件包Linux安装软件查看软件包关于rzszLinux卸载软件查看yum源扩展yum源下载Linux开发工具vim编辑器上述vim三种模式之间的切换总结:命令模式下,一些命令:vim配置Linux软件包管理器yum什么是软件包在Linux下安装软件,一个通常的办法是下载到程序的源代码,并进行编译,得到可执行程序.但是这样太麻烦了,于是有些人把一些常用的软件提
- 如何复用外部shell脚本
Linux开发那些事儿
在Linux开发中,经常会编写shell脚本来执行一些任务,通常是一个脚本只做一件事,随着任务的增加,脚本会越来越多,可复用的地方也会逐渐增加,这时就需要提取出脚本中的公共的功能放到一个通用的脚本中,其他脚本都能复用它本篇文章介绍shell脚本中如何执行外部脚本,如何调用外部脚本中的函数,以及脚本复用相关的方法执行外部脚本的方式假如在当前目录有a.sh脚本,内容如下#!/bin/bashecho"
- 基于嵌入式linux开发的“2048”游戏综合设计
Clearlovekui9
学号:17020110019姓名:高少魁【嵌牛导读】本设计将之前提到的在FPGA开发平台上设计的游戏2048移植到了嵌入式开发平台上,利用基于qemu开源软件的虚拟mini2440开发板,使用Framebuffer图形界面编程,屏幕上显示棋盘以及数字的图片、用户的分数、游戏胜利/失败的提示信息等。该游戏可以检测用户输入的内容进行各种操作,如上下左右移动、重启游戏、退出、直接取得游戏胜利等。该程序图
- VSCode CUDA C/C++ 远程开发环境配置
本文讨论配置VSCodeCUDAC/C++的远程开发环境。官方的英文文档对于刚接触CUDA的新人十分劝退,网上没有找到很好的文档,在连续踩了好几天坑的情况下,决定自己写一篇文档记录一下踩坑过程(已经浪费很多时间了,就索性再花点时间记录)最终配置好的环境支持intellisense,一键编译/调试为什么选择在Linux开发CUDA?https://docs.nvidia.com/cuda/cuda-
- Linux C语言高级
Black Allen
linuxdebian
一、软件包管理及shell命令1.流行的两种软件包管理机制1.Deb软件包:由DebianLinux首先提出的软件包管理机制2.RPM软件包:由RedhatLinux推出的软件包管理机制2.DebianLinux开发了APT软件包管理器1.检查和修复软件包依赖关系2.利用Internet网络帮助用户主动获取软件包3.软件包类型(Ubuntu有两种类型软件包)1.二进制软件包:包含可执行文件、库文件
- 波奇学Linux:git和gdb调试
社交达人波奇酱
Linuxgitlinux
git用来版本控制,同样是版本控制的软件还有svn等。git的特定是具有网络功能的版本控制器,开源,client和server是一体的。(去中心化分布式管理)client和server一体意味着远程仓库和本地仓库是平等地位,远程仓库是特殊的仓库而已,我们的clone远程仓库,某种意义上相当于远程仓库的push的操作git本质上是操作系统,就像centos是基于Linux开发的,git和github
- Linux开发:PAM3 Ubuntu(22.04)安装PAM开发库
风静如云
Linux开发linux
Ubuntu22.04默认是不带pam开发库的,需要通过以下命令进行安装sudoaptinstalllibpam0g-dev关于PAM的文档可以参考:UbuntuManpage:pam-PluggableAuthenticationModulesLibrary也可以通过man进行查看:man3pam编译程序是需要加入的头文件:#include#include#include需要链接的库-lpam
- Linux开发工具的使用 (gcc/g++ | gdb)
Faiz..
Linuxlinux运维gdb
目录一、gcc/g++1.关于gcc/g++2.gcc如何使用gcc选项:预处理:编译:汇编:连接:函数库是什么:函数库分为动态库和静态库两种二、调试器gdb1.关于gdb2.gdb的使用gdb选项:Linux是一个广泛用于开发的操作系统,提供了许多强大的工具和环境来支持开发者.一、gcc/g++1.关于gcc/g++GCC(GNUCompilerCollection)是一个由GNUProject
- Linux开发:PAM2 配置文件
风静如云
Linux开发linux
PAM配置文件是用于粘合应用程序和PAM服务模块,通过其中的配置,可以动态的选择PAM服务模块,从而增加认证的可配置性和灵活性。PAM配置文件通常保存在/etc/pam.d/目录下,当应用程序进行认证时,会选择对应的PAM配置文件,而PAM配置文件又对PAM服务具体使用哪些模块(动态链接库)进行了描述,从而动态的加载PAM模块完成认证。1.PAM配置文件的位置在Ubuntu22.04上,PAM配置
- Linux开发:PAM1 介绍
风静如云
Linux开发linux
PAM(PluggableAuthenticationModules)是Linux提供的一种通用的认证方式,他可以根据需要动态的加载认证模块,从而减少认证开发的工作量以及提供认证的灵活度。1.PAM的框架PAM的框架由一下几个部分构成1)应用程序,即需要使用认证服务的程序,这些应用程序是使用抽象出的统一的PAMAPI接口,来调用PAM服务,完成认证请求。2)PAM库,实现PAMAPI,并读取PAM
- 嵌入式Linux开发---Socket CAN通信驱动硬件编程
牛马大师兄
嵌入式Linux经验教程嵌入式硬件linux网络协议arm开发mcuiottcp/ip
提醒:使用LinuxCAN开发的需要具备网络编程的部分基础,SocketCAN的使用类似于TCP/IPLinux开发板通过Socketcan驱动设备的参考源码demo见文末。0、CAN基础准备CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车
- 嵌入式Linux开发---RS485通信驱动硬件编程
牛马大师兄
嵌入式Linux经验教程linux嵌入式硬件arm开发驱动开发mcu物联网
提醒:RS485的使用与UART串口的使用基本相同,差别在于使用485时需要手动切换485芯片的收发引脚模式。Linux驱动RS485通信的程序源码Demo见文末。1、RS485基础铺垫智能仪表随着80年代初单片机技术的成熟而发展起来,世界仪表市场基本被智能仪表所垄断,这归结于企业信息化的需要,而企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接
- 【Linux】Linux开发工具(yum、gdb、git)详解
炫酷的伊莉娜
Linuxlinuxyumgdbgit
一、软件包管理器yum1、什么是软件包在Linux下安装软件,通常的办法是下载到程序的源代码,并进行编译,得到可执行程序。但这样太麻烦了,于是有些人把一些常用的软件提前编译好,做成软件包(可以理解成在Windows上的安装程序)放在一个服务器上,通过包管理器可以很方便的获取到这个编译好的软件包,直接进行安装。软件包和软件包管理器,就好比"App"和“应用商店”这样的关系。yum(Yellowdog
- 嵌入式linux开发板推荐
CC学妹
笔记经验分享
嵌入式Linux开发板是一种专为嵌入式系统开发而设计的硬件设备,它预装了Linux操作系统和必要的开发工具,为开发者提供了完整的嵌入式系统开发环境。嵌入式Linux开发板是一种功能强大、灵活性高、易于使用的开发工具,适用于各种嵌入式系统开发项目。嵌入式Linux开发板的选择较灵活,可以根据你的具体需求来决定,以下是我总结的一些目前比较受欢迎的开发板:1、RaspberryPi:这是一款非常流行的嵌
- fghbbbbbbbbbb
Mindtechnist
sqlitemysqloraclehbasejsonajaxbootstrap
欢迎关注博主Mindtechnist或加入【LinuxC/C++/Python社区】一起探讨和分享LinuxC/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。磁盘满的本质分析专栏:《Linux从小白到大神》|系统学习Linux开发、VIM/GCC/GDB/Make工具、Linux文件IO、进程管理、进程通信、多线程等,请关注专栏免费学习。文件
- 如何在openKlyin中设置ssh并结合cpolar内网穿透实现远程连接
nagiY
てんさいssh运维内网穿透
文章目录1.安装SSH服务2.本地SSH连接测试3.openKylin安装Cpolar4.配置SSH公网地址5.公网远程SSH连接小结6.固定SSH公网地址7.SSH固定地址连接openKylin是中国首个基于Linux的桌面操作系统开发者平台,通过开放操作系统源代码的方式,打造具有自主创新技术的开源桌面操作系统,目前多数使用方式都是桌面操作,openKylin是基于Linux开发的系统,同样支持
- zzzzzzzzzzzzzzzzz
Mindtechnist
eclipseidevisualstudiogithubgitci/cdwindows
欢迎关注博主Mindtechnist或加入【LinuxC/C++/Python社区】一起探讨和分享LinuxC/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。磁盘满的本质分析专栏:《Linux从小白到大神》|系统学习Linux开发、VIM/GCC/GDB/Make工具、Linux文件IO、进程管理、进程通信、多线程等,请关注专栏免费学习。文件
- Linux下如何复用外部shell脚本
码农_在线
在Linux开发中,经常会编写shell脚本来执行一些任务,通常是一个脚本只做一件事,随着任务的增加,脚本会越来越多,可复用的地方也会逐渐增加,这时就需要提取出脚本中的公共的功能放到一个通用的脚本中,其他脚本都能复用它Linux命令本篇文章介绍shell脚本中如何执行外部脚本,如何调用外部脚本中的函数,以及脚本复用相关的方法执行外部脚本的方式假如在当前目录有a.sh脚本,内容如下#!/bin/ba
- 嵌入式Linux开发板各种不同的微处理器架构
CC学妹
笔记经验分享
嵌入式Linux开发板的微处理器架构可能有很多种,这取决于开发板的硬件配置。常见的架构包括ARM、MIPS、PowerPC等。这些架构都是精简指令集RISC处理器架构。嵌入式Linux开发板的各种微处理器架构主要包括以下几种:ARM架构:ARM架构是使用最广泛的嵌入式系统处理器架构之一,尤其在移动设备领域中占据主导地位。它设计精简,功耗低,且在性能和成本之间实现了良好的平衡。ARM架构提供了多种系
- 【Linux】Linux开发常用api
PannLZ
Linux系统之路linux运维服务器个人开发
博客主页:PannLZ系列专栏:《Linux系统之路》不要让自己再留有遗憾,加油吧!文章目录Linux入门常用api1.文件操作(系统io)1.1打开一个文件:open()1.2读取文件内容:read()1.3数据写入文件:write()1.4关闭文件:close()1.5改变文件偏移量:lseek()1.6获取文件信息stat2.线程进程相关2.1创建新进程:fork()2.2创建线程pthre
- fgcvbnm
Mindtechnist
sqlitejsonajaxbootstrap硬件工程arm开发驱动开发
欢迎关注博主Mindtechnist或加入【LinuxC/C++/Python社区】一起探讨和分享LinuxC/C++/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。磁盘满的本质分析专栏:《Linux从小白到大神》|系统学习Linux开发、VIM/GCC/GDB/Make工具、Linux文件IO、进程管理、进程通信、多线程等,请关注专栏免费学习。文件
- 发布5-JRT在Linux开发
小乌鱼
JRTjava
JRT作为全信创支持的架构,设计之初就是计划完全能脱离Win开发和运行的,设计目标不仅仅是发布程序能脱Win,开发自己也要能脱Win。那么就不能依赖一些只能在Windows下运行或者好使的工具。JRTClient基于javafx开发、JRTBrowser基于Electron开发,都是跨平台的。为什么不支持Mac呢?因为我穷啊,用不起Mac,再一个做这东西就是为了脱Win,再进Mac岂不是脱裤子放屁
- 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层,要保证针对主库进行写操作,对多个从库进行读操作。当然在一些请求中,为了避免主从复制的延迟导致的数据不一致性,部分的读操作也要到主库上。(这种需求一般通过业务垂直分开,比如下单业务的代码所部署的机器,读去应该也要从主库读取数