小编War*_*rty的帖子

我想描述什么计算机科学主题?

我一直在编程... 6-> 8年,我已经开始意识到当我做类似的事情时,我真的不知道在低水平的事情发生了什么.

int i = j%348
Run Code Online (Sandbox Code Playgroud)

问题是,我知道j%348做了什么,它将j除以348并找到余数.我不知道的是计算机如何做到这一点.

同样,我知道

try
{
 blah();
}catch(Exception e){
 blah2();
}
Run Code Online (Sandbox Code Playgroud)

将调用blah,如果blah抛出,它将调用blah2...但是,我不知道计算机如何执行此操作而不是错误...崩溃或结束执行.

我认为为了让我在编程方面"更好",我应该知道我的代码到底在做什么.[这可能也会帮助我优化和...错误...不做蠢事]

我认为我所要求的可能是在大学或其他什么地方教授的东西,但说实话,如果我能学到一点,我会很高兴.

问题的关键是:
我要问的主题/计算机科学课程是什么? 因为老实说,我不知道.

由于我不知道这个主题叫什么,我实际上找不到书或在线资源来了解这个主题,所以我有点卡住了.如果有人帮助我,我会永远感激= /

computer-science

18
推荐指数
2
解决办法
1389
查看次数

在Web工作者之间共享变量?[全局变量?]

我有什么方法可以在两个网络工作者之间共享变量吗?(Web worker基本上是Javascript中的线程)

在像c#这样的语言中你有:

public static string message = "";
static void Main()
{
 message = "asdf";
 new Thread(mythread).Run();
}
public static void mythread()
{
 Console.WriteLine(message); //outputs "asdf"
}
Run Code Online (Sandbox Code Playgroud)

我知道这是一个糟糕的例子,但在我的Javascript应用程序中,我有一个线程进行大量计算,可以分布在多个线程中[因为我有一大块数据以数组的形式.数组的所有元素都是相互独立的.换句话说,我的工作线程不必关心锁定或类似的东西]

我发现在两个线程之间"共享"变量的唯一方法是创建一个Getter/setter [通过原型设计],然后使用postMessage/onmessage ...虽然这看起来效率很低[特别是对象,我有使用JSON进行AFAIK]

LocalStorage/Database已经从HTML5规范中删除,因为它可能导致死锁,所以这不是一个选择[遗憾] ......

我发现的另一种可能性是使用PHP实际上有一个getVariable.php和setVariable.php页面,它们使用localstorage来存储整数/字符串...再一次,Objects [包括arrays/null]必须转换为JSON ......然后是JSON.parse()'d.

据我所知,Javascript工作线程与主页面线程完全隔离[这就是Javascript工作线程无法访问DOM元素的原因

虽然postMessage有效但速度很慢.

谢谢!

html javascript global-variables web-worker local-storage

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

本地变量的访问时间比全局变量长7倍?

我试图对"缓存"math.floor的获得/丢失进行基准测试,希望我能更快地拨打电话.

这是测试:

<html>
<head>
<script>
window.onload = function()
{
  var startTime = new Date().getTime();
  var k = 0;
  for(var i = 0; i < 1000000; i++) k += Math.floor(9.99);
  var mathFloorTime = new Date().getTime() - startTime;

  startTime = new Date().getTime();
  window.mfloor = Math.floor;
  k = 0;
  for(var i = 0; i < 1000000; i++) k += window.mfloor(9.99);
  var globalFloorTime = new Date().getTime() - startTime;

  startTime = new Date().getTime();
  var mfloor = Math.floor;
  k = 0;
  for(var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript optimization benchmarking variable-caching

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

Visual Studio 无法打开 TypeScript *.ts 文件?

当我尝试打开 TypeScript 文件时,我的光标会忙碌一段时间,然后什么也没有发生;代码窗口打不开。

可能是什么问题呢?

visual-studio typescript visual-studio-2017

4
推荐指数
1
解决办法
835
查看次数

HLSL #pragma 一次等效?

#pragma onceHLSL 中与 C/C++-like 的等价物是什么?

我想要(作为一个人为的例子):

// ./dependency.hlsl
float x() { return 0; }

// ./shader.hlsl
#include "./dependency.hlsl" // (./ unnecessary; for question readability)
#include "./dependency.hlsl"
Run Code Online (Sandbox Code Playgroud)

不会失败error X3003: redefinition of 'x'#pragma once在我的文件顶部产生一个非错误warning X3568: 'once' : unknown pragma ignored并且什么都不做!

shader direct3d pragma hlsl include

3
推荐指数
1
解决办法
1496
查看次数