Как стать автором
Обновить
12
0
magmoro @magmoro

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

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

Промокоды, случайно оставленные в исходном коде веб-сайта

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

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

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

Мы исследуем сайт сети крытых аквапарков Great Wolf Lodge, однако должен сообщить, что веб-сайты довольно часто раскрывают свою внутреннюю информацию в плохом коде.

Я буду объяснять каждый свой шаг, чтобы вы могли сами использовать описанные в статье способы для исследования исходного кода других веб-сайтов. И поверьте мне, в исходном коде можно найти всевозможные любопытные подробности.
Читать дальше →
Всего голосов 32: ↑29 и ↓3 +26
Комментарии 7

React. Не вглубь, а вширь. Композиция против реальности

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

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

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

Новое в Symfony 5.2: атрибуты PHP 8

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

В PHP 8 были добавлены новые интересные фичи, такие как типы объединения, match-выражения и constructor property promotion. Однако наиболее востребованной новой фичей являются встроенные атрибуты (также называемые аннотациями).

Symfony 5.2 будет включать поддержку атрибутов PHP 8 для определения роутов и необходимых зависимостей. Если вы уже используете аннотации, переход будет бесшовным.

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

Безопасная разработка: SAST, DAST, IAST и RASP

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


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


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


  • SAST
  • DAST
  • IAST
  • RASP

SAST и DAST


SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.


DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.


DAST также может пролить свет на проблемы времени выполнения, такие как:


  • проблемы аутентификации и конфигурации сервера
  • недостатки, видимые только при входе известного пользователя

Обнаружить это с помощью статистического анализа нельзя.

Читать дальше →
Всего голосов 3: ↑1 и ↓2 -1
Комментарии 4

Делаем код в адаптере чище с помощью MergeAdapter

Время на прочтение 3 мин
Количество просмотров 5.7K
Надоели перегруженные и сложные адаптеры в вашем проекте, напоминающие картинку ниже? Каждый раз, при добавлении нового типа ячейки хочется переписать адаптер для RecyclerView, чтобы код читался проще? Есть множество подходов, чаще всего рекомендуется использовать подход delegate adapter или, например библиотеку для динамического создания списков с различными типами view как groupie о работе с которой вы можете ознакомиться в этой статье. Но сегодня расскажем о новом классе, который поможет инкапсулировать логику вашего адаптера для разных ячеек тем самым соответствовать принципам SOLID.
Читать дальше →
Всего голосов 6: ↑4 и ↓2 +2
Комментарии 4

Идеальный UI фреймворк

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

Здравствуйте, меня зовут Дмитрий Карловский, и я… архитектор множества широко известных в узких кругах фреймворков. Меня никогда не устраивала необходимость из раза в раз решать одни и те же проблемы, поэтому я всегда стараюсь решать их в корне. Но прежде, чем их решить, нужно их обнаружить и осознать, что довольно сложно находясь в плену привычек, паттернов, стереотипов и "готовых" решений. Каждый раз сталкиваясь с проблемами в реализации задачи, я задумываюсь "что, блин, не так с этим инструментом?" и, конечно же, иду пилить свой инструмент: функцию, модуль, библиотеку, фреймворк, язык программирования, архитектуру ЭВМ… стоп, до последнего я ещё не докатился.


Речь сегодня пойдёт о JS-фреймворках. Нет, я не буду рассказывать про очередное готовое решение, не в том цель поста. Я лишь хочу посеять в ваших головах несколько простых идей, которые вы не встретите в документации ни к одному популярному фреймворку. А в конце мы постараемся сформировать видение идеальной архитектуры построения пользовательского интерфейса.


Взгляд под другим углом

Читать дальше →
Всего голосов 37: ↑31 и ↓6 +25
Комментарии 122

Вебинар Solarwinds и что у них нового в последней версии 2020.2

Время на прочтение 6 мин
Количество просмотров 3.7K
Solarwinds — очень известен своими решениями по мониторингу и удаленному управлению (Dameware). В этой статье мы расскажем об обновлениях платформы мониторинга Orion Solarwinds версии 2020.2 (вышла в июне 2020 года) и приглашаем вас на вебинар. Расскажем о решаемых задачах по мониторингу сетевых устройств и инфраструктуры, мониторингу flow- и span-трафика (а span Solarwinds тоже умеет, хотя, многие удивляются), мониторингу прикладного ПО, управлению конфигурациями, управлению адресным пространством и о реальных кейсах внедрения этого продукта у российских заказчиков — в первую очередь, в организациях банковской и нефтегазовой отрасли.

image

Вебинар проведем 19 августа в 10 утра совместно с компанией-дистрибьютором Аксофт.

Ссылка на запись вебинара здесь

А ниже под катом вы узнаете о новинках последней версии Solarwinds 2020.2. В конце статьи будет ссылка на онлайн-демо.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 1

Такая разная асинхронность

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

Здравствуйте, меня зовут Дмитрий Карловский и я… многозадачный человек. В смысле у меня много задач и мало времени, чтобы их все уже, наконец, закончить. Отчасти это и к лучшему — всегда есть чем заняться. С другой стороны — пока ты разрываешься между проектами, мир катится куда-то не туда и некому забраться на броневик и призвать толпу остановиться и немного подумать. А вопрос-то серьёзный — долгое время мир JS был погружён в ад обратных звонков и с ними не только не боролись — их боготворили. Потом он чуть менее чем полностью погряз в обещаниях. Сейчас к ним с разных сторон усиленно вставляют подпорки разной степени кривизны. А света в конце тоннеля всё не видать. Но обо всём по порядку...


Теория многозадачности


Сперва определимся с терминами. В процессе работы, приложение выполняет различные задачи. Например, "скачать файл с удалённого сервера" или "обработать запрос пользователя".


Не редки ситуации, когда для выполнения одной задачи требуется выполнение дополнительных задач — "подзадач". Например, для обработки запроса пользователя, необходимо скачать файл с удалённого сервера.


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


Тем не менее, обычно для завершения выполнения задачи, пусть и не сразу, но требуется и завершение выполнения подзадачи с последующей обработкой её результатов. Блокировку одной задачи в ожидании сигналов от другой будем называть "синхронизацией". В общем случае, синхронизация одних и тех же задач может происходить и множество раз, по самой различной логике, но в дальнейшем мы будем рассматривать лишь простейший и самый распространённый вариант — синхронизацию по завершению подзадачи.

Читать дальше →
Всего голосов 55: ↑49 и ↓6 +43
Комментарии 75

Умная перчатка для велосипедистов

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


Перевод с сайта instructables.com, автор проекта: Matlek

В данной статье я подробно расскажу процесс изготовления «умной перчатки» и её светодиодной панели, предназначенных для повышения безопасности велосипедистов и других людей, путешествующих по дорогам. Сначала можно посмотреть небольшую демонстрацию работы:


Как это работает


В перчатке находится плата Arduino, собирающая данные с гироскопа и акселерометра. Код использует модель «крохотного машинного обучения» tinyML и распознаёт жесты: каждое движение руки анализируется и превращается в сигнал (рука наклоняется влево, вправо, вперёд, назад, и т.п.). Сигнал отправляется по Bluetooth (BLE) на другой микроконтроллер, к которому подсоединена светодиодная матрица (которую, например, можно закрепить на рюкзак). Сообразно полученному сигналу матрица выводит определённые последовательности символов – так, чтобы другие водители и велосипедисты могли понимать, что собирается сделать велосипедист (к примеру, это могут быть стрелки влево, вправо, или текст).
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 48

Инструменты OSINT, которые ускорят исследования в сети

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


Почти у всех периодически возникает необходимость разобраться в какой-то новой сфере, провести исследования или быстро найти очень узкоспециализированную информацию. Но поисковик не всегда нас понимает. Мы старательно пытаемся объяснить: вводим большие предложения на смену коротким словосочетаниям. Рыскаем по страницам и ссылкам. И, вероятно, через несколько часов обнаруживаем в каком-то документе pdf запрос, который надо было вводить с самого начала.

Бывает, не всегда легко выразить свою информационную потребность в поисковом запросе. Может не хватать нужной терминологии, или вы еще не совсем уверены, в том, что именно ищите, а увидев возможные варианты, сразу поймете что нужно. А может, то, что вы ищите, вообще сложно облечь в лаконичный поисковой запрос.

Мы собрали инструменты OSINT, которые сделают исследования в сети более быстрыми, полезными и, возможно, более приятными. Большинство собранных ресурсов — на английском, бесплатные и без регистрации.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 1

Конференция DEVOXX UK. Выбираем фреймворк: Docker Swarm, Kubernetes или Mesos. Часть 2

Время на прочтение 9 мин
Количество просмотров 3.4K
Docker Swarm, Kubernetes и Mesos являются наиболее популярными фреймворками для оркестровки контейнеров. В своем выступлении Арун Гупта сравнивает следующие аспекты работы Docker, Swarm, и Kubernetes:

  • Локальный девелопмент.
  • Функции развертывания.
  • Мультиконтейнерные приложения.
  • Обнаружение служб service discovery.
  • Масштабирование сервиса.
  • Run-once задания.
  • Интеграция с Maven.
  • «Скользящее» обновление.
  • Создание кластера БД Couchbase.

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

Арун Гупта — главный технолог open-source продуктов Amazon Web Services, который уже более 10 лет развивает сообщества разработчиков Sun, Oracle, Red Hat и Couchbase. Имеет большой опыт работы в ведущих кросс-функциональных командах, занимающихся разработкой и реализацией стратегии маркетинговых кампаний и программ. Руководил группами инженеров Sun, является одним из основателей команды Java EE и создателем американского отделения Devoxx4Kids. Арун Гупта является автором более 2 тысяч постов в IT-блогах и выступил с докладами более чем в 40 странах.
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 0

Информация

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