小编sty*_*fle的帖子

解构赋值 - C#中变量的对象属性

JavaScript有一个很棒的功能,您可以使用一条简洁的线条从对象的属性中分配多个变量.它被称为解构赋值语法,它在ES6中添加.

// New object
var o = {p1:'foo', p2:'bar', p3: 'baz'};
// Destructure
var {p1, p2} = o;
// Use the variables...
console.log(p1.toUpperCase()); // FOO
console.log(p2.toUpperCase()); // BAR
Run Code Online (Sandbox Code Playgroud)

我想用C#做类似的事情.

// New anonymous object
var o = new {p1="foo", p2="bar", p3="baz"};
// Destructure (wrong syntax as of C#6)
var {p1, p2} = o;
// Use the variables...
Console.WriteLine(p1.ToUpper()); // FOO
Console.WriteLine(p2.ToUpper()); // BAR
Run Code Online (Sandbox Code Playgroud)

有没有在C#中执行此操作的语法?

c# syntactic-sugar

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

我可以不安装使用git吗?

我听说过关于git的好东西,我想在安装之前尝试一下.如果我想在学校使用git,将它放在闪存驱动器上也很棒.是否可以使用完整的路径/path/to/git init

我主要使用Mac OS X,因此问题主要针对Mac,但我也想知道是否可以在其他操作系统上使用.

编辑:

从源代码编译.我使用了以下命令:

cd git-1.7.5.1 #this is the decompressed dir containing src
make configure
./configure --prefix=/path/to/install/git
make all
sudo make install
Run Code Online (Sandbox Code Playgroud)

这种方法的缺点是,一旦编译,目录是一个沉重的200MB.这就是我选择jgit作为答案的原因.jgit.sh小于2MB并支持以下命令:

add       Add file contents to the index
branch    List, create, or delete branches
checkout  Checkout a branch to the working tree
clone     Clone a repository into a new directory
commit    Record changes to the repository
daemon    Export repositories over git://
diff      Show diffs
fetch     Update remote refs from another repository …
Run Code Online (Sandbox Code Playgroud)

git portable-applications

13
推荐指数
1
解决办法
7483
查看次数

根据TypeScript中的另一个属性值动态解析属性类型

我有以下TypeScript接口:

interface SelectProps {
    options: Option[];
    value: string[];
    onChange: (value: string[]) => void;
}
Run Code Online (Sandbox Code Playgroud)

我想添加一个boolean isMultiple,它将改变其他属性的类型.

什么时候 isMultiple=true

  • 执行 value:string[]
  • 执行 onChange: (value: string[]) => void;

什么时候 isMultiple=false

  • 执行 value:string
  • 执行 onChange: (value: string) => void;

是否可以根据一个属性的值动态设置其他属性的类型?

typescript

13
推荐指数
2
解决办法
3859
查看次数

如何在Windows上使用python2.7设置FTS3/FTS4

默认情况下,FTS3/FTS4在python中不起作用(最多2.7).我收到错误:

sqlite3.OperationalError: no such module: fts3
要么

sqlite3.OperationalError: no such module: fts4

怎么解决这个问题?

python sqlite full-text-search fts3 fts4

12
推荐指数
1
解决办法
5158
查看次数

如何在TypeScript中为css颜色定义类型?

我有以下示例代码段:

type Color = string;

interface Props {
    color: Color;
    text: string;
}

function Badge(props: Props) {
    return `<div style="color:${props.color}">${props.text}</div>`;
}

var badge = Badge({
    color: '#F00',
    text: 'Danger'
});

console.log(badge);
Run Code Online (Sandbox Code Playgroud)

操场

如果颜色无效,我正在尝试获取构建错误,如下所示:

var badge = Badge({
    color: 'rgba(100, 100, 100)',
    text: 'Danger'
});
Run Code Online (Sandbox Code Playgroud)

有没有办法定义,Color以便它只允许字符串匹配以下模式之一?

  • #FFF
  • #FFFFFF
  • rgb(5, 5, 5)
  • rgba(5, 5, 5, 1)
  • hsa(5, 5, 5)

我意识到有这样的颜色red,white但如果Color可以接受那些,可能会使这更难回答.

types typescript

12
推荐指数
5
解决办法
9988
查看次数

使用参数从XMLHttp发布POST

我正在尝试将数据发布到PHP页面并检查响应.这是一个例子.这段代码有什么问题?

的index.html

<html>
<head>
    <title>Post Ajax</title>
    <script type="text/javascript">
        function post(foo, bar) {
            var xmlhttp = new XMLHttpRequest();

            xmlhttp.onreadystatechange = function() {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    alert(xmlhttp.responseText);
                }
            }

            xmlhttp.open("POST", "ajax.php", true);
            xmlhttp.send("foo=" + foo + "&bar=" + bar);
        }
    </script>
</head>
<body>
    <input type="button" value="Click me" onclick="post('one','two');" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

ajax.php

<?php
if (array_key_exists('foo', $_POST) && array_key_exists('bar', $_POST)) {

    $foo = $_POST['foo'];
    $bar = ($_POST['bar']);
    // do stuff with params

    echo 'Yes, it works!';

} …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax

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

将desktopCapturer保存到Electron中的视频文件

desktopCapturer API示例演示如何写一个屏幕捕获流的<video>元素.

// In the renderer process.
var desktopCapturer = require('electron').desktopCapturer;

desktopCapturer.getSources({types: ['window', 'screen']}, function(error, sources) {
  if (error) throw error;
  for (var i = 0; i < sources.length; ++i) {
    if (sources[i].name == "Electron") {
      navigator.webkitGetUserMedia({
        audio: false,
        video: {
          mandatory: {
            chromeMediaSource: 'desktop',
            chromeMediaSourceId: sources[i].id,
            minWidth: 1280,
            maxWidth: 1280,
            minHeight: 720,
            maxHeight: 720
          }
        }
      }, gotStream, getUserMediaError);
      return;
    }
  }
});

function gotStream(stream) {
  document.querySelector('video').src = URL.createObjectURL(stream);
}

function getUserMediaError(e) {
  console.log('getUserMediaError');
}
Run Code Online (Sandbox Code Playgroud)

我试图用以下代码替换gotStream函数: …

javascript getusermedia electron mediastream

7
推荐指数
1
解决办法
4436
查看次数

Python中的简单telnet聊天服务器

我正在阅读关于套接字的文章并找到了一个很好的练习:一个简单的聊天服务器回应输入.这似乎是一个常见的练习,我找到了几个例子,如chatserver5.py和一些SO问题.问题是我只能在使用时连接telnet localhost 51234而不能连接telnet 192.168.1.3 51234(其中192.168.1.3是我的"服务器"的网络IP).不用说,我无法从网络上的另一台机器连接.我得到以下输出:

Trying 192.168.1.3...
telnet: connect to address 192.168.1.3: Connection refused
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import socket, threading

HOST = '127.0.0.1'
PORT = 51234 

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(4)
clients = [] #list of clients connected
lock = threading.Lock()


class chatServer(threading.Thread):
    def __init__(self, (socket,address)):
        threading.Thread.__init__(self)
        self.socket = socket
        self.address= address

    def run(self):
        lock.acquire()
        clients.append(self)
        lock.release()
        print '%s:%s connected.' % self.address
        while True:
            data …
Run Code Online (Sandbox Code Playgroud)

python sockets telnet

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

为什么在'end'事件中未定义socket.remoteAddress?

我有一个简单的TCP服务器如下:

var net = require('net');
var PORT = 6346;

var server = net.createServer(function(socket) {

    socket.on('connect', function() {
        console.log('Client connected: ' + socket.remoteAddress);
        socket.write('Welcome to the server!\r\n');
    });

    socket.on('end', function() {
        console.log('Client disconnected: ' + socket.remoteAddress);
    });

    socket.on('error', function() {
        console.log('Client error: ' + socket.remoteAddress);
    });

    socket.on('timeout', function() {
        console.log('Client timed out:' + socket.remoteAddress);
    });


}).listen(PORT);
Run Code Online (Sandbox Code Playgroud)

当我连接到服务器时,我看到了预期,Client connected: 127.0.0.1但是当我断开连接时,我看到了Client disconnected: undefined.为什么socket.remoteAddress未定义,如何在断开连接时记录客户端的IP?

sockets node.js

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

运行"apereo/cas"docker图像打印"无法启动连接器"错误

我的目标是运行CAS来替换ADFS.我认为从码头图像开始是一个好的开始.

我试过运行两个不同的版本,apereo/cas都有相同的错误.

这是我尝试过的.

命令

docker run -p 8080:8080 -p 8443:8443 apereo/cas:v5.3.2
Run Code Online (Sandbox Code Playgroud)

产量

   __   ____      _      ____   __
  / /  / ___|    / \    / ___|  \ \
 | |  | |       / _ \   \___ \   | |
 | |  | |___   / ___ \   ___) |  | |
 | |   \____| /_/   \_\ |____/   | |
  \_\                           /_/

CAS Version: 5.3.2
CAS Commit Id: 145d8c3dd5e27333dd05f5cc10987df4656fba5e
CAS Build Date/Time: 2018-07-30T21:09:46Z
Spring Boot Version: 1.5.14.RELEASE
Spring Version: 4.3.18.RELEASE
Java …
Run Code Online (Sandbox Code Playgroud)

spring tomcat cas catalina docker

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