项目中使用了 InnoDB 引擎, 测试的时候, 使用的数据因为主键的唯一性和外键约束等问题, 导出和导入很是麻烦.
于是想到了写一个能快速清空数据的存储过程.
注意: 清空表数据使用了 TRUNCATE, 如果你的数据太多, 可能会非常慢!
另外: 我也不是什么 DBA, 不能保证脚本的稳定性.
1 | DELIMITER // |
项目中使用了 InnoDB 引擎, 测试的时候, 使用的数据因为主键的唯一性和外键约束等问题, 导出和导入很是麻烦.
于是想到了写一个能快速清空数据的存储过程.
注意: 清空表数据使用了 TRUNCATE, 如果你的数据太多, 可能会非常慢!
另外: 我也不是什么 DBA, 不能保证脚本的稳定性.
1 | DELIMITER // |
从天敏官方看, 想要让他们的产品支持 Mac 几乎是不可能了, 似乎只能从虚拟机入手.
目前我所知道的Mac版虚拟机共有四种:
开始我尝试的是 VMware Fusion 2.0 中文版, 这是老牌虚拟机了. 不过在安装U盒驱动时失败, 最后一个文件无限期复制, 最后只能强行关机, 重新启动后看似安装成功了, 但是显然没有最终设置完成, 还导致虚拟机无法关机.
对于 VirtualBox, 我经常用它在 Windows 下虚拟 Linux, 比较好用但设置复杂, 不过它对USB外设支持不好.
Virtual PC 在被微软收购之后, 基本上停止了开发, 微软官方下载站只能搜索到一个 7.03 升级包, 据说原始安装盘是直接带 Windows XP 正版授权系统的, 价格不菲…
下面要说的是今天的重点: Parallels Desktop 4.0
这款虚拟机经常被说的很差, 有人说它性能和稳定性连 Parallels Desktop 3.0 都不如, 有人更是认为它比 VMware Fusion 差很多倍.
但我的亲身经历告诉我, Parallels Desktop 4.0 不但能安装天敏U盒, 而且速度比 VMware Fusion 好的多.
软件会提示询问要把USB设备连接到Mac主机还是WinXP虚拟机, 选”Connect it to this virtual machine”(把它连接到这台虚拟机). 之后WinXP虚拟机内会收到安装驱动的提示, 接下来的步骤和普通安装方式相同.
之前的文章提到过关于 MySql 数据库要如何保存 .NET Guid 类型的问题.
根据 MySQL Connector Net Version 5.2 - 2/11/2008 CHANGES 中提到的:
>
BINARY(16) columns are now returned as Guid objects
那么使用 BINARY(16) 列做为 Guid 的载体是理所当然的了.
通过一系统的试验, 读取是没问题的, 写入时要先转化为二进制数组 (ToByteArray), 因为只有这样才能保证长度是16, 否则任何方法都会告诉你数据太长.
我是个不安分的人, 正如你在标题中看到的, 刚刚忍不住装上了 Windows 7 beta1, 在一阵兴奋和陶醉过后, 撞上了第一个棘手的问题:
1 | #light |
上面这段代码只是简单的创建一个名为 TestGuid 的表, 只有的一个名为 ID 的 BINARY(16) 列.
第一行数据直接插入 0x012345670123012301230123456789ab (从0开始, 按 8 4 4 4 12 分5部分)
第二行数据使用参数 Guid(“12345678-1234-1234-1234-123456789abc”) (从1开始, 规律同上)
之后又将数据取回, 输出到命令行, 猜猜看在 Windows 7 中结果是什么?
67452301-2301-2301-0123-0123456789ab
12345678-1234-1234-1234-123456789abc
注意看第一行, 前半部分, 也就是 8 4 4 的部分, 顺序乱了…
Guid 去掉中间的连字符 “-“, 共32个字符, 每两位合并后可以获得16个字节, 那么第一条数据的前8个字节顺序被搞反了, 而且是在各自的组内被搞反的.
让我们再回到数据库中看一眼
1 | SELECT HEX(ID) FROM TestGuid |
天~ 这次是第二个反了.
冷静的想一想, 看来 MySql Server 是没有问题的, 问题出在 MySQL Connector Net 上面. 它在写入数据的时候搞错了二进制的高位与低位, 在读取的时候同样又搞错了一次, 错上加错, 结果似乎是对了, 只不过这个问题在其他系统中是不存在的, 换句话说, 这个问题带来的是跨系统之间数据不兼容.
没办法, 只能判断一下数据类型和操作系统版本, 暂时的规避一下吧:
1 | // 先给 List 扩展一个切片方法, 以便支持 lst.[1 .. 3] 这样的操作 |
这样做似乎不能彻底的解决问题, 幸好我的项目中 Guid 的出入口只有一个, 只要加在这两处就行了.
越来越对 MySql 不放心了 T_T
从1月9日开始博客程序开始不正常起来, 不能发文, 不能修改设置, 连换肤都会失败, 又不出现任何错误, 起先怀疑是 WP Super Cache 的问题.
今天到虚拟目录里看了一眼, 发现最近几天的错误日志异常庞大 (M级别). 打开一看基本上都是一句话, 看起来就像 MySQL 变成只读了一样, 查询正常, 写入失败, 报 1030 错误.
简单的 Google 一下, 是 InnoDB 的问题, 提交了故障申报, 然后就没去管了.
从中午到下午连续接到三次客服打来的电话, 虽然没能修复这个问题, 不过同意帮我换一个数据库主机.
正如你现在所看到的, 不只是修正了错误, 速度明显流畅了许多.
不说了, 再说有人怀疑这是枪文了, 总之:赞一下美橙.
央视要来送欢乐, 为什么不送些温暖呢? 等下的三个小时会冷死~
这两天没注意看
刚刚有人提醒我, 博客访问不到了. 本以为又是数据库超时, 赶过来看了下, 没发现什么问题, 心想肯定是数据库偶然超时吧.
不过回头仔细一看朋友的截图, 竟然是一个没见过的错误:
显然这个错误页面不是 Wordpress 的, 而是空间提供商定制的.
更让我觉得不可思议的是, 这个错误只有 FireFox 看得到, 并且只有访问首页时才会这样, IE 和 Chrome 却都很正常.
这两天勤快些, 从 2.6 升级到 2.7, 换了皮肤, 新装了 wp-super-cache. 一下子还真想不出会是哪里出了毛病…
Google 一下, 发现好多人讨论这个 500 错误与 wp-super-cache 有关, 大体上有说编码有问题的, 有说标签有问题的, 只有一个人提到 FireFox, 但却没有答案.
没有时间再去研究 php 代码啦~
在后台设置里, 把 WP Super Cache Status 改为 HALF ON.
也就是禁用 Super Cache, 只启用基本的 Wp Cache.
问题就此解决了.
原文链接: http://blogs.msdn.com/dsyme/archive/2008/12/10/fsharp-to-ship-as-part-of-visual-studio-2010.aspx
去年, 微软开发部门的领导者 S. Somasegar, 宣布微软已经决定将 F# 作为受微软支持的 .NET 平台语言. 我现在兴奋的宣布一项结果: F# 将会整合到 Visual Studio 2010 当中, 自从 F# September 2008 CTP 以来, F# 项目组一直致力于同 Visual Studio 2010 的整合工作. 下面的截屏展示了在 2010 shell 下使用 F# 开发工具, 以及新的编辑器和新的 look-back-in-time “调试历史”窗口.
去年, 我们在 F# 开发者社区和用户组看到了惊人的增长速度, 还有热烈的讨论. 还有两处更为显著的是: PDC presentation on F# by Luca Bolognese 还有在 JAOO 上的关于 F# 和其他语言的现场演示 Anders Hejlsberg, Where are Programming Languages Going. 如果你想知道为什么微软会把一门函数式语言添加到 Visual Studio 以及 .NET 开发工具当中, 一种原因或许是因为它给予特定领域极大的生产力提升, 除此之外我也想不出更好的能超过这两位微软最有经验的专家的理由.
在第一个受支持的发行版中, 我们将目标聚集于 F# 内核的强项: 探索 F# 交互编程, 数据编程, 实现并行和异步组件. 在我们私底下谈论这件事的时候, 这期间自然有很多问题被多次问到, 我将这些问题列在下面, 如果你有更多的问题要问, 请回复.
问: 下一个 F# 发行版是什么时候? 我能继续在 VS2008 中使用吗?
下一个主要的发行版将会内置于 Visual Studio 2010 的第一个测试版当中, 届时会提供用于 Visual Studio 2008/.NET2.0 的 F# 编译器及工具.
问: 还开源吗?
我们的计划是让 F# 编译器和核心库在 CodePlex 上开源, 我们还计划启动一个叫 “F# Power Pack” 的 CodePlex 项目, 包含 F# 解析器和语法分析器. 我们已经在 10 月份的 F# 邮件当中发布了这件事.
问: F# 在 .NET 4.0 中吗?
按当前计划, F# 核心库和编译器会放在附加组件中, 不在 .NET 框架里. 预计会作为 F# 可再发行包. 在 Visual Studio 安装项目中引用这个包就可以把核心库部署到客户机上了.
问: 工具支持程度有多高?
按上面的描述, 对于 F# 的这个发行版, 我们主要致力于使它成为丰富数据和丰富控制流的编程语言, 处理函数式语言的使用方法 (思考算法, 数据维护, 数据转换, 并行编程, 反向编程组件). 工具支持计划围绕着编辑, 脚本, 交互体验, 项目系统, 调试, 分析以及与 C# 和 Visual Basic 的高度整合.
问: 这个发行版会包含设计工具吗?
我们关注的是交付高质量的 F# 核心工具用于设计参数, Visual Studio 在面向对象程序环境具备令人吃惊的丰富呈现能力, 结果是我们明确自己的决心, 与 C# 和 Visual Basic 这样的具备丰富设计呈现能力的编程语言寻求一个平衡点. 这意味着 F# 用户应该使用 Visual Studio 设计工具产生 C# 或 Visual Basic 代码后包含在 F# 应用程序当中. 在 Visual Studio 2010 中, 预计包含内建设计组件(例如: WinForms, ASP.NET, Silverlight 和 WPF 应用程序设计前端) F# 应用程序通常要使用混合语言创作. 我们会提供向导模板引导 F# 开发者.
问: 关于 Mono?
F# 编译器和工具会继续通过 Visual Studio 2008/.NET2.0 提供给 Mono 用户. (详见后文)
问: F# 起源于 “OCaml-like language for .NET”? 它还会继续沿着这条路走下去吗?
F# 从 INRIA 共享出色的 OCaml 语言核心结构. 这是早期设计的决定和承诺, Caml 语言家族的重要性在于它是一门实用的函数式语言, 作为创新, F# 本身已经成熟, 包括面向对象, 运算单位和计算表达式. 回首以前, 我们计划是继续允许 F# 使用特定模式支持跨编译公共子集, 现在仍然如此. 这通常需要使用 F# Power Pack 组件, 但它会从 Visual Studio 2010 中分离出来.
问 : 微软研究院还在参与吗?
是的当然! F# 是连接微软研究院, 剑桥和微软开发部的纽带. 我很高兴继续参与语言的设计, 同时还能留在微软研究院. 我们的团队包括剑桥 雷德蒙 温哥华 中国 德国还有纽约的人. 我一直对人们给这个项目带来的增进感到惊讶, 我希望把它当成微软创新的榜样.
非常感谢每个在 F# .NET MSR 还有语言社区的支持和帮助, 有他们才会有 F# 的今天. 之前一直很高兴, 我们相信这种发展会让 F# 在更多的领域受到关注.
快乐的编写和开发吧!
Don
将Microsoft.Windows.Controls.TreeView置入System.Windows.Controls.TabControl中, 并且选中TreeViewItem时, 如果切换TabItem, 你会发现树节点的焦点从选中那一项开始依次向下切换, 直到最末一项, 其中包括已展开的所有条目.
前端模板:
1 | <usercontrol x:class="TreeViewFocus.Page" |
后端代码:
1 | // 随便定义一个类用于数据源 |
OK, 让我们看看发生了什么(图有些难看…):
标签切换的瞬间, 树像是被一阵风吹过, 焦点从不至下依次选中过, 顺序与按键盘上的TAB键时的情形相似.
我还曾经试过ListBox, 并没有发现这一问题, 可以肯定的说这是个BUG了.
怎么解决呢? 办法有点以暴治暴的感觉, 失去焦点的标签, 如果有内容, 暂时将内容禁用, 当标签获得焦点时再次启用:
1 | tabcontrol.SelectionChanged += (s, e) => |
打完收工~~~
http://www.netfxharmonics.com/2008/11/Understanding-WCF-Services-in-Silverlight-2
已经很久没有看到这么好的文章了.
文章中的内容几乎涵盖了 Silverlight 与 WCF 通讯面临的所有问题和完美解决方案.
有几处与我原来的想法相似, 但原作者显然技高一筹.
比如将异常打包在数据契约当中, 建议客户端泛型工厂.
还有几处是我一直以来头疼的地方.
用户名验证, 线程等待.
总之一句话: 不好我不推荐! 顺便再次赞一下原作者.