Обновить
512K+

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

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

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

Ты приходишь в проект, а там легаси…

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

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

Давайте отбросим эмоции. И посмотрим, что можно быстро предпринять, чтобы облегчить страдания.

Читать далее

Трёхпроходный алгоритм рефакторинга Front End

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

Попался мне достаточно крупного размера проект написанный на React + Typescript.
Покопался в коде. Всё круто, контейнеры, компоненты, типы везде стоят, линтер настроен, styled-components, даже storybook есть и некий react-query.

Ну просто счастье, а не проект!

Сажусь делать простую таску – какую-то страничку собрать из компонентов.
Пишу в коде But… и IDE мне предлагает 16 Button компонентов.

Блииин…

Дальше больше...

Записки юного TeamLead: Ошибки, о которых не стыдно говорить

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

Любой разработчик может уйти в сторону оси "Технологии" и делать свой стек технологий сильнее - становиться ведущим или старшим разработчиком. Можно попробовать прокачать себя в оси "Продукт" - уйти в PM и потом пойти дальше по матрице компетенций и расти по вертикали. Но есть еще одна ось, о которой можно много говорить, о которой много пишут, писали, и будут писать - "Люди". Управление людьми, работа с командой напрямую, выстраивание своих локальных процессов разработки - участь TeamLead

Ну, удиви

От студента до учителя: как разобраться в веб-разработке, если это не твой профиль

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

Хоть кому-то и может показаться, что веб-разработчик — это суровый технарь (айтишник же!), вход в эту профессию не сложнее, чем в Python . В неё часто переходят бывшие педагоги, юристы, бухгалтеры и другие гуманитарии. О том, с чего начать обучение, какие ошибки допускают новички, как освоиться в профессии и стоит ли самостоятельно учиться, рассказывает преподаватель веб-разработки в GeekBrains Алексей Кадочников.

Читать далее

Как я в 15 лет написал интернет-магазин

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

Я заинтересовался программированием в 5-том классе. У меня в школе был кружок по HTML. Я туда пошел, походил, потом заболел, пропустил несколько уроков. Мы дошли до таблиц и я уже не смог догнать программу.

Но в 7-ом классе во втором семестре мы уже должны были учить HTML по школьной программе. И я снова очень заинтересовался сайтами. Стал смотреть видео типа "CSS за час"

Читать!

Первое знакомство с SQL-инъекциями

Время на прочтение5 мин
Охват и читатели40K
SQL-инъекции (SQL injection, SQLi, внедрение SQL-кода) часто называют самым распространённым методом атак на веб-сайты. Их широко используют хакеры и пентестеры в применении к веб-приложениям. В списке уязвимостей OWASP Топ-10 присутствуют SQL-инъекции, которые, наряду с другими подобными атаками, находятся на первом месте среди угроз, с которыми сталкиваются веб-проекты.

Несмотря на то, что SQL-инъекции существуют уже более 20 лет, этот метод атаки на веб-проекты всё ещё можно успешно применить для взлома тех веб-сайтов и приложений, создатели которых не реализовали в них соответствующие защитные механизмы.



Этот материал рассчитан на абсолютных новичков, на тех, кто ничего не знает о SQL-инъекциях. Начнём мы с разбора основ, в которых необходимо ориентироваться перед разговором о SQLi. А именно, сначала мы поговорим о реляционных базах данных. Потом — о SQL, и о формировании SQL-запросов. И наконец — о том, как работают SQL-инъекции, и о том, почему они так опасны для веб-приложений.
Читать дальше →

Разбираемся с развёртыванием CodeReady Containers на Linux

Время на прочтение13 мин
Охват и читатели5.9K
Подумываете ли вы о том, чтобы использовать Red Hat CodeReady Containers (CRC) для решения задач локальной OpenShift-разработки? Собираетесь ли устанавливать CRC на Linux? В этом материале я хочу рассказать именно об этом. Мы обсудим некоторые особенности работы CRC и поговорим о настройке контейнеров.



Тут используется система CRC версии 1.21.0, в основе которой лежит OpenShift Container Platform (OCP) версии 4.6.9. Я устанавливаю CRC на Debian 10 GNU/Linux, но нам подойдёт любой современный дистрибутив Linux — вроде Fedora или Ubuntu. CRC 1.21.0 можно установить на Linux-хосте, который удовлетворяет следующим требованиям:

  • На нём установлены KVM и libvirt.
  • Его сетевые настройки выполняются с использованием NetworkManager.
  • Пользователь, устанавливающий CRC, имеет sudo-доступ к этому хосту.

Перед установкой CRC нужно будет загрузить tarball-дистрибутив CRC и так называемый «pull secret». «Pull secret» — это JSON-файл, который содержит аутентификационную информацию, необходимую для доступа к защищённым реестрам образов, поддерживаемым Red Hat. Если вы не являетесь клиентом Red Hat — вы можете присоединиться к Red Hat Developer Program, к программе Red Hat для разработчиков, и бесплатно загрузить этот файл. Участие в этой программе позволяет, кроме того, загрузить tarball-дистрибутив CRC. А отсюда дистрибутив можно скачать без лишних формальностей.

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

Простые советы по написанию чистого кода React-компонентов

Время на прочтение8 мин
Охват и читатели22K
Автор материала, перевод которого мы публикуем сегодня, делится советами, которые помогают делать чище код React-компонентов и создавать проекты, которые масштабируются лучше, чем прежде.


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

Ретроностальгия: почему мой веб-сайт выглядит как Windows 9x

Время на прочтение3 мин
Охват и читатели19K
Уже долгое время я хотел обновить свой веб-сайт, но я не дизайнер, поэтому знал, что мои попытки усовершенствования уже имеющегося выльются в сумбурную мешанину.


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

Что касается дизайна… то почему бы не отдать дань уважения одной из самых значимых операционных систем моей юности: Windows 9x. И почему бы ради забавы не сделать его таким, чтобы он умещался на дискете?

Используем DevTools в headless Chrome

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


Если вы когда-нибудь использовали Puppeteer, то наверняка сталкивались с неудобной отладкой скриптов на удалённых нодах headless Chrome. Часто так не хватает консоли, а лучше полноценной панели инструментов для изучения запросов и логов… хотя постойте. Puppeteer сам по себе построен поверх Chrome DevTools Protocol, значит, наверняка есть куча решений для проброса данных в локальные DevTools? А вот и нет. Есть только два более-менее рабочих инструмента: отладчик для browserless.io и pptrconsole. Второй по функционалу и стабильности уже далеко впереди, поэтому поговорим про него.
Читать дальше →

Как я решил протестировать нагрузочную способность web сервера

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

В одно прекрасное утро вдруг пришла "гениальная" мысль – а не протестировать ли мне что ни будь? Посмотрев по сторонам, на глаза мне попался он - герой этой статьи.

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

И так дано - web сервер. Написан на .net core. Сервер используется в корпоративной разработке.

Посмотреть, как работает можно, например здесь – бесплатный сервис хранения ссылок http://linkin.link. Про него я писал тут.

Читать далее

Полное руководство по CSS Flex + опыт использования

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

Как и CSS Grid, Flex Box довольно сложен, потому что состоит из двух составляющих: контейнера и элементов внутри него.

Когда я начал изучать Flex, я хотел увидеть все, на что он способен. Но мне не удалось найти подробное руководство с примерами всех возможностей. Поэтому я решил самостоятельно создать диаграммы свойств Flex с «высоты птичьего полета».

Читать!

Иной подход к коммуникации удаленных команд

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

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

Читать далее

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

2021 — год low-code. Как он спасает бизнесы в пандемию и превращает гуманитариев в программистов

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

Журнал SD Times назвал 2021 годом low-code и рассказал, почему программисты боятся этих решений, как low-code инструменты помогают бизнесу в пандемию, снимают нагрузку с IT-отделов и превращают обычного сотрудника в разработчика. Не обошлось и недостатков — такие системы подходят не всем компаниям. Предлагаем адаптированный перевод статьи на русский язык.

Год назад никто не думал, что бизнесу придется срочно переходить из офлайна в онлайн. Люди ушли из офисов и начали работать из дома — компаниям понадобились новые приложения, чтобы управлять проектами, выполнять заказы и работать с клиентами. Новые приложения нужны были срочно, а обычная разработка не поспевала за спросом. Помогли low-code-платформы, где можно собирать приложения без кода.

Читать далее

Wrike переходит с Dart на новый стек. Какой?

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

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

Читать далее

Говорим, как структурировать код

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

Привет! В эту субботу PHP-чат Нижнего Новгорода проведет свой четвертый офлайн-митап с интерактивной трансляцией. Доклады подготовят Валентин Удальцов из Москвы и Денис Юрьев из Новосибирска. Записаться на митап можно здесь, поставить колокольчик под трансляцией — здесь. Те, кто будут смотреть онлайн, смогут задать вопросы текстом или голосом прямо из браузера.

А под катом небольшое интервью с докладчиками про то, что не вошло в их выступления.

Читать далее

Заметка о том, как работают хуки в React

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


Доброго времени суток, друзья!

Хочу поделиться с вами некоторыми наблюдениями относительно того, как работает React, а именно: предположениями о том, почему хуки нельзя использовать в if, циклах, обычных функциях и т.д. И действительно ли их нельзя использовать подобным образом?

Вопрос звучит следующим образом: почему хуки можно использовать только на верхнем уровне? Вот что по этому поводу говорит официальная документация.

Начнем с правил использования хуков.

Дайджест свежих материалов из мира фронтенда за последнюю неделю №463 (12 — 18 апреля 2021)

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

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

Шаблонизация PDF

Время на прочтение6 мин
Охват и читатели31K
imageХабрахабр, уважаемые коллеги!

Проблема впечатывания данных в PDF документ не нова, не я первый и не я последний кто с ней сталкивается, поэтому решил поделиться опытом решения и заодно представить вашему вниманию небольшое веб приложение по этой теме.
2024.10.28 немного доработал проект, теперь можно взять xlsx файл с данными и впечатать эти данные нужно количество раз в бланк pdf, как это сделать описано в Readme.md проекта на гитхабе. Для добавления нового шрифта просто положите новый шрифт в папку static/fonts и он станет доступным для впечатывания.

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

2. PDF формат плох тем, что он нередактируемый ) Т.к. шаблонизация, заполнение набором данных бланка документа PDF в автоматическом режиме затруднена, а в ручном режиме требуется установка платных, тяжеловесных приложений.

Меня, как программиста, беспокоит прежде всего 2-й пункт. Как в программном приложении впечатать необходимый набор данных в документ PDF?
Читать дальше →

Слабые места PHP: думай как хакер

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

Какие уязвимости можно найти в типичном PHP-проекте? Удивительно, но любые — от слабых мест и уязвимостей в коде никто не застрахован. Чем быстрее мы их найдем, тем меньше риск для компании. Но чем лучше будем понимать, как можно атаковать наше приложение и как взаимодействуют друг с другом наши фичи, тем легче будет защитить код еще на уровне разработки. Тем более, что в PHP есть свои специфичные уязвимости — те же type juggling, insecure deserialization и local file include.

Чтобы повысить уровень безопасности кода, полезно думать как хакер и тестировщик одновременно, проверяя все возможные лазейки в коде. Сканеры уязвимостей, SSL-сертификаты, аудиты и прочие многочисленные инструменты защиты будут хорошим дополнением. О том, как всё это совместить, Антон Прохоров рассказал в нашем интервью. На конференции PHP Russia 2021 Антон представит в докладе уязвимости PHP-приложений и способы их эксплуатации.

Читать далее