首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
14,486 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
11,741 阅读
3
gradle-5.4.1-all.zip下载
9,741 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
8,280 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
7,096 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
620
篇文章
累计收到
632
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
110
篇与
的结果
2026-01-07
【图片极致压缩+去除背景】新做了个工具,支持在线对图片进行压缩,去除背景,转换格式等
https://www.ruanzhu.ink/tools/image-processing
2026年01月07日
5 阅读
0 评论
0 点赞
2025-12-07
【效率工具】软著申请不求人!用 AI 10分钟搞定 60 页代码文档与说明书
前言:程序员的“至暗时刻”在软件开发圈流传着一句话:“写代码是享受,写文档是折磨,而申请软著(计算机软件著作权)的文档,则是折磨中的‘地狱模式’。”任何经历过软著申请的开发者,大概都经历过以下崩溃瞬间:格式地狱: 为了凑齐 60 页代码文档,手动删除空行、调整页眉页脚,眼睛都快瞎了。截图噩梦: 编写《用户操作手册》,需要截几十张图,还得编造出“图文并茂、逻辑通顺”的功能描述。反复驳回: 因为排版不合规、行数不够、注释太少被代理机构或审查员打回。难道在 AI 时代的今天,我们还要用最原始的手工方式,去处理最繁琐的格式问题吗?答案是否定的。今天给大家安利一款 “降维打击” 级的生产力工具——[可疑链接已删除]。它把软著申请从“周”级任务,缩短到了“分钟”级。什么是《软著通》?简单来说,软著通 是一个专为开发者和企业设计的 AI 辅助工具。它的核心逻辑非常暴力美学:你只管输入软件名称和基础信息,剩下的脏活累活(代码清洗、排版、文档撰写),全部交给 AI。它解决的不仅仅是“写”的问题,更是“标准”的问题。生成的文档直接符合官方审查的排版要求,让你无需在 Word 格式调整上浪费生命。核心功能实测:它到底有多省事?我在体验过其官网( 软著通 )后,总结了以下三个最打动开发者的亮点:1. 代码文档:智能清洗与排版申请软著通常要求提交前 30 页和后 30 页代码,且每页 50 行,且不能有空行。传统做法: 打开 IDE,复制粘贴,手动删除空行,手动调整 Word 字体字号。软著通做法: 上传源码或粘贴代码,AI 自动清洗注释、去除空行、自动截取前后各 30 页(或全部),并自动按标准排版。2. 说明书:AI 自动“编”写这是最头疼的部分。你需要把你的代码逻辑翻译成“人话”。软著通做法: 你只需提供软件名称(例如“智能仓储物流管理系统”),AI 会利用大模型能力,自动分析该类软件通常具备的功能模块(如库存管理、订单追踪、报表生成),并自动生成一份逻辑严密、分章节的《用户操作手册》。3. 极速生成,立等可取整个过程不需要人工干预太多。从输入信息到下载文档,大概只需要 10 分钟。生成的文档格式(PDF/Word)可以直接打印签字提交。为什么推荐独立开发者和中小团队使用?对于大厂来说,可能有专门的法务部门处理这些。但对于独立开发者、初创团队、接私单的工程师以及面临毕业设计的学生来说,软著通是性价比极高的选择。省钱: 市面上的软著代办,“加急”和“代写文档”往往需要额外加收几百甚至上千元的费用。用软著通,这笔钱直接省下。通过率高: 官方数据显示,其生成的材料通过率高达 98%,拥有 5000+ 成功案例。因为格式是机器标准化的,很难出错。数据安全: 专注于文档生成,让你专注于核心业务,不必担心代码逻辑泄露给不靠谱的人工代写。结语:把时间浪费在美好的代码上技术是为了解决重复劳动的。既然我们已经能用 Copilot 写代码,为什么不能用 AI 写文档?如果你的手头正好有项目需要申请软著,或者你单纯想体验一下 AI 如何重塑繁琐的行政工作,强烈建议你去试一试。别让文档格式,成为你改变世界的绊脚石。立即体验官网地址: 软著通声明:本文介绍工具为辅助生成工具,最终提交材料请务必人工核对,确保真实性与准确性。
2025年12月07日
33 阅读
0 评论
0 点赞
2025-03-07
字节跳动旗下火山方舟注册送15元额度
邀请好友免费领大模型全速体验DeepSeek每邀请1位新用户,最高得130元代金券,多邀多得不封顶畅享DeepSeek R1 和 V3,支持3万RPM和500万TPM不限速DeepSeek满血版免费领啦!邀请好友注册和使用,最高双方可获得145元代金券,免费抵扣3625万tokens,畅享R1与V3模型!参与入口:https://volcengine.com/L/i593UPot/ 邀请码:BULVA9MT
2025年03月07日
122 阅读
0 评论
0 点赞
2025-02-19
再分享一个羊毛,获取20刀novita额度,可以用到很多模型
Novita AI 提供满血版 DeepSeek R120刀有500万token 比阿里的多5倍邀请送 20刀,要白女票的可以冲了互利,不加code也没有20刀,最高可获取500刀code: TLBE94领取地址:(含aff,不加code没有20刀)https://novita.ai/referral?invited_code=TLBE94
2025年02月19日
125 阅读
0 评论
0 点赞
2025-02-14
免费用DeepSeek R1
SiliconCloud 邀请奖励持续进行,2000 万 Tokens 送不停!邀请好友赚 2000 万 Tokens:每成功邀请一位新用户通过手机号码注册,您将获得 2000 万 Tokens;注册即送 2000 万 Tokens:受邀好友作为新用户完成 SiliconCloud 账号注册,立刻获得 2000万 Tokens。https://cloud.siliconflow.cn/i/AsuWHXJe
2025年02月14日
203 阅读
2 评论
0 点赞
2024-07-27
用了八百多天的aapanel崩了
我的所有python项目都是用的bt里面的python项目管理器老版本1.几,一直没敢升级因为怕所有项目白部署了,好家伙前两天一看,直接py环境全部清空了,所有项目全崩了,然后我就想反正没了升级看看,重新部署一下,结果算了,弃了,拜拜了bt
2024年07月27日
403 阅读
1 评论
0 点赞
2024-05-14
原生Js Canvas去除视频绿幕背景
Js去除视频背景注: 这里的去除视频背景并不是对视频文件进行操作去除背景如果需要对视频扣除背景并导出可以使用ffmpeg等库,这里仅作播放用所以采用这种方法由于uniapp中的canvas经过封装,且 uniapp 的 drawImage 无法绘制视频帧画面,因此uniapp中不适用实现过程是将视频使用canvas逐帧截下来对截取的图片进行处理,然后在canvas中显示处理好的图片最后通过定时器高速处理替换,形成视频播放的效果,效果如下图⬇原文链接:https://blog.csdn.net/Raccon_/article/details/132732976<template> <div class="videoBgRemove"> <video id="video" src="/images/example.mp4" loop autoplay muted ref="video" style="width: 240px;height: 135px;"></video> <canvas id="output-canvas" width="240" height="135" willReadFrequently="true" ref="canvas"></canvas> </div> </template> <script setup> import {ref, onMounted} from 'vue'; const video = ref(null); const canvas = ref(null); const ctx = ref(null); const canvas_tmp = ref(null); const ctx_tmp = ref(null); const init = () => { ctx.value = canvas.value.getContext('2d'); // 创建的canvas宽高最好与显示图片的canvas、video宽高一致 canvas_tmp.value = document.createElement('canvas'); canvas_tmp.value.setAttribute('width', 240); canvas_tmp.value.setAttribute('height', 135); ctx_tmp.value = canvas_tmp.value.getContext('2d'); video.value.addEventListener('play', computeFrame); } const numToPoint = (num, width) => { let col = num % width; let row = Math.floor(num / width); row = col === 0 ? row : row + 1; col = col === 0 ? width : col; return [row, col]; } const pointToNum = (point, width) => { let [row, col] = point; return (row - 1) * width + col } const getAroundPoint = (point, width, height, area) => { let [row, col] = point; let allAround = []; if (row > height || col > width || row < 0 || col < 0) return allAround; for (let i = 0; i < area; i++) { let pRow = row - 1 + i; for (let j = 0; j < area; j++) { let pCol = col - 1 + j; if (i === area % 2 && j === area % 2) continue; allAround.push([pRow, pCol]); } } return allAround.filter(([iRow, iCol]) => { return (iRow > 0 && iCol > 0) && (iRow <= height && iCol <= width); }) } const computeFrame = () => { if (video.value) { if (video.value.paused || video.value.ended) return; } // 如果视频比例和canvas比例不正确可能会出现显示形变, 调整除的值进行比例调整 ctx_tmp.value.drawImage(video.value, 0, 0, video.value.clientWidth / 1, video.value.clientHeight / 1); // 获取到绘制的canvas的所有像素rgba值组成的数组 let frame = ctx_tmp.value.getImageData(0, 0, video.value.clientWidth, video.value.clientHeight); //----- emergence ---------- const height = frame.height; const width = frame.width; const pointLens = frame.data.length / 4; for (let i = 0; i < pointLens; i++) { let r = frame.data[i * 4]; let g = frame.data[i * 4 + 1]; let b = frame.data[i * 4 + 2]; if (r < 100 && g > 120 && b < 200) { frame.data[i * 4 + 3] = 0; } } const tempData = [...frame.data] for (let i = 0; i < pointLens; i++) { if (frame.data[i * 4 + 3] === 0) continue const currentPoint = numToPoint(i + 1, width); const arroundPoint = getAroundPoint(currentPoint, width, height, 3); let opNum = 0; let rSum = 0; let gSum = 0; let bSum = 0; arroundPoint.forEach((position) => { const index = pointToNum(position, width); rSum = rSum + tempData[(index - 1) * 4]; gSum = gSum + tempData[(index - 1) * 4 + 1]; bSum = bSum + tempData[(index - 1) * 4 + 2]; if (tempData[(index - 1) * 4 + 3] !== 255) opNum++; }) let alpha = (255 / arroundPoint.length) * (arroundPoint.length - opNum); if (alpha !== 255) { // debugger frame.data[i * 4] = parseInt(rSum / arroundPoint.length); frame.data[i * 4 + 1] = parseInt(gSum / arroundPoint.length); frame.data[i * 4 + 2] = parseInt(bSum / arroundPoint.length); frame.data[i * 4 + 3] = parseInt(alpha); } } //------------------------ ctx.value.putImageData(frame, 0, 0); setTimeout(computeFrame, 0); } onMounted(() => { init(); }) </script>
2024年05月14日
368 阅读
0 评论
0 点赞
1
2
...
16