最近在一次采访中,我被问到了几个与技术问题过程中出现的各种算法的Big-O有关的问题.我不认为我在这方面做得很好......自从我参加编程课程以来我被要求计算算法的Big-O十年以来,我没有一个关于任何东西的'Big-O'的讨论我一直在努力或设计.我参与了许多与其他团队成员的讨论以及与我一起工作过的关于代码复杂性和速度的架构师的讨论,但我从未参与过在实际项目中实际使用Big-O计算的团队.讨论总是"考虑到我们对数据的理解,有更好或更有效的方法吗?" 从来没有"这个算法的复杂性是什么"?
我想知道人们是否真的在真实的单词中讨论他们的代码的"大O"?
我正在尝试使用webkit对CSS3的支持transform: matrix3d(<matrix>)来创建"下降卡"效果.(输出的唯一目标是Chrome)
最终效果应该通过以下4个阶段过渡,最终只是一条水平线:

这是我现在拥有的CSS:
#test {
margin: auto auto;
height: 200px;
width: 200px;
border:1px solid black;
background-color: lightblue;
-webkit-perspective: 1000;
-webkit-transform-origin: 50% 100%;
-webkit-transform-style: preserve-3d;
-webkit-animation-name: flip-card;
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-webkit-box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.5);
}
@-webkit-keyframes flip-card {
0% {-webkit-transform: ;}
100% {-webkit-transform:
matrix3d(1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 0, 0,
0, 0, 0.001, 1);}
}
Run Code Online (Sandbox Code Playgroud)
HTML很容易测试:
<body>
<div id="test">this div should fall forward...</div>
</body>
Run Code Online (Sandbox Code Playgroud)
上面的matrix3d是基于读取这个SO问题 …
我和我的开发人员遇到了一个问题,当我们不想要它们时,我们的应用程序中的对象被垃圾收集.我们在Weblogic 10g3中使用Java.我们正在编写单例模式来处理所有JMS连接.
涉及两个类:
public class JMSObject {
...
private MessageProducer _producer;
private MessageConsumer _consumer;
...
// standard get/set procs... etc.
}
public class JMSFactory {
...
// Hashmap sessions with key == ConnectionFactory Name
Hashmap<String, List<Session>> _sessions;
// Hashmap of JMSObjects with key == ConnectionFactory Name + JMS Queue Name
Hashmap<String, List<JMSObject>> _jmsobjects;
...
// standard get/set & necessary sington functions
}
Run Code Online (Sandbox Code Playgroud)
Servlet的init方法调用JMSFactory单元方法,任何新的Sessions都放在_sessions Hashmap中,新的MessageConsumer/MessageProducers作为JMSObject创建,并放在_jmsobjects Hashmap中的相应List中.
问题是,当系统运行时,列表中的JMSObjects会在一段时间后收集垃圾(有时在几小时后的其他时间会收集5分钟.)我们查看了几天,但找不到任何JMSObjects的原因被收集的野蛮人.既然JMSFactory引用了它们,为什么gc会破坏它们呢?
最后,我们通过更改类来修复它(不更改方法接口):
public class JMSObject {
...
private List<MessageProducer> _producers;
private List<MessageConsumer> _consumers;
...
// …Run Code Online (Sandbox Code Playgroud) 如果浏览器是IE6/IE7,我需要显示不同的HTML.我知道如果我们只讨论样式信息,条件注释工作正常,但在这种特殊情况下它是实际的标记.
我将有一个无序的图像列表,它将是png-24.它们将具有圆角(因此需要png-24提供的透明度)并且将在CSS(3)中具有圆形边框样式.由于IE6无法识别png-24,我希望有一个替代的图像列表,这些图像是jpg已经包含在图像中的边框.这将使IE6/IE7保持高兴,而符合标准的浏览器将获得正确的版本.
(我这样做是因为该网站可能会成长为许多图像,并且需要很容易为主题.如果我在代码中生成边框,只需更改边框颜色并在网站范围内更改.我意识到IE仍然会必须是手动的,但如果他们真的希望IE6支持它,我可以为此单独收费.)
所以我的问题是使用PHP执行此操作的最佳方法是什么?是否有任何缺点?