转载: 关于 C# 中的 Attribute 特性知识库博客园 摘要: 纠结地说,这应该算是一篇关于 Attribute 的笔记,其中的一些思路和代码借鉴了他人的文笔(见本文底部链接)。但是,由于此文对 Attribute 的讲解实在是叫好(自夸一下 _),所以公之于众,希望能对大家有所帮助。 Attribute 与 Property 的翻译区别 Attribute 一般译作 “特性”,Property 仍然译为 “属性”。 Attribute 是什么 Attribute 是一种可由用户自由定义的修饰符(Modifier),可以用来修饰各种需要被修饰的目标。 简单的说,Attribute...

转载: .NET Core 使用 NLog 日志记录 - 潇十一郎 - 博客园 # 前言 每个项目都会需要使用到日志功能,这对于项目上线后出现的 bug 异常,能及时定位和便于后期错误分析。那我们今天来看看在 .NET Core 中如何使用 NLog 日志。 # NLog NLog 是一个基于.NET 平台编写的类库,我们可以使用 NLog 在应用程序中添加极为完善的跟踪调试代码。 NLog 是一个简单灵活的.NET 日志记录类库。通过使用 NLog,我们可以在任何一种 .NET 语言中输出带有上下文的(contextual...

转载:Java 中的 PO、VO、DTO、BO、POJO、BO/DO、DAO - 简书 # 简单 Java 对象 # PO persistent object ,持久对象。与数据库里表字段一一对应。PO 是一些属性,以及 set 和 get 方法组成。一般情况下,一个表对应一个 PO,直接与操作数据库的 crud 相关。 # VO view object / value object ,表现层对象。通常用于业务层之间的数据传递,和 PO 一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不。这根据业务的需要而定。对于页面上要展示的对象,可以封装一个 VO...

转载: JAVA8 十大新特性详解 - bcombetter - 博客园 前言:Java 8 已经发布很久了,很多报道表明 Java 8 是一次重大的版本升级。在 Java Code Geeks 上已经有很多介绍 Java 8 新特性的文章, 例如 Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime 和 Abstract Class Versus Interface in the JDK 8 Era。 本文还参考了一些其他资料,例如:15 Must Read...

转载:ES6 语法学习 - JS 中的 lambda: 箭头函数 - 胡飞飞的学习笔记 - CSDN 博客 1. 最基本的写法 使用 => 操作符,简化匿名函数的定义 12345678910111213141516(param1,param2,...,paramN) => {// 函数体}// 参数列表与箭头符号不能换行var func = ()=> 1;// SyntaxError: expected expression, got '=>'//...

# destructing 12345678910111213let a = "world", b = ("hello"[(a, b)] = [b, a]);console.log(a); // -> helloconsole.log(b); // -> worldlet cat = "ken";let dog = "lili";let zoo = { cat, dog...

转载: JS 中的「import」和「require 」 - 简书 import 和 require 是 JS 模块化编程使用的,是前端开发者们在性能探索中的又一大进步。 # 对模块化的理解 模块化是一种将系统分离成独立功能部分的方法,一个模块是为完成一个功能的一段程序或子程序。"模块" 是系统中功能单一且可替换的部分。 模块化思想是从 java 上衍生过来的,他将所需要的功能封装成一个类,哪里需要就在哪里调用,JS 中没有类的说法,但它引入了这种思想,在 js 中用对象或构造函数来模拟类的封装实现模块化,而在 html 上,则使用 import 和...

转载: 解析 神奇的 Object.defineProperty - 祥福 - 博客园 这个方法了不起啊。vue.js 和 avalon.js 都是通过它实现双向绑定的。而且 Object.observe 也被草案发起人撤回了。所以 defineProperty 更有必要了解一下了几行代码看他怎么用 12345var a = {}Object.defineProperty(a, 'b', { value: 123})console.log(a.b)...

# shell 能做什么 将一些复杂的命令简单化 (平时我们提交一次 github 代码可能需要很多步骤,但是可以用 shell 简化成一步) 可以写一些脚本自动实现一个工程中自动更换最新的 sdk (库) 自动打包、编译、发布等功能 清理磁盘中空文件夹 总之一切有规律的活脚本都可以尝试一下 # shell 不能做什么 需要精密的运算的时候 需要语言效率很高的时候 需要一些网络操作的时候 总之 shell 就是可以快速开发一个脚本简化开发流程,并不可以用来替代高级语言 # shell 的工作原理 shell...

转载: Puppeteer: 更友好的 Headless Chrome Node API - 谦行 - 博客园 很早很早之前,前端就有了对 headless 浏览器的需求,最多的应用场景有两个 UI 自动化测试:摆脱手工浏览点击页面确认功能模式 爬虫:解决页面内容异步加载等问题 也就有了很多杰出的实现,前端经常使用的莫过于 PhantomJS 和 selenium-webdriver,但两个库有一个共性 —— 难用!环境安装复杂,API 调用不友好,1027 年 Chrome 团队连续放了两个大招 Headless Chrome 和对应的 NodeJS API Puppeteer,直接让...