尽管 GDI+ 已经有近 10 年的历史(随 Win2000 推出), 尽管 DirectX 如日中天, 但在 Windows 7 之前的版本下进行 2D 绘图还是离不开它, 微软也没有停止对它的升级, 随 Vista 的 GDI 版本是 1.1(6.0.xxxx.x), 新增了 Blur 等功能. 不过 Win7 已经有了 Direct D2D1, Delphi 也同步有了 Direct2D 支持; 这是可以代替 GDI+ 的东西, 但听说 D2D1 可以很好地与 GDI+ 结合. 之前我在…
我晕,Delphi 7 以后增加了这么多有用的语法,我都不知道.真是越学越觉得自己浅薄,自己所作的Delphi项目所用的知识还不够Delphi知识储备体系的十分之一,更别说Delphi还在继续发展. ----------------------------------------------------------------------- 自Delphi 7以来的Delphi 2009测试版新语法特性                 by eGust======================…
原文地址:http://blog.csdn.net/lavor_zl/article/details/51279386 谷歌在推出Android5.0的同时推出了一些新控件,Android5.0中最常用的新控件有下面5种. 1. CardView(卡片视图) CardView顾名思义是卡片视图,它继承FrameLayout.它是一个带圆角的背景和阴影FrameLayout.CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为容器使用. Ca…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/sync-adapters/creating-stub-provider.html 同步适配器框架是设计成用来和设备数据一起工作的,这些设备的数据被灵活且高安全的内容提供器所管理.因此,同步适配器框架会期望应用所使用的框架已经为它的本地数据定义了内容提供器…
HTML5_提供的 新功能 class 操作 ele.classList(注意: 高版本的 IE 都不支持) 获取 <div id="ele" class="... ..."></div>列表 ele.classList.add("current"); ele.classList.remove("current"); ele.classList.toggle("current"); …
9月份的时候,微软宣布正式发布C#8.0,作为.NET Core 3.0发行版的一部分.C#8.0的新特性之一就是默认接口实现.在本文中,我们将一起来聊聊默认接口实现. 众所周知,对现有应用程序的接口进行更改是一项很危险的操作. 如果这个接口又在多个项目中使用了,那么进行更改将需要付出更多的精力,以确保它不会在其他地方运行失败. 如果该项目是一个小项目,那么我们可以很容易地识别这些类,并在接口发生变化时进行相应的更改.但是,如果项目是大而复杂的,那么很难识别所有受影响的项目的模块和类. 我们可能…
近日托安装雪豹的"福",格了XP装了win7,前段时间看了C++0X标准以及VS2010诱人的新特性,不禁心痒痒在线安装了VS2010,然后手写了这个列子用来测试新增的特性. struct _SUT {     int _a;     char _c; };int _tmain(int argc, _TCHAR* argv[]) {     //auto关键字     auto i = 0.0f;     cout << typeid(i).name() << …
原文地址:http://blog.csdn.net/lavor_zl/article/details/51261380 谷歌在推出Android4.0的同时推出了一些新控件,Android4.0中最常用的新控件有下面5种. 1. Switch的使用 Switch顾名思义,就是开关的意思,有开和关两种状态. 当Switch处于关闭状态时: 当Switch处于打开状态时: 怎么在定义xml中定义Switch <Switch android:id="@+id/_switch" andr…
最近jsonp很火,实话说已经是被玩烂了的,只是一直没有受到大家的重视.正好在上个月,我挖过一个由于jsonp造成的新浪某社区CSRF,当时是为了准备一篇文章,之后这篇文章也会拿出来分享. 因为新浪已经修复了问题,所以我先把这个漏洞分享出来.以下是当时写的部分文章. 0x01 引子 听说新浪五月送衣服,我其实也没太多空去挖洞.本来想交一个两年前挖的CSRF刷粉,结果拿出来一看那洞早没了,目标站都换了. 详细说,就是我那个洞被302跳转到新浪股吧(http://guba.sina.com.cn/)…
delphi 属性 参数 新注释,在写代码的时候,可以自动看到属性.参数的的备注说明,太方便了. Tmyclass=class /// <summary> /// 姓名 /// </summary> name:string; /// <summary> /// 性别 /// </summary> sex:string; end; var aclass: Tmyclass; begin aclass.name; aclass.sex; 鼠标放上去的时候提示 写…
Pointers are like jumps, leading wildly from one part of the data structure to another. Their introduction into high-level languages has been a step backwards from which we may never recover. — Anthony Hoare 对指针可能有最让人误解和惧怕的数据类型,因此很多程序员喜欢躲避他们. 但是指针很重要…
简介 作用 Java8中接口引入了defualt,static两种方法提供默认实现,彻底打破了接口不能有默认实现的规定 static 让接口类似于工具类,提供一些静态方法 static方法不会被子类继承 defualt 给接口加入了默认方法实现 defualt方法会被子类继承 为什么 当我们写好一个库发布出去,很快收到了很多star,是不是开心的不行,可是有一天看到一个issue,确实最初有一个接口设计有缺陷,需要新加一个方法,这时怎么办呢? 直接在过去的接口中新增一个方法? 这是在犯罪! 使用…
JDK1.8新特性——Collector接口和Collectors工具类 摘要:本文主要学习了在Java1.8中新增的Collector接口和Collectors工具类,以及使用它们在处理集合时的改进和优化. 部分内容来自以下博客: https://www.jianshu.com/p/7eaa0969b424 流式处理 JDK1.8中新增的流式处理提供了一种高效且易于使用的处理数据的方式,它可以对集合执行非常复杂的查找.过滤和映射数据等操作,极大的简化了对于集合的使用.借助流式处理,可以像使用S…
在jdk8之前,interface之中可以定义变量和方法,变量必须是public.static.final的,方法必须是public.abstract的.由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的. public interface JDK8BeforeInterface { public static final int field1 = 0; int field2 = 0; public abstract void method1(int a) throws Exce…
一.函数式接口 1.1 概念 函数式接口在Java中是指:有且仅有一个抽象方法的接口.函数式接口,即适用于函数式编程场景的接口.而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口.只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导. 备注:“语法糖”是指使用更加方便,但是原理不变的代码语法.例如在遍历集合时使用的for-each语法,其实 底层的实现原理仍然是迭代器,这便是“语法糖”.从应用层面来讲,Java中的Lamb…
前言 今天在学习mysql分区优化时,发现一个博客专家大神,对其发布的文章简单学习一下: 一:简介 我们通常所说的接口的作用是用于定义一套标准.约束.规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现. 在JDK1.8中打破了这样的认识,接口中的方法可以有方法体,但需要关键字static或者default来修饰,使用static来修饰的称之为静态方法,静态方法通过接口名来调用,使用default来修饰的称之为默认方法,默认方法通过实例对象来调用. 静态方法和默认…
Delphi 自带的那个 Hand 光标很难看?没关系,一行代码解决问题: Screen.Cursors[crHandPoint] := LoadCursor(0, IDC_HAND);放在主窗体 OnCreate 事件里,或放在任意一个单元 initialization 节都可以.同样的方法还可以替换掉其它感觉不爽的默认光标.…
经过了上篇IRepository和IRepository<T>的讨论[文章地址为:http://www.cnblogs.com/yomho/p/3296759.html] 我选择了IRepository作为我重构框架的仓储接口 一.接口定义   新的IRepository接口设计如下: namespace Yom.NFramework2_0 { public interface IRepository<TCompositeKey> where TCompositeKey : IEq…
新的IRepository接口+搜索和排序解耦(+基于Castle实现) 经过了上篇IRepository和IRepository<T>的讨论[文章地址为:http://www.cnblogs.com/yomho/p/3296759.html] 我选择了IRepository作为我重构框架的仓储接口 一.接口定义   新的IRepository接口设计如下: 1 namespace Yom.NFramework2_0 2 { 3 public interface IRepository<…
最近学习接触HBase的东西,看了<Habase in Action>,但里面关于HBase接口都是过时的接口,以下为HBase新的客户端接口: package com.n10k; import org.apache.hadoop.conf.Configured; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.TableName; import org.apache.hadoo…
简介 RestKit 是一个用于更好支持RESTful风格服务器接口的iOS库,可直接将联网获取的json/xml数据转换为iOS对象. 项目主页: RestKit 最新示例: 点击下载 注意: 如果无法直接运行示例根目录的工程,可尝试分别运行 Examples 文件夹下的各个子工程,此时你需要给每个子工程都通过 CocoaPods 安装一次 RestKit. 快速入门 使用环境 ARC iOS 5.1.1 + 安装 通过 CocoaPods 安装 pod 'RestKit' # 测试和搜索是可…
利用Spring的拦截器可以在处理器Controller方法执行前和后增加逻辑代码,了解拦截器中preHandle.postHandle和afterCompletion方法执行时机. 自定义一个拦截器类SomeInterceptor,实现HandlerInterceptor接口及其方法. 然后在spring-mvc.xml中添加拦截器配置,来指定拦截哪些请求. 步骤一: 创建SomeInterceptor拦截器组件 新建一个com.souvc.interceptor包,在该包中新建一个SomeI…
在JDK7及以前的版本中,接口中都是抽象方法,不能定义方法体,但是从jdk8开始,接口中可以定义静态的非抽象的方法,直接使用接口名调用静态方法,但是它的实现类的类名或者实例却不可以调用接口中的静态方法.也可以定义普通的非抽象的方法,普通的非抽象方法要在返回值前加上default,对于普通的非抽象方法必须使用子类的实例来调用.如果有多个接口定义了相同的默认方法,实现多个这些接口时必须重写默认方法,否则编译失败.jdk8的接口中,开始允许使用关键字default. 先定义一个简单的接口: publi…
在jdk8之前,interface之中可以定义变量和方法,变量必须是public.static.final的,方法必须是public.abstract的.由于这些修饰符都是默认的,所以在JDK8之前,下面的写法都是等价的. public interface JDK8BeforeInterface { public static final int field1 = 0; int field2 = 0; public abstract void method1(int a) throws Exce…
RAD Studio 10.2.2 提供从 TDataSet 映射到 JSON ,增加了对JavaScript 客户端支持. RAD Studio 10.2.2 为 FireDAC BatchMove 架构添加新组件的 :TFDBatchMoveJSONWriter.该组件可以轻松从TDataSet 映射为 JSON,定制所需要的字段.名称.并提供了几种JSON格式的配置方法.将 JSON 转换为 TDataSet 你将需要一个 TFDBatchMove 组件连接TFDBatchMoveData…
前言 挺长时间没发文了,因为公司有一个紧急项目要赶进度,加班如吃饭喝水,久违的进入到码农的状态. 之所以抽空来发个文,是这个项目才刚上线,时间不长却因为一位新同事的代码引起了生产环境的事故,造成了一批短款,差点让整个团队这段时间的努力付诸东流. 所以,本着好人一生平安的处事原则,百忙之中我依然抽空以文章的形式把这次事故记录下来,希望有做支付相关功能的同行们能够引以为鉴. 经过 1.包装简历不是错   大家知道,每年到这个时候就是一个公司人员变动最频繁的时候,有些是拿了年终奖走人,有些人是骑驴看唱…
Delphi XE2 三个新功能介绍举例_西西软件资讯  http://www.cr173.com/html/13179_1.html delphi 2007新功能简介-davidxueer-ChinaUnix博客  http://blog.chinaunix.net/uid-217463-id-2689877.html [转]Delphi XE6新增特性及功能_红鱼儿_新浪博客  http://blog.sina.com.cn/s/blog_44fa172f0101rz6n.html Delp…
阅读本文之前请参考http://www.cnblogs.com/stswordman/p/3258897.html 最近又做了一个case,环境是sql server 2008 R2. 客户添加了一个'replication support only'的订阅,之后发现现存订阅出现了更新丢失. 丢失的数据恰巧是添加订阅前的几秒钟内生成的. 我开始以为是log reader没有开启造成的,检查了distribution database的MSlogreader_history ,发现期间log re…
有两种情况会造成更新丢失,第一种是不正确的设置,例如外键或触发器的“Not For Replication” (NFR)属性没有开启.详情请参考http://blogs.msdn.com/b/apgcdsd/archive/2012/01/10/10254809.aspx 第二种是产品bug,例如使用了 MaxCmdsInTran http://support.microsoft.com/kb/2648158 前一阵我在做case的时候遇到了一个新的bug.这个bug在sql server 20…
Delphi XE7中添加了新的并行库,和.NET的Task和Parellel相似度99%. 详细内容能够看以下的文章: http://www.delphifeeds.com/go/s/119574 假设你熟悉.NET.这个功能并没有大的新意,可对Delphi程序猿来说却很有用.之前要实现多线程,唯一的办法是使用TThread类,并且过程十分繁琐. 新的并行库彻底简化了这个过程. 预计下一步就该实现Async和Await异步运行结构了 另外近期Delphi的排名居然有所上升而且进了前十,对还在用…