2010年07期《程序员》配套源码及相关链接
为了方便大家查阅,现把2010年07期《程序员》杂志中相关链接及代码发布在此:微博原文请见:http://www.programmer.com.cn/3646/程序天下事P12微软技术专栏新品发布VisualStudio2010ProPowerTools插件发布下载地址:http://visualstudiogallery.msdn.microsof...
为了方便大家查阅,现把2010年07期《程序员》杂志中相关链接及代码发布在此:
微博
原文请见:http://www.programmer.com.cn/3646/
程序天下事
P12 微软技术专栏
新品发布
Visual Studio 2010Pro Power Tools插件发布
下载地址:
http://visualstudiogallery.msdn.microsoft.com/en-us/d0d33361-18e2-46c0-8ff2-4adea1e34fef
会议
TechEd North America 2010
会议的所有Keynote和技术Session都可以通过大会网站观看:http://www.msteched.com。
推荐资源
微软发布了Bing Map App SDK,地址:http://connect.microsoft.com/bingmapapps。
P14 软件工程·项目管理专栏 推荐资源
温伯格的网站
http://www.geraldmweinberg.com
2007年温伯格谈FieldStone方法的视频
http://www.youtube.com/watch?v=77xrdj9YH3M
2004和2006年温伯格和中国开发人员交流的音频
http://www.umlchina.com/Chat/Newindex1.htm#weinberg
Eric Sink的网站,研究如何将商业原则应用到软件业。
http://www.ericsink.com/index.html
由各种建模图形组成的元素周期表,鼠标移到元素上会出现图形示例。
http://www.visual-literacy.org/periodic_table/periodic_table.html
P15 开源专栏 事件
Blog推荐Exploring JDK 7
http://www.informit.com/articles/article.aspx?p=1592962
JDK 7很可能在今年秋天发布,提前预习新特性吧。
P17 数据库技术专栏
新闻快讯
微软发布动态数据中心计划
http://www.microsoft.com/systemcenter/en/us/dynamic-data-centers.aspx
新品发布
CA发布面向面向z/OS的DB2管理工具
Oracle发布MySQL Enterprise的最新版本
http://www.oracle.com/us/corporate/press/072995?rssid=rss_ocom_pr
事件
Teradata收购数据库虚拟化软件厂商Xkoto
http://www.databasejournal.com/daily_news/article.php/402264
推荐资源
SQL Server Magazine
SQL Server 2008中的LOB类型
http://www.sqlmag.com/article/sql-server/SQL-Server-2008-LOB-Data-Types.aspx
数据库默认密码中的安全性隐患
darkreading.com
P63 《怎样设计出高转化率的网站》
案例一:维多利亚女子医院Google推广页
http://www.vdlya.com/zt/2009-2010/?gclid=COTX0vyhv58CFQ0upAodVGjWzw
P114 《社交网数据库技术分析》
……例如社交网用户数据集:
User <UID, First_Name, Last_Name, Icon, E-mail>
P115
代码段1
例如,以下FQL查询已安装Facebook应用程序的用户$app_user的好友ID集合:
SELECT uid FROM user WHERE is_app_user = 1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $app_user)
代码段2
Facebook应用程序从以下两个数据集中查找一用户的好友数据集信息:
User <UID,First_Name, Last_Name, Icon>
Friend_List <UID, Friend_UID>
注Friend_UID是一指向User(UID)的外键。
代码段3
RDBMS应用程序可使用数据集连接操作实现:
SELECT f.UID, u.Friend_UID, u.First_Name, u.Last_Name, u.Icon
FROM Friend_List f, User u
WHERE f.Friend_UID = u.UID AND
f.UID=@Input_UID
代码段4
在Facebook中查找一用户的好友信息,得分A、B两步操作实现:
A步
SELECT Friend_UID
INTO @Out_Record_Set
FROM Friend_List f
WHERE f.UID=@Input_UID
B步
FOR EACH (Friend_UID in @Out_Record_Set)
SELECT u.Friend_UID, u.First_Name, u.Last_Name, u.Icon
FROM User u
WHERE u.UID = Friend_UID
P119《转储分析之系统挂在DPC》 代码段
代码段1
P120
……用uf命令反汇编这个函数:
uf usbehci!EHCI_RH_PortResetComplete
(结果省略)
P121
……使用dd命令来显示参数值:
kd> dd 805490c4+8 l1
805490cc bafde064
P122《OPhone自定义UI控件的实现原理解析》 代码段
代码段1:
定义控件为ControlPanel类。构造函数里首先定义这个LinearLayout在父窗口里显示的位置和按键对象。
public class ControlPanel extends
LinearLayout
{
public static final FrameLayout.
LayoutParams DEFAULT_PARAMS =
new FrameLayout.LayoutParams
(ViewGroup.LayoutParams.
FILL_PARENT,ViewGroup.
LayoutParams.WRAP_CONTENT,
Gravity.BOTTOM | Gravity.
RIGHT);
private final ZoomButton[]
mButtons;
protected ControlPanel(Context
context, AttributeSet attrs)
{
super(context, attrs);
this.setLayoutParams(DEFAULT_
PARAMS);
mButtons = new ZoomButton[MAX_
BUTTONS];
LayoutInflater inflater =
(LayoutInflater) context.
getSystemService(Context.
LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.
control_panel, this, true);
// we are the parent
initButtons();
}
}
代码段2
通过updateIconState()接口来更新所有的Icon状态。
private void updateIconState()
{
if(!UPDATE_ICON) return;
WebView view = get YourWebView();
if(view == null) return;
updateBackForwardState(view);
updateZoomState(view);
}
代码段3
……更新控件的状态为显示。
private int mMotionX = 0;
private int mMotionY = 0;
public void showIfNeeded
(MotionEvent event)
{
if(mInstance == null) return;
int x = 0, y = 0;
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
mMotionX = (int)event.getX();
mMotionY = (int)event.getY();
break;
case MotionEvent.ACTION_MOVE:
x = (int)event.getX();
y = (int)event.getY();
if(Math.abs(x - mMotionX) > 5
|| Math.abs(y - mMotionY) > 5)
{
mInstance.show();
}
mMotionX = x;
mMotionY = y;
break;
default:
break;
}
}
更多推荐