• Как настроить RDP без ошибок?

    Пробовали в диалоге "Свойства системы" на вкладке "Удаленный доступ" снимать галку "Разрешить подключения ... с проверкой подлинности на уровне сети"? Если подключаетесь клиентом с более новой версией, все должно работать..
    Ответ написан
    2 комментария
  • Mysql: select from select?

    Может нужно все-таки подходящий индекс подобрать и для третьего поля? Как вам повторный селект-то поможет, если все равно надо фильтровать по третьему полю? Что у вас за тип у третьего поля и какой у вас фильтр на него?
    Ответ написан
    Комментировать
  • Как в запросе превратить строки в столбцы?

    То, что у вас есть - это EAV-моделька. То, что вы хотите с ней сделать - превратить в обычное отношение - вполне можно назвать Pivot.
    Вот тут SO подоспел с советами, как раз по вашей части, включая MySQL:
    stackoverflow.com/questions/8764290/what-is-best-p...
    stackoverflow.com/questions/649802/how-to-pivot-a-...
    Ответ написан
  • Как бороться со страхом использовать Javascript на сервере?

    Я думаю страх очень простой - из-за отстуствия ощущения поддержки. Большого Брата вроде MS или Оракла не стоит за Node.js. Я конечно не хочу сказать, что всем на него плевать и никто не предложит поддержку - другое дело, насколько эти фирмы на слуху.
    Смежным вопросом является доступность важных для коммерческой разработки вещей. Если вы ранее использовали WCF - не удивительно, что после такой махины, которая из коробки поддерживает огромное количество стандартов для олдскульных XML веб-сервисов (с безопасностью, адресацией и т.д.), и даже REST-сервисы, многие захотят идти в ноду и заново собирать себе там необходимые инструменты и библиотеки, даже если они есть (что конечно надо сначала проверить).
    Ну и, наконец, основным субъективным фактором является желание использовать полученные навыки. У WCF довольно приличный порог входа, и разбираться нужно реально долго, прежде чем можно чтото применить на практике с пониманием происходящего. Это как с WPF последнее время народ негодует - все потратили N месяцев на изучение (один XAML чего стоит), а от майкрософта за последние 6 лет толком не новшеств ни обновлений не было, все смотрят на переписанный с нуля ASP.NET (который теперь всю платформу ведет в правильное русло), и завидуют. Так и вы приходите весь в белом и говорите - забейте на ваш багаж корпоративного дотнета, все идем в ноду.
    Ответ написан
    5 комментариев
  • Как отсортировать задачи?

    SQL писать не буду, проверять долго, предложу просто идею: нужно получить вычисляемую дату+время, с помощью которой можно выстроить на одной временной шкале по порядку как ежедневые дела, так и события. По сути, ежедневные дела это ежедневные события - т.е. события, у которых дата = сегодняшяя_дата+время_ежедневного_дела. Для дел, у которых время начала не указано, ставить дефолтовое (например, полдень). Итого:
    1) оставляем union
    2) добавляем в подзапрос from daily вычисляемое значение, которое собирается из текущей даты и значения поля time, задаем ему имя, напр. occurence_time;
    3) дату+время ивента в подзапросе from events также вытаскиваем as occurence_time;
    4) теперь вроде ничего не мешает отсортировать по полю occurence_time слитые в одно множество события.
    Ответ написан
    Комментировать
  • Проблема с git status. Куда копать?

    Вам уже ответили правильно на вопрос, но тем не менее добавлю: есть подозрения, что вы все это пытаетесь сделать в домашней директории (судя по тому, какие файлы git status вам предлагает добавить). Вы бы создали отдельную, перешли в нее и сделали бы там git init - тогда вы получите адекватный пустой работающий репозиторий.
    Ответ написан
    1 комментарий
  • Каким должен LMS?

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

    Это я все как дилетант говорю, эл. обучением не занимался. Это то, что я бы хотел и ожидал увидеть в такой системе.
    Ответ написан
    2 комментария
  • Как правильно наследовать класс в с++ builder?

    Nipheris
    @Nipheris Куратор тега C++
    точку с запятой после class BaseModel { .. } не забыли поставить?
    Ответ написан
    Комментировать
  • Чем отличается Parallel от Thread?

    Nipheris
    @Nipheris Куратор тега C#
    Я бы сказал, что методы в Parallel работает на более высоком уровне абстракции, т.к. используя их нет необходимости непосредственно заботиться о создании и поддержке потоков для вычислений. Собственно Parallel используют Task-и, а таски - это абстракция для асинхронных вычислений. Таск можно выполнить как в своем потоке, так и в другом, поэтому использование потоков - один из вариантов выполнения таска. Сам класс Thread это не более чем обертка над системными потоками с соответствием один-к-одному.
    Ответ написан
    2 комментария
  • Какие недостатки в коде/ваше мнения о данном коде?

    Nipheris
    @Nipheris Куратор тега C#
    Совет по общей структуре: в классе формы многовато данных. Понятно что с нее вы начинали все писать и из нее все вызывается, но время от времени нужно выделять группы данных/методов и выносить в отдельные классы или модули (в случае шарпа - это т.н. "статические" классы). Я по вашему коду разбил бы примерно так:
    - хелперы для загрузки данных через прокси (и их автоматического переключения в случае ошибки - я правильно понял?): можно вынести в отдельный УмныйЗагрузчик, который заберет в себя всю логику пробивания к данным - перебор юзер-агентов, сбор статистики и т.д. Из этого умного загрузчика должны торчать: простой метод для загрузки нужного урла, простой метод для получения статистики, пусть даже текстом. На форме останется лишь присовение этой статистики textBox.Text;
    - парсер html-контента. Всю логику поиска данных на странице убрать в него.
    - общий координатор работ - можно слить с предыдущим пунктом, можно выделить отдельно. Я бы убрал в него бэкграунд-воркеров, например, не обязательно им на форме торчать.
    - код записи данных в базу тоже стоит вынести. Сделайте простейшие POCO-классы для данных, которые извлекаете из html, возращайте объекты из парсера и передавайте в сохранялку.
    - ну и конечно сохранение настроек - это прекрасно отделится от всего остального также в отдельный класс.
    Разумеется нужно разбивать не только код, но и данные вместе с ним - вы сами увидите, как все станет проще и читабельнее, когда public static int CounterProxy = 0; будет в одном файле, а const string strWinState = "WindowState"; - в другом.

    Ну а теперь по мелочам:
    - не злоупотребляйте static-ами: статических данных в программе обычно немного, и это как правило объекты, с которых приложение начинает "жить" - и то лучше взять IoC-контейнер для этих целей. В вашем случае, когда вы разобьете код на классы, сами поймете что статики в таком количестве вам не нужны.
    - ArrayList я уже давно не видел в коде, не знаю в каком учебнике вы его нашли. В вашем случае он тем более ни к чему. Используйте List<T> и не извращайтесь вот так: Agent[CounterUserAgent].ToString();
    - сразу давайте всему внятные имена, в т.ч. контролам. Это сейчас у вас button1 и button2, а завтра будет button42.
    - используйте xml-документацию, раз уж делаете комментарии к методам
    - по возможности привыкайте пользоваться английским - довольно мало команд разработчиков могут себе позволить использование родного языка в коде.
    Для начала достаточно. Прежде чем заморачиваться паттернами, ощутите на нескольких примерах как вообще пользоваться ОО-языком, что он вам дает и что требует от вас.
    Ответ написан
    Комментировать
  • Как узнать, что адресат открыл письмо?

    www.readnotify.com

    хотя не удивлюсь, если они и используют указанные вами методы.
    Ответ написан
    1 комментарий
  • Блокировать ли tcpclient.stream?

    Nipheris
    @Nipheris Куратор тега C#
    Алгоритм получения ответа на ваш вопрос, которым я воспользовался и также советую вам:
    1. Идем смотрим какой тип стрима возвращает TcpClient.GetStream(). Тип стрима - NetworkStream.
    2. Переходим по ссылке на NetworkStream и спускаемся к секции Thread Safety - она есть у всех классов, это стандартный элемент документации. Там написано:
    Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
    Т.е. сказано, что потокобезопасными являются только статические методы. Эта фраза встречается у большинства классов, т.к. большинство не проектировались специально для многопоточной работы. Вот concurrent-коллекции - это другое дело, у них так и написано (очередь):
    All public and protected members of ConcurrentQueue are thread-safe and may be used concurrently from multiple threads.
    Что логично, т.к. в межпотоковых блокировках весь смысл этой очереди, в отличие от обычной.
    Учтите, что тот факт что только одним потоком вы читаете, а другим пишете, вовсе не значит, что они не будут мешать друг-другу. Например, и чтение и запись могут менять какие-либо внутренние указатели и индексы (номер текущего байта или сколько еще непрочитанных байт осталось), о которых вы и знать не можете. Поэтому всегда идем в документацию и проверяем, что там.
    Ответ написан
    2 комментария
  • Как нарисовать график функции стандартными средствами Qt?

    Nipheris
    @Nipheris Куратор тега C++
    Код в студию. Все можно нарисовать и в paintEvent как вам уже предложил torwig, есть подозрение что проблема в расчетах. На вскидку, чтобы получить адекватную картику, вам надо правильно отмасштабировать результаты вычисления функции в точках и сменить систему координат. Так что проверьте для начала вручную циферки, адекватны или нет. Потом делаете переопределяете в своем классе ВиджетДляГрафика paintEvent, создаете в нем QPainter, и тут же им рисуете, у него огромное количество методов для рисования. Вот простейший пример: doc.qt.io/qt-4.8/qpainter.html#details . Обойдетесь без всяких сцен и интерактивных элементов. Не усложняйте пока не разобрались точно, где в УЖЕ НАПИСАННОМ коде проблема. "Само" не заработает.
    P.S. Если чтото крашится, разбирайтесь с этим отдельно, скорее всего у вас проблемы с временем жизни объектов, которыми мы манипулируете (неправильно создаете/удаляете). Специфика плюсов такова, что за этим нужно следить, иначе быстро зароете себя в спагетти из негодного кода.
    Ответ написан
    Комментировать
  • Возможно ли создать интерфейс для списка следующих классов?

    Nipheris
    @Nipheris Куратор тега C#
    Тут нужно оставить один вариант из двух: либо у вас все-таки есть общий интерфейс, через который вы будете работать с объектом любого класса, и тогда вам нужно решать задачу создания экземпляра, для чего можно применить либо упомянутую Фабрику, либо рефлексию. Если же вы твердо уверены, что интерфейс вам неизвестен, значит вы решаете мета-задачу - вам нужно сделать что-то с заранее неизвестными полями/методами заранее неизвестных классов (как например, при сериализации объектов в общем случае), тогда вам не обойтись без рефлексии/кодогенерации. Вы только четко для себя выясните, что вам известно о ваших объектах, а что нет.
    С советом Oxoron пожалуй не соглашусь, т.к. если интерфейс пустой, значит он служит исключительно для целей добавления доп. информации о классе (ну т.е. вот у нас есть классы, реализующие его, а вот тут - не реализующие), а эта задача решается гораздо логичнее с использованием атрибутов - они для этого и были созданы.
    Ответ написан
    2 комментария
  • Как переключить музыку в вк через C#?

    Nipheris
    @Nipheris Куратор тега C#
    API вконтакта никакого отношения к вопросу не имеет, то что вы смотрели это интерфейс сайта, а вам нужно манипулировать вкладкой в вашем браузере. Так или иначе, решение задачи скорее всего будет свое для каждого браузера. И проще всего, как мне кажется, реализовать связь с браузером через extension. Можно написать свой, а можно попробовать например вот это: https://github.com/pmorch/FF-Remote-Control, можно подключаться по TCP и грабить корованы посылать javascript-код для исполнения в контексте выбранной вкладки. В общем посмотрите, подойдет вам это или нет. Проще способа пока не вижу, вам в любом случае нужно управлять конкретно вашим запущенным браузером. Другой подход - закинуть контрол браузера в ваше приложение, тогда возможно управлять страницей будет значительно проще, но непонятно подходит это вам или нет.
    Ответ написан
    Комментировать
  • Какую библиотеку по работе с POP/IMAP можно выбрать?

    Nipheris
    @Nipheris Куратор тега C++
    www.vmime.org
    libmailcore.com

    Если эти либы слишком тяжелые, проще взять boost.asio и самому работать по нужному протоколу.
    Ответ написан
  • Ошибка Length cannot be less than zero. Parameter name: length при посылке запрос библиотека(xNet) C#?

    Nipheris
    @Nipheris Куратор тега C#
    Судя по коду https://github.com/X-rus/xNet/blob/master/Net/~Htt... и вашему стеку, сайт прислал кривые куки, которые как бы есть (длина не равна нулю), но сформированы неверно. Скорее всего нет разделителя '=' между названием и значением кукиса. xNet этого пережить не смогла. Опять таки судя по стеку врядли, что запрос не посылается, т.к. либа пытается его обрабатывать. Возьмите сниффер (не знаю чем вы смотрите, я бы посоветовал Fiddler, раз у вас HTTP, только не забудьте библиотеке сказать что вы его используете в качестве прокси), и проверьте какой Set-Cookie прилетает от сервера.
    Ответ написан
  • Как представить иерархию элементов?

    Nipheris
    @Nipheris Куратор тега C#
    class Obj { }
    class Collection : Obj
    {
       private List<Obj> items;
    }
    class Item : Obj { }


    паттерн называется Компоновщик. Можно начать с википедии.
    Ответ написан
  • Можно ли использовать Model для взаимодействия с View вместо ViewModel?

    Nipheris
    @Nipheris Куратор тега C#
    Плюс в том, что структуру и интерфейс модели в больших проектах не хочется делать зависимым от вьюхи в какой бы ни было степени. Вот смотрите, у вас например есть атрибут Display или StringLength - зачастую такие вещи излишни в бизнес-модели. С этой моделью, возможно, будет работать код, вообще не имеющий ничего общего с выводом данных пользователю, например какой-нибудь фоновый бот или сборщик статистики. Или, что чаще встречается, с этой же моделью будет работать совершенно другое представление - например одна вьюха у вас "для всех", т.е. для клиентов, к примеру, интернет-магазина, а другая - для работников, которые обслуживают заказы. И у них те же данные о клиентах и заказах будут выводиться совершенно иначе.
    Поэтому как правило удобнее иметь промежуточный слой в виде ViewModel, которая "приближает" данные общей модели к конкретному представлению. Я, например, часто делаю именно во ViewModel различные вычисляемые свойства, которые нужно вывести куда-нибудь, да хоть в таблицу. Т.е. в бизнес-модели у меня расход топлива на километр, и пройденный путь, а во ViewModel помимо этого еще и общий расход топлива на текущий момент времени (который, разумеется, рассчитывается на лету).
    Ответ написан
    2 комментария