Базово Yii2 из коробки предлагает нам архитектуру приложения по шаблону MVC (модель, представление, контроллер). Для более сложного приложения прибегаем к чистой архитектуре и в рамках неё необходимо отказаться от Active Record в шаблонах (представлениях), т.к. Active Record это часть слоя по работе с базой данных, о которой другим слоям знать не нужно. Предполагаем, что мы хотим продолжить использовать встроенные виджеты по отображению данных в представлениях: DeatilView
, ListView
и GridView
. Последние два используют ActiveDataProvider
, который в себе содержит Active Record модели - цель данной статьи избавиться от них и использовать только DTO.
Пользователь
Гоночные дроны с ИИ обгоняют чемпионов на скорости 80 км/ч

Понять суть состязания можно по уровню скорости и манёвренности на видео пролёта гоночным дроном трёх кругов трека в Цюрихском университете. Этим видео и не только делимся под катом к старту нашего флагманского курса по Data Science.
Что там с квантово-устойчивой криптографией

В начале июля институт NIST одобрил четыре защищенных алгоритма. В блоге T1 Cloud мы рассказываем про облачные технологии, разработку и информационную безопасность. Поэтому сегодня мы решили подробнее поговорить о новых алгоритмах — обсудить принципы работы, мнение сообщества и перспективы внедрения таких систем на практике.
Глубокое погружение в рекомендательную систему Netflix

Как Netflix добился 80 процентов от всего своего стримингового времени благодаря персонализации.
Квадрант Gartner 2022 года по решениям для мониторинга приложений (APM)

В этом году крепко призадумался, стоит ли публиковать полноценный обзор на свежий квадрант Gartner по APM системам, ведь почти все участники (или почти все) этого квадранта прекратили продажи в России и непонятно когда их возобновят. У себя в телеграм-канале Мониторим ИТ в основном пишу про доступные в России бесплатные решения для мониторинга и что-то коммерческое в последнее время там редко проскакивает. Но уж очень там много интересных изменений произошло в квадранте с момента прошлой публикации в 2020 году. В 2021 году публикация как-то сама собой не написалась и не опубликовалась, но вы немного пропустили, поэтому в этой статье приведу прошлогодний квадрант просто для информации с краткими комментариями. В конце статьи ссылка на полный отчет Gartner. Погнали — чего ждать-то?
Аудиофилия за 200 рублей, рай для бомжей и ламповый усилитель из мусора

Начну, пожалуй, издалека, ибо предыстория весьма любопытна.
Порой бывает, что старые люди собирают у себя в квартире множество вещей, которые "нужны, пусть лежит, в хозяйстве-то пригодится". Причем скапливается это в таких количествах, что жилье перестает быть жильем и плавно меняет свое исходное бытовое предназначение на помещение для сбора и сортировки мусора, принесенного с помоек.
Так, собственно, вот... будучи завсегдатаем местной городской барахолки, случайно разговорился с одной дамой бальзаковского возраста, которая принесла на продажу советские радиолампы. Оказывается, ее ныне покойный отец как раз был из числа таких товарищей плюшкиных, и за жизнь свою успел собрать столько, что из комнаты в комнату можно было пробраться, только проползая под потолком поверх монструозных гор хлама.
Обменялись с ней номерами, и через некоторое количество дней мне удалось проникнуть в ее нору. При приближении к дому, в принципе уже появились догадки, в какой именно квартире проживает хозяйка. В глаза бросились выбитые стекла и сгнившие дочерна деревянные рамы на первом этаже пятиэтажки. Проникновение внутрь когда-то бывшего жилым помещения двухкомнатной хрущёвки оказалось весьма затруднительным - проход в коридор был возможен только методом протискивания бочком сквозь щель между стеной и кучей хлама, из-под которой неявно проступали очертания советского холодильника. Тем не менее, после осуществления данной процедуры, я оказался внутри самого настоящего рая для бомжей.
Под горами полусгнивших совдеповских шуб и ковров, символизирующих о былом достатке, наваленных в той части квартиры, которая по логике вещей должна была быть ванной, поблескивало разного рода имущество по типу полуразграбленных на детали кассетных магнитофонов, медицинских контейнеров для стерилизации инструментов и кто знает чего еще. В тамбуре, соединяющем ванну, толчок и кухню, навалены баулы справочников по радиоэлектронике...
Дайджест интересных материалов для мобильного разработчика #451 (11 — 17 июля)
Подключайтесь к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

Пишем первую программу по машинному обучению до 50 строк с помощью Scikit-Learn

Сегодня мы воспользуемся возможностями машинного обучения для анализа шоколадного печенья.
Стоит ли тебе прочесть книгу «Идеальный программист»?

Сегодня я расскажу тебе, достойна ли книга Роберта Мартина “Идеальный программист” внимания. Стоит ли её читать, если ты уже опытный программист, прошедший большой путь и многое познавший? А если ты только начинаешь свою нелегкую дорогу в мир разработки? Быть может ты находишься где-то по середине и не знаешь, как дальше развиваться? Может ты вообще до этого не читал никакой технической литературы и боишься к ней подступиться? На все эти вопросы ты найдешь ответ в этой краткой статье.
Эволюция игрового фреймворка. Клиент 1. Логика отображения

Всякая игра — это прежде всего то, что пользователь видит на экране и с чем он взаимодействует посредством устройств ввода (мышь, клавиатура, джойстик). То есть игра — это в первую очередь отображение. Простая игра так может и остаться отображением навсегда. В более сложной — приходится выделять также менеджеры, модели, сервисы, контроллеры. Но об этом в потом. Тут же мы начнем с графики и ее непосредственным управлением.
Метод нашей разработки прост. С одной стороны, чтобы избегать дублирования, мы будем выносить блоки кода сначала в цикл или функцию, потом в класс, а затем и в библиотеку. (И так до тех пор, пока у нас не появится фреймворк.) С другой стороны, мы будем ограничивать себя, создавая только тот код, который нужен именно сейчас, не фантазируя наперед о том, что может или не может понадобиться в будущем. Вот простая пара принципов: избегать дублирования и при этом не усложнять сверх необходимого.
Все примеры реализованы на Haxe + OpenFL), но код должен быть понятен всем, кто знаком с семейством языков ECMAScript. Главное же тут не код, а те идеи, которые за ним лежат.
«Я видел будущее автомобилей, и оно электрическое»

Я никогда не считал себя «автолюбителем». Последней новой машиной, которую я купил, был необычный Ford Contour SVT 1998 года выпуска. С тех пор в 2011 году и мы купили универсал VW и минивэн Honda в 2012 году для семейных перевозок. Ну и всё.
Универсал имел смысл для семьи из 3 человек. Но когда у нас родились близнецы, стал маловат. Как однажды сказал Марк Твен: «Сейчас достаточно одного ребенка. Пока вы в здравом уме, никогда не молитесь за близнецов. Близнецы — это постоянный бунт. И нет никакой реальной разницы между тройняшками и восстанием» Поэтому мы думали над покупкой минивэна. Однако сейчас у нас Kia Niro 2019 года. И это не минивэн. И он электрический.
Как запланировать повторяющийся запуск VBA-процедуры в MS Excel без Application.OnTime

Привет, Хабр!
В этой статье мы демонстрируем простую альтернативу Application.OnTime для периодического запуска VBA-процедур в MS Excel.
Данный подход особенно удобен, если требуется передавать данные из листа MS SharePoint в книгу MS Excel в режиме реального времени.
С уважением,
Владимир
Звуковой кейлоггер. Определяем нажатые клавиши по звуку

Не секрет, что у каждой клавиши на клавиатуре — уникальное звучание, которое зависит от её расположения и других факторов. Теоретически, анализ спектрограммы позволяет отличить клавиши друг от друга, а по частотности нажатий определить, какому символу соответствует каждый звук. Задача распознавания звуков упрощается тем, что при наборе связного текста символы хорошо прогнозируются по словарю (а именно, по частотности n-грамм для текстов).
Что такое шейдеры, зачем они нужны и как разобраться во всем этом. Краткий экскурс по рендерингу в Unity

Всем привет. Сегодня я хотел бы задеть такую тему, как рендеринг и шейдеры в Unity. Шейдеры - простыми словами это инструкции для наших видео-карт, которые говорят, как правильно отрисовывать и трансформировать объекты в игре. Итак, welcome to the club buddy.
Язык барабанов: осмысленный и беспощадный

Недавно задумался о том, как прямо на наших глазах меняются представления о телекоммуникации, и уже практически ушел в историю «телефон на тумбочке в прихожей» (в последний раз видел такой телефон в свежеарендованной квартире весной текущего года). Так, я нашел в Интернете удивительно логичное объяснение кнопочного телефона, сформулированное пользователем ребенку: «Это как домофон, только набираешь не номер квартиры, а номер мобильного» (не могу найти первоисточник). В то же время, Чарльз Петцольд в книге «Код» упоминает о том, что английское слово «relay» (от которого происходит русское «реле») до эпохи телеграфа означало «перекладная» — то есть, свежая лошадь для гонца из таких курьерских служб как «Пони-Экспресс».
Поэтому я проверил, а с каким явлением в 80-е годы XIX века ассоциировали телефон Белла и Эдисона – и с удивлением обнаружил, что ближайшим ее аналогом считалась связь через язык барабанов. Именно с главы «Говорящие барабаны» начинается знаменитая книга Джеймса Глика «Информация. Теория. Поток», и ниже я постараюсь обрисовать язык барабанов как средство связи. Тем интереснее, что до сих пор существуют системы барабанных кодов, которые передают как музыку, так и язык.
Рокетмены и право. Ракетомоделизм — это законно?

В посте про правовое регулирование дронов меня заинтересовал вопрос @vinny496 про то, каким образом в РФ регулируется модельное ракетостроение. В этом посте я представляю результаты небольшого правового расследования на эту тему.
В начале, тем не менее, стоит отметить, что в России регулированию такого хобби посвящено очень мало правовых актов. С одной стороны, ракетомоделизм не запрещен законом. Более того, по всей стране действуют десятки клубов ракетчиков, работает Федерация ракетомодельного спорта, организуются соревнования, в том числе Всероссийские соревнования по ракетомоделизму, проводимые в Пермском крае.
С другой стороны, на форумах ракетомоделистов люди постоянно задаются вопросами о легальности самостоятельных пусков ракет и правовых рисках этого хобби, отдельных лиц даже привлекают к уголовной ответственности за изготовление топлива для моделей ракет. Нигде нет четкого и понятного закона или правил, относящихся к ракетчикам-любителям.
Такая ситуация отличается от США, где ракетомоделизм более институционализирован и вопросы изготовления топлива для ракет и их запуска регулируются федеральным законодательством, а также изложены в справочниках Национальной ассоциации ракетомоделизма.
Этот пост представляет собой попытку разобраться в требованиях закона и установить границы легальности этого захватывающего хобби.
Миниатюрное десктопное GUI приложение на PHP — 2 МБ хватит для всех

Я часто заморачиваюсь на тему минимизации размера своих GUI приложений. Прошлая моя статья была про Nuklear. Но сейчас захотелось более современных технологий. Чтоб HTML5, CSS3 и PHP. Чтоб приложение ни от чего не зависело, т.е. построено по принципу "всё включено". И чтоб конечный размер приложения не превысил 2 МБ. Получится ли?
В Linux я часто пользуюсь утилитой df. Мне её очень не хватает в Windows, а искать аналоги лень. Так что было сделано волевое решение сделать свою, на РНР 5, с бутстрапом и JQuery.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность