/avatar.png

格心

phonics

自然拼读 元音 a am pam sam ad dad at cat rat an van man ran ap cap nap lap ab cab lab tab ag bag rag wag ack jack back sack pack ant pant Kant rant ang bang hang sang ank bank rank sank tank amp lamp camp ramp e ed Ted red en ten hen ell bell sell eg egg meg leg beg et jet get wet ess Bess less mess end bend mend send ent Kent bent sent went tent est best pest nest test west eck neck peck deck i id Sid kid ig pig dig ill Jill hill kill it sit fit hit pit im Tim Jim Kim dim in fin win tin pin ing ding ring king sing ink pink sink link ish fish dish wish ick pick kick sick tick Rick o ox fox box ot pot hot op hop top ob Bob job rob od nod pod rod og hog jog log om Tom mom ock rock sock lock u ug bug mug un run sun ut hut nut ub cub rub tub um gum hum mum uck duck luck tunk ump bump hump jump unch lunch munch punch

.NET 本质论

声明:本文仅用做复习整理知识,在下列文章中进行二次加工,大部分内容整理自: https://www.cnblogs.com/edisonchou/p/4787775.html https://zhuanlan.zhihu.com/p/38799766 .NET 本质论 .NET中所有类型的基类是什么 值类型和引用类型的区别 装箱和拆箱的原理 struct和class的区别,struct适用于哪些场合 C#中方法的参数传递有哪几种方式 浅复制和深复制的区别 .NET中栈和堆的差异 执行string abc="aaa"+"bbb"+"ccc"共分配了多少内存 托管堆内存分配 简要说说.NET中GC的运行机制 GC机制中如何判断一个对象仍然在被使用(如何标记) GC中代(Generation)是什么,分为几代(如何移动) GC有什么问题 托管与非托管资源是什么 托管资源 非托管资源 Dispose和Finalize方法在何时被调用(非托管资源回收方法) .NET中的托管堆中是否可能出现内存泄露的现象 大对象的分配 不恰当地保存根引用 不正确的Finalize方法 .NET 本质论 .NET中所有类型的基类是什么 System.Object 值类型和引用类型的区别 所有继承自System.ValueType的类型是值类型,而其他类型都是引用类型。 常用的值类型包括:结构、枚举、整数型、浮点型、布尔型等等。 赋值时的区别 值类型的变量直接将获得一个真实的数据副本,而对引用类型的赋值仅仅是把对象的引用赋给变量,这样就可能导致多个变量引用到一个对象实例上。 内存分配的区别 引用类型的对象将会在堆上分配内存,而值类型的对象则会在堆栈上分配内存 继承结构的区别 装箱和拆箱的原理 装箱:CLR需要做额外的工作把堆栈上的值类型移动到堆上,这个操作就被称为装箱。 拆箱:装箱操作的反操作,把堆中的对象复制到堆栈中,并且返回其值。 struct和class的区别,struct适用于哪些场合 struct(结构)是值类型,而class(类)是引用类型。 struct与class相比,不具备继承的特性 struct不能有无参数的构造方法(class默认就有),也不能为成员变量定义初始值。 C#中方法的参数传递有哪几种方式 ref关键字:引用传递参数,需要在传递前初始化;(ref 要求参数在传入前被初始化) out关键字:引用传递参数,需要在返回前初始化;(out 要求参数在方法返回前被初始化) params关键字:允许方法在定义时不确定参数的数量。 浅复制和深复制的区别 浅复制:复制一个对象的时候,仅仅复制原始对象中所有的非静态类型成员和所有的引用类型成员的引用。(新对象和原对象将共享所有引用类型成员的实际对象) 深复制:复制一个对象的时候,不仅复制所有非静态类型成员,还要复制所有引用类型成员的实际对象。 .

个人技术蓝图

个人技术蓝图 计算机基础 [the-basics-of-computer-science] 计算机的组成原理 [principles-of-computer-composition] 操作系统原理 [principle-operating-system] 编译原理 [principle-of-compiling] 数据库系统 [database-system] 计算机网络 [network-of-computer] TCP HTTP 语言与平台 [language-and-platform] C# & .NET 5 [chsarp-and-dotnet5] .NET 本质论 [dotnet-essentialism] C# 基础语法 [csharp-basic-syntax] C# 高级用法 [professional-csharp] 新一代的 .NET [new-generation-dotnet] Swift & IOS [swift-ios] Python [python] Python 基础语法 [python-basic-syntax] Python 高级语法 [professional-python] Python 的应用 [python-application] JS,ES,TS & Vue,React (Gatsby) [js-es-ts-vue-react] 前端框架 [front-end] 网页基础 [website-basic] 数据与算法[data-and-algorithmic] 数据结构 [data-structure] 常用算法 [algorithm] 重构 [refactoring] 软件工程 [software-engineering] 开发方法 [software-development-methodologies] 系统分析与设计 [system-analysis-and-design] 软件开发的生命周期 [software-development-lifecycle] 架构艺术 [architecture-art] 架构模式 [architecture-pattern] 设计模式 [design-pattern] 常用组件 [common-components] Redis [redis] RabbitMQ [rabbitmq] Elastic Search [elastic-search] 云上漫谈 [cloud-native] 基础架构篇 [cloud-infrastructure] 软件架构篇 [cloud-software-architecture] DEVOPS [devops] 个人技术蓝图 计算机基础 [the-basics-of-computer-science] 计算机的组成原理 [principles-of-computer-composition] 操作系统原理 [principle-operating-system] 编译原理 [principle-of-compiling] 数据库系统 [database-system] 计算机网络 [network-of-computer] TCP HTTP 语言与平台 [language-and-platform] C# & .

开发方法

Software Development Methodologies 开发方法 软件的生命周期 可行性研究与计划->需求分析->概要设计->详细设计->实现->集成测试->确认测试->使用与维护 软件开发模型 瀑布模型 演化模型 螺旋模型 增量模型 构建组装模型 统一过程 UP的9个核心工作流 业务建模,需求,分析设计,实施,测试,部署,配置与变更管理,项目管理,环境 UP的生命周期 目标里程碑,架构里程碑,能力里程碑,发布里程碑 UP的特点 UP不但给出类迭代的生命周期,还给出了生命周期每一阶段的迭代指南 采用不同迭代方式的UP可以演变为演化模型或增量模型 迭代特点使得更容易控制软件开发的风险 UP本身并不属于敏捷 实际应用中可以根据具体问题对UP进行剪裁 架构师在UP中的活动 同需求人员和项目管理人员密切协作 细化软件架构 保持整个架构的概念完整性 敏捷方法 极限编程 XP是一种轻量(敏捷)、高效、低风险、柔性、可预测、科学而且充满乐趣的软件开发方式。 在更短的周期内,更早的提供具体、持续的反馈信息 迭代的进行计划编制 依赖自动测试程序来监控开发进度,并及早捕获缺陷 依赖口头交流、测试和源程序进行沟通 倡导持续的、演化式的设计 依赖与开发团队内部的紧密协作 尽可能达到程序员短期利益和项目长期利益的平衡 四大价值观 沟通,简单,反馈,勇气,(尊重) 十二个最佳实践 计划游戏,小型发布,隐喻,简单设计,测试先行,重构,结对编程,集体代码所有制,持续集成,每周工作40小时,现场客户,编码标准 特性驱动开发 FDD也是一个迭代开发模型,FDD每一步都强调质量,不断的交付可运行的软件,并以很小的开发提供精准的项目进度报告和状态信息。 FDD角色定义

PYTHON 技巧

Python Quick Grammar 1. 变量互换 1 2 3 4 a=1 b=2 a,b=b,a a,b (2, 1) 2. 连续赋值 1 2 a=b=c=50 a,b,c (50, 50, 50) 3. 自动解包 1 2 a,b,c=[1,2,3] a,b,c (1, 2, 3) 1 2 3 a,*others=[1,2,3,4] print(a) print(*others) 1 2 3 4 4. 链式比较 1 2 3 a=10 if(5<a<15): print(a) 10 5.