" }}
{{ $tableBulma | safeHTML }}
用户定义短代码模板的定位按以下顺序:
/layouts/shortcodes/.html
/themes//layouts/shortcodes/.html
先定义一个 shortcode 模板 layouts\shortcodes\page-kinds.html :
所有页面 Page 对象都有一个 .Kind 属性变量,如下:
| Kind | 说明 | 例子 |
|------------|------------------------|----------------------------------------------------------------|
| `home` | 正在加载的是首页 | `/index.html` |
| `page` | 正在加载的指定页面 | `my-post` page (`/posts/my-post/index.html`) |
| `section` | 正在加载的是分区页 | `posts` section (`/posts/index.html`) |
| `taxonomy` | 正在加载的是分类页 | `tags` taxonomy (`/tags/index.html`) |
| `term` | 正在加载的是分类术语页 | term `awesome` in `tags` taxonomy (`/tags/awesome/index.html`) |
然后在 MD 内容页面中调用 shortcode 以生成对应的内容:
{{ page-kinds %}}
sometext
{{ /page-kinds %}}
shortcode 短代码模板可使用的属性变量,以上面的调用方法作为参考,对应值如下:
{{
}}
属性
说明
参考值
.Name
Shortcode 名字
page-kinds
.Ordinal
基于 0 的序号,表示 shortcode 在页面内容的位置
1
.Parent
嵌套的 parent shortcode
.Position
所在页面文件名和行列号,常用于调试
"C:\quickstart\content\posts\2nd-post.md:29:5"
.IsNamedParams
指示是否使用命名参数,而不是位置化参数
false
.Inner
在 shortcode 标签之间的的内容
sometext
{{
}}
Hugo 官方文档项目中提供了很好的 shortcode 模板学习示例,例如,最常用来展示高亮代码片段 code 为例,当你在查看官方文档 MD 文件时,看到以下这样的内容:
{{* code file="layouts/_default/section.html" download="section.html" */>}}
...
{{* /code */>}}
这就表示,MD 文件正使用 code 生成相应的内容,来看看它的定义 layouts_default\shortcodes\code.html :
{{}} {{ codeLang := "" }} {{ " suffix }} {{ codeLang = . }}{{ end }} {{ if eq codeLang = "go-html-template" }} {{ end }} {{.}}
{{- end -}}
{{ if ne (.Get "copy") "false" }}
{{/* Functionality located within filesaver.js The copy here is located in the css with .copy class so it can be replaced with JS on success */}}
{{end}}
{{ if .Get "nocode" }}{{ $.Inner }}{{ else }}{{ with $codeLang }}{{- highlight $.Inner . "" | -}}{{ else }}
{{- .Inner | string -}}
{{ end }}{{ end }}
{{}}
这里最主要的是 highlight 这个内置函数,对代码片断进行处理得到高亮效果。也可以直接使用 highlight 像以下这样输出带行高的代码高亮代码块:
{{}} {{* highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" />}} // GetTitleFunc returns a func that can be used to transform a string to // title case. // // The supported styles are // // - "Go" (strings.Title) // - "AP" (see https://www.apstylebook.com/) // - "Chicago" (see https://www.chicagomanualofstyle.org/home.html) // // If an unknown or empty style is provided, AP style is what you get. func GetTitleFunc(style string) func(s string) string { switch strings.ToLower(style) { case "go": return strings.Title case "chicago": return transform.NewTitleConverter(transform.ChicagoStyle) default: return transform.NewTitleConverter(transform.APStyle) } } {{ / highlight */>}} {{
}}
又以 note 短代码模板为例,它在文档页面中用来生成注解信息块:
{{ $_hugo_config := `{ "version": 1 }` }}
首先,模板中对 _hugo_config
变量进行赋值,但没有使用它。然后生成一个 note-icon 图标,然后再将注解内容 .Inner 输出到 div.admonition-content 标签上。
其中,注释掉的部分没用起作用,但是这里调用了几个 Hugo 函数,urlize 用来将一个字符串进行 URL 合法化编码,参考 urlize.md 文档。
注意,{{- .Inner -}} 模板中的负号用来移除内容的前缀、后缀空格。
如果内部包含 Markdown 内容,需要使用 % 分隔符:
{{ tab name="Tab 1" %}}This is **markdown**{{ /tab %}}
Partials 模板
Partials 片断模板用来引用片断内容到页面中显示。
模板文件定位:
layouts/partials/*.html
themes//layouts/partials/*.html
Hugo 工程的所有片断模板都位 layouts/partials
这一个目录,可以下设多个子目录,参考如下:
.
└── layouts
└── partials
├── footer
│ ├── scripts.html
│ └── site-footer.html
├── head
│ ├── favicons.html
│ ├── metadata.html
│ ├── prerender.html
│ └── twitter.html
└── header
├── site-header.html
└── site-nav.html
然后,在页面中引用上面这些片断模板,参考语法格式:
{{ partial "/.html" . }}
后面的点号表示将当前的上下文数据对象传入去。
可以将 partial 模板当作自定义函数来使用,参考 Ananke 的 func/GetFeaturedImage.html:
{{}} {{/* GetFeaturedImage @return Permalink to featured image, or an empty string if not found. */}}
{{ $linkToCover := "" }}
{{/* Use the value from front matter if present */}}
{{ if .Params.featured_image }}
{{ $linkToCover = .Params.featured_image }}
{{/* Find the first image with 'cover' in the name in this page bundle. */}}
{{ else }}
{{ $img := (.Resources.ByType "image").GetMatch "*cover*" }}
{{ with $img }}
{{ $linkToCover = .Permalink }}
{{ end }}
{{ end }}
{{/* return either a permalink, or an empty string. Note that partials can only have a single
return statement, so this needs to be at the end of the partial (and not in the if block) */}}
{{ return $linkToCover }}
{{}}
然后,在需要使用的模板中调用:
{{ $featured_image := partial "func/GetFeaturedImage.html" . }}
Pagination 分页模板
分页也可以当作菜单一样使用,在列表页面、Sessions、taxonomies 中进行分页呈现条目,让静态站点看下来更像是动态的站点。
配合 SQL-like 一样的操作函数 first, last, after 可以对条目进行排序。
在 config.toml 配置分页,设置每一页显示的条目数量和分页参数在 URL 中的 path 显示配置,默认样式 /page/1/ :
Paginate = 10
PaginatePath = page
分页将 homepage, sections, taxonomies 页面数据分成一小块加载显示,有两种方式使用 .Paginator 生成分布标签:
在模板中直接调用 .Paginator.Pages ;
调用分页函数和排序再生成分页标签;
示例:
{{ .Paginate.Pages }}
{{ range (.Paginate ( first 50 .Pages.ByTitle )).Pages }}
配置文件中的 Paginate 可以在模板中覆盖,最后一个参数指定:
{{ range (.Paginator 5).Pages }}
{{ $paginator := .Paginate (where .Pages "Type" "posts") 5 }}
还可以使用 GroupBy 函数进行分组:
{{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }}
分布模板的最简单方法就是引入内置的分页模板 pagination.html ,它兼容 Bootstrap 样式:
{{ $paginator := .Paginate (where .Pages "Type" "posts") }}
{{ template "_internal/pagination.html" . }}
{{ range $paginator.Pages }}
{{ .Title }}
{{ end }}
参考 .Paginator 对象提个的数据属性:
{{
}}
属性
说明
PageNumber
The current page’s number in the pager sequence
URL
The relative URL to the current pager
Pages
The pages in the current pager
NumberOfElements
The number of elements on this page
HasPrev
Whether there are page(s) before the current
Prev
The pager for the previous page
HasNext
Whether there are page(s) after the current
Next
The pager for the next page
First
The pager for the first page
Last
The pager for the last page
Pagers
A list of pagers that can be used to build a pagination menu
PageSize
Size of each pager
TotalPages
The number of pages in the paginator
TotalNumberOfElements
The number of elements on all pages in this paginator
{{
}}
页面对像提供了大量变量,如 .Title, .Permalink 等,具体参考 page.md 文档。
Hugo 内置分页模板定义如下:
{{}} {{ .Paginator }} {{ if gt pag.First -}} «« {{ end -}} {{- pag.Pagers -}} {{- showNumber := or (eq .TotalPages 5) (le .PageNumber 3) (eq showNumber -}} {{- shouldEllipse = false -}} {{- else -}} {{- ellipsed -}} {{- showNumber }} … {{- end -}} {{- end }} »» {{- end }} {{ end }} {{
}}
Menu Templates 菜单模板
定义一个 layouts/partials/sidebar.html
{{}} {{
}}
内置函数 absLangURL 和 relLangURL 可以正确处理多语言配置的站点,此外,可以使用 absURL 和 relURL,它们会将语言前缀在 URL 上。
在配置文件中设置 Section Menu 以将分区页面做为菜单数据:
sectionPagesMenu = "main"
然后在内页中呈现:
配置站点菜单 config.toml:
[menu]
[[menu.main]]
identifier = "blog"
name = "This is the blog section"
title = "blog section"
url = "/blog/"
weight = -110
或者,在页面中定义菜单数据:
---
title: Menu Templates
linktitle: Menu Templates
menu:
docs:
title: "how to use menus in templates"
parent: "templates"
weight: 130
---
...
在菜单中使用 .Page 获取页面对象:
Single Page Template
内容页面类型指定为 page
,那么就会有相应的 page variables 和 site variables,在它们的模板文件中可以使用这些变量:
具体变量列表需要查阅 pages.md 和 site.md。
模板定位,参考 docs.json 给出的数据部分数据,如果页面在 posts 目录下就适用以下定位:
{
"Example": "Single page in \"posts\" section",
"Kind": "page",
"OutputFormat": "HTML",
"Suffix": "html",
"Template Lookup Order": [
"layouts/posts/single.html.html",
"layouts/posts/single.html",
"layouts/_default/single.html.html",
"layouts/_default/single.html"
]
},
那么,在建立一个单页面模板 layouts/posts/single.html 就会有效:
{{}} {{ define "main" }} {{ end }} {{
}}
List Templates 列表模板
参考 Hugo 文档的函数列表部分实现,在函数索引列表页面中,将各个函数 MD 内容中的 linktitle 和 description 呈现在页面上,例如 content\en\functions\md5.md 内容中扉页数据定义如下:
---
title: md5
linktitle: md5
description: hashes the given input and returns its MD5 checksum.
godocref:
date: 2017-02-01
publishdate: 2017-02-01
lastmod: 2017-02-01
categories: [functions]
menu:
docs:
parent: "functions"
keywords: []
signature: ["md5 INPUT"]
workson: []
hugoversion:
relatedfuncs: [sha]
deprecated: false
aliases: []
---
Hugo 文档使用的主题是模块方式导入的,见 config.toml 配置文件:
[module]
[module.hugoVersion]
min = "0.56.0"
[[module.imports]]
path = "github.com/gohugoio/gohugoioTheme"
在 _vendor 目录下的 gohugoioTheme 定义了一个 layouts\partials\docs\functions-signature.html 片断,它会在每个函数页面模板中呈现函数的语法内容:
{{ if isset .Params "signature" -}}
{{- with .Params.signature }}
Syntax
{{- range . }}
{{- . -}}
{{- end }}
{{- end -}}
{{ end }}
{{/* The inline style overrides `pre` styling defaults */}}
然后在页面 section 模板中 layouts/_default/page.html 使用它来呈现函数语法信息:
{{- partial "docs/functions-signature.html" . -}}
{{ .Content }}
你可能感兴趣的:(Hugo 不完美教程 - V: Templates 其它模板)
腾讯混元3D制作角色模型的教程-2
速易达网络
数字媒体专业课程 3d
图生3D,这是一个非常具体的操作指导需求。用户可能是设计师、游戏开发者或3D建模爱好者,希望快速掌握如何利用腾讯混元3D技术通过图片生成3D模型。基础操作:在线平台快速生成步骤1:访问平台登录腾讯混元3D创作引擎官网:https://3d.hunyuan.tencent.com。步骤2:上传图片点击“图生3D”(Imageto3D)功能,上传本地图片。建议:非透明背景图片勾选“RemoveBack
C# 与串口通信:解决常见问题的调试技巧与实用建议
威哥说编程
c# 单片机 stm32
串口通信作为一种经典的通信方式,在很多领域中仍然广泛应用,尤其是在嵌入式系统、工业自动化、测控系统等场景中。通过串口接口,可以实现设备间的短距离、低速数据传输。C#提供了强大的System.IO.Ports.SerialPort类来支持串口通信的开发,但在实际开发中,开发者常常遇到一些问题,比如数据丢失、串口冲突、波特率不匹配等。本文将深入探讨如何使用C#进行串口通信,结合调试技巧和实用建议,帮助
Objective-C面向对象编程:类、对象、方法详解(保姆级教程)
帅次
iOS Obj-C objective-c ios iphone safari swift macos flutter
目录一、核心概念二、类的定义(分.h和.m文件)1.头文件(.h)——公开声明2.实现文件(.m)——具体实现3.属性特性解析原子性所有权语义(ARC环境下)读写控制三、对象创建与内存管理1.创建对象的两种方式2.关键步骤解析3.instancetype四、方法调用(消息传递机制)1.基本语法2.关键概念五、self与super关键字六、动手实践:完整工作流1.创建Person对象并调用方法2.项
Winrar X64_V6.24_win10/win11
Malwolf
winrar
SW_WinRAR_W11_64_V6240_20231108R.zipwinrar解压工具,免费版,无需破解,也不是破解版的,国内硬件大厂提供的官方版本。
Mariadb-Server的二进制安装
linux土老帽
linux土老帽 mariadb linux centos
搭建环境:OS:centos7.6版本mariadb:mariadb-10.2.25-linux-x86_64.tar.gz#下载地址:DownloadMariaDBServer-MariaDB.org1.创建用户组useradd-r-s/sbin/nologin-d/data/mysqlmysql#创建用户-r系统账户-s指定shell/sbin/nologin-d指定家目录但是不创建原因是系统
iphone se 一代 不完美越狱 14.6 视频壁纸教程(踩坑笔记)
YANG_301
ios iphone
iphonese一代不完美越狱14.6加视频壁纸教程-踩坑笔记越狱流程1.爱思助手制作启动u盘坑点:2.越狱好后视频壁纸软件1.源2.软件安装越狱流程1.爱思助手制作启动u盘https://www.i4.cn/news_detail_42302.html此网址为具体流程,但要注意!!!坑点:下图中最后一排quickmode应被勾选(勾选后是×(´ཀ`」∠))进入options后不禁要勾选allow
数电·优先编码器 CD4532的使用方法
Hi_kenyon
单片机 嵌入式硬件
如何使用CD4532编码器CD4532是一个8输入优先编码器的集成电路芯片。它有8个输入信号(D0至D7),3个输出信号(A0至A2),以及一个有效输出信号(EO),这个信号可以用来判断是否有输入信号为高电平。这个芯片的功能是将8个输入信号编码为一个3位的二进制数,其中D7具有最高的优先级。使用CD4532的步骤如下:连接电源:将Vdd(芯片的第16脚)连接到+5V电源,将Vss(芯片的第8脚)连
mongodb替代品SequoiaDB的安装使用
码农下的天桥
mongodb sequoiadb 数据库
前言1、为什么不直接使用mongodb啊?答:mongodb的使用协议是SSPL,一旦使用需要将你服务器程序都开源处理–或者给钱。非常不好,而SequoiaDB号称能够兼容mongodb协议,这次来安装试试。mongodb-SSPL,SequoiaDB是AGPL3,勉强比mongodb的协议可用。至少不修改则不用开源。准备工作首先去官网下载:www.sequoiadb.com我下载的版本是:也不知
【LlamaIndex核心组件指南 | 模型篇】一文通晓 LlamaIndex 模型层:LLM、Embedding 及多模态应用全景解析
Langchain系列文章目录01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南02-玩转LangChainMemory模块:四种记忆类型详解及应用场景全覆盖03-全面掌握LangChain:从核心链条构建到动态任务分配的实战指南04-玩转LangChain:从文档加载到高效问答系统构建的全程实战05-玩转LangChain:深度评估问答系统的三种高效方法(示例生成、手
用 Python 开发文字冒险游戏:从零开始的教程
晓天天天向上
python microsoft 开发语言
文字冒险游戏(Text-basedAdventureGame)是一种经典的游戏类型,玩家通过输入文字指令与游戏世界互动。这种游戏不依赖复杂的图形界面,非常适合初学者学习编程逻辑和用户交互。在本篇博客中,我们将用Python开发一个简单的文字冒险游戏,体验游戏开发的乐趣。1.游戏设计思路游戏背景玩家醒来发现自己身处一个神秘的地下城,需要探索房间、收集物品、战胜敌人并找到出口。核心机制房间导航:玩家可
Java静态static详解
Obltv
Java基础 java
更多内容请看我的个人网站date:2025-06-04tags:八股基础静态变量特点被该类的所有对象共享不属于对象,属于类优先于对象存在,随着类的加载而加载调用方式类名调用对象名调用(不推荐)静态方法没有this关键字publicclassStudent{privateStringname;privateintage;privateStringteacherName;publicvoidshow(
installGo.sh
#!/bin/bash#检查是否以root用户运行if["$(id-u)"-ne0];thenecho"请使用root权限运行此脚本"exit1fi#检查是否安装了必要的工具forcmdincurlwgettar;doif!command-v$cmd&>/dev/null;thenecho"错误:需要安装$cmd"exit1fidone#获取最新版本号echo"正在获取最新Go版本..."LATE
Python的一点基础教程------文件读写
卡提西亚
python 开发语言
最近在看大佬写的Python教程自学,但是感觉有点头痛,因为大佬讲了一些底层的结构和原理,但是又没那么详细,然后作为一个初学者自学的情况下,看的很费劲.看完就有感而发,想写一篇更基础的教程,教会大家怎么去用它,尽量少的去讲原理.但是当然,你也需要有一定的编程语言基础,了解基本的语法和函数等功能.正所谓师傅领进门,修行在个人,有时候我们学了一个东西,如果觉得很有趣,自然就会去了解关于它的更多信息,但
动手学Python:从零开始构建一个“文字冒险游戏”
network爬虫
python python 开发语言
动手学Python:从零开始构建一个“文字冒险游戏”大家好,我是你的技术向导。今天,我们不聊高深的框架,也不谈复杂的算法,我们来做一点“复古”又极具趣味性的事情——用Python亲手打造一个属于自己的文字冒险游戏(TextAdventureGame)。你是否还记得那些在早期计算机上,通过一行行文字描述和简单指令来探索未知世界的日子?这种游戏的魅力在于它能激发我们最原始的想象力。而对于我们程序员来说
鸿蒙仓颉开发语言实战教程:页面跳转和传参
湖北穷逼首席代表
harmonyos 开发语言 华为
合集-仓颉教程(25)1.详解鸿蒙仓颉开发语言中的日志打印问题05-212.鸿蒙仓颉开发语言实战教程:实现商城应用首页05-223.鸿蒙仓颉开发语言实战教程:页面跳转和传参05-254.鸿蒙仓颉语言开发教程:页面和组件的生命周期05-285.鸿蒙仓颉语言开发实战教程:购物车页面06-036.鸿蒙仓颉语言开发实战教程:商城登录页06-047.鸿蒙仓颉语言开发实战教程:商城搜索页06-058.鸿蒙仓颉
鸿蒙仓颉语言开发实战教程:购物车页面
王家那谁
harmonyos 华为
合集-仓颉教程(25)1.详解鸿蒙仓颉开发语言中的日志打印问题05-212.鸿蒙仓颉开发语言实战教程:实现商城应用首页05-223.鸿蒙仓颉开发语言实战教程:页面跳转和传参05-254.鸿蒙仓颉语言开发教程:页面和组件的生命周期05-285.鸿蒙仓颉语言开发实战教程:购物车页面06-036.鸿蒙仓颉语言开发实战教程:商城登录页06-047.鸿蒙仓颉语言开发实战教程:商城搜索页06-058.鸿蒙仓颉
【C++】简单学——类和对象(中)
CtrlZ小牛码
C++简单学 c++ 开发语言
六个默认成员函数共性你如果没有写这六个成员函数,编译器就会自动帮你写编译器会自动调用构造函数析构函数拷贝构造函数赋值运算符重载取地址运算符重载被const修饰的取地址运算符重载构造函数作用帮助你初始化以前的初始化的问题:总是会忘记初始化,然后用着用着就崩了使用的位置:对象实例化的时候这几个词要区分开来默认成员函数:类里“隐藏”的6个特殊函数(包括构造函数、析构函数、拷贝构造等),不写时编译器自动生
2024鸿蒙OS实战开发项目大全:从入门到精通(含101个实战案例)超详细的鸿蒙实战案例
人工智能_SYBH
harmonyos 华为 鸿蒙开发 实战项目 开发 入门 精通
订阅专栏可获取100个实战项目源码和教程!!!(需要哪个给哪个,订阅后发邮箱,无法全给)探索鸿蒙OS开发的世界,一个非同小可的旅程即将开始。在这篇目录博客中,我将带您一览一系列令人难以置信的实战开发项目,每一个都是对HarmonyOS应用开发者的绝佳启发和宝贵资源。从基础的UI组件到复杂的分布式场景,从ArkTS的细致教学到JS的灵活运用,这一百个项目涵盖了你需要知道的HarmonyOS实战技术和
✨【Blender/Houdini 渲染必看】CPUⓥⓢGPU?3 分钟选对算力不踩坑!
渲染101专业云渲染
blender houdini 分布式 服务器 maya
核心问题速答Q:渲染该选CPU还是GPU?✅CPU:复杂场景/批量渲染/预算可控首选✅GPU:单帧速度/实时预览/急单交付必选维度1:硬件硬刚——CPU凭啥赢麻了?▫️多线程王者:16核/32核服务器矩阵,支持50-300台并行渲染▫️场景兼容性:粒子特效/全局光照/超复杂模型稳定输出秘密武器:CPU批量渲染100帧耗时=GPU单帧耗时,整体效率持平!⚙️维度2:动态计费逻辑——成本由什么决定?计
右移的错误使用 造成 超出时间限制 解决方案
aPurpleBerry
LeetCode做题总结 算法 力扣 二分查找
题目链接:https://leetcode.cn/problems/guess-number-higher-or-lower/?envType=study-plan-v2&envId=leetcode-75最开始的代码varguessNumber=function(n){letl=1,r=n;while(l>1;if(guess(m)===-1){r=m-1;}elseif(guess(m)===
Go语言--包(Package)
yunfan188
# Go语言学习笔记 go go语言 golang package
1命名空间和作用域1.1命名空间命名空间(Namespace)在编程语言中常用来表示标识符(identifier)的可见范围。编程语言借助命名空间来解决标识符不能同名的问题,命名空间实际上相当于给标识符添加了标识前缀,使标识符变得全局唯一。另外,命名空间是程序组织更加模块化,降低了程序内部的耦合性。一个标识符可以在多个命名空间中定义,它在不同命名空间中的含义是不互相干的。新的命名空间中可定义任意的
Python实战:自动在知乎回答点赞并采集内容的高阶爬虫教程
Python爬虫项目
2025年爬虫实战项目 python 爬虫 开发语言 okhttp 学习
✨写在前面:为什么做知乎自动化操作?知乎作为中国领先的知识问答平台,拥有大量结构化内容。对于研究舆情分析、情绪识别、用户画像,甚至产品舆情反馈采集的用户来说,如何自动获取知乎内容并进行交互行为(如点赞、回答),是一个非常实用的能力。本文将手把手带你用Python完成以下目标:✅自动登录知乎✅自动搜索某个关键词下的热门问题✅自动点赞高质量回答✅自动采集回答内容(文本、点赞数、评论数等)✅自动保存为本
GPT-4o重磅升级!只需一条指令,教你秒出SCI级专业科研图!
智写AI
AI学术写作指南 信息可视化 人工智能
经过数月爆肝,七哥终于完成专业的学术AI使用教程,估计也有个80万字的详细操作指南。分为多个细分的专业写作场景,跟着一步一步操作,借助ChatGPT做学术、干科研、写论文、课题申报都变得超简单。欢迎加我交流(yida985),祝你一臂之力。七哥之前写过关于用AI生成流程图的教程,不过需要借助其他软件才能搞定完美的流程图。近期GPT-4o全新推出了“生图功能”,这个生图的过程就更加方便轻松了,全能G
【基于ESP32-S3的Modbus RTU单双精度浮点数验证方案】
2345VOR
# Arduino小项目开发 工业通讯 esp32s3 ModBusRTU 浮点数
基于ESP32-S3的ModbusRTU单双精度浮点数验证方案一、核心功能升级在工业自动化场景中,单纯的整型数据已无法满足高精度测量需求。本文在原有ADC数据采集方案基础上,通过ModbusRTU协议扩展实现以下功能升级:新增1路16位浮点数(3.3V量程)新增1路32位双精度浮点数(±2.5V量程)保持原有4通道ADC数据传输本方案在原有ADC数据采集基础上,重点实现单双精度浮点数(float&
CBAP50技术手册】#47 Use Cases & Scenarios(用例与场景):BA(业务分析师)让需求“活起来”的剧本写作术
郭菁菁
BA 业务分析 需求分析
把需求演绎成系统与用户的真实互动剧本。在一次项目需求评审会上,开发组沉默不语,业务方焦躁不安。写在文档里的需求,似乎谁都“看懂了”,但又好像“谁都没真正理解”。直到我用一组UseCases&Scenarios把冷冰冰的需求变成了一场场“用户剧本”,大家才终于“看见”了系统该如何运作,沟通顿时顺畅了。UseCases和Scenarios,就像是BA的“剧作笔”——把抽象需求,演绎成生动细节。什么是U
DeepSeek-V3 通俗详解:从诞生到优势,以及与 GPT-4o 的对比
码事漫谈
AI ai
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站1.DeepSeek的前世今生1.1什么是DeepSeek?DeepSeek是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的AI模型。它的目标是让AI技术更加普惠,让更多人能够用上强大的AI工具。1.2DeepSeek-V3的诞生DeepSeek-V3是DeepSeek公司推出的最新一代A
基于摩尔线程 S80 显卡在 Ubuntu 系统下双卡交火部署 DeepSeek
流量留
Deepseek 人工智能
以下是基于摩尔线程S80显卡在Ubuntu系统下双卡交火部署DeepSeek的详细教程:###一、环境准备1.**操作系统**:推荐使用Ubuntu22.04。2.**显卡驱动**:-访问摩尔线程官网,登录账号后进入产品页面,找到软件部分下载MUSASDK。-安装显卡驱动,确保驱动版本与MUSASDK兼容。3.**安装Ollama**:-官方推荐使用命令安装Ollama,但下载速度可能较慢,可前往
uniapp处理后端返回的html字符串
萌新咦~
uni-app
前言:采用v-html方法处理1.处理前↵↵document.forms[0].submit();2.处理后↵↵document.forms[0].submit();3.跳转页面方法//传参uni.setStorageSync("ICBC_GW_V3_HTML",res.result.payUrl)//跳转uni.navigateTo({url:"/subpages/cashier/webView
51单片机教程(十一)- 单片机定时器
ITB业生
C 单片机 51单片机
11、单片机定时器项目目标通过定时器/计数器实现流水灯控制。知识要点定时器的结构。TMOD和TCON;定时/计数器工作方式;定时/计数器编程步骤;1、项目分析前面的流水灯的时间控制通过空循环语句来实现,定时不是很精确。本章通过用定时器来控制流水灯任务可以实现精确的时间控制。这就需要了解定时器的使用。定时器和计数器实质功能相同,本章利用LED灯二进制计数任务来掌握计数器的使用。2、技术准备1背景从软
【Python常用模块】_Pandas模块3-DataFrame对象
失心疯_2023
Python常用模块 数据分析 pandas 数据挖掘 python 数据统计 数据处理
课程推荐我的个人主页:失心疯的个人主页入门教程推荐:Python零基础入门教程合集虚拟环境搭建:Python项目虚拟环境(超详细讲解)PyQt5系列教程:PythonGUI(PyQt5)教程合集Oracle数据库教程:Oracle数据库教程合集MySQL数据库教程:MySQL数据库教程合集优质资源下载:资源下载合集
jdk tomcat 环境变量配置
Array_06
java jdk tomcat
Win7 下如何配置java环境变量
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可)
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。)
3。分别配置高级环境变量。
电脑-->右击属性-->高级环境变量-->环境变量。
分别配置 :
path
&nbs
Spring调SDK包报java.lang.NoSuchFieldError错误
bijian1013
java spring
在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l
LeetCode[位运算] - #136 数组中的单一数
Cwind
java 题解 位运算 LeetCode Algorithm
原题链接:#136 Single Number
要求:
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间
难度:中等
分析:
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进
qq登陆界面开发
15700786134
qq
今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下:
public class First { public void initul(){ jf=ne
Linux的程序包管理器RPM
被触发
linux
在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的
socket通信遇到EOFException
肆无忌惮_
EOFException
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:
基于spring的web项目定时操作
知了ing
java Web
废话不多说,直接上代码,很简单 配置一下项目启动就行
1,web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="h
树形结构的数据库表Schema设计
矮蛋蛋
schema
原文地址:
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488
程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,
maven将jar包和源码一起打包到本地仓库
alleni123
maven
http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository
<project>
...
<build>
<plugins>
<plugin>
<groupI
java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!
百合不是茶
类 File
File是指文件和目录路径名的抽象表示形式。
1,何为文件:
标准文件(txt doc mp3...)
目录文件(文件夹)
虚拟内存文件
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都
Spring注入有继承关系的类(2)
bijian1013
java spring
被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类
package com.bijian.spring.test4;
public class AClass {
private String a;
private String b;
public String getA() {
retu
30岁转型期你能否成为成功人士
bijian1013
成长 励志
很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人
【Velocity四】Velocity与Java互操作
bit1129
velocity
Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础,
POJO
package com.tom.servlets;
public
【Hive十一】Hive数据倾斜优化
bit1129
hive
什么是Hive数据倾斜问题
操作:join,group by,count distinct
现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。
原因:key分布不均匀
倾斜度衡量:平均记录数超过50w且
在nginx中集成lua脚本:添加自定义Http头,封IP等
ronin47
nginx lua csrf
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。
location /{
java-3.求子数组的最大和
bylijinnan
java
package beautyOfCoding;
public class MaxSubArraySum {
/**
* 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,
Netty源码学习-FileRegion
bylijinnan
java netty
今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder:
//pipeline(没有诸如“FileRegionEncoder”的handler):
public ChannelPipeline ge
使用ZeroClipboard解决跨浏览器复制到剪贴板的问题
cngolon
跨浏览器 复制到粘贴板 Zero Clipboard
Zero Clipboard的实现原理
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。
Zero Clipboard的安装方法
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js
单例模式
cuishikuan
单例模式
第一种(懒汉,线程不安全):
public class Singleton { 2 private static Singleton instance; 3 pri
spring+websocket的使用
dalan_123
一、spring配置文件
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.or
细节问题:ZEROFILL的用法范围。
dcj3sjt126com
mysql
1、zerofill把月份中的一位数字比如1,2,3等加前导0
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL, -> day
Android开发10——Activity的跳转与传值
dcj3sjt126com
Android开发
Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。
一、Activity跳转
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent)
方法二Intent intent = new Intent();intent.setCla
jdbc 得到表结构、主键
eksliang
jdbc 得到表结构、主键
转自博客:http://blog.csdn.net/ocean1010/article/details/7266042
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt
Android 应用程序开关GPS
gqdy365
android
要在应用程序中操作GPS开关需要权限:
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办?
1、方法一:将项目放到Android源码中编译;
2、方法二:网上有人说cl
Windows上调试MapReduce
zhiquanliu
mapreduce
1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b
如何看待一些知名博客推广软文的行为?
justjavac
博客
本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621
互联网上的两种典型心态:
当初求种像条狗,如今撸完嫌人丑
当初搜贴像条犬,如今读完嫌人软
你为啥感觉不舒服呢?
难道非得要作者把自己的劳动成果免费给你用,你才舒服?
就如同 Google 关闭了 Gooled Reader,那是
sql优化总结
macroli
sql
为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢!
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。
一、简单的统计语句执行时间
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id
Linux Oracle中常遇到的一些问题及命令总结
超声波
oracle linux
1.linux更改主机名
(1)#hostname oracledb 临时修改主机名
(2) vi /etc/sysconfig/network 修改hostname
(3) vi /etc/hosts 修改IP对应的主机名
2.linux重启oracle实例及监听的各种方法
(注意操作的顺序应该是先监听,后数据库实例)
&nbs
hive函数大全及使用示例
superlxw1234
hadoop hive函数
具体说明及示例参 见附件文档。
文档目录:
目录
一、关系运算: 4
1. 等值比较: = 4
2. 不等值比较: <> 4
3. 小于比较: < 4
4. 小于等于比较: <= 4
5. 大于比较: > 5
6. 大于等于比较: >= 5
7. 空值判断: IS NULL 5
Spring 4.2新特性-使用@Order调整配置类加载顺序
wiselyman
spring 4
4.1 @Order
Spring 4.2 利用@Order控制配置类的加载顺序
4.2 演示
两个演示bean
package com.wisely.spring4_2.order;
public class Demo1Service {
}
package com.wisely.spring4_2.order;
public class