Как стать автором
Обновить
10
0
Volodymyr Polishchuk @NorthDakota

PHP Developer

Отправить сообщение

Советы по созданию нестандартных рабочих процессов в GitLab CI

Время на прочтение7 мин
Количество просмотров16K
Прим. перев.: Оригинальную статью написал Miłosz Smółka — один из основателей небольшой польской компании Three Dots Labs, специализирующейся на «продвинутых backend-решениях». Автор опирается на свой опыт активной эксплуатации GitLab CI и делится накопленными советами для других пользователей этого Open Source-продукта. Прочитав их, мы поняли, насколько нам близки описанные им проблемы, поэтому решили поделиться предлагаемыми решениями с более широкой аудиторией.



На этот раз я затрону более продвинутые темы в GitLab CI. Частой задачей здесь является реализация в пайплайне нестандартных возможностей. Большинство советов специфичны для GitLab, хотя некоторые из них можно применить и к другим системам CI.
Читать дальше →

Во всём виноват PHP OPCache?

Время на прочтение10 мин
Количество просмотров29K


Когда я начинал карьеру разработчика, то очень удивился, прочитав фразу, которую приписывают Филу Карлтону (Phil Karlton): «В информатике есть лишь две сложности: инвалидация кеша и присвоение имён». Я отнёсся к этому недоверчиво, поскольку не понял сути фразы. Но немного позже я начал понимать.


Я хочу рассказать о проблеме, с которой мы столкнулись не так давно в нашей production-инфраструктуре. Сразу после успешного развёртывания при обновлении страниц, изменённых новым релизом, какое-то время не отображался новый код. Вообще-то такое далеко не редкость для веб-приложений, написанных на PHP. Мы сталкивались с подобным и раньше, а после перехода на новую production-среду проблема стала заметнее. Поэтому мы решили заняться расследованием.

Как прийти в небо и стать пилотом

Время на прочтение10 мин
Количество просмотров96K


Привет! Сегодня я расскажу о том, как можно прийти в небо, что нужно для этого сделать, сколько оно все стоит. Также поделюсь своим опытом обучения на частного пилота в Великобритании и развею некоторые мифы, связанные с авиацией. Под катом много текста и фоточек :)

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

Magento 2: импорт продуктов прямо в базу

Время на прочтение11 мин
Количество просмотров4.1K

В предыдущей статье я описал процесс импорта продуктов в Magento 2 обычным способом — через модели и репозитории. Обычный способ отличается весьма низкой скоростью обработки данных. На моём ноутбуке выходило примерно один продукт в секунду. В данном продолжении я рассматриваю альтернативный способ импорта продукта — прямой записью в базу, в обход стандартных механизмов Magento 2 (модели, фабрики, репозитории). Последовательность шагов, обеспечивающих импорт продуктов, может быть адаптирована под любой язык программирования, способный работать с MySQL.


Disclaimer: В Magento есть готовый функционал по импорту данных и, скорее всего, вам его хватит. Однако если вам нужен более полный контроль за процессом импорта, не ограничивающийся подготовкой CSV-файла для того, что есть — добро пожаловать под кат.


image

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

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 2: подготовка документов и переезд

Время на прочтение16 мин
Количество просмотров65K
Итак, за примерно год (май 2017 — февраль 2018) я, программист C++, нашел-таки работу в Европе. Я десятки раз откликался на вакансии в Англии, Ирландии, Швеции, Нидерландах и даже в Португалии. Я раз двадцать беседовал по телефону, скайпу и прочим системам видео связи с рекрутерами, и несколько меньше — с техническими специалистами. Я ездил в Осло, в Эйндховен и три раза в Лондон на финальные интервью. Все это подробно описано здесь. В итоге я получил один оффер и принял его.



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

Но всегда можно самому себе создать сложности. Что я и сделал, чем затянул свой переезд еще на месяц. Если интересно почитать о хлопотах (нет, не сильно приятных) связанных с переездом IT семьи в Западную Европу — добро пожаловать под кат.
Читать дальше →

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы

Время на прочтение12 мин
Количество просмотров108K
На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике уже нет, вот она). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту европейскую страну. Помнится, и когда я только собирался рассылать резюме, и когда уже проходил собеседования, мне было очень интересно почитать об аналогичном опыте других коллег по цеху.

image

В общем, если вам интересен рассказ о том, как C++ программист из Подмосковья искал работу в Европе, желательно в Великобритании, а нашел-таки в Нидерландах, переехал туда сам и привез жену, все это с непогашенной ипотекой в России и с небольшими приключениями — добро пожаловать под кат.
Читать дальше →

О проектировании гибкой системы способностей персонажей в играх

Время на прочтение3 мин
Количество просмотров11K
Система способностей персонажа пожалуй самая требовательная к гибкости в игре. Невозможно на этапе проектирования предсказать какие заклинания появятся в финальной версии или последующих обновлениях. Этот пост будет о том, как я абстрагировал процесс исполнения способностей.

Сама по себе способность есть ни что иное, как набор действий. Минимальный интерфейс способности состоит из одного метода: «применить», но не всё так просто и о сложностях под катом.

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

Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции)

Время на прочтение7 мин
Количество просмотров26K
Привет, Хабр!

Как законодатели мод по теме Unity на российском рынке предлагаем вам почитать интересное исследование о практическом использовании алгоритма WFC (Wave Function Collapse), построенного по образу и подобию известного принципа квантовой механики и очень удобного при процедурной генерации уровней в играх. Ранее на Хабре уже публиковался подробный рассказ об этом алгоритме. Автор сегодняшней статьи Мариан Кляйнеберг рассматривает алгоритм в контексте трехмерной графики и генерации бесконечного города. Приятного чтения!

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

Трудно быть мейнтейнером проекта Open Source

Время на прочтение6 мин
Количество просмотров8.2K
Автор — Сальваторе Санфилиппо, разработчик и мейнтейнер свободной СУБД Redis

Несколько месяцев назад мне написал мейнтейнер одного системного open source проекта с довольно большим и активным сообществом. Он написал, что много лет изо всех сил пытается поддерживать свой проект, но испытывает серьёзную психологическую нагрузку. Просил совета. Я ответил, что вряд ли в состоянии дать совет, но пообещал написать пост в блоге о том, что думаю по этому поводу.

Прошло несколько недель, я несколько раз начинал писать этот пост и останавливался, потому что не было времени хорошенько всё обдумать. Теперь, кажется, я завершил самоанализ своих слабостей, трудностей и желания свободы. Эти чувства неизбежно охватывают человеческий разум, когда он концентрируется на какой-то задаче, а в течение длительного времени проявляется негативный аспект. Безусловно, поддержка проекта Open Source также приносит много радости и удовольствия. Последние десять лет моей профессиональной жизни, безусловно, запомнятся надолго. Это хорошие годы, хотя и не самые лучшие (ещё веселее было во время запуска). Но здесь я сосредоточусь на негативной стороне. Просто имейте в виду, что есть и положительные моменты.
Читать дальше →

Руководство по Docker Compose для начинающих

Время на прочтение9 мин
Количество просмотров949K
Автор статьи, перевод которой мы сегодня публикуем, говорит, что она предназначена для тех разработчиков, которые хотят изучить Docker Compose и идут к тому, чтобы создать своё первое клиент-серверное приложение с использованием Docker. Предполагается, что читатель этого материала знаком с основами Docker. Если это не так — можете взглянуть на эту серию материалов, на эту публикацию, где основы Docker рассмотрены вместе с основами Kubernetes, и на эту статью для начинающих.

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

GitLab Shell Runner. Конкурентный запуск тестируемых сервисов при помощи Docker Compose

Время на прочтение12 мин
Количество просмотров31K


Данная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов и/или отсутствия платформы оркестрации контейнеров. Я расскажу, как настроить развертывание тестируемых окружений при помощи docker compose на одном единственном GitLab shell раннере и так, чтобы при развертывании нескольких окружений запускаемые сервисы друг другу не мешали.

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

Шейдерный эффект дудла

Время на прочтение8 мин
Количество просмотров8.9K
В этом туториале я расскажу о том, как с помощью шейдеров воссоздать популярный спрайтовый эффект дудла в Unity. Если для вашей игры необходим такой стиль, то из этой статьи вы узнаете, как достичь его без отрисовки кучи дополнительных изображений.

Последние несколько лет этот стиль становится всё более популярным и активно используется в таких играх, как GoNNER и Baba is You.


В этом туториале рассказано всё необходимое, от основ кодирования шейдеров до используемой математики. В конце статьи есть ссылка на скачивание полного пакета Unity.

На создание этого туториала меня вдохновил успех Doodle Studio 95!.

Сети для самых маленьких. Часть ой, всё

Время на прочтение4 мин
Количество просмотров179K
Дорогие мои друзья, отважные критики, тихие читатели и тайные почитатели, СДСМ заканчивается.



Я не могу похвастаться тем, что за 7 лет я затронул все темы сетевой сферы или тем, что хотя бы одну из них раскрыл полностью. Но это и не было целью. А целью этой серии статей было ввести юного студента за руку в этот мир и проводить его шаг за шагом по основной галерее, давая общее представление, и уберечь от болезненных скитаний по тёмным уголкам сознания Олифера и Олифера в мучительных попытках найти ответ на вопрос, как всё это применить в жизни.
СДСМ планировался коротким практическим курсом «как научиться в сети за месяц», а вылился в 16 (на самом деле 19) длинных выпусков, которые мы уже даже переименовали в «Сети Для Самых Суровых». Общее количество символов перевалило за 1 000 000.
Читать дальше →

Хочу все знать: бизнес-анализ. Часть 1

Время на прочтение12 мин
Количество просмотров132K

С чего все началось


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

Читающий песик

Итак, целью статьи является показать, чего ожидают и в чем нуждаются пользователи результатов работ бизнес-аналитиков. По сути, статья писалась не только для бизнес-аналитиков, но и для тех, кто вынужден пользоваться результатами их труда. И чтобы не просто «читать и материться», а иметь возможность объяснить, чего же они пропустили или не учли в своей работе
Обрети надежду, всяк сюда входящий

Методы бизнес-анализа

Время на прочтение7 мин
Количество просмотров119K
Вступление


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

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

резервное копирование rsync-ом

Время на прочтение4 мин
Количество просмотров144K
Если у тебя на компьютере не хранится дорогих тебе фотографий или
документов, эта заметка будет тебе не интересна. Если ты уже делаешь резервные копии и механизм работы с ними тебя полностью устраивает, эту заметку тоже лучше пропустить. Если ты считаешь, что хорошо разбираешься в linux, то вряд ли почерпнёшь в ней что-то новое. Для остальных — делюсь
своим опытом

Статический анализ PHP-кода на примере PHPStan, Phan и Psalm

Время на прочтение20 мин
Количество просмотров67K


Компания Badoo существует уже более 12 лет. У нас очень много PHP-кода (миллионы строк) и наверняка даже сохранились строки, написанные 12 лет назад. У нас есть код, написанный ещё во времена PHP 4 и PHP 5. Мы выкладываем код два раза в день, и каждая выкладка содержит примерно 10—20 задач. Помимо этого, программисты могут выкладывать срочные патчи — небольшие изменения. И в день таких патчей у нас набирается пара десятков. В общем, наш код меняется очень активно.

Мы постоянно ищем возможности как для ускорения разработки, так и для повышения качества кода. И вот однажды мы решили внедрить статический анализ кода. Что из этого получилось, читайте под катом.
Читать дальше →

Решения проблемы спам-ботов, добавляемых в телеграм-группы

Время на прочтение4 мин
Количество просмотров126K

Привет. Я автор нескольких популярных ботов для администрирования телеграм групп: @daysandbox, @watchdog_robot и других. Каждый день в группе поддержки и в личных сообщениях я вижу один и тот же вопрос: как мне защититься от спам-ботов, добавляемых в группу. Обычно ещё уточняют, что это арабские спам-боты. Люди пытаются найти анти-спам бота, который будет удалять ссылки, удалять сообщения с арабскими символами, удалять пользователей с арабскими символами в именах и всё в таком духе. Но это всё следствия, а причина во многих случаях одна и та же и её легко поправить. Причина простая, но не очевидная.

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

Добро пожаловать в Кремниевую долину

Время на прочтение6 мин
Количество просмотров41K
image

Как я стала частью этой системы

Мне повезло, я живу в Кремниевой долине. Здесь я родилась, выросла и в настоящее время работаю продакт-менеджером в Google. Здесь отличная погода, низкий уровень преступности, и хорошее финансирование у школ. У взрослых есть хорошая непыльная работа, а детям открыты миллионы возможностей. Здесь люди наслаждаются суширрито по 15 долларов и запивают их 6-долларовым кофе третьей волны. Улицы заполнены теслами и беспилотными автомобилями.
Читать дальше →

Подборка: 4 полезных сервиса для потенциальных иммигрантов в США, Европу и другие страны

Время на прочтение3 мин
Количество просмотров27K


Тема переезда в Европу, США или другие приятные регионы мира довольно часто поднимается на Хабре. Я решил собрать в одном месте список онлайн-сервисов, которые будут полезны тем, кто всерьез задумался об иммиграции. На удивление, «живых» и активных стартапов в этой сфере не так и много. Для статьи я отобрал четыре проекта.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Abazë, Durres, Албания
Дата рождения
Зарегистрирован
Активность