小编Dan*_*etz的帖子

如何使用JSR-223在sbt控制台中获取Scala解释器?

在sbt控制台,sbt版本0.13.5,Scala版本2.11.1,我可以得到javax.script.ScriptEngineScala:

scala> val engine = new javax.script.ScriptEngineManager().getEngineByName("scala")
engine: javax.script.ScriptEngine = scala.tools.nsc.interpreter.IMain@bf78a9
Run Code Online (Sandbox Code Playgroud)

但是,我不能用它:

scala> engine.eval("3")
[init] error: error while loading Object, Missing dependency 'object scala in compiler mirror', required by /usr/lib/jvm/java-7-openjdk-i386/jre/lib/rt.jar(java/lang/Object.class)

Failed to initialize compiler: object scala in compiler mirror not found.
** Note that as of 2.8 scala does not assume use of the java classpath.
** For the old behavior pass -usejavacp to scala, or if using a Settings
** object programatically, settings.usejavacp.value = true.
scala.reflect.internal.MissingRequirementError: object …
Run Code Online (Sandbox Code Playgroud)

scala sbt jsr223 scala-2.11

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

对 SQL 子查询的结果使用“LIKE”

以下查询对我来说非常好:

SELECT * From Customers
WHERE Customers.ContactName = (SELECT FirstName
                               FROM Employees as E, orders as O
                               WHERE <condition>
                               LIMIT 1);
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用LIKE而不是=与子查询的结果进行比较,则不会得到任何结果。如何LIKE '%%'在上述查询中使用?

mysql sql subquery sql-like

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

使用observeOn(),Android UI线程崩溃了我的模拟器测试

当我使用RxAndroid并.observeOn(AndroidSchedulers.mainThread())使用Android Studio在模拟器上运行测试时,整个测试运行崩溃:

由于' java.lang.NoSuchMethodError' 导致仪表运行失败

logcat输出如下:

FATAL EXCEPTION: main
java.lang.IllegalStateException: Fatal Exception thrown on Scheduler.Worker thread.
       at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:54)
       at android.os.Handler.handleCallback(Handler.java:587)
       at android.os.Handler.dispatchMessage(Handler.java:92)
       at android.os.Looper.loop(Looper.java:123)
       at android.app.ActivityThread.main(ActivityThread.java:4627)
       at java.lang.reflect.Method.invokeNative(Native Method)
       at java.lang.reflect.Method.invoke(Method.java:521)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
       at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodError: rx.internal.schedulers.ScheduledAction.lazySet
       at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:46)
       ... 9 more
Error in app net.tbmcv.rxtest running instrumentation ComponentInfo{net.tbmcv.rxtest.test/android.test.InstrumentationTestRunner}:
  java.lang.NoSuchMethodError
  java.lang.NoSuchMethodError: rx.internal.schedulers.ScheduledAction.lazySet
Force stopping package net.tbmcv.rxtest uid=10042
Run Code Online (Sandbox Code Playgroud)

Android Studio和logcat输出都没有提到我的项目或测试中的任何代码行.以下是我创建的一个简短示例项目的一些相关部分,用于重现此崩溃:

app/build.gradle

dependencies {
    compile 'io.reactivex:rxandroid:0.24.0'
}
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class …
Run Code Online (Sandbox Code Playgroud)

java android android-studio rx-java rx-android

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

如何用空格返回我的字符串值

如何修改我的主类,以便我可以在不丢失空格的情况下接收值?

这是我主要课程的一部分:

StringBuilder sb = new StringBuilder();
Scanner s = new Scanner(new FileReader(new File("C:/User/waithaka/Documents//duka.json")));
while (s.hasNext()) {
    sb.append(s.next());
}
s.close();

GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();

String jstring = sb.toString();
Result results = gson.fromJson(jstring, Result.class);
List<data> dat = response.getData();
for (data data : dat) {
    System.out.println("The item is " + data.getItem());
}
Run Code Online (Sandbox Code Playgroud)

最后一行打印没有空格的值.例如,带有字符串的值"Black and yellow"将更改为"Blackandyellow".

java gson java.util.scanner

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

为什么MQTT被称为"轻量级"消息传递协议?

根据维基百科Mqtt.org,

MQTT是机器对机器(M2M)/"物联网"连接协议.它被设计为一个非常轻量级的发布/订阅消息传输.

与其他基于TCP/IP或套接字的协议相比,是什么让MQTT"极轻量化"?

messaging networking protocols tcp-ip mqtt

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

在 EditText 中自动显示错误文本

我正在使用类似的代码

EditText.setError("Something went wrong");
Run Code Online (Sandbox Code Playgroud)

显示 上的错误EditText。但只有感叹号R.drawable.ic_error显示图标,而不是错误文本。单击它会显示错误文本。

如何让错误文本自动显示,而不需要先触摸图标?

android android-edittext

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

为什么 file.tell() 会影响编码?

调用tell()在阅读我的GBK编码的文件会导致下一次调用readline()来养UnicodeDecodeError。但是,如果我不调用tell(),则不会引发此错误。

C:\tmp>hexdump badtell.txt

000000: 61 20 6B 0D 0A D2 BB B0-E3                       a k......
Run Code Online (Sandbox Code Playgroud)

C:\tmp> 输入 test.py

with open(r'c:\tmp\badtell.txt', "r", encoding='gbk') as f:
    while True:
        pos = f.tell()
        line = f.readline();
        if not line: break
        print(line)
Run Code Online (Sandbox Code Playgroud)

C:\tmp>python test.py

a k

Traceback (most recent call last):
  File "test.py", line 4, in <module>
    line = f.readline();
UnicodeDecodeError: 'gbk' codec can't decode byte 0xd2 in position 0:  incomplete multibyte sequence
Run Code Online (Sandbox Code Playgroud)

当我删除该f.tell()语句时,它成功解码。为什么?我在Win7/Win10上试过Python3.4/3.5 x64,都是一样的。

任何人,任何想法?我应该报告错误吗? …

file-io character-encoding python-3.x gbk

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

python Psycopg删除无法正常工作

代码如下.当有删除记录时返回"DELETE 1",没有删除时返回"DELETE 0".但是当它有一个记录时,它实际上并没有删除记录.粘贴到pgAdmin III中的完全相同的SQL(%s替换为tournament_id)删除记录.我在木头/树木阶段.有任何想法吗?

def deletePlayers(tournamentId):
    # takes tournamentId and deletes all records from tournament_player 
    # with that tournamentId 
    # but not an error if no records to delete

    # check tournamentId set if not return
    if tournamentId < 1:
        returnStr = "ERROR - tournamentId not set"
        return returnStr

    DB = connect()
    cur = DB.cursor()

    # delete data
    SQL = "DELETE from tournament_player where tournament_id = %s;"
    data = (tournamentId,)
    cur.execute(SQL, data )
    returnStr = cur.statusmessage …
Run Code Online (Sandbox Code Playgroud)

psycopg2 python-2.7

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

当返回值可以更改时,我应该使用`()`或不使用方法`getClients`吗?

在Scala中,我有一个server类,它有一个方法,比如说getClients,它返回当前连接的客户端.

我不确定应该如何定义它:

  1. getClients
  2. clients
  3. getClients()
  4. clients()

当新客户端连接或断开连接时,此方法的返回值会随时间而变化.

我应该选择哪一个?

methods scala naming-conventions

4
推荐指数
2
解决办法
89
查看次数

如何避免使用“SELECT * FROM {table_name}”进行 SQL 注入?

在 Python 中使用 Psycopg2 和以下代码:

import psycopg2

import getpass

conn = psycopg2.connect("dbname=mydb user=%s" % getpass.getuser())
cursor = conn.cursor()

tables = ["user", "group", "partner", "product"]
for table in tables:

    # with sql injection
    cursor.execute("SELECT name FROM %s LIMIT 1" % (table,))
    print "table", table, "result", len(cursor.fetchone())

    # without sql injection
    cursor.execute("SELECT name FROM %s LIMIT 1", (table,))
    print "table", table, "result", len(cursor.fetchone())
Run Code Online (Sandbox Code Playgroud)

输出是:

table res_partner result 1
Traceback (most recent call last):
  File "my_psycopg2_example.py", line 16, in <module>
    cursor.execute("SELECT name FROM …
Run Code Online (Sandbox Code Playgroud)

python sql postgresql sql-injection psycopg2

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