Pull to refresh
0
Радик Ямалеев@Shaz1kread⁠-⁠only

Программист

Send message

Используем паттерн Decorator в Bitrix

Level of difficultyMedium
Reading time6 min
Reach and readers3.1K

Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. 

В статье я покажу на примере, как можно использовать паттерн Decorator.

А также рассмотрю этот паттерн в целом: его распространенные реализации в PHP, возможные альтернативы и ситуации, в которых лучше избегать его использования.

Читать далее!

Паттерны микросервисной архитектуры: от собеседования до прода

Level of difficultyMedium
Reading time13 min
Reach and readers15K

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

В этой статье рассмотрим, что это за понятие, как его применять и как рассказывать о нем на собеседовании так, чтобы покорить собеседующих.

Читать далее

Нормализация vs Денормализация: Mongo, Postgres и реальная жизнь

Level of difficultyMedium
Reading time19 min
Reach and readers21K

Нормализация vs Денормализация: Mongo, Postgres и реальная жизнь. Почему у нас вырастает 160 таблиц там, где мог быть один jsonb? И как понять, когда денормализация — это костыль, а когда осознанный выбор?

Если при слове «нормализация» у тебя начинается зевота, а менеджер с порога предлагает «спроектировать базу» — этот текст для тебя.

Читать далее

Оценка сроков выполнения задач: покоряем закон Хофштадтера

Level of difficultyMedium
Reading time13 min
Reach and readers66K

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

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

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

Читать далее

Git: Больше чем commit и push. 5 команд, которые спасут вашу репутацию (и нервные клетки)

Level of difficultyEasy
Reading time6 min
Reach and readers99K

git commit -m "WIP" — три слова, после которых начинается настоящий ад.

Доброго времени суток. Такая технология как Git в представлении не нуждается. Все знают add, commit, push — это как азбука. Но что делать, когда что‑то пошло не так? Ошибочный коммит прокатился по ветке? Надо срочно переключиться, но незавершенные правки мешают? Нужно перенести только одно исправление из другой ветки?

Знакомая ситауция? Тогда давайте разберем 5 команд, которые выходят за рамки базового workflow и реально спасают репутацию (и ваши нервные клетки).

Спасти нервные клетки

Unity: корутины и UniTask — когда что использовать

Level of difficultyEasy
Reading time7 min
Reach and readers5.9K

Сравнение корутин и UniTask в Unity.
Узнай, когда использовать каждый подход, как обрабатывать ошибки и улучшить производительность игр. Практические примеры кода.
В статье ты найдешь:
• Что такое корутины и UniTask
• Сравнение производительности
• Обработка ошибок
• Отмена операций
• Работа с ECS
• Когда что использовать

Читать далее

Собеседование php-developer (вопросы и ответы)

Reading time10 min
Reach and readers314K
Так уж получилось, что в этом году я прошел ряд собеседований на позицию PHP разработчика, чего я не делал уже несколько лет. Будучи человеком ленивым практичным, перед собеседованием я попытался найти сборники вопросов-ответов, но все найденное было довольно старым, поэтому я решил сам подготовить список вопросов, которые встречал.

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

Лучшие нейросети для создания игр

Level of difficultyEasy
Reading time6 min
Reach and readers42K

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

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

Читать далее

Разбираем базу по базам

Level of difficultyMedium
Reading time17 min
Reach and readers10K

Всем привет! Сегодня у нас на повестке дня работа с SQL-запросами, базами данных, какие есть варианты и как вообще правильно с ними работать в рамках BitrixFramework.

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

Не стоит пугаться AI-шной картинки, внутри материал писала белковая нейронка ;-)

Читать далее

9 open source библиотек для вашего следующего проекта

Level of difficultyEasy
Reading time10 min
Reach and readers18K

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

В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш проект.

Читать далее

Организация поиска на сайте: выбираем между поиском Битрикса, Sphinx и Elasticsearch

Level of difficultyMedium
Reading time9 min
Reach and readers8.6K

Когда я пользуюсь сайтом, я хочу, чтобы поиск был максимально простым и удобным. Мы все уже привыкли к тому, как работают умные системы вроде Google или Яндекса, поэтому от любой другой поисковой строки ожидаем аналогичного уровня. Вбиваешь, к примеру, «телискп» или «пороцитомол», а в ответ получаешь список подходящих оптических приборов или лекарств с указанием, где их можно найти в каталоге.

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

Читать далее

OrbStack: Почему я забыл про Docker Desktop

Level of difficultyEasy
Reading time4 min
Reach and readers76K

Работая на MacBook с Docker Desktop, я часто сталкивался с тем, что система становилась менее отзывчивой, особенно при запуске нескольких контейнеров одновременно. Высокая нагрузка на CPU и память заметно влияла на время автономной работы.

Но недавно я наткнулся на OrbStack, и это изменило мой рабочий процесс настолько, что я решил поделиться своим опытом. Спойлер: теперь мой MacBook не превращается в печку, батарея держится дольше, а Docker-контейнеры летают.

Читать далее

Создание интернет-магазина на компонентах: новый подход для быстрого выхода на рынок екома

Level of difficultyMedium
Reading time6 min
Reach and readers6.4K

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

Читать далее

Отладка PHP сценариев в Docker-контейнере с помощью PhpStorm и Xdebug. Глубокое погружение

Level of difficultyEasy
Reading time11 min
Reach and readers17K

Одним из ключевых аспектов успешной разработки является эффективная отладка кода.

Статья посвящена настройке и использованию PhpStorm, Xdebug и Docker для отладки PHP-скриптов в Docker-контейнере. Статья предлагает актуальную информацию (на момент написания) и оформлена в виде подробнейшего пошагового туториала. Информация действительна для ОС Windows. В других ОС возможны варианты.

Цель статьи — не просто создать пошаговой конспект настроек, а объяснить, как всё это взаимодействует. Это поможет избежать затруднений при изменении интерфейса IDE в будущем. Возможно, статья выглядит слишком педантичной. Но гуру всегда смогут прочесть её по диагонали, зато новички в этой теме найдут для себя много полезного.

Читать далее

Уровень моделей для Битрикс

Reading time1 min
Reach and readers1.5K

В процессе разработки почти любого приложения необходим удобный механизм по работе с данными из БД. В данной статье речь пойдет о расширении для СMS Bitrix, устанавливающийся с помощью пакетного менеджера composer.

Читать далее

Полезные практики написания поддерживаемого кода на PHP

Level of difficultyEasy
Reading time5 min
Reach and readers12K

Привет, меня зовут Алексей и я должен признаться, я PHP разработчик. Последние несколько лет плотно занимаюсь проектамиь на symfony и решил поделиться с сообществом практиками, которые стараюсь соблюдать при работе.

Многие из них довольно спорные, для дискуссии добро пожаловать в комментарии.

Читать далее

Принципы SOLID, только понятно

Level of difficultyEasy
Reading time6 min
Reach and readers158K

Когда я только знакомился с принципами SOLID, я искал понятные статьи на Хабр. При этом пришлось прочитать не одну статью, и полное понимание пришло сильно позже. Хотелось бы, чтобы новички на более простых примерах смогли почувствовать, о чем эти принципы.

Изучить принципы

Локальный веб-сервер для разработки с помощью Docker

Level of difficultyMedium
Reading time10 min
Reach and readers30K


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

Если это Senior Full Stack разработчик с опытом администрирования Linux, то установка и настройка конфигов Nginx, PHP-fpm, MariaDB для него не будут проблемой (а может и с Docker даже знаком?). 

Разработчик Middle уровня (особенно без опыта с backend) возможно пользуется одним из готовых решений под Windows/MacOS.

Junior верстальщик, в свою очередь, раньше не запускал приложение работающее на PHP на своем компьютере вообще, и вот-вот попробует в первый раз.

Было такое? У меня было. Случалось даже поздним вечером помогать новичку с установкой или решением проблемы, возникшей в ходе установки.

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

Читать далее

Подводные камни при разработке мобильного приложения на Bitrix REST API

Level of difficultyMedium
Reading time6 min
Reach and readers2.6K

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

Мы разработали интернет-магазин для крупной торговой сети. После запуска интернет-магазина, мы перешли к развитию проекта, в рамках которого появилась задача по созданию дополнительного канала по взаимодействию с покупателями. Вопрос о выборе API для бэкэнда не стоял, так как интернет-магазин был разработан на платформе 1С-Битрикс, система имеет необходимый функционал для работы с альтернативным фронтом и мобильным приложением. Перед нашей командой стояла задача разработать мобильное приложение на основе Bitrix REST API для платформ iOS и Android с сохранением функционала действующего интернет-магазин заказчика. Это означало необходимость использования компонентов, уже реализованных для интернет-магазина, копирования их с целью сохранения логики, удаления верстки и использования возвращаемых данных.

Читать далее

Как задеплоить сайт в облако. Инструкция для новичков

Level of difficultyEasy
Reading time6 min
Reach and readers17K

Опубликовать сайт можно разными способами. Например, если проект лежит в репозитории на GitHub, можно воспользоваться GitHub Pages. Но если вы не боитесь трудностей, советуем попробовать кое-что поинтересней — разместить сайт на облачном сервере.

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

Information

Rating
Does not participate
Location
Череповец, Вологодская обл., Россия
Date of birth
Registered
Activity