Pull to refresh
74
0
crosser @crosser

User

Send message

220 платежей в секунду: выдержать нельзя упасть

Reading time 9 min
Views 10K

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

Я разрабатываю сервисы в команде платежей Ozon. Мы много времени уделяем тому, чтобы все транзакции были обработаны корректно, даже если речь идёт о нагрузке в 2к платежей в минуту (именно столько у нас было в пике в период ноябрьских распродаж). Кстати, сейчас, по результатам нагрузочного тестирования, мы выдерживаем 13к платежей в минуту.

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

Читать далее
Total votes 28: ↑26 and ↓2 +24
Comments 9

Пишем простой счетчик для сайта или приложения с помощью Google Cloud Functions и AWS Lambda/Snowflake

Reading time 8 min
Views 3.2K

Как работают популярные счетчики веб или мобильной аналитики, например, Google Analytics или AppsFlyer? На сайт устанавливаются их коды или в приложение интегрируется мобильное SDK. Потом при каждом действии клиента отправляется http запрос на сервер аналитики.

У использования стандартных счетчиков/пикселей есть минусы:

некоторые посетители используют анонимайзеры, которые блокируют такие запросы;

их сложно кастомизировать под себя.

В этой статье мы напишем собственный простой счетчик, который будет решать эти проблемы. Встроим его в PowerBI отчеты. Но принцип одинаков, его можно будет использовать и на веб-сайте, и в приложении, и в других  устройствах с доступом к интернету. Попробуем две точки сбора событий, чтобы изучить больше технологий: Google Cloud Function, которая будет писать события в Google BigQuery, и Amazon Lambda Functions с записью событий в Snowflake.

Читать далее
Total votes 2: ↑2 and ↓0 +2
Comments 0

JavaScript: делаем селфи с помощью браузера

Reading time 13 min
Views 9.6K



Привет, друзья!


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


Мы разработаем простое приложение со следующим функционалом:


  • при инициализации приложение запрашивает у пользователя разрешение на захват медиапотока (далее также — поток) из видеокамеры его устройства;
  • захваченный поток передается в элемент video;
  • из потока извлекается видеотрек (далее также — трек), который передается в интерфейс для захвата изображений;
  • из экземпляра интерфейса извлекается список поддерживаемых возможностей (capabilities) и настроек (settings) для фото;
  • из трека также извлекается список поддерживаемых возможностей и настроек;
  • формируется список диапазонных полей (<input type="range">) для установки настроек для фото;
  • пользователь имеет возможность снимать фото (take photos) и захватывать фреймы (grab frames);
  • фото выводится в элемент img, генерируется ссылка для его скачивания;
  • фрейм инвертируется и отрисовывается на холсте (canvas), генерируется ссылка для его скачивания.

Репозиторий.


Приложение будет разработано на чистом JavaScript.


Для создания шаблона приложения будет использован Vite.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 1

Инструменты OSINT: Социальные сети

Reading time 3 min
Views 26K
image

Privacy — это когда все знают кто ты, но не знают конкретно, что ты сейчас делаешь.
Anonymity — это когда никто не знает кто ты, но видят твои действия.

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

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

Search4Faces


Search4faces — сервис поиска людей в интернете по фотографии. Нейросетка находит нужного человека или очень на него похожего в течение нескольких секунд. Результатом является ссылка на профиль найденного человека в социальной сети vk.com или ok.ru, tiktok, clubhouse, instagram.com.

На текущий момент частично или полностью собраны 4 базы данных: аватарки Вконтакте и Одноклассники (всего лиц в базе: 280,781,743), фотографии профиля Вконтакте (всего лиц в базе: 1,109,563,766), аватарки пользователей Tiktok (всего лиц в базе: 125,443,334 ), аватарки Инстаграм (всего лиц в базе: 6,561,234), аватарки пользователей ClubHouse (всего лиц в базе: 4,594,014).
Читать дальше →
Total votes 52: ↑43 and ↓9 +34
Comments 19

Alpine.js — легковесный фреймворк с удобным синтаксисом

Reading time 3 min
Views 21K

Многие разработчики полюбили лаконичный синтаксис и мощь директив Vue.js настолько, что даже пытаются использовать этот фреймворк не только в одностраничных приложениях. Сложно отказаться от использования реактивности, только потому, что вдруг понадобилось написать небольшой проект. Не возвращаться же к старому доброму jQuery или к чистому JS?!


Надо сказать, что во Vue.js (да и во многих других фреймворках) предусмотрен такой вариант его использования. Но все же он кажется слишком громоздким для такой простой работы, а функционал избыточным. И тут на помощь приходит Alpine.js.


image

Отметим некоторые особенности данного фреймворка:


  1. Он весит очень мало! 7.2kB в сжатом виде.
  2. Знакомый и простой синтаксис основанный на директивах.
  3. Не использует виртуальный DOM
  4. Подключения возможно как через CDN (по задумке авторов должно быть основным использованием), так и через npm.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Comments 21

Здоровый сон взрослого человека — это засыпать за 15 минут и не вставать ночью попить и пописать

Reading time 13 min
Views 162K


Послушала на днях 2х-часовое выступление «Здоровый сон» врача-невролога, сомнолога Елены Царевой. Выдернула самые важные для себя пункты:

  1. Спать регулярно, ложиться и вставать в одно и то же время — самое важное. 
  2. Биоритмы — частично наследуются, частично регулируются стилем жизни. На них можно влиять самому.
  3. Нормальное время отхода ко сну около 22:00. Сова и жаворонок — это отклонение на ±1-2 часа. Больше — это нарушение и сдвиг фазы сна, чаще из-за внешних раздражителей.
  4. Самая частая причина плохого сна и тяжелого засыпания — неправильный свет.
  5. Для сдвига режима на 1 час организму нужен 1 день на адаптацию.
  6. Невозможно «доспать» бессонную ночь. Досыпание устраняет только 30% последствий недосыпа.
  7. Прежде, чем искать причины плохого сна, исключите психологические проблемы (тревожность, депрессию), нарушения щитовидки, дефицит железа, диабеты, сердечно-сосудистые заболевания и патологию почек и мочеполовой системы.
  8. Водителям и пассажирам: 17 часов без сна равны 0,5 промилле, 21 час без сна — 0,8 промилле.
  9. В постели без сна больше 15 минут не находиться — совет при бессоннице. 
  10. Самые физиологичные будильники — те, что светятся. 

Под катом конспект 2х-часового выступления про сон на 15 минут чтения. Еще один поинт в копилку полезных материалов про сон — Sleep Hackers.
Читать дальше →
Total votes 169: ↑149 and ↓20 +129
Comments 247

Победившие и проигравшие: истории опционов

Reading time 10 min
Views 13K

Бездомные сотрудники Google протестуют на улице (2018 год). Они говорят, что их 7394

Все большее число стартапов и крупных IT-компаний предлагают акции, опционы, RSU, SAR и так далее. Но немногие разработчики понимают, что для них это значит.


Например, когда мы пообщались с программисткой Uber в Амстердаме, мы узнали, что инженеры там в первые 5 лет уделяли гораздо больше внимания своей базовой зарплате, мало интересуясь, что происходит с их акционным капиталом. И только намного позже — иногда во время IPO — осознавали, насколько важен был хороший пакет акций.


«Почему я должен волноваться об опционах?» — часто спрашивают сотрудники. Особенно хочется работать, а не считать проценты. Но вот почему это важно: при зарплатах, превышающих $250 тысяч в США и €150 тысяч в Европе, около половины дохода IT-сотрудников приходится на ежегодный или ежеквартальный вестинг.


Такая же тенденция идет и в Россию. Все крупные компании — «Яндекс», Mail.ru, Ozon — уже давно предлагают опционы, SAR и RSU своим опытным инженерам. А за российскими IT-гигантами постепенно следует остальной рынок.


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


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

Читать дальше →
Total votes 41: ↑39 and ↓2 +37
Comments 27

Предсказание стоимости биткоина по новостям на Python

Reading time 6 min
Views 15K
Перевод статьи подготовлен в преддверии старта курса «Machine Learning» от OTUS.




Задача


В этом руководстве мы используем датасет Bitcoin vs USD.



Вышеприведенный датасет содержит ежедневную сводку цен, где колонка CHANGE – это изменение цены в процентах от цены за предыдущий день (PRICE) по отношению к новой (OPEN).

Цель: Чтобы упростить задачу, мы сосредоточимся на прогнозировании того, возрастет ли цена (CHANGE > 0) или упадет (CHANGE < 0) на следующий день. (Так мы потенциально сможем использовать предсказания «в реальной жизни»).

Требования

  • В системе должен быть установлен Python 2.6+ или 3.1+
  • Установите pandas, sklearn и openblender (с помощью pip)

$ pip install pandas OpenBlender scikit-learn
Читать дальше →
Total votes 19: ↑12 and ↓7 +5
Comments 6

Спам-уязвимость Pikabu

Reading time 4 min
Views 12K

Здравствуйте. Хотел бы рассказать про спам-уязвимость форума Pikabu.


Форум считаю не самым лучшим, по этому — тестирую на нем все что можно.


В чем же суть?


Уязвимость заключается в накрутке активности, количестве оценок, комментариев за минимальное время с помощью Python-скрипта.

Читать дальше →
Total votes 66: ↑11 and ↓55 -44
Comments 52

Tails OS или как защитить себя в сети

Reading time 5 min
Views 124K
Рано или поздно, но большинство фантастических сюжетов воплощаются в реальную жизнь. В мире информационной безопасности это произошло как только Эдвард Сноуден опубликовал информацию о PRISM — средстве слежения за пользователями сети, разработанного АНБ. В этой статье я опишу самый действенный способ защитить свои данные от любопытных глаз.

· Tails


Первым делом, следует познакомиться с главным героем этой статьи. Без этой ОС можно было бы и не пытаться открыть для себя дверь в мир анонимности. Хвосты используют более 20 000 раз в день, журналисты и правозащитники используют Tails, чтобы осудить правонарушения правительств и корпораций.


TheAmnesicIncognitoLiveSystem — это операционная система, которую вы можете запускать практически на любом компьютере с USB-накопителя или DVD-диска.
Эта OS направлена на сохранение вашей конфиденциальности и анонимности поможет вам использовать интернет анонимно и обходить цензуру — все подключения вынуждены проходить через сеть TOR, а также не оставлять следов на компьютере, который вы используете и использовать новейшие криптографические инструменты для шифрования ваших файлов, электронной почты, обмена мгновенными сообщениями и скрытия всех файлов и каталогов на электронном носителе.

Читать дальше →
Total votes 28: ↑16 and ↓12 +4
Comments 26

Kali Linux NetHunter на Android: зачем и как установить

Reading time 8 min
Views 178K

Здравствуй, мой любознательный друг! Наверняка тебя посещали мысли о том, как хакать все вокруг, не привлекая лишнего внимания санитаров службы безопасности и окружающих, быть похожим на героев фильмов, взламывающих системы просто с мобильного устройства, или как прокачать свою мобильность с минимальной потерей функционала? У меня для тебя хорошие новости.


Читать дальше →
Total votes 41: ↑31 and ↓10 +21
Comments 19

Как сделать BTC-транзакцию без сдачи из мелких монет

Reading time 5 min
Views 12K

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


Многие кошельки биткоина при выборе монет для отправки предпочитают использовать крупную монету, баланс которой больше отправляемой суммы. После каждой такой транзакции образуется монета-сдача. Через какое-то время весь кошелёк зарастает такими монетами порядка 0.001 (~10 долларов на текущий момент), которые уже и не на что потратить. Когда в очередной раз мне понадобилось сделать транзакцию, мне пришла в голову мысль, а нельзя ли собрать транзакцию так, чтобы сдачи не было. Кошелёк упрямо предлагал «распилить» ещё одну более крупную монету, так что я решил руками выбрать монеты, чтобы насобирать необходимую сумму. Однако это оказалось не так просто: сумма или получалась меньше нужного значения или слишком сильно его превосходила. В итоге я решил, что должен быть алгоритм, с помощью которого из монет можно собрать нужную сумму или чуть больше. Оказалось, что это не только возможно, но работает настолько хорошо, что сподвигло меня написать эту статью. Но обо всём по порядку.

Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 25

Установка и настройка Sonata Admin на Symfony 4

Reading time 9 min
Views 21K


Приветствую всех. В данной статье поговорим об Symfony 4 и Sonata Admin.


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


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

Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Comments 25

Курс Молодого Геймдизайнера: как считать баланс персонажей и снаряжения без математики

Reading time 6 min
Views 54K


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

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

Статья будет полезна тем, кому надо заняться балансом, но не знает с чего начать, а также начинающим геймдизайнерам, которые будут выбирать специализацию. Ну и всем, кто просто интересуется, чем занимаются ГД, когда не придумывают новые виды лутбоксов.
Читать дальше →
Total votes 69: ↑67 and ↓2 +65
Comments 38

Интерактивная карта субъектов России для новичка. Ошибки, которые допустил я и которые не должны допустить вы

Reading time 5 min
Views 50K

В этой статье я расскажу, как мы столкнулись с типовыми ошибками при создании интерактивной карты, а главное — дам вам ссылки на нормальные, актуальные карты субъектов РФ.



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

Читать дальше →
Total votes 74: ↑63 and ↓11 +52
Comments 136

Валидация форм во Vue.js

Reading time 11 min
Views 77K
Привет, Хабр!

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

Vue.js содержит много интересных и необычных подходов к валидации, которые помогут решить ваши проблемы. Обзор под катом!

Читать дальше →
Total votes 22: ↑22 and ↓0 +22
Comments 9

Preload, prefetch и другие теги

Reading time 9 min
Views 132K
Есть много способов повышения веб-производительности. Один из них — предзагрузка контента, который понадобится позже. Префетчинг CSS, предварительный рендеринг полной страницы или резолвинг доменного имени. Делаем всё заранее, а потом мгновенно отображаем результат! Звучит круто.

Ещё круче, что это очень просто реализовано. Пять тегов <link rel> дают браузеру команду на предварительные действия:

<link rel="prefetch" href="/style.css" as="style" />
<link rel="preload" href="/style.css" as="style" />

<link rel="preconnect" href="https://example.com" />
<link rel="dns-prefetch" href="https://example.com" />

<link rel="prerender" href="https://example.com/about.html" />
Читать дальше →
Total votes 33: ↑33 and ↓0 +33
Comments 1

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO

Reading time 3 min
Views 26K
image

Перевели статью Амита Соланки по отладке JavaScript-кода при помощи консольных команд. По словам автора, эти команды помогут значительно повысить производительность труда программиста при поиске багов и сэкономят кучу времени.

Давайте рассмотрим команды, которые действительно способны упростить жизнь любому программисту.
Читать дальше →
Total votes 60: ↑54 and ↓6 +48
Comments 11

50 оттенков безопасности Друпала

Reading time 5 min
Views 8.9K
  1. Для хеширования паролей используется модифицированная версия phpass, от которой на официальном сайте открестились. Но менять механизм не спешат [#1845004].
  2. Не желают даже предоставить возможность выбора механизма хеширования [#2939888].
  3. Число итераций для стойкости хеширования не обновлялось больше 7 лет [#1850638], хотя предполагалось увеличение итераций не реже чем в 2 года [#1203852].
  4. При использовании PostgreSQL хеши паролей сравниваются без учёта регистра [#2475539].
  5. Также с PostgreSQL есть проблемы с поддержкой SSL [#850600].
  6. Минимально допустимая версия PostgreSQL 9.2, которая уже давно без поддержки безопасности [#2846994].

Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 21

Практические советы, примеры и туннели SSH

Reading time 13 min
Views 203K

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

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →
Total votes 69: ↑66 and ↓3 +63
Comments 29

Information

Rating
Does not participate
Location
Таиланд
Date of birth
Registered
Activity