Как стать автором
Обновить
171.42

Разработка веб-сайтов *

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

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

Ещё раз о пропертях или откуда что берётся

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.9K
Разработка веб-сайтов *Программирование *Java *
Из песочницы

О чём вообще речь?

Всем привет! В данной статье речь пойдёт о настраиваемых параметрах конфигурации Spring приложений. Когда я только начал изучать Spring, естественно, одним из источников знаний были готовые примеры, проекты-образцы. И меня жутко бесило, что какие-то нужные для работы приложения значения появлялись «ниоткуда». К примеру, автор какого-нибудь туториала предлагал для проверки только что созданного учебного приложения зайти на localhost по порту 8088. Откуда берётся 8088? Почему не 8089? Оказалось, что для таких настраиваемых параметров есть специальные файлы. Итак:

Какие бывают настраиваемые параметры?

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

Например, за то на каком порту будет крутиться встроенный http-сервер (если мы используем Spring Web) отвечает параметр server.port. В том самом туториале из вступления в соответствующем файле server.port был равен 8088. Выглядит это (в простейшем случае) так:

server.port=8088

Имя параметра может состоять (и, как правило, состоит) из нескольких частей. Например, все «спринговые» параметры начинаются со слова «spring». Кастомные (пользовательские) параметры, введённые разработчиком конечного приложения, могут начинаться, например со слова application или любого другого. В зависимости от используемого формата файла, части разделяются по-разному (см. следующий раздел). Простейший вариант, просто точками. Пример пользовательских параметров:

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 3

Новости

CDN — как взять и ускорить доставку контента за счет сервиса #CloudMTS

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 968
Блог компании CloudMTS Блог компании МТС Разработка веб-сайтов *IT-инфраструктура *Сетевые технологии *
Обзор
image

С начала 90-х веб-сайты проделали длинный путь. Размер первых из них редко превышал 4 Кбайт. С тех пор эта цифра значительно увеличилась. По данным HTTP Archive, в 2012 году средний размер страницы для десктопа составлял 803 Кбайта, а спустя десять лет — уже 2284 Кбайта. Все это, несомненно, отразилось на скорости загрузки и доставки контента до аудитории.

Есть мнение, что современные интернет-ресурсы стали слишком неповоротливыми. На фоне этой концепции возникли проекты 512 или 250 Кбайт, участники которых уменьшают веб-ресурсы до соответствующих размеров. Отдельные энтузиасты выжимают из оптимизации все соки. Они разрабатывают сайты весом до 14 Кбайт, и такой размер выбран неслучайно.

Читать дальше →
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 8

Оптимизация сборки веб-приложения

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 1.4K
Блог компании Домклик Разработка веб-сайтов *JavaScript *ReactJS *Системы сборки *
Туториал

По мере того, как ваше приложение растёт и развивается, растут и затраты времени на его тестирование и сборку, достигая нескольких минут при пересборке в dev-режиме и, возможно, десятков минут при «холодной» production-сборке. Что, конечно, совершенно неприемлемо. И если поначалу увеличение временных затрат может казаться незначительным, то впоследствии это непременно ведёт к ухудшению процесса разработки и может негативно повлиять на скорость выкатки важных релизов или хотфиксов. Таким образом, в какой-то момент вопрос оптимизации и ускорения сборки приложения может стать критически важным для разработчика.

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 2

Atomic Design в веб-дизайне

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 2.1K
Веб-дизайн *Разработка веб-сайтов *Дизайн
Из песочницы

Веб-дизайн — постоянно эволюционирует, адаптируясь к новым технологиям и требованиям пользователей. Одним из последних инновационных подходов, зародившихся в веб-дизайн-сообществе, является атомарный веб-дизайн (Atomic Design).

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

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 0

Истории

TypeScript 5.0 и 4.9: оцениваем и сравниваем изменения

Время на прочтение 9 мин
Количество просмотров 2.6K
Блог компании SimbirSoft Разработка веб-сайтов *JavaScript *Программирование *TypeScript *
Обзор

В середине марта 2023 года Майкрософт анонсировала релиз TypeScript версии 5.0. Разработчики ожидают от нее 10-20% прироста производительности, но так как всё зависит от кодовой базы и характеристик оборудования, они настоятельно рекомендуют опробовать эти изменения.

В этой статье мы разберём некоторые изменения в TypeScript 4.9 и 5.0 и сравним нововведения с предыдущими версиями. На примерах кода постараемся понять, для чего они были добавлены и как они упрощают нашу жизнь. Статья будет полезна опытным разработчикам, которые часто применяют TypeScript в работе, и начинающим, так как мы подробно разберем решения некоторых проблем.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 8

Как No-code и генеративный ИИ позволяют за секунды создавать новые сайты

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 19K
Блог компании ГК ITGLOBAL.COM Веб-дизайн *Разработка веб-сайтов *Машинное обучение *Искусственный интеллект
Обзор

Фронтенд и бекенд — прошлый век?

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

Создание сайта с нуля у опытного разработчика займет в среднем от 100 до 500 часов. Причем если нужен уникальный дизайн и множество картинок, это ещё и выльется в копеечку. Но, оказывается, люди без опыта и знаний уже делают сайты бесплатно, и за 10 минут (или 10 секунд, если используют один из сервисов). Не имея ни малейшего понятия о том, что такое PHP, Python или Java.

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

Читать далее
Всего голосов 22: ↑18 и ↓4 +14
Комментарии 16

Избавляемся от предупреждений и уязвимостей при установке пакетов с помощью yarn

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 556
Разработка веб-сайтов *JavaScript *Node.JS *Angular *TypeScript *
Туториал

В публикации речь идет о warnings и vulnerabilities при установке библиотек с помощью yarn и о том, как от них избавиться. Я рассмотрел несколько случаев, приведенных ниже, но решения можно применять и к другим, схожим ситуациям:

Warnings типа:

has incorrect peer dependency

has unmet peer dependency

Vulnerabilities:

Prototype pollution in webpack loader-utils

loader-utils is vulnerable to Regular Expression Denial of Service (ReDoS)

Crash in HeaderParser in dicer        

Читать далее
Рейтинг 0
Комментарии 0

HTTP 1, 2 и 3 — просто

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 12K
Разработка веб-сайтов *Сетевые технологии *
Туториал

Просто о том, чем отличаются HTTP1, HTTP2 и HTTP3, а также почему HTTP3 ещё и QUIC. Статья для junior'ов, интересующихся и готовящихся к собеседованиям.

Я http-любознательный
Всего голосов 22: ↑19 и ↓3 +16
Комментарии 19

Пример биометрической аутентификации в веб-приложениях

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 1.7K
Разработка веб-сайтов *JavaScript *
Туториал

В довольно длинном и скучном посте описывается пример аутентификации пользователя в веб-приложениях при помощи биометрических средств (FaceID, отпечаток пальца), встроенных в мобильные телефоны. Код проекта - тут, рабочее демо - тут. Пример написан на чистом JavaScript и может быть отдебажен как на бэке (nodejs), так и в браузере.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 4

Как создать дизайн-систему, в которой комфортно всем

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 1.8K
Блог компании БФТ-Холдинг Веб-дизайн *Разработка веб-сайтов *Интерфейсы *Дизайн
Туториал

Привет! Меня зовут Константин. Уже второй год мы с командой проектировщиков работаем в БФТ-Холдинге над большим продуктом для государства. В этой статье я поделюсь своим опытом, а также расскажу про ошибки, с которыми пришлось столкнуться на пути к созданию удобной дизайн-системы.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 7

Массовый дефейс веб-сайтов .РФ

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 45K
Блог компании RUVDS.com CMS *Информационная безопасность *Разработка веб-сайтов *1С-Битрикс *
Кейс

26 мая 2023 года произошёл массовый дефейс веб-серверов национального сегмента сети интернет .РФ. В качестве цели атаки выступила CMS «Битрикс».

В ходе расследования выяснилось, что атака подготовлена заранее. Подготовка велась с 2022 года через известные уязвимости, включая CVE-2022-27228. Техническое описание см. на форуме разработчиков. Возможно, это самая крупная атака против национального сегмента .РФ в его истории.

Компания CyberOK выпустила отчёт c описанием атаки и разъяснением необходимых действий для того, чтобы удалить с сервера бэкдор, устранить уязвимости «Битрикса» и восстановить приложение. Также приведены рекомендации по защите веб-приложения.
Читать дальше →
Всего голосов 77: ↑71 и ↓6 +65
Комментарии 99

Делюсь опытом участия в хакатоне от Совкомбанка

Время на прочтение 12 мин
Количество просмотров 2.6K
Разработка веб-сайтов *PHP *Программирование *Symfony *VueJS *
Обзор

Сегодня, я хочу поделиться опытом и рассказать про участие в хакатоне от совкомбанка. Подробнее про хакатон можно почитать тут. Для лл я вкратце опишу задачу — командой до 5 человек сделать внутренний сервис для подбора персонала и ведения HR деятельности.

Читать далее
Всего голосов 20: ↑15 и ↓5 +10
Комментарии 9

Кто до сих пор использует PHP?

Уровень сложности Простой
Время на прочтение 11 мин
Количество просмотров 13K
Блог компании RUVDS.com Разработка веб-сайтов *PHP *JavaScript *Программирование *
Мнение
Перевод

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

Недавно мне подвернулась кое-какая работа, связанная с PHP. Поначалу я была удивлена, ведь за этим языком закрепилась дурная слава – преимущественно из-за его ассоциирования с устаревшими проектами WordPress (и всеми вытекающими из этого уязвимостями). Но WordPress – это всё же не PHP.

В общем мне стало любопытно. Кто они – те люди, которые до сих пор используют PHP? Почему они это делают? И как этот опыт можно сравнить с моим скромным миром серверных проектов на JS?
Читать дальше →
Всего голосов 101: ↑53 и ↓48 +5
Комментарии 71

FastAPI без db: Session

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 4.4K
Разработка веб-сайтов *Python *SQL *
Кейс
Из песочницы

Если вы пытались сделать CRUD для FastAPI или вынести бизнес логику из контроллеров, то возможно вы видели или делали такую страшную конструкцию:

Читать далее
Всего голосов 8: ↑3 и ↓5 -2
Комментарии 17

Свой NPM репозитарий Verdaccio + GitLab + Docker

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.4K
Разработка веб-сайтов *JavaScript *Node.JS *DevOps *VueJS *
Из песочницы

Требовалось кешировать используемые в разных проектах NPM пакеты (+ хранить свои пакеты) на отдельном сервере.

Было решено делать это с помощью репозитария Verdaccio (по нему есть достаточно хорошая офф. дока), крутится это все должно в Docker, а разворачиваться на отдельном сервере через GitLab CI/CD.

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

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 8

Как я очень захотел перейти из фронтенда в бэкенд — и перешёл

Время на прочтение 5 мин
Количество просмотров 11K
Блог компании AvitoTech Разработка веб-сайтов *Управление персоналом *Карьера в IT-индустрии

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

Читать далее
Всего голосов 16: ↑10 и ↓6 +4
Комментарии 12

MariaDB, фрагментация, varchar и печалька

Уровень сложности Средний
Время на прочтение 10 мин
Количество просмотров 3.3K
Разработка веб-сайтов *MySQL *SQL *
Кейс

При проектировании таблиц в базах данных может возникнуть вопрос (я надеюсь) как хранить строки в char или varchar. Совсем недолго помучавшись почти всегда выбирается varchar, по причине того, что места занимает меньше. Собственно о последствиях этого выбора на реальном примере и поговорим , а так же о причинах по которым эти последствия возникают, и о неидеальных решениях этой проблемы.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 18

Книга «JavaScript с нуля до профи»

Время на прочтение 14 мин
Количество просмотров 9.3K
Блог компании Издательский дом «Питер» Разработка веб-сайтов *JavaScript *Программирование *Профессиональная литература *
imageПривет, Хаброжители!

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

В «JavaScript с нуля до профи» основное внимание уделяется ключевым концепциям программирования и манипуляциям с объектной моделью документа для решения распространенных проблем в профессиональных веб-приложениях. К ним относятся проверка данных, управление внешним видом веб-страниц и работа с асинхронным и многопоточным кодом.

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

Для кого эта книга
Для комфортного знакомства с книгой не требуется никакого опыта в JavaScript. Конечно, упражнения дадутся немного легче, если вы хотя бы немного умеете программировать. Знакомство с основами HTML и CSS будет вашим преимуществом. Если вы начинающий программист, для нас большая честь поприветствовать вас в мире программирования. Вначале он может показаться сложным, но мы проведем вас через все трудности.
Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 2

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 2

Время на прочтение 6 мин
Количество просмотров 4K
Блог компании Selectel Разработка веб-сайтов *Python *Django *
Туториал

В предыдущей части мы частично разобрали шаблон для нашего блога, выбрали виртуальную машину и запустили на ней нативный веб-сервер Django. Однако он предназначен только для тестирования и запуска приложений во время разработки. Для обработки запросов в продакшене нужно настроить Nginx и WSGI Gunicorn. В этой статье показываем, как это сделать.
Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 5

Добавляем тесты в Vercel

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 389
Разработка веб-сайтов *Тестирование IT-систем *Тестирование веб-сервисов *Управление разработкой *DevOps *
Туториал

Хорошего времени суток, господа и дамы. Меня зовут Илья, и если вы занимаетесь автоматизацией тестирования на проекте, и ваш проект использует Vercel, то этот мини-гайд для вас.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Вклад авторов