• Ваша лучшая программа для теста жесткого диска. Ваш выбор и почему?

    Arris
    @Arris
    Сапиенсы учатся, играя.
    Я пользуюсь нестареющей классикой - Victoria.
    Ответ написан
    1 комментарий
  • Публичные базы с описанием уязвимостей?

    Ответ написан
    Комментировать
  • Листинги к книге Карли Ватсона С#?

    @jackroll
    Сверхразум
    Серьезно, возьмите книжку по новее, Шилдта например. C# потерпел много фундаментальных изменений с 2005 года.

    u4w8miV.png
    Ответ написан
    Комментировать
  • Когда допустимо возвращение ссылки в функции? Когда ссылки на константу?

    Отличаются тем, что во втором случае объект по ссылке изменять нельзя. От возврата по значению отличаются тем, что при возврате по значению происходит копирование объекта со всеми вытекающими:
    1. Это может быть накладно
    2. Результат - это копия, поэтому изменения, внесённый в неё - это изменения в копии, а не в том объекте, который возвращался. По этой причине, например, operator [] у класса-массива должен возвращать ссылку, чтобы изменяя полученную ссылку, изменялось бы значение, которое лежит в массиве.

    Ссылка в этом смысле не отличается от указателя, кроме того, что не может быть null. Поэтому нельзя, например, возвращать ссылку на какую-то временную переменную:
    int & foo()
    {
      int x = 100;
      return x;
    }
    int main()
    {
      int & y = foo();
      y = 10; // UB
    }

    Переменная x тут умрёт по выходе из foo, и y будет ссылаться на уже мёртвую переменную. Но можно возвращать ссылку на член класса, если объект класса будет жить дольше, чем ссылка. Т.е. так можно:
    class Test
    {
      int x;
    public:
      int & getx() { return x; }
    };
    int main()
    {
      Test t;
      int & y = t.getx();
      y = 10; // t.x будет равен 10
    }

    А вот так опять нет:
    class Test
    {
      int x;
    public:
      int & getx() { return x; }
    };
    int main()
    {
      int * y;
      {
        Test t;
        y = &t.getx();
      }
      *y = 10; // UB, t умирает в конце блока, x тоже, а обращение идёт уже после
    }
    Ответ написан
    1 комментарий
  • Как использовать общие переменных в многопоточных программах с++?

    Olej
    @Olej
    инженер, программист, преподаватель
    как работает многопоточность в с++

    в нескольких параллельных процессах

    Вы уж как-то определитесь кто вас интересует: потоки или процессы.

    В любом случае вам нужны блокировки для синхронизации.
    Их есть большое разнообразие ... на любой вкус ;-)
    Если вас интересуют потоки, то любого вида примитивы синхронизации вам подходят ... начиная с простейшего мютекса.
    Если вас интересуют процессы, то вам нужны примитивы синхронизации с областью видимости операционной системы, это могут быть: блокировки на файлах, pipe, именованные семафоры и т.д.

    Пытаться засинхронизироваться на простых переменных (как у вас safe_mode ... и любые изыски вокруг) - бессмысленно.
    Ответ написан
    4 комментария
  • Когда ооп быстрее процедурного?

    @Mercury13
    Программист на «си с крестами» и не только
    ООП рассчитано не на скорость исполнения, а на скорость разработки. Как, впрочем, и многие другие современные технологии разработки. Всё, что ООП делает, можно реализовать и без ООП, и даже эффективнее. Стоит ли — другой вопрос.

    Какую задачу конкретно решает ООП? Обуздать сложность разработки программ, собранных из взаимодействующих компонентов. Вот от этого и пляшем: если программа не модульная (например, какой-нибудь сложный научный расчёт), ООП мало поможет. Также ООП не поможет, если стандартная реализация ООП недостаточно эффективна по процессору или по памяти — например, в мою бытность JavaMe’шником ООП не жаловали, поскольку памяти много ел, типичный мобильник имел от 215 до 800 килобайт доступной памяти. Также плохо будет работать там, где нет взаимодействия (на типичном PHP, который выдал страничку и исчез).

    Что на PHP можно реализовать объектно?
    • Поддержку каких-то протоколов (БД, почта, какая-нибудь внешняя веб-служба наподобие VK API или Mandrill).
    • Что-нибудь из предметной отрасли, что меняет своё состояние — например, генерация картинок, звуков, архивов, PDF…
    • Может, сделаешь какой-нибудь генератор страниц, который сначала собирает каркас страницы, а затем, в зависимости от настроек и целевого устройства, обращивает его HTML-кодом.
    Ответ написан
    Комментировать
  • Как выполнить запрос с условием?

    Melkij
    @Melkij
    PostgreSQL DBA
    В запросе этой таблицы нет. Парсер не знает, к чему вы пытаетесь обратиться по имени personality.
    Ответ написан
    Комментировать
  • Какой смысл типа union?

    Olej
    @Olej
    инженер, программист, преподаватель
    Какой смысл типа union? Я знаю что это ну не видел нигде где его используют.

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

    Главное применение union - это наложение разного типа данным на одну общую область памяти, т.е. представление одной области памяти как разные типы данных. Это идёт ещё от блоков COMMON в FORTRAN и вариантных записей Pascal.

    Применяется очень широко в системном программировании - например, весь код ядра Linux пестрит union-ами.
    Ответ написан
    Комментировать
  • Практический задачник по С++?

    @vilgeforce
    Раздолбай и программист
    Казалось бы да, но "задачник" этот будет по технологии рисования гуя, а не по плюсам. Да и не задачник вовсе это будет. Короче, учите Qt.
    Ответ написан
    Комментировать
  • С чего начать изучения: с DirectX 9 или DirectX 11?

    @asd111
    11
    Книга по directx 11
    Книга по directx 9

    Хорошие книги по directx пишет Frank Luna.
    Ответ написан
    Комментировать
  • Картинка из картинок.Как сделать??

    @Mercury13
    Программист на «си с крестами» и не только
    Простейший вариант…
    1. Для каждой малой картинки выбрать «средний» цвет.
    2. Уменьшить исходное изображение до M×N px, и в каждый пиксель вместо сплошного цвета подставить ту картинку, которая больше всего подходит по цвету.

    Алгоритм можно совершенствовать — например, подставлять одну из 10 наиболее подходящих, а если в радиусе, скажем, 30 единиц есть куда больше 10 картинок — брать их все. А можно ещё использовать метод коррекции ошибок Флойда-Стейнберга (наиболее удачный метод при переводе картинок в N цветов)
    Ответ написан
    3 комментария
  • Инкапсуляция, отсутствие её - проблема?

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

    @teugen
    Призрак алкоголизма.
    Вот, например, хороший ответ.

    This rule means that if the header uses a type - such as 'FILE *' or 'size_t' - then it must ensure that the appropriate other header ( or for example) should be included. A corollary, often forgotten, is that the header should not include any other header that is not needed by the user of the package in order to use the package. The header should be minimal, in other words.


    Вкратце: включений в заголовке должно быть как можно меньше, при этом в нём должны быть включены все заголовки, необходимые для беспрепятственной работы кода, в нём описанного.

    В вашем случае, если vector используется исключительно в реализации и в описании blackbox'a никак себя не проявляет, включать его нужно в .cpp
    Ответ написан
    Комментировать
  • Какие могут быть проблемы у валютных фрилансеров из-за нового закона цб?

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

    MaxDukov
    @MaxDukov
    впишусь в проект как SRE/DevOps.
    чисто теоретически - никаких проблем, классическая атака MITM. На практике с вероятностью 99.99% прошивка подписана ключем и неродная просто не встанет.
    Ответ написан
    2 комментария
  • Есть ли такой инструмент?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега CSS
    gulp/grunt/наёмный верстальщик
    Ответ написан
    2 комментария
  • Зачем нужны два раза двоеточия без класа?

    @MiiNiPaa
    Указывает, что имя принадлежит глобальной области видимости.
    Ответ написан
    1 комментарий
  • Как правильно проводить "раскопки" сложной структуры БД на крупном проекте?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега MySQL
    MySQL Workbench позволяет построить диаграмму БД из готовой схемы.
    Ответ написан
    1 комментарий
  • Раз в пять минут надо опрашивать сервер на жизнь и на нагрузку на нем?

    Jump
    @Jump
    Системный администратор со стажем.
    Если серверов много - zabbix.
    Если сервер один - простейший самописный скрипт.

    подумывал про написанием скрипта при помощи гугла, но в статьях не рекомендуют этого т.к в любой момент сервер может отвалиться и соответственно выполнение скрипта прекратиться.
    И где тут проблема? Разве должно быть как-то по другому?
    Ответ написан
    Комментировать