Я работал уже больше 12 лет в разных IT-компаниях и захотел в порыве ностальгии выписать разницу между ними, лучшие стороны, что-бы вы тоже могли научиться у них. Поехали.. Внутренняя прозрачность улучшает культуру и здоровье компании Практика периодической финансовой отчётности начальства перед своими работниками сильно успокаивает. Это происходит в форме докладов «мы выиграли проект […]
Автор: editor
Как правильно писать спецификацию
Хождение по воде и разработка по спецификации легки, если и обе заморожены Эдвард В. Берард С самого начала моей карьеры, спецификация была больной темой. В маленькой веб-студии написание «спеки» сводилось в лучшем случае к двум-страничкам A4 с описанием нового модуля для уже работающей CMSки. Со временем я повидал и спеки […]
Интеграционные тесты на дедлоки и одновременные запросы
Если вы так же озабочены тестированием как и я, то вы возможно сталкивались с проблемами дедлоков при транзакциях. Транзакции в БД дело хорошее, особенно на все REST-запросы, т.к. он становится атомарной операцией. Однако если вы вместе с этим затрагиваете часто используемую таблицу или операция происходит на файлах или с другими сетевыми […]
Управление количеством backend-процессов в реактивных приложениях
Одна из проблем с которой сталкивается backend разработчик разрабатывая приложение с отложенными вычислениями это управление параллельными процессами. Например, если вы делаете загрузку картиноккоторые необходимо в дальнейшем обработать (уменьшить, вырезать, передвинуть на другой сервер), то для масштабирования такого решения под N -> infinity пользователей, каждый этап имеет смысл делать в отдельном процессе, […]
Amazon S3 direct upload
Amazon S3 поддерживает прямой upload. Делается всё просто со сторонними библиотеками, особенно если у вас ангуляр bower install evaporate angular-evaporate —save Добавляете в настройках путь к серверной подписке, где с php очень просто делается подпись:
Цвета терминала и управление вывода с sh и php echo
Иногда, когда пишешь терминальное приложение (миграции например), хочется кроме стандартного потока, создавать более красочные сообщения и прогресс-бары. Для этого надо использовать управляющие коды для шелла. Перепечатаю для себя шпаргалку на будущее..
Многообразие тестов
Типы автоматических тестов я разделяю таким образом.. Чёрный ящик Это семейство тестов рассматривает тестируемую систему как изолированный объект малоизвестной природы Базовые сценарные/UI тесты. Соответсвуют фичам, в основном тестируют навигацию и наличие html элементов Продвинутые UI тесты. Автоматизированы и эффективны. Тестируют все роли пользователей, ресетят данные, повторяющиеся функции абстрагированы. Medium priority […]
Микросервисы #2
В прошлой статье я начал изучать микросервисный подход, но до полноценного решения тогда не дошёл. Тогда я пробовал сам поднимать процессы на php, управлять ими, связывать между собой через очереди потому что монолит не мог справиться с асинхронными задачами. Но чего у меня реально нехватало, так это нормальной изоляции и деплоймента, межсервисного […]
Микросервисы
Микросервисы в современной веб-разработке это архитектурный подход по разделению изначального монолитного приложения на независимые системные (linux) процессы. Необходимость в таком разделении возникает когда монолит становится слишком медленным для одного синхронного процесса, когда код тянет слишком много зависимостей и когда повышается риск что-то сломать в этой длинной цепочке обработки данных.
Мини-шпаргалка по Unix
С юниксом я до некоторых пор был в достаточно прохладных отношениях — мы встречались довольно редко, каждый раз у него были новые дистрибутивы и формы. То в университете Солярис удивлял своим UI, то на хостинге каком-то надо покопаться через ssh. В какой-то момент я стал пристальней посматривать за его возможностями, удивляясь […]