- 精通 triton 使用 MLIR 的源码逻辑 - 第001节:triton 的应用简介
项目使用到MLIR,通过了解triton对MLIR的使用,体会到MLIR在较大项目中的使用方式,汇总一下。1.Triton概述OpenAITriton是一个开源的编程语言和编译器,旨在简化GPU高性能计算(HPC)的开发,特别是针对深度学习、科学计算等需要高效并行计算的领域。既允许开发者编写高度优化的代码,又不必过度关注底层硬件细节。这样,通过简化高性能计算,可以加速新算法的实现和实验。传统GPU
- 英伟达Triton 推理服务详解
leo0308
基础知识机器人Triton人工智能
1.TritonInferenceServer简介TritonInferenceServer(简称Triton,原名NVIDIATensorRTInferenceServer)是英伟达推出的一个开源、高性能的推理服务器,专为AI模型的部署和推理服务而设计。它支持多种深度学习框架和硬件平台,能够帮助开发者和企业高效地将AI模型部署到生产环境中。Triton主要用于模型推理服务化,即将训练好的模型通过
- 【深度学习】大模型GLM-4-9B Chat ,微调与部署(3) TensorRT-LLM、TensorRT量化加速、Triton部署
XD742971636
深度学习机器学习深度学习人工智能
文章目录获取TensorRT-LLM代码:构建docker镜像并安装TensorRT-LLM:运行docker镜像:安装依赖魔改下部分package代码:量化:构建图:全局参数插件配置常用配置参数测试推理是否可以代码推理CLI推理性能测试小结验证是否严重退化使用NVIDIATriton部署在线推理服务器代码弄下来编译镜像启动容器安装依赖量化构建trtengines图Triton模板说明实操发起Tr
- 解决更新python版本后,虚拟环境不可用的问题
Superstarimage
diffusers编程pythonpython人工智能开发语言
因为安装xformers,需要额外加装triton,而triton需要的python版本(3.10)高于我当前虚拟环境的版本(3.8),因此博主手动提升了当前虚拟环境的版本:condainstallpython=3.10结果应用该虚拟环境时,始终报如下错误:(TrainControlNet)F:\XYX\Documents\SpongeCakeInverse\AITools\the3rdparty
- 【Triton 教程】triton_language.arange
Triton是一种用于并行编程的语言和编译器。它旨在提供一个基于Python的编程环境,以高效编写自定义DNN计算内核,并能够在现代GPU硬件上以最大吞吐量运行。更多Triton中文文档可访问→https://triton.hyper.ai/triton.language.arange(start,end)返回半开区间[start,end)内的连续值。end-start必须小于等于TRITON_M
- 【Triton 教程】triton_language.arange
Triton是一种用于并行编程的语言和编译器。它旨在提供一个基于Python的编程环境,以高效编写自定义DNN计算内核,并能够在现代GPU硬件上以最大吞吐量运行。更多Triton中文文档可访问→https://triton.hyper.ai/triton.language.arange(start,end)返回半开区间[start,end)内的连续值。end-start必须小于等于TRITON_M
- AI 编译器技术沙龙丨 AMD/北京大学/沐曦/上海创智齐聚北京,TVM/Triton/TileLang 各展所长
hyperai
在AI变革千行百业的时代,一场关于效率、可部署性与算力可持续性的技术革命正悄然发生。作为承上启下的关键中间件,AI编译器串联起了底层硬件与上层应用。无论是已在业界广泛应用的TVM,还是近年来快速崛起的Triton,亦或是今年年初才崭露头角的算子编程语言TileLang,编译技术已不仅仅是让模型「跑得起来」的基本保障,同时也正在升级为支撑「高效执行与资源利用优化」的关键技术。围绕AI编译器上下游的创
- 【Triton 教程】triton_language.num_programs
Triton是一种用于并行编程的语言和编译器。它旨在提供一个基于Python的编程环境,以高效编写自定义DNN计算内核,并能够在现代GPU硬件上以最大吞吐量运行。更多Triton中文文档可访问→https://triton.hyper.ai/triton.language.num_programs(axis)返回沿着指定axis启动的程序实例的数量。参数:axis(int)-3D启动网格的轴。必须
- triton学习笔记3: 矩阵分块术
Puzzle10:TwoDimensionalConvolutionAbatched2Dconvolution.Usesoneprogramidaxis.BlocksizeB0representthebatchestoprocessoutofN0.ImagexissizeisHbyWwithonly1channel,andkernelkissizeKHbyKW...math::z_{i,j,l}=
- triton学习笔记2: 循环优化术
Puzzles8:Longsoftmaxpuzzles8是计算batch的softmax,题目如下:Softmaxofabatchoflogits.Usesoneprogramblockaxis.BlocksizeB0representsthebatchofxoflengthN0.BlocklogitlengthT.ProcessitB1Float32[4,200]:x_max=x.max(1,k
- facebook开源Triton编写GPU内核的编程模型速读:KernelLLM
Open-source-AI
前沿开源语言模型人工智能自然语言处理大模型代码生成
KernelLLM一、引言KernelLLM是一个基于Llama3.1Instruct的大型语言模型,专为使用Triton编写GPU内核的任务而训练。其目标是使GPU编程更加普及和高效,满足日益增长的高性能GPU内核需求。二、模型介绍(一)模型架构KernelLLM是一个自回归语言模型,采用优化的变压器架构。它以Llama3.1-8B-Instruct为基础,经过监督指令微调。(二)训练数据模型在
- AI编译器对比:TVM vs MLIR vs Triton在大模型部署中的工程选择
学术猿之吻
人工智能mlir量子计算pytorch深度学习分布式
引言:大模型部署的编译器博弈随着千亿参数大模型成为常态,推理延迟优化成为系统工程的核心挑战。本文基于NVIDIAA100与GoogleTPUv4平台,通过BERT-base(110M)和GPT-2(1.5B)的实测数据,对比TVM、MLIR、Triton三大编译框架在动态shape支持、算子融合效率、内存管理等方面的工程特性,揭示不同场景下的编译策略选择规律。一、技术架构对比分析1.1TVM:分层
- 错误信息 ModuleNotFoundError: No module named ‘vllm._C‘解决方法(windows下暂未找到解决办法,待补充)
老兵发新帖
windows
根据错误信息ModuleNotFoundError:Nomodulenamed'vllm._C'和你的环境日志,以下是分步骤解决方案:1.核心问题诊断vllm._C是vLLM的底层C/C++编译模块,缺失该文件表明vLLM安装不完整或编译失败。结合日志中的Triton警告,可能原因包括:•CUDA环境配置错误(版本不匹配或驱动异常)•vLLM安装时未正确编译C++扩展(常见于Windows系统)•
- windows的USB插拔事件日志
小龍16
小打小闹安全
目的:セキュリティ強化_USB挿抜ログバッチファイル作成:監視機能↓WindowsでUSBを指す時にログ生成して出力するもの方案1:https://triton.casey.jp/portable/usblogview/usblogviewダウンロードした、使える方案2:→有料になるため廃棄https://prtimes.jp/main/html/rd/p/000000017.000017223.
- tritonserver学习之九:tritonserver grpc异步模式
棉花糖_码农夜读
深度学习人工智能c++
tritonserver学习之一:triton使用流程tritonserver学习之二:tritonserver编译tritonserver学习之三:tritonserver运行流程tritonserver学习之四:命令行解析tritonserver学习之五:backend实现机制tritonserver学习之六:自定义c++、pythoncustombackend实践tritonserver学习
- 《从GPT-4到“东数西算”:AI算力的全球格局与技术趋势》
嘉图明
人工智能科技
AI算力分配模式对比技术对比GPU集群调度与框架差异:资本主义模式下,私营巨头依赖自研或开源框架优化GPU集群利用率。例如OpenAI开源的Triton框架,通过自动优化GPU内核调度来逼近硬件峰值性能。企业云通常采用容器编排(如Kubernetes/Borg)实现弹性调度,优先满足付费业务需求,支持抢占式调度以确保高价值任务占用足够算力资源。相比之下,我国模式下的国家超算中心多使用集中式调度(如
- triton 2.0.0 pip install失败
CaoUp_40102716
pip
项目场景:triton==2.0.0pipinstall异常问题描述`ERROR:Couldnotfindaversionthatsatisfiestherequirementtriton==2.0.0ItriedPython3.10,gotanerrorthatsomedependencyrequiredRequires-Python>=3.7,<3.10解决方案:更换为:pipinstallh
- triton环境安装
youzjuer
ubuntulinux运维
一安装nvidia驱动基于centos7安装,曾经尝试了ubuntu16.04安装nvidia的驱动,发现非常麻烦,不推荐,推荐centos7安装,直接命令行就可以安装,相关教程可参考之间发布的博客二安装anaconda参考CentOS7安装Anaconda及简单配置_centosanaconda安装-CSDN博客https://blog.csdn.net/LJX_ahut/article/det
- 【模型部署】使用onnxruntime部署yolo11n,提供fastapi接口
青春狗头少年不会梦到格温学姐
fastapiyolo前端gptiqooadbandroid
文章目录背景目录结构server.pyonnx_inference.pyDockerfile文件编写docker镜像构建运行并测试背景triton太臃肿,所以选择onnxruntime进行yolo模型部署,fastapi提供http接口调用。目录结构server.pyfromfastapiimportFastAPI,UploadFile,File,HTTPExceptionfromfastapi.
- 贡献 Triton 算子库
哦豁灬
CUDAGPUaicompilertritoncudaaiCompiler
1FlagGemsFlagGems是使用OpenAI推出的Triton编程语言实现的高性能通用算子库,旨在为大语言模型提供一系列可应用于PyTorch框架的算子,加速模型的推理与训练。FlagGems通过对PyTorch的后端aten算子进行覆盖重写,默认支持pytorch的eager模式,实现算子库的无缝替换,使用户能够在不修改模型代码的情况下平稳地切换到Triton算子库。FlagGems不会
- 【5090d】配置运行和微调大模型所需基础环境【一】
Monee..
做项目全流程的完整踩坑史深度学习pytorch人工智能
RuntimeError:Failedtoimporttransformers.integrations.bitsandbytesbecauseofthefollowingerror(lookuptoseeitstraceback):Nomodulenamed'triton.ops'原因:是因为在导入transformers.integrations.bitsandbytes时缺少必要的依赖项tr
- AI日报 - 2025年3月8日
訾博ZiBo
AI日报人工智能
AI日报-2025年3月8日今日概览(60秒速览)▎AGI突破|OpenAI计划2027年宣布实现AGIElonMusk提出融合AGI、特斯拉机器人、xAI与Neuralink的终极计划▎商业动向|AMD发布Instella3B开源大模型,性能超越同类阿里巴巴发布START模型,股价上涨8.47%▎技术趋势|Tilelang内核代码性能超越Triton,H100实现500%加速新方法LADDER和
- [machine learning] Triton Server & TensorRT
进阶的小蜉蝣
machinelearning机器学习人工智能
一、TritonServer1.1架构介绍Triton是一个高性能的推理软件框架,它既支持GPU推理,又支持CPU推理,既能部署在server上,也能部署在端侧设备上。同时,它还支持多种机器学习框架的推理引擎作为backend以及它们对应的模型格式,比如:backend(inferenceengine)modelformatTensorRT.planONNXRuntime.onnxTensorFl
- 使用 AMD GPU 加速推理的投机采样
109702008
#ROCm人工智能
SpeedUpTextGenerationwithSpeculativeSamplingonAMDGPUs—ROCmBlogs随着变压器模型的规模增长,进行推理的成本也在增加,影响了延迟和吞吐量。量化和蒸馏等压缩方法,以及诸如闪存注意力和Triton等硬件优化,已被提出在不同层面上减少计算成本。然而,这些方法要么在准确性上有所妥协,要么需要对模型实现进行重大改动。投机采样是一种加速推理的技术(在7
- 【Triton 教程】triton_language.num_programs
HyperAI超神经
Triton人工智能深度学习pythonTritonGPU教程DNN
Triton是一种用于并行编程的语言和编译器。它旨在提供一个基于Python的编程环境,以高效编写自定义DNN计算内核,并能够在现代GPU硬件上以最大吞吐量运行。更多Triton中文文档可访问→https://triton.hyper.ai/triton.language.num_programs(axis)返回沿着指定axis启动的程序实例的数量。参数**:**axis(int)-3D启动网格的
- Windows下安装triton
iearthshine
1、triton官方只支持Linux2、Windows下安装triton,只能通过whl安装,且必须使用严格对应python版本3、建议使用triton-windows的版本https://github.com/woct0rdho/triton-windows4、下载地址https://github.com/woct0rdho/triton-windows/releases------------
- python模块triton安装教程
2401_85863780
1024程序员节tritonwhl
Triton是一个用于高性能计算的开源库,特别适用于深度学习和科学计算。通过预编译的whl文件安装Triton可以简化安装过程,尤其是在编译时可能会遇到依赖问题的情况下。以下是详细的安装步骤:安装前准备:Python环境:确保已经安装了Python,并且Python版本与whl文件兼容。pip:确保已经安装了pip,这是Python的包管理器,用来安装外部库。下载whl文件:从可靠的来源下载适用于
- Python|Windows 系统安装 triton 的方法
长行
Pythonpythonwindowstriton
问题现象若未安装,则在运行调用了该仓库的Python脚本时,会报错如下:ModuleNotFoundError:Nomodulenamed'triton'在Windows系统中,如果直接使用pip安装,会报错如下:pipinstalltritonERROR:Couldnotfindaversionthatsatisfiestherequirementtriton(fromversions:none
- 【Triton 教程】triton.autotune
Triton是一种用于并行编程的语言和编译器。它旨在提供一个基于Python的编程环境,以高效编写自定义DNN计算内核,并能够在现代GPU硬件上以最大吞吐量运行。更多Triton中文文档可访问→https://triton.hyper.ai/triton.autotune(configs,key,prune_configs_by=None,reset_to_zero=None,restore_va
- [python][whl]python模块triton的whl文件下载地址汇总
Java后时代
程序员pythonlinux开发语言
triton-2.0.0-cp310-cp310-win_amd64.whl下载地址:https://download.csdn.net/download/FL1623863129/88631360triton-2.1.0-cp310-cp310-win-amd64.whl下载地址:https://download.csdn.net/download/FL1623863129/88973905【l
- ios内付费
374016526
ios内付费
近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。
具体使用如下:
这里的sender其实就是调用者,这里主要是为了回调使用。
[KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa
- 20 款优秀的 Linux 终端仿真器
brotherlamp
linuxlinux视频linux资料linux自学linux教程
终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。)
你能从开源世界中找到大量的终端仿真器,它们
- Solr Deep Paging(solr 深分页)
eksliang
solr深分页solr分页性能问题
转载请出自出处:http://eksliang.iteye.com/blog/2148370
作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr
- 数据库面试题
18289753290
面试题 数据库
1.union ,union all
网络搜索出的最佳答案:
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
Union All:对两个结果集进行并集操作,包括重复行,不进行排序;
2.索引有哪些分类?作用是
- Android TV屏幕适配
酷的飞上天空
android
先说下现在市面上TV分辨率的大概情况
两种分辨率为主
1.720标清,分辨率为1280x720.
屏幕尺寸以32寸为主,部分电视为42寸
2.1080p全高清,分辨率为1920x1080
屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有
适配遇到问题,已1080p尺寸为例:
分辨率固定不变,屏幕尺寸变化较大。
如:效果图尺寸为1920x1080,如果使用d
- Timer定时器与ActionListener联合应用
永夜-极光
java
功能:在控制台每秒输出一次
代码:
package Main;
import javax.swing.Timer;
import java.awt.event.*;
public class T {
private static int count = 0;
public static void main(String[] args){
- Ubuntu14.04系统Tab键不能自动补全问题解决
随便小屋
Ubuntu 14.04
Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下:
1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限)
sudo vi /etc/bash.bashrc
接下来会提示输入密码
2、找到文件中的下列代码
#enable bash completion in interactive shells
#if
- 学会人际关系三招 轻松走职场
aijuans
职场
要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。
第一,多汇报
最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。
第二,勤沟通
团队的力
- 《O2O:移动互联网时代的商业革命》读书笔记
aoyouzi
读书笔记
移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。
O2O:Online to OffLine 线上线下活动
O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。
手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。
线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人
- js实现图片随鼠标滚动的效果
百合不是茶
JavaScript滚动属性的获取图片滚动属性获取页面加载
1,获取样式属性值
top 与顶部的距离
left 与左边的距离
right 与右边的距离
bottom 与下边的距离
zIndex 层叠层次
例子:获取左边的宽度,当css写在body标签中时
<div id="adver" style="position:absolute;top:50px;left:1000p
- ajax同步异步参数async
bijian1013
jqueryAjaxasync
开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。
格式:
$.ajax({ type: 'POST', ur
- Webx3框架(1)
Bill_chen
eclipsespringmaven框架ibatis
Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发;
采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。
Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部
- 【MongoDB学习笔记五】MongoDB概述
bit1129
mongodb
MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo
- spring/hibernate/struts2常见异常总结
白糖_
Hibernate
Spring
①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException
缺少aspectjweaver.jar,该jar包常用于spring aop中
②java.lang.ClassNotFoundException: org.sprin
- jquery easyui表单重置(reset)扩展思路
bozch
formjquery easyuireset
在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。
扩展的时候要考虑的控件有:
combo,combobox,combogrid,combotree,datebox,datetimebox
需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。
在所有的reset方法添加完毕之后,就需要对fo
- 编程之美-烙饼排序
bylijinnan
编程之美
package beautyOfCoding;
import java.util.Arrays;
/*
*《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。
*《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码:
*/
- Struts1.X 源码分析之ActionForm赋值原理
chenbowen00
struts
struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。
如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s
- [空天防御与经济]在获得充足的外部资源之前,太空投资需有限度
comsci
资源
这里有一个常识性的问题:
地球的资源,人类的资金是有限的,而太空是无限的.....
就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制....
&
- ORACLE临时表—ON COMMIT PRESERVE ROWS
daizj
oracle临时表
ORACLE临时表 转
临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前
会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。
创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会
- 基于Nginx XSendfile+SpringMVC进行文件下载
denger
应用服务器Webnginx网络应用lighttpd
在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。
@RequestMapping("/courseware/{id}")
public void download(@PathVariable("id") String courseID, HttpServletResp
- scanf接受char类型的字符
dcj3sjt126com
c
/*
2013年3月11日22:35:54
目的:学习char只接受一个字符
*/
# include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d", &i);
printf("i = %d\n", i);
scanf("%
- 学编程的价值
dcj3sjt126com
编程
发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助
像这位朋友学习:
http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html
VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的
- 二维数组(矩阵)对角线输出
飞天奔月
二维数组
今天在BBS里面看到这样的面试题目,
1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 }
打印顺序
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13
要
- Ehcache(08)——可阻塞的Cache——BlockingCache
234390216
并发ehcacheBlockingCache阻塞
可阻塞的Cache—BlockingCache
在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.
- mysqldiff对数据库间进行差异比较
jackyrong
mysqld
mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构
如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下:
1) 基本用法
mysqldiff --server1=admin:12345
- spring data jpa 方法中可用的关键字
lawrence.li
javaspring
spring data jpa 支持以方法名进行查询/删除/统计。
查询的关键字为find
删除的关键字为delete/remove (>=1.7.x)
统计的关键字为count (>=1.7.x)
修改需要使用@Modifying注解
@Modifying
@Query("update User u set u.firstna
- Spring的ModelAndView类
nicegege
spring
项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的?
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* yo
- 搭建 CentOS 6 服务器(13) - rsync、Amanda
rensanning
centos
(一)rsync
Server端
# yum install rsync
# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
flags = IPv6
socket_type = stream
wait
- Learn Nodejs 02
toknowme
nodejs
(1)npm是什么
npm is the package manager for node
官方网站:https://www.npmjs.com/
npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作
在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用
&nb
- Spring MVC 拦截器
xp9802
spring mvc
Controller层的拦截器继承于HandlerInterceptorAdapter
HandlerInterceptorAdapter.java 1 public abstract class HandlerInterceptorAdapter implements HandlerIntercep