比如我们常用的alertDialog,只要显示一个message,不显示title的话,有点象toast。这时候如何自定义宽度 呢?
如果你直接在content中包含一个sizedbox,定义宽度为200,或者更小,你会发现其实是没有用的 ,通过翻看源码可以了解到。其他他是在组件上方定义了一个ConstrainedBox,然后设置了minWidth = 280.所以你设置低于280的,怎么都没用。
要解决这个问题也不难,在Dialog上面包两个组件UnConstraintedBox,和container。先用uncontraintedbox解除限制,再使用container来定义宽高。问题就这么解决了
这是一篇未完成的博客,在这里面做了一点记录
场景:需要做一个关于标题的模糊查询,只是记录有点多,而且需要相对精确,比如搜索:ac, 不能出现abc,可以接受acb,bac,之类。
测试:
1、100万数据,mysql / mongo ,在这种情况下。无论是查询什么数据,基本上都在0.00x秒级,
mysql的查询是like '%xxxx%' , mongo 是 {title:/xxxx/i}
一般情况下,两者速度真心差不多,但如果查询一下不数据库中不存在的关键字,一般都在0.2秒至2秒左右,mongo会相对好一点,在0.5秒
2、500万~1000万数据
查询条件如上
mysql 查询的时候 cpu 占40%左右,20多秒 (mysql 1100万数据)
mongo 查询的时候 CPU占50%左右,10秒/8秒左右 (mongo 550万)
这种性能没法用啊
---下一步
1、xunsearch / coreseek(sphinx)
2、mysql 全文索引
需要再次测试一下。关键mysql虽然100万只有0.00x或者0.0x秒左右。但是如果多个并发的时候就会卡死了。
所以需要再次考虑 场景的复杂性
在使用golang做数据传输的时候,会经常遇到byte与int的互转,但golang并没有现成的方法,因此只能通过binary包来解决
所以,需要 :import "encoding/binary",又因为是byte的转换,所以还涉及到了bytes:import "bytes"
代码如下:
XML/HTML代码
- package main
-
- import (
- "bytes"
- "encoding/binary"
- "fmt"
- "strings"
- )
-
- func main() {
- b := []byte{0x00, 0x00, 0x03, 0xe8}
- b_buf := bytes.NewBuffer(b)
- var x int32
- binary.Read(b_buf, binary.BigEndian, &x)
- fmt.Println(x)
-
- fmt.Println(strings.Repeat("-", 100))
-
- x = 1000
- b_buf = bytes.NewBuffer([]byte{})
- binary.Write(b_buf, binary.BigEndian, x)
- fmt.Println(b_buf.Bytes())
- }
基本上就这么解决了。其实下面不赋值x也无所谓。因为本来就是1000
Xcode4.3出来一阵了,但由于好象上次install Xcode这个快键方式被我删除了,然后现在在app store里就无法看到xcode更新了。
于是找了xcode的app过来安装,但是安装的时候提示一Mobile什么的pkg无法安装。一直很纠结。
直到昨天,CTO电话我,告诉 我一个技巧就安装成功了。
右键xcode.app,选择查看包内容,然后进入/Xcode.app/Contents/Resources/Packages,直接安装:MobileDevice.pkg,安装好之后,再运行xcode.app就正常安装成功了。
以后还是需要细心一点。果然对这些不熟,动手能力不强啊
Yii的behavior用起来是十分方便的,官方的文档也很多,我不多嘴一一解释,我只说一些简单的用法
如果你看过PHP5.4,你应该知道5.4多了个新功能traits。
那你可以对着手册看了,你就当yii的behavior就是5.4的traits。
在任何基于CComponents类扩展的类里,都可以用attachBehavior来附加一个行为,这就象5.4的在类里面 use traits类一样
附加行为后,直接可以$this->行为中的方法,嗯,这个与traits也一样。
好吧,来个简单的例子:
PHP traits
- <?php
- class Base {
- public function sayHello() {
- echo 'Hello ';
- }
- }
-
- trait SayWorld {
- public function sayHello() {
- parent::sayHello();
- echo 'World!';
- }
- }
-
- class MyHelloWorld extends Base {
- use SayWorld;
- }
-
- $o = new MyHelloWorld();
- $o->sayHello();
- ?>
Yii的用法:
PHP代码
- <?php
- class xxx extends CBehavior
- {
- public function show(){
- echo "show";
- }
- }
-
- class test extends CComponents
- {
- public function hello(){
- $this->attachBehavior('唯一标记符',"xxx");
- $this->show();
- }
- }
看看,是不是用法一样?不过这样也带来一个问题。。。TMD,没法在IDE里面自动识别了。
好吧,只能这样折腾自己了。。忍忍。