Pull to refresh
15
0

Signum Explorer Telegram Bot — разработка open-source pet-project телеграм бота для блокчейна Signum

Reading time 7 min
Views 4.5K
Кто про что, а я про телеграм бота…

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

Примерно полтора года назад я в качестве хобби занимался разработкой универсального телеграм бота для MQTT устройств, о чем уже рассказывал вот тут: (Не)очередной MQTT-телеграм-бот для IoT, а позже мой фокус внимания отошёл от темы IoT и сместился в сторону криптовалют, очень уж эта тема не давала мне покоя. На фоне прошлогоднего шума вокруг Chia захотелось вложить немного свободных средств в другой заинтересовавший меня альткоин и сделать что-нибудь полезное для комьюнити. В этой статье я делюсь исключительно техническими деталями реализации бота и намеренно опускаю любую маркетинговую информацию о блокчейне, дабы не разводить холивар про альткоины. И вас очень попрошу воздержаться!

Итак, задача:
  1. Иметь минимальный функционал эксплорера блокчейна прямо в телеграме: просматривать транзакции и статистику сети.
  2. Удобно отслеживать баланс нескольких кошельков и получать уведомления о поступлениях/списаниях с кошелька.
  3. Получать актуальную цену + график.
  4. Иметь калькулятор доходности майнинга.
  5. Иметь кран для активации новых кошельков.

На этом вроде бы и всё, поехали…
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Comments 3

Серая зарплата — это плохо?

Reading time 3 min
Views 63K

Пару лет назад я проходил на собеседование в подразделение IT в одной достаточно известной компании. Сам процесс проходил достаточно гладко. Я рассматривался на позицию разработчика и аналитика данных, который занимается хранилищами и следит за управленческой отчетностью. Мы очень быстро нашли общий язык и о сумме оклада договорились без проблем. Собеседование принимал сам директор IT подразделения, который услышав мой финансовый запрос, ответил "Без проблем. Просто говорите когда готовы выйти"

После чего я получил вопрос которого вообще не ожидал "А вы хотите серую зарплату или белую?", и предложили мне сумму на 30% больше, той что запросил, при условии если я выберу серую схему оплаты. Т.е. минимально допустимую сумму по МРОТ платить официально, а все остальное на руки, либо в конверте. Моя первая реакция вызвала отторжение и ответил "Белую! Ну а как же будущая пенсия, на которую хотелось бы верить, что буду получать"

После чего я получил риторический вопрос, который я сам себе задаю до сих пор "А точно ли вы аналитик?"

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

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

Читать далее
Total votes 194: ↑151 and ↓43 +108
Comments 1238

Как и зачем я сдавал сертификацию Oracle — Java SE 11 Developer

Reading time 5 min
Views 14K

Меня зовут Аксёнов Вячеслав и я бэкенд разработчик, пишу на Java/Kotlin, расскажу про то, как я сдавал сертификацию на знания Java SE 11 от Oracle. И какие нюансы я понял в процессе подготовки и сдаче.

Моя история
Total votes 18: ↑14 and ↓4 +10
Comments 22

Анализ трафика приложений на Android Emulator. Причем здесь Root?

Reading time 7 min
Views 17K

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

И как их решить?
Total votes 20: ↑20 and ↓0 +20
Comments 6

Блюр объектов в реальном времени на видео с помощью canvas

Reading time 7 min
Views 5.2K

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

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

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 19

Как мы создали Web приложение для определения лиц и масок для Google Chrome (часть 2)

Reading time 12 min
Views 3.1K
Определение лица и маски
В предыдущей статье я рассказывал о том, можно ли использовать машинное обучение (в частности определение лица и маски) в браузере, подходах к детекции и оптимизации всех процессов.
Сегодня я хочу рассказать о технических подробностях реализации.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 2

Датасет о мобильных приложениях

Reading time 7 min
Views 2.5K

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

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

Нетрадиционный анализ тональности текста: BERT vs CatBoost

Reading time 6 min
Views 7.5K

Анализ тональности — это метод обработки естественного языка (NLP), используемый для определения того, являются ли данные(текст) положительными, отрицательными или нейтральными.

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

Хотя сентиментальный анализ стал чрезвычайно популярным в последнее время, работы над ним продолжаются с начала 2000-х годов. Традиционные методы машинного обучения, такие как наивный байесовский метод, логистическая регрессия и машины опорных векторов (SVM), широко используются для больших объемов, поскольку они хорошо масштабируются. На практике доказано, что методы глубокого обучения (DL) обеспечивают лучшую точность для различных задач NLP, включая анализ тональности; однако они, как правило, медленнее и дороже в обучении и использовании.

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

Как развиваться в IT

Reading time 5 min
Views 12K

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

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

Читать далее
Total votes 21: ↑6 and ↓15 -9
Comments 68

Проблемы и нюансы при разработке под SmartTV с использованием React.js

Reading time 4 min
Views 11K
Хочу поделиться опытом разработки приложения с просмотром видео контента для SmartTV (Tizen и WebOS) и с какими проблемами мы столкнулись.

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

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

Я не буду рассказывать о том, как именно нужно делать с примерами кода, я расскажу о нюансах и решениях, которые были приняты.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 19

Server Side Rendering для React App на Express.js

Reading time 7 min
Views 43K
На написание этой статьи меня сподвигло отсутствие какого-либо более-менее полного мануала, как же сделать Server Side Rendering для React приложения.

Когда я столкнулся с этой проблемой, у меня было 2 варианта это сделать, либо Next.js фреймворк, либо используя Express.js.

На инвестигейт Next.js было потрачено около 100 часов, чтоб завести его для нашей готовой крупной OTT платформы, но проблем было настолько много, что мы от него отказались (по этому поводу напишу статью еще), остался выбор за малым, Express.js, про который я и хочу рассказать.

Полный код демо-примера, рассматриваемого в статье, тут.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Comments 11

Производительность приложений, работающих с Video и Audio

Reading time 5 min
Views 1.7K


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


  1. Как работать с Video и Audio с максимальной точностью.
  2. Как оптимально обрабатывать данные с такой скоростью.
  3. Как оптимально обрабатывать данные, приходящие по websocket.

Перед рассмотрением каждого вопроса, хочу дать немного контекста.

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

Мы создали Web приложение для определения лиц и масок для Google Chrome (часть 1)

Reading time 9 min
Views 4.8K

Основная цель - обнаружение лица и маски в браузере, не используя бэкенд на Python. Это простое приложение WebApp / SPA, которое содержит только JS-код и может отправлять некоторые данные на серверную часть для следующей обработки. Но начальное обнаружение лица и маски выполняется на стороне браузера и никакой реализации Python для этого не требуется.

На данный момент приложение работает только в браузере Chrome.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Comments 7

Расширение для Google Chrome: управляем скиллами друзей в LinkedIn

Reading time 5 min
Views 2.5K

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

Данное расширение позволяет прожимать подтверждения скиллов на странице друга или отменить подтверждения скиллов. Полезно когда вместо десятков нажатий на "плюсики" Вы нажимаете только на одну кнопку расширения.

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

Production Ready: 4 вопроса, которые важно задать перед созданием чек-листа

Reading time 8 min
Views 3.5K

Мы просыпаемся, умываемся, чистим зубы, делаем зарядку, завтракаем и начинаем готовиться к полёту. Мы просыпаемся не потому, что прозвенел будильник, а потому, что прилетел алерт и сегодня ваша очередь дежурства. Выясняется, что в новом приложении задеплоенном в продакшн не были выставлены лимиты на выделение ресурсов в pod’е kubernetes и при росте нагрузки приложение изволило скушать всю память, как следствие к нему пришел ООМ, ну дальше вы знаете. 

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

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

Как перестать писать код для взаимодействия с бэкендом

Reading time 12 min
Views 14K

Привет! Начну с главного - я лентяй. Я очень-очень ленивый разработчик. Мне приходится писать много кода - как для бэка, так и для фронта. И моя лень постоянно терзает меня, говоря: Ты мог бы не писать этот код, а ты пишешь... Так и живем.

Но что делать? Как можно избавиться от необходимости писать хотя бы часть кода?

Есть много подходов к решению этой проблемы. Давайте посмотрим на некоторые из них.

Ну давайте
Total votes 17: ↑15 and ↓2 +13
Comments 16

Наша анонимность утрачена?

Reading time 5 min
Views 13K

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

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

Читать далее
Total votes 34: ↑21 and ↓13 +8
Comments 55

TypeScript: Раскладываем tsconfig по полочкам. Часть 2 — Всё про строгость

Reading time 18 min
Views 33K

В данной статье я хочу предоставить переработанную и упорядоченную выжимку документации по настройке "флагов строгости" tsconfig.json. Статья будет полезна как тем, кто только начинает работать с TypeScript, так и тем кто уже давно работает, но при этом использует конфиг по умолчанию. Для разработчиков, которые хорошо ориентируются в вопросах строгости в TypeScript статья может открыть некоторые тонкости работы флагов и послужить шпаргалкой.

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

Fiddler = удобный сниффер + прокси сервер

Reading time 8 min
Views 113K

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

Читать далее
Total votes 19: ↑18 and ↓1 +17
Comments 19

Уровень обобщения базы данных

Reading time 7 min
Views 7.7K
Несколько лет назад я попробовал сделать сайт на такой системе как MODx и мне понравилось, не смотря на опыт работы с другими CMS, а может и благодаря этому. Понравилась именно логика построения работы с ней, принципы структуры данных и многое другое, но в первую очередь, то, что фрилансеру нужно особенно часто – простота и скорость запуска проекта при высокой гибкости. Но, хотя MODx мне до сих пор по нраву, пост не совсем о ней и даже скорее совсем о другом.

Введение


На самом деле я рассматриваю эту cms только как пример, того что присутствует во многих и опенсурс, и коммерческих системах. Просто мне как фрилансеру до недавних пор приходилось работать почти всегда с разработкой сайтов по дешевле и побыстрее – может у других фрилансеров много «жирных» клиентов, я не знаю, у меня не было. Так вот такая ситуация привела к не плохому опыту работы на модыксе. Но открытие собственной компании и дальнейшее подтягивание клиентов с индивидуальными запросами, потребовало вспоминать и улучшать свой лвл в настоящем программировании и построении баз данных. И вот тут я и почувствовал какой-то дискомфорт, что ли, ну как минимум смущение при воспоминании структуры как MODx, так и некоторых других открытых систем. Далее поясняю подробнее, что именно показалось странным, но интересным.

image

Дело в том, что в MODx Revo основным понятием для построения структуры сайта являются ресурсы. Вот именно, там нет такого как, например, в том же Вордпрессе отдельно страницы сайта, отдельно записи блога. Все страницы и записи, и даже много чего еще реализуется через модель ресурсов сайта. На самом деле это удобно, особенно учитывая тот факт, что это cmf/cms, то есть система рассчитана на разработку совершенно разных сайтов и тематически и технически. Таким образом, за всей структурой сайта удобно следить в одной панели управления ресурсами. В общем, система ресурсов позволяет создавать и управлять следующими сущностями сайта (хотел было написать объектами, но в ООП это слово уже занято, так что пусть будет «сущности»):

• Обычные html-страницы;
• Разного рода категории и разделы блога или каталога;
• Товары и их категории;
• XML-документы, например, sitemap.xml для поисковых роботов;
• Текстовые документы, к примеру, robots.txt правильно сделать ресурсом, а не просто залить файлом;
• Json-страницы, которые лично я использую для того же аякс;
• Создать собственный формат текстового файла.

Постановка проблемы


Вот такое объединение множества различных «сущностей» сайта в объекте одной модели Resources и вызвало мой интерес. Разум философа зашевелился и начал выдавать множество предположений и вопросов.

Во-первых, я обратил внимание на пользователей, потому что они сделаны совершенно отдельно от ресурсов. Как бы на первый взгляд это логично, но с другой стороны, если начали такую пляску с объединением кучи всего, почему бы не сделать все до конца. Да-да, максимализм в деле. Тем более, что сделать пользователей как один из видов ресурсов не представляет большой проблемы. В случае с modx это по большей части реализуется с помощью плейсхолдеров, позволяющих расширить количество атрибутов ресурса, и «контекстов», дающих возможность выделять часть ресурсов по их назначению. Реализация же чего-то подобного на фреймворке (я имею ввиду php-фреймворки) или голой связке скриптов и реляционной базы данных совсем дело не сложное.

Во-вторых, совершенно отдельными моделями реализуются шаблоны и вся система представления и настройки сайта. Почему бы их тоже не объединить в одну модель, хотя бы чисто ради эксперимента. Чувствую летящие в меня помидоры.
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Comments 5
1

Information

Rating
Does not participate
Date of birth
Registered
Activity