Обновить
444.45

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

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

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

Flask для начинающих — Часть 2 пишем landing page+admin panel с редактированием контента

Уровень сложностиПростой
Время на прочтение40 мин
Охват и читатели57K

Здравствуйте! Меня зовут Михаил, и я пишу эту статью специально для начинающих программистов, желающих изучить основы веб-разработки с использованием Flask.
 Я сам активно занимаюсь разработкой проектов на Flask и хочу поделиться своими знаниями и опытом, чтобы помочь вам начать свой путь в мире веб-разработки.

Flask для начинающих - Часть 2 создание Веб проекта.

Мы создадим с вами мини проект - веб сайт с админ панелью и обновлением контента сайта. При помощи Python, HTML, CSS, Bootstrap, Flask, SQLite.

создать сайт на Flask

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели147K

Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутентификацию и авторизацию с помощью Spring Boot 3 и Spring Security 6, чтобы помочь начинающем разработчикам разобраться и начать пользоваться базовым функционалом этой библиотеки. Цель данной статьи - показать, как использовать JWT-аутентификацию с API-интерфейсами.

Читать далее

Пишем веб-приложение вместе с ChatGPT и Stable Diffusion

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели20K

Всем привет! Ни для кого не секрет, что ChatGPT 4, получившая развитие в прошлом году, уже активно внедряется в обиход разработчиков. Во время новогодних каникул я решил испытать новинку, и попробовать разработать совместно с ботом небольшое веб-приложение на базе Angular 17. Что из этого вышло, читайте далее.

Читать далее

Лучшие поисковые пакеты для JavaScript

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

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

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

Читать далее

Почему typeof null === «object» в современном прочтении

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

Задача унарного оператор typeof возвращать строковое представление типа операнда. Другими словами, typeof 1 вернет строку "number", а typeof "" вернет "string". Все возможные значения типов, возвращаемых оператором typeof изложены в спецификации ECMA-262 - 13.5.1. По задумке, возвращаемое, оператором, значение должно соответствовать принятым в той же спецификации типам данных. Однако, при детальном рассмотрении, можно заметить, что typeof null должен возвращать "object", не смотря на то, что Null - это вполне себе самостоятельный тип, он описан в разделе 6.1.2. Причина тому - обычный человеческий фактор, или, попросту, невинная ошибка в коде. Как эта ошибка могла случиться, попробуем разобраться в этой статьей.

Читать далее

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 1

Уровень сложностиПростой
Время на прочтение20 мин
Охват и читатели147K

Всем привет! В этой статье хотел бы поделиться вопросами и ответами, которые я задаю на собеседованиях фронтенд-разработчикам и которые попадались мне, когда я сам искал работу. Здесь собраны вопросы именно по JavaScript. В дальнейшем планирую рассмотреть TypeScript отдельно, а также React и связанные с ним технологии.

Читать далее

Стартап — Сервис по тестированию. Часть 1. «О проекте»

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели3.6K

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

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

Изучив проблему, я подумал: почему не реализовать решение на базе своего приложения для тестов, и бонусом сделать функционал создания тестов общедоступным? И тут понеслось… 2 года непрерывной разработки, множество усвоенных новых знаний, 100500 рефакторов, - 10 выгораний.

И каково оно?

Техники для повышения гибкости в управлении проектами в период кризиса

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

За многие годы моей карьеры я столкнулся с множеством вызовов и уникальных ситуаций, которые позволили мне глубоко погрузиться в мир гибкого управления проектами. Думаю, статья будет полезна РМ’ам всех уровней.

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

Гибкость в управлении проектами – это способность адаптироваться к меняющимся условиям и требованиям без потери эффективности. Использование правильных инструментов и техник может значительно улучшить адаптивность команд и проектов.

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

Читать далее

Frontend. Чистые и грязные компоненты

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели15K

Здравствуйте!

Коротко о чем тут, чтобы вы могли понять, нужно ли оно вам или нет.

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

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

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

Читать далее

Идентификация пользователей в Web 3.0

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.4K

В данной статье я публикую свои размышления по поводу идентификации пользователей в плавно привходящей третьей версии веба - Web 3.0. Если коротко, то, в отличие от стремящегося к гипер-централизации Web 2.0 (в пределе - по одному веб-приложению разного типа на всё человечество с центром у какой-нибудь глобальной корпорации), Web 3.0 отличается как раз таки децентрализацией и повышенным вниманием к конфиденциальности пользовательских данных (хотя ничего не мешает тем же глобальным корпорациям контролировать функциональность этих децентрализованных приложений на уровне кода приложения или среды его выполнения - браузера или ОС).

Так какие же требования к идентификации могут предъявлять веб-приложения современного настоящего и ближайшего будущего?

Читать далее

Serverless в первый раз

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.2K

Давно я приглядывался к Serverless технологиям, но все не доходили руки. Как и во многих компаниях, там где я работаю есть строгое разделение на бэкендеров и фронтендеров. Проблемы у этого известные и самая неприятная — надо договариваться, а разработчики далеко не всегда самые общительные люди.

Но однажды все поменялось...

Статический сайт на AWS с редиректом http→https, www.site→site

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.2K

Задача

Есть AWS аккаунт, на котором требуется поднять статический сайт (html, js, css, png, jpg) на своём домене example.com.

Ссылки: http://example.com, http://www.example.com, https://www.example.com должны перенаправлять на основной сайт https://example.com.

План действий

Покупка домена.
Выпуск SSL сертификата.
Заливка файлов html, js, css в S3.
Создание двух CloudFront distributions (основного и для редиректа с www).
Привязка CloudFront функции редиректа к CloudFront distribution.
Создание A-записей в DNS.

Подробнее

Типы событий в React и TypeScript

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели26K

При работе с React и TypeScript вы часто сталкиваетесь с подобными ошибками:

const onChange = (e) => {}; // Parameter 'e' implicitly has an 'any' type.

<input onChange={onChange} />;

Не всегда понятно, какой тип следует присвоить пременнойe внутри функции onChange.

Это может произойти с onClick, onSubmit или любым другим обработчиком событий, которые получают элементы DOM.

К счастью, есть несколько решений:

Читать далее

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

Увлекательный мир фронтенда

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели21K

Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»

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

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

Читать далее

Flask для начинающих

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели266K

Как начать работать с Flask

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

Вы новичок в программировании и мечтаете о создании собственных веб-приложений? Эта статья — ваш ключ к пониманию Flask, одного из самых доступных и гибких веб-фреймворков на Python. От установки и простых примеров до работы с данными и базами данных — мы покрываем все, что вам нужно для старта.

За 15-20 минут чтения вы получите не только теоретические знания, но и практические советы от опытного разработчика. Присоединяйтесь к миру веб-разработки и откройте для себя, как просто и увлекательно может быть создание ваших первых веб-приложений с Flask!

Читать далее

Сколько стоит разработка сайта с нуля в 2024 году?

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели110K

Бизнес услуг может очень сильно разниться в стоимости: вы можете заказать сайт как за 100 000р., так и за несколько десятков миллионов. Давайте разберемся, в чем отличие дешевого сайта от дорогого и из чего сегодня формируется стоимость разработки с нуля.

Читать далее

Работа с часовыми поясами без библиотек

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели8.4K

Итак, настал тот moment, когда вам нужно работать с датами в разных часовых поясах (Новый год же!), а ваш архитектор/начальник не разрешает использовать Moment Timezone или Luxon, потому что они увеличат размер вашей сборки, а для вашего проекта важно, чтобы UI грузился быстро. Или потому что вы делаете небольшую задачу, и непонятно пока, будет ли расширение работы с часовыми поясами.

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

Кто виноват и что делать?

Знакомство с WebTransport API

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели21K


Hello world!


На днях я прочитал статью о WebTransport API как будущей альтернативе или даже замене WebSockets. Мне стало интересно, что это такое и с чем его едят. Давайте разбираться вместе.

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

Глубокий JS. Области тьмы или где живут переменные

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели16K

В статье Глубокий JS. В память и типах и данных мы говорили о том, как выглядит структура переменной каждого конкретного типа в памяти движка V8. В этой статье предлагаю теперь рассмотреть, где именно эти переменные хранятся и каким образом попадают в память.

Речь пойдет об Абстрактном Синтаксическом Дереве (AST), типах переменных, областях видимости и выделении памяти в стэке и куче.

Читать далее

Я счастлив, что больше не веб-разработчик

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

Я написал своё первое одностраничное веб-приложение на Javascript в 2005 году, сразу после того, как узнал о XMLHttpRequest и до появления серьёзных фреймворков. Я оставил профессиональную веб-разработку примерно в 2009 году (а начал её в 1997 году с WebObjects), а последний десяток лет своей карьеры занимался мобильными.

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

Javascript — ужасный язык, никогда не задумывавшийся для чего-то подобного, но, как ни странно, ставший популярным, потому что он всегда был под рукой. Потрясающе, какой объём инноваций затрачен на построение современной вселенной веб-разработки, несмотря на достаточно шаткий фундамент, на котором она основана.

Читать далее

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