Search
Write a publication
Pull to refresh
94
0
Ерошенков Сергей @TecHMeaT

Front End Developer

Send message

Как мы выбирали между Elastic и Tarantool, а сделали свою (самую быструю) in-memory БД. С Join и полнотекстовым поиском

Reading time10 min
Views48K

Всем привет.


С середины 2016 года мы проектируем и разрабатываем новое поколение платформы. Принципиальное отличие от первого поколения — поддержка API "тонкого" клиента. Если старая платформа предполагает, что на клиента при запуске загружается метаинформация о всем контенте, который доступен для абонента, то новая платформа должна отдавать срезы данных отфильтрованные и отсортированы для отображения на каждом экране/странице.


Высокоуровневая архитектура на уровне хранения данных внутри системы — постоянное хранение всех данных в централизованном реляционном SQL хранилище. Выбор пал на Postgres, тут никаких откровений. В качестве основного языка для разработки — выбрал golang.


У системы порядка 10м пользователей. Мы посчитали, что с учетом профиля теле-смотрения, 10М пользователей может дать сотни тысяч RPS на всю систему.



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


Посмотрели на существующие решения — погоняли прототипы. Данных, по современным меркам у нас немного, но параметры фильтрации (читай бизнес-логика) — сложные, и главное персонализированные — зависящие от сессии пользователя, т.е. использовать параметры запроса как ключ кэширования в K-V кэше будет очень накладно, тем более пейджинг и богатый набор сортировок никто не отменял. По сути, под каждый запрос от пользователя формируется полностью уникальный набор отфильтрованных записей.

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

Регулирование ICO. Эстония

Reading time5 min
Views8.9K
image

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

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

Рассказ о том, как я ворую номера кредиток и пароли у посетителей ваших сайтов

Reading time11 min
Views170K
Продолжение: Рассказ о том, как не дать мне украсть номера кредиток и пароли у посетителей ваших сайтов
Представляем вам перевод статьи человека, который несколько лет воровал имена пользователей, пароли и номера кредитных карт с различных сайтов.


То, о чём я хочу рассказать, было на самом деле. Или, может быть, моя история лишь основана на реальных событиях. А возможно всё это — выдумка.

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

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

Автоматизированный помощник приготовления шашлыка «E-Mangal»

Reading time7 min
Views38K
Кушать подано! Садитесь жрать, пожалуйста!
Джентльмены удачи

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

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

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

Идея родилась, а дальше, как обычно бывает, меня понесло придумывать новые функции этого нового устройства. Опыт создания «Алкомата» подстегивал на новые свершения. Так сказать чтобы можно было чем закусить. Итого имеем аппарат «E-Mangal».

image

Подробности ниже. Много больших фото.

Сборка и дeплой приложений в Kubernetes с помощью dapp и GitLab CI

Reading time7 min
Views27K


В предыдущих статьях о dapp было рассказано про сборку приложений и про запуск в Minikube. При этом dapp запускался локально на машине разработчика. Однако инструмент задумывался для поддержки процессов непрерывной интеграции (CI) и сами мы используем его в основном в связке с GitLab. Чем dapp помогает в процессах CI/CD?
Читать дальше →

Как я взломал компании, связанные с криптовалютой, и заработал на этом $60 000

Reading time9 min
Views80K
image

Биткоин и криптовалюты в целом сейчас у всех на слуху. Моё знакомство с криптовалютами произошло примерно 5 месяцев назад, именно тогда я начал инвестировать в bitcoin и ethereum, курс на тот момент был по $1900 за btc и $89 за эфир. Для того, чтобы вы могли понять, какой профит я получил, скажу, что на момент написания статьи биткоин стоит $18 100, а эфир $830 и продолжает выходить на орбиту вместе с остальными криптовалютами. Подумал, что будет отлично посмотреть насколько безопасны сервисы, в которых я держу свои криптовалютные сбережения, торгую ими или отдаю в доверительное управление.

Как я стала тестировщиком. Спойлер: не сразу

Reading time7 min
Views38K


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

и вот почему

Руководство по написанию защищённых PHP-приложений в 2018-м

Reading time18 min
Views59K

Приближается 2018 год, и технари — в частности веб-разработчики — должны отбросить многие старые методики и верования в сфере разработки защищённых PHP-приложений. Особенно это относится ко всем, кто не верит, что такие приложения вообще возможны.


Это руководство — дополнение к электронной книге PHP: The Right Way с сильным уклоном в безопасность, а не общие вопросы программирования на PHP (вроде стиля кода).

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

РусГИС — платформа для сложных задачек с аналитикой и геоданными

Reading time5 min
Views11K
Огромное количество популярных сегодня систем использует географические данные — от всевидящего Гугла до занятного Тиндера. Внедрить какие-нибудь базовые геофункции можно с помощью API от известных поставщиков карт. А если для сервиса нужны какие-то особенные геоданные? Совместить и кастомизировать кучу пространственной информации в разных слоях? Связать это с аналитикой? Или, может, вы хотите предложить людям собственные геоданные? На подобные сценарии повышенной сложности ориентирована наша новая платформа РусГИС.


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

Данные из Google Таблиц на вашем сайте

Reading time2 min
Views62K


Привет!

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

Поехали.

1. Открываем Таблицу Google


Для примера, я возьму таблицу, в которую падают результаты из Google Формы.
Читать дальше →

Exonum 0.3 — что мы улучшили в новой версии фреймворка для разработки блокчейнов

Reading time4 min
Views5.7K
Мы продолжаем развивать Exonum. В этот раз мы сосредоточили внимание на двух вещах: полностью перевели хранение данных на RocksDB, при этом прекратив поддержку LevelDB, и переписали сетевой код на Tokio. Зачем: эти решения позволили нам повысить эффективность хранения данных и увеличили производительность кода в сети.

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

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

Отчет c мини-конференции Использование визуальных моделей в ИТ. Проверено опытом

Reading time2 min
Views10K


1 ноября на площадке Райффайзенбанка прошла мини-конференция «Использование визуальных моделей в ИТ. Проверено опытом.»

О том, как это было и что обсуждали, читайте под катом.

Как создать блокчейн-проект на Exonum: краткое руководство

Reading time14 min
Views22K
Exonum — это фреймворк с открытым исходным кодом для создания приложений на основе блокчейна. Он ориентирован на работу с закрытыми блокчейнами и применим в любых сферах: FinTech, GovTech и LegalTech.

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

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

Раздача фронтенда через CDN

Reading time22 min
Views23K
В мире современных веб-технологий все стремительно развивается и меняется. Пару лет назад совершенно нормальным было по запросу клиента рендерить DOM структуру на сервере (например, при помощи PHP) и отдавать уже полностью сформированную страницу. Сейчас все чаще появляются сайты c полным отделением фронтенда (Angular, React, Vue.js...) от бэкенда (некие API эндпоинты), где на фронтенде почти весь контент формируется посредством скриптов, а сервер отдает только данные по запросу. Тут можно было бы упомянуть SSR (Server Side Rendering), но не об этом данное произведение.

В любые времена перед разработчиками и владельцами сайтов стояла непростая задача: доставить контент как можно быстрее, как можно большему количеству клиентов. Одно из самых правильных решений — использовать CDN (Content Delivery Network) для раздачи статичных файлов. В случае с динамическим рендером страниц на сервере мы должны были ограничиваться небольшим списком объектов, которые можно было разместить в CDN: таблицы стилей, файлы скриптов, изображения. Однако, фронтенд, написанный на Angular (React, Vue.js...), статичен целиком, включая индексную страницу. Вот тут и возникает мысль: а почему бы не организовать раздачу через CDN всего фронтенда?

В данной статье пойдет речь о настройке комплексного решения для разработки, контроля версий, автоматической сборки и доставки статического сайта с использованием Gitlab CI, Amazon S3 и Amazon CloudFront. Также речь пойдет о настройке сопутствующих вещей: git, безопасное соединение по протоколу HTTPS, доменная почта, DNS хостинг, бэкенд сервер…

Если вас заинтересовала эта тема, добро пожаловать под кат. Осторожно! Много скриншотов.
Читать дальше →

Сервис оповещения миллиона пользователей с помощью RabbitMQ

Reading time20 min
Views58K

Почти в самом начале создания платформы (некоего фундамента, фреймворка на котором базируются все прикладные решения) нашего облачного веб-приложения СБИС мы поняли, что без инструмента, позволяющего сообщить пользователю о каком-либо событии с сервера, жить будет довольно-таки трудно. Все мы хотим мгновенно видеть новое сообщение от коллеги (которому лень пройти 10 метров), поднимающую корпоративный дух новость от руководства, очень важную задачу от отдела тестирования или получение поощрения (особенно денежного). Но путь становления был тернист, поэтому расскажем немного про трудности, которые мы встретили при взрослении от 5.0e3 до 1.0e6 одновременных подключений от пользователей.


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

Google Analytics API для маркетолога на практическом примере

Reading time4 min
Views14K

Привет! По мотивам реализации одной из задач по анализу источников трафика решил написать статью-инструкцию для маркетологов. Это случай, когда маркетологам без Google Analytics API не обойтись. Статья пишется на благо веб-разработчикам, чтобы маркетологи не отвлекали по «всякой фигне».

Знакомимся с технологией на практическом примере. Поехали!

Задача


Есть около 150 000 пользователей, которые зарегистрированы на сайте. Нужно понять, из каких источников изначально пришли 1500 пользователей, которые купили продукт в октябре.
Для привлечения лидов используется модель фримиум, цикл продажи может быть до 1 года.

Из дополнительных настроек, на этапе интеграции Google Analytics, мы подключили UserID и дублировали его значение в Custom Dimension 1 (Scope: User), чтобы с UserID можно было взаимодействовать в отчетах.
Читать дальше →

Прототипирование на продакшн-технологиях

Reading time9 min
Views16K


В Яндекс.Деньгах мы сделали БЭМ-платформу основным инструментом дизайнеров для построения интерфейсов, дополнив ее всем необходимым арсеналом для масштабирования.

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

Деловая переписка на английском языке: фразы и советы

Reading time18 min
Views633K
Елена Соловьева, менеджер проектов в компании Лаборатория Касперского, специально для блога Нетологии поделилась советами о том, как вести деловую переписку с иностранными коллегами и партнерами на английском языке. Статья участвует в конкурсе.

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

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

Как настроить трансляцию на сайт с любой камеры видеонаблюдения

Reading time4 min
Views21K
В начале 2016 года сервис для организации трансляций «Линия» подвергся неожиданному испытанию на прочность. А все благодаря событиям в сафари-парке, где в одном вольере жили самые распиаренные в стране тигр и козел. 31 декабря 2015 года в эфире национального телевидения было объявлено о начале прямой трансляции, которая была организована с помощью нашего сервиса. Практически сразу после этого не выдержал нагрузки как сайт парка, так и наши серверы.

В течение пары часов трансляция была восстановлена, добавлены необходимые мощности для более чем 2 500 000 подключений к IP-камерам. За следующую неделю в сервис были добавлены серверы в Голландии и США, разработана функция защиты трансляции. В общем, мы сделали все, чтобы наш сервис выдерживал любой объем желающих посмотреть популярную трансляцию. В этом конкретном примере аудитория составила более 10 млн человек.



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

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

От идеи к реализации. Как все организовать максимально выгодно
Читать дальше →

Анализируя криптовалютные рынки с помощью Python

Reading time15 min
Views38K
Как ведут себя Биткоин-рынки? Каковы причины внезапных взлетов и падений цен на криптовалюты? Есть ли между рынками альткоинов тесная неразделимая связь или же они по большей части не зависят друг от друга? Как можно предсказать, что произойдет в дальнейшем?

image

Информационно-аналитический подход к криптовалютным рассуждениям


Посвященные криптовалютам вроде Биткоина и Ethereum статьи изобилуют рассуждениями и теориями. Сотни самопровозглашенных экспертов приводят аргументы в пользу трендов, которые, по их мнению, проявят себя в скором времени. Чего точно не хватает многим подобным анализам, так это прочного фундамента в виде данных и статистики, способных поддержать те или иные утверждения.

Цель этой статьи — предоставить простое введение в криптовалютный анализ с помощью Python. В ней мы пошагово рассмотрим простой Python-скрипт для получения, анализа и визуализации данных по разным криптовалютам. В ходе работы мы обнаружим интересный тренд поведения волатильных рынков и узнаем, какие изменения в них произошли.
Читать дальше →

Information

Rating
Does not participate
Location
Сербия
Date of birth
Registered
Activity