- 【机器学习&深度学习】本地部署 vs API调用:关键看显存!
一叶千舟
深度学习【应用必备常识】深度学习人工智能
目录一、本地部署VSAPI调用1.模型运行方式2.性能与速度3.成本4.隐私与安全5.何时选择哪种方式?二、为什么推荐本地部署?1️⃣零依赖网络和外部服务,更可靠稳定2️⃣无调用次数限制,更适合高频或批量推理3️⃣避免长期API费用,节省成本4️⃣保护用户隐私和数据安全5️⃣可自定义、深度优化6️⃣加载一次即可复用,低延迟高性能7️⃣离线可用(重要!)三、适合本地部署的情况四、本地部署条件4.1模
- 【Linux实训课程讲义 适用于教授Linux初学者的教学老师】
lijiatu10086
Linuxlinux运维服务器
内容介绍本博客用于Linux实训课程讲义,适用于对Linux初学者的教学老师。如果你自己已经使用了linux很久,但一时间不知道该对Linux初学者讲什么东西不知道从何讲起,你可以参考本博客。(部分章节内容不够详细,可以进行一定补充)一、Linux介绍以及安装Linux教程|菜鸟教程1.1介绍Linux内核最初只是由芬兰人林纳斯·托瓦兹(LinusTorvalds)在赫尔辛基大学上学时出于个人爱好
- C++实现学生管理系统
lijiatu10086
C++c++
文章目录实验要求一、实验平台二、代码1.结构体以及相关变量2.相关函数实现过程(1)判断一个学生是否已经存在(2)从文件中读写学生信息(3)增加学生(4)删除学生(5)修改学生(6)查询学生(7)main函数的实现3.整体代码总结实验要求实验要求:将班上同学的信息(编号(001对应第一个,008对应第八个),姓名,性别,年龄,学校,年级,班级,爱好……),使用自己设计的结构体来存储。并在此基础上结
- ESP8266调试及使用
金增辉
电子开发嵌入式硬件
ESP8266调试及使用一、准备工作:1.产品外形及型号2.使用的串口调试工具3.使用的串口调试软件4.ESP8266和调试工具的接线5.插入工具到计算机的USB口6.设备管理器配置串口7.打开串口调试软件开始测试二、使用手机的串口调试助手完成TCPClient通信一、准备工作:1.产品外形及型号##使用的串口调试工具2.使用的串口调试工具3.使用的串口调试软件4.ESP8266和调试工具的接线注
- Python+Pymysql+PooledDB实现数据库连接池
liuage_
python数据库
1.引言在测试中,频繁地创建和销毁数据库连接会消耗大量的资源,并且可能导致数据库连接的泄露或者性能下降。因此,使用连接池可以有效地管理数据库连接,提高程序的性能和可靠性。2.实现MySQL连接池的类我们将使用Python的pymysql库和dbutils库中的PooledDB来实现MySQL连接池。终端输入命令安装两个库pipinstallpymysqlpipinstalldbutils以下是实现
- C#关于DataGridView控件的使用总结
fangyuan621
数据库MicrosoftVisualStudioc#
DataGridView常用方法:dataGridView1.ReadOnly=true;//全部单元格只读dataGridView1.Columns[1].ReadOnly=true;///指定单元格设置只读(列)第一列 dataGridView1.Rows[2].ReadOnly=true;///指定单元格设置只读(行)第二行 dataGridView1[1,2].ReadOnly=true;
- 深度学习 vs 传统机器学习:哪个更适合你的项目?
AI大模型应用之禅
深度学习机器学习人工智能ai
深度学习vs传统机器学习:哪个更适合你的项目?关键词:深度学习、传统机器学习、特征工程、数据量、计算资源、项目选择、算法对比摘要:本文将用"炒菜"和"拼图"等生活案例,从核心原理、适用场景、资源需求等维度对比深度学习与传统机器学习。通过具体代码示例和真实项目场景分析,帮助开发者和企业决策者快速判断:你的项目该选深度学习还是传统机器学习?背景介绍目的和范围随着AI技术普及,"该用深度学习还是传统机器
- Python 机器学习实战:泰坦尼克号生还者预测 (从数据探索到模型构建)
程序员阿超的博客
Pythonpython机器学习开发语言泰坦尼克号KaggleScikit-learn实战教程
引言:挑战介绍泰坦尼克号的沉没是历史上最著名的海难之一。除了其悲剧色彩,它还为数据科学提供了一个经典且引人入胜的入门项目。Kaggle平台上的“Titanic:MachineLearningfromDisaster”竞赛,要求我们利用乘客数据来预测哪些人更有可能在这场灾难中幸存。这是一个典型的二元分类问题:目标变量Survived只有两个值,0(遇难)或1(生还)。这个项目之所以经典,是因为它涵盖
- 【unity游戏开发——网络】网络协议、TCP vs UDP 本质区别
向宇it
【unity游戏开发——网络】网络网络协议unity游戏引擎c#tcp/ipudp
注意:考虑到热更新的内容比较多,我将热更新的内容分开,并全部整合放在【unity游戏开发——网络】专栏里,感兴趣的小伙伴可以前往逐一查看学习。文章目录一、网络协议概述二、OSI七层模型三、TCP/IP四层模型四、核心传输协议对比1、TCPvsUDP本质区别2、TCP关键机制详解2.1三次握手建立连接2.2四次挥手断开连接五、常见面试题精要六、总结1、TCP:2、UDP:专栏推荐完结一、网络协议概述
- Python Web开发之“基于flask的轻量级Web应用”
诚威_lol_中大努力中
夏令营复习python前端flask
参考文章1:https://cloud.tencent.com/developer/article/2373503参考文章2:基于Flask的自定义网站设计与实现(代码全文+讲解V1.0)_flask框架制作网页-CSDN博客参考文章3:Python+Flask+MysqL设计网页-李明惠-博客园(cnblogs.com)最基本的例子来源-参考文章1:说明:导入Flask类——>app=Flask
- vue3 - 【完整源码】超详细实现网站 / H5 在线预览 pdf 文件功能,支持缩放、旋转、全屏预览、打印、下载、内容检索、主题色定制、侧边缩略图、页码跳转等等(最好用的pdf预览器,注释详细!)
十一猫咪爱养鱼
前端组件与功能(开箱即用)Vue组件与功能(工作经验)vue常见问题解决vue3pdf预览器vue3网页打开pdf文件vue3可自定义界面的pdfvue3pdf网页预览下载vue3项目预览PDF插件组件
效果图在Vue3.js项目中,实现了快速高效的pdf预览器工具组件,附带详细的使用教程与详细的注释,保证一键复制轻松搞定!详细的注释很容易二次修改,很多实用功能,你也可以自定义界面上的样式、DIY一切!组件源码首先
- LLM大语言模型学习笔记(1)
Arixs666
大语言模型语言模型笔记人工智能
1.概念大语言模型(LLM,LargeLanguageModel),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型。LLM通常指包含数百亿(或更多)参数的语言模型,它们在海量的文本数据上进行训练,从而获得对语言深层次的理解。2.能力2.1涌现能力区分大语言模型(LLM)与以前的预训练语言模型(PLM)最显著的特征之一是它们的涌现能力。涌现能力是一种令人惊讶的能力,它在小型模型中不明显
- Selenium浏览器驱动全面指南:Chrome、Firefox与IE
本文还有配套的精品资源,点击获取简介:Selenium是一个用于自动化Web应用程序测试的工具,支持多种浏览器,包括GoogleChrome、MozillaFirefox和InternetExplorer(IE)。本指南详细介绍如何配置和使用与这三种主流浏览器协同工作的Selenium驱动程序。包括ChromeDriver、GeckoDriver和IEDriverServer,以及在Python中
- 【python数据分析】数据建模之Kmeans聚类
斑点鱼 SpotFish
python数据建模聚类python数据分析
K-means聚类:最常用的机器学习聚类算法,且为典型的基于距离的聚类算法。K均值:基于原型的、划分的距离技术,它试图发现用户指定个数(K)的簇以欧式距离作为相似度测度Kmeans聚类案例分析:make_blobs聚类数据生成器#导入模块from sklearn.cluster import KMeansfromsklearn.datasetsimportmake_blobs#创建数据x,y_tr
- 掌握Linux C++轻量级Web服务器开发:TinyWebServer项目实战
老光私享
本文还有配套的精品资源,点击获取简介:TinyWebServer是一个用C++编写的轻量级Web服务器,专为Linux系统设计。它提供了深入学习Web服务器工作原理和本地开发小型项目的机会。项目涵盖了网络套接字编程、多线程处理、HTTP协议解析等关键系统编程技术,并允许通过源代码分析学习和实践。开发者可以通过扩展TinyWebServer来学习更多关于Web服务器的深入知识和技术。1.Linux下
- 【unity游戏开发——网络】网络游戏通信方案——强联网游戏(Socket长连接)、 弱联网游戏(HTTP短连接)
向宇it
【unity游戏开发——网络】网络unity游戏游戏引擎c#编辑器http
注意:考虑到热更新的内容比较多,我将热更新的内容分开,并全部整合放在【unity游戏开发——网络】专栏里,感兴趣的小伙伴可以前往逐一查看学习。文章目录一、联网游戏类型划分二、核心通信协议对比三、开发选择指南专栏推荐完结一、联网游戏类型划分类型通信特点代表游戏技术本质弱联网游戏按需连接,单次请求后立即断开消消乐、卡牌类(如《刀塔传奇》)短连接通信强联网游戏持续连接,实时双向数据交换《王者荣耀》《和平
- 链表重排序问题
VictorWuuu
算法链表数据结构后端
链表重排序问题(1→2→…→n变为1→n→2→n-1→…)问题分析这道题目要求我们将一个链表从1→2→...→n重排为1→n→2→n-1→...的形式,并且要求空间复杂度为O(1)。例如:输入:1→2→3→4→输出:1→4→2→3输入:1→2→3→4→5→输出:1→5→2→4→3解题思路由于空间复杂度限制为O(1),我们不能使用额外的数据结构(如数组)来存储节点。可以通过以下步骤实现:找到链表中点
- 大语言模型LLM原理篇
大模型席卷全球,彷佛得模型者得天下。对于IT行业来说,以后可能没有各种软件了,只有各种各样的智体(Agent)调用各种各样的API。在这种大势下,笔者也阅读了很多大模型相关的资料,和很多新手一样,开始脑子里都是一团乱麻,随着相关文章越读越多,再进行内容梳理,终于理清了一条清晰的脉络。笔者写原理篇时心情是有些惴惴不安的,因为毕竟对大模型的研究有限,缺乏深度。但是,还是觉得有必要记录一下学习理解心得,
- 精通C++包括哪些方面
melonbo
百问-C/C++c++
一、语言核心与标准特性多范式编程掌握过程式、面向对象(OOP)、泛型编程(模板)和函数式编程,能根据场景选择最佳范式。内存管理熟练使用new/delete、智能指针(unique_ptr、shared_ptr),理解RAII原则,避免内存泄漏。现代C++标准应用C++11/14/17/20特性(如移动语义、lambda表达式、协程),提升代码效率。模板与元编程实现函数/类模板,掌握SFINAE、变
- 我的第一个开源项目:用Python搭建轻量级静态网页服务器—— 零基础也能实现的Web开发初体验
一、为什么选择静态服务器?极简高效:无需数据库或复杂后端逻辑,适合展示简历、作品集等静态内容学习曲线平缓:是理解HTTP协议和Web服务原理的最佳入门方式资源消耗低:单文件Python脚本即可运行,内存占用小于10MB二、完整开发流程(含代码逐行解析)第一步:创建项目结构PWS/#项目根目录├──static/#静态资源文件夹│├──index.html#主页│├──style.css#样式表│└
- golang strings api接口
爱编程的 小李
golanggolang开发语言后端
1函数函数名参数返回值解释ClonesstringstringClone返回s的一份新副本。它保证将s的副本放入新的分配中,这在仅保留较大字符串的一小部分子字符串时非常重要。使用Clone可以帮助此类程序使用更少的内存。当然,由于使用Clone会进行复制,因此过度使用Clone会使程序使用更多内存。Clone通常很少使用,并且仅在分析表明需要时才使用。对于长度为零的字符串,将返回字符串“”,并且不
- goland设置goroot_GoLand安装及环境配置
weixin_39885383
goland设置goroot
前因后果:新学期新气象,开学的第一节课是zw老师的区块链技术与应用领域,congratulations!涉及编程实验,使用Go语言,需要安装GoLand软件进行下一步。进去之后选择对应的版本下载,这里我下的Windows64的。完成之后开始安装,一路next直到完成,需要注意的就是安装路径,默认是C盘,这里我更改为了E盘。接下来进行Go语言坏境变量的配置,非常熟练的打开环境变量。坏境变量打开方式:
- 使用nssm工具创建windows服务和删除服务
cdg==吃蛋糕
c语言开发语言windows
@echooffsetstroage_path=C:\shenyang\storagenssminstallkae_arangodb"%stroage_path%\graphdb/usr/bin/arangod.exe"nssmsetkae_arangodbAppDirectory"%stroage_path%\graphdb"nssmsetkae_arangodbStartSERVICE_AUT
- docker 结合shell使用方法,让你更理解docker的运行顺序
cdg==吃蛋糕
dockerlinux运维
dockerrun-itd\#不多解释,-itd带交互后台运行--namecdg\#容器名称python\#镜像名称/bin/bash-c\#运行bashshell-c执行后面脚本"touch/1.py;\#在根目录touch一个1.py文件echo-e'importrequests\nr=requests.get(\"http://www.baidu.com\")\nprint(r.text)'
- 开发百度离线地图Java Web项目与无水印瓦片下载工具
王超逸q
本文还有配套的精品资源,点击获取简介:本项目采用MyEclipse开发环境构建JavaWeb应用程序,实现百度离线地图功能。通过百度地图API获取地图瓦片,并包含无水印瓦片下载工具,需遵循百度地图的使用条款。项目文件包括源代码、配置文件、资源文件,涉及地图API调用、HTTP协议、JavaWeb应用生命周期、MyEclipse使用、地图瓦片坐标系统理解等技术。项目的成功部署需要熟悉Web服务器如T
- 高效实现滚动地图:瓦片渲染技术
郑丢丢
瓦片渲染游戏开发内存优化滚动地图渲染技术
高效实现滚动地图:瓦片渲染技术背景简介在游戏开发中,创建大型、动态的地图是一大挑战,尤其是对于内存的优化要求极高。传统的背景图方式不仅占内存,而且在处理大型地图时效率低下。本文介绍了一种被称为瓦片渲染的技术,它通过将大地图分解为小的图像块(瓦片),有效减少了内存的使用,同时还能实现流畅的滚动效果。瓦片渲染的原理瓦片渲染是一种处理大型游戏地图的方法,它不依赖于一个大型的位图,而是通过数组和小图像块(
- 文件系统中元数据的隐患——缓存
小可爱amour
文件系统对象系统缓存
热点文件(尤其是大文件)在查询或下载过程中,涉及大量的元信息访问。如果元信息较大且访问QPS较大时,就会导致实例网卡打满、CPU爆表,造成缓存失效(缓存击穿);流量直接打到DB上,造成大量读请求超时、连接打满、机器挂掉(服务雪崩)。直接对服务可用性造成打击,一般都是重大事故。造成这种结果的本质原因是缓存设计和使用不合理。直接原因是缓存对象指向的文件是热门资源。一般文件系统很少关心文件或者文件对象指
- realloc() 用法详解
小可爱amour
C/C++算法
原型:externvoid*realloc(void*mem_address,unsignedintnewsize);语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。//新的大小若小于原来的大小,原数据的末尾可能丢失(被其他使用内存的数据覆盖等)头文件:#include有些编译器需要#include,在TC2.0中可以使用alloc.h头文件功能:先判断当前的指针是
- Svelte学习笔记六:谈谈双向绑定的使用
月半叫做胖
Svelte前端学习svelte前端框架
表单元素的双向绑定1.input受控绑定使用bind关键字进行绑定,svelte通过bind关键字来完成类似v-model的双向绑定textcheckboxnumberrangeselectletquestions=[{id:1,text:'question1'},{id:2,text:'question2'},{id:3,text:'question3'}];letselected=1;{#ea
- Milvus向量数据库入门指南
longfei.li
milvus数据库人工智能
一、Milvus简介Milvus是一个开源的向量数据库,专为AI应用和向量相似度搜索而设计,以加速非结构化数据的检索。自2019年创建以来,Milvus专注于存储、索引和管理由深度神经网络和其他机器学习模型生成的海量嵌入向量。其能够处理万亿级别的向量索引任务。Milvus的核心优势在于其高效的索引机制,它支持多种索引类型,包括FLAT、IVF_FLAT、IVF_SQ8、IVF_PQ和HNSW等。这
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,