小编Ken*_*ite的帖子

即使使用事务,SQLite插入也会变慢

即使对于事务,我也遇到了sqlite插入性能问题.我的Android应用程序从Web服务接收大约23.000行,我必须将它们插入到单个表中.

对Web服务进行分区,以便在每次向WS发出请求时收到大约2000行,并在事务中包装2000个插入.完成这些插入后,我将新请求发送到WS并再次使用新事务处理新的2000行.

一开始它工作正常.它每秒执行大量插入操作.但随着时间的推移变得越来越慢,最终每秒有4或3次插入,直到完成23000行.

表的大小有问题吗?当它变大时,插入变慢了?有没有办法改善大量数据的性能?

谢谢你的帮助.

database sqlite performance android transactions

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

点击透明表格

我有一个半透明的全屏形式,我需要可以通过这个表格控制我的电脑.

Actualy我们需要在计算机上使用红屏滤镜来观察天空,但我们不想使用红色有机玻璃之类的东西.

我尝试了Windows API(监视器配置功能)http://msdn.microsoft.com/en-us/library/windows/desktop/dd692964 (v=vs.85) .aspx 但我不能这样做.我做了透明的形式,如红色滤镜(一切似乎红色和黑色调),但我无法控制计算机在我的形式.有人帮我这个吗?

delphi transparent

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

如何使用 eslint 设置选择格式

我发现如果我在其中写下settings.json

  "eslint.format.enable": true,
  "[javascriptreact]": {
    "editor.defaultFormatter": "dbaeumer.vscode-eslint",
  }
Run Code Online (Sandbox Code Playgroud)

然后我可以使用 ESLint 格式化整个页面ALT + SHIFT + F(或右键单击 -> 设置文档格式)。

我还可以看到,一旦右键单击 -> Format Selection With....,我就可以看到 ESLint 作为一个选项。

但是,如果我选择一行并按右键单击,则Format Selection With...找不到 Eslint 选项。(或作为快捷方式CTRL+K

那么如何使用 ESLint 格式化选择呢?

eslint visual-studio-code

6
推荐指数
0
解决办法
1222
查看次数

如何实现 gRPC 网关 mux 处理程序来处理多个 http 方法

我有使用gorilla/mux实现的 REST HTTP 处理程序。我正在尝试将它们迁移到 gRPC 中。有一些处理程序执行文件上传和下载。因此,我的客户决定在 gRPC 网关中实现这些处理程序。

我的 mux 处理程序之一处理多个 HTTP 方法,并根据一个处理程序函数中的 HTTP 方法执行操作。示例代码如下所示。

package main

import (
    "fmt"
    "github.com/gorilla/mux"
    "net/http"
)

func main() {
    r := mux.NewRouter()
    r.HandleFunc(`/doSomething`, func(writer http.ResponseWriter, request *http.Request) {
        switch request.Method {
        case http.MethodPost:
            // create something
            fmt.Fprint(writer, "POST")
        case http.MethodGet:
            // return something
            fmt.Fprint(writer, "GET")
        case http.MethodPut:
            // update something
            fmt.Fprint(writer, "PUT")
        case http.MethodDelete:
            // delete something
            fmt.Fprint(writer, "DELETE")

        }
    })
    http.ListenAndServe(`:5000`, r)
}
Run Code Online (Sandbox Code Playgroud)

当我实现类似的 grpc 网关复用处理程序来使用grpc-ecosystem/grpc-gateway/v2.3.0处理这些请求时,我必须编写单独的处理程序函数来处理同一路径的不同 HTTP 方法。示例代码如下。

package …
Run Code Online (Sandbox Code Playgroud)

http go gorilla grpc-gateway grpc-go

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

如何在类型内创建“临时”类型,以保持 DRY?

我什至不知道如何在 SO 中搜索这个问题。我的通用类型FetchOptions实际上是这样的:

type FetchOptions<T> = {
  explode?: string & keyof T | (string & keyof T)[];
}
Run Code Online (Sandbox Code Playgroud)

我找不到创建另一种类型的方法string & keyof T,以避免在后续数组定义中重复并且不提取类型(在类型本身内部):

type Key<T> = string & keyof T;

type Options<T> = {
  explode?: Key<T> | Key<T>[];
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

class Product {
  id: number | string;
  name: string;
  variants?: ProductVariant[];
  attributes?: ProductVariant[];
}

const fetchProducts = (options: FetchOptions<Product> = {}) => {
  // ...
};

fetchProducts({ explode: 'variants' });
fetchProducts({ explode: ['variants', 'attributes'] });
Run Code Online (Sandbox Code Playgroud)

typescript

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

为SELECT查询添加更多特异性会使它更快吗?

我有一个相当大的表,有150,000个记录.它有很多字段,如country_id,region_id,city_id,纬度,经度,postal_code,仅举几例.

我需要根据纬度和经度从这张表中选择,没有别的.我的查询如下所示:

SELECT * FROM `mytable` 
  WHERE `latitude` = '$latitude' 
  AND `longitude` = '$longitude';
Run Code Online (Sandbox Code Playgroud)

现在虽然我从这个表中选择的唯一标准是纬度/经度,但我想知道如果添加更多特异性会加快查询速度,例如:

SELECT * FROM `mytable` 
  WHERE `city_id` = '320' 
  AND `latitude` = '$latitude' 
  AND `longitude` = '$longitude';
Run Code Online (Sandbox Code Playgroud)

对我来说,在查询中添加更多条件可以加快速度,但同时我通过首先确保选择的所有记录来自特定的城市ID,从而缩小可能结果的数量,这似乎是违反直觉的.我知道我将在接下来指定的纬度和经度范围内.

总记录可能约为150k,但距离该特定城市仅约10k.

那么这是明智的还是我只是让查询更耗时?

mysql sql

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

将iOS应用程序版本还原为旧版本

一旦我的新版本被证明并发布,如果我想回滚,itunes是否具有恢复到以前版本的功能,或者我应该重新提交旧版本?

谢谢

reverse itunes app-store ios

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

IndexOf ComboBox对我不起作用

VB2010.我正在尝试使用Enumeration单位的内容填充ComboBox.我已经设法用字典做了这个.就像是

Dim dUnits As New Dictionary(Of String, Integer)
Dim da As String

For Each enumValue As eUnits In System.Enum.GetValues(GetType(eUnits))
   da = ConvertEnumToCommonName 'gets unique name for an enumeration
   dUnits.Add(da, enumValue)
Next

cbo.DisplayMember = "Key"   'display the the common name
cbo.ValueMember = "Value"   'use the enumeration as the value
cbo.DataSource = New BindingSource(dUnits, Nothing)
Run Code Online (Sandbox Code Playgroud)

当我加载我的表格运作良好.现在,用户可以选择要显示的默认单位.那么我试试吧

Dim defUnits As eUnits = eUnits.Feet
Dim idx As Integer = cbo.Items.IndexOf(defUnits) 'doesnt work, returns a -1
cbo.SelectedIndex = idx
Run Code Online (Sandbox Code Playgroud)

我已经做了一段时间的研究,并且相当肯定这与ComboBox将值存储为字符串有关,实际上我正在搜索一个整数的枚举.不知道我是否有这个权利.无论如何,我似乎无法选择默认项目.我可以尝试另一种方法吗?

vb.net combobox dictionary enumeration indexof

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

正则表达式模式匹配字符串中的正数和负数值

我有模式/匹配行来转换输入字符串,如下所示:

1 3 Hi [2 1 4]
Run Code Online (Sandbox Code Playgroud)

进入这样的数组:

[0] => "1"
[1] => "3"
[2] => "Hi"
[3] => "2 1 4"
Run Code Online (Sandbox Code Playgroud)

那是代码:

String input = sc.nextLine();

Pattern p = Pattern.compile("(?<=\\[)[^\\]]+|\\w+");
Matcher m = p.matcher(input);
List<String> cIn = new ArrayList<String>();
while(m.find()) cIn.add(m.group());
Run Code Online (Sandbox Code Playgroud)

现在我意识到有时候我会得到一些负值,输入就像4 2 -1 2.由于输入是一个String,我不能真正使用任何正则表达式来获得该负值.

我在下面的代码中使用

Integer.parseInt(cIn.get(0)); 
Run Code Online (Sandbox Code Playgroud)

将该字符串值转换为Integer,这实际上就是我需要的.

你能想出一种方法可以让我把-char和char数字保持在一起吗?然后我会检查是否有-字符转换数字并乘以它-1.(如果有更好的方式,我会很高兴听到).

像往常一样,请原谅我的英语.

java regex pattern-matching negative-number

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

Delphi 10.3 Rio-删除欢迎页面

启动IDE时,是否有办法摆脱烦人的欢迎页面?

对于某些以前的版本,您可以通过注册表完成此操作,但我可以在Rio找到它。尝试将文件夹“欢迎页面”重命名为其他名称,但随后出现错误-找不到页面。有没有办法避免这种情况,而只是摆脱它?

delphi delphi-10.3-rio

5
推荐指数
3
解决办法
1165
查看次数