小编Leo*_*Leo的帖子

css/js中的自动换行

我正在寻找一种跨浏览器的方式来包装具有预定宽度的div内部没有间隔空格(例如长URL)的长文本部分.

以下是我在网络上发现的一些解决方案以及它们为什么适合我:

  • 溢出:隐藏/自动/滚动 - 我需要在不滚动的情况下显示整个文本.div可以垂直增长,但不能水平增长.
  • 注射和害羞; 通过js/server-side 进入字符串 - ­ 现在由FF3支持,但用­复制和粘贴URL; 在中间将无法在Safari中工作.此外,据我所知,没有一种简洁的方法来测量文本宽度,以找出最佳的字符串偏移量来添加这些字符(有一种hacky方式,请参阅下一项).另一个问题是放大Firefox和Opera很容易打破这个问题.
  • 将文本转储到隐藏元素并测量offsetWidth - 与上面的项目相关,它需要在字符串中添加额外的字符.此外,测量长文本中所需的中断量可能很容易需要数千个昂贵的DOM插入(每个子串长度一个),这可以有效地冻结站点.
  • 使用等宽字体 - 再次,缩放可能会弄乱宽度计算,并且文本无法自由设置样式.

看起来很有希望但不完全存在的事情:

  • 自动换行:break-word - 它现在是CSS3工作草案的一部分,但它还没有得到Firefox,Opera或Safari的支持.如果它适用于所有浏览器,这将是理想的解决方案:(
  • 通过js/server-side 将<wbr>标签注入到字符串中 - 复制和粘贴URL适用于所有浏览器,但我仍然没有很好的方法来测量放置中断的位置.此外,此标记使HTML无效.
  • 在每个字符后添加中断 - 它比数千个DOM插入更好,但仍然不理想(将DOM元素添加到文档中会占用内存并减慢选择器查询速度等).

有没有人对如何解决这个问题有更多的想法?

javascript css

40
推荐指数
3
解决办法
5万
查看次数

如何在Scala中创建异构数组?

在javascript中,我们可以这样做:

["a string", 10, {x : 1}, function() {}].push("another value");
Run Code Online (Sandbox Code Playgroud)

什么是Scala等价物?

arrays scala

28
推荐指数
2
解决办法
3万
查看次数

每个处理器的线程数

在Java中,是否有一种编程方式可以找出CPU支持多少并发线程?

更新

为了澄清,我不是试图用线程来锤击CPU,而是我知道Runtime.getRuntime().availableProcessors()函数,它提供了我正在寻找的部分信息.

我想知道是否有办法自动调整线程池的大小,以便:

  • 如果我在1岁的服务器上运行,我会得到2个线程(每个CPU 1个线程x 2个任意乘数)
  • 如果我从现在开始两年后切换到Intel i7四核(每个核心支持2个线程),我会得到16个线程(每个CPU 2个逻辑线程x 4个CPU x 2个任意乘数).
  • 相反,如果我使用八核Ultrasparc T2服务器(每个核心支持8个线程),我得到128个线程(每个CPU 8个线程x 8个CPU x 2个任意乘数)
  • 如果我在可能在不同年份购买的30台不同机器的集群上部署相同的软件,我不需要读取CPU规格并为每一台机器设置配置选项.

java concurrency

25
推荐指数
3
解决办法
3万
查看次数

Safari中是否可以使用Http Streaming Comet?

通过HTTP Streaming Comet,我的意思是"永远的iframe"/"永远的xhr"变体,在从服务器推送数据后不会关闭连接,而不是标准轮询和长轮询关闭并重新发送新请求每个服务器推送事件.

我查看了dojo.io.cometd包,看起来它们只有轮询实现.我也找到了这个例子,但是即使经过一段时间的修补之后它似乎也不适用于webkit(我让它在其他地方工作).来自safari博客的这个公告似乎表明它可以用xhr,但我找不到任何代码或文档,也无法让它工作.

有没有人知道在Webkit浏览器(Safari和Chrome)中完成HTTP流媒体彗星的技术,脚本,库或演示?

更新

经过一些修补,我发现有两件事需要做,以便通过XHR在Safari中使用http流:

  • 响应需要具有Content-Type:multipart/x-mixed-replace
  • 响应需要在浏览器开始一致地显示更新之前发送一些"噪音"字符.我假设这与填充一些内部缓冲区有关.

更新2

我终于使用iframe技术在所有浏览器中工作了.解决方案的警告是,只有基于WebKit的浏览器才能接收multipart/x-mixed-replace标头.

javascript safari comet

10
推荐指数
1
解决办法
4445
查看次数

C中的错误处理策略?

鉴于以下代码:

typedef struct {int a;} test_t;

arbitrary_t test_dosomething(test_t* test) {
    if (test == NULL) {
        //options:
        //1. print an error and let it crash
          //e.g. fprintf(stderr, "null ref at %s:%u", __FILE__, __LINE__);
        //2. stop the world
          //e.g. exit(1);
        //3. return (i.e. function does nothing)
        //4. attempt to re-init test
    }
    printf("%d", test->a); //do something w/ test
}
Run Code Online (Sandbox Code Playgroud)

我想,如果要得到一个编译错误test是有史以来NULL,但我想这是不可能的C.由于我需要在运行时做零检查,什么办法是处理它的最正确的方法是什么?

c

5
推荐指数
1
解决办法
1031
查看次数

标签 统计

javascript ×2

arrays ×1

c ×1

comet ×1

concurrency ×1

css ×1

java ×1

safari ×1

scala ×1