Обновить
512K+

Веб-разработка *

Делаем веб лучше

332,59
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Laravel. Локализованный роутинг

Время на прочтение15 мин
Охват и читатели10K

КДПВ


Привет, Хабр!


UPD
На этом ресурсе актульность статьи может оказаться умноженной на ноль одним комментарием. Задача описанная в статье может быть с меньшей болью решена библиотекой mcamara/laravel-localization.
За наводку спасибо DExploN!

Кат приподнят. Умноженное на ноль — снизу.
Читать дальше →

Новогодний IMaskjs 6 — React Native, Pipes, ESM

Время на прочтение4 мин
Охват и читатели4.1K


Всем привет!


Я только что выпустил релиз шестой версии библиотеки imaskjs. После каждого мажорного релиза мне кажется, что это последняя версия. Библиотеке уже не один год, она стабильна и достаточно популярна среди сообщества. Что там еще можно сделать да еще и на мажорную версию? Во всех своих проектах я стараюсь делать задачи так, чтобы больше к ним не возвращаться в рамках текущего контекста. Что может измениться в маске? — Браузеры не меняют свои API, javascript все такой же, бизнес задачи все те же — телефоны, карты, числа. Почему нельзя уже остановиться, довести до ума и больше не трогать?

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

Что айтишнику делать в 2020? 

Время на прочтение6 мин
Охват и читатели80K
Приобрести VDS со скидкой 30%, да ещё и до повышения цен. Шутка :) Но в каждой шутке есть доля правды.

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


После Cybertruck мы решили не включать дизайн в список перспективных направлений для айтишников в 2020 году. Что есть внешность вещей? Ничто рядом с их сутью
Читать дальше →

Менеджмент по-русски

Время на прочтение10 мин
Охват и читатели6K


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


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


Материал ниже — поучительно-юмористический.

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

Защита вашего GraphQL API от уязвимостей

Время на прочтение5 мин
Охват и читатели7.8K

Привет, Хабр! Представляю вашему вниманию перевод статьи Protecting Your GraphQL API From Security Vulnerabilities.


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


image

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

Локализация React приложении

Время на прочтение3 мин
Охват и читатели12K

Всем привет!


До нового года остаются считанные дни. Наткнулся на свой список дел, которые собирался сделать в 2019-м, среди них оказалось и написать статью на Хабр. Самое время заскочить в уходящий вагон).


Сразу оговорюсь, пиарю свой велосипед, если такое Вам не по душе, то можете смело пропускать статью.


Что такое локализация?


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

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

Google хоронит расширение PHP IMAP

Время на прочтение2 мин
Охват и читатели11K
Google сообщил владельцам G Suite аккаунтов о том, что с 15 февраля 2021 года авторизация в Gmail и других продуктах будет работать только через OAuth.

Для IMAP-авторизации разработчикам предлагается использовать способ авторизации под названием SASL XOAUTH2. Но дело в том, что стандартное расширение PHP IMAP (а именно функция imap_open) не способно авторизовываться по предлагаемому Google алгоритму.
Читать дальше →

Мой новый стек веб-технологий для 2020 года

Время на прочтение9 мин
Охват и читатели69K
Помните те времена, когда стеки веб-технологий были простыми? Когда уровни этих стеков можно было обозначить в виде четырёхбуквенного сокращения вроде LAMP, LEMP или LEPP? Когда всё, что было нужно для создания и поддержки сайтов, сводилось к вполне обычному железу, к какому-нибудь опенсорсному софту, да к упорству в достижении цели?

Мой первый успешный сайт, теперь уже старинный проект 1999 года, был создан с использованием технологий, которые можно пересчитать по пальцам одной руки: HTML4, CSS2, JavaScript3 и Apache 1.1. Всё это крутилось на сервере с Linux 2.0. Сайт включал в себя 38000 страниц. И сегодня, через 20 лет, он всё ещё их выдаёт.



С тех пор всё изменилось. Это касается и стеков веб-технологий. Теперь они совсем не те, что прежде.

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

Как оценить ёмкость сервиса и не упасть под нагрузкой

Время на прочтение7 мин
Охват и читатели51K


Рано или поздно любому растущему сервису приходится оценивать свои технические возможности. Сколько посетителей мы в силах обслужить? Какова ёмкость (она же capacity) системы? Не добрались ли мы до предела и не упадём ли, если привлечём ещё несколько тысяч пользователей? Сколько дополнительных вычислительных ресурсов заложить в бюджет на следующий год, чтобы соответствовать планам роста?

Ответы можно получить аналитическим путём, адресовав вопросы опытному разработчику/DevOps/SRE/админу. Достоверность оценки зависит от огромного числа факторов: начиная с темпов наполнения системы функциональностью и графа взаимосвязей между компонентами и заканчивая временем, которое эксперт с утра провёл в пробке. Чем сложнее система — тем больше сомнений в адекватности аналитической оценки.

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

WebRTC стриминг в виртуальной реальности и вокруг нее

Время на прочтение7 мин
Охват и читатели11K


Виртуальная реальность нынче на пике моды. Оборудование, что во времена "Газонокосильщика" было уделом сумасшедших ученых гиков с большими деньгами от Минобороны, сейчас и простому человеку по карману, а те, у кого карман совсем пуст, могут собрать VR-гарнитуру из картона и смартфона по множеству рецептов.

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

Пишем TodoMVC на dap. Часть 2

Время на прочтение16 мин
Охват и читатели1.8K
Это вторая, заключительная, часть туториала, в котором мы пишем TodoMVC-клиент с помощью минималистичного реактивного js-фреймворка dap.

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

Осталось реализовать: удаление произвольных дел, добавление новых дел, массовую установку/сброс и фильтрацию дел по признаку завершенности и функцию удаления всех завершенных дел. Этим мы и займемся. Финальный вариант клиента, к которому мы придем в этой статье, можно посмотреть здесь.

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

Docker для фронтендера. Часть 2. Что ты такое?

Время на прочтение5 мин
Охват и читатели15K

Продолжаю делать расшифровку своего доклада Docker для фронтендера с конференции FrontendConf 2019.


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

PHP-Дайджест № 170 (9 – 23 декабря 2019)

Время на прочтение4 мин
Охват и читатели17K

Свежая подборка со ссылками на новости и материалы. В выпуске: CakePHP 4, Codeception 4, Phalcon 4 и другие релизы, порция полезных инструментов, подкасты, видео с прошедших митапов, и многое другое.

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


Ближайшие события

Дайджест свежих материалов из мира фронтенда за последнюю неделю №394 (15 — 22 декабря 2019)

Время на прочтение3 мин
Охват и читатели9.8K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

Redux Toolkit как средство эффективной Redux-разработки

Время на прочтение13 мин
Охват и читатели128K

image
В настоящее время разработка львиной доли веб-приложений, основанных на фреймворке React, ведется с использованием библиотеки Redux. Данная библиотека является самой популярной реализацией FLUX-архитектуры и, несмотря на ряд очевидных преимуществ, имеет весьма существенные недостатки, такие как:


  • сложность и “многословность” рекомендованных паттернов для написания и организации кода, что влечет за собой большое количество бойлерплейта;
  • отсутствие встроенных средств управления асинхронным поведением и побочными эффектами, что приводит к необходимости выбора подходящего инструмента из множества аддонов, написанных сторонними разработчиками.

Для устранения этих недостатков разработчики Redux представили библиотеку Redux Toolkit. Этот инструмент представляет собой набор практических решений и методов, предназначенных для упрощения разработки приложений с использованием Redux. Разработчики данной библиотеки преследовали цель упростить типичные случаи использования Redux. Данный инструмент не является универсальным решением в каждом из возможных случаев использования Redux, но позволяет упростить тот код, который требуется написать разработчику.


В данной статье мы расскажем об основных инструментах, входящих в Redux Toolkit, а также, на примере фрагмента нашего внутреннего приложения, покажем, как их использовать в уже имеющемся коде.

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

Symbol.iterator в Javascript

Время на прочтение4 мин
Охват и читатели19K

Это короткая, но достаточно полезная статья для продолжающих разработчиков о итераторах в Javascript.


image

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

Всё, что нужно знать о Progressive Web App (PWA)

Время на прочтение6 мин
Охват и читатели59K
image

PWA — прогрессивные веб-приложения.

Предупреждение. Эта статья не проспонсирована PWA. Все взгляды и мнения в статье принадлежат только её автору.

Progressive Web App или PWA — лучший способ для разработчиков заставить свои веб-приложения загружаться быстрее и быть более производительными. PWA — это веб-сайты, которые используют современные веб-стандарты, что дает возможность устанавливать их на компьютер или устройство пользователя. В работе они как приложения. Самый известный пример — это Twitter, который запустил сайт mobile.twitter.com как PWA на React и Node.js.
Читать дальше →

SSL сертификат для Docker web-app

Время на прочтение4 мин
Охват и читатели66K
В данной статье я хочу поделиться с вами способом создания SSL сертификата для вашего веб-приложения работающего на Docker, т.к. в рускоязычной части интернета — подобного решения я не нашел.

image

Подробнее под катом.
Читать дальше →

Взлом с помощью Юникода (на примере GitHub)

Время на прочтение3 мин
Охват и читатели26K
Юникод исключительно сложен. Мало кто знает все хитрости: от невидимых символов и контрольных знаков до суррогатных пар и комбинированных эмодзи (когда при сложении двух знаков получается третий). Стандарт включает 216 кодовых позиций в 17-ти плоскостях. По сути, изучение Юникода можно сравнить с изучением отдельного языка программирования.

Неудивительно, что веб-разработчики упускают из вида некоторые нюансы. С другой стороны, злоумышленники могут использовать особенности Юникода в своих целях, что и делают.

Специалист по безопасности Джон Грейси продемонстрировал на примере GitHub баг проверки адреса электронной почты для восстановления забытого пароля. Подобные баги можно встретить и на других сайтах.
Читать дальше →

Начало работы с методами JavaScript-массивов .map(), .filter() и .reduce()

Время на прочтение5 мин
Охват и читатели58K
Когда я разбирался в том, как пользоваться методами JS-массивов .map(), .filter() и .reduce(), всё, что я читал, смотрел и слушал, казалось мне очень сложным. Эти концепции рассматривались как некие самостоятельные механизмы, ни к чему другому отношения не имеющие. Мне тяжело было ухватить их суть и их понять.



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