1 SSM框架整合
1.1 Mybatis逆向工程
使用mybatis官方提供的mybatis-generator生成pojo、mapper接口及映射文件。 并且将pojo放到toatao-manager-pojo工程中。将mapper接口及映射文件放到taotao-manager-dao工程中。
1.2 整合思路
DAO层: Dao层有pojo及dao两个项目,mybatis整合spring,通过spring管理SqlSessionFactory、mapper代理对象。需要mybatis和spring的整合包。 Service层: Service层有interface及service两个项目,所有的service实现类都放到spring容器中管理。由spring创建数据库连接池,并有spring管理实务。 表现层: Springmvc框架,由springmvc管理controller。
1.3 Dao整合
Service项目中创建mybatis/SqlMapConfig.xml配置文件。 Spring整合mybatis 创建spring/applicationContext-dao.xml文件
其中properties/db.properties文件保存数据库链接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/taotao?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
1.4 Service整合
管理Service 创建applicationContext-service.xml
管理事务 创建applicationContext-trans.xml
配置Web.xml
taotao-manager
contextConfigLocation
classpath:spring/applicationContext*.xml
org.springframework.web.context.ContextLoaderListener
1.5 表现层整合
taotao-manager-web项目,创建spring/springmvc.xml文件
配置web.xml
taotao-manager-web
login.html
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
utf-8
CharacterEncodingFilter
/*
taotao-manager
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/springmvc.xml
1
taotao-manager
/
2 系统间通信
2.1 Dubbo的架构
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
调用关系说明:
0 服务容器负责启动,加载,运行服务提供者。
1 服务提供者在启动时,向注册中心注册自己提供的服务。
2 服务消费者在启动时,向注册中心订阅自己所需的服务。
3 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
2.2 使用方法
远程服务配置: 在提供方增加暴露服务配置
,在消费方增加引用服务配置
。 发布服务:
调用服务:
2.3 注册中心
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。使用dubbo-2.3.3以上版本,建议使用zookeeper注册中心。 Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用 Zookeeper的安装: 第一步:安装jdk 第二步:解压缩zookeeper压缩包 tar -zxvf zookeeper-3.4.6.tar.gz
,在下面创建data目录。 第三步:将conf文件夹下zoo_sample.cfg复制一份,改名为zoo.cfgmv zoo_sample.cfg zoo.cfg
第四步:编辑zoo.cfg,修改配置dataDir属性,指定一个真实目录dataDir=/root/zookeeper-3.4.6/data
第五步: 启动zookeeper:bin/zkServer.sh start
关闭zookeeper:bin/zkServer.sh stop
查看zookeeper状态:bin/zkServer.sh status
注意要关闭linux的防火墙。
3 整合测试
3.1 需求分析
根据商品id查询商品信息,并将商品信息使用json数据返回。 请求的url:/item/{itemId}
参数:商品id,从请求的url中获得 返回值:TbItem对象,逆向工程生成的pojo(响应json数据)
3.2 Dao层
根据商品id查询商品信息,单表查询可以使用逆向工程生成的代码。
3.3 Service层
在interface工程中创建一个ItemService接口,在Service工程中创建一个itemSeviceImpl的实现类。
@Service
public class ItemServiceImpl implements ItemService {
@Autowired
private TbItemMapper itemMapper;
@Override
public TbItem getItemById(long itemId) {
TbItem tbItem = itemMapper.selectByPrimaryKey(itemId);
return tbItem;
}
}
3.4 发布服务
在taotao-manager-Service工程中添加dubbo依赖的jar包,通过exclusion解决jar包冲突。
com.alibaba
dubbo
org.springframework
spring
org.jboss.netty
netty
org.apache.zookeeper
zookeeper
com.github.sgroschupf
zkclient
在spring的配置文件中添加dubbo的约束,然后使用dubbo:service发布服务
3.5 引用服务
在taotao-manager-web工程中添加dubbo依赖的jar包,如service工程所示。 在springmvc的配置文件中添加服务的引用
创建Controller,ItemService为前面dubbo暴露的service
@Controller
public class ItemController {
@Autowired
private ItemService itemService;
@RequestMapping("/item/{itemId}")
@ResponseBody
public TbItem getItemById(@PathVariable Long itemId) {
//根据商品id查询商品信息
TbItem tbItem = itemService.getItemById(itemId);
return tbItem;
}
}
3.6 解决mapper映射文件不发布问题
由于引用的是target文件夹,而xml映射文件并没有编译到target文件夹中,因此报错。在taotao-manager-dao工程的pom文件中添加如下resource内容:
src/main/java
**/*.properties
**/*.xml
false
4 Dubbo监控中心
1 安装tomcat,然后部署监控中心dubbo-admin-2.5.4.war即可cp dubbo-admin-2.5.4.war apache-tomcat-7.0.47/webapps/dubbo-admin.war
。 2 启动tomcat,访问http://192.168.25.167:8080/dubbo-admin/
,用户名:root,密码:root 3 如果监控中心和注册中心在同一台服务器上,可以不需要任何配置。如果不在同一台服务器,需要修改配置文件:/root/apache-tomcat-7.0.47/webapps/dubbo-admin/WEB-INF/dubbo.properties
5 商品列表查询功能实现
5.1 展示后台首页
请求的url:/
参数:无 返回值:逻辑视图String 创建PageController
@Controller
public class PageController {
@RequestMapping("/")
public String showIndex() {
return "index";
}
@RequestMapping("/{page}")
public String showPage(@PathVariable String page) {
return page;
}
}
由于在web.xml中定义的url拦截形式为“/”表示拦截所有的url请求,包括静态资源例如css、js等。所以需要在springmvc.xml中添加资源映射标签:
5.2 功能分析
商品列表页面如下
对应的jsp为:item-list.jsp 请求的url:/item/list 请求的参数:page=1&rows=30
启用分页会携带请求参数,pageSize
即为rows参数。 Easyui中datagrid控件要求的数据格式为:{total:”2”,rows:[{“id”:”1”,”name”:”张三”},{“id”:”2”,”name”:”李四”}]}
响应的json数据格式EasyUIResult 在common工程中创建POJO EasyUIDataGridResult,包括total rows两个参数,由于涉及网络传输,要实现序列化接口。
public class EasyUIDataGridResult implements Serializable{
private long total;
private List rows;
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List getRows() {
return rows;
}
public void setRows(List rows) {
this.rows = rows;
}
}
分页处理 逆向工程生成的代码是不支持分页处理的,如果想进行分页需要自己编写mapper,这样就失去逆向工程的意义了。为了提高开发效率可以使用mybatis的分页插件PageHelper。
5.3 分页插件PageHelper
Mybatis分页插件 - PageHelper说明 如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。 该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。 使用方法 第一步:把PageHelper依赖的jar包添加到工程中。官方提供的代码对逆向工程支持的不好,使用参考资料中的pagehelper-fix。 第二步:在service项目的Mybatis配置xml中配置拦截器插件:
第三步:在代码中使用 设置分页信息
//获取第1页,10条内容,默认查询总数count
PageHelper.startPage(1, 10);
//紧跟着的第一个select方法会被分页
List list = countryMapper.selectIf(1);
取分页信息
//分页后,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page,
Page listCountry = (Page)list;
listCountry.getTotal();
//或者用PageInfo对结果进行包装
PageInfo page = new PageInfo(list);
分页测试
public class TestPageHelper {
@Test
public void testPageHelper() throws Exception {
//1.在mybatis的配置文件中配置分页插件
//2.在执行查询之前配置分页条件。使用PageHelper的静态方法
PageHelper.startPage(1, 10);
//3.执行查询
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-dao.xml");
TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);
//创建Example对象
TbItemExample example = new TbItemExample();
// Criteria criteria = example.createCriteria();
List list = itemMapper.selectByExample(example);
//4.取分页信息。使用PageInfo对象取。
PageInfo pageInfo = new PageInfo<>(list);
System.out.println("总记录数:" + pageInfo.getTotal());
System.out.println("总记页数:" + pageInfo.getPages());
System.out.println("返回的记录数:" + list.size());
}
}
5.4 Service层
参数:int page ,int rows 业务逻辑:查询所有商品列表,要进行分页处理。 返回值:EasyUIDataGridResult 在ItemServiceImpl中实现getItemList方法
@Override
public EasyUIDataGridResult getItemList(int page, int rows) {
//设置分页信息
PageHelper.startPage(page, rows);
//执行查询
TbItemExample example = new TbItemExample();
List list = itemMapper.selectByExample(example);
//取分页信息
PageInfo pageInfo = new PageInfo<>(list);
//创建返回结果对象
EasyUIDataGridResult result = new EasyUIDataGridResult();
result.setTotal(pageInfo.getTotal());
result.setRows(list);
return result;
}
发布服务
5.5 表现层
引用服务:
1、初始化表格请求的url:/item/list 2、Datagrid默认请求参数: 1、page:当前的页码,从1开始。 2、rows:每页显示的记录数。 3、响应的数据:json数据。EasyUIDataGridResult 在ItemController中实现getItemList方法
@RequestMapping("/item/list")
@ResponseBody
public EasyUIDataGridResult getItemList(Integer page, Integer rows) {
EasyUIDataGridResult result = itemService.getItemList(page, rows);
return result;
}
Debug设置源代码:删除default文件夹,添加相应的源码项目
你可能感兴趣的:(taotao 商城 -2)
C++在线OJ负载均衡项目
平凡的小y
c++ 开发语言
1.演示项目项目源码链接:2.项目所用技术和开发环境所用技术C++STL标准库Boost准标准库(字符串切割)cpp-httplib第三方开源网络库ctemplate第三方开源前端网页渲染库jsoncpp第三方开源序列化、反序列化库负载均衡设计MySQLCconnectAce前端在线编辑器html/css/js/jquery/ajax开发环境Ubuntu云服务器vscodeMysqlWorkben
Camera2 实现重力感应四个方向调试相机预览
ItJavawfc
Camera Camera2 Camera 重力感应适配方向 预览
Camera2API实现重力感应四个方向调试相机预览文章目录需求场景需求实现setAspectRatio设置显示长宽postScalepostRotate设置缩放和旋转manager.openCamera打开相机startPreviewgetPreviewRequestBuilder设置预览参数:createCaptureSession预览准备工作setRepeatingRequest请求预览总结
Mac下载python并安装
小小酥*
下载pythonPython官网:https://www.python.org/进入官网后点击download,选择MacOSX版本2.安装MAC系统一般都自带有Python2.x版本的环境,你也可以在链接https://www.python.org/downloads/mac-osx/上下载最新版安装。3.设置环境变量程序和可执行文件可以在许多目录,而这些路径很可能不在操作系统提供可执行文件的搜
Python使用minIO上传下载
身似山河挺脊梁
python
前提VSCode+Python3.9minIO有Python的例子1.python生成临时文件2.写入一些数据3.上传到minIO4.获取分享出连接5.发出通知#创建一个客户端minioClient=Minio(endpoint='xx',access_key='xx',secret_key='xx',secure=False)#生成文件名current_datetime=datetime.dat
深入理解Python上下文管理器
……-……
python 开发语言
1.什么是上下文管理器?2.with语句的魔法3.创建上下文管理器的两种方式3.1基于类的实现3.2使用contextlib模块4.异常处理1.什么是上下文管理器?上下文管理器(ContextManager)是Python中用于精确分配和释放资源的机制。它通过__enter__()和__exit__()两个魔术方法实现了上下文管理协议,确保即使在代码执行出错的情况下,资源也能被正确清理。#经典文件
【Appium】Appium征服安卓自动化:GitHub 10.5k+星开源神器,Python代码实战全解析!
山河不见老
python 测试 appium android 自动化
Appium一、为什么开发者都在用Appium?二、环境搭建:5分钟极速配置2.1核心工具链2.2安卓设备连接三、脚本实战:从零编写自动化操作3.1示例1:自动登录微信并发送消息3.2示例2:动态滑动屏幕与数据抓取四、避坑指南4.1元素定位优化4.2稳定性增强4.3云真机集成五、生态扩展:超越安卓的自动化版图一、为什么开发者都在用Appium?万星认证:GitHub超10.5k+星标,活跃社区持续
异步编程中的并发编程优化
AI天才研究院
架构师必知必会系列 自然语言处理 人工智能 语言模型 编程实践 开发语言 架构设计
文章目录1.简介2.基本概念术语说明什么是异步编程?为什么要异步编程?浅谈异步编程模型基于事件驱动的模型基于消息队列的模型基于协程的模型为什么要进行并发优化?3.基本算法原理和具体操作步骤1.串行执行2.并行执行3.任务分片4.超时重试5.异步回调6.消息队列7.缓存8.异步框架9.模型选择4.具体代码实例和解释说明模块划分1.串行执行2.并行执行3.任务分片4.超时重试5.异步回调6.消息队列7
量化交易简介
终回首
Other Language 人工智能 量化交易 python
这里写目录标题1是什么2为什么3开源量化交易项目中国德国美国4商业版交易平台5量化界大佬3.1先驱者3.2其他知名人物1是什么借助数学方法,利用计算机技术进行交易的证券投资技术。一般流程想到一种策略。例如股价大于5日均价则卖出,股价小于5日均价则买入。把策略细化成可操作的步骤用代码实现策略的细化操作步骤检验策略效果用历史数据回测。在历史数据上模拟执行该策略,看经过给定的一段时间之后的收益情况如何。
夜莺[n9e] v6 中心机房部署
DuanHao_
prometheus
文章目录夜莺v6中心机房部署n9e监控服务VictoriaMetrics时序数据库Categraf采集器夜莺v6中心机房部署n9e监控服务项目介绍-快猫星云(flashcat.cloud)IP:192.168.*.*端口:17000安装部署安装路径192.168.*.*/opt/n9eMysql:存放配置类别信息,如用户,监控大盘,告警规则等Redis:存放访问令牌(JWTToken),心跳信息,
npm install 报错 gyp info it worked if it ends with ok npm ERR gyp verb cli [
m0_61083409
前端 html npm 前端 node.js
今天新启动一个项目,在npminstall安装依赖项时出现报错。ERR!code1npmERR!pathC:UsersAdministratorDesktope31mall-admin-webode_modulesode-sassnpmERR!commandfailednpmERR!commandC:Windowssystem32cmd.exe/d/s/cnodescripts/build.jsn
npm错误 gyp错误 vs版本不对 msvs_version不兼容
澎湖Java架构师
前端 html npm node.js 前端
npm错误gyp错误vs版本不对msvs_version不兼容windowsSDK报错执行更新GYP语句第一种方案第二种方案执行更新GYP语句npminstall-gnode-gyp最新的GYP好像已经不支持Python2.7版本,npm会提示你更新都3.*.*版本安装Node.js的时候一定要勾选以下这个,会自动检测安装缺少的环境第一种方案管理员运行CMD(PowerShell也行)执行更新工具
于STM32F103C8T6的智能灯泡控制系统C++源码实现
程序员Thomas
STM32 单片机 智能灯泡 stm32 c++ 嵌入式硬件
以下是一个基于STM32F103C8T6的智能灯泡控制系统C++源码实现,整合了PWM调光、WiFi控制和环境感知功能。该代码已在STM32CubeIDE中验证,支持直接烧录运行:#include"main.h"#include#include"wifi.h"//LED设备抽象类(3设计)classLEDDevice{protected:TIM_HandleTypeDef*pwmTimer;uin
基于STM32的平衡车外设控制应用案例,提供C++源码
程序员Thomas
STM32 单片机 平衡车 stm32 c++ 单片机
基于STM32的平衡车外设控制应用案例**下面是一个使用STM32控制平衡车的简单应用案例,包含姿态传感器读取、电机控制和串口通信功能。主要功能使用MPU6050传感器读取姿态数据使用PID控制器调整平衡车姿态通过串口输出调试信息电机速度控制C++源代码#include"stm32f10x.h"#include//定义常量#definePWM_MIN1000#definePWM_MAX2000#d
Android Studio 中将 AAR 包发布到 Maven 本地仓库
帅次
Android Studio android studio maven android kotlin flutter gradle macos
目录1.配置build.gradle.kts(或build.gradle)2.配置publishing任务3.发布到本地Maven仓库3.1Couldnotfindmethodpublications()forarguments...3.2bash:./gradlew:Permissiondenied3.3AndroidGradlepluginrequiresJava17torun.Youarec
基于JAVA中的spring框架和jsp实现自然灾害论坛平台项目【附项目源码+论文说明】
大雄是个程序员
项目实践 自然灾害论坛平台 java 项目源码 spring 毕业设计 课程设计 网页设计
摘要在上个世纪末期,也就是20世纪末,随着计算机技术的发展与进步和数据库方面的知识在互联网的大力运用,互联网技术以及网站技术在网上的大力推广,网上论坛(自然灾害论坛)也逐渐在网兴起,它的出现帮助了网上各种特定的群体进行一个在线的知识传递与信息的交流。本计算机自然灾害论坛设计,采用了JSP(JAVA)技术和MYSQL数据库开发,尝试实现了自然灾害论坛的基本功能以及帮助我们掌握了论坛技术的核心特点。该
众多主播都在用的超有趣桌面小宠物!
开开心心_Every
宠物 virtualenv eclipse python django pygame java
BongocatMver是一款主播直播必备萌系插件,是一款开源软件。软件由国外一个高中生kuroni开发出来,让手鼓猫中的手臂可以跟随鼠标,按键的操作而发生动作。萌系的猫咪造型以及键盘映射的交互动画,十分适合游戏主播、绘画主播、音游主播在直播时使用的虚拟造型插件,可以给你的直播间或视频带来无限的元气。软件采用Live2d模型来实现自定义形状,用户可以根据自己的设定来更换不同形状的猫。精准的面部捕捉
计算机网络&性能优化相关内容详解
GISer_Jinger
javascript 前端
1.优化页面性能:根据搜索结果,优化可以从资源加载、渲染优化、缓存策略等方面入手。网页1提到合并文件、压缩图片、使用CDN和HTTP/2。网页2和3强调了关键资源划分、减少HTTP请求、代码拆分和预加载。我需要综合这些点,分块回答。2.滚动性能优化及虚拟滚动核心:用户提到虚拟滚动是关键。网页6、8、9、10详细介绍了虚拟滚动的原理,即仅渲染可视区域元素,减少DOM操作。需要总结这些内容,并指出核心
大屏自适应终极方案:基于比例缩放的完美适配实践(Vue3版)
FFF-X
html5 javascript
需求背景在数据可视化大屏开发中,我们常面临这样的挑战:如何让1920*1080的设计稿在不同分辨率设备上完美呈现?传统的响应式布局难以应对复杂的大屏元素排布,本文介绍一种基于CSS3变换的终极适配方案实现思路本方案的核心是动态比例缩放,通过以下关键步骤实现:基准比例锁定:基于设计稿宽高比(16:9)建立基准比例视口实时检测:通过resize事件监听窗口变化智能比例判断:当视口更宽时:保持高度基准,
router-view的name属性 <router-view name=“path“></router-view>
FFF-X
vue.js 前端 javascript
多个router-view的问题一个页面可以配置多个router-view,加上name属性使之区分,在路由配置中需要将component变为components,代码如下//vue2importVuefrom'vue'importVueRouterfrom'vue-router'Vue.use(VueRouter)constroutes=[{path:'/',name:'Home',compon
Vue中使用echarts从后台获取数据渲染
FFF-X
echarts vue.js javascript
1.methods定义方法实例化Echartsmethods:{//定义方法asyncgetHistogram(){constechart=Echart.init(this.$refs.effect)//实例化Echartsechart.setOption({color:["#5ab1ef","#c8b6eb","#2ec7c9"],tooltip:{trigger:"axis",axisPoin
Font Awesome 的使用
FFF-X
第一种直接使用命令npminstallfont-awesome--save进行安装,安装成功后里面包含样式和字体,然后直接引入样式就可以了入口js中引入import'font-awesome/css/font-awesome.min.css'然后就可以使用了,例如下面这样第二种cdn要使用FontAwesome图标,请在HTML页面的部分中添加以下行:1、国内推荐CDN:2、海外推荐CDN推荐第二
人民日报报道,华为云赋能智能制造助力图扑软件构造数字孪生场景
智慧园区
华为 人工智能 物联网
2021年12月22日,《人民日报》头版头条刊登了《华为云赋能智能制造,助力图扑软件构造数字孪生场景》一文,聚焦数据可视化建设发展。报道指出,数字经济发展的背后,是大数据时趋势下各地区积极贯彻国家数字经济发展战略的时代精神;高效便捷管控的背后,是云端平台各大企业的互助共赢;高质精准2D、3D数据可视图的背后,是专注于数据可视化Web组态开发的厦门图扑软件科技有限公司。并对厦门图扑软件科技有限公司进
2D 可视赋能智慧水务绿色集约化发展
智慧园区
物联网 big data 人工智能
随着国家对环境保护治理程度的日益重视,各地政府积极响应国家政策,在共同聚焦生态文明建设下,急速催生了水务行业数字化转型。如今“供排污”一体化管理系统成为行业发展的重要趋势,提高水务精细作业、集中管控、数据透明成为刚需。Hightopo应用自主研发的HT产品,搭建了以厦门区域为载体的2D智慧水务可视化解决方案。界面摒弃了以往传统的地图模式,采用更加简洁的六边形色块拼接出湖泊水库等地形,河流分支则运用
【R语言2】Introduction to R 基础知识复习小测试 Pop quiz
不二程序猿
r语言 开发语言 数据挖掘
【R语言】基础知识点Popquiz前言Question1Question2Question3Question4Question5Question6Question7Question8Question9Question10是兄弟就砍一刀!答案前言在这里会有10道题,每一道都是对R语言的基础了解。有单选题和填空题,答案在最下面。填空题可以放到Rstudio里运行得出答案。Question1Whicho
uni-app的滚动加载 uni-load-more组件使用
weixin_42885875
手机端的滚动加载其实就是PC端的分页,触底之后页数加一调用接口,将返回的数据连接在原来的数据后面,就大致完成了。使用组件https://ext.dcloud.net.cn/plugin?id=29exportdefault{data(){return{ifBottomRefresh:false,loadmore:'more',contentText:{"contentdown":"加载更多数据",
Java架构师成长之路
hweiyu00
分享 spring 微服务 spring cloud java
概述本教程主要从6个方面,全面讲解Java技术栈的知识。1.性能调优深入理解MySQL底层原理、索引逻辑,数据结构与算法。使用Explain进行优化分析MVCC原理剖析日志机制解析2.框架源码掌握Spring底层原理带你手写一个Spring解析IOC、AOP源码、以及事务原理3.并发编程剖析Java底层锁机制CAS、JUC工具使用、AQS源码分析以及并发的集合类的讲解4.分布式开发剖析分布式中使用
sqlmap笔记
君如尘
网络安全-渗透笔记 笔记
1.运行环境sqlmap是用Python编写的,因此首先需要确保你的系统上安装了Python。sqlmap支持Python2.6、2.7和Python3.4及以上版本。2.常用命令通用格式:bythonsqlmap.py-r注入点地址--参数-rpost请求-uget请求--level=测试等级--risk=测试风险-v显示详细信息级别-p针对某个注入点注入-threads更改线程数,加速--ba
LangChain组件Tools/Toolkits详解(5)——返回产出artifact
龙焰智能
langchain artifact ToolCall BaseTool 工具产物 ToolMessages
LangChain组件Tools/Toolkits详解(5)——返回产出artifact本篇摘要14.LangChain组件Tools/Toolkits详解14.5返回产出artifact14.5.1定义工具14.5.2使用ToolCall调用工具14.5.3与模型一起使用14.5.4从子例化BaseTool返回参考文献本章目录如下:《LangChain组件Tools/Toolkits详解(1)—
JS基础-事件模型(事件&事件流&自定义事件&事件冒泡/代理)
LYFlied
html&浏览器 javascript 事件模型 事件流 前端 面试
文章目录一、事件与事件流二、事件模型1.DOM0级模型2.IE事件模型3.DOM2级模型4.DOM3级事件处理方式三、事件对象四、事件绑定与解除1.事件绑定1.1对象.on事件名字=事件处理函数1.2.对象.addEventListener("没有on的事件名字",事件处理函数,false)3.对象.attachEvent("有on的事件名字",事件处理函数);2.解除绑定五、EventWrapp
\yii\queue\LogBehavior::class到底是什么?一共包含哪些部分?
快点好好学习吧
Yii2.0 android
1.\yii\queue\LogBehavior::class到底是什么?想象一下,你在一家咖啡店:你需要记录每一笔订单的状态(如“已下单”、“正在制作”、“已完成”),以便后续追踪和排查问题。在Yii2的队列系统中,\yii\queue\LogBehavior就像是一个“日志记录员”,用于在队列任务执行的不同阶段记录日志信息。(1)核心概念定义:\yii\queue\LogBehavior是Yi
关于旗正规则引擎中的MD5加密问题
何必如此
jsp MD5 规则 加密
一般情况下,为了防止个人隐私的泄露,我们都会对用户登录密码进行加密,使数据库相应字段保存的是加密后的字符串,而非原始密码。
在旗正规则引擎中,通过外部调用,可以实现MD5的加密,具体步骤如下:
1.在对象库中选择外部调用,选择“com.flagleader.util.MD5”,在子选项中选择“com.flagleader.util.MD5.getMD5ofStr({arg1})”;
2.在规
【Spark101】Scala Promise/Future在Spark中的应用
bit1129
Promise
Promise和Future是Scala用于异步调用并实现结果汇集的并发原语,Scala的Future同JUC里面的Future接口含义相同,Promise理解起来就有些绕。等有时间了再仔细的研究下Promise和Future的语义以及应用场景,具体参见Scala在线文档:http://docs.scala-lang.org/sips/completed/futures-promises.html
spark sql 访问hive数据的配置详解
daizj
spark sql hive thriftserver
spark sql 能够通过thriftserver 访问hive数据,默认spark编译的版本是不支持访问hive,因为hive依赖比较多,因此打的包中不包含hive和thriftserver,因此需要自己下载源码进行编译,将hive,thriftserver打包进去才能够访问,详细配置步骤如下:
1、下载源码
2、下载Maven,并配置
此配置简单,就略过
HTTP 协议通信
周凡杨
java httpclient http 通信
一:简介
HTTPCLIENT,通过JAVA基于HTTP协议进行点与点间的通信!
二: 代码举例
测试类:
import java
java unix时间戳转换
g21121
java
把java时间戳转换成unix时间戳:
Timestamp appointTime=Timestamp.valueOf(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()))
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:m
web报表工具FineReport常用函数的用法总结(报表函数)
老A不折腾
web报表 finereport 总结
说明:本次总结中,凡是以tableName或viewName作为参数因子的。函数在调用的时候均按照先从私有数据源中查找,然后再从公有数据源中查找的顺序。
CLASS
CLASS(object):返回object对象的所属的类。
CNMONEY
CNMONEY(number,unit)返回人民币大写。
number:需要转换的数值型的数。
unit:单位,
java jni调用c++ 代码 报错
墙头上一根草
java C++ jni
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000777c3290, pid=5632, tid=6656
#
# JRE version: Java(TM) SE Ru
Spring中事件处理de小技巧
aijuans
spring Spring 教程 Spring 实例 Spring 入门 Spring3
Spring 中提供一些Aware相关de接口,BeanFactoryAware、 ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,其中最常用到de匙ApplicationContextAware.实现ApplicationContextAwaredeBean,在Bean被初始后,将会被注入 Applicati
linux shell ls脚本样例
annan211
linux linux ls源码 linux 源码
#! /bin/sh -
#查找输入文件的路径
#在查找路径下寻找一个或多个原始文件或文件模式
# 查找路径由特定的环境变量所定义
#标准输出所产生的结果 通常是查找路径下找到的每个文件的第一个实体的完整路径
# 或是filename :not found 的标准错误输出。
#如果文件没有找到 则退出码为0
#否则 即为找不到的文件个数
#语法 pathfind [--
List,Set,Map遍历方式 (收集的资源,值得看一下)
百合不是茶
list set Map遍历方式
List特点:元素有放入顺序,元素可重复
Map特点:元素按键值对存储,无放入顺序
Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
List接口有三个实现类:LinkedList,ArrayList,Vector
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身
解决SimpleDateFormat的线程不安全问题的方法
bijian1013
java thread 线程安全
在Java项目中,我们通常会自己写一个DateUtil类,处理日期和字符串的转换,如下所示:
public class DateUtil01 {
private SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public void format(Date d
http请求测试实例(采用fastjson解析)
bijian1013
http 测试
在实际开发中,我们经常会去做http请求的开发,下面则是如何请求的单元测试小实例,仅供参考。
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import
【RPC框架Hessian三】Hessian 异常处理
bit1129
hessian
RPC异常处理概述
RPC异常处理指是,当客户端调用远端的服务,如果服务执行过程中发生异常,这个异常能否序列到客户端?
如果服务在执行过程中可能发生异常,那么在服务接口的声明中,就该声明该接口可能抛出的异常。
在Hessian中,服务器端发生异常,可以将异常信息从服务器端序列化到客户端,因为Exception本身是实现了Serializable的
【日志分析】日志分析工具
bit1129
日志分析
1. 网站日志实时分析工具 GoAccess
http://www.vpsee.com/2014/02/a-real-time-web-log-analyzer-goaccess/
2. 通过日志监控并收集 Java 应用程序性能数据(Perf4J)
http://www.ibm.com/developerworks/cn/java/j-lo-logforperf/
3.log.io
和
nginx优化加强战斗力及遇到的坑解决
ronin47
nginx 优化
先说遇到个坑,第一个是负载问题,这个问题与架构有关,由于我设计架构多了两层,结果导致会话负载只转向一个。解决这样的问题思路有两个:一是改变负载策略,二是更改架构设计。
由于采用动静分离部署,而nginx又设计了静态,结果客户端去读nginx静态,访问量上来,页面加载很慢。解决:二者留其一。最好是保留apache服务器。
来以下优化:
java-50-输入两棵二叉树A和B,判断树B是不是A的子结构
bylijinnan
java
思路来自:
http://zhedahht.blog.163.com/blog/static/25411174201011445550396/
import ljn.help.*;
public class HasSubtree {
/**Q50.
* 输入两棵二叉树A和B,判断树B是不是A的子结构。
例如,下图中的两棵树A和B,由于A中有一部分子树的结构和B是一
mongoDB 备份与恢复
开窍的石头
mongDB备份与恢复
Mongodb导出与导入
1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.
所以,都有如下通用选项:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
2: mongoexport 导出json格式的文件
[网络与通讯]椭圆轨道计算的一些问题
comsci
网络
如果按照中国古代农历的历法,现在应该是某个季节的开始,但是由于农历历法是3000年前的天文观测数据,如果按照现在的天文学记录来进行修正的话,这个季节已经过去一段时间了。。。。。
也就是说,还要再等3000年。才有机会了,太阳系的行星的椭圆轨道受到外来天体的干扰,轨道次序发生了变
软件专利如何申请
cuiyadll
软件专利 申请
软件技术可以申请软件著作权以保护软件源代码,也可以申请发明专利以保护软件流程中的步骤执行方式。专利保护的是软件解决问题的思想,而软件著作权保护的是软件代码(即软件思想的表达形式)。例如,离线传送文件,那发明专利保护是如何实现离线传送文件。基于相同的软件思想,但实现离线传送的程序代码有千千万万种,每种代码都可以享有各自的软件著作权。申请一个软件发明专利的代理费大概需要5000-8000申请发明专利可
Android学习笔记
darrenzhu
android
1.启动一个AVD
2.命令行运行adb shell可连接到AVD,这也就是命令行客户端
3.如何启动一个程序
am start -n package name/.activityName
am start -n com.example.helloworld/.MainActivity
启动Android设置工具的命令如下所示:
# am start -
apache虚拟机配置,本地多域名访问本地网站
dcj3sjt126com
apache
现在假定你有两个目录,一个存在于 /htdocs/a,另一个存在于 /htdocs/b 。
现在你想要在本地测试的时候访问 www.freeman.com 对应的目录是 /xampp/htdocs/freeman ,访问 www.duchengjiu.com 对应的目录是 /htdocs/duchengjiu。
1、首先修改C盘WINDOWS\system32\drivers\etc目录下的
yii2 restful web服务[速率限制]
dcj3sjt126com
PHP yii2
速率限制
为防止滥用,你应该考虑增加速率限制到您的API。 例如,您可以限制每个用户的API的使用是在10分钟内最多100次的API调用。 如果一个用户同一个时间段内太多的请求被接收, 将返回响应状态代码 429 (这意味着过多的请求)。
要启用速率限制, [[yii\web\User::identityClass|user identity class]] 应该实现 [[yii\filter
Hadoop2.5.2安装——单机模式
eksliang
hadoop hadoop单机部署
转载请出自出处:http://eksliang.iteye.com/blog/2185414 一、概述
Hadoop有三种模式 单机模式、伪分布模式和完全分布模式,这里先简单介绍单机模式 ,默认情况下,Hadoop被配置成一个非分布式模式,独立运行JAVA进程,适合开始做调试工作。
二、下载地址
Hadoop 网址http:
LoadMoreListView+SwipeRefreshLayout(分页下拉)基本结构
gundumw100
android
一切为了快速迭代
import java.util.ArrayList;
import org.json.JSONObject;
import android.animation.ObjectAnimator;
import android.os.Bundle;
import android.support.v4.widget.SwipeRefreshLayo
三道简单的前端HTML/CSS题目
ini
html Web 前端 css 题目
使用CSS为多个网页进行相同风格的布局和外观设置时,为了方便对这些网页进行修改,最好使用( )。http://hovertree.com/shortanswer/bjae/7bd72acca3206862.htm
在HTML中加入<table style=”color:red; font-size:10pt”>,此为( )。http://hovertree.com/s
overrided方法编译错误
kane_xie
override
问题描述:
在实现类中的某一或某几个Override方法发生编译错误如下:
Name clash: The method put(String) of type XXXServiceImpl has the same erasure as put(String) of type XXXService but does not override it
当去掉@Over
Java中使用代理IP获取网址内容(防IP被封,做数据爬虫)
mcj8089
免费代理IP 代理IP 数据爬虫 JAVA设置代理IP 爬虫封IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
Java语言有两种方式使用代理IP访问网址并获取内容,
方式一,设置System系统属性
// 设置代理IP
System.getProper
Nodejs Express 报错之 listen EADDRINUSE
qiaolevip
每天进步一点点 学习永无止境 nodejs 纵观千象
当你启动 nodejs服务报错:
>node app
Express server listening on port 80
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (
C++中三种new的用法
_荆棘鸟_
C++ new
转载自:http://news.ccidnet.com/art/32855/20100713/2114025_1.html
作者: mt
其一是new operator,也叫new表达式;其二是operator new,也叫new操作符。这两个英文名称起的也太绝了,很容易搞混,那就记中文名称吧。new表达式比较常见,也最常用,例如:
string* ps = new string("
Ruby深入研究笔记1
wudixiaotie
Ruby
module是可以定义private方法的
module MTest
def aaa
puts "aaa"
private_method
end
private
def private_method
puts "this is private_method"
end
end