小编Jer*_*ome的帖子

如何将bootstrap添加到angular-cli项目中

我们想在使用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这样的东西),这似乎是错误的

twitter-bootstrap angular-cli angular

214
推荐指数
15
解决办法
34万
查看次数

当没有...位移操作符时位移

我必须实现校验和(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).

vbscript bit-manipulation bit-shift

6
推荐指数
1
解决办法
8508
查看次数

将double转换为另一种数字类型

有些令我困惑的事情,我没有找到有关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)

.....产生这个输出:

  1. 浮动:无限
  2. int:2147483647
  3. 短:-1
  4. 字节:-1

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

java casting primitive-types

6
推荐指数
1
解决办法
1052
查看次数

在运行时更新 Java 线程的堆栈大小

有谁知道是否有办法动态(运行时)增加主线程的堆栈大小?另外,我相信这是同一个问题,是否可以Thread在实例化后增加/更新 a 的堆栈大小?

Thread的 CTOR 允许定义其堆栈大小,但我找不到任何更新它的方法。实际上,我在JDK中没有发现任何对堆栈大小的管理(这往往表明这是不可能的),一切都在VM中完成。

根据java 语言规范,可以在“创建堆栈时”设置堆栈大小,但有一个注意事项:

Java 虚拟机实现可以为程序员或用户提供对 Java 虚拟机堆栈初始大小的控制,以及在动态扩展或收缩 Java 虚拟机堆栈的情况下,对最大和最小大小的控制。

IMO 不是很清楚,这是否意味着某些 VM 处理最大(编辑)堆栈大小在给定范围内演变的线程?我们可以用 Hostpot 做到这一点吗(我在 Xss 旁边没有找到任何与堆栈大小相关的选项)?

谢谢 !

java memory multithreading stack-size

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

静态最终场,静态场和性能

即使认为这不是它的主要目的,我一直认为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)

java optimization performance final virtual-machine

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

Haskell:蛮力和最大的子阵列问题

我试图用蛮力方法解决最大子阵列问题,即生成所有可能的子阵列组合.我得到了一些有效的东西,但它根本不令人满意,因为它产生了太多重复的子阵列.

有没有人知道用最少数量的重复元素生成所有子数组([[]]形式)的聪明方法?

顺便说一句,我是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)

algorithm haskell

2
推荐指数
1
解决办法
670
查看次数