• Поиск замены депозита в облигациях с учетом того, что с 1 января 2021 года все выплаты облагаются налогами

      Полгода назад, летом 2020 года я написал скрипт поиска ликвидных облигаций на Мосбирже (статья в закладках у 194 человек, рейтинг +45). Скрипт нужен для поиска облигаций, которые можно купить прямо сейчас с доходностью гораздо выше банковского вклада.

      Сейчас, в начале 2021 года модифицировал прошлогодний скрипт, потому что проценты по вкладам так и остаются на очень низких уровнях, а с началом 2021 года ещё и изменения в налоговом кодексе РФ подоспели. 

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

      Облигации как замена вклада в 2021 году
    • Всё, о чём должен знать разработчик Телеграм-ботов

        Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

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

        Подробный гайд о том, как работать с ботами — под катом.

        Читать далее
      • Синдром самозванца и эмоциональное выгорание

          Тема самозванцев и границ очень актуальна в мире IT. Я практикующий психолог, и знаю это, потому что практикую именно с людьми из IT.

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

          Синдром самозванца




          Никто, приходя к психологу, не говорит: «У меня синдром самозванца! Помогите». Жалобы обычно звучат так:

          • у меня проблемы с коллективом
          • меня не устраивает моя работа
          • я постоянно недоволен собой
          • не хочу ходить на работу
          Читать дальше →
        • Обновление версий PostgreSQL, или Как не уронить базу при update?

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

            Читать дальше →
          • DevOps или как мы теряем заработную плату и будущее IT-отрасли

              Самое печальное в сегодняшней ситуации то, что IT постепенно становится отраслью, где вообще нет слова “стоп” в количестве обязанностей на 1 человека.

              Читая вакансии иногда уже даже видишь не 2-3 человека, а целую компанию в 1 лице, все спешат, тех.долг растёт, старое legacy на фоне новых продуктов выглядит совершенством, потому что в нём хотя бы есть дока и комменты в коде, новые продукты пишутся со скоростью света, но в итоге пользоваться ими нельзя ещё год после их написания, и зачастую этот год прибыли не приносит, более того, расходы на “облако” выше, чем продажи сервиса. Деньги инвесторов уходят на содержание ещё не работающего сервиса, но который уже выпустили в сеть как рабочий.
              Читать дальше →
            • Интерактивные финансовые данные в 20 строках кода

                Статьи на финансовые темы появляются на Хабре регулярно. Во многих из них в качестве источника первичных данных используется неофициально открытое API Yahoo finance. В этой статье я покажу три способа добыть данные (включая Yahoo) а также как напилить из них простое вэб-приложение в 20 строк и выдать его клиенту, не умеющему в CLI.


                Читать дальше →
              • API Тиньков.Инвестиции. Первые шаги

                  Практически с первых дней я стал клиентом Тиньков.Инвестиции.

                  И с этого же момента меня терзают смутные сомнения — отражает ли личный кабинет объективную реальность?

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

                  И мне непонятно, это доллар вырос или я такой результативный инвестор?

                  А как же комиссии, налоги и прочие дивиденды?

                  Вот бы взять все мои сделки и расписать по ФИФО, как в складском учете… А сверху положить полученные дивиденды, а потом вычесть налоги.

                  Вот тогда я и увижу понятный мне результат.

                  Оказалось, у Тинькова есть API, которое позволяет писать торговых роботов (мне это совсем не интересно), а также загружать данные по своему портфелю и операциям.

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

                  Полезные ссылки:

                  Описание API
                  Еще описание
                  Читать дальше →
                • Рецепты для хворающих SQL-запросов

                    Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL.

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



                    Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)

                    А если серьезно, то многие ситуации, которые делают запрос медленным и «прожорливым» по ресурсам, типичны и могут быть распознаны по структуре и данным плана.

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



                    Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
                    Читать дальше →
                  • Полное практическое руководство по Docker: с нуля до кластера на AWS

                    • Translation



                    Содержание



                    Вопросы и ответы


                    Что такое Докер?


                    Определение Докера в Википедии звучит так:


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



                    Ого! Как много информации.

                    Читать дальше →
                  • Snoop Project невероятный инструмент интернет разведки, которого пользователи рунета ждали так долго — доступен

                    image

                    На Github-e выложен OSINT-инструмент, заточенный (в том числе) для поиска %username по СНГ локации


                    【Статья обновлена】в связи с развитием функционала Snoop Project.
                    Если вам до боли знаком такой софт, как namechk или spiderfoot, то «Snoop Project» вас явно порадует, он даёт «им» фору вместе взятым и это не желтый заголовок «Статья вечерняя» — это реальная «forensic-работа» по цифровым следам в киберпространстве…
                    Читать дальше →
                  • 51 инструмент для APM и мониторинга серверов

                    • Translation


                    После создания веб- или мобильного приложения начинается не менее интересный этап: нужно арендовать или приобрести серверы, развернуть на них бэкенд и наблюдать, как твой продукт пользуется бешеной популярностью у пользователей. А чтобы всё шло гладко, необходимо мониторить работу серверов и приложений, контролируя их производительность и устраняя намёки на проблемы. А чтобы не терять время на поиски подходящих инструментов для мониторинга и управления, предлагаем вам — сисадминам и разработчикам — воспользоваться этой подборкой.
                    Читать дальше →
                  • MVCC-7. Автоочистка

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

                      Затем мы рассмотрели внутристраничную очистку (и HOT-обновления), обычную очистку, ну а сегодня посмотрим на автоматическую очистку.

                      Автоочистка (autovacuum)


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

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

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

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

                      Автоматическая очистка — как раз тот самый механизм, который позволяет запускать очистку в зависимости от активности изменений в таблицах.
                      Читать дальше →
                    • Сервер логов Elasticsearch + Logstash + Kibana4 + Beats(windows/linux). Установка и настройка

                      Встал вопрос централизованного хранения и обработки журналов с серверов на базе Linux и Windows. Мой выбор пал на продукты от Elastic.
                      Большинство прочитанных статей на тему установки приложений Elastic показались мне достаточно расплывчатыми и неполными.
                      Читать дальше →
                    • Быстрый полнотекстовый поиск ElasticSearch

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

                      • Скорость
                      • Простота установки и настройки
                      • Цена (желательно бесплатно и с открытым кодом)
                      • Обмен информацией в формате JSON (по HTTP)
                      • Масштабируемость (возможность распределения на несколько серверов)
                      • Индексация в режиме реального времени
                      • Multi-tenancy (гибкость в настройках под индивидуального пользователя)
                      • Возможность переноса системы в облако

                      Хочу рассказать вам о новом поисковом движке Elasticsearch, который полностью удовлетворяет всем этим требованиям. В статье будет краткое описание, ссылка на авторитетную презентацию, а также описание установки и работы с ним.
                      Читать дальше →
                    • Руководство пользователя Kibana. Визуализация. Часть 1

                      Доброго времени суток. Всем пользователям ElasticStack рано или поздно нужно визуализировать данные. Большинство использует Kibana. Под катом перевод официальной документации для версии 6.6.

                      Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize

                      Содержание:

                      1. Creating a Visualization
                      2. Line, Area, and Bar charts

                      Читать дальше →
                    • Взаимодействие bash-скриптов с пользователем

                        Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

                        Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
                        Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
                        Итак, приступим...
                      • Новые языки программирования незаметно убивают нашу связь с реальностью



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

                          Что там будет под капотом, ни одна живая душа уже не поймет. Команда «хреновина» интерпретируется в абзац с описанием, который интерпретируется в ключевые слова, который интерпретируется в набор векторных обозначений, который интерпретируется в какой-нибудь С, который скомпилируется в…

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

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

                          Просто я задумался — а не стали ли наши ЯПы уже чем-то таким? Чуть более умным эквивалентом фразы «компьютер, сделай хреновину». Кучей формализованных протоколов для электричества, про которое мы уже забыть забыли. Штукой, которая все сильнее рвет нашу связь с механической реальностью.

                          Я часто слышу фразу: «Фил, отступись, хватит думать обо всякой чепухе». Но блин, будь проклят тот день, когда на Хабре напишут «хватит думать».
                          Читать дальше →
                        • Шпаргалка с командами Docker

                          • Translation
                          Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.



                          Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
                          Читать дальше →
                        • 15 малоизвестных команд Linux

                          • Translation
                          Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
                          Читать дальше →
                        • Постгресовая стата без нервов и напрягов

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

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

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