Как стать автором
Обновить
133.14
Рейтинг
Сначала показывать

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

Блог компании Karuna Open source *Go *Криптовалюты
Кто про что, а я про телеграм бота…

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

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

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

На этом вроде бы и всё, поехали…
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 1.6K
Комментарии 3

Цитаты великих айтишников с человеческим лицом

Блог компании Karuna Программирование *История IT

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


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


Кент Бек


Кент Бек, создатель методологии "Разработка через тестирование" (TDD), как-то написал:


"Мне платят за работающий код, а не за тесты, поэтому моя философия заключается в том, чтобы тестировать настолько мало, насколько это возможно, чтобы достичь заданного уровня уверенности".
(источник)
Читать дальше →
Всего голосов 42: ↑38 и ↓4 +34
Просмотры 18K
Комментарии 24

SMM для бизнеса в 2022

Блог компании Karuna Управление сообществом *Копирайт Социальные сети и сообщества

Привет! Меня зовут Ксения Потапова, и я – SMM & Community Team Lead в одном из проектов, над которым работает Каруна. Моя команда занимается развитием брендовых сообществ. Мы выбрали не самый типичный фокус для SMM – это retention. Для нас, безусловно, важно, чтобы аудитория бренда расширялась и знакомилась с ним через каналы,но сделали ключевой задачей социальных сетей удержание и вовлечение текущей клиентской базы ещё до того, как COVID сделал это трендом бизнеса.

Social media  сейчас буквально везде: сделать покупку чего угодно из любой точки мира, заказать услуги и найти специалистов, пройти мастер-класс по игре на укулеле, узнать о марафонах желаний и тут же о них забыть. Пандемия только усилила запросы аудитории на эти площадки и их возможности. В соцсетях сидят более 53% населения всего мира (We are social&Hootsuite report), поэтому свою ЦА в них точно найти сможет любой бизнес.

Вспомните, сколько ваших знакомых стали вести TilTok в первую волну карантина, и как активно в нем стали развиваться бренды? 

Мы в Каруне, как и многие тогда, ушли на удалёнку и прошли все стадии принятия: от онлайн-квизов и кулинарных мастер-классов до Нового года в онлайне. Потом ситуация волнами менялась, мы частично возобновили работы в офисе. И когда поняли, что не можем больше держать в себе, как у нас весело живётся, несмотря ни на что — пошли покорять TikTok. Если вы ещё не знаете, как правильно посвящать новичков в IT-шники, что с ними делается, когда они переходят в Senior-ы и почему спальня в офисе — это прям must have, очень рекомендую посмотреть. 

Читать далее
Всего голосов 14: ↑5 и ↓9 -4
Просмотры 1.5K
Комментарии 5

Трудности перехода: каков Elixir на вкус после Ruby

Блог компании Karuna Ruby *Ruby on Rails *Elixir/Phoenix *

Привет! Меня зовут Наталья. В Каруне я пишу в команде высоконагруженные сервисы на Elixir.

Это третья компания, в которой я работаю на Elixir. До этого я писала на Ruby. Если посмотреть свежее исследование Хабр Карьеры по зарплатам, можно увидеть — зарплаты рубистов растут, а Elixir там нет. Более того, есть истории о том, как люди возвращались с Elixir обратно на Ruby. Я считаю, что на это сильно влияет вход в язык. Elixir классный, но в первые месяцы знакомства с ним мне самой так не казалось. Настолько классный, что я не хочу назад. В этой статье я расскажу про трудности перевода перехода.

Читать далее
Всего голосов 21: ↑19 и ↓2 +17
Просмотры 4.2K
Комментарии 4

GO приложение в кластере k8s

Блог компании Karuna Go *Kubernetes *

Golang приложение в кластере kubernetes


Привет! Я — golang разработчик в Каруне. Kubernetes сегодня — звезда среди систем оркестровки и контейнеризации приложений. Важно понимать, как с ним работать. Поделюсь примером демонстрационного api приложения, которое написано на golang, и покажу способы взаимодействия с ним.

Читать дальше →
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 5K
Комментарии 6

Angular Libs как монорепозиторий 2: tree shaking и сборка клонов

Блог компании Karuna Angular *TypeScript *
Tutorial

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

В этом посте хочу продолжить тему разделения функционала на библиотеки и, как апофеоз, рассказать о сборке двух, похожих визуально, но разных по функциональности приложений из одного набора библиотек. А так же осветить механизм работы tree shaking при использовании Angular Libs.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Просмотры 1.3K
Комментарии 0

SAGA на golang

Блог компании Karuna Программирование *Go *Микросервисы *

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

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Просмотры 5.7K
Комментарии 15

Дело об исчезнувшем покрытии кода

Блог компании Karuna Разработка мобильных приложений *Разработка под Android *

Однажды, после штатного обновления версий библиотек, когда-то достаточно популярный плагин JaCoCo перестал считать покрытие кода тестами на одном из наших проектов в Каруне. Усердный поиск хоть как-то похожих проблем не принёс результатов. Помощи ждать было неоткуда, поэтому нам пришлось погрузиться в вопрос. Как же мы смогли вернуть покрытие? Расскажу под катом.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.1K
Комментарии 0

Angular Libs как монорепозиторий: начало, настройка, работа с assets

Блог компании Karuna Angular *
Tutorial

Всем привет! Меня зовут Илья и я хочу рассказать вам как можно подробнее про Angular Libs. В частности, то, как можно использовать его в качестве монорепозитория для сборки нескольких приложений с tree-shaking и переиспользуемостью различных модулей в разных библиотеках и частях системы.

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 2.2K
Комментарии 1

Движение на встречу: как мы использовали собрания, чтобы разрушить стены между заказчиками и производством

Блог компании Karuna Управление разработкой *Управление проектами *Agile *Управление продуктом *

Возможно, вы сталкивались с классической историей: поговорили с заказчиком о задаче, всем всё понятно. Начали работать — и началось: "А я думал, это и так ясно" или "Я ожидал, что ты это опишешь точнее". 

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

Как с этим бороться?

Расскажу!
Всего голосов 9: ↑9 и ↓0 +9
Просмотры 963
Комментарии 0

CQRS на golang

Блог компании Karuna Программирование *Go *Микросервисы *

Сегодня рассмотрю архитектурный паттерн CQRS и его возможное место в вашей архитектуре. Также осуществим его реализацию на языке golang.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры 7.4K
Комментарии 8

Инструменты практического изучения сетей

Блог компании Karuna Сетевые технологии *
Привет! Я — golang разработчик в Каруне. Часто в работе сталкиваюсь с тем, что нужно понять, как функционирует та или иная сетевая система. Как правило, современные компьютерные системы объединены в сеть, и взаимодействие между узлами этой сети можно рассматривать через теоретическую призму модели OSI. 
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 4.3K
Комментарии 0

Что происходит, когда вводишь url, или как работает интернет

Блог компании Karuna Программирование *IT-инфраструктура *Сетевые технологии *Стандарты связи

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

Хочу представить краткую выжимку о работе протоколов. А если тема окажется интересной, могу продолжить работать с ней более детально. Рассмотрим простейший пример: вы ввели некоторый url в адресную строку. Поехали.

Читать далее
Всего голосов 12: ↑9 и ↓3 +6
Просмотры 29K
Комментарии 21

Работаем с индексами при высокой нагрузке в rails с psql: как добавить/удалить индекс и при этом не умереть

Блог компании Karuna Ruby *PostgreSQL *Ruby on Rails *

Всё, что кладёт прод, делает тебя умнее. © программист, положивший прод

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

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 2.7K
Комментарии 3

Integration hell: путеводитель

Блог компании Karuna Программирование *.NET *Проектирование и рефакторинг *

В мае 2021 года ваш покорный слуга выступил на Codefest c докладом про интеграции и связанные с ними трудности. Поездка на эту конференцию запомнилась сразу несколькими вещами. Во-первых, было чертовски приятно выступить оффлайн — организаторам и участникам большой респект! А во-вторых, ни одна компания из тех, где я раньше работал, не поддерживала так сильно своих спикеров, как это делает Каруна. И где, как не в блоге компании, публиковать расшифровку доклада.

Читать далее
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 1.6K
Комментарии 4

Как сделать alter table в высоконагруженной таблице

Блог компании Karuna PostgreSQL *Программирование *Go *Микросервисы *

Ещё лет 5 назад на собеседованиях с backend-разработчиками был популярен вопрос: как переименовать колонку в высоконагруженной таблице (возможны вариации: как сделать любой другой alter table)?

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

Читать далее
Всего голосов 27: ↑25 и ↓2 +23
Просмотры 12K
Комментарии 29

Real-time мониторинг тормозящих запросов PostgreSQL своими руками за полчаса

Блог компании Karuna Разработка веб-сайтов *PostgreSQL *Программирование *Go *

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


Ключевое слово — в конкретный момент времени. Например, база непонятно от чего напряглась на 5 минут, потом всё само рассосалось, и очень хочется знать, почему. Отчёты за сутки, присылаемые dba на основе pg_stats_statements, не всегда проясняют ситуацию. Другие графики и логи могут помочь. Но всё же хочется не гадать на кофейной гуще, а конкретно посмотреть, что такому-то запросу в такое-то время было плохо, или его было много.


Можно, конечно, подключить системы а ля okmeter, но okmeter стоит денег. Да ещё и отсылает запросы в чужое облако — что, понятно, не в каждой организации можно считать безопасным.


На удивление, сделать такой мониторинг самому занимает всего полчаса времени, буквально с помощью нескольких строк Go-кода и палок.

Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 9.2K
Комментарии 8

Когнитивные искажения с примерами для айтишников

Блог компании Karuna Программирование *Научно-популярное Мозг

Про когнитивные искажения много пишут и много говорят.


Однако всегда не хватало более чёткого понимания, как именно это влияет на профессиональную деятельность, мою и моих коллег. Какие решения я как тимлид и программист принимаю неправильно. Что мне подправить, на что обратить внимание.


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


Если вам интересно, добро пожаловать под кат.


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

Читать дальше →
Всего голосов 59: ↑56 и ↓3 +53
Просмотры 27K
Комментарии 56

Как мы делали инструмент для QA, а сделали для всего техотдела

Блог компании Karuna PHP *Go *Тестирование веб-сервисов *Kubernetes *

Как-то очень давно наш отдел автоматизации внутренних процессов посетил админ (ops) с идеей помочь нашим тестировщикам. Основная идея был упростить деплой т.к. было очень неудобно писать ручные curl запросы к gitlab'у с кучей меняющихся параметров. Так заставили нас наша команда решила помочь дружественному отделу и сделать их работу более приятной.

В статье я постараюсь поделиться тем, как мы разрабатывали GUI для curl'a, а сделали очень крутой сервис автоматизации. А также с какими проблемами столкнулись и как их решили (или нет).

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 3.4K
Комментарии 5

Стреляем себе в ногу с помощью GenServer'а, или как мы фиксили неуловимый баг в Elixir проекте

Блог компании Karuna Erlang/OTP *Elixir/Phoenix *

Привет, Хабр! Меня зовут Иван, я — техлид в Каруне.

В команде мы активно используем Elixir в одном из самых нагруженных проектов.

Мы уделяем особое внимание тому, что за код выполняется в коллбеках GenServer'а, особенно если это код третьесторонних библиотек.

В этой статье я расскажу, почему это настолько важно, и продемонстрирую, как с помощью простейших механизмов, которые предоставляют нам Elixir и Erlang, мы можем сломать поведение GenServer'a и породить трудноуловимые баги. Ещё расскажу, как мы боролись с таким багом в реальной жизни.

Поехали!

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.1K
Комментарии 6
1

Информация

Дата основания
Местоположение
Россия
Сайт
karuna.group
Численность
201–500 человек
Дата регистрации