从模板创建一个新项目(bun c)。
upgrade
升级到 Bun 的最新版本。
--help
打印命令的帮助文本。
标志
--watch
文件变更时自动重启进程。
--hot
在 Bun 运行时、测试运行器或打包器中启用自动重载。
--smol
使用更少的内存,但更频繁地运行垃圾收集。
-r, --preload
在其他模块加载前导入一个模块。
--inspect
激活 Bun 的调试器。
--inspect-wait
激活 Bun 的调试器,在执行前等待连接。
--inspect-brk
激活 Bun 的调试器,在代码的第一行设置断点并等待。
--if-present
如果入口点不存在,则退出而不报错。
--no-install
在 Bun 运行时禁用自动安装。
--install
配置自动安装行为。选项包括 "auto"(默认,当没有 node_modules 时自动安装),"fallback"(仅当包缺失时),"force"(始终)。
-i
执行时自动安装依赖项。等同于 --install=fallback。
-e, --eval
将参数作为脚本进行评估。
--prefer-offline
在 Bun 运行时跳过包的旧态检查,并从磁盘解析。
--prefer-latest
在 Bun 运行时始终使用包的最新匹配版本,并总是检查 npm。
-p, --port
设置 Bun.serve 的默认端口。
-b, --bun
通过符号链接 node 强制脚本或包使用 Bun 的运行时而不是 Node.js。
--silent
不打印脚本命令。
-v, --version
打印版本并退出。
--revision
打印版本和修订版并退出。
--env-file
从指定文件加载环境变量。
--cwd
绝对路径,用于解析文件和入口点。这会改变进程的当前工作目录。
-c, --config
指定 Bun 配置文件的路径。默认为 $cwd/bunfig.toml。
-h, --help
显示此菜单并退出。
8. bun API
主题
APIs
HTTP 服务器
Bun.serve
打包器
Bun.build
文件 I/O
Bun.file
Bun.write
子进程
Bun.spawn
Bun.spawnSync
TCP 连接
Bun.listen
Bun.connect
转译器
Bun.Transpiler
路由
Bun.FileSystemRouter
流式 HTML 变换
HTMLRewriter
哈希
Bun.hash
Bun.CryptoHasher
import.meta
import.meta
SQLite
bun:sqlite
外部函数接口(FFI)
bun:ffi
测试
bun:test
Node-API
Node-API
文件模式匹配(Glob)
Bun.Glob
实用工具
Bun.version
Bun.revision
Bun.env
Bun.main
Bun.sleep()
Bun.sleepSync()
Bun.which()
Bun.peek()
Bun.openInEditor()
Bun.deepEquals()
Bun.escapeHTML()
Bun.fileURLToPath()
Bun.pathToFileURL()
Bun.gzipSync()
Bun.gunzipSync()
Bun.deflateSync()
Bun.inflateSync()
Bun.inspect()
Bun.nanoseconds()
Bun.readableStreamTo*()
Bun.resolveSync()
上表展示了 Bun 官方 API 页面中列出的主题和相关 API。Bun 实现了一组原生 API,这些 API 要么是直接挂载在全局的 Bun
对象上,要么是通过内置模块提供的。这些 API 经过了大量优化,是实现一些常见功能的官方“Bun 原生”方式。
9. bun Web API
主题
APIs
HTTP
fetch
Response
Request
Headers
AbortController
AbortSignal
URLs
URL
URLSearchParams
Web Workers
Worker
self.postMessage
structuredClone
MessagePort
MessageChannel
BroadcastChannel
Streams
ReadableStream
WritableStream
TransformStream
ByteLengthQueuingStrategy
CountQueuingStrategy
及相关类
Blob
Blob
WebSockets
WebSocket
编码与解码
atob
btoa
TextEncoder
TextDecoder
JSON
JSON
超时
setTimeout
clearTimeout
间隔
setInterval
clearInterval
Crypto
crypto
SubtleCrypto
CryptoKey
调试
console
performance
Microtasks
queueMicrotask
错误处理
reportError
用户交互
alert
confirm
prompt
(意在用于交互式 CLI)
Realms
ShadowRealm
事件
EventTarget
Event
ErrorEvent
CloseEvent
MessageEvent
上表展示了 Bun 官方 Web API 页面中列出的部分或完整支持的 Web API。
9. bun 示例
HTTP server
const server = Bun.serve({
port: 3000,
fetch(request) {
return new Response("Welcome to Bun!");
},
});
console.log(`Listening on localhost:${server.port}`);
Websocket server
const server = Bun.serve<{ authToken: string; }>({
fetch(req, server) {
// use a library to parse cookies
const cookies = parseCookies(req.headers.get("Cookie"));
server.upgrade(req, {
data: { authToken: cookies['X-Token'] },
});
},
websocket: {
// handler called when a message is received
async message(ws, message) {
console.log(`Received: ${message}`);
const user = getUserFromToken(ws.data.authToken);
await db.Message.insert({
message: String(message),
userId: user.id,
});
},
},
});
console.log(`Listening on localhost:${server.port}`);
读写文件
const file = Bun.file(import.meta.dir + "/package.json"); // BunFile
const pkg = await file.json(); // BunFile extends Blob
pkg.name = "my-package";
pkg.version = "1.0.0";
await Bun.write(file, JSON.stringify(pkg, null, 2));
Hash 密码
const password = "super-secure-pa$$word";
const hash = await Bun.password.hash(password);
// => $argon2id$v=19$m=65536,t=2,p=1$tFq+9AVr1bfPxQdh...
const isMatch = await Bun.password.verify(password, hash);
// => true
浏览器打包
await Bun.build({
entrypoints: ["./index.tsx"],
outdir: "./build",
minify: true,
plugins: [
/* ... */
],
});
写测试
import { describe, expect, test, beforeAll } from "bun:test";
beforeAll(() => {
// setup tests
});
describe("math", () => {
test("addition", () => {
expect(2 + 2).toBe(4);
expect(7 + 13).toMatchSnapshot();
});
});
文件系统路由
const router = new Bun.FileSystemRouter({
style: "nextjs",
dir: "/path/to/pages",
});
const match = router.match("/blog/my-cool-post");
match.filePath; // "/path/to/pages/blog/[slug].tsx",
match.kind; // "dynamic"
match.params; // { slug: "my-cool-post" }
读流
const response = await fetch("https://bun.sh");
await Bun.readableStreamToArrayBuffer(response.body); // => ArrayBuffer
await Bun.readableStreamToBlob(response.body); // => Blob
await Bun.readableStreamToJSON(response.body); // => object
await Bun.readableStreamToText(response.body); // => string
await Bun.readableStreamToArray(response.body); // => unknown[]
运行 Shell 脚本
import { $ } from "bun";
// Run a cross-platform shell command
await $`echo "Hello, world!"`;
const response = await fetch("https://example.com");
// Pipe the response body to gzip
const data = await $`gzip < ${response}`.arrayBuffer();
调用 C 函数
import { dlopen, FFIType, suffix } from "bun:ffi";
// `suffix` is either "dylib", "so", or "dll" depending on the platform
const path = `libsqlite3.${suffix}`;
const {
symbols: {
sqlite3_libversion, // the function to call
},
} = dlopen(path, {
sqlite3_libversion: {
args: [], // no arguments
returns: FFIType.cstring, // returns a string
},
});
console.log(`SQLite 3 version: ${sqlite3_libversion()}`);
10. npm 项目迁移 bun 注意事项
以下是 Bun 相较于 npm 在 package.json
以及配置方面的一些主要区别和迁移指南:
生命周期脚本(Lifecycle Scripts)
npm :执行 package.json
中定义的 {pre|post}install
和 {pre|post}prepare
以及安装依赖时的生命周期脚本。
Bun :Bun 执行项目的生命周期脚本,但出于安全考虑不会执行安装依赖的生命周期脚本。要允许特定包的生命周期脚本,需要在 package.json
的 trustedDependencies
中指定。
锁文件(Lockfile)
npm :使用 package-lock.json
。
Bun :使用二进制的 bun.lockb
锁文件。可以通过 bun install -y
生成与 Yarn v1 兼容的 yarn.lock
以方便检查。Bun 的锁文件设计用于提高性能,可以通过 Git 配置来实现 bun.lockb
的可读差异输出。
配置文件(bunfig.toml)
Bun :主要用于配置 Bun 特有的行为。它是可选的,Bun 也可以在没有该文件的情况下正常工作。可以在全局($HOME/.bunfig.toml
或 $XDG_CONFIG_HOME/.bunfig.toml
)和局部(项目根目录)创建 bunfig.toml
文件。局部配置会覆盖全局配置,CLI 标志会覆盖 bunfig.toml
的设置。
安装(Install)
npm :有各种标志和配置以控制依赖项安装的行为。
Bun :bun install
的行为可以通过 bunfig.toml
的 [install]
部分进行配置。包括是否安装可选依赖、开发依赖、同级依赖;是否在生产模式下运行;是否设置精确版本;自动安装行为的配置;是否冻结锁文件;干运行;全局安装目录和二进制目录的配置;注册表和范围的配置;缓存行为;和锁文件行为。
迁移指南
安装 Bun :确保你已经安装了 Bun。
备份你的项目 :在做任何改动前备份你的 package.json
和整个项目。
创建 bunfig.toml
:根据需要在项目根目录创建一个 bunfig.toml
文件,并根据你的项目特定需求配置 Bun。
运行 bun install
:生成 bun.lockb
并安装所有依赖。
修改 package.json
:如果需要,将信任的依赖项添加到 trustedDependencies
。
测试项目 :确保所有功能正常工作,并解决任何与 Bun 相关的问题。
更新脚本 :如果项目中有脚本引用了 npm
命令,将其更新为对应的 Bun 命令。
适配 CI/CD :更新你的持续集成和部署系统,以使用 Bun。
监控部署 :部署到生产后密切监控以捕获潜在问题。
请注意,由于 Bun 还在发展中,上述信息可能会随着 Bun 的更新而发生变化。在进行迁移之前,建议查阅 Bun 的最新官方文档。
github原文地址
你可能感兴趣的:(超越 Node.js:Bun 的创新与突破)
cocos2d-x之CCTexture2D的使用testDemo详细解读
zanglengyu
cocos2d-x中CCTexture2D的使用,和测试,这个demo主要验证了各种格式的图片和相同格式图片但位深不同时加载纹理所占用的内存的大小和效果,以及异步加载纹理的方法,以及使用纹理创建CCSprite和删除纹理的方式,和对纹理进行精细处理的方法,参数等等#ifndef__TEXTURE2D_TEST_H__#define__TEXTURE2D_TEST_H__//包含项目中所有的头文件#
Linux下基于Bluez开发USB蓝牙SPP服务端
zanglengyu
Qt上位机开发 linux c++ bluez SPP socket
由于是在linux上运行的,所以参考的bluez的代码,用C语言实现了蓝牙的Server端。原理也很简单,在服务器端,通过命令添加SPP服务前提是先安装好bluez,一般是安装好的,没安装的话可以用sudoapt-getinstallbluez安装后设置蓝牙关闭蓝牙sudohciconfighci0down重置蓝牙sudohciconfighci0reset打开蓝牙sudohciconfighci
Python基础知识9
ylfhpy
Python基础 python 开发语言 爬虫
1.列表推导式核心概念列表推导式(ListComprehension)是Python中基于现有可迭代对象快速生成新列表的语法结构,具有以下特点:简洁性:用单行代码替代多行循环,极大地简化了代码的编写。例如,要生成一个包含1到10的平方数的列表,使用普通循环需要多行代码,而列表推导式只需一行[x**2forxinrange(1,11)],代码量大幅减少,编程效率显著提高。高效性:执行速度通常快于普通
ollama-chat-ui-vue,一个可以用vue对接ollama的开源项目,可接入deepSeek
是你的小熊啊
ui vue.js 前端 ai
ollama-chat-ui-vue使用vue3+vite+elementUi搭建的前端chat,通过ollama可与模型对话,目前支持独立思考,切换模型(联网查询后续支持)github地址:ollama-chat-ui-vue制作不易github点点star,谢谢前置工作安装ollama,ollama官网地址安装完ollama后,打开cmd,下载模型(我选了个最小的模型,模型地址)ollamar
青稞RISC-V通用系列
ws137517175
risc-v
青稞RISC-V通用系列的特点:高性能与低功耗:青稞系列处理器针对不同应用场景进行了优化,能够在提供高性能的同时保持低功耗,适合电池供电的设备和物联网终端。模块化设计:青稞系列采用模块化设计,用户可以根据需求选择不同的功能模块,如浮点运算单元(FPU)、数字信号处理(DSP)扩展、向量处理单元等。可扩展性:基于RISC-V的开放架构,青稞系列处理器支持用户自定义指令集扩展,能够满足特定应用场景的需
Java中的hashCode和equals方法之间有什么联系
我荔枝呢!
java 开发语言 equals hashCode
定义及作用:equals方法:用于判断两个对象的内容是否相等。默认情况下,它比较的是对象的引用地址,在很多类中会重写该方法以实现基于内容的比较。hashCode方法:返回对象的哈希码值,是一个整数。哈希码主要用于在哈希表等数据结构中快速定位和存储对象,提高数据的存储和查找效率。两者关系:一致性:如果两个对象通过equals方法比较返回true,即两个对象相等,那么它们的hashCode值必须相等。
QT+FFmpeg如何使用GPU加速解码?
bug菌¹
全栈Bug调优(实战版) qt ffmpeg 开发语言 c++
本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!全文目录:问题描述解决方案1.确保FFmpeg和CUDA的支持2.正确选择硬件解码器设置硬件解码器3.初始化CUDA硬件设备4.硬件解码流程解码帧并处理硬件帧5.检查FF
Kafka topic、producer、consumer的基础使用
病妖
Kafka kafka big data 分布式
文章目录Kafka初级前言1.topic的增删改查2.生产者的消息发送3.消费者消费数据Kafka初级前言关于kafka的集群安装这里就先跳过,如果需要相关资料以及学习视频的可以在留言下留下联系信息(邮箱、微信、qq都可),我们直接从kafka的学习开始,这是初级阶段,这篇博主主要讲述kafka的命令行操作。1.topic的增删改查创建主题:切换到kafka的相关目录,进行以下命令行操作bin/k
HTML5的新增标签有哪些?
「已注销」
HTML5
2019-07-3009:46我们都知道,想要成为一名合格的前端开发人员,掌握好HTML5是一个重要的先决条件,相比较于HTML,HTML5中新增了许多功能标签,那么这么标签都有哪些呢?格式:定义文本的文本方向,使其脱离其周围文本的方向设置。定义有记号的文本。定义预定义范围内的度量。定义任何类型的任务的进度。定义若浏览器不支持ruby元素显示的内容。定义ruby注释的解释。定义ruby注释。定义日
如何在公司项目中使用 WebSocket— 入门实战指南
vivo互联网技术
javascript 前端 websocket
本文从WebSocket基础概念出发,介绍在实际开发中从本地联调到部署上线的流程以及注意事项,让WebSocket小白以最小成本应用到项目中。一、WebSocket基础1、什么是WebSocketWebSocket是一种网络传输协议,可在单个TCP连接上进行全双工通信2、对比http两者都位于应用层,都依赖TCP协议WebSocket协议一般以ws://或wss://开头HTTP不支持全双工通信,
c语言visit函数作用,Visit
海纳大容
c语言visit函数作用
7-1球队“食物链”(30分)某国的足球联赛中有N支参赛球队,编号从1至N。联赛采用主客场双循环赛制,参赛球队两两之间在双方主场各赛一场。联赛战罢,结果已经尘埃落定。此时,联赛主席突发奇想,希望从中找出一条包含所有球队的“食物链”,来说明联赛的精彩程度。“食物链”为一个12021-05-022021-05-0223:57:29C++友元函数友元的三种实现1.全局函数做友元2.类做友元3.成员函数做
1 html5-新标签
xiaolongyu3
前端新学 html5 前端 html
年龄稍大一点的码农可能见证了html的发展,亲历了头声明的变化,但是现在起步就是html5,那么html有哪些不为大家常用的新东西呢,这一章我先来谈谈这个问题。1dialog标签——弹窗标签。弹窗可能前端一路走来,见过很多。甚至现在我们在用各种UI库的时候这个弹窗也是必须的一个功能。这个标签支持的api:show:展示弹窗框,采用决定定位,showModal:展示弹窗,并带有遮罩,采用了一个特殊的
代码随想录day10
独正己身
c语言 算法 数据结构 c++
232.用栈实现队列//理解2个栈一个栈弹出后再入另一个栈,再弹出即可实现队列效果。std::stackstack_1;std::stackstack_2;MyQueue(){}voidpush(intx){stack_1.push(x);}intpop(){//必须先把stack_2中清空,再将stack_1中的入栈,这样符合队列的逻辑if(stack_2.empty()){while(!sta
DeepSeek再传重大突破!新发布原生稀疏注意力(NSA)机制,重新定义AI效率天花板
shelly聊AI
人工智能 deepseek 注意力机制 深度学习
大家好,我是Shelly,一个专注于输出AI工具和科技前沿内容的AI应用教练,体验过300+款以上的AI应用工具。关注科技及大模型领域对社会的影响10年+。关注我一起驾驭AI工具,拥抱AI时代的到来。人工智能&AIGC术语100条Shelly聊AI-重磅发布Shelly聊AI:年度展望:2025年AI与社会发展关键事件的深度思考(每年一篇,十年为期)2025年2月18日,中国AI领域迎来一枚“技术
python-leetcode 32.随机链表的复制
SylviaW08
leetcode 链表 算法
题目:给定一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应指向原链表中的节点。例如,如果原链表
力扣每日一练之字符串Day6
京与旧铺
LeetCode刷起来 leetcode java 算法
力扣每日一练之字符串Day6前面的话大家好!本篇文章将介绍2周搞定数据结构的题,本文将以三道题作为背景,介绍经典的数独以及排序算法,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第五天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer
面向对象编程思想--SPI设备(Norflash、RFID、LCD屏幕)
Amber762
面向对象编程 单片机 嵌入式硬件 stm32 linux 物联网 mcu iot
上节写了对于IIC设备的面向对象写法面向对象编程思想--IIC设备(EEPROMANDMPU6050)-CSDN博客面向对象编程思想--IIC设备(EEPROMANDMPU6050)-CSDN博客NorFlash、RC522、LCD屏幕,这些都是常见的SPI设备,但各自有不同的操作需求。例如,NorFlash通常需要读写数据块,RC522是RFID读卡器,涉及特定的命令和数据处理,而LCD屏幕可能
代码随想录Day40
二手木乃伊
java 代码随想录 动态规划
Day40动态规划part03今日任务整数拆分96.不同的二叉搜索树代码实现整数拆分publicintintegerBreak(intn){int[]dp=newint[n+1];dp[2]=1;for(inti=3;i
QT移植,交叉编译至泰山派RK3566开发板,.pro文件解析
大象荒野
嵌入式QT开发 笔记 qt 开发语言
配置文件丢这里,后面有空整理下。说下大概的注意点,安装路径(qtcreator远程部署的路径)、动态库路径和头文件路径、运行时动态库路径和头文件路径($$pwd在编译后会被换成绝对路径,因此需要指定运行时动态库路径)#指定使用的Qt模块QT+=coreguiwidgets#配置选项CONFIG+=c++11#警告和弃用APIDEFINES+=QT_DEPRECATED_WARNINGS#如果需要禁
leetcode_132. 分割回文串 II
二次元憨批
算法 leetcode c++
给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。示例:输入:“aab”输出:1解释:进行一次分割就可将s分割成[“aa”,“b”]这样两个回文子串。解析:本题与上一题不同,要求返回最少分割次数。看似更加简单,实则相反。如果用上一题的基础来看,对上一题的结果即所有的分割可能进行统计即可获得最少分割次数。但是毫无疑问的超时了。本题仅要求返回次数,因此不需要进行回
HTML5 新特性有哪些?
IT木昜
大白话前端面试题 html5 前端 html
HTML5新特性,你知道几个?语义化标签:HTML5引入了一系列语义化标签,比如代表网页的头部,就像是一本书的封面和目录部分,包含网站标志、导航栏等重要信息;用于导航链接,是网页的“交通指示牌”,方便用户快速找到不同页面;表示独立的文章内容,每一篇新闻报道、博客文章都可以放在这里;用来划分页面的不同区域,像一个商场里不同的楼层分区;代表网页底部,一般放版权信息、联系方式等。这些标签让网页结构更清晰
vue3和vue2的组件开发有什么区别
IT木昜
vue.js
Vue3和Vue2在组件开发上存在不少差异,下面从多个方面详细介绍:响应式原理Vue2:用Object.defineProperty()方法来实现响应式。打个比方,它就像给对象的每个属性都安排了一个“小管家”,属性被访问或修改时,“小管家”就去通知相关的地方更新。但这个方法有个局限,比如它不能很好地检测对象新增属性或删除属性的变化,你要是给对象新添加一个属性,“小管家”可能注意不到,页面也就不会自
ffmpeg音频命令(常用篇)
晓光尘梦
其他知识点学习 ffmpeg 音视频
写在前面使用ffmpeg的主要原因是工作需要,期间总是会涉及音频的采样率、音量啥的转换,音频的剪切与合成叠加。这是以前在别的平台发布的,整合一下丢在这,方便以后查阅。一、工作时涉及到的音频名词1、声道当人听到声音时,能对声源进行定位,那么通过在不同的位置设置声源,就可以造就出更好的听觉感受。声道越多的话,更能获得身临其境的听音体验,声音的环绕效果也会更加的真实。比如手机的单扬声器就是单声道,有双扬
perl特殊变量内置
qq_27292549
Perl语言中定义了一些特殊的变量,通常以$,@,或%作为前缀,例如:$_。很多特殊的变量有一个很长的英文名,操作系统变量$!可以写为$OS_ERROR。如果你想使用英文名的特殊变量需要在程序头部添加useEnglish;。这样就可以使用具有描述性的英文特殊变量。1#!/usr/bin/perlusewarnings;@array=qw(abcd);foreach(@array){print$_,
详解多模态(红外-可见光图像)目标检测模型SuperYOLO源码,真正搞清代码逻辑!
弗兰随风小欢
目标检测实验系列 深度学习 目标检测 YOLO 计算机视觉 多模态目标检测 视觉检测 人工智能
目录1.文章主要内容2.相关说明3.基于SuperYOLO的多模态目标检测3.1详解代码流程(重点)3.1.1train.py文件(入口)3.1.2SRyolo.py文件3.1.3datasets.py文件3.1.4再次回到train.py文件3.1.5再次回到SRyolo.py文件3.总结1.文章主要内容本文主要是详细分析SuperYOLO多模态源代码,包括如何启动,以及详细代码部分如何改进,从
Spring WebSocket 快速示例
oscar999
Spring Boot实战开发大全 spring websocket java
WebSocket是什么?WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于TCP的协议),它实现了浏览器与服务器之间的全双工通信,能够更好地节省服务器资源和带宽,并达到实时通讯的目的。WebSocket是一个持久化的协议,一旦建立连接,双方可以持续进行数据传输,直到连接被关闭。Spring中如何实现WebSocketSpringWebSocket提供了一种在Sp
Perl特殊变量
pengwentao
perl 正则表达式 操作系统相关 io bugs 脚本
来源:ChinaUnix博客日期:2007.11.2607:49http://blog.chinaunix.net/u/8985/index.php最新版本可以从这里获取(POD格式):http://svn.perlchina.org/trunk/POD2-CN/lib/POD2/CN/perlvar.podNAMEperlvar-Perl预定义变量DESCRIPTION预定义名称后面列出的名称对
HTML5+CSS3【容器元素、 HTML5新增布局标签、视频和音频 、HTML5新增标签】(五)-全面详解(学习总结---从入门到深化)
童小纯
前端系列---从入门到深化 css3 html5
作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人目录容器元素(div)学习效果反馈HTM
YOLOv11算法与改进版YOLOv11算法对比:性能提升与优化
m0_54717829
YOLO 算法 目标跟踪
YOLOv11算法与改进版YOLOv11算法对比:性能提升与优化提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录YOLOv11算法与改进版YOLOv11算法对比:性能提升与优化前言一、YOLOv11算法概述二、训练步骤2.验证数据的数据代码2.改进版YOLOv11算法的创新a.改进的特征提取网络b.多通道特征融合机制c.自适应损失函数d.动态推理优化3.改进版YOLOv11
Windows网络编程之选择模型详解
和舒貌
windows 网络 选择模型
Windows网络编程之选择模型详解目录网络编程模型概述Select模型原理与实现WSAAsyncSelect模型详解WSAEventSelect模型剖析完成端口模型(IOCP)简介各模型性能对比与应用场景实战案例:高并发服务器设计常见问题与解决方案总结与展望一、网络编程模型概述1.1同步阻塞模型的局限在传统同步阻塞模型中,每个socket连接都需要独立的线程处理,当并发量上升时会产生:线程资源消
Hadoop(一)
朱辉辉33
hadoop linux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
maven An error occurred while filtering resources
blackproof
maven 报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
java 位移运算与乘法运算
周凡杨
java 位移 运算 乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
Spring_Transactional_Propagation
布衣凌宇
spring transactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
Jqplot之折线图
antlove
js jquery Web timeseries jqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
JDBC中事务处理应用
百合不是茶
java JDBC编程 事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java 多线程 线程安全 HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScript AngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
Oracle基本操作
ccii
Oracle SQL总结 Oracle SQL语法 Oracle基本操作 Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
[强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
SpringMVC and Struts2
dashuaifu
struts2 springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
windows常用命令行命令
dcj3sjt126com
windows cmd command
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
Objective-c单例模式的正确写法
jsntghf
单例 ios iPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
jquery easyui datagrid 加载成功,选中某一行
hae
jquery easyui datagrid 数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
jQuery用户数字打分评价效果
ini
JavaScript html jquery Web css
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
mybatis的paramType
kerryg
DAO sql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
实现一个sizeof获取Java对象大小
teasp
java HotSpot 内存 对象大小 sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本