Блог хеллоуворлдщика

Баг с Android эмулятором в Android Studio

В последнем обновлении Android Studio 4.1.3 под macOS не работает Android Emulator из-за отсутствия библиотеки IOUSBHost. Данная проблема распространяется на macOS версии Mojave и ниже. При попытке запуска AVD вылетает ошибка "The emulator process for AVD was killed".

По данной проблеме создан баг-репорт. Если вы все-таки обновились и столкнулись с данной проблемой, пожалуйста, отпишитесь по указанной ссылке. Это поможет ускорить решение проблемы разработчиками.

Если нет времени ждать исправления и нет физического устройства для тестирования, то вариант решения проблемы без downgrade изложен здесь.

UPD 02.04.21: Появилось обновление Android Emulator 30.5.4 с исправлениями.

Читать далее

Экранирование спец-символов в LIKE

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

Читать далее

Ускоряем работу Docker и/или Vagrant

Если вы заметили, что Docker или Vagrant быстрее работает с отключенной сетью интернет, а с ней наоборот работает медленно, то эта статья для вас.

Я столкнулся с этой проблемой после переезда: у меня изменился роутер. И первое на что я обратил внимание это то, что попытка подключения по локальным адресам занимала до 30 секунд и более, хотя раньше это работало намного быстрей. Так как я не самый продвинутый специалист в сетях и маршрутизации, то какое-то время, можно сказать, бился в закрытую дверь, хотя понимал, что дело именно в попытке разрешить локальный адрес через интернет или что-то вроде этого. Спустя год, после возникновения проблемы и различных проб и ошибок, я готов поделиться решением.

Читать далее

Xiaomi, Belkin или Apple? Кабель USB Type-C для Macbook

Xiaomi, Belkin или Apple? Кабель USB Type-C для Macbook

Как ни странно, но вопрос насчет того, какой кабель USB Type-C лучше всего подключать к вашему Macbook, абсолютно не обсуждается. И я решил поделиться своим опытом с другими.

В магазинах кабелей USB Type-C навалом. Есть очень дешевые, типо, Partner. Есть чуть дороже, типо Xiaomi. Или еще дороже, типо, Belkin, Moonfish или Apple. Но так ли нам важен производитель? Как я выяснил - да. Об этом я и хочу с вами поговорить.

Читать далее

Мое честное мнение о MacBook Pro 13 2017

Почти три года назад стал обладателем MacBook Pro 13 2017 в кастомной конфигурации. Сейчас хочу рассказать свое впечатление накопленном за этот период.

Ранее я являлся владельцем ноутбука Macbook Air 13' 2014 и писал об этом.

Читать далее

Опыт собеседования в одну немецкую компанию с релокейтом

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

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

Читать далее

Не доходят письма через sandbox Mailgun

Вот работаете вы, работаете, а через какое-то время почтовый сервер наглухо блокирует письма отправленные через sandbox Mailgun. Вещь неприятная и надо её как-то решать, потому что вариант тестить через http://bin.mailgun.net мало кому понравится. Мне точно нет. Такая херня произошла и со мной. Mail.ru заблокировал все отправленные мной сообщения.

Читать далее

Наглядный порядок фикстур при использовании doctrine/data-fixtures

По мере роста проекта растут и фикстуры к нему (если конечно вы пишите тесты). И бывает что нам нужно переставить некоторые фикстуры местами или втиснуть новые между определенных. В таком случае можно вручную обойти все фикстуры и выписать порядковые номера. А можно написать команду, которая сделает это за нас, чтобы получилась такая "картина":

$ php bin/console doctrine:fixture:show-order
- [1]: MobileAppFixture
- [1]: MailingListTemplateFixture
- [1]: ProvideServiceFixture
- [10]: PackMatrixFactorFixture
- [10]: DemandMatrixFactorFixture
и т.д.
Читать далее

Еще один MVC пример для PHP

Начнем, пожалуй, с того, что MVC как такового в PHP нет в виду невозможности реализации. Правда, эта информация может лишь понадобится на собеседовании или общении между разработчиками, чем для реальной жизни. В повседневности для вас будет стоять задача не смешивать бизнес-логику и представление. А каким именно шаблоном вы будете пользоваться не так важно.

Надеюсь, вы уже ознакомились с какой-либо информацией касательно MVC или какой-то информацией для отделения бизнес-логики от представления и т.п. Возможно, прочитали, что все приложения состоят из этих трех частей. Хотя на самом деле это не совсем так. MVC необходим только для взаимодействия с пользовательским интерфейсом (UI), чтобы бизнес-логика не проникала в представление, а представление в бизнес-логику, и больше ни для чего. Помимо шаблона MVC в приложениях, как правило, используется еще множество других шаблонов проектирования, а вся бизнес-логика находится не в модели. Модель лишь транспортирует данные и служит связующим звеном с представлением.

Самое главное, по моему мнению, в изучении парадигм вида MVC, MVP, MVVP/etc и любых других шаблонов.: не пытаться ограничивать себя в реализации. Самого правильного варианта не существует, есть лишь общая модель, идея. А как это называется не особо важно. Не стоит сжимать себя до терминов и определений.

Читать далее

Linux на eMachines 350

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

Максимальный бюджет я себе определил "чем дешевле, тем лучше". Плюс, не стояло цели купить рабочий, т.к. во времена тяжелой инфляции в стране люди готовы продавать все под видом нового.

Изначально хотелось найти Samsung N100 или что-то вроде этого, ибо имел уже с ним дело, знал "че па чем". Город у меня не большой, а точнее вообще маленький, что-то дельное в нем найти проблематично, а на Авито вообще единственное объявление было с eMachines 350. Я прикинул, что там может быть рабочим и что не рабочим вообще, посчитал затраты, договорился с продавцом и купил эту "дуру". Купил, я конечно, шлак, а продавец от такого поворота событий на радостях мне даже скидку сделал в 300р "на такси".

Читать далее