Как стать автором
Обновить
0
0
Ахметшин Роман @Rmann9

Пользователь

Отправить сообщение

Angulareact

Время на прочтение8 мин
Количество просмотров5.3K

У меня есть проблема. Приложение написано на Angular, а библиотека компонентов на React. Делать клон библиотеки слишком дорого. Значит, нужно использовать React-компоненты в Angular-приложении с минимальными затратами. Разбираемся как это делать.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии8

Web tools, или с чего начать пентестеру?

Время на прочтение11 мин
Количество просмотров48K
Продолжаем рассказывать о полезных инструментах для пентестера. В новой статье мы рассмотрим инструменты для анализа защищенности веб-приложений.

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

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

Интро Newton Protocol: что можно уместить в 4 килобайта

Время на прочтение8 мин
Количество просмотров21K
image

Недавно я участвовал соревнованиях демосцены Revision 2019 в категории «PC 4k intro», и моё интро выиграло первое место. Я занимался кодингом и графикой, а dixan сочинял музыку. Основное правило соревнования — необходимо создать исполняемый файл или веб-сайт, имеющий размер всего 4096 байта. Это означает, что всё приходится генерировать с помощью математики и алгоритмов; никаким другим способом не получится ужать изображения, видео и аудио в такой крошечный объём памяти. В этой статье я расскажу о конвейере рендеринга своего интро Newton Protocol. Ниже можно посмотреть готовый результат, или нажать сюда, чтобы посмотреть как оно выглядело вживую на Revision, или зайти на pouet, чтобы прокомментировать и скачать участвовавшее в конкурсе интро. О работах конкурентов и об исправлениях можно прочитать здесь.

Всего голосов 89: ↑89 и ↓0+89
Комментарии32

Делаем свой Skype с переводом речи в реальном времени, только лучше

Время на прочтение2 мин
Количество просмотров16K
Не так давно Skype анонсировал реал-тайм перевод во время видеообщения с собеседником. Эта тема уже давно не дает покоя человечеству: многие помнят фильм «Автостопом по галактике» и Babel fish. Мы решили разобраться, как сделать это существо на Voximplant. Описание и демка – под катом.
Читать дальше →
Всего голосов 42: ↑40 и ↓2+38
Комментарии8

Простой статический сайт на Webpack 4

Время на прочтение15 мин
Количество просмотров141K


После прочтения ряда статей (например, этой) решил перейти на современный подход с использованием Node.js при написании простых сайтов с подхода «динозавров». Ниже представлен разбор примера сборки простого статического сайта с помощью Webpack 4. Статья написана, так как инструкции с решением моей задачи не нашел: пришлось собирать всё по кусочкам.

Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии88

Angular: авторизация, рефрешим токен и HttpInterceptor

Время на прочтение11 мин
Количество просмотров47K
Доброго времени суток.

Опишу процесс авторизации с использованием некоторого сервера авторизации и интерфейса HttpInterceptor, который стал доступен с версии Angular 4.3+. С помощью HttpInterceptor`a будем добавлять наш токен в Header запроса перед отправкой каждого запроса. Так же, по истечению срока действия токена, получая 401ую ошибку, будем восстанавливать токен и повторять запросы, которые не прошли авторизацию пока ждали рефреша.

Начнем с конфигурации Interceptor`ов:


Проводить конфигурацию предпочитаю с основного модуля приложения. Или если ваше приложение уже достаточно большое, советую вынести конфигурации в CoreModule.
В статье буду использовать CoreModule, но можно сделать это и в корневом (AppModule обычно) модуле приложения, отличия незначительны.

Пока писал статью ресурс на angular.io по CoreModule исчез
Коротко говоря, это такой модуль, который должен содержать глобальные сервисы. Преимущество в том, что этот модуль импортируется в модуле приложение (AppModule). Все экспортированные Core модулем сервисы гарантированно будут иметь только один инстанс на все приложение, включая lazy loaded модули.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии9

Шаблоны проектирования в React

Время на прочтение7 мин
Количество просмотров45K
Шаблоны проектирования, которые возникли и развились в экосистеме React за время её существования, улучшают читабельность и чистоту кода, облегчают повторное использование компонентов.

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

Сообществу React понадобилось около двух лет для того, чтобы выработать несколько идей, которые теперь стали популярными. Тут можно отметить переход с React.createClass к классам ES6 и к чистым функциональным компонентам, отказ от миксинов и упрощение API. Теперь, учитывая то, что число React-разработчиков постоянно растёт, то, что в развитие этого проекта вкладываются серьёзные силы, можно наблюдать эволюцию нескольких интересных шаблонов проектирования. Этим шаблонам и посвящён данный материал.
Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии5

Пишем масштабируемые и поддерживаемые сервера на Node.js и TypeScript

Время на прочтение7 мин
Количество просмотров19K


Последние три года я занимаюсь разработкой серверов на Node.js и в процессе работы у меня накопилась некоторая кодовая база, которую я решил оформить в виде фреймворка и выложил в open-source.


Основными особенностями фреймворка можно назвать:


  • простую архитектуру, без всякой JS – магии
  • автоматическую сериализацию/десериализацию моделей (например, не нужно проверять пришло ли поле с клиента, все проверяется автоматически)
  • возможность генерации схемы API
  • генерацию документации на основе схемы
  • генерацию полностью типизированного SDK для клиента (на данный момент речь про JS frontend)

В данной статье мы поговорим немного о Node.js и рассмотрим данный фреймворк


Всем кому интересно – прошу под кат

Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии38

Как я взломал пул для майнинга Bitcoin

Время на прочтение4 мин
Количество просмотров57K
Сегодня веб-сайты работающие с криптовалютами являются очень «вкусной» мишенью для хакеров. И вроде бы их безопасность должна быть на высоком уровне, но нет. это далеко не всегда так. Посмотрите хотя бы на BlockChain Graveiard, где видно как крупнейшие сервисы банкротятся и закрываются в результате хакерских атак. Меня это воодушевило и я решил провести собственное исследование безопасности одного из таких веб-приложений. В этой статье я расскажу что из этого получилось и сколько мне заплатили. Интересно? Добро пожаловать под кат.
Читать дальше →
Всего голосов 125: ↑122 и ↓3+119
Комментарии28

Топ-10 ошибок из 1000+ JavaScript-проектов и рекомендации по их устранению

Время на прочтение11 мин
Количество просмотров30K
В компании Rollbar, которая занимается созданием инструментов для работы с ошибками в программах, решили проанализировать базу из более чем 1000 проектов на JavaScript и найти в них ошибки, которые встречаются чаще всего. В результате они сформировали список из 10 наиболее часто встречающихся ошибок, проанализировали причины их появления и рассказали о том, как их исправлять и избегать. Они полагают, что знакомство с этими ошибками поможет JS-разработчикам писать более качественный код.

image

Сегодня мы публикуем перевод их исследования.
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии17

W3View — библиотека на Javascript, для которой был создан HTML

Время на прочтение3 мин
Количество просмотров13K

Да, ещё одна новая библиотека на JS, хочу поделиться. Фидбека жажду, любого, лучше конечно позитивного конструктивного.

Читать дальше →
Всего голосов 45: ↑32 и ↓13+19
Комментарии37

WebTorrent: торренты через браузер. Без плагинов, чистый JavaScript

Время на прочтение2 мин
Количество просмотров467K


Теперь для скачивания и просмотра фильмов с торрентов не нужен отдельный торрент-клиент. Также как и для раздачи файлов по протоколу BitTorrent тоже не нужен отдельный клиент. Достаточно обычного браузера, поддерживаются Chrome, Firefox и Opera (десктоп и Android).

Всё это благодаря WebTorrent — гибриду BitTorrent и WebRTC. Скачивание и раздача происходят прямо через сайт. Встроенный плеер начинает показ фильма, как только скачано несколько процентов.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии26

Чеклист фронтенд-разработчика

Время на прочтение12 мин
Количество просмотров70K
Глеб Летушов, редактор-фрилансер, адаптировал для блога Нетологии чеклист с Github от David Dias. Этот чеклист уже переводили, но так как на Хабре его нет, мы решили, что он пригодится. В чеклисте собран полный список элементов, которые необходимо проверить перед запуском и публикацией сайта.



Список основан на многолетнем опыте фронтенд-разработчиков, а дополнения собраны из общедоступных источников.
Читать дальше →
Всего голосов 30: ↑24 и ↓6+18
Комментарии21

WSTester – JS библиотека для тестирования веб-сервисов с ВебСокетами

Время на прочтение4 мин
Количество просмотров6.1K

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


logo

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

Делаем адаптивный HTML, добавляя одну строку в CSS

Время на прочтение4 мин
Количество просмотров193K
image

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

И самое классное: адаптивность будет добавлена с помощью одной строки CSS.
Это означает, что нам не нужно загромождать HTML лишними классами (Col-sm-4, col-md-8) или создавать медиа-запросы для каждого размера экрана.

Рассмотрим все подробнее.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии103

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

Время на прочтение11 мин
Количество просмотров21K
Нередко рассказы о том, как веб-разработчики заботятся о своих приложениях, начинаются с процесса визуализации сайта, опускаются на уровень DOM и останавливаются на утверждениях типа: «И это быстро потому, что используется ускорение». Мартин Сплитт рассказывает о производительности снизу вверх: он начинает с пикселя и поднимается уровень за уровнем, заканчивая компоновкой страницы.


В основе статьи – выступление Мартина на JavaScript-конференции HolyJS 2017 в Питере, где он рассказывает о том, как происходит визуализация в браузерах и что нужно делать для того, чтобы ваши сайты «летали».
Всего голосов 32: ↑27 и ↓5+22
Комментарии9

Геометрические фигуры на CSS

Время на прочтение4 мин
Количество просмотров954K
Отличная подборка, как нарисовать различные геометрические фигуры одним элементом HTML.

Квадрат



#square {
	width: 100px;
	height: 100px;
	background: red;
}

Читать дальше →
Всего голосов 352: ↑328 и ↓24+304
Комментарии103

Air Datepicker, легкий и красивый выбор даты

Время на прочтение5 мин
Количество просмотров106K
Хочу поделиться с вами опытом написания компонента выбора даты для текстового поля.


Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Комментарии35

Полный цикл создания модели персонажа для игры

Время на прочтение3 мин
Количество просмотров179K
Процесс создания in-game модели персонажа от эскиза до релиза.

image

Доброго времени суток. Меня зовут Ivan. Сегодня я поделюсь с вами деталями разработки игр, а именно расскажу о полном цикле создания персонажа. Итак, поехали!
Читать дальше →
Всего голосов 54: ↑51 и ↓3+48
Комментарии38

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность