Pull to refresh
0
@masdimaread⁠-⁠only

User

Send message

Пишем свой фондовый индекс (API Тинькофф, FastApi, TradingView)

Reading time9 min
Views14K


Здравствуйте дорогие хабровчане, в этом посте я покажу, как написать свой биржевой индекс наподобие S&P 500 или Nasdaq.


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

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

Паника на российской бирже: почему ETF продают по искаженной цене

Reading time9 min
Views50K

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

Читать далее

Многоуровневая архитектура блокчейна

Reading time2 min
Views4.3K

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

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

Читать далее

Архитектура на «микросервисах» в монолите: проект из практики

Reading time7 min
Views12K

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

На старте было просто: связаться с нами можно было только через почту. Входящим ящиком был IMAP, исходящим — SaaS сервис по отправке почты, забрать письма с которого было то еще приключение. Мы смотрели на заголовки и соединяли письма в цепочки, как в любом почтовике: Gmail, Outlook. В таком виде передавали операторам. 

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

Так появился проект линковка.

Читать далее

Организация PHP-тестов с большими массивами данных

Reading time4 min
Views3.9K

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

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

В результате был написан скрипт, который позволяет извлекать массивы данных из php-файлов, а также из обычных текстовых файлов, и подставлять эти данные в код теста. Позже этот скрипт был оформлен в php-пакет test-data-provider.

Читать далее

Пишем асинхронного Телеграм-бота

Level of difficultyEasy
Reading time10 min
Views70K

Привет! Меня зовут Александр, я руководитель бэкенд-разработки в KTS.

Сегодня я покажу, как написать своего Телеграм-бота на основе asyncio и aiohttp.

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

Статья предназначена для начинающих асинхронных программистов.

Читать далее

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов

Reading time10 min
Views50K

Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.

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

Статья продолжает цикл статей под условным названием "Готовимся к собеседованию".

Читать далее

Как вести учет криптовалютного портфеля в Гугл Таблицах

Reading time3 min
Views21K

Введение

«Деньги любят счет» - это пословица, как никакая другая, очень точно описывает всю суть успешного распоряжения своими деньгами.

На сегодняшний день существует множество инструментов и сторонних сервисов (Blockfolio, Coinmarketcap, Cryptocompare и т.п.) для ведения учета и контроля своего инвестиционного криптопортфеля.

Также существуют инструменты для работы в Google Sheets. В таблицах есть функция GOOGLEFINANCE("BTCUSD"), которая позволяет учитывать курс биржи в паре доллара к биткоину. А в аддонах к таблицам можно найти CRYPTOFINANCE. Эта функция опирается на данные CoinMarketCap и подтягивает их по API. Данные обновляются всякий раз, как вы открываете или перезагружаете документ.

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

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

Бесплатный скрипт

Для учёта инвестиций я написал свой собственный скрипт. Скрипт циклично собирает нужную информацию с криптовалютных бирж посредством API которые они предоставляют. Сейчас скрипт поддерживает 7 криптобирж:

Читать далее

Гексагональная архитектура и Domain Driven Design на примере Front-end приложения

Reading time7 min
Views23K

Преимущества данного метода:

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

Гибкость: использование любых фреймворков, перенос доменов адаптеров в другие проекты, добавление новых адаптеров без изменения исходного кода.

Легкая изменчивость: изменения в одной области нашего приложения не влияют на другие области.

Читать далее

Как устроен банкомат: что происходит с деньгами и данными внутри аппарата

Reading time9 min
Views69K

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

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

Читать далее

Анализ финансовых ботов, можно ли заработать?

Reading time10 min
Views76K

Разбираю разные подходы к созданию ботов и смотрю на их эффективность

Заработает ли бот достаточно денег?
Будет ли стабильный заработок?
Достигнет ли он когда-нибудь годового дохода в $100,000?

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

Читать далее

Сбор персональных данных пользователей в Европе и России: что нужно знать и к чему готовиться

Reading time6 min
Views5K

Любая компания, деятельность которой связана со сбором, хранением и обработкой персональных данных (ПДн), должна соответствовать требованиям регуляторов. Это необходимо делать как в России, так и Европе, причем во втором случае компания столкнется с более жесткими штрафными санкциями в случае нарушений.

В РФ работа с ПДн должна соответствовать Федеральному закону "О персональных данных" N 152-ФЗ от 27 июля 2006 года, в Европе — GDPR, общему регламенту защиты личной информации пользователей. Под катом — описание процесса проведения аудита на соответствие ФЗ № 152 и GDPR, который выполнила компания ITGLOBAL.COM Security для сервиса аренды микромобильного транспорта Whoosh.

Читать далее

Как ИТ-специалисту развить навыки коммуникации. 20+ полезных материалов

Reading time10 min
Views29K


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

Конечно, можно не выступать вообще, тогда проблема будет «решена». Но если вы хотите повышать авторитет в команде, убедительно доказывать свою точку зрения и продвигать собственные идеи, придется прокачивать коммуникативные навыки, в которые по многим типологиям входит в том числе и презентационное мастерство. В этой статье максимально конкретно рассмотрим, как это сделать.
Читать дальше →
В IT время от времени полезно остановиться и оценить пройденный путь. Зная своё положение на линии прогресса, мы можем экстраполировать её — и, пусть и в совсем общих чертах, — понять, что же с нами будет дальше. Это особенно важно, когда речь заходит о деньгах. Мы выбрали самые полезные хабрастатьи о финтехе и организовали что-то вроде виртуального музея платёжных технологий. Приглашаем на экскурсию.
Читать далее

Зачем системному аналитику читать «Чистую архитектуру» Роберта Мартина

Reading time15 min
Views22K

Меня зовут Сергей Марков, я системный аналитик бэковой части в Академии Инвестиций Тинькофф. 

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

Читать далее

Парсим NFT транзакции на OpenSea

Reading time15 min
Views13K

Примерно раз в год у меня появляется неутолимая жажда накопать много данных и что-то с ними сделать. В этот раз мой выбор пал на маркетплейс NFT OpenSea. Меня осенило что блокчейн - это про открытые данные, а учитывая 1.2 миллиона транзакций в сети ETH каждый день - то это ещё и много данных, так что точно должно быть интересно.

В этом туториале я расскажу откуда можно достать данные о транзакциях блокчейна ETH, и как эти данные анализировать, в частности, как находить самые дорогие транзакции. И самое главное - бонус, небольшая игра в сыщиков в конце статьи.

Читать далее

Как BI «купается» в озёрах данных: практика платформы «Форсайт». Часть 3. Магия измерений

Reading time22 min
Views3.4K

Всем привет.

Мы продолжаем цикл публикаций о том, как наша BI-платформа «Форсайт» работает с данными. В этой статье мы бы хотели продолжить рассказ про виртуализацию данных. И рассказать о том, как с помощью различных «магических» приемов трансформации измерений в кубе можно адаптировать многомерные данные в совершенно новые структуры. Раскрыть количественную статистику некоторых замеров производительности и скорости быстродействия такой виртуализации. Показать, как мы это тестируем. Провести сравнение подходов формирования витрин данных с помощью технологии BI и СУБД. За всеми этими подробностями добро пожаловать под кат!

Читать далее

Как я решил стать трейдером и проигрался, а потом отыгрался, потому, что я программист. Мой опыт

Reading time10 min
Views171K


Таким я себя видел в своих мечтах. Freepik


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


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

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

7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)

Reading time6 min
Views94K

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

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

Кстати, иногда такая же участь постигает и специалистов более высокого полета. 

Сегодня мы решили собрать 7 таких ошибок в одном месте, чтобы как можно меньше людей их совершали.

Читать далее

Как BI «купается» в озёрах данных: практика платформы «Форсайт». Часть 2. Виртуализация данных

Reading time13 min
Views4.3K

Всем привет.

Мы продолжаем цикл публикаций о том, как наша BI-платформа «Форсайт» работает с данными. В этой статье мы бы хотели поговорить о том, как выйти за рамки привычного online analytical processing (OLAP) и с помощью enterprise BI погрузиться в проблематику «Fixed format reporting». Какие средства и возможности дает BI-платформа для 100% точного воспроизведения шаблона официальной отчётности? Как это можно сделать с помощью трансформации и виртуализации данных многомерных ROLAP-кубов? Расскажем о том, как в платформе «Форсайт» на уровне бизнес-логики и семантического слоя можно выполнить аналоги реляционных операций view, join, group by и т.п. Итак, за всеми этими подробностями добро пожаловать под кат!

Читать далее

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Date of birth
Registered
Activity