Открыть список
Как стать автором
Обновить
8
Карма
0
Рейтинг

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

Wrike уходит от использования языка Dart. Часть 1

Достаточно смешная новость.

Разделённые запросы в EF Core

Неплохо, на EF6 загружали руками с помощью DbEntry.Collection и DbEntry.Reference. Это намного быстрее, чем построение сложного запроса.

Лучшие open source альтернативы MS Project с диаграммами Ганта

К сожалению, ProjectLibre и GanttProject почти не развиваются и имеют крайне ограниченный функционал.

Автотесты на базе playwright и jest

jest-playwright-preset это тихий ужас, есть какая-то альтернатива этому?

Почему Event Sourcing — это антипаттерн для взаимодействия микросервисов

Перевод немного хромает и из-за этого трудно понять о чем речь.


I still argue that Domain Events are a perfect fit for the communication between Bounded Contexts, but these events shall not correspond to the events used for Event Sourcing.

Тут еще нужна оговорка о том, какие данные сервис отдает публично, иначе все равно может понадобится ввести дополнительное событие и будет ровно та же ситуация, что и в начале.

Анбоксинг в современной Java

Все-таки range это в некотором смысле ленивая конструкция, требовать от нее высокой производительности немного странно. А что если нужен range с шагом отличным от единицы? Справится ли JIT?

Реализуем кооперативную многозадачность на C#

Не совсем я понял проблему, Task.Yield необязательно переключает потоки, зависит от того есть или нет SynchronizationContext и какой TaskScheduler используется. Можно даже не писать своего, а использовать готовый SynchronizationContext из UI фреймворка, он будет все выполнять на одном треде.

Быстрое чтение CSV в C# (fast read CSV)

Результаты, надо сказать, отличаются: https://www.joelverhagen.com/blog/2020/12/fastest-net-csv-parsers


Есть над чем подумать :)

Многопоточность на низком уровне

Судя по всему, речь шла о классе SpinWait который как раз использует стратегию отката к Sleep и Yield. А дальше не совсем верный пересказ о том, что busy-wait может очень сильно замедлить общий прогресс всех потоков (thread starvation), особенно если процессор с одним ядром.

Dell XPS 17 9700: компактный 17-дюймовый ноутбук для профессиональных задач

Достаточно попользовался устройством, чтобы сделать некоторые выводы.


  • Он реально тяжелый, до это у меня были 15'' модели XPS у них вес комфортный, а этот точно тяжелый.
  • Клавиатура. Ужасное решение отказаться от комбинации fn + left и fn + right, вместо этого кнопки home и end стали fn + F11 и fn + F12. Это чистый кошмар. Размер стрелок тоже зря поменяли. Кнопка включения зря переехала на ряд функциональных клавиш.

В остальном все работает, к тачпаду вопросов нет, к вайфай карте тоже. Батарея тоже держится неплохо.

Собеседую программистов на Java. Единый набор вопросов для любого уровня

Последний пункт интригует. Как выглядел этот кандидат, который нашел только 13 ошибок?

GitHub убрал ограничения в приватных репозиториях

Интересно мне, как поменялись перспективы у JetBrains c их Space?

Java-чемпион или Java-лузер: тест для разработчиков

Терпимо, кроме формулировки первого вопроса и использования слова замок.

5 способов провалить внедрение DDD

Я пробовал смотреть разные примеры на Java/C#, но ничего толкового так и не нашел. В основном они очень примитивны и не покрывают даже минимальных самых частых проблем, про остальное и говорить не приходится.


По вашей ссылке автор ушел дальше абсолютного большинства, но только на первый взгляд. Куча инфраструктурного кода, за которой прячется сохрание 5 обьектов в базу и диспатч событий, кроме того, много спорных технических решений (кварц, голый sql, использование view для построения DTO, куча статических методов, дублирующийся код и так далее). Основная ценность — показано как использовать autofac.


Я буду признателен, если у вас есть другие примеры.

Не очередной язык программирования. Часть 1: Логика предметной области

NitroJunkie, я понимаю о чем вы говорите и уточню вопрос еще немного.


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


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

Не очередной язык программирования. Часть 1: Логика предметной области

NitroJunkie, с Repeatable Read понятно, у меня вопрос немного другой. Допустим в модели есть свойство Name и два пользователя одновременно изменяют это поле. Пример урощенный, это могут быть и списки и еще что-то. В большинстве систем первому удастся сохранить, а вот второй пользователь получит ошибку, мол данные обновились, оптимистик лок. Я проверил у вас на демо и похоже всегда побеждает последний, каких-либо предупреждений при этом не выводится и возникает ситуация когда чужие изменения могут быть затерты непреднамерено.


В связи с этим второй вопрос как работает сохранение, сохраняется дельта или вся запись обновляется или еще более сложный вариант?


И еще вопрос, как работают более сложные процессы, где откат и повтор транзакций слишком дорогой, например, при обновлении большого числа записей?

Выпущен «шрифт для разработчиков» JetBrains Mono

Пользуюсь Fira Code, а этот шрифт тяжеловато читать, имхо.

Не очередной язык программирования. Часть 1: Логика предметной области

NitroJunkie, назрел один вопрос, каким образом обеспечивается целостность данных при одновременном редактировании? Демо система работает по принципу побеждает последний.

Скандал на конкурсе Kaggle: победитель сжульничал, алгоритм плохо оценивает шанс бездомных животных найти хозяев

Помню смотрел выступление Pavel Pleskov, где он рассказывал как стать Kaggle мастером, и на тебе — клеймо читера.

Исследуем записи в Java 14

Каждое нововведение в джаве вызывает смешанные чувства, одновременно и хорошие и плохие.


Что такое Record? Скорее всего это просто класс со всем его поведением, но вводится новое ключевое слово record и теперь у нас есть и class и record, но пишем мы point.getClass()… Разве не лучше было бы record class хотя бы? Когда-нибудь дойдет до структур и получим class, record и struct, угадай что тебе надо.


Хороший вопрос про геттеры и сеттеры, да и многие примеры вызывают один и тот же вопрос, почему сделан такой выбор?

Информация

В рейтинге
3,354-й
Откуда
Минск, Минская обл., Беларусь
Зарегистрирован
Активность