В мае этого года в наш замечательный город пришла аномальная жара, которая, к слову, держится и по сей день. Благодаря COVID-19 я, как и множество IT специалистов в мире, перешел на удаленную работу. Главным, и, наверное, единственным, минусом этого стало отсутствие кондиционера на рабочем месте. Есть проблема - надо решать. Начались поиски и выбор кондиционера для дома. Первое что приходит в голову — это обычная сплит система, но я живу на красной линии, и все окна выходят на улицу. А это значит, что установка наружного блока кондиционера должна согласовываться с ЖЭУ или другими службами, с которыми я не имею желания общаться. Альтернативой сплит системам являются мобильные кондиционеры, их главная особенность в том, что это цельный моноблок, в котором компрессор, испаритель и радиатор находятся в одном блоке, внутри квартиры. Не требует монтажа и согласований. Выбор пал на модель DEXP AC-PS09MA/W, был в наличии в магазине через дорогу, обошёлся примерно в 15 т.р.
Senior PHP Developer
5 лет в Toptal, плюсы и минусы
В августе 2021 исполнилось 5 лет с того момента, как я ушел работать в Toptal на удаленный фриланс. Хочу поделиться с вами зарисовками некоторых историй, которые иллюстрируют субъективные плюсы и минусы такой работы. Данная статья может оказаться полезна тем, кто думает поменять работу по ТК с оплачиваемыми больничными и отпусками на фриланс.
Почему вообще я решил написать и выложить эту статью, если на хабре уже есть много рассказов на эту тему? Дело в том, что именно обсуждение Toptal на хабре и тостере позволило мне решиться уйти из офиса 5 лет назад (отдельное спасибо Дмитрию Павлову), а также мне хочется поделиться живыми историями из своего опыта, которые наглядно демонстрируют важность сухих советов типа «имейте подушку безопасности» и «вкладывайте в домашний офис».
Почему твоя мама всё ещё не прогает?
Случай с бомжом
Однажды в конце декабря, когда воздух пахнет сгорающими над городом фейерверками, а улицы полны паникующих из-за цен на горошек, я решил научить программированию бомжа. Он сидел у стены в подземном переходе; мужчина средних лет с разумными глазами, не пьющий и не деградировавший, в опрятной, но очень поношенной одежде. Совершенно очевидно, что он переживал одиночество и отчаяние.
Обычно вместо денег я даю попрошайкам-мужчинам телефон отдела кадров одной курьерской компании, которая постоянно нуждается в сотрудниках. Но у него не было ног… Тогда я подумал: «Чувак, у тебя полным полно времени. Работа за компом — лучшее, что может случиться в твоей жизни. Купон со скидкой на курс по PHP — вот, что должны были положить тебе на койку туда, где раньше были ноги, когда ты очнулся после ампутации».
Я решил предложить ему изучить программирование. В его положении он должен был быть чертовски мотивирован. Но получится ли у него?
Внедрение зависимостей в GO
Идея внедрения зависимости проста: объект, зависящий от другого объекта, делегирует управление его жизненным циклом внешнему коду. Однако её применение создаёт дополнительное требование - зависимостями нужно управлять. О механизмах, помогающих в этом, и их реализациях в Go - в этой статье.
NGD выпустила 12 ТБ SSD со встроенным 4-ядерным ARM-процессором
Несмотря на то, что стоимость SSD за последние несколько месяцев упала примерно на 10%, производители продолжают выпускать новые системы. Так, компания NGD представила накопитель емкостью в 12 ТБ. Его особенность — не столько объем памяти, сколько собственный 4-ядерный процессор.
Он используется для взаимодействия с флеш-памятью, а также для шифрования, компрессии, индексации, поиска данных, плюс перекодирования медиафайлов. NGD System выпустила этот SSD в форм-факторе E1.S. Эта система предназначена, конечно, не для пользовательских, а для корпоративных устройств.
Господи… Баллада о программисте
1.
День близится к вечеру. Мне нужно отрефакторить легаси-код, во что бы то ни стало. Но тот упирается: юнит-тесты никак не становятся зелеными.
Я встаю, чтобы заварить чашечку кофе, и снова сосредотачиваюсь.
Меня отвлекает телефонный звонок. Это Марина.
– Привет, Марин, – говорю я, довольный тем, что еще пару минут можно пребывать в нерабочем состоянии.
– Чем занимаешься, Петя? – звучит ее обещающий голос.
– Работаю.
Ну да, работаю. А чем я еще могу заниматься?!
Спецификации в PHP
Кратко о спецификациях:
Спецификация — это шаблон проектирования, с помощью которого можно отразить правила бизнес-логики в виде цепочки объектов, связанных операциями булевой логики. Спецификации позволяют избавится от повторяющихся, однотипных методов в репозитории и от дублирования бизнес-логики.
На сегодня существует два (если знаете другие проекты, напишите пожалуйста в комментариях) успешных и популярных проекта на PHP, позволяющих описывать бизнес-правила в спецификациях и фильтровать наборы данных. Это RulerZ и Happyr Doctrine Specification. Оба проекта являются мощными инструментами со своими преимуществами и недостатками. Сравнение этих проектов потянет на целую статью. Здесь же я хочу рассказать, что нам привнес новый релиз в Doctrine Specification.
Docker + Laravel + RoadRunner = ❤
Данный пост написан по заявкам трудящихся, которые с завидной периодичностью спрашивают о том "Как запустить Illuminate / Symfony / MyOwnPsr7 приложение в докере". Давать ссылку на ранее написанный пост уже не хочется, так как взгляды относительно того, как следует решать поставленную задачу, довольно сильно изменились.
Всё, что будет написано ниже, является субъективным опытом, который (как и всегда) не претендует на право считаться единственно верным решением, но некоторые подходы и решения, возможно, тебе покажутся интересными и полезными.
В качестве приложения так же буду использовать Laravel, так как он мне наиболее знаком и довольно широко распространен. Адаптировать под другие PSR-7-based фреймворки/компоненты возможно, но этот рассказ не про это.
И повелел Господь: «собеседуйтесь и принимайте офферы»
Все совпадения — неслучайны.
Все шутки — несмешны.
Мутационное тестирование: тестируем тесты
Написание тестов должно вселять в нас уверенность в корректной работе кода. Часто мы оперируем степенью покрытости кода, и когда достигаем 100 %, то можем сказать, что решение корректное. Уверены в этом? Быть может, есть инструмент, который даст более точную обратную связь?
Symfony CLI — новый инструмент для локальной разработки
В декабре 2018-го, на конфиренции Lisbon SymfonyCon Фабиэн Потансье — создетель фреймворка Symfony представил некий symfony.phar — инструмент для быстрого создания Symfony-приложений на основе официальных шаблонов проекта: skeleton, website-skeleton или demo. Также он позволяет запускать локальный веб-сервер для разработки.
Затем инструмент был переписан на языке Golang, что позволило реализовать много дополнительных возможностей таких, как поддержка https протокола для локального веб-сервера, тесная интеграция с SymfonyCloud и прочее! Приглашаю тебя, уважаемый читатель, познакомиться с этим инструментом подробнее, поскольку он работает не только в контексте фреймворка Symfony.
Информация
- В рейтинге
- Не участвует
- Откуда
- Днепр, Днепропетровская обл., Украина
- Дата рождения
- Зарегистрирован
- Активность