我们想在使用angular-cli 1.0.0-beta.5(w/node v6.1.0)生成的应用程序中使用bootstrap 4(4.0.0-alpha.2).
在使用npm获取引导程序及其依赖项后,我们的第一种方法是将它们添加到angular-cli-build.js:
'bootstrap/dist/**/*.min.+(js|css)',
'jquery/dist/jquery.min.+(js|map)',
'tether/dist/**/*.min.+(js|css)',
Run Code Online (Sandbox Code Playgroud)
并将它们导入我们的 index.html
<script src="vendor/jquery/dist/jquery.min.js"></script>
<script src="vendor/tether/dist/js/tether.min.js"></script>
<link rel="stylesheet" type="text/css" href="vendor/bootstrap/dist/css/bootstrap.min.css">
<script src="vendor/bootstrap/dist/js/bootstrap.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
这很好用,ng serve但是一旦我们生成了带有-prod标志的构建,所有这些依赖关系都消失了dist/vendor(惊喜!).
我们打算如何在使用angular-cli生成的项目中处理这种情况(即加载引导程序脚本)?
我们有以下想法,但我们真的不知道要走哪条路......
使用CDN?但我们宁愿提供这些文件以保证它们可用
复制依赖关系到dist/vendor我们之后ng build -prod?但这似乎是angular-cli应该提供的东西,因为它"照顾"构建部分?
在src/system-config.ts中添加jquery,bootstrap和tether,并以某种方式将它们拉入main.ts中的bundle中?但考虑到我们不打算在我们的应用程序代码中明确使用它们(例如,不像moment.js或像lodash这样的东西),这似乎是错误的
我必须实现校验和(CRC16 CCITT)来验证文件的内容.由于<<和>>运算符以及网上提供的许多示例,校验和在C或Java中实现起来相当简单.
问题是......我的校验和计算必须在VBScript中实现.
我对这种语言的体验几乎是无效的,但根据我的理解,在VBScript中没有提供任何改变.因此,我依靠乘法和除法两个.除负值外,它运行良好.
我运行了几个测试,我相信VBScript用两个补码来处理它的16位整数.
Q1:有人可以证实这一点(VBScript中的两个补码)吗?我没有从MSDN网站上找到任何准确的信息.
Q2:当负数用二进制补码编码时,是否可以通过简单的数学运算进行位移(左右)?
.
非常感谢,我真的想避免使用像整数作为'1'和'0'的数组或从VBScript调用一些java/c应用程序的kludge.
编辑感谢您的帮助,请在下面找到我在VBScript中右移的实现:
Function rightShift(value,bits)
Dim res
res = 65535 AND value
If value>=0 Then
res = res \ (2^bits)
Else If value=-1 Then
res = rightShift(res + 32768, bits - 1)
Else
res = rightShift(value \ 2 + 32768, bits - 1)
End If
End If
rightShift = res AND 65535
End Function
Run Code Online (Sandbox Code Playgroud)
关于上面的代码的注意事项:值有时超过16位,因此我必须屏蔽未使用的位以避免overflow(AND 65535).
有些令我困惑的事情,我没有找到有关VM规格的更多信息.这有点模糊,如果有人能解释我,那就太好了.
这几行代码......
double myTest = Double.MAX_VALUE;
System.out.println("1. float: " + (float)myTest);
System.out.println("2. int: " + (int)myTest);
System.out.println("3. short: " + (short)myTest);
System.out.println("4. byte: " + (byte)myTest);
Run Code Online (Sandbox Code Playgroud)
.....产生这个输出:
byte,short并且int是8,16,32位,带有两个补码.float并且double是32位和64位IEEE 754(见这里).
根据我的理解,a的最大值double意味着mantisse的所有位(52位)都切换为1.因此,对于short或to byte的强制转换返回-1(即所有位都切换为1)并非(非常)令人惊讶似乎演员保留了"尾巴" double,使其适合8位byte或16位short.
令我惊讶的是演员阵容,int以及在较小程度上演员阵容float.怎么可能得到"2. int:2147483647"这是0x7FFFFFFF,最大值是短而字节3和4.是-1?
演员float阵容也很奇怪.如果myTest保留"尾部"的32位,那么它不应该生成一个NaN?
有谁知道是否有办法动态(运行时)增加主线程的堆栈大小?另外,我相信这是同一个问题,是否可以Thread在实例化后增加/更新 a 的堆栈大小?
Thread的 CTOR 允许定义其堆栈大小,但我找不到任何更新它的方法。实际上,我在JDK中没有发现任何对堆栈大小的管理(这往往表明这是不可能的),一切都在VM中完成。
根据java 语言规范,可以在“创建堆栈时”设置堆栈大小,但有一个注意事项:
Java 虚拟机实现可以为程序员或用户提供对 Java 虚拟机堆栈初始大小的控制,以及在动态扩展或收缩 Java 虚拟机堆栈的情况下,对最大和最小大小的控制。
IMO 不是很清楚,这是否意味着某些 VM 处理最大(编辑)堆栈大小在给定范围内演变的线程?我们可以用 Hostpot 做到这一点吗(我在 Xss 旁边没有找到任何与堆栈大小相关的选项)?
谢谢 !
即使认为这不是它的主要目的,我一直认为final关键字(在某些情况下和VM实现中)可以帮助JIT.
这可能是一个都市传奇,但我从来没有想到设置一个领域final会对表现产生负面影响.
直到我碰到这样的代码:
private static final int THRESHOLD = 10_000_000;
private static int [] myArray = new int [THRESHOLD];
public static void main(String... args) {
final long begin = System.currentTimeMillis();
//Playing with myArray
int index1,index2;
for(index1 = THRESHOLD - 1; index1 > 1; index1--)
myArray[index1] = 42; //Array initial data
for(index1 = THRESHOLD - 1; index1 > 1; index1--) {
//Filling the array
for(index2 = index1 << 1; index2 < THRESHOLD; index2 += index1)
myArray[index2] += …Run Code Online (Sandbox Code Playgroud) 我试图用蛮力方法解决最大子阵列问题,即生成所有可能的子阵列组合.我得到了一些有效的东西,但它根本不令人满意,因为它产生了太多重复的子阵列.
有没有人知道用最少数量的重复元素生成所有子数组([[]]形式)的聪明方法?
顺便说一句,我是Haskell的新手.这是我目前的解决方案:
import qualified Data.List as L
maximumSubList::[Integer]->[Integer]
maximumSubList x = head $ L.sortBy (\a b -> compare (sum b) (sum a)) $ L.nub $ slice x
where
-- slice will return all the "sub lists"
slice [] = []
slice x = (slice $ tail x) ++ (sliceLeft x) ++ (sliceRight x)
-- Create sub lists by removing "left" part
-- ex [1,2,3] -> [[1,2,3],[2,3],[3]]
sliceRight [] = []
sliceRight x = x : (sliceRight $ …Run Code Online (Sandbox Code Playgroud) java ×3
algorithm ×1
angular ×1
angular-cli ×1
bit-shift ×1
casting ×1
final ×1
haskell ×1
memory ×1
optimization ×1
performance ×1
stack-size ×1
vbscript ×1