Задать вопрос
  • Как добиться воспроизведения 8K видео в Unity?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Вы пытаетесь охладить пиво кондиционером и жалуетесь на скорость процесса. (А ведь кондиционер не дешевый, пусть даже топовый). Не надо думать как ускорить процесс, надо просто холодильник для этой задачи использовать.

    Список сомнительных затей:
    Открывать пиво зубами
    Блокировать телеграм по ip
    Заниматься сексом с партнером того же пола
    Зарабатывать на биткоинах
    Программировать на html
    Рендерить видео средствами игрового движка
    Ответ написан
    Комментировать
  • Как сделать стрелку линиями на css?

    В дополнение к ответу Just_Andrew :
    CSS Shapes
    Когда работал фронтендером, часто обращался к этой ссылке.
    Ответ написан
    1 комментарий
  • Запрет на join? Оптимизированная выборка из связи многие-ко-многим без join с параметрами из линкованных таблиц?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Они так говорят, потому что:
    1) Если вы везде используете JOIN то на большом проекте у вас перестаёт работать кеш встроенный в БД, т.к. insert или update хотя бы в одну из таблиц участниц join сбросит кеш всего запроса, а на больших проектах изменения данных идут постоянным потоком.
    2) JOIN делает жётские связи на уровне данных, это хоронит возможность оптимизации на уровне архитектуры приложения. Когда таблицы не связанны внешними ключами и запросами то мы можем перенести любую таблицу, в другую БД оптимизированную для нужных типов запросов, написать например на Си отдельный сервис/демон для этих данных. При этом нам надо будет переписать только одну сущность в приложении. В случае с разрешёнными JOIN может выясниться что переписать надо вообще всё.
    3) Существует популярный подход переваривания больших нагрузок/данных это шардинг, т.е. раскидывание диапазонов данных по разным серверам, это когда первые 10 миллионов записей лежат на одном сервере а вторые на другом, join в этом случае сделать нельзя.
    4) Нормализация, полностью нормализованная БД самая медленна(т.к. куча JOIN, каждый из них это умножение двух матриц), но зато самая компактная, полностью не нормализованная БД самая быстрая (так как всё берём одним простым запросом), но очень жирная и неприемлемо сложная в работе.

    Ваш пример очень абстрактен, если про него ясно только, что данных очень много и не известно кто и в каких условиях будет с этим работать, но скорость ответа важна, а количество запросов будет большими. (Например это API к которому сторонние люди будут писать приложения и потенциально рекламировать эти приложения по ТВ)
    То например так:
    1) Запросом c JOIN скормить данные этих двух таблиц в поисковый индекс на sphinxsearch
    2) Делаем запрос с параметрами book.param = 1 AND author.param = 2 поисковому индексу сфинкса, он возвращает нам PK ID нужных сущностей
    3) Делаем SELECT * FROM t WHERE id in(1,2,3..N)

    Таким образом мы получаем сложную и тяжёлую фоновую индексацию, но очень быстрые и отъедающие крохи ресурсов сервера запросы в онлайне. Из минусов сильно усложняем архитектуру, а соответственно написание, отладка и поддержка кода становятся намного дольше, а количество людей которые могут это делать намного меньше, что в свою очередь является серьёзной проблемой но другого уровня.
    Ответ написан
    Комментировать
  • Как протестировать добавление элемента в список C#?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Вы не можете начать тестировать только потому, что Вы решили сначала написать код, а только потом его тестировать. Это неверно! Когда принимается решение писать код, нужно хотя бы где-то описать его задачу. TDD почти один в один взяли подход от математиков. У математиков тоже есть "Дано" - это аналог SetUp и "Нужно сделать" - это аналог вашего тестируемого кода, т.е. то что Вы реализуете и "Чтобы удовлетворяло условиям...." - Это очень похоже на Assert.

    Откиньте Ваш код, как будто Вы его еще не написали. Прочитайте формулировки нескольких мат.задач. Посмотрите их стилистику. Как они оформляют мысли при изложении сути задачи. И попробуйте следовать точно также! То есть опишите вашу программерскую задачу до начала решения, как это делают математики.

    /Offtop:
    Рекомендую Вам выписать возможные случаи при добавлении элемента в список. К примеру:

    Позитивные случаи:
    * Добавить нормальный элемент;
    и т.д. и т.п.

    Негативные:
    * Добавить Null;
    * Добавить когда список уже переполнен - а такое возможно?;
    * Добавить когда список, когда не доконца создан - а такое возможно?
    и т.д. и т.п.
    Ответ написан
    Комментировать
  • Порядковый номер в GridView при выводе инфы из текста?

    @MonkAlex
    C#, SQL, Delphi, C++ etc
    Забивать данные из файла прямо в грид - не самый хороший способ работы.
    Лучше всего сделать промежуточную модель, да хотя бы класс line, в котором будет у вас Id - как раз номер строки, ну и кроме Id можно сделать строковые переменные one - two, в которые будете забивать данные с файла.
    Либо, если их может быть больше двух - то я бы объявил line наследником от какого нибудь list и дописывал в него слова, другое дело что выводить такую хрень намного сложнее.

    А вывод в грид этого проще простого. У вас после чтения файла будет какой то List, и вы просто пишете:
    datagridview.ItemSources = myListOfLines;
    Ответ написан
    Комментировать
  • Наше доменное имя и сайт 18+ тематики, как поступить?

    @JohnJon
    Как поступить? контента он генерирует не слабо (судя по яндекс картинкам)


    Закрыть веб-студию и заняться зарабатыванием денег. Теперь вы знаете как.
    Ответ написан
    1 комментарий
  • Как вы думаете обман?

    demshin
    @demshin
    SysOp
    После фразы в начале письма:
    Хотелось бы сразу сказать ,что мы серьезная организация и в области полиграфии самое авторитетное и популярное издательство.
    , можно было не читать.
    Ответ написан
    1 комментарий
  • Какие файлы можно удалить из папки Debug?

    @dmitryKovalskiy
    программист средней руки
    Просто сделайте Build в конфигурацию Release. Или Publish если доступна эта кнопка
    Ответ написан
    Комментировать
  • Как стать фрилансером с нуля?

    opium
    @opium
    Просто люблю качественно работать
    фриланс эта таже самая работа просто с другой системой оплаты и удаленно
    вопрос конфигурируется в а как стать хорошим работником?
    думаю ответ ясен.
    Ответ написан
    Комментировать
  • Изучение разработки приложений WPF C#?

    Nipheris
    @Nipheris Куратор тега C#
    Добавлю к Aлександр, что очень важно разобраться в MVVM подходе сразу, т.к. button_Click это в общем случае не Right Way в WPF). Фишка в том, что сама подсистема, без фреймворка, не предоставляет толковых средств для поддержания этого паттерна (есть лишь интерфейсы взаимодействия, по которым сложно сразу понять, как их правильно использовать) - нет никаких ViewModelBase и прочего, что есть во фреймворках или появляется велосипедом в каждом проекте. Когда найдете книгу с хорошим описанием этого паттерна - тогда можно и все остальное читать.
    Ответ написан
    Комментировать
  • Как связать 2 таблицы?

    @dmitryKovalskiy
    программист средней руки
    ну 1) постигайте дзен слова JOIN , 2) хз как вы хотите связать идентификатор бара с идентификаторром района, так же как и хрен знает почему у района есть ид и район_ид . В чем разница?! Да и вобще освойте английский. Транслит кроме разворота мозга в раскоряку ничего не вызовет.
    Ответ написан
    Комментировать
  • Есть ли ресурс на подобии www.checkio.org но для c#?

    @sputnic
    Android Developer
    codehunt.com - разработан самим Майкрософтом
    Ответ написан
    1 комментарий
  • Как правильно написать на MVVM?

    yarosroman
    @yarosroman Куратор тега C#
    C# the best
    Для начала, возьмите какой нибудь MVVM framework (SimpleMVVM, MVVMLight, у них есть куча примеров), делаем свой view, ViewModel. В этих фрейморках уже реализованы базовые классы для создания VM (реализован INotyfyPropertyChanged). В VM надо добавить необходимые свойства, с которыми будет привязка свойств элементов. Так же желательно сделать класс-сервис, который будет создавать по требованию модель, экземпляр класса прописать в App.Resources, и биндить необходимую VM сразу в Xalm, к DataContext="{Binding GroupsViewModel, Mode=OneWay, Source={StaticResource Locator}}">(у локатора есть свойство GroupsViewModel, в котором зоздается необходимый VM, передаются все параметры на сервисы (например работа с БД).

    создание и передача элементов, или работа с контролами напрямую, увеличивает связанность кода, и тд.

    те, например в вашем случае:

    locator.cs
    public class Locator
    {
      public MainViewModel MainVM 
      {
          get {return new MainViewModel(); }
      }
    }


    MainViewModel.cs
    public class MainViewModel : Notifier
        {
           MainViewModel ()
           {
           }
    
            string address;
            public string Address;
            {
                get { return address; }
                set { address = value; OnPropertyChanged("Address"); }
            }
    
            string someControlText;
            public string SomeControlText
            {
                get { return someControlText; }
                set { someControlText = value; OnPropertyChanged("SomeControlText"); }
            }
        }


    в App.xaml в ресурсы прописываем (естественно добавляем необходимые xmlns)
    <Locator x:Key="Locator"/>

    MainView.xaml
    <UserControl x:Class="GPClient.View.BrowserView" DataContext="{Binding MainViewModel, Source={StaticResource Locator}}">>
        <ChromiumWebBrowser Address="{Binding Path=Address, Mode=TwoWay}"/>
        <SomeControl Text="{Binding Path=SomeControlText, Mode=TwoWay}" />
      </UserControl>


    Все дело в Mode=TwoWay. если элемент сам устанавливает свойство, то оно автоматом обновляется в VM, и наоборот, те если вам надо перейти на адрес, в методе в VM пишем Address="http://перейди-на.сайт"; обращаемся к полю VM, а не к приватному члену, иначе не вызовется PropertyChanged, с SomeText, так же.
    Если у нас есть TextBox, то привязка таким образом позволяет получать введенное в него значение.

    для привязки методов, и событий, используются Command и триггеры в XAML.

    У вас тут немного спутано понятие ViewModel и Model. В VM прописываются, свойства, к которым будет привязка элементов View, а Model, это данные с которыми мы работаем, например модель БД, классы в которые сериализуется XML.

    Скачайте MVVMLight, SimpleMVVM, это простые фреймворки, с хорошими примерами и легковесные.
    Ответ написан
    2 комментария
  • Как на SQL писать сложные запросы с вложенными селектами в декларативном стиле?

    Vityarik
    @Vityarik
    Можно написать 1 большой запрос, используя под запросы

    select t1.some_field,
    
       (select t2.value
        from otherTable t2 
        where  t2.name = t1.name
        order by t2.value
        limit 2, 1) as second_value,
    
       (select sum(t2.value)
        from otherTable t2 
        where  t2.name = t1.name) as total_value
    
    from table_1 t1
    Ответ написан
    1 комментарий
  • Как ускорить выполнение SQL запроса?

    Таблица по status проиндексирована?
    Ответ написан
    Комментировать