百度世界大会2023-简短总结
@TOC
前言刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,可能会学到一些新技术、新知识,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。
一、百度世界大会2023:
看了百度世界大会2023之后,明显的感受就是:
无论是基础模型的研发,还是AI原生应用的落地与发展,百度厚积薄发
1.当其他团队还在“卷大模型”的时候,而百度已经快人两步:
不仅判断出“卷应用”才是方向
而且迅速完成一批应用的重构,并在这次大会上正式对外亮相
2.传统的三层IT技术栈架构:
芯片层
OS层
应用层
步入AI时代以后,相关技术栈的理解和分层也发生了变化,,从最底层的芯片层,如下:
最顶端的应用层
模型层
框架层
最底层的芯片层
巨人的肩膀
周志明老师的凤凰架构
codesheep老师的公众号文章
Unity-Learn02(场景Scene、游戏对象GameObject、组件Component)
@TOC
前言刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。
[工欲善其事,必先看点书嘛,看啥书呢?](https://aiminminai.gitee.io/aiminminai/categories/%E6%B8%B8%E6%88%8F/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/Unity%E7%9A%84%E5%A4%A7%E6%A6%82%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF-%E8%A6%81%E5%AD%A6%E4%B9%A0%E7%9A%84%E6%96%B0%E4%B8%9C%E8%A5%BF%E9%83%BD%E6%9C%89%E4%BB%80%E4%B9%88/)
一、咱们开发,开发的是Component,组件。
GameObject,是容器【游戏中的物体可以看作是容器】,来装组件的。
运行时出现在场景中的游戏物体就是游戏对象 Ga ...
Unity-Learn01-Unity的大概学习路线&要学习的新东西
@TOC
前言-工欲善其事,必先看点书嘛,看啥书呢?刚进公司,需要学开发需要的新框架及现成框架,完成自己的需求。那么在此期间,遇到新东西,就可以以此为基础,学习新语言新框架新工具…,总结一下,以供后面参考学习,查看。肯定大家都有一定差异啦,大家作为参考哦,与诸君共勉。
一、说起Unity,游戏引擎嘛,心中大概有个方向,程序基础–>Unity基础(理论+实践)–>搞几个项目练练呗–>踩踩坑–>进行总结复盘
首先给自己强调一下:理论+实践
学习理论:是什么,有什么作用,在哪用【应用场景】,怎么用,【常见错误,解决办法,解决过程中用的工具和方法】
1.游戏、AR、VR概念漫谈
在移动平台,Unity几乎成为3D游戏开发的标准工具
2D游戏:视角完全锁定,二维坐标。
比如2048
做2D游戏,在Unity中选择第二个Orthographic,会隐藏垂直向里的Z轴,也就是隐藏距离感,看起来就是平面的,做3D的可以选择第个,放开距离感
特例比如 cs类游戏是透视视角。但小地图是正交视角,有些2D横版游戏拿第一个做效果应该也不错
3D游戏,可以任意改变视角,无锁定 ...
Code Snippet的使用
@TOC
前言在工作中学习中,快速编写代码的快捷操作很常见,也很重要,那就从Code Snippet开始学起吧,与诸君共勉。
Code Snippet:就是咱们在VS中敲的prop、propfull、ctol【构造器快捷键】、for等快捷键,然后按tab键自动生成代码1.VS自带的:prop、propfull、ctol【构造器快捷键】、for等快捷键,直接使用2.自定义Snippet:
步骤1:VS进入“工具选项”,找到“代码片段管理器”
步骤2:调整语言为目标语言,这里以C#【CSharp】为例。在里面找到原来的比如,prop的位置
步骤3:位置,例如D:\kaohuixianqumin\Visual Studio2022\VC#\Snippets\2052\Visual C#,这里每个人都不一样,根据自己配置展开即可
步骤4:复制一个原来的,然后将里面的内容修改为你自己想要做的
常用的就是修改两处:
步骤5:然后把修改的放入库中,如D:\kaohuixianqumin\Visual Studio2022\VC#\Snippets\2052\Visual C#,即可使用
知道你喜 ...
C-编程经验-遇到的bug及陷阱-四
@TOC
前言搞编程的,在工作中学习中,除了培养好的代码习惯、养成自己的一套代码风格,还需要多思考如何把代码写的更健壮,碰到bug如何去调试呢,与诸君共勉。
一、CS5720的优化点【gitee里面有笔记,可以参考】1.代码中使用了一些硬编码的数字和字符串,例如this.Size = new Size(654, this.Size.Height);和byte[] regData = new byte[24];。 将这些硬编码的值提取为常量或配置项,以提高代码的可维护性和可扩展性。
使用枚举类型:对于字符串数组 _strRegistor 中的寄存器编号, 使用枚举类型来代替字符串。这样可以提高代码的可读性和类型安全性。
2.代码中存在一些未使用的命名空间引用,例如using System.Drawing;。 删除这些未使用的命名空间引用,以保持代码的整洁性。3.ChipExtendReg1.UpdataRegValue方法中的Update写错为Updata4.CopyTo 方法中的条件判断可以简化为【因为它们的结果已经是布尔值。】123456789...retur ...
C#高频语法集锦(二)
@TOC
前言搞编程的,基础不牢,地动山摇,多多复习哦,与诸君共勉。
一、委托和事件1.简略八股
事件
用于对象或类之间的信息传递(消息推送)、动作协调
例子。对象Student拥有一个事件E1:意思就是当事件E1发生时,对象Student有能力通知别的对象一些消息【可以理解为类或者对象之间通信、同步信息】
事件不会主动发生,只会被触发
2.事件的使用经验/个人理解
建一个window forms或者WPF程序,在里面建好textbox及button等,然后调出button的属性,点那个闪电符号,也可以找到button的一些微软给咱们提供的事件,可以找到咱们需要的click事件,也可以自定义事件处理器【其实就是自己重新起个名字,然后点击或者双击进入自定义的事件处理器回调函数中,编写逻辑即可】,双击,就进入到事件处理器那个回调方法中了,然后编辑逻辑即可。当然啦,你也可以 += 连续按两下tab键,也可以生成事件处理器,两种方法都可以
事件的拥有者.事件 += 事件的响应者.事件处理器。+=代表订阅事件。用+=把+= ...
C#高频语法集锦(一)
@TOC
前言搞编程的,基础不牢,地动山摇,多多复习哦,与诸君共勉。
一、特征【ObsoleteAttribute】、程序1.[Obsolete(“提示信息”, ture/false)]:false/true代表是否停止编译,true代表。编译器发出错误提示并停止遍历,否则只发出提示信息不停止编译。提醒旧函数过时,使用新函数:12345[Obsolete("该函数已经过时,请使用新函数NewDoSomething()", false)]public void DoSomething(){ //...}
2..NET中预定义了200多个特性,细致信息在System.Reflection命名空间中的类
也可以自定义特性类,咱们用特征修饰哪个程序就用[]括起来放在程序前面。自定义的特性中的构造函数中的参数是必选参数,特性中的公有变量是可选参数
自定义特性时可以被其他特性修饰:1234567/// <summary>/// AttributeUsageAttribute类时专门修饰特性的特性,有AttributeT ...
C#编程经验/遇到陷阱总结(三)
@TOC
前言搞编程的,在工作中学习中,除了培养好的代码习惯、养成自己的一套代码风格,还需要多思考如何把代码写的更健壮,碰到bug如何去调试呢,与诸君共勉。
一、写代码之前:1.属性:原本为了防止成员age,设置为公共的之后出现age = -10这种,所以设置GetXxx/SetXxx访问器进行封装,对数据通过两个public函数GetXxx/SetXxx进行合法性检查。但是咱们平时访问age属性,就是一个变量呀,用函数去访问不太符合习惯,所以C#出来一种特殊语法,属性
set访问器有个特殊的隐式参数value
属性运行方式和函数类似,算是一种特殊函数。但是属性的使用方式还是对象或者类,和普通变量一样
属性和他对应的变量同名,但是属性首字母大写Age,变量还是小写age,属性名字可以随便,但是乱起不好识别
2.编译遇到:两个输出文件名解析为同一个输出路径:“obj\x86\Debug\xxxxxx.resources”:使用小乌龟对之前的修改进行删除,不知道是增加了什么3..NET约定,所有特性的名称都以Attribute结尾,使用时可以省略Attri ...
项目中用到的工厂模式
@TOC
前言做项目的时候,用到了设计模式,总结下来,供以后参考,与诸君共勉。
一、代码中的部分片段123456789101112131415161718192021222324using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace WindowsFormsCustomInfo{ static class StepFactory { public static IStep GetStep(int stepIndex) { return _StepMap.ContainsKey(stepIndex) ? _StepMap[stepIndex] : null; } private static readonly Dictionary<int, IStep> _Ste ...
C#编程经验/遇到陷阱总结(二)
@TOC
前言搞编程的,在工作中学习中,除了培养好的代码习惯、养成自己的一套代码风格,还需要多思考如何把代码写的更健壮,碰到bug如何去调试呢,与诸君共勉。
一、写代码之前:1.画流程图/时序图/…,进行整体设计,或者用word进行文字描述,将需求的实现描述的很清晰,产出之后,别人要拿着你这个东西就能写出代码
对应着到项目开发流程那里看看哦。因为你进行概设、详设时出的方案,不得满足这个要求吗
2.设计微服务跟设计满足单一职责的单个类是一样的,面向对象,比如开门这个动作是属于门这个类的;计算服务区评分这个动作或者说属性是属于服务区这个微服务的3.时序图,理一下代码调用流程,挺重要4.技术得结合业务去做,不能为了用哪个技术而不管特点、应用场景、优缺点,硬塞进去,不管不顾技术方案选型
不能无脑上新技术【不能一上线就考虑调优】:
比如JVM调优,只有服务用不了了,明显异常,占用内存多了或者CPU高了,考虑JVM调优,再dump堆栈
技术得结合业务去做,比如降级、削峰【某个服务在忙碌时不一定要给所有人都提供,可以只给一部分有必要需求的人提供】
练习,或者学习新技术另说 ...
