在python相关职位的面试过程中,会对列表list的去重进行考察.(注意有时会要求保证去重的顺序性) 1.直观方法 li=[1,2,3,4,5,1,2,3] new_li=[] for i in li: if i not in new_li: new_li.append(i) print(new_li) 先建立一个新的空列表,通过遍历原来的列表,再利用逻辑关系not in 来去重. 总结:这样可以做出来,但是过程不够简单.但是此方法保证了列表的顺序性. 2.利用set的自动去重功能 li=[1…
阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数据和模型绑定.元数据应该隐藏在Model背后.元数据与DSL的关系 3.链式配置Dynamic模式(爱不释手的思维习惯编程) 4.委托工厂模式(要优于常见的 工厂,概念更加准确,减少污染) 5.规则外挂(视委托为特殊的规则对象原型) 1]开篇介绍 通过上一篇的“.NET框架设计—常被忽视的C#设计技…
阅读目录: 1.开篇介绍 2.元数据缓存池模式(在运行时构造元数据缓存池) 2.1.元数据设计模式(抽象出对数据的描述数据) 2.2.借助Dynamic来改变IOC.AOP动态绑定的问题 2.3.元数据和模型绑定.元数据应该隐藏在Model背后.元数据与DSL的关系 3.链式配置Dynamic模式(爱不释手的思维习惯编程) 4.委托工厂模式(要优于常见的 工厂,概念更加准确,减少污染) 5.规则外挂(视委托为特殊的规则对象原型) 1]开篇介绍 通过上一篇的“.NET框架设计—常被忽视的C#设计技…
原文:ASP.NET常被忽视的一些细节 前段时间碰到一个问题:为什么在ASP.NET程序中定时器有时候会不工作? 这个问题看起来很奇怪,代码好像也没错,但就是结果与预期不一致. 其实这里是ASP.NET应用程序中一个容易被忽略的经节. 后来想想,类似这样的细节问题何止这一个,我今天就把我能想到的容易被忽视的细节问题都写出来,希望大家小心这些问题. 想到我以前的博客中也零散的说过了一些,所以这篇博客中也把它们列出来了, 不过,对于以前谈过的内容,这里将只会简略地说明. HttpContext.Cu…
.NET框架设计—常被忽视的C#设计技巧 阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思想) 5.别怕Static属性(很多人都怕Static在Service模式下的设计,其实要学会使用线程本地存储(ThreadStatic)) 6.泛型的协变与逆变(设计架构接口(Interface)时要时刻注意对象的协变.逆变) 7.使用泛型的类型推断(还在…
阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思想) 5.别怕Static属性(很多人都怕Static在Service模式下的设计,其实要学会使用线程本地存储(ThreadStatic)) 6.泛型的协变与逆变(设计架构接口(Interface)时要时刻注意对象的协变.逆变) 7.使用泛型的类型推断(还在为参数类型烦恼吗) 8.链式编程(设计符合…
阅读目录: 1.开篇介绍 2.尽量使用Lambda匿名函数调用代替反射调用(走进声明式设计) 3.被忽视的特性(Attribute)设计方式 4.扩展方法让你的对象如虎添翼(要学会使用扩展方法的设计思想) 5.别怕Static属性(很多人都怕Static在Service模式下的设计,其实要学会使用线程本地存储(ThreadStatic)) 6.泛型的协变与逆变(设计架构接口(Interface)时要时刻注意对象的协变.逆变) 7.使用泛型的类型推断(还在为参数类型烦恼吗) 8.链式编程(设计符合…
前言 logback实践笔记 ​ 上一篇主要对root进行了实践总结,现在基于上一篇中的springboot代码环境对logback.xml中的logger来进行实践和自己遇到的坑. logger简介 ​ 日志属性,可以根据logger中的name属性指定某个文件或者文件夹输出的日志级别,并通过appender-ref指定日志的输出格式.还有一个additivity属性,如果设置为false的话就不会向上传递. 上代码 logback.xml: <?xml version="1.0&quo…
1.1 git常见报错解决方法 1.warning: LF will be replaced by CRLF in .idea/workspace.xml. 参考博客:https://www.cnblogs.com/helloHKTK/p/7351946.html git config --global core.autocrlf true 1.2 phabricator使用arc提交代码步骤 1.拉取服务器代码 注:提交代码之前,需先从服务器上面拉取代码,以防覆盖别人代码. git pull …
在vc++ 程序中运行另一个程序的方法有三个: WinExec(),ShellExcute()和CreateProcess() 三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,CreateProcess最为复杂.    WinExec 两个参数,前一个指定路径,后一个指定显示方式.    ShellExecute 可以指定工作目录,并且还可以寻找文件…