Search
Write a publication
Pull to refresh
337
0
Роман Пронский @pronskiy

PHP

Send message

Теория программирования: пакетные принципы и метрики

Reading time9 min
Views17K


Чтобы применять любые принципы правильно, сначала нужно их понять — то есть осознать, откуда они взялись и для чего нужны. Если применять вслепую всё, что угодно — результат будет хуже, чем если бы мы вообще не использовали эти принципы. Я начну издалека и сначала расскажу про абстракцию.
Читать дальше →

Как дойти до CQRS, если у тебя PHP

Reading time8 min
Views8.6K

Недавно я посмотрел доклад «Как перестать бояться CQRS». Вроде бы простая идея, но есть нюансы. Так и появился этот выпуск.

CQRS vs CQS (не перепутай)

Читать далее

Когда объектов не достаточно

Reading time13 min
Views9.5K

Я искал материалы об истоках объектно-ориентированного программирования. Причина была в том, что в сообществе Laravel возникла тенденция использовать паттерн Action и говорить вот что такое «настоящее ООП». У меня возникли некоторые сомнения, и вместо того, чтобы задавать вопросы, я решил поискать ссылки времён Smalltalk. Нашёл книгу Smalltalk, Objects, and Design. И мне было так интересно её читать, что я решил поделиться с вами своими находками.

Паттерн Action гласит, что логику нужно обёртывать в классы Action. Эта идея не нова, в других сообществах продвигалась «Чистая архитектура», при которой каждый «сценарий использования» (или Interactor) должен являться самостоятельным классом. Всё очень просто. Но об этом ли говорит ООП?

Если вам интересна суть статьи, то:

  • Smalltalk был одним из первых ООП-языков. Он стал источником таких концепций, как наследование и обмен сообщениями (или как минимум он их популяризировал, насколько я вижу).
  • Как сказал Алан Кей, придумавший термин «объектно-ориентированное программирование», объектов не достаточно. Они не обеспечивают нам архитектуру. Объекты — это про взаимодействие между ними, и в случае с большими системами вам нужна возможность разделения приложения на модули, которые можно отключать по отдельности, заменять и включать снова в общую систему, не кладя при этом всё приложение. В этом контексте Алан предлагает идею инкапсуляции «сообщений» в классы, когда каждый экземпляр является сообщением в системе, подкрепляя идею наличия в Чистой архитектуре классов «Action» или «интеракторов».

Продолжайте читать, если я разжёг в вас интерес.
Читать дальше →

Власть огня или как горит информация

Reading time5 min
Views5.8K


Вы целый день провели за стройкой хижины, следили за здоровьем, охотились, отбивались от врагов, а потом — бац, и ничего этого не было. Вас откатило назад в момент последнего сохранения, и вы потеряли все достижения и наработки. А все из-за пожара в дата-центре где-то во Франции. Да, ситуация неприятная, но этого всего лишь онлайн-игра Rust, в которой даже победить нельзя. А тем временем из-за того же пожара у других людей страдает бизнес или дело всей их жизни, которое они ведут в реальности. К счастью, сами пожары в ЦОД обходятся без жертв, ввиду того, что там не нужно постоянное человеческое присутствие. Но инциденты такого рода, происходящие в результате неосмотрительности или по иным причинам, обходятся очень дорого, что может стоить чьей-то жизни. По данным Gartner, простой, связанный с обработкой данных в ЦОД, обходится среднестатистической компании в 300 000 долларов ежечасно (5 600 долларов в минуту). Это не считая репутационного ущерба. Несмотря на меры предосторожности и современные системы пожаробезопасности, ЧП происходят и компании терпят лишние расходы, а потребители теряют личные данные. Благо, если заранее были сделаны резервные копии (!), но как показывает опыт с OVHcloud, такое делают не всегда. А пожары случаются везде.
Читать дальше →

PHP Дайджест № 200 (22 февраля – 15 марта 2021)

Reading time6 min
Views10K
Фото: Grégoire Gaonach

Свежая подборка со ссылками на новости и материалы. В выпуске: Объекты в инициализаторах, неймспейсы для расширений, и другие RFC предложения для PHP 8.1. Обновлен PSR-11, предложен PSR ClockInterface. Порция полезных инструментов, видео, подкасты, статьи, и PHP Дайджест Live в 20:00 МСК.

Приятного чтения!


Истерия с NFT и современным искусством, поданная через призму Пелевина: вам нужно только 10 мин., чтобы быть в теме

Reading time7 min
Views25K

Эпиграф: Я вижу искусство как некое поле событий, на одном полюсе которого – веселые заговоры безбашенной молодежи с целью развести серьезный мир на хаха, охохо или немного денег, а на другом бизнес-проекты профессиональных промывателей мозгов, пытающихся эмитировать новые инвестиционные инструменты… В. Пелевин, iPhuck 10

Уверен, что даже далекие от блокчейна люди уже слышали про NFT-токены, которые современные творцы загоняют доверчивым миллионерам за бешенные деньги. Даже Хабр отметился такими публикациями: вот кто-то покупает бесплатный видеоклип за 6,5 млн. бакинских, а вот ставка на самый первый твит достигает 2,5 миллиона (опять не рублей), и это явно не предел. Когда читаешь комментарии, понимаешь, что читатели немного, скажем так, удивляются ситуации и явно не понимают — а зачем платить так много за то, что и так находится в свободном доступе. Причем, оно мало того, что свободное, так еще и легко копируемое. Т.е. рааааз - у тебя хоть тысяча таких твитов. 

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

Заходите, будет весело.

Интервью с Лукой Сафоновым

Reading time1 min
Views6.8K

Начиная с этого года на моём Youtube канале стали выходить интервью. Среди гостей уже были и чёрные хакеры и бывший киберпреступник. Сейчас вышло интервью с одним из самых активных авторов раздела ИБ на Хабре - Лукой Сафоновым.

Читать далее

Что делать, если технический прогресс ухудшает жизнь людей? Перестаньте кормить зверя

Reading time8 min
Views42K
Что делать, если технический прогресс ухудшает жизнь людей? Перестаньте кормить зверя


— Погоди, какой-то луддит хочет поговорить со мной лицом к лицу

«В девятнадцатом веке английские текстильщики отреагировали на внедрение новых технологий на фабрике, разбив вдребезги ткацкие станки, из-за которых люди теряли работу, голодали и умирали. Это движение было высмеяно учёными как архаичная и неэффективная попытка остановить ход истории. Но оно олицетворяет антагонистические отношения между всеми рабочими людьми (включая нас сегодня), и так называемыми прогрессивными достижениями новых технологий. Луддиты не были архаичными, и они по-прежнему проявляют себя в 21 веке», — из аннотации к книге Гевина Мюллера «Луддиты были правы насчёт того, почему вы ненавидите свою работу».

Сегодня эта проблема опять актуальна. Техногиганты Facebook, Google и Amazon — символы технологического прогресса и компьютерной революции. Транснациональные корпорации с капитализацией в триллионы долларов, знамя интернет-экономики, гордость Кремниевой долины.

Но всё громче раздаются голоса «современных луддитов», которые сомневаются, что интересы технокорпораций совпадают с интересами общества. Неужели технический прогресс способен ухудшать жизнь людей? Разве такое возможно в принципе?
Читать дальше →

MySQL в финансах: реакция или созидание?

Reading time9 min
Views4.2K

Высоконагруженные приложения финансовой сферы предъявляют жесткие требования ко всем компонентам, особенно к системе хранения данных.

Нужно постоянно и стабильно держать нагрузку, несмотря, а иногда и вопреки отказам, поломкам и внезапным миграциям. О том, как приходится жить DBA в мире стремительного повышения нагрузок и высоких требованиях стабильности, в своем докладе на конференции Saint HighLoad++ Online 2020 рассказал эксперт по базам данных ECOMMPAY IT Владимир Федорков.

Читать далее

Apple Card заблокировала мои аккаунты iCloud, App Store и Apple ID

Reading time4 min
Views29K
Примерно десять дней назад, когда я начал обновлять приложения в App Store на моём Mac, столкнулся с любопытной ошибкой.



Интернет заполнен историями людей, чьи аккаунты Google были заблокированы по необъяснённым причинам, из-за чего они теряли все свои данные, в том числе и годы переписок по электронной почте, поэтому я достаточно серьёзно обеспокоился. Но я никогда не слышал о подобных случаях с сервисами Apple и не ожидал бы такого поведения от столь лояльной к потребителям компании, как Apple, поэтому решил, что это глюк и решил попробовать позже.
Читать дальше →

80+ докладов и статей, которые запомнились PHP-сообществу в 2020 году

Reading time7 min
Views12K

Недавно мы решили узнать, чем помимо пандемии 2020-й запомнится пхп-разработчикам — кто что читал, смотрел, над чем работал. Получив свыше 1500 ответов, мы сели их разбирать. Вот что получилось.

Читать далее

Run, config, run: как мы ускорили деплой конфигов в Badoo

Reading time8 min
Views5.9K

Файлы конфигурации (конфиги) — неотъемлемая часть большинства приложений, но, как показывает практика, это не самая популярная тема для обсуждения. Чаще всего разговоры о конфигах ограничиваются обсуждением работы с ними непосредственно в коде: как их структурировать, использовать переменные окружения или нет, где хранить пароли и т. п. 

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

Несколько лет назад я работал над системой, которая позволила нам ускорить процесс деплоя конфигов на 1000+ серверов с минуты до нескольких секунд. 

Если вам интересно узнать, как устроен процесс деплоя конфигов в Badoo и какие инструменты мы для этого используем, добро пожаловать под кат.

Читать далее

Как выбрать мобильную кросс-платформу в 2021 году

Reading time5 min
Views43K

Кросс-платформенные решения - тренд в мобильной разработке. Уже есть различные технологии от PWA до Flutter и Kotlin Multiplatform. Как выбрать среди них?

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

Далее

Состоялся релиз Kali Linux 2021.1

Reading time2 min
Views12K
image


Состоялся релиз Kali Linux 2021.1, который содержит несколько обновлений и нововведений: обновление графических сред, новые утилиты и инструментарий, а также поддержку режима Command-Not-Found.

Читать дальше →

Реактивное программирование на Java: как, зачем и стоит ли? Часть I

Reading time12 min
Views53K

Идея реактивного программирования появилась сравнительно недавно, лет 10 назад. Что вызвало популярность этого относительно нового подхода и почему сейчас он в тренде, рассказал на конференции РИТ++ 2020 эксперт и тренер Luxoft Training Владимир Сонькин. 

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

Читать далее

Альтернатива электронной почте для 21 века

Reading time7 min
Views24K

Специализированный мини-компьютер IMP соединял между собой участников сети ARPANET в 1969 году, прообраз современных маршрутизаторов и символ древности SMTP. Фото: Fred Prouser / Reuters

Электронная почта — очень старая технология. Протокол Simple Mail Transfer Protocol (SMTP) впервые описан в RFC 821 (1982 год), а его основой стали технологии 1970-х. В те времена никто не мог представить, какие проблемы возникнут в будущем из-за открытости протокола.

Сейчас электронная почта — рассадник спама и главное оружие киберпреступников. Большинство кибератак начинается с проникновения в сеть через фишинг. Жертву изучают — и направляют ей таргетированное письмо с обращением по имени, должности, с указанием деталей личной жизни, после чего искусно убеждают открыть приложенный файл. Многие соглашаются и открывают (например, см. проверку персонала в GoDaddy и GitLab). SMTP идеально подходит для социальной инженерии.

Поэтому программист Лиам Брек (Liam Breck) придумал безопасную и современную альтернативу электронной почте — это сеть MNM (расшифровывается как mnm is not mail), сайт сейчас не справляется с нагрузкой, вот кэш в Google.
Читать дальше →

PHP 8 и развитие языка в 30 вопросах и ответах

Reading time14 min
Views14K
В конце ноября мы провели стрим с Никитой Поповым и Дмитрием Стоговым, ключевыми контрибьюторами ядра PHP. За полчаса мы получили 100+ вопросов и ребята не успели ответить на все. Поэтому я сгруппировал оставшиеся сообщения по темам, отсеял совсем специфические и собрал ответы в текстовом виде. Все острые и холиварные вопросы оставил.



Готовя ответы, по многим пунктам я консультировался с Никитой и другими активными участниками сообщества. Кстати, в эту субботу, 27 февраля, мы проводим новый стрим! Будет пара докладов, несколько дискуссий, интересные гости и возможность задать новые вопросы. Читайте те, что под катом и подключайтесь, чтобы задать новые.

Рейтинг языков программирования 2021: доля Python падает, а TypeScript обошел С++, в лидерах JavaScript, Java, C#

Reading time4 min
Views188K

Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования, в рамках которого было собрано 7211 анкет (92% респондентов находятся в Украине). Из интересного - впервые с 2014 года у Python отрицательная динамика, наблюдается тенденция перехода с JavaScript на TypeScript, наиболее довольны пользователи Elixir, и наконец на графиках появился Rust.

Читать далее

Кто использует магнитную плёнку и почему за ней будущее

Reading time7 min
Views74K


В декабре 2020 года IBM Research и Fujifilm представили прототип картриджа LTO на 580 терабайт. Небольшая кассета с магнитной лентой вмещает информации как несколько десятков обычных HDD или 120 000 DVD.

Магнитные ленты появились почти сто лет назад, а компьютерные файлы на них записывают с 1952 года. Ещё наши мамы в советских НИИ меняли катушки на мейнфреймах. И в 2021 году плёнки остаются самым дешёвым накопителем со стоимостью хранения примерно в 6 раз ниже, чем на HDD. Поскольку плёнка практически исчезла с потребительского рынка, многие даже не знают, насколько бурно развивается эта технология.
Читать дальше →

PHP Дайджест № 199 (8 – 22 февраля 2021)

Reading time6 min
Views13K

В PHP 8.1 будет enum, и еще два принятых, два отклоненных и три новых RFC предложения для PHP 8.1. WordPress используется на 40% сайтов. Почему нужно убрать strict_types, почему не стоит использовать empty(), а также инструменты, видео, статьи, подкасты, и PHP Дайджест Live в 20:00 МСК.

Приятного чтения!


Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity