惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
Know Your Adversary
Know Your Adversary
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
Cloudbric
Cloudbric
Scott Helme
Scott Helme
C
CERT Recently Published Vulnerability Notes
Latest news
Latest news
P
Privacy International News Feed
S
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
S
Security @ Cisco Blogs
N
News | PayPal Newsroom
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
AI
AI
MyScale Blog
MyScale Blog
T
Threat Research - Cisco Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Cisco Talos Blog
Cisco Talos Blog
AWS News Blog
AWS News Blog
Webroot Blog
Webroot Blog
C
Cisco Blogs
博客园 - 聂微东
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Cloudflare Blog
Hugging Face - Blog
Hugging Face - Blog
P
Privacy & Cybersecurity Law Blog
D
DataBreaches.Net
博客园_首页
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Project Zero
Project Zero
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
The Blog of Author Tim Ferriss
雷峰网
雷峰网
V2EX - 技术
V2EX - 技术
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
V
V2EX
I
Intezer
美团技术团队
TaoSecurity Blog
TaoSecurity Blog
Hacker News: Ask HN
Hacker News: Ask HN
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
G
GRAHAM CLULEY

StudyingLover's Blog

Diffusion Policy笔记 rwkv笔记 act笔记 nanovllm-block_manager opencode多智能体 nanobot-pre-train nanobot-rl nanobot-sft nanobot-checkpoint_manager nanobot-gpt nanobot-mid-train Vision Mamba (Vim)笔记 BPE演示 最后一遍学习Transformer YOLOv5 目标检测笔记 下载根服务器解析记录 Dynaseal A Backend-Controlled LLM API Key Distribution Scheme with Constrained Invocation Parameters 判断链表有环 王道25数据结构勘误 关于perplexity的open-sourcing-r1-1776 AI为什么不像人类一样进行多轮对话 新博客改造日记和功能测试 linuxqq只显示登陆背景图 数字设计和计算机体系结构(机械工业出版社)勘误(自制) Dynaseal:面向未来端侧llm agent的llm api key分发机制 A Definitive Guide to Markdown Style This post is using MDX, Where you can embed JSX and Astro components RT-Patch学习 pydantic实现的LLM ReAct fastapi 和 uvicorn 设置监听 ipv6 pydantic+openai+json 控制大模型输出的最佳范式 解决 Matplotlib Scatter 不支持 Marker 列表的问题:mscatter 实现 roofline model zhipuAI接口兼容openai 在docker部署fastapi宝塔里使用nginx反代套上cloudflare获取请求的真实ip clion搭建libbpf-bootstrap开发环境 coze+coze-discord-proxy+ChatNextWebUI实现AI自由 安卓内核时间使用的是UTC时间 colab运行google最新开源模型Gemma Sora技术报告 视频生成模型作为世界模拟器 笔记 archlinux flutter开发踩坑 fastapi集成google auth登录 linux下NTFS磁盘报错输入输出错误 Venn-Abers 预测器 基于Venn-Abers预测器的系统日志异常检测方法_顾兆军 手机平板远程访问kvm虚拟机的windows phi-2弱智吧测评 poe的gemini pro或是百度开发 google gemini api使用 google gemini api申请 构建用于复杂数据处理的高效UDP服务器和客户端 matplotlib中文字体渲染 TruFor笔记和代码复现 深入分析:GitHub Trending 项目 "multipleWindow3dScene" pua大模型 ggml教程|mnist手写体识别量化推理 xgboost2.0最佳实践 xgboost使用GPU最佳实践 马踏棋盘 cloudlflare推理llama2 docker搭建elasticsearch并使用python连接 FreeU-文字生成图片的免费午餐笔记 使用xgboost的c接口推理模型 Archlinux使用CMake调用xgboost的c接口 m2cgen生成机器学习c语言推理代码 xgboost模型序列化存储并推理 speculative-sampling笔记 prompt2model笔记 RoboTAP笔记 自建obsidian同步服务 MediaPipe即将推出图像生成服务 Dual-Stream Diffusion Net for Text-to-Video Generation笔记 ViT在DDPM取代UNet(DiT) arch4edu搞崩了我的flutter LISA(推理分割)笔记 在终端绘制GPU显存使用曲线 GPTBot介绍 arch蓝牙无法连接 GPU部署llama-cpp-python(llama.cpp通用) 花式求GCD 使用llama构建一个蜜罐(前端) 使用llama构建一个蜜罐(后端) llama-cpp-python快速上手 快速上手llama2.c(更新版) Paper Gestalt笔记 DINO-v2笔记 快速上手llama2.c AnyDoor笔记 Archlinux安装scrcpy加载共享库出错 error while loading shared libraries:libusb-1.0.so.0:wrong ELF class:ELFCLASS32 npc_gzip笔记 python调用c++函数 Filesystem type ntfs3,ntfs not configured in kernel open_clip编码图像和文本 PicGo配置CloudflareR2图片储存 ArchlinuxGnome快捷键打开终端 clip-interrogator代码解析 GroundingDINO安装报错解决 2023华为鲲鹏畅想日暨西安高新国际会议中心零食午饭测评 RoboMaster开源仓库汇总(长期更新) 没有手都可以在腾讯云创建镜像
copliot才是代码开发神器
About the Author StudyingLover · 2023-02-05 · via StudyingLover's Blog

copliot才是代码开发神器

本文使用copilot和chatGPT辅助完成

copilot是微软的AI代码生成器,可以帮助我们快速完成代码编写(这句copilot简介是copilot写的)。在openai的chatGPT出现后,copilot的风头有所下降,直到刚才…… 几分钟前我在写我的博客ThreeJS实现屏幕坐标转3d坐标时,原本的第一段代码是这样的:

function get3DPosition(x, y, camera, scene, hyper_z) {
        var vector = new THREE.Vector3();
        // calculate mouse position in normalized device coordinates
        // (-1 to +1) for both components
        vector.x = (x / window.innerWidth) * 2 - 1;
        vector.y = - (y / window.innerHeight) * 2 + 1;
        vector.z = hyper_z;

        // unproject the vector
        vector.unproject(camera);

        // calculate the ray from the camera to the vector
        var ray = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());

        // check for intersection with objects in the scene
        var intersects = ray.intersectObjects(scene.children);
        if (intersects.length > 0) {
            return intersects[0].point;
        }
        else {
            return null;
        }
    }

正当我写完

官方为我们提供了一个接口vector.unproject(camera) 打算粘贴上我的代码时,copilot突然给了我一大段代码提示,并给出了我一段代码

emmmmmmmmmm,当时的我是有点懵的,我回去看了看当时这段代码的目的,发现这段代码的目的(实不相瞒写到这copilot又给我一段提示(实不相瞒写到这copilot又给我一段提示(…)))先获取点击的坐标点,再获取我点击的3d物体的名称。所以前半部分没问题,真正要改的是后部分。更改后的代码如下:

function screenToWorld(screenX, screenY, camerahyper_z) {
    const vector = new THREE.Vector3();
    vector.set(
        (screenX / window.innerWidth) * 2 - 1,
        -(screenY / window.innerHeight) * 2 + 1,
        hyper_z
    );
    vector.unproject(camera);
    vector.applyMatrix4(camera.matrixWorldInverse);
    return vector;
}

你以为结束了吗,当我继续往下写我的博客,写道

这里的hyper_z网上很多教程认为是写0.5,

copilot又给我一段代码提示,,这次的提示是这样的 还好还好,这次代码的目的没搞错,只是整个代码都可能写错了而已……

经过一番思考,我决定继续按照原先的代码写,因为我已经尝试了代码的效果,勉强可以达到我们的要求。

最后,我想说的是,copilot真的是一个神器,但是要注意,它只是一个辅助工具,不要完全依赖它,因为它可能会给你一些错误的代码提示,这时候你就要自己去思考了。(这段话还是copilot写的)

总而言之,Copilot是代码开发领域中高效且创新的工具。它具有易于使用的界面和先进的功能,已被证明是开发人员的游戏规则改变者,并被广泛认为是最终的代码开发工具。无论您是经验丰富的程序员还是刚刚入门,Copilot都提供了您需要的工具,可以比以往更快、更高效地完成工作。(这段话是chatGPT写的)