<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[既然青春留不住，还是做个大叔好! ]]></title><description><![CDATA[Just Do IT]]></description><link>https://blog.youkuaiyun.com/Tmraz</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Tmraz]]></copyright><item><title><![CDATA[2024 写写 歇歇]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/144695325</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/144695325</guid><author>Tmraz</author><pubDate>Tue, 24 Dec 2024 15:44:15 +0800</pubDate><description><![CDATA[无]]></description><category></category></item><item><title><![CDATA[硬件产品开发流程(EVT、DVT、PVT、MP)]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/137873937</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/137873937</guid><author>Tmraz</author><pubDate>Wed, 17 Apr 2024 15:19:53 +0800</pubDate><description><![CDATA[产品开发流程大致分为五个阶段：]]></description><category></category></item><item><title><![CDATA[MQTT协议和PB协议？？]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/137780406</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/137780406</guid><author>Tmraz</author><pubDate>Mon, 15 Apr 2024 14:43:47 +0800</pubDate><description><![CDATA[它通常被归类为应用层协议，因为它建立在 TCP/IP 协议栈之上，其功能与应用层密切相关，为应用程序之间的通信提供支持。因此，PB协议本身并不属于OSI模型中的任何一层。然而，它常用于应用层协议的数据传输，例如在HTTP、RPC（Remote Procedure Call，远程过程调用）等应用中，因此通常与应用层协议关联紧密。PB（Protocol Buffers，即协议缓冲区）是一种用于序列化结构化数据的协议，通常用于通信协议、数据存储和配置文件等领域。]]></description><category></category></item><item><title><![CDATA[TCP和UDP协议区别+应用场景+优缺点+常用协议]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/137780117</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/137780117</guid><author>Tmraz</author><pubDate>Mon, 15 Apr 2024 14:37:36 +0800</pubDate><description><![CDATA[这些协议通常选择UDP作为传输层协议，因为UDP相比TCP更加轻量级，传输速度更快，并且适用于一些实时性要求较高的应用场景。然而，UDP不提供像TCP那样的可靠的数据传输和错误处理机制，因此在一些应用中，可能需要额外的逻辑来处理数据包的丢失或重复。TCP（Transmission Control Protocol）和UDP（User Datagram Protocol）是两种常用的传输层协议，它们在网络通信中扮演不同的角色，各有优缺点。：RIP是一种用于动态路由的协议，用于在路由器之间交换路由信息。]]></description><category></category></item><item><title><![CDATA[golang vs java vs c++]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/135214541</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/135214541</guid><author>Tmraz</author><pubDate>Tue, 26 Dec 2023 09:53:44 +0800</pubDate><description><![CDATA[Golang、Java和C++是三种不同的编程语言，每种语言都有其自身的优势和劣势。C++适用于对性能要求很高的应用，Java适用于大型企业应用，Go适用于简单和并发应用。Java是一种解释型语言，比C++慢，但比Python快。Java的语法比C++清楚易懂，C++由于采用了指针，多重继承和头文件，被认为比较复杂。Java以其"一次编写，到处运行"的理念而闻名，是进行跨平台开发的最佳选择之一。Java和C++都已经存在了很长时间，拥有大规模，活跃的社区和丰富的库。Go，和Java一样，也是跨平台的。]]></description><category></category></item><item><title><![CDATA[低代码平台 No-Code Platform 的思考]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/131060606</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/131060606</guid><author>Tmraz</author><pubDate>Tue, 06 Jun 2023 09:23:47 +0800</pubDate><description><![CDATA[之前与做低代码平台的公司，交流过，觉得确实正如下文所说，然后想想自己原来做过一个后端维护平台（包括地图服务的配置），其实也是低代码的一种。其实做原型产品确实还是可以的，至于复杂业务就有待讨论了。无代码工具生成的代码总是更复杂，因为它包含了无代码开发环境 + 设计工具 + 解释器或运行时 + 集成器 + 实际生成的代码。如果出了问题，所有部分可能都需要排查。无代码工具最好只用来生成原型产品。当你确切想清楚想要什么，再找程序员将它写出来，这样可能更快，有利于以后的升级和排查。——]]></description><category></category></item><item><title><![CDATA[GIS 组成]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/130167928</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/130167928</guid><author>Tmraz</author><pubDate>Sat, 15 Apr 2023 11:44:12 +0800</pubDate><description><![CDATA[GIS 组成]]></description><category></category></item><item><title><![CDATA[GIS常见数据格式]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/129201552</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/129201552</guid><author>Tmraz</author><pubDate>Fri, 24 Feb 2023 15:22:22 +0800</pubDate><description><![CDATA[矢量数据格式、栅格数据格式、模型数据格式]]></description><category></category></item><item><title><![CDATA[2022 写写 歇歇]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/128350442</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/128350442</guid><author>Tmraz</author><pubDate>Sat, 17 Dec 2022 10:07:58 +0800</pubDate><description><![CDATA[写写 歇歇]]></description><category></category></item><item><title><![CDATA[项目编写规范的README文件]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/125297315</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/125297315</guid><author>Tmraz</author><pubDate>Wed, 15 Jun 2022 15:01:46 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/wj-1314/p/8547763.html
https://blog.youkuaiyun.com/justlpf/article/details/120438337
https://blog.youkuaiyun.com/wohu1104/article/details/123163790]]></description><category></category></item><item><title><![CDATA[前端常见问题集]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/125286374</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/125286374</guid><author>Tmraz</author><pubDate>Tue, 14 Jun 2022 21:19:02 +0800</pubDate><description><![CDATA[问题集合]]></description><category></category></item><item><title><![CDATA[cesium.d.ts 关联类型声明文件]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/125277126</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/125277126</guid><author>Tmraz</author><pubDate>Tue, 14 Jun 2022 14:19:36 +0800</pubDate><description><![CDATA[开发过程中，希望能快速找到类的声明文件d.ts，以便开发。]]></description><category></category></item><item><title><![CDATA[Yarn vs NPM]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/125183558</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/125183558</guid><author>Tmraz</author><pubDate>Wed, 08 Jun 2022 14:16:48 +0800</pubDate><description><![CDATA[yarn比较好用，很多情况npm安装报错，但是yarn安装没有问题。]]></description><category></category></item><item><title><![CDATA[Mac 双系统之windows坏了咋办]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/123409710</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/123409710</guid><author>Tmraz</author><pubDate>Thu, 10 Mar 2022 19:54:14 +0800</pubDate><description><![CDATA[1 背景
Mac mini 装了个双系统。windows 系统太慢，准备重装，本来想着直接恢复出厂，结果根本不能这么操作。由于默认启动盘设置的是windows系统，然后就出现了，起不来的情况，其实之前也遇到过，就是忘了，折腾了好久这里记录一下。
2 解决方案

重启系统
听到声响后，按住win + r
知道出现相关的操作界面，接下来迎刃而解

！！！！ 是按住win+r，不是ctrl也不是alt + r

...]]></description><category></category></item><item><title><![CDATA[简历之精通 熟练 掌握 熟悉 了解]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/123201631</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/123201631</guid><author>Tmraz</author><pubDate>Tue, 01 Mar 2022 11:27:20 +0800</pubDate><description><![CDATA[1 背景
最近看了一篇文章，作者理解的词语的强烈程度为：精通 &gt; 熟悉（推荐使用）&gt; 掌握（推荐使用）&gt; 了解（推荐使用）。于是自我意识的觉得跟我自己理解的不一样，可能作者也只是笔误。
2 理解
强烈程度：精通-熟练-掌握-熟悉-了解，推荐使用熟悉+了解，慎用精通、熟练、掌握。

以前，明明只是了解一点，喜欢说成熟悉；明明只是知道听说过，喜欢说成了解；明明只是熟悉一点，喜欢说成精通。现在，纵使精通，会说只是熟悉；纵使了解，会说只是知道听说过；纵使熟悉，会说只是了解。

量化理解，以下参考地]]></description><category></category></item><item><title><![CDATA[[TinyRenderer] Lesson 4透视投影]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/123095728</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/123095728</guid><author>Tmraz</author><pubDate>Wed, 23 Feb 2022 17:58:15 +0800</pubDate><description><![CDATA[文章目录翻译1 目标2 二维几何2.1 线性变换3 二维仿射变换4 齐次坐标4.1 等一下，禁止除以零！4.2  复合变换5 等一下，3×3矩阵的底部是做什么用的呢6 是时候全 3D 工作了7 让我们总结一下：今天的主要公式
翻译
原文地址
英语好的直接看原项目
1 目标
在之前的课程中，我们通过简单地移除 z 坐标来渲染我们的正交投影模型。 今天的目标是学习如何透视投影完成绘制：

2 二维几何
2.1 线性变换
平面上的线性变换可以用对应的矩阵来表示。 如果我们取一个点 (x,y)，那么它的变换可以写成]]></description><category></category></item><item><title><![CDATA[[TinyRenderer] Lesson 3 深度缓冲（隐藏面移除）]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/123005961</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/123005961</guid><author>Tmraz</author><pubDate>Fri, 18 Feb 2022 16:32:27 +0800</pubDate><description><![CDATA[文章目录翻译1 简介2 让我们试图去渲染一个简单的场景3 更简单：让我们去掉一个维度。 Y缓冲区！4 回到三维场景5 好的，我们只是插值了 z 值。 我们还能做什么？实操效果（后补）个人碎碎念
翻译
原文地址
英语好的直接看原项目
1 简介
你好，让我给你介绍一下我的一个黑人朋友 z-buffer 。 他将帮助我们剔除上一课中隐藏面孔的视觉瑕疵。

顺便提一下，我在课程中大量使用的这个模型是由 Vidar Rapp 创建的。 他好心地允许我使用它来教授渲染基础知识，我破坏了它，但我保证你会把眼睛复原。
好吧]]></description><category></category></item><item><title><![CDATA[js空对象判断 isPlainObject]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/122964175</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/122964175</guid><author>Tmraz</author><pubDate>Wed, 16 Feb 2022 15:13:49 +0800</pubDate><description><![CDATA[//有缺陷，JSON.stringify(obj)中，如果obj本来是空的，又继承了一个非空的对象那么结果也会是“{}”
1. JSON.stringify(obj) == '{}' 

2. Object.keys(obj).length == 0 

//错误，当对象为空Array，length为1，空arguments时，length为2
//具体参考https://github.com/arasatasaygin/is.js/blob/master/is.js
3. Object.getOwnPro]]></description><category></category></item><item><title><![CDATA[Cesium 常用监听器]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/122958490</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/122958490</guid><author>Tmraz</author><pubDate>Wed, 16 Feb 2022 11:35:15 +0800</pubDate><description><![CDATA[1 需求
一般为相机、鼠标、帧率监听，在满足一定的条件下做对应的操作。
2 常用
2.1 相机停止移动
//相机移动结束事件
let removeChanged = viewer.scene.camera.moveEnd.addEventListener(function(){
    //获取当前相机高度
    height = Math.ceil(earth.camera.positionCartographic.height);
})
removeChanged() // 移除监听事件

2.2 相]]></description><category></category></item><item><title><![CDATA[tortoise git 冲突解决]]></title><link>https://blog.youkuaiyun.com/Tmraz/article/details/122957715</link><guid>https://blog.youkuaiyun.com/Tmraz/article/details/122957715</guid><author>Tmraz</author><pubDate>Wed, 16 Feb 2022 10:20:29 +0800</pubDate><description><![CDATA[1 背景
使用tortoise git 解决conflict。
2 解释
Git进行同步的时候，经常会出现冲突，有时候冲突的选项会有三种选项：
1、Resolved：直接把文件标识为冲突已经解决，一般是自己手动查看并解决完冲突以后使用。
2、Resolve conflict using “MERGE_HEAD (origin/HEAD)” 或者 “Change-to-be-Inte.”：这个其实就是以远端的版本作为最新版本来解决冲突。
3、Resolve conflict using “HEAD”：这个是以]]></description><category></category></item></channel></rss>