Зачем (не)нужны геттеры?

Прошлая статья про сеттеры/геттеры как способ работы с сущностью (на примере Symfony в PHP) получила бурное обсуждение. В данной статье попробую выразить свои мысли отдельно по поводу геттеров: зачем и когда что-то получать, какую ответственность они решают и когда их уместно использовать, когда не уместно. Постарался собрать мысли в одном месте и формализовать их вместе […]

sMock — Swift mocking framework для Unit-tests (спасибо gMock за идеи)

Проблема Переходя в мир Swift из ObjC/C++, я столкнулся с проблемой при написании юнит-тестов: отсутствием инструментов для создания Mock-объектов. При написании декомпозированного кода мы часто скрываем детали реализации за интерфейсами (протоколами). А также проверять функциональность того или иного объекта отдельно от других очень удобно, подменяя его составняе части моками. Погуглив, я нашел несколько фреймворков Swift […]

Понимание CSS Grid (2 часть): Grid-линии

Приветствую! Представляю вашему вниманию перевод статьи «Understanding CSS Grid: Grid Lines» автора Rachel Andrew В первой статье из серии "Понимание CSS Grid" мы рассмотрели, как создавать родительский grid-контейнер и различные свойства, применяемые к данному элементу. Когда сетка создана, в нашем распоряжении оказывается набор grid-линий. В этой статье вы узнаете, как располагать элементы вдоль данных линий […]

Создание люфта *

Домохозяйство – это миниатюрная экосистема со входами, выходами и потоками; такая идея может сделать жизнь намного лучше Иллюстрация Питера Гранди/BA Reps В начале наших отношений 17 лет назад мы начали говорить о приобретении собаки. «Было бы здорово иметь собаку, – часто звучало в разговоре, – но у нас нет времени о ней заботиться». Попробуем в […]

Счастье в нищете

В такое мрачное время откопал один из своих ранних мрачных коротких рассказов. Придумано около 1990 года, записано чуть позже. После 91 пошла оптимистичная движуха, не в пример тому, что сейчас. Чем-то навеяно "За миллиард лет до конца света" Стругацких, одним из двух моих любимых фантастических произведений. Счастье в нищете Он закончил писать очередной лист и […]

Адаптируем существующее бизнес-решение под SwiftUI. Часть 1

Доброго всем времени суток. Меня зовут Анна Жаркова, я ведущий мобильный разработчик компании «Usetech» О технологии SwiftUI, которую Apple анонсировали в прошлом году WWDC 2019, говорили уже много. В принципе уже довольно материала про ее особенности, что у нее под капотом и как это использовать для быстрого и красивого UI. Предлагаю вам небольшой цикл статей […]

Адаптируем существующее бизнес-решение под SwiftUI. Часть 2

Доброго всем времени суток! С вами я, Анна Жаркова, ведущий мобильный разработчик компании «Usetech» В этой части мы уже поговорим по делу, как можно адаптировать готовое решение к проекту на SwiftUI. Если вы еще не особо знакомы с этой технологией, то советую ознакомиться с кратким введением в тему. Итак, рассмотрим простой пример, как можно использовать […]

Как подружить Electron и Webix. Часть 2. Создаем приложение со своим View

Введение В предыдущей статье мы рассмотрели с Вами вопрос интеграции фреймворка «Webix» в «Electron» и создание на основе этих фреймворков простого GUI приложения. Цель данной статьи является дальнейшую развитие вопроса интеграции в GUI интерфейс, построенный с помощью «Electron» и «Webix» других «JavaScript» фреймворков. Все элементы GUI реализованные в «Webix» характеризуются параметром «view». В зависимости от […]

Марафон удалёнки, неделя 3: нерабочие процессы

Лучшие идеи рождаются в курилках, это всем известно. А еще — во время утренних разговоров у кофемашины и вечерних походов в бар с коллегами. А что делать, когда мы все сидим по домам? На третьей неделе марафона говорим про все, что напрямую не связано с работой, но очень на нее влияет — общение, нетворкинг, социализацию […]

Генерация предсказуемых случайных последовательностей: другой подход к пермутациям

Однажды я работал над проектом, задачей которого было создание утилиты для экзаменации. Один пользователь создает вопросы, объединяет их в тест, устанавливает какие-то правила типа времени на исполнение, как подсчитывать баллы. А другой пользователь просто открывает и отвечает на вопросы. Кроме прочего, стояла задача реализовать возможность перемешать последовательность вопросов, но так, чтобы для определенного пользователя она […]