PHP — TechCave

PHP

Стена группы

Загрузка...
Den
5 дней назад
#

PHP-Дайджест № 145 (26 ноября – 10 декабря 2018)





Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0, Symfony 4.2, Composer 1.8.0 и другие релизы, конец поддержки PHP 5.6 и PHP 7.0, свежие предложения из PHP Internals, порция полезных инструментов, видеозаписи докладов и многое другое.
Приятного чтения!



Источник
Загрузка...
9 дней назад
#

Класс PHP для вывода в консоль цветного текста



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



Console::indent(2)->color('brown')->bgcolor('magenta')->writeln('Привет Habr!');




Источник
Загрузка...
11 дней назад
#

Подержанное авто в кредит за 1 минуту





Вместо введения

Как и все интересные истории, эта началась достаточно давно и неожиданно. Однажды наш банк-партнер пришел к нам и сказал: “Ребята, мы научились делать скоринг в нашей системе за одну минуту. Как насчет того, чтобы объединить наши усилия и интегрировать проекты? С нас – решение и кредит, с вас – машины”. Сказать, что мы воодушевились, – ничего не сказать! Мы имели все шансы стать первыми чуть ли не в мире, кто может дать кредит онлайн на подержанное авто за одну минуту (ОДНУ МИНУТУ, КАРЛ)! Ниже я расскажу, что из этого получилось, но для начала расскажу вам, кто такие, собственно, МЫ.



Источник
Загрузка...
12 дней назад
#

Настройка API Банка Тинькофф. Как у вас с интуицией....? Или песня о Oauth 2.0



Пару недель назад в одном из проектов возник вопрос об интеграции CRM с API Банка Тинькофф. В частности, речь шла о получении выписки по банковскому счету.

В активе имелось:

  1. openapi.tinkoff.ru

  2. Телефон службы поддержки (учитывая занятость отдела техподдержки — дело спасения утопающего, дело рук самого утопающего).

  3. Нагугленный документ: 24386_policy.pdf (с русским буквами внутри, с занятными выражениями, оборотами колдовскими, малопригодная но, все же вещь...)



В ходе гуглежа были также найдены отзывы о том, что настройка API банка Тинькофф дело весьма занимательное и нетривиальное (см. статью на banki.ru
«API Тинькофф — мы слишком глупы для этого»).

Да, пришлось малость повозиться, поэтому, дабы сэкономить время другим товарищам по цеху, была написана данная статья.

Источник
Загрузка...
14 дней назад
#

Как выруливать с legacy code, когда проект нужно было на вчера



Привет. Меня зовут Иван Мельничук, я Head of Development Department в украинской IT-компании. В публикации хочу поделиться личными профессиональными подходами относительно решения вопроса legacy code в условиях стремительного развития проекта и рассказать о приемах, к которым прибегает наша команда в случаях “когда фичи нужно сдавать “на вчера”.

Разбираемся с проектом

Для того, чтобы передать насколько аккуратной, продуманной и кропотливой, должна быть работа с легаси, приведу аналогию с карточным домиком.

image

Именно так выглядит устаревший код. Если мы решим убрать или заменить хотя бы одну карту из этой постройки, мы рискуем завалить весь дом и сровнять его остатки с землей.

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

Источник
Загрузка...
18 дней назад
#

PHP-Дайджест № 144 (12 – 26 ноября 2018)





Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.3.0RC6, PhpStorm 2018.3 и другие релизы, Symfony покидает PHP-FIG, свежие предложения и новости PHP Internals, порция полезных инструментов, видеозаписи с прошедших митапов и конференций и многое другое.
Приятного чтения!



Источник
Загрузка...
23 дня назад
#

Производительность PHP: планируем, профилируем, оптимизируем





Привет, Хабр! Два года назад мы
писали о том, как перешли на PHP 7.0 и сэкономили миллион долларов. На нашем профиле нагрузки новая версия оказалась в два раза более эффективной по использованию CPU: ту нагрузку, которую раньше у нас обслуживали ~600 серверов, после перехода начали обслуживать ~300. В результате на протяжении двух лет у нас был запас мощностей.

Но Badoo растёт. Количество активных пользователей постоянно увеличивается. Мы совершенствуемся и развиваем нашу функциональность, благодаря чему пользователи проводят в приложении всё больше времени. А это, в свою очередь, отражается на количестве запросов, которое за два года увеличилось в 2—2,5 раза.

Мы оказались в ситуации, когда двукратный выигрыш в производительности нивелировался более чем двукратным ростом запросов, и мы опять стали приближаться к пределам нашего кластера. В ядре PHP снова ожидаются полезные
оптимизации (JIT, предзагрузка), но они запланированы только на PHP 7.4, а эта версия выйдет не раньше, чем через год. Поэтому трюк с переходом сейчас повторить не удастся — нужно оптимизировать сам код приложения.

Под катом я расскажу, как мы подходим к таким задачам, какими пользуемся инструментами, и приведу примеры оптимизаций, идей и подходов, которые мы применяем и которые помогли нам в своё время.

Источник
Загрузка...
23 дня назад
#

Доступен PhpStorm 2018.3





Всем привет! Мы рады представить вам третий мажорный релиз PhpStorm в этом году. Добавлены поддержка DQL, PHP CS Fixer, деплоймент на множество хостов одновременно, пулреквесты GitHub, новые рефакторинги и много других улучшений.

Обзор релиза можно посмотреть на странице “
What’s new”. Скачать новую версию можно там же или с помощью
Toolbox App. Как всегда, доступна 30-дневная пробная версия. Полную же версию могут использовать обладатели
действующей подписки на PhpStorm или All Products pack, а также
студенты и
разработчики проектов с открытым исходным кодом.

Под катом обзор основных нововведений. (Осторожно, много картинок)

Источник
Загрузка...
1 месяц назад
#

Конспект доклада «Монолит для сотен версий клиентов» (HL2018, Badoo, Владимир Янц)



Продолжаю серию конспектов с HL2018. В проверке этого конспекта мне помогали ребята из Badoo (Владимир Янц
vyants и Николай Крапивный), за что им большой спасибо. Надеюсь, это положительно сказалось на качестве донесения идеи доклада.

image

Источник
Загрузка...
Den
1 месяц назад
#

Symfony Bundle для экспорта статистик в формате Prometheus





Работая над разными микро (и не очень) сервисами, написанными с помощью Symfony, я каждый раз сталкивался с необходимостью экспорта метрик для Prometheus. Поначалу мы просто копировали один и тот же код между проектами, но когда их стало больше трёх, я посчитал, что дальше так продолжаться не может (не буду вас тут утомлять объяснениями, почему это неудобно; думаю, каждый это и сам понимает).

Было решено выделить всё это хозяйство в отдельный бандл:
ArtprimaPrometheusMetricsBundle.

Источник
Загрузка...
1 месяц назад
#

История о том, как мы ускорили тесты в 12 раз



Ускоряйте тесты, говорили они.

И вот уже прошло почти полгода, как мы переписали свои старые необтёсанные, долгие и не стабильные функциональные тесты и перешли на быстрые, ни от чего не зависящие компонентные. Поэтому, пора делиться :)

Для тех кто не знает,
компонентные тесты — это тесты которые полностью изолированы от глобального окружения и позволяют проверить те или иные кейсы, которые unit тест не смог бы охватить.

Полгода назад релиз какой-либо фичи, бывало занимало больше часа с учетом того, что код уже давно на мастере и полностью проверен, но мастер ветка никак не может добиться зеленой сборки в bamboo и тогда, встал вопрос, как дальше жить?

Источник
Загрузка...
1 месяц назад
#

Переезд на кластер под управлением «1С-Битрикс: Веб-окружение»



В определённый момент появилась задача — перевести, существующий и активно работающий в production, проект на работу в кластере серверов. Т.к. проект разработан на базе 1C-Bitrix, было принято решение построить кластер с использованием «1С-Битрикс»: Веб-окружение». Цель данного мероприятия — получить возможность выдерживать большие нагрузки при наплывах посетителей сайта, а также возможность в дальнейшем быстрее масштабироваться горизонтально.

Источник
Загрузка...
1 месяц назад
#

Управление своими модулями для CMS c использованием composer



Здравствуйте, друзья! Появление популярного менеджера зависимостей в PHP — является одним из важнейших событий в жизни PHP-сообщества. Composer разделил время на «до» — когда наши самописные библиотеки лежали в zip-архивах или просто разбросаны по папкам и копировались «ручками», лишь в единичных случаях, использовался git или PEAR, и «после» — когда мы начали использовать composer. Но что делать если вы работаете с определенной CMS, а она не «знает» что такое composer?



Источник
Загрузка...
1 месяц назад
#

Middleware и возможности Pipeline в Laravel





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

И сегодня речь пойдет об одном из таких инструментов, а точнее о его использовании и реализации со стороны программиста. Отсутствие полноценной документации, а также отсутствие русскоязычных статей и очень малое количество статей иностранных — подтолкнуло меня к решению раскрыть некую завесу тайны об этой интересной возможности фреймворка и выбору этой темы в качестве моей первой статьи на Хабре.

Источник
Загрузка...
1 месяц назад
#

PHP-Дайджест № 143 (1 – 12 ноября 2018)





Свежая подборка со ссылками на новости и материалы. В выпуске: принят PSR-18, статистика версий PHP от Packagist, анонсы митапов и карта митапов, PHP 7.3.0RC5 и другие релизы, порция полезных инструментов, о будущем PHP-дайджеста, и многое другое.
Приятного чтения!



Источник
Загрузка...
2 3

Авторизация

Пользователи

naikdij88
NewEXE
Георгiй Москвитинъ
Andpyxa Tutunnik
Andrey_fox
Jane linch
genagy
Pasha Radiuk
KotikBSD

Именинники

IvanNik

GeekBrains

Нетология

Нетология