• Как организовать параллельную обработку пересечения нескольких Rectangle в WPF?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а может plinq посмотрите?
    в любом случае это осмысленно только при большом количестве ядер.. и тяжелой обработке события..
    а еще стоит подумать о конкурентных событиях и риске одновременных противоречивых решений..
    если событий всего десятки (а не миллионы), а обработка событий не требует тяжелых вычислений, вообще не факт что стоит заморачиватся

    ps вариант избежать противоречий - своего рода покадровое вычисление поколения. матричная обработка следующей версии, потом замена текущей на новую. это гарантирует НЕпротиворечия в решении. ну и при необходимости уже можно смелее пробовать методы распараллеливания - на момет даже параллельной обработки, исходное поколение гарантированно неизменно. а вот при попытке параллельно обновлять по месту это скорее гарантия ошибочных решений
    .. да еще и с непредсказуемой вероятностью )))

    pps если не используете биндинг, можно логику обратного времени - копируем текущее поколение в фоновый массив/матрицу, далее используем вычисление следующего поколения на основе неизменных исходных данных.
    .. и еще о производительности - на сколько я помню жизнь, у вас затраты на визуализацию все равно не соизмеримо больше обсчета ;)))
    Ответ написан
    4 комментария
  • IIS 8 не понимает web.config. Как поправить?

    @caballero
    Программист
    core.net не требует никакого web.config

    проверте какой пул для этого сайта в настройке IIS
    должен быть выставлен custom а не те что для стандартного .NET
    Ответ написан
    2 комментария
  • Как работать с Big Data в .NET и надо ли?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    на C# можно реализовать все что хочешь, главное иметь прямые руки.
    Ответ написан
    Комментировать
  • Почему не меняется свойство Background в ListViewItem?

    Надо бодяжить ControlTemplate. Не знаю, почему. Но напрямую это либо не работает, либо работает не так, как кажется.
    Дам вам свой укороченный пример:
    <Style TargetType="ListViewItem">
        <Setter Property="SnapsToDevicePixels" Value="true" />
        <Setter Property="OverridesDefaultStyle" Value="true" />
        <Setter Property="local:Properties.IsStatus" Value="{Binding IsStatus, Mode=OneWay}" />
        <Setter Property="local:Properties.IsConnection" Value="{Binding IsConnection, Mode=OneWay}" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListViewItem}">
                    <Border
                        x:Name="Border"
                        Background="{TemplateBinding Background}"
                        BorderBrush="{TemplateBinding BorderBrush}">
                        <ContentPresenter
                            x:Name="Content"
                            Margin="0,0,0,0"
                            TextBlock.Foreground="{TemplateBinding Foreground}"
                            HorizontalAlignment="Stretch"
                            VerticalAlignment="Stretch" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    
        <Style.Triggers>
    
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="local:Properties.IsStatus" Value="0" />
                    <Condition Property="local:Properties.IsConnection" Value="True" />
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <!--  Красный  -->
                    <Setter Property="Background" Value="#FFFFCDD2" />
                    <Setter Property="Foreground" Value="#FFB71C1C" />
                    <Setter Property="BorderBrush" Value="#00D32F2F" />
                </MultiTrigger.Setters>
            </MultiTrigger>
    
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="local:Properties.IsStatus" Value="9" />
                    <Condition Property="local:Properties.IsConnection" Value="True" />
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <!--  Серый  -->
                    <Setter Property="Background" Value="#FFF5F5F5" />
                    <Setter Property="Foreground" Value="#FF212121" />
                    <Setter Property="BorderBrush" Value="#00616161" />
                </MultiTrigger.Setters>
            </MultiTrigger>
    
            <Trigger Property="IsSelected" Value="True">
                <Setter Property="Background" Value="#FFFFE0B2" />
                <Setter Property="Foreground" Value="#FFE65100" />
            </Trigger>
    
            <MultiTrigger>
                <MultiTrigger.Conditions>
                    <Condition Property="IsSelected" Value="False" />
                    <Condition Property="local:Properties.IsConnection" Value="False" />
                </MultiTrigger.Conditions>
                <MultiTrigger.Setters>
                    <Setter Property="Background" Value="#FFFFFFFF" />
                    <Setter Property="Foreground" Value="#FF000000" />
                    <Setter Property="BorderBrush" Value="#00000000" />
                </MultiTrigger.Setters>
            </MultiTrigger>
    
            <Trigger Property="IsMouseOver" Value="True">
                <Setter Property="Background" Value="#FFE8EAF6" />
                <Setter Property="Foreground" Value="#FF1A237E" />
            </Trigger>
        </Style.Triggers>
    </Style>
    Ответ написан
    1 комментарий
  • Android. Как использовать toolbar в приложении?

    @AndroidRS
    Support Library на данный момент устарела, вместо нее как Вам подсказала студия необходимо использовать AndroidX
    implementation 'com.google.android.material:material:1.1.0-alpha10'

    Соответственно toolbar импортировать из пакета:
    androidx.appcompat.widget.Toolbar
    Ответ написан
    1 комментарий
  • Большие данные на домашнем компьютере?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Для работы одного компьютера не хватит, нужен кластер. А для изучения работы с большими данными сами большие данные не нужны.
    Ответ написан
    Комментировать
  • Ошибка в html или css коде, в чём проблема?

    verkhoturov
    @verkhoturov
    Frontend Developer
    Убери из body свойство " line-height: 135;".
    Из-за него всех у строчных элементов на странице дикая высота.
    Ответ написан
    1 комментарий
  • Php приложение на Wordpress?

    @Kim_Soal
    Если хотите выучить вордпресс, имеет смысл делать на нем = )
    Ответ написан
    Комментировать
  • Как запустить Java приложение, если на компе Java не установлена?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Да в состав JDK входит утилита javapackager, предназначенная как раз для этой цели.
    Ответ написан
    Комментировать
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

    Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), - снизу.

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

    Между слоем сервисов и слоем доступа к данным нарисуйте большой контур и назовите его слоем бизнес-логики. В маленьких прямоугольниках внутри этого контура перечислите основные бизнес-задачи. Один компонент Вашей системы будет решать одну бизнес-задачу.

    Теперь справа нарисуйте несколько длинных прямоугольников снизу доверху и написшите в них: логирование, конфигурация, мониторинг производительности, обработка исключений и что-то ещё, что является общей инфраструктурой (или сквозной функциональностью) для всех слоёв вашей программы.

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария
  • Учебник по разработке приложений на Java?

    zolt85
    @zolt85
    Программист
    Паттерны объектно-ориентированного проектирования. Банда Четырех.
    Совершенный код. Макконелл.
    Ответ написан
    Комментировать
  • Оцените дизайн шаблона сайта?

    @AnneSmith
    самая ленивая
    очень аккуратный и чистый стиль, даже вполне консервативный
    шрифты не раздражают, но с русскими шрифтами будет смотреться хуже, скорее всего
    учитывая тематику шаблона, все очень прилично, много белого пространства
    единственное, что вызывает вопрос, - это тень под фото врача, нелогично, поскольку остальные фото без теней
    ее или нужно убрать или сделать чуть заметной
    вот для примера похожие шаблоны для wix, кстати есть смысл делать шаблоны для них, этот конструктор очень популярен в северной америке
    https://www.wix.com/website/templates/html/health-...
    Ответ написан
    1 комментарий