首页
学习
活动
专区
工具
TVP
发布

程序员与猫

专栏作者
61
文章
86575
阅读量
41
订阅数
什么是.NET CLI CLR IL JIT GC,它们是如何工作的
NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。 .NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断扩展 XML Web 的服务能力以满足您的所有业务需求。但是对于咱程序员来说这样理解它是否感觉太概念化了,估计也很难有人去记住这些概念。下面是我认为比较好的理解,也不知道说的可对?
潘成涛
2019-05-25
1.6K0
【C#】New操作符所做的事情
1.它计算类型以及所有基类型(一直到System.Object,虽然它没有定义自己的实例字段)中定义的所有实例字段需要的字节数。堆上的每个对象都需要一些额外的成员---即“类型对象指针”和“同步块索引”。 这些成员由CLR用于管理对象。这些额外成员的字节数会计入对象大小。
潘成涛
2019-05-25
5640
总体介绍ASP.NET Web API下Controller的激活与释放流程
通过《ASP.NET Web API的Controller是如何被创建的?》我们已经对HttpController激活系统的核心对象有了深刻的了解,这些对象包括用于解析程序集和有效HttpController类型的AssembliesResolver和HttpControllerTypeResolver、根据请求完整目标HttpController选择的HttpControllerSelector、负责激活目标HttpController实例的HttpControllerActivator、以及作为IoC容
潘成涛
2019-05-25
5860
改善C#程序的建议4:C#中标准Dispose模式的实现
需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:
潘成涛
2019-05-25
6290
.NET 对象生命周期
.NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。在内存大于 2GB 的服务器中,可能需要在 boot.ini 文件中指定 /3GB 开关,以避免当内存仍可供系统使用时出现明显的内存不足问题。当使用非托管资源时,需要构造一个用完后清理自身的类,这时需要编写代码来进行垃圾回收。
潘成涛
2019-05-25
7830
Golang 调用 Python 代码
go 中的 cgo 模块可以让 go 无缝调用 c 或者 c++ 的代码,而 python 本身就是个 c 库,自然也可以由 cgo 直接调用,前提是指定正确的编译条件,如 Python.h 头文件(),以及要链接的库文件。本文以 Ubuntu 18.04 作为开发和运行平台进行演示。
潘成涛
2018-10-15
3.9K1
Go Code Review Comments 译文(截止2018年7月27日)
持续更新中… 原文最新链接 https://github.com/golang/go/wiki/CodeReviewComments/5a40ba36d388ff1b8b2dd4c1c3fe820b8313152f Github译文链接 https://github.com/wddpct/articles/issues/8
潘成涛
2018-10-08
1K0
Log system architecture
Keywords: Collector, Processor, Aggregator
潘成涛
2018-08-02
1K0
We Do Sleep At Night, We Do REST Right
前言 笔者在上一篇文章中提过,任何一种非“强制性”约束同时也没有“标杆”工具支持的开发风格或协议,最后都会在不同的程序员手中得到不同的诠释,微服务是如此,DDD 是如此,笔者把它称为技术思想上的“康威定律”。不出意外的,REST 同样难逃此劫。光是在学习和收集资料的过程中,笔者就已经见过不下十多篇此类理解,甚至于在 url 中使用短划线或下划线连接单词也是众口难调。 尽管这只是小事。 微软也发布过关于如何设计 REST API 的开发指南,但是不幸的是,REST 的创始人 Roy Fielding 认为微
潘成涛
2018-07-09
9120
谈谈最近的想法和 Thoughtworks 的 Offer
最近笔者一直没有记录博客,原因是因为卷入了面试,离职,谈判,思考等一系列事件中。不过可以先说明一下的是, 笔者最后还是拒绝了 Thoughtworks 的 Offer,继续留在目前的公司。 去年毕业后,笔者从博客园辗转来到了上海的一家医疗AI公司,从事的依然是后端的工作。由于一开始公司在新产品线上的准备不足,这包括对开发者和开发计划的准备等,在前期的时候,笔者协助主管负责了部分基础架构方面的工作,比如缓存层,日志层,鉴权和测试等等。等之后几个月部门情况慢慢改观后,又投入了紧锣密鼓的开发工作当中。 老实说,从
潘成涛
2018-07-09
9220
JSON Patch
1.前言 可以这么说的是,任何一种非强制性约束同时也没有“标杆”工具支持的开发风格或协议(仅靠文档是远远不够的),最终的实现上都会被程序员冠上“务实”的名头,而不管成型了多少个版本,与最初的设计有什么区别。DDD 是如此,微服务是如此,REST 也是如此。 虽然这也不难理解,风格从一开始被创造出来后,便不再属于作者了。所以仍然把你的符合以下标准 满足以资源形式定义定义 Uri 满足以 HTTP 谓词语义增删改查资源 符合命名要求 …… 的“不标准” Web API 看作是 RESTful 的,也未尝不可。毕
潘成涛
2018-07-09
1.4K0
async/await 的基本实现和 .NET Core 2.1 中相关性能提升
前言 这篇文章的开头,笔者想多说两句,不过也是为了以后再也不多嘴这样的话。 在日常工作中,笔者接触得最多的开发工作仍然是在 .NET Core 平台上,当然因为团队领导的开放性和团队风格的多样性(这和 CTO 以及主管的个人能力也是分不开的),业界前沿的技术概念也都能在上手的项目中出现。所以虽然现在团队仍然处于疾速的发展中,也存在一些奇奇怪怪的事情,工作内容也算有紧有松,但是总体来说也算有苦有乐,不是十分排斥。 其实这样的环境有些类似于笔者心中的“圣地” Thoughtworks 的 雏形(TW的HR快来找
潘成涛
2018-07-09
4140
OAuth 2 深入介绍
更友好的阅读体验,请转至 OAuth 深入介绍 。 1. 前言 OAuth 2 是一个授权框架,或称授权标准,它可以使第三方应用程序或客户端获得对HTTP服务上(例如 Google,GitHub )用户帐户信息的有限访问权限。OAuth 2 通过将用户身份验证委派给托管用户帐户的服务以及授权客户端访问用户帐户进行工作。综上,OAuth 2 可以为 Web 应用 和桌面应用以及移动应用提供授权流程。 本文将从OAuth 2 角色,授权许可类型,授权流程等几方面进行讲解。 在正式讲解之前,这里先引入一段应用场景
潘成涛
2018-07-09
7850
浅谈 EF CORE 迁移和实例化的几种方式
出于学习和测试的简单需要,使用 Console 来作为 EF CORE 的承载程序是最合适不过的。今天笔者就将平时的几种使用方式总结成文,以供参考,同时也是给本人一个温故知新的机会。因为没有一个完整的脉络,所以也只是想起什么写点什么,不通顺的地方还请多多谅解。 本文对象数据库默认为 VS 自带的 LocalDB 1. Normal & Simple 先介绍一种最简单的构建方式,人人都会。 新建 Console 应用程序,命名自定 安装相关Nuget 包 //Sql Server Database Pr
潘成涛
2018-07-09
7950
.NET CORE——Console中使用依赖注入
我们都知道,在 ASP.NET CORE 中通过依赖注入的方式来使用服务十分的简单,而在 Console 中,其实也只是稍微绕了个小弯子而已。不管是内置 DI 组件或者第三方的 DI 组件(如Autofac),通过 IServiceCollection 接口我们都可以做到和应用程序的无缝连接。本文将在别给出内置组件和第三方组件(主要是Autofac)在 Console 应用程序中的依赖注入实现方式。 1. 在 Console 中使用内置 DI 组件 网上已经有几篇相关的博客讲解 Console 中的依赖注入
潘成涛
2018-07-09
2K0
EntityFramework Core 自动绑定模型映射
笔者最近在和同事共同开发项目时,需要从他们提供的包含数据库实体类型的类库中读取实体信息绑定到自己的项目中(但是都在同一个解决方案里),所以很直接的一种方式就是把项目中所有的实体都以 public DbSet<Blog> Blogs { get; set; } 的形式加入到自己的 Context 中,但是这显然十分麻烦,而且如果又新增或减少了实体,每次又得在Context中做修改。 先放上示例的两个实体,假设它们都处于Synyi.EntityDemo这个项目类库中。其实IEntity是一个空接口,起指示作用。
潘成涛
2018-07-09
1.2K0
月末总结与推书
总结 六月是一年中承上启下的月份,而对我而言,这个六月也有重要的转折性意义——告别了四年的大学生活,领到了第一张毕业证书,接受了第一份真正的工作,又从温杭辗转到了上海,种种事情,或大或小,却是让我一直觉得自由和幸运。 但是除此以外,其实很难有更多怀念的话了,如果非要盖棺定论的话,只能说四年的大学总归没有虚度。从小技术团队的小项目开始,再到后面自感能够独当一面的管理和开发项目,闲暇之余也不忘学习和充实自己,同时也在这些过程中接触了各种各样的人,所谓生活,真是磨人的事情呀。其实也很庆幸毕业前的急流勇退,离开了待
潘成涛
2018-07-09
3970
Dapper连接与事务的简单封装
增删改查方面,已经有Dapper.Extension这么强大的工具了,我也实在没啥好写的,就随手写了个看起来比较优雅的连接与事务的封装。在之后使用Dapper.Extension类库时,完全可以照搬进去。 using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using Dapper; using DapperDemo.Models;
潘成涛
2018-07-09
9020
使用抽象类和接口的优解
1. 前言 笔者相信,每个使用面向对象语言的开发者自编码以来,肯定便琢磨过抽象类(Abstract)和接口(Interface)的区别。可能一些人已经找到了适合自己的方式,另一部分却仍然深陷泥沼,每次在说服自己用interface代替abstract class的时候都要使出全身的力气。本篇文章便是笔者从自身体会出发,提出一些关于抽象类和接口使用的优解。假如能对大家有所帮助,那写作的初衷便已经满足了大半。 正如笔者过去的一篇文章《使用HttpClient的优解》的标题所示,即使是谈论编码和类型设计的正确性
潘成涛
2018-07-09
5983
.NET Core全面扫盲贴
1. 前言 .NET发行至今已经过了十四个年头。随着版本的不断迭代更新,.NET在Windows平台上的表现也是越来越好,可以说Windows平台上所有的应用类型.NET几乎都能完成。 只是成也Windows,败也Windows,这十四年来,除了部分“民间”版本,.NET一直没能在官方支持下摆脱Windows平台的局限,“开源”和“跨平台”这两个词语也是所有.NET开发者心中的痛楚。最终,.NET Core出现了,它让开发者们在官方和社区的支持走出了Windows,可以在macOS,Linux主流distr
潘成涛
2018-07-09
7850
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档