我阅读了在 Linux 上开发 C#的问题,大多数人回答建议使用MonoDevelop在 Linux 上编写 C#。Visual Studio 代码怎么样?有没有人尝试用这个 IDE 在 Linux 上编写 C#?效果好吗?
我使用 postgreSQL 作为我构建的应用程序的数据库。当我运行应用程序时,我打开 dbeaver 并输入 SQL 查询:
select * from pg_stat_activity
Run Code Online (Sandbox Code Playgroud)
以便查看在应用程序运行期间已处理的 SQL 查询列表。
在“查询”列中,我获得了某些查询的“权限不足”。你知道我可以做什么来查看实际的 SQL 查询吗?
我们来看下面的代码片段:
const fs = require('fs');
const server = require('http').createServer();
server.on('request', (req, res) => {
const src = fs.createReadStream('./big.file');
src.pipe(res);
});
server.listen(8000);
Run Code Online (Sandbox Code Playgroud)
fs.createReadStream 将 big.file 的内容分成块并“一块一块地”读取文件。
我的问题是每个块的大小是多少,它是在哪里定义的以及如何更改块大小?
我曾经使用Postman Interceptor(https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo?hl=zh-CN)发送请求。这是我处理请求的标头和正文的方式:
您可以自己尝试。您可以看到,一旦打开“拦截模式”,您将获得与“不使用”不同的响应。
现在,我想发送相同的请求,但是要使用Node.js中的“ https”模块。
我遵循以下模式:
var https = require('https');
var querystring = require('querystring');
var post_data = querystring.stringify({
hid_last: "SMITH",
hid_first: "JOHN",
__RequestVerificationToken: "EiO369xBXRY9sHV/x26RNwlMzWjM9sR/mNlO9p9tor0PcY0j3dRItKH8XeljXmTfFWT0vQ1DYBzlGpLtnBBqEcOB51E9lh6wrEQbtMLUNOXpKKR3RzFqGc9inDP+OBIyD7s9fh9aMAypCHFCNFatUkx666nf7NOMHHKfiJKhfxc=",
hid_max_rows: 20,
hid_page: 1,
hid_SearchType: 'PARTYNAME'
});
// An object of options to indicate where to post to
var post_options = {
host: 'a836-acris.nyc.gov',
path: '/DS/DocumentSearch/PartyNameResult',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Origin': 'https://a836-acris.nyc.gov',
'Referer': "https://a836-acris.nyc.gov/DS/DocumentSearch/PartyName",
'Upgrade-Insecure-Requests': 1,
'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
'Content-Length': Buffer.byteLength(post_data),
'Cookie': '_ga=GA1.2.1526584332.1483281720; WT_FPC=id=2fb6833e-6ae6-4529-b84a-4a1c61f24978:lv=1483256520738:ss=1483256520738', …Run Code Online (Sandbox Code Playgroud) 当我在IntelliJ IDEA中编写Java代码并运行它时,IntelliJ编译Java文件,提取类文件然后运行类文件.
如何查看IntelliJ运行的javac命令行.我问它所以我可以看到IntelliJ是否为javac命令添加了一些标志.
我正在IntelliJ上运行Java Maven项目,并确保该项目将由Java 1.8编译。
以及项目结构:
我的pom.xml文件还通过以下方式包含Java版本8:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
Run Code Online (Sandbox Code Playgroud)
和
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
运行项目时,出现错误:
无法在项目feed_matcher上执行目标org.apache.maven.plugins:maven-compiler-plugin:3.0:compile(默认编译):致命错误编译:无效目标版本:1.8-> [帮助1]
您知道如何解决此问题吗?
PS我遵循此链接:IDEA:javac:源发行版1.7需要目标发行版1.7,但我仍然无法解决问题。
我写了以下文件:
主要.ts:
///<reference path="./external.ts"/>
hello();
Run Code Online (Sandbox Code Playgroud)
外部.ts
var hello = function() {
console.log("hello");
}
Run Code Online (Sandbox Code Playgroud)
我将这两个文件编译为 javascript 并通过以下命令运行它们: $ node main.js
我预计函数“hello”将被调用。但是,不,我收到一个错误:
ReferenceError:hello 未定义
关于三斜杠指令的教程(https://www.typescriptlang.org/docs/handbook/triple-slash-directives.html)说:
编译器对输入文件执行预处理过程以解析所有三斜杠引用指令。在此过程中,会将其他文件添加到编译中。
所以我不明白为什么无法读取 external.ts 文件中的函数。
它表示HTTP 2优于HTTP 1的优势之一是HTTP2具有数据流.在一个TCP/IP连接中最多可以有256个不同的流.但是,在HTTP 1中,最多可以有6个并行连接.HTTP 2允许从256个资源读取数据,这是一个改进,但我认为6个连接(在HTTP 1中)具有比一个TCP/IP连接(在HTTP 2中)更好的吞吐量.尽管如此,HTTP2被认为比HTTP 1更快.所以...我不能正确理解什么?
假设我们有一个类 A 和一个从类 A 继承的类 B。假设我们有:
Set<A> setOfAs = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)
以下铸造:
((Set<B>) setOfAs)
Run Code Online (Sandbox Code Playgroud)
会给我们运行时错误。
但是,如果我们使用通配符并定义以下集合:
Set<? extends A> setOfAs = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)
我们没有问题进行铸造:
((Set<B>) setOfAs)
Run Code Online (Sandbox Code Playgroud)
为什么允许转换通配符集合,而禁止转换“常规”类型的集合?