小编Has*_*sef的帖子

如何创建Ktor嵌入式服务器的.jar(创建可执行文件)

我对Kotlin,Ktor和Gradle很新.能够按照Ktor站点中的说明创建嵌入式服务器,使用以下代码:

BlogApp.kt:

package blog

import org.jetbrains.ktor.netty.*
import org.jetbrains.ktor.routing.*
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.features.*
import org.jetbrains.ktor.host.*
import org.jetbrains.ktor.http.*
import org.jetbrains.ktor.response.*

fun Application.module() {
    install(DefaultHeaders)
    install(CallLogging)
    install(Routing) {
        get("/") {
            call.respondText("My Example Blog  sfs 122", ContentType.Text.Html)
        }
    }
}

fun main(args: Array<String>) {
    embeddedServer(Netty, 8080, watchPaths = listOf("BlogAppKt"), module = Application::module).start()
}
Run Code Online (Sandbox Code Playgroud)

build.gradle:

group 'Example'
version '1.0-SNAPSHOT'

buildscript {
    ext.kotlin_version = '1.1.4-3'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

apply plugin: 'java'
apply plugin: 'kotlin'

sourceCompatibility = …
Run Code Online (Sandbox Code Playgroud)

java gradle kotlin ktor

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

将路由拆分为多个文件

我是新来KotlinKtor我一起以下工作细如启动,现在我需要增加更多的Routes我怎么可以分割在多个文件的路径?

package blog

import org.jetbrains.ktor.netty.*
import org.jetbrains.ktor.routing.*
import org.jetbrains.ktor.application.*
import org.jetbrains.ktor.features.*
import org.jetbrains.ktor.host.*
import org.jetbrains.ktor.http.*
import org.jetbrains.ktor.response.*
import org.jetbrains.ktor.request.*     // for recieve
import org.jetbrains.ktor.util.*       // for ValuesMap

import org.apache.commons.mail.*

fun Application.module() {
    install(DefaultHeaders)
    install(CallLogging)
    install(Routing) {
        get("/") {
            call.respondText("""
            My Example Blog2
                <form action="/contact-us" method="post">
                    <input name="subject" placeholder="Subject">
                    <br>
                    <textarea name="message" placeholder="Your message ..."></textarea>
                    <br>
                    <button>Submit</button>
                </form>
            """, ContentType.Text.Html)
        }
        post("/contact-us") {
            val post = call.receive<ValuesMap>() 
            SimpleEmail().apply {
                setHostName("smtp.gmail.com")
                setSmtpPort(465)
                setAuthenticator(DefaultAuthenticator("my_alias@gmail.com", "my_gmil_passoword"))
                setSSLOnConnect(true)
                setFrom("my_alias@gmail.com") …
Run Code Online (Sandbox Code Playgroud)

kotlin ktor

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

如何在颤振中执行 VoidCallback

我正在尝试测试VoidCallback所以我创建了主文件,该文件具有从小部件中的平面按钮调用的函数,该函数位于单独的文件中,但不起作用。

main.dart

import 'package:flutter/material.dart';
import 'controller_test.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Retrieve Text Input',
      home: MyCustomForm(),
    );
  }
}

// Define a Custom Form Widget
class MyCustomForm extends StatefulWidget {
  @override
  _MyCustomFormState createState() => _MyCustomFormState();
}

class _MyCustomFormState extends State<MyCustomForm> {
  final myController = TextEditingController();

  @override
  void initState() {
    super.initState();

    myController.addListener(_printLatestValue);
  }

  _printLatestValue() {
    print("Second text field: ${myController.text}");
  }

  _test() {
    print("hi there");
  }

  @override
  Widget …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

我如何在房间使用日期和时间

我有下面的模型,其中包括datetime领域

import androidx.room.Entity
import androidx.room.PrimaryKey
import java.time.LocalDate
import java.time.LocalTime

@Entity
data class Assignment(
    @PrimaryKey(autoGenerate = true) val tid: Int,

   // @PrimaryKey val uid: Int,
    @ColumnInfo(name = "id") val id: Int,
    @ColumnInfo(name = "task") val task: String?,
    @ColumnInfo(name = "address") val address: String?,
    @ColumnInfo(name = "datePicker") val datePicker: LocalDate?,
    @ColumnInfo(name = "timePicker") val timePicker: LocalTime?,
    @ColumnInfo(name = "status") val status: String?
)
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

无法弄清楚如何将此字段保存到数据库中。您可以考虑为其添加类型转换器。

所以,我写了下面的转换器:

import java.sql.Date
import java.time.LocalDate
import javax.persistence.AttributeConverter
import javax.persistence.Converter
import java.time.ZoneId.systemDefault

@Converter(autoApply = …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room

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

结构字段标记“name”与reflect.StructTag.Get不兼容:结构标记对的语法错误

我读过这篇文章,但它与我的情况不同,我有以下代码:

package main

import (
    "bytes"
    "fmt"
    "reflect"
    "strconv"
    "strings"
)

type User struct {
    Name string `name`
    Age  int64  `age`
}

func main() {
    var u User = User{"bob", 10}

    res, err := JSONEncode(u)
    if err != nil {
        panic(err)
    }
    fmt.Println(string(res))

}

func JSONEncode(v interface{}) ([]byte, error) {
    refObjVal := reflect.ValueOf(v)
    refObjTyp := reflect.TypeOf(v)
    buf := bytes.Buffer{}
    if refObjVal.Kind() != reflect.Struct {
        return buf.Bytes(), fmt.Errorf(
            "val of kind %s is not supported",
            refObjVal.Kind(),
        )
    }
    buf.WriteString("{") …
Run Code Online (Sandbox Code Playgroud)

reflection struct go compiler-warnings

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

TypeScript中的语音识别和语音合成

通过创建如下界面,我能够在TypeScript中运行SpeechRecognition,并且工作正常:

namespace CORE{
    export interface IWindow extends Window{
        webkitSpeechRecognition: any;
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试对SpeechSynthesis使用相同的方式,但是在字段中,以下代码不起作用:

namespace CORE{
    export interface IWindow extends Window{
        SpeechSynthesisUtterance: any;
        speechSynthesis: any;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 是我用来定义SpeechRecognitionTypeScript的最佳实践,还是有更好的方法。
    1. 如何SpeechSynthesis在TypeScript中使用。

供参考,以下是我的工作代码SpeechRecognition

namespace CORE{
    export interface IWindow extends Window{
        webkitSpeechRecognition: any;
    }
}

namespace CORE{
     export class speakRecognation{
    //    spoken:string;
        constructor(input:HTMLInputElement){
            var audio = new Audio('/sounds/sound.mp3');
            //Voice recognition

            const {webkitSpeechRecognition}: IWindow = <IWindow>window;
            const recognition = new webkitSpeechRecognition();
            recognition.continuous = false;
            recognition.interimResults = true;

            input.addEventListener("click", function(){ …
Run Code Online (Sandbox Code Playgroud)

speech-recognition speech-synthesis typescript

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

Could not find org.jetbrains.kotlinx:kotlinx-html:0.6.4

I'm trying to test the HTML Application, my build.gradle dependencies are:

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
    compile "org.jetbrains.ktor:ktor-core:$ktor_version"
    compile 'org.jetbrains.kotlinx:kotlinx-html:0.6.4'
    compile "org.jetbrains.ktor:ktor-netty:$ktor_version"
    compile "org.apache.commons:commons-email:1.4"
    compile "org.slf4j:slf4j-simple:1.7.25"
    compile "ch.qos.logback:logback-classic:1.2.1"
    testCompile group: 'junit', name: 'junit', version: '4.12'
}
Run Code Online (Sandbox Code Playgroud)

I got the below error while running gradle build:

Could not find org.jetbrains.kotlinx:kotlinx-html:0.6.4

what is the error here?

gradle kotlin ktor kotlinx-html

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

什么是F#

在学习F#和阅读页,我发现这个代码:

type MyGenericClass<'a> (x: 'a) =
   do printfn "%A" x
Run Code Online (Sandbox Code Playgroud)

我不理解它的含义'a是否与任何lifetime概念相关rust或完全不同?

f#

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

在Kotlin中将2个列表进行比较

我有这两个清单:

val forecast = listOf(30, 21, 29, 31, 40, 48, 53, 47, 37, 39, 31, 29)
val actual = listOf(27, 31, 27, 26, 21, 13, 21, 18, 33, 35, 40, 36)
Run Code Online (Sandbox Code Playgroud)

并且需要计算每个月的预测误差,这是forecast-actual我尝试过以下内容:

var errors: MutableList<Double> = mutableListOf<Double>()

actual
      .forEachIndexed { index, d ->  forecast[index] - d}
      .let { i -> errors.add(i) }
Run Code Online (Sandbox Code Playgroud)

但没有奏效,因为i结果forEachIndexedUnit不是Double:(

kotlin

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

按键对 HashMap 数据进行排序

交叉引用Rust 论坛,我正在生成一个HashMap,就像在这个操场/下面的代码中一样。如何map根据 对生成的结果进行排序keys,在我的情况下是基于Dimension, Location

use std::collections::HashMap;

#[derive(Debug, Eq, PartialEq, Hash, Clone)]
struct Dimension {
    item: String,
    color: String,
    size: String,
    part_number: String
}

#[derive(Debug)]
struct Delivery {
    variant: Dimension,
    location: String,
    quantity: i32,
}

pub fn main() {
    let data = vec![
        Delivery {
            variant: Dimension {item: String::from("A"),
                                color: String::from("B"),
                                size: String::from("C"),
                                part_number: String::from("D")},
            location: String::from("L"),
            quantity: 10,
        },
        Delivery {
            variant: Dimension {item: String::from("A"),
                                color: String::from("B"),
                                size: …
Run Code Online (Sandbox Code Playgroud)

rust

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