Как стать автором
Обновить
19
0

Пользователь

Отправить сообщение
Ну а также постоянное копирование умных указателей может замедлить выполнение паралельных задач
Мартин Фаулер в своей книге уделяет большое внимание юнит тестам. Если код не покрыт юнит тестами, то рефакторинг такого кода становится опасным.
Хорошо бы упомянуть как-то этот момент на Вашем сайте, допустим в интерактивных примерах можно добавить шаг с запуском юнит тестов, и т.п.
У Вас ошибка в живом примере на Java refactoring.guru/replace-method-with-method-object:
В шаге 5 отсутствует замена локальных переменных приватным полями.
Хорошо бы добавить кнопку «Сообщить об ошибке».
А так сайт отличный, однозначно в избранное!
>> С++ даёт возможность контроля типов, один из инструментов для этого — шаблоны. Программу того аппарата можно было спроектировать так, что ошибка несогласованности систем мер и весов были бы невозможны.

Кто мешает завести различные типы для систем мер и весов, и зачем для этого применение шаблонов?
Думаю имелось в виду что-то типа scoped_lock
inject_as_object делает привязку к одной конкретной реализации, а что, если захочется иметь две разные реализации?
Также что делать, если нужно использовать разные параметры конструктора для разных клиентов?
Мне кажется более удобным и гибким решением делать inject на уровне объектов, а не классов.
Спасибо, довольно интересная получилась история.

>>Оказывается в трекере была установка — удалять неактивных пользователей
Я надеюсь, что после этого вы научились делать резервную копию базы пользователей?

Успехов Вам в развитии сервиса!
REPL
Почему-то не вижу особого смысла для C++:
>>Для проверки какой-либо конструкции языка или его возможности Вы создаете полноценное тестовое приложение.
Если задача состоит в том, чтобы сделать какой-то эксперимент, можно сделать это в виде юнит-теста, у Вас ведь есть существующая инфраструктура для юнит-тестов? Такой подход даст возможность без особого труда поиграться с объектной структурой Вашего приложения. Ну а если нужно написать какой-то тест для проверки производительности чего-либо, то тут уже не обойтись без отдельного тестового приложения.
>>Для вычисления значения какого-либо сложного выражения, Вы долго мучаетесь с калькулятором…
Калькулятор на C++, а смысл? Думаю проще воспользоваться другими средствами.
Программисты создадут продукт для таких же программистов и этот продукт обычным людям будет не нужен.
Выбирать направление разработки должны бизнес аналитики, учитывая интересы компании и ее клиентов.
Плечо 1:1000 и форекс это верный путь к потере денег.
habrahabr.ru/company/itinvest/blog/202526/
Каким образом тестировалась библиотека, в каких проектах она использовалась?
Спасибо, теперь стало немного понятней с LoadStore, хотя для реализации такого поведения нужен некий механизм задержки обработки store до завершения чтения, хотелось бы понять устройство такой логики на уровне архитектуры процессоров.

Я понимаю барьер StoreLoad следующим образом:
Допустим операция записи была выполнена через store buffer и данных пока еще нет в кеше. Для того, чтобы упорядочить последующую операцию чтения, данные из store buffer необходимо перенести в кеш линию. Тоесть результат предыдущей операции записи должен быть сохранен в кеше прежде, чем начнется операция чтения.
Большое спасибо за статью, я в первые начал немного понимать зачем нужны барьеры и как они работаю.

Единственное чего не могу понять, так это что такое Load/Store барьер, и как он реализован в схеме store buffer/invalidate queue. Ведь если операция чтения была произведена из ранее инвалидированной кеш линии, то дальнейшая обработка invalidate queue ни к чему не приведет. Или инструкция Load/Store обрабатывает invalidate queue перед выполнением чтения, то есть это будет комбинация read/write барьеров?
smp_rmb();    // барьер чтения
if (a == 0)   // чтение
{
   smp_wmb(); // барьер записи
   b = 1;     // запись
}

Было бы здорово разобрать примеры поведения двух процессоров в случаях Load/Store и Store/Load.
При прочтении сего у меня появилась мысль — а что, если массово отказаться от употребления копирастического контента?
dump_viewer.exe зависит от kdecore.dll, msvcr100.dll, qtcore4.dll, qtgui4.dll, qtwebkit4.dll.
Похоже для запуска нужно ставить еще Qt и kdelibs.
dump_viewer.exe — Ошибка приложения
Ошибка при запуске приложения (0xc000007b).
Для выхода из приложения нажмите кнопку «ОК».
Windows 7 x64
Хочу поделиться одной историей с моей жизни.
Дело было на моей первой работе после окончания института.
Взяли меня программистом в одну государственную контору в отдел АСУП
и выдали мне старенький компьютер, пока новый компьютер еще не заказали.
И все бы ничего, но этот старенький компьютер любил пререзагружатся сам по себе, и довольно часто.
В общем работать на нем было практически невозможно,
т.к. в любую минуту можно было потерять не сохраненные изменения.
В общем, в ожидании нового компьютера, я решил поиграть пока в Quake.
И вот, играя в Quake я замечаю, что компьютер то не перезагружается!
Я свернул Quake и поработал немного, компьютер по прежнему не перезагрузился.
В итоге мой рабочий день начинался так: прихожу я на работу,
включаю компьютер и быстро запускаю Quake пока компьютер не успел перезагрузится,
затем сворачиваю Quake и продолжаю работать.
Невероятно, но факт.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность