自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Programming is a highly artistic endeavor

聊聊编程的一些小技巧

  • 博客(92)
  • 资源 (2)
  • 收藏
  • 关注

原创 Mac上装了最新版本的Android Studio,但是没找到jdk的设置选项也没找到jbr的目录

新版Android Studio(2025.3.1+)因三项变更导致常见问题:一、JDK设置移至“DaemonJVM criteria”,新项目默认自动探测或下载JDK;二、JBR目录改名为带版本号的jbr-21等,需进入.app/Contents/查看,或通过About窗口确认运行时;三、命令行缺adb因platform-tools未加入PATH,需在SDK Manager中勾选并配置~/.zshrc中的ANDROID_HOME及PATH。重装或清理残留可解决缺失问题,切勿手动设JAVA_HOME或安装冲

2026-11-09 09:59:32 330

原创 git如何清除自己提交的远程垃圾分支

长期开发易产生大量垃圾远程分支。可通过本文步骤清理

2026-09-17 13:06:43 171

原创 git 如何把一个已经commit到本地分支的,被错误staged的文件,单独拿出来revert呢?

<think>我们根据内容写一个≤150字的文章摘要。内容是关于Git撤销误提交文件的几种场景。摘要要概括核心要点:根据commit是否push、是否想改写历史、文件是否该跟踪等选择方法;本地未push用reset --soft,已push用新提交恢复文件,不该跟踪用rm --cached加gitignore。注意字数。</think>文章摘要:撤销误提交文件需分场景处理:未push时用git reset --soft HEAD~1拆开提交并取消暂存;已push或不想改写历史则用git checkout H

2026-09-01 20:52:20 185

原创 git pull --rebase 到底有没有amend你的commit?

<think>我们根据要求生成≤150字的文章摘要。内容是关于git pull --rebase冲突解决后是否amend。需要简洁概括核心。输出中文摘要。注意字数限制。</think>git pull --rebase 遇冲突解决后执行 git rebase --continue,冲突内容会被直接并入当前重放的 commit,等同 amend 该提交,但生成新 hash。不会产生额外提交,历史线保持线性。可用 --abort 放弃,--skip 跳过。

2026-08-31 21:35:28 202

原创 什么是TOCTOU?

TOCTOU 是 Time-of-Check to Time-of-Use 的缩写,中文常译为“检查到使用的时间差”漏洞,属于竞态条件(Race Condition)的一种经典安全漏洞。if (access(“/tmp/user_config.txt”, W_OK) == 0) { // ← Time-of-Check:检查用户有没有写权限。使用文件描述符而非文件名 open() 拿到 fd 后,用 fstat(fd) 检查权限,而不是用文件名重新检查——fd 指向的是同一个文件,无法被替换。

2026-08-20 20:49:40 215

原创 JAVA_HOME和ANDROID_HOME在windows上怎么设置?

本文提供了Windows系统配置JAVA_HOME和ANDROID_HOME环境变量的详细指南,适用于Win10/Win11系统。主要内容包括:1)确认JDK和Android SDK的正确路径;2)分步骤配置系统环境变量,包括JAVA_HOME、Path路径添加、ANDROID_HOME/ANDROID_SDK_ROOT设置;3)验证配置是否成功的方法;4)常见错误排查。特别强调了路径不带空格/中文、使用AS自带JDK、新开终端使配置生效等关键点,并指出90%的问题源于路径格式错误或变量未更新。配置完成后需

2026-08-19 05:52:11 286

原创 git怎么把本地某个指定的stash变成patch共享给队友

本文介绍了如何将 Git stash 内容导出为 patch 文件并分享给队友的完整流程。核心步骤包括:使用 git stash show -p 导出指定 stash 的 diff 为 patch 文件,处理可能存在的二进制文件和未跟踪文件问题,并通过各种方式传输给队友。队友收到后可用 git apply 命令应用 patch,并介绍了冲突处理方法。文章还对比了直接生成 patch 和创建临时分支两种共享方式的优缺点,建议简单改动用 patch,复杂改动通过临时分支共享更可靠。最后提供了推荐操作流程,适合大

2026-08-18 20:20:03 225

原创 git怎么在clone的时候就指定clone指定的分支

文章摘要:Git克隆时可使用-b参数指定分支,常用方法包括:1) 直接检出分支git clone -b <分支> <url>;2) 仅克隆单分支--single-branch以节省带宽;3) CI场景推荐浅克隆--depth 1仅获取最新提交。支持分支名、tag或commit hash,注意--single-branch会隐藏其他远程分支,可通过git remote set-branches恢复。不同场景选择:常规开发用默认克隆,大仓库用单分支,快速部署用浅克隆+单分支组合。(149字)

2026-08-18 19:53:35 481

原创 nvm如何安装node/npm? 不要忘了use?

摘要:通过nvm安装npm的核心步骤是安装Node.js,npm会随之自动安装。首先安装nvm工具(不同系统命令不同),然后使用nvm install安装指定Node.js版本(推荐LTS版),注意安装后需执行nvm use切换版本。验证安装使用node --version和npm --version查看版本号即可。Windows用户需使用nvm-windows,且无需单独安装npm。(150字)

2026-08-17 10:42:30 241

原创 本地提交之后, git pull --rebase产生冲突,解决之后是否不影响提交日志?还是会多一条merge日志?

摘要: 使用 git pull --rebase 解决冲突后,不会产生多余的 merge 提交,历史保持线性,但本地提交的 commit hash 会被改写。与默认的 git pull(合并方式)不同,rebase 会重新应用本地提交到远程最新节点,避免生成合并记录。冲突解决后需执行 git add 和 git rebase --continue。若提交已推送到远程,需强制推送(--force-with-lease),否则可能影响协作。核心区别:rebase 保持干净历史,适合未推送的提交;merge 保留

2026-08-15 16:57:03 334

原创 git stash如何pop指定的stash change?

后面跟上stash@{n}即可恢复其中n是里显示的编号,stash@{0}​。

2026-08-13 18:50:21 209

原创 git stash save 和 git stash push有什么区别?

直接说结论: 和 功能几乎一样,但 已被官方标记为“废弃(deprecated)”,现在一律推荐用 。两者的核心区别在于 参数解析方式, 更安全、更严格。2、指定文件路径(这是最大的坑!)这是你刚才问的“只 stash 个别文件”的场景,必须用 :为什么? 强制使用 分隔符,明确区分“消息”和“文件路径”,永远不会混淆。 没有​ 分隔符。Git 会尝试把后面的参数解析为消息,如果文件名看起来像参数(比如以 开头),或者解析逻辑有歧义,就会报错或产生非预期行为。功能一样,但

2026-08-13 18:47:06 232

原创 Spring弹簧动画是否是起点终点固定而时长不固定?

Spring弹簧动画采用目标驱动而非时间驱动的设计理念,其核心特点是起点终点固定而时长不固定。动画时长由物理模型决定,取决于弹簧刚度、阻尼比和初始速度的相互作用。与传统补间动画不同,弹簧动画能动态调整目标值,实现平滑过渡,并在速度与位移足够小时自动停止。这种设计牺牲了精确时长控制,但提供了更真实的物理模拟效果,特别适合交互式场景。

2026-03-12 09:22:03 234

原创 Android里面的layer、DisplayList和hardwarebuffer之间是什么关系

Android图形渲染流程包含三个核心组件:DisplayList(渲染节点树)记录绘制指令,HardwareBuffer(图形缓冲区)存储像素数据,Layer(图层)管理合成属性。DisplayList在应用进程CPU侧录制绘制命令,GPU执行后输出到HardwareBuffer,该缓冲区通过跨进程共享传递给SurfaceFlinger。SurfaceFlinger将HardwareBuffer封装为Layer,附加位置、透明度等合成属性,最终将所有Layer合成为显示画面。三者分别对应绘制指令、像素数据

2026-01-07 11:33:18 1025

转载 Linux Rust编码建议

【代码】Linux Rust编码建议。

2025-04-08 11:30:26 255

原创 Linux time命令简介

命令用于测量命令执行时的资源消耗,包括时间、内存、I/O 等,是性能调优的重要工具。显示详细资源统计,包括内存、I/O、上下文切换等。,尤其在 I/O 密集型任务中(如文件遍历)。若需保存结果,需重定向标准错误(追加结果到文件(不覆盖)。如需更高级分析,可结合。

2025-02-19 09:16:43 505

原创 如何在 Docker 环境中将宿主机的文件复制到容器目录

docker cp:快速向已存在的容器复制少量文件(无需重建镜像或挂载卷)。

2025-02-16 14:47:03 3687

原创 为什么Rust 的 trait 不能直接包含成员变量?

Rust 的。Trait 的主要目的是定义共享的行为(方法签名),而不是存储数据。

2025-02-06 09:07:15 546

原创 Rust里面针对Option和Result的and_then和map有什么区别

map方法用于对Option或Result中的值进行转换,如果值存在(对于Option)或成功(对于Result),则应用提供的函数,否则返回原始的None或Err。and_then方法用于对Option或Result中的值进行转换,但它允许返回一个新的Option或Result。如果值存在(对于Option)或成功(对于Result),则应用提供的函数,否则返回原始的None或Err。返回类型map方法返回的类型与原始类型相同(即Option或),但内部的值被转换了。and_then。

2024-11-11 03:05:37 1296

原创 Rust的一个奇技淫巧:变量遮蔽(Variable Shadowing)

Rust的一个奇技淫巧:变量遮蔽

2024-09-20 23:49:22 556 1

原创 如何在Windows上安装Docker

如何在Windows上安装Docker

2024-09-20 23:24:20 1404

原创 如何查看WSL默认安装位置以及挪动其到指定安装路径

Windows下给WSL默认安装路径挪个窝

2024-09-20 23:02:55 37654 6

原创 在Deepin上安装Cursor

cursor在linux上安装,无法持久化配置

2024-09-14 18:07:41 811

转载 nginx+tomcat+memcached搭建服务器集群及负载均衡

from http://blog.youkuaiyun.com/binyao02123202/article/details/42065915在实际项目中,由于用户的访问量很大的原因,往往需要同时开启多个服务器才能满足实际需求。但是同时开启多个服务又该怎么管理他们呢?怎样实现session共享呢?下面就来讲一讲如何使用tomcat+nginx搭建服务器集群以及如何实现session共享。   

2016-03-24 08:30:42 613

转载 Java技术路线

原文来自IT技术博客大学习在技术方面无论我们怎么学习,总感觉需要提升自已,却又不知道从哪里着手,同时也不知道自己处于哪个水平。这时候就需要有清晰的指示图来指引我们,这样我们能清楚的知道我们在哪方面不足,以及自己大概处于哪个阶段和水平。(一)java程序员   1. 高级特性   反射、泛型、注释符、自动装箱和拆箱、枚举类、可变

2016-03-18 07:00:08 788

转载 如何从菜鸟成长为(伪)架构师

如何从菜鸟成长为(伪)架构师转自:http://www.kuqin.com/shuoit/20160314/351181.html前些天,我在各种论坛里发招聘贴,遇见X君,前来问我道,“你可曾为招聘贴写过什么软文吗?”我说“没有”。他就正告我,“那还是写一点罢;现在的招聘贴不写点鸡汤文是没有人转发的。”于是我思考许久,想起去年大约也是这个时候,写过一篇名为《如何从菜鸟程序员成长为(

2016-03-16 20:02:51 996

转载 管中窥豹:Docker生态系统一览

转自点融黑帮管中窥豹:Docker生态系统一览2016-03-11 点融黑帮导语容器化是一种便携、可控的分发和部署应用方式。为了达成此目标,需要将应用封装进一个相对标准化的、轻量的独立环境内,即容器。当下许多组织设计的应用和服务,都力求实现一个轻易部署的分布式系统,即扩展方便又得有一定故障承受能力。Docker作为一个追求将容器化过程变得更加

2016-03-14 14:31:46 631

转载 40个Java多线程问题总结

原文出处: 五月的仓颉前言Java多线程分类中写了21篇多线程的文章,21篇文章的内容很多,个人认为,学习,内容越多、越杂的知识,越需要进行深刻的总结,这样才能记忆深刻,将知识变成自己的。这篇文章主要是对多线程的问题进行总结的,因此罗列了40个多线程的问题。这些多线程的问题,有些来源于各大网站、有些来源于自己的思考。可能有些问题网上有、可能有些问题对应的答案也有、也可能

2016-03-13 21:38:16 595

转载 程序员7大软技能测验 你得几分?

程序员 软技能 测验

2016-03-13 20:27:07 744

原创 诡异的D3D

前几天同事在加入D3D引擎之后d3d9 CreateDevice之后计算精度会降低,需要调用_controlfp_s(0, _PC_53, MCW_PC); 将精度恢复回来

2014-11-18 09:33:30 509

转载 Qt窗体关闭时,如何自动销毁窗体类对象

Qt窗体关闭时,如何自动销毁窗体类对象  2013-01-10 17:11:03|  分类: Qt |  标签:qt  关闭窗口  删除窗口  wa_deleteonclose  |举报|字号 订阅QMainWindow* ImgWindow1;ImgWindow1 = new QMainWindow(this);ImgWindow1->show();c

2014-08-05 16:40:00 6184

原创 关于vector的循环删除

网上找到一些文章,分析得有点画蛇添足,用以下程序写了一下,测试通过。具体的原因可能还得分析STL源代码。#include #include #include #include using namespace std;int main(){ vector in_vec; in_vec.push_back(1); in_vec.push_ba

2014-03-06 17:43:57 885

转载 关于计算机图形学的学习

一只冰棍2005-07-20, 21:08关于计算机图形学的学习 [转]注意: 本文尽量避免理论化的描述,试图用最通俗的语言介绍一下计算机图形学的学习,以及一些参考书目和网络资源; 本文不涉及对概念的定义,以免陷入学术讨论之中 本文是作者学习计算机图形学的体会,如果有不同的意见,请不要攻击和漫骂 本文合适的题目应当是:白话说学计算机图形学? 1.

2012-11-18 03:05:12 834

转载 ANSI C标准函数库

ANSI C标准函数库 (2008-09-01 11:13) 分类: c语言编程 absread()读磁盘绝对扇区函数原形:int absread(int drive,int num,int sectnum,void *buf)功能:从drive指定的驱动器磁盘上,sectnum指定的逻辑扇区号开始读取(通过DOS中断0x25读取)num个(最多64K个)扇

2012-11-16 16:17:57 2227

转载 中文Unicode范围

4e00~9fbb有的说4e00~9fa5 若要判断是否是中文只需要用以下代码:for (int i = 0; i     char c = sentence.charAt(i);    if ((c >= 0x4e00)&&(c         System.out.println("中文");    }} 下面是各语言在Unicode中的范围

2012-11-13 08:36:35 1549

原创 Testing problems

<br /> /b test.scr /t acad.dwtchd apih_src and amakebuildlinks apihbinfiles.map (under apih_src)

2010-06-10 16:32:00 523

转载 挫折不是惩罚,而是学习的机会

  挫折不是惩罚,而是学习的机会    ——李开复2009年10月17日在浙江大学的演讲(节选)   因为挫折让你反思,因为反思让你坚定。今天回顾我的一生,我发现自己最大的学习机会都来自我的挫折,而不是来自成功。    我想用一种轻松的方式,把我从小到大的过程描述给大家听,这些启发是我经过了40多年、接近50年的人生生涯后,感到对自己最有启发的东西,也希望对在座的20岁的你们有同样的启发。天赋

2010-04-02 14:34:00 567

原创 Estimation

AutoCAD software development estimation model: Coding time: 3Unit testing time: 1Writing subdoc: 0.5Code review time: 0.5 So as a result: Coding time: 60%Unit testing time: 20%Su

2010-01-27 15:37:00 546

转载 四个寓言故事

第一课一个男人在他妻子洗完澡后准备进浴室洗澡。这时,门铃响了。妻子迅速用浴巾裹住自己冲到门口。当她打开门时,邻居鲍勃站在那儿。在她开口前,鲍勃说,“你如果把浴巾拿掉,我给你800美元。”想了一会儿,这个女人拿掉浴巾赤裸地站在鲍勃面前。几秒钟后,鲍勃递给她800美元然后离开了。女人重新裹好浴巾回到屋里。当她踏进浴室时,丈夫问她,“是谁呀?”“是邻居鲍勃。”她回答。“哦,”丈夫说,“他有没有提到还欠我

2009-11-30 23:47:00 889 1

转载 哈佛大学图书馆馆训

1.现在睡觉的话会做梦而现在学习的话会让梦实现This moment will nap, you will have a dream; But this moment study,you will interpret a dream.2.我无所事事地度过的今天是昨天死去的人们所奢望的明天I leave uncultivated today, was precisely yesterdayperis

2009-11-30 21:37:00 804

DataOrientedDesign.pdf

自C++面世后,面向对象的设计(Object Oriented Design, OOD)在整个软件程序设计领域占据绝对统治地位,一些知名的开源渲染引擎,如OSG、OGRE也是采用OO的方式来设计构建。 然而,近几年以来,随着移动互联网的兴起,在桌面、游戏主机尤其是移动设备的游戏渲染系统的开发过程中,效率提升经常面临到很多障碍,使得性能遭遇瓶颈而难以进一步优化。 通过大量的分析和反思,发现OOD的程序设计存在着很多低效和浪费的环节,并且无法与硬件的工作方式完美契合,特别是在高密度的实时计算领域中显得尤为严重。 基于此种情况,面向数据的设计(Data Oriented Design)逐渐进入人们的视野,甚至出现了“OOP is dead, long live DOD”等比较极端的呼声。相应地,一些商业引擎和游戏的底层设计也纷纷转向。 在2019 GDC大会上,知名的游戏引擎Unity高调宣布了自己的技术栈(DOTS: Data Oriented Technology Stack),通过一系列展示证明了DOD在Performance上的卓越表现。

2019-08-07

dxrTutors.Code.zip

在Siggraph2018年会议上的关于实时光线追踪的一个课程,该内容为其最后演示部分的源代码,打造一个路径追踪渲染器

2020-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除