• C# Как очистить все cookies в WebBrowser?

    Nipheris
    @Nipheris Куратор тега C#
    Попробуйте вот это свойство установить в null или пустую строку.
    Ответ написан
  • Достаточное ли условие для удаления в плане безопасности?

    Для безопасности и защиты от несанкционированного удаления вы бы лучше начали использовать prepared_statements. Причем тут они? А притом, что:
    1) будут выполняться только те запросы, которые вы сами написали, без риска "дополнения" этих запросов человеком со стороны;
    2) логика вашего кода станет более прозрачной, и, следовательно, будет проще выяснить, нет ли нежелательных веток в нем или необработанных ситуаций. Сейчас мне пришлось сначала удивиться, когда я увидел это:
    WHERE album_id={$id} {$user_name}
    и потом заново все перечитать и понять, что у вас $user_name это оказывается фильтр такой. Вот когда приведете код в порядок, и будете более-менее уверены в отсутствии sql-injection, сами ответите на свой вопрос.
    Ответ написан
    3 комментария
  • Как правильно скрывать методы базового класса (C++ наследование)?

    Nipheris
    @Nipheris Куратор тега C++
    MiiNiPaa уже подкинул хорошую идею проверить через указатель на базовый класс, действительно ли метод override-ится (я буду орининальные термины использовать, т.к. конкретный перевод, к сожалению, зависит от книги). Если будет по-прежнему вызываться метод базового класса, то у вас скрытие (hide). Используйте ключевое слово override, чтобы убедиться, что метод корректно попадает в таблицу виртуальных вызовов. Методы с const и без const-а действительно различны, это хорошо видно на примере оператора индексации (operator[]) - его часто определяют в двух вариантах - константном и неконстантном.
    Ответ написан
    Комментировать
  • Как выгрузить окно приложения на qt++?

    Nipheris
    @Nipheris Куратор тега C++
    У вас где-то в коде:
    QMainWindow *window = new QMainWindow();
    вам потом надо сделать:
    delete window;
    а потом снова создать его. Если нужно именно чтобы
    > глаз не мозолило
    то проще делать hide и show
    Ответ написан
    Комментировать
  • Откуда взялась ошибка при SQL запросе?

    $what откуда берется-то? такое ощущение, что именно там оказалось "smellyshovel", непонятно зачем правда, т.к. эта ошибка явно при попытке выполнить select.
    Ответ написан
    4 комментария
  • Как программно отфильтровать пакеты по pid/имени процесса?

    Nipheris
    @Nipheris Куратор тега C++
    Если pcap действительно не предоставляет никакой инфы о процессе, который забрал пакет (вполне вероятная и нормальная ситуация, т.к. работает он в режиме ядра), то попробуйте проставить соответствие по номеру порта, раз уж вам TCP нужен. С точки зрения сетевого протокола, именно порт уникально идентифицирует процесс-получатель и процесс-отправитель (например, вы ведь никак не повесите два независимых веб-сервера на одном порту. Также и при исходящем TCP подключении ОС выделяет для каждого подключения отдельный случайный порт). Т.к. информацию о портах и TCP-соединениях (в т.ч. в listening статусе) вы по идее сможете получить (ведь существует и как-то работает TcpView из пакета Sysinternals), то и по порту пакеты сможете привязать.
    Само собой, один процесс может открывать много портов на прослушку и устаналивать множество соединений, как входящих так и исходящих. Если вам нужно еще и отдельные TCP-стримы сохранять (например, к 80-му порту веб-сервера подключилось много клиентов), то тогда уникально идентифицируйте каждый коннект с помощью четверки: (source_ip, source_port, destination_ip, destination_port).
    Ответ написан
    3 комментария
  • MS SQL (Windows) репликация/синхронизация, какую архитектуру использовать?

    Попытаюсь сократить ваш текст: для одних таблиц вам нужна репликация master-master, для других - master-slave, если конечно я правильно понял. Давайте обсудим вот это:
    > Репликация MS SQL - очень сложен в настройке
    Ну сложен видимо потому, что поддерживает много различных сценариев. Почему решили, что свой велосипед будет работать лучше? Тем более вы ж не СУБД выбираете, она у вас уже установлена и работает.
    Есть конечно и сторонний софт, например www.symmetricds.org, но весьма вероятно все шишки от его использования разгребовать вам же.
    Ответ написан
    4 комментария
  • Как можно реализовать физику данной игры?

    > На каком языке проще реализовать ?
    Сейчас простые физ. библиотеки есть почти на каждой крупной платформе, так что выбирайте в зависимости от типа приложения (mobile/js/desktop).
    box2d.org
    box2d-js.sourceforge.net
    wellcaffeinated.net/PhysicsJS
    cocos2d.org
    Cписок на SE:
    gamedev.stackexchange.com/questions/89/2d-gaming-l...

    Двумерная физика гольфа будет тривиальной задачей пожалуй для любой из этих библиотек.
    Ответ написан
    Комментировать
  • С помощью чего создать веб интерфейс для программы распознавания лиц на OpenCV?

    Nipheris
    @Nipheris Куратор тега C++
    cpp-netlib.org
    Hello world для клиента и сервера:
    cpp-netlib.org/0.11.1/index.html#hello-world
    Ответ написан
    Комментировать
  • Что такое Symbols release?

    Nipheris
    @Nipheris Куратор тега C++
    vilgeforce говорит верно, это релизы, содержащие как скомпиленные исполняемые модули, так и символа к ним, например pdb-файлы, если проект собирается Студией. Символьные файлы могут выкладывать как вместе с исполныемыми модулями, так и отдельно от них. Это разумно, т.к. символьные файлы нужны только для отладки, а т.к. далеко не каждый пользователь софтины будет ее дебажить, то нет смысла всегда скачивать символы, которые нередко весят больше самих модулей.
    По VS вот несколько ссылок, по остальным компиляторам поищите сами:
    stackoverflow.com/questions/72104/how-do-i-use-pdb...
    https://en.wikipedia.org/wiki/Program_database
    https://msdn.microsoft.com/en-us/library/yd4f8bd1%...
    Ответ написан
    Комментировать
  • Как в триггерах ссылаться на таблицы и поля этих таблиц?

    Во-первых, как уже сказал Sumor, вам нужно подумать прежде всего о транзакционности операции, ваша задача - уменьшение значения Долга при занесении платежа - классический случай выполнения нескольких изменений в рамках одной транзакции. Так что это операцию вполне можно выполнить и на уровне приложения. С триггером могут быть свои заморочки - например, если впоследствии заходите удалить часть записей о платежах или перезалить их без изменения долга - то триггер придется отключить. Или как сказал Sumor, можно отключить их случайно и не заметить. С деньгами таких ситуаций надо избегать еще при проектировании. В общем конечно триггеры - вполне приемлемый способ обновления вычисляемых данных (долг - это именно такое значение), но я думаю в приложения, критичных к точности данных, лучше от них воздержаться.
    Или же вам подойдут хранимые процедуры - тогда логика изменения долга и добавления платежа будет более очевидной, и на уровне БД. Тогда вам нужно будет ограничить доступ к основным таблицам, чтобы случайно их никто не поменял, а все изменения допускать только с использованием хранимок. Этот подход менее масштабируемый, чем логика на уровне приложения, но более надежный, если у вас большой проект и много разработчиков - у БД в этом случае будет свой слой безопасности.
    Ответ написан
    Комментировать
  • System.Object -> System.ValueType (знаковый - на стеке) - как это?

    Nipheris
    @Nipheris Куратор тега C#
    System.Object является базовым для System.ValueType потому, что C# скрывает от вам процесс boxing-а значений value-типов в ссылочные обертки.
    Где выделяется память для ссылочных типов и типов-значений спецификацией не оговаривается (в текущих реализациях типы-значения иногда (!) выделяются на стеке, но могут быть и на куче, если являются членами ссылочных типов (массивы, другие классы, и т.д.). Для вас важно лишь знать логику поведения: как присваиваются и передаются в функции значения reference и value-типов, остальное - детали реализации.

    Довольно важная для понимая статья: blogs.msdn.com/b/ericlippert/archive/2010/09/30/th...
    Ответ написан
    2 комментария
  • В чем преимущества СУБД Oracle перед MySQL, PosgreSQL?

    Если без холивара - то преимущество оно всегда одно - т.к. вы платите баб$сы, то имеете возможность позвонить в саппорт 24/7 и спросить, почему не стартует сервер СУБД после ваших манипуляций с ним. Конечно, для постгреса есть EnterpriseDB, и это довольно серьезные ребята, так что все упирается, как и всегда, в опыт и доверие. Оракл - это огромные вложения в инженерные решения, многолетний опыт поддержки по всему миру ну и прочие дела. Также, как и какой-нибудь DB2, которому тоже уже 40 лет стукнуло.
    Когда вы храните в вашей БД данные стоимостью несколько миллионов долларов, становятся важны мелочи, не видные на первый взгляд - надежность восстановления после сбоев, отлаженность процедур бэкапа и восстановления, стоимость и оперативность масштабирования и еще 1000 и одна вещь.
    Ответ написан
    Комментировать
  • Как лучше хранить график с большим количеством значений?

    Почему не использовать для этого вторую таблицу с внешним ключом в первую и связью многие-к-одному?
    Вообще для этого подойдут более специализированные БД, но без подробностей сложно что-то посоветовать.
    Ответ написан
    2 комментария
  • Какие существуют фреймворки на C#?

    Nipheris
    @Nipheris Куратор тега C#
    Я думаю вам нужно уточнить объект поиска. Давайте подумаем, что вы вкладываете в понятие фреймворка (и что вообще туда можно вложить): райнтайм, базовые типы данных, базовую библиотеку классов? Может быть, вы имеете в виду фреймворки для конкретных нужд, например ASP.NET как MVC-фреймворк? Для этих пунктов на сегодняшний день есть свои ответы, с учетом того, что MS открывает исходники дотнета, переписала с нуля компилятор и разрабатывает новый рантайм.
    Ответ написан
  • Как отловить момент, когда окно помещается в одну из сторон экрана (прилипает как бы), при нажатии WIN + LEFT?

    Nipheris
    @Nipheris Куратор тега C++
    Я думаю вам придется изучить и частично повторить логику винды в плане приклеивания окна - т.е. получать размер рабочей области на текущем мониторе и делать окно в половину области с нужным положением. С точки зрения приложения нет никакой необходимости сообщать ему, что окно прилеплено - для него не должно быть разницы, прилепили его или вручную поресайзили до такого размера.
    Старый размер окна запоминает виндовый менеджер окон, как и в случае c maximize/minimize - иначе бы старые приложения не работали с прилипанием, а они все работают без проблем, значит операционка ничего нового не требует.
    Ответ написан
    2 комментария
  • Общие вопросы по базам данных?

    > Цель по струтуре базы сделать ее максимально ненуждающейся в джоинах
    Почему поставлена такая цель? Может нужно технические вопросы пересмотреть? Отсутствие нужды в джоинах ведет к появлению избыточности, как раз таки обычно пытаются добиться обратного - минимума избыточности за счет использования джоинов. Хайлоад конечно выдвигает особенные требования, поэтому я и интересуюсь, почему было поставлено такое условие.
    > достижение 5-ой нормальной формы помимо того, что практически невозможно
    насчет невозможности поспорил бы. Скорее - оно редко целесообразно, 3NF обычно вполне достаточно. Но есть и исключения (темпоральные данные например). Насчет производительности тоже не соглашусь - производительность гораздо больше формируют правильно/криво построенные индексы и правильные/кривые запросы. Лучше 15 джоинов в запросе, использующем индексы, чем один LIKE '%str%' без полнотекстовой индексации. Современные СУБД умеют в кэширование индексов в памяти, а prepared statements позволяют не парсить один и тот же запрос миллион раз.

    А вообще, поймите одно правило: всегда есть проектирование сначала на бумаге, а потом уже в реале. Вы должны нормализовать прежде всего для себя, чтобы понимать, какие зависимости у вас в данных есть. Когда вы это все увидите, денормализовать всегда сможете. Ваши N итераций - это M+K, где M - это итерации по нормализации, K - обратный процесс, когда вы сознательно понижаете нормальную форму ваших данных. Если вы будете пропускать мимо глаз функциональные зависимости, ваши данные быстро превратятся в персональный адъ.

    И наконец, если вы такое спрашиваете - уверены, что потянете highload в принципе?
    Ответ написан
  • Как вывести атрибуты файла?

    Nipheris
    @Nipheris Куратор тега C#
    > Можно как-то написать эту программу (вывести атрибуты), не обращаясь к каждому члену типа FileAttributes (ReadOnly,Hidden и т.д.)?
    Что вы имеете в виду "не обращаясь"? FileAttributes это флаговое поле, вы берете конкретное его значение и or-ите с конкретными значениями перечисления, если операция или дает true - делаете соответствующее действие (выводите что-то на экран). Вам же нужно что-то вменяемое вывести ("Скрытый, Системный" или "HS" например), поэтому это вам проверять и решать, что делать.
    Ответ написан
    Комментировать