<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ttch的专栏]]></title><description><![CDATA[吐槽地]]></description><link>https://blog.csdn.net/ttch</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; ttch]]></copyright><item><title><![CDATA[Java 代码简化系列 (一)]]></title><link>https://blog.csdn.net/ttch/article/details/8536185</link><guid>https://blog.csdn.net/ttch/article/details/8536185</guid><author>ttch</author><pubDate>Wed, 23 Jan 2013 23:11:54 +0800</pubDate><description><![CDATA[Java趣味短码 - (第一节)
今天跟公司的童鞋聊天的时候，谈到了关于短码和代码的精简的方式，所以整理出来。
需求很简单。
首先定义一个类
class Item{
    public int key;
    public int l;
    public int r;
};

然后主函数的场景大概是这样
public static void main(String[] args]]></description><category></category></item><item><title><![CDATA[lambda表达式的类型是什么？]]></title><link>https://blog.csdn.net/ttch/article/details/8526461</link><guid>https://blog.csdn.net/ttch/article/details/8526461</guid><author>ttch</author><pubDate>Mon, 21 Jan 2013 21:51:05 +0800</pubDate><description><![CDATA[本文仅供学习和交流使用，如果您发现我已经侵犯到原作者的版权，请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好，私信与我。 本文拒绝任何形式转载。
lambda表达式的类型是什么？
一个lambda表达式是一个功能性接口的实例。但是一个lambda表达式自身并不包含关于哪一个功能性接口是他的实现的信息；这些信]]></description><category></category></item><item><title><![CDATA[什么是函数式接口?]]></title><link>https://blog.csdn.net/ttch/article/details/8523656</link><guid>https://blog.csdn.net/ttch/article/details/8523656</guid><author>ttch</author><pubDate>Mon, 21 Jan 2013 10:06:22 +0800</pubDate><description><![CDATA[本文仅供学习和交流使用，如果您发现我已经侵犯到原作者的版权，请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好，私信与我。 本文拒绝任何形式转载。
什么是函数式接口?
一个函数式接口是一个能够使用类函数做为参数的类型，一个lambda表达式支持提供这样一个实参。举个例子，forEach类方法在集合类上有如下签]]></description><category></category></item><item><title><![CDATA[八皇后解题思路记载]]></title><link>https://blog.csdn.net/ttch/article/details/8516977</link><guid>https://blog.csdn.net/ttch/article/details/8516977</guid><author>ttch</author><pubDate>Fri, 18 Jan 2013 13:35:15 +0800</pubDate><description><![CDATA[八皇后解题思路记载

恰巧同事和咱一起讨论这个问题，下面把理解和解题的思路整理出来

题目：在8X8格的国际象棋上摆放八个皇后，使其不能互相攻击，即任意两个皇后都不能处于同一行、同一列或同一斜线上，问有多少种摆法。

这个问题经典的写法有好多，可以参考wiki:Eightqueenspuzzle.
首先看一下如何构建这个模型和对应的算法

上面是棋盘
已经存在两个落点(0,0)]]></description><category></category></item><item><title><![CDATA[为什么Java要增加lambda表达式]]></title><link>https://blog.csdn.net/ttch/article/details/8516015</link><guid>https://blog.csdn.net/ttch/article/details/8516015</guid><author>ttch</author><pubDate>Fri, 18 Jan 2013 09:42:24 +0800</pubDate><description><![CDATA[本文仅供学习和交流使用，如果您发现我已经侵犯到原作者的版权，请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好，私信与我。 本文拒绝任何形式转载。
Lambda表达式，也常常叫做闭包，是一个在很多现代程序语言中十分流行的特性。在众多不同的原因中当中，Java平台最迫切的原因之一是lambda表达式能简化多线程上]]></description><category></category></item><item><title><![CDATA[什么是Lambda表达式？]]></title><link>https://blog.csdn.net/ttch/article/details/8514950</link><guid>https://blog.csdn.net/ttch/article/details/8514950</guid><author>ttch</author><pubDate>Thu, 17 Jan 2013 19:08:22 +0800</pubDate><description><![CDATA[什么是Lambda表达式？
本文仅供学习和交流使用，如果您发现我已经侵犯到原作者的版权，请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好，私信与我。 本文拒绝任何形式转载。
在一般数学计算中，一个lambda表达式就是一个函数，它的定义是：为部分或者所有输入值指定一个输出值。Lambda表达式在java中是]]></description><category></category></item><item><title><![CDATA[About the Lambda FAQ(关于Lambda的问答集)]]></title><link>https://blog.csdn.net/ttch/article/details/8514940</link><guid>https://blog.csdn.net/ttch/article/details/8514940</guid><author>ttch</author><pubDate>Thu, 17 Jan 2013 19:03:22 +0800</pubDate><description><![CDATA[About the Lambda FAQ(关于Lambda的问答集)
原文地址：http://www.lambdafaq.org/
本文仅供学习和交流使用，如果您发现我已经侵犯到原作者的版权，请邮件我ttchgm@gmail.com。以便我及时删除和处理。如果翻译有错误或者交流可以随时mail我。或者在sina微博 @天天吃好，私信与我。 本文拒绝任何形式转载。
关于如何在java中引入la]]></description><category></category></item><item><title><![CDATA[python 带default的switch]]></title><link>https://blog.csdn.net/ttch/article/details/8223917</link><guid>https://blog.csdn.net/ttch/article/details/8223917</guid><author>ttch</author><pubDate>Mon, 26 Nov 2012 00:19:19 +0800</pubDate><description><![CDATA[带默认处理的python switch



def foo():
	print "foo"

def default():
	print "defalut"
{
	"foo" : lambda : foo()
}.get(value,default)()]]></description><category></category></item><item><title><![CDATA[关于setitem]]></title><link>https://blog.csdn.net/ttch/article/details/8165983</link><guid>https://blog.csdn.net/ttch/article/details/8165983</guid><author>ttch</author><pubDate>Fri, 09 Nov 2012 13:02:07 +0800</pubDate><description><![CDATA[from operator import setitem
def distinct(l):
    d = {}
    map(setitem, (d,)*len(l), l, [])
    return d.keys()



这段代码中的map(setitem,(d,)*len(l),l,[])




等同于接近于
for a in [d]:
     for b]]></description><category></category></item><item><title><![CDATA[多线程算法学习一LockOne和LockTwo(python实现)]]></title><link>https://blog.csdn.net/ttch/article/details/8022973</link><guid>https://blog.csdn.net/ttch/article/details/8022973</guid><author>ttch</author><pubDate>Thu, 27 Sep 2012 00:12:02 +0800</pubDate><description><![CDATA[多线程算法学习一LockOne和LockTwo

需要用到的单元

import time
import threading

Lockone算法


LockOne算法是加自己的锁，等待对方解锁，所以如果不出现两个对象同时在wait前执行write。就完全没有问题。
经测试，双方等待死锁的情况极大。

class lockone:
	def __init__(self):]]></description><category></category></item><item><title><![CDATA[关于算法和复用性，可维修性的看法]]></title><link>https://blog.csdn.net/ttch/article/details/8011230</link><guid>https://blog.csdn.net/ttch/article/details/8011230</guid><author>ttch</author><pubDate>Sun, 23 Sep 2012 23:57:06 +0800</pubDate><description><![CDATA[关于算法和复用性，可维修性的看法。


在上一篇文章 关于技术，框架，概念，设计 中说到关于复用性以后会说的坑，那么我现在来填坑了。


首先，来说一下算法。


算法大致分为，分析与实现两部分。这里我只谈算法分析的用途。


大致的场景我说两个，不讨论如何实现，只讨论为什么会要用到算法和大概应该怎么用。


1）批处理任务







定义如下：对]]></description><category></category></item><item><title><![CDATA[关于技术，框架，概念，设计。]]></title><link>https://blog.csdn.net/ttch/article/details/7977227</link><guid>https://blog.csdn.net/ttch/article/details/7977227</guid><author>ttch</author><pubDate>Fri, 14 Sep 2012 01:20:11 +0800</pubDate><description><![CDATA[最近跟同事聊了个话题，这个话题其实不好，因为太大，此话题如题目。


这篇文章的起因是因为一句话：关心整体设计（解决方案）更重于基础（不仅仅是编码和框架基础）和技术实践。


其实这也是现在企业软件行内通行的一个弊病。到底提供解决方案的团队是否有更严谨的理论基础的问题。你在别人家跑的好，就一定会在我家跑的好？
其实行业软件本身足够大的时候本身就是一个本地化十分严重的产物，除非你不认命]]></description><category></category></item><item><title><![CDATA[6年的痛]]></title><link>https://blog.csdn.net/ttch/article/details/6028632</link><guid>https://blog.csdn.net/ttch/article/details/6028632</guid><author>ttch</author><pubDate>Tue, 23 Nov 2010 03:47:00 +0800</pubDate><description><![CDATA[<br />曾经在想自己做技术做了几年,8年,6年还是12年.最后发现不到3年,我说的真正的深入的研究和编码.<br />虽然这几年,我对技术底层认识的程度有了一定深入,但还停留在管理,项目需求分析,业务层面.<br />这次项目收尾新领导跟我聊过做PM,当时我虽然很高兴,薪水有了变化,但我还是无法隐藏我心中的痛,我可以做技术的,我可以做的更好.心中的那团火还在,跟老婆说过我想放弃薪水找一个真正能踏下心来CODING的公司.后来发现我很幼稚,生活的压力,年龄的压力.<br />可最近在做对接接口的时候发现自]]></description><category></category></item><item><title><![CDATA[浮点数是如何保存的？]]></title><link>https://blog.csdn.net/ttch/article/details/5617886</link><guid>https://blog.csdn.net/ttch/article/details/5617886</guid><author>ttch</author><pubDate>Sun, 23 May 2010 11:59:00 +0800</pubDate><description><![CDATA[演示环境分为DELPHI和VC两种环境。先看看DELPHI============================================================编译器版本信息如下：dcc (Borland Delphi for Windows) 15.0Borland Delphi Version 15.0Copyright (c) 1983,2002 Borla]]></description><category></category></item><item><title><![CDATA[《监控》读后感]]></title><link>https://blog.csdn.net/ttch/article/details/5073768</link><guid>https://blog.csdn.net/ttch/article/details/5073768</guid><author>ttch</author><pubDate>Fri, 25 Dec 2009 10:49:00 +0800</pubDate><description><![CDATA[刚接触这本书的时候是在网络上的试读中看到的，初读之下，感觉很有意思，因为和我以前读过一本叫《异说三国》的书很相似，所以特有读下去的意愿，所以就到了书店买了本，继续读下去。等真正读完发现，里面的内容真真假假的似乎影响了我对工作的想法，感触有几个方面。1、我身在企业是否也会如此？2、书里常提到的温水煮青蛙模式。3、王花卷这样的人这样的职业是否真的存在？4、一个10年的架构师为什么会]]></description><category></category></item><item><title><![CDATA[类型格式读取方式]]></title><link>https://blog.csdn.net/ttch/article/details/4344847</link><guid>https://blog.csdn.net/ttch/article/details/4344847</guid><author>ttch</author><pubDate>Mon, 13 Jul 2009 16:24:00 +0800</pubDate><description><![CDATA[今天正在看CHM格式文件读取问题,偶然发现一个有趣的问题 这是文件中的16进制原始码54 30 00 00 00 00 00 00 当读入的程序的结构中的时候发现是12372 怎么算也不得其果,后来把CHM读入这个地方的代码看了一下..  static int _unmarshal_uint64(unsigned char **pData,       ]]></description><category></category></item><item><title><![CDATA[开始新的项目EM]]></title><link>https://blog.csdn.net/ttch/article/details/4216688</link><guid>https://blog.csdn.net/ttch/article/details/4216688</guid><author>ttch</author><pubDate>Tue, 26 May 2009 11:31:00 +0800</pubDate><description><![CDATA[ 在code.google.com上传自己的第一个开源项目EM0.1版本.准备做一个项目管理流程类的软件. http://code.google.com/p/easymanager/]]></description><category></category></item><item><title><![CDATA[经过了1年多的时间，终于重新回到自己的BLOG了。]]></title><link>https://blog.csdn.net/ttch/article/details/1934188</link><guid>https://blog.csdn.net/ttch/article/details/1934188</guid><author>ttch</author><pubDate>Fri, 14 Dec 2007 01:11:00 +0800</pubDate><description><![CDATA[ 经过了1年多的时间，终于重新回到自己的BLOG了。工作1年多收获很多，但失望也很多。。不过收获总是大于失望。。嘿嘿1、我学会了生活，并知道什么是责任。2、我学会了理财，知道怎么去用钱赚钱了。。嘿嘿。3、学了很多基础知识。。补充了不少大学学过的东西。4、知道了生活比钱更重要。5、似乎找到了一些方向。。。。。准备抽时间实现他。6、知道自己的努力还是不够。。。还需要更努力。]]></description><category></category></item><item><title><![CDATA[StrToFloat返回不安全性。]]></title><link>https://blog.csdn.net/ttch/article/details/1634417</link><guid>https://blog.csdn.net/ttch/article/details/1634417</guid><author>ttch</author><pubDate>Fri, 01 Jun 2007 16:43:00 +0800</pubDate><description><![CDATA[delphi 中的StrToFloat返回的类型不是Float   而是Extended  在小数进行对比的时候 有时候出错。。因为Float和double是6字节  而Extended是8字节。更安全的做法是使用function TryStrToFloat(const S: string; out Value: Double): Boolean; overload;]]></description><category></category></item><item><title><![CDATA[工作态度面面关小结]]></title><link>https://blog.csdn.net/ttch/article/details/1627688</link><guid>https://blog.csdn.net/ttch/article/details/1627688</guid><author>ttch</author><pubDate>Mon, 28 May 2007 00:31:00 +0800</pubDate><description><![CDATA[         （一）工资。         工资问题是一个很大的出入，当然这个和最初的入门工资是很少有挂钩的都是因为做一段时间，感觉自己拿的太少，干的太多，和公司其他人比太少了。       其实这个问题最好解决！         那么如果工资少的话，你应不应该付出呢？         1 看你的工作内容是否迎合你的最终目标，如果不符合，说明你选择错了公司或者部门或者职位。]]></description><category></category></item></channel></rss>