Привет, Artisans, меня зовут Альберто Росас, я пользуюсь Laravel уже много лет, и одна из самых полезных и стоящих вещей, которые я узнал, — это создание правильных тестовых сьютов для своих приложений. Очень приятно видеть, что тестирование все чаще практикуется в сообществе Laravel, поэтому в этой статье мы начнем с основ TDD в Laravel и продолжим тему в других статьях.
User
Перестаньте использовать SQLite в Unit-тестах
TLDR; Использование Sqlite в Laravel (или любых других PHP приложениях) для Unit-тестирования может привести к false positive результатам тестов. Тот код который пройдет тесты, не заработает после переезда в production и использования других БД, например, MySQL. Вместо этого разверните тестовую БД с использованием той же технологии и движка, которые будут использоваться вашим приложением в production.
Во-первых, позвольте мне начать с того, что я очень рад видеть, что вы проводите Unit-тестирование — вы на верном пути! Laravel познакомил многих разработчиков с миром Unit-тестирования, сделав утилиты для тестирования первоклассной частью фреймворка. Это круто! Но нам нужно убедиться, что наше чувство безопасности, которое мы получаем от наших Unit-тестов, верно.
Один из механизмов, которые Laravel предлагает для Unit-тестов, основан на использовании базы данных SQLite . Для ускорения выполнения тестов, база данных запускается непосредственно в оперативной памяти. Такое решение работает в 95% случаев. Но, дьявол кроется в деталях, в этих 5%.
Поговорим о причинах, почему это не лучший выбор.
Laravel + Docker: наш успешный опыт использования
О чем эта статья
В статье пойдет речь о нашем опыте использования Docker для быстрой настройки масштабируемого dev окружения для web разработки. Я коротко расскажу о задачах, которые стояли перед нами и об инструментах, которые были выбраны для решения этих задач. Статья отмечена значком tutorial, потому что вы найдете в ней инструкцию по разворачиваю окружения у себя. По сравнению с аналогичными статьями (ссылки в конце статьи), здесь будет меньше технических деталей и больше живых примеров.
Технический обзор архитектуры СХД Infinidat
Краткая предыстория
Что такое InfiniBox? Это система хранения компании Infinidat. Что такое компания Infinidat? Это компания, созданная Моше Янаем (создатель Symmetrix и XIV) для реализации проекта идеальной СХД Enterprise-уровня.
Компания создана как разработчик ПО, которое ставится на проверенное оборудование, то есть это SDS, но поставляется как единый монолитный комплект.
Введение
В этой статье мы рассмотрим систему хранения InfiniBox, ее архитектуру, как она работает и как достигается высокая надежность (99,99999%), производительность, емкость при сравнительно невысокой цене. Поскольку основа системы хранения — это ее ПО, а для этой системы в особенности, то основной упор будет именно на софте, красивых фото железок не будет.
Зачем нужна еще одна система хранения на рынке?
Есть ряд задач, для которых нужна очень большая емкость, при этом надежность и производительность тоже важны. Например, облачные системы, стандартные задачи крупных компаний, интернет вещей, генные исследования, системы безопасности для больших структур. Оптимальную СХД для таких задач найти достаточно сложно, особенно если смотреть на цену. С прицелом на такие задачи и была построена программная архитектура InfiniBox.
Бег — идеальный спорт для удаленщика. Часть 1: путь до первого забега на сотню километров
Меня зовут Олег, я работающий удалённо DevOps-инженер в компании «Флант», и в этой статье я постараюсь убедить вас в том, что занятия бегом — лучший выбор для удалёнщика.
Недавно сумма преодоленных мной километров перевалила за цифру 3000. Но так было не всегда. С детства я был категорически неспортивен. Уроки физкультуры и в школе, и в университете вызывали у меня стойкое отвращение.
Front-end додзё: проекты для тренировки навыков разработчика (5 новых + 43 старых)
1. Клон Notion
Приложение Notion полюбилось многим, оно позволяет оптимизировать рабочий процесс, работать с документами, планировать задачи, синхронизировать данные между устройствами.
www.notion.so
Чему вы научитесь, создавая клон Notion:
- HTML Drag and drop API. Пользователь может «схватить мышкой» draggable элемент и поместить его в droppable зону.
- Как синхронизировать в режиме реального времени данные между компьютером и смартфоном.
- Мы позволяем пользователям создавать, читать, обновлять и удалять записи, тем самым мы тренируем CRUD-навыки.
Quasar 1.0: новый полезный инструмент для Vue-разработчиков и не только для них
Как я делал социальную сеть в 2019
В этой статье я расскажу, как делал свой проект социальной сети для сферы искусства havidea.ru от идеи до релиза. Расскажу о технической части, о мотивации и самоорганизации, какими инструментами пользуюсь в процессе разработки, о проблемах в работе со сферой искусства, с которыми я столкнулся почти сразу после запуска. Проект пережил реинкарнацию, т.е. был первый вариант, который я забросил и финальный, второй, который ушел в релиз.
Отчёт с митапа «Go в продакшене»: видео, фото, презентации
Всем привет! 23 сентября мы отлично провели время в московском офисе Mail.Ru Group на митапе сообщества Go в продакшене. Собрали для вас фото, видео и презентации.
Unity3d: эксперименты с Social Interface
Так как я разрабатываю игру в свободное время в качестве хобби, то мысли о покупке плагинов, например, prime31, были отброшены сразу. Выбор пал на интерфейс Social, который входит в состав Unity. Вокруг этого пакета чувствуется интрига: практическое отсутствие справочной информации наталкивает на две мысли: либо интерфейс очень прост, либо не пригоден к использованию. Итак, пришло время в этом разобраться.
UnityEditor, динамическое содержимое редактора компонента
Издание в Стиме с минимальными затратами
В сети слишком часто ссылаются на этот мой текст, поэтому я хочу предостеречь людей: я не несу никакой гарантии за достоверность данных, рассказанных тут полгода назад. По хорошему, я хотел бы удалить эту статью, но не вижу такой кнопки в интерфейсе сайта. Тем не менее, я счел необходимым удалить некоторые пункты этим исправлением.
Эта статья мой личный опыт размещения игры в Стиме, и в ней я расскажу о тех моментах, которые беспокоили меня самого в процессе этого дела. Надеюсь, она поможет тем, кто решит пройти этим же путём. Этим немного особенным образом, дорогой минимальных усилий.
Как научиться делать игры: полезные ресурсы
Электронные сигареты: ликбез
В этом посте я попробую немного рассказать о современном состоянии дел на этом стремительно растущем рынке, что должно помочь сделать выбор. Советов про вред или пользу, за или против не будет. Их полно в сети (например, очень хорошо сказано про это в недавнем посте), кому верить каждый решает сам.
Продвижение инди-игры на Steam Greenlight
В этой статье хочу поделиться информацией, которую «нарыл» в процессе подготовки к Greenlight'у, а также попробовать проанализировать, какие гипотезы по продвижению сработали, а какие пути оказались тупиковыми. Надеемся, эта информация окажется полезной и кому-то попадёт в избранное.
Way of Tanks. Путь от идеи к игре
Я всегда затрудняюсь ответить на вопрос: откуда берутся идеи для игр? Но в этот раз, я более-менее точно могу сказать, что эта идея родилась у меня когда я увидел баннер «World of Tanks» на каком-то из сайтов. Знаете, бывают такие баннеры, которые привлекают внимание пользователя микро-играми, прежде чем перенаправить его на сайт рекламодателя? Так вот, на этом баннере был танк, который по клику мог проезжать то или иное расстояние, зачем-то пробивая при этом кирпичные стены. Вот именно с этого момента я стал размышлять, по дороге на работу, о раннере с танковой тематикой. Тут же родилась и отсылка к нашумевшему хиту от Wargaming в названии. Она показалась мне забавной, учитывая, что суть моей игры — это движение по некой дороге, пути, с целью пройти максимальное расстояние. Под хабракатом вас ждет рассказ об игре, разработке, технические детали и все-все-все, что должно быть в классической «gamedev story».
Секреты экспорта из Blender в Unity
— Теория о системе координат (правосторонней и левосторонней)
— Теория правильного создания 3d моделей в blender
— Быстрый экспорт файлов из Blender в Unity3d.
— Как правильно сопоставить масштабы модели в Blender и Unity.
— Экспорт с правильной ориентацией модели
— Почему количество вершин по-разному отображается в Unity и Blender?
Скрипты для автоматического экспорта из Blender в Unity3d (Ссылку предоставил пользователь darkfrei )
Публикация на стене Вконтакте средствами php
В действительности всё оказалось довольно просто, и чтение документации по API часто помогает сэкономить время.
Вывод WMR на карту «Связной клуб»
0.8% отдаем webmoney как обычно + 0.7% итого 1.5% за вывод на карту.
Зашел на сайт сервиса и досконально все изучил:
1. Карту делают за 10мин в любом связном
2. Картой оплачиваем в любом магазине + в интернете
3. Получаем бонусы за покупки
4. Выводим средства в банкомате с логотипом MasterCard
и т.п.
Выглядит очень заманчиво. Решил проверить.
Пришел в связной, дал паспорт, оформили анкету, оплатил 500р (которые потом будут на карте), подписался.
Спать мало, но правильно?
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Information
- Rating
- Does not participate
- Location
- Пермь, Пермский край, Россия
- Date of birth
- Registered
- Activity