小编Mar*_* M.的帖子

使用Tornado广播消息

我有一个应用程序发送消息,应该广播到每个当前连接的客户端.让我们说客户数量可以达到数千.如何在不阻塞的情况下实现此广播逻辑?

我认为会阻止的示例代码:

clients = []

class Broadcaster(tornado.websocket.WebSocketHandler):
   def on_message(self, message):
       for client in clients:
           self.write_message(message)
Run Code Online (Sandbox Code Playgroud)

我在网上找到的每个例子都像上面的代码一样.有一些例子使用,@gen.coroutine但我不明白这个装饰者如何在这种情况下提供帮助.

python tornado

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

Inject view into TabControl using prism library

That's how I defined TabControl:

<TabControl ItemsSource="{Binding OpenedProjects, UpdateSourceTrigger=PropertyChanged}"
            SelectedItem="{Binding SelectedProject, Mode=OneWay}">
    <!-- headers -->
    <!-- header definition is unimportant for this question -->

    <!-- content -->
    <TabControl.ContentTemplate>
        <DataTemplate>
            <local:ProjectView />
        </DataTemplate>
    </TabControl.ContentTemplate>
</TabControl>
Run Code Online (Sandbox Code Playgroud)

And these are the two methods I have defined in my Module class, that are used to register and use views:

protected override void _initializeViews() {
    _container.RegisterType<MainMenuView>();
    _container.RegisterType<ProjectsView>();
    _container.RegisterType<ProjectView>();
    _container.RegisterType<ContentView>();
}

protected override void _initializeRegions() {
    IRegion menuRegion = _regionManager.Regions[RegionNames.MainMenuRegion];
    IRegion projectsRegion = _regionManager.Regions[RegionNames.ProjectsRegion];
    IRegion …
Run Code Online (Sandbox Code Playgroud)

c# wpf prism prism-5

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

android 数据绑定 - 找不到类 android.view.data

我正在尝试在我的 android 应用程序中实现数据绑定,但是我遇到了这个问题:

java.lang.ClassNotFoundException: Didn't find class "android.view.data"

我的布局文件如下所示:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.myapp.views.fragments.LocationSearchFragment">

        <!-- data setup -->
        <data>
            <variable name="location"
                type="com.myapp.models.Address" />
        </data>
    </LinearLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)

build.gradle用以下几行更新了我的文件:

dataBinding {
    enabled = true
}
Run Code Online (Sandbox Code Playgroud)

正如文档所建议的:https://developer.android.com/topic/libraries/data-binding/index.html。我正在运行最新版本的 Android Studio。

java data-binding android

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

将反向关系与Django-rest-framework的序列化器一起使用

我的模型如下所示:

class User(TimestampedModel):
    name = models.CharField(max_length=30, null=False, blank=False)
    device = models.CharField(max_length=255, null=False, blank=False)


class Comment(TimestampedModel):
    user = models.ForeignKey(User, on_delete=models.PROTECT, blank=True, null=True)
    contents = models.CharField(max_length=510)
    rating = models.IntegerField(blank=False, null=False)
Run Code Online (Sandbox Code Playgroud)

我的序列化器如下所示:

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('name',)


class CommentListItemSerializer(serializers.ModelSerializer):
    user = UserSerializer()

    class Meta:
        model = Comment
        fields = ('user', 'contents', 'rating')
Run Code Online (Sandbox Code Playgroud)

和视图:

class CommentsList(generics.ListAPIView):
    serializer_class = CommentListItemSerializer
    queryset = Comment.objects.all()
Run Code Online (Sandbox Code Playgroud)

它几乎完成了工作;)。我得到的响应如下所示:

"results": [
    {
        "user": {
            "name": "Ania"
        },
        "contents": "Very good",
        "rating": 6
    },
    {
        "user": …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

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

AureliaJS 中 ul 项目的 click.delegate

给定ul列表定义如下:

<ul click.delegate="onListItemClick()">
    <li repeat.for="suggestion of suggestions">
        ${suggestion.name}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

如何将建议对象传递给 onListItemClick?我知道我可以放置click.delegate每个单独的li元素然后捕获当前,suggestion但这不会违背事件委托的想法吗?我的意思是 - 那么我将附加多个事件处理程序,如果是这样,我可以使用click.trigger. 我不想这样做,因为可能有很多这样的suggestion对象。

html javascript event-delegation aurelia

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

如何在隐式方法中引用“this”

给定一个案例类和伴随对象,如下所示:

case class Example(a: String)

object Example {
  implicit def concat(b: String): Example =
    Example(this.a + b)
}
Run Code Online (Sandbox Code Playgroud)

如何使隐式方法编译?换句话说,是否可以引用隐式方法已被调用的当前实例?

scala implicit

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

aurelia应用程序中的两种不同布局

我想为我的aurelia应用程序使用两个单独的布局.它们之间的区别在于没有侧边栏.目前我正在使用一个如下定义的布局文件:

<template>
    <div class="container">
        <router-view></router-view>
    </div>
</template>
Run Code Online (Sandbox Code Playgroud)

如果活动路线需要此侧边栏显示,我只是将其放入其视图中.我想要实现的是添加另一个默认具有此侧边栏的布局:

<template>
    <require from="../common/elements/sidemenu/sidemenu"></require>

    <div class="container">
        <sidemenu></sidemenu>
        <router-view></router-view>
    </div>
</template>
Run Code Online (Sandbox Code Playgroud)

所以问题是 - 如何做到这一点?甚至可以使用aurelia应用程序来设置多个布局(或主页,但是你可以称之为)?

html javascript aurelia

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

Django Rest Framework:如何通过non_field_errors设置自定义名称?

我正在验证在我的网站上注册的用户是否给我唯一的地址(城市,街道,街道号码等),如果该地址不是唯一的,那么我正在提出serializers.ValidationError

class UserSerializer(serializers.ModelSerializer):
   def validate(self, attrs):
        city = attrs['city']
        street = attrs['street']
        street_number = attrs['street_number']
        apartment_number = attrs['apartment_number'] if 'apartment_number' in attrs else None
        unique = check_address_unique(city, street, street_number, apartment_number)
        if not unique:
            raise serializers.ValidationError(_('Another user has already been registered under this address.'))
        return attrs
Run Code Online (Sandbox Code Playgroud)

问题是传递错误的字段名称是以下标准non_field_errors

{"non_field_errors":["Another user has already been registered under this address."]}

我想以某种方式为该错误指定一个自定义名称,因此所需的输出将是:

{"address":["Another user has already been registered under this address."]}

如何做到这一点?

django django-rest-framework

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

替换c#中特定字符之间的空格

我正在寻找一个regexp(或任何其他解决方案),它可以让我替换特定非空白字符之间的所有空白字符.例如:

instance. method
instance .method
"instance" .method
instance. "method"
Run Code Online (Sandbox Code Playgroud)

可能吗?

编辑:

换句话说 - 如果它在字母和点,点和字母,引号和点或点和引号之间,我想抛出空格.

c# regex

-1
推荐指数
1
解决办法
262
查看次数