Pull to refresh
8
0

Человек

Send message

Как поднять почтовый сервер mailcow

Level of difficultyEasy
Reading time5 min
Views5.2K

Немного почтового сервера вам в ленту

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

Читать
Total votes 7: ↑5 and ↓2+3
Comments15

Гайд по Scratch для детей: как запустить игру на Android

Level of difficultyEasy
Reading time7 min
Views2.7K

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

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

Делаем плавную прокрутку для сторонней мыши в macOS

Level of difficultyEasy
Reading time7 min
Views9.9K

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

Читать далее
Total votes 32: ↑30 and ↓2+28
Comments13

Построение архитектур для обработки данных в режиме реального времени при помощи Apache Kafka, Flink и Druid

Level of difficultyHard
Reading time11 min
Views8.1K
image

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

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

Но в опенсорсном пространстве есть решение, разработанное в опенсорсе. В сочетании друг с другом Apache Kafka, Flink и Druid, позволяют создать архитектуру для обработки данных, которая работает в режиме реального времени и позволяет исключить все эти этапы ожидания. В этом посте мы исследуем, как комбинация этих инструментов позволяет создавать широкий спектр приложений для обработки данных в режиме реального времени.
Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments0

Продолжаем изучение арбитража криптовалют: прогноз срока жизни оффера

Level of difficultyHard
Reading time37 min
Views3K

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

Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments7

Что такое арбитраж? Передовые технологии торговли на примере криптобиржи

Level of difficultyHard
Reading time32 min
Views11K

Благодаря технологии блокчейн, криптовалютам, криптобиржам, приоритеты людей, компаний и даже стран меняются прямо на наших глазах. Один знакомый разработчик из этой сферы однажды сказал мне, что он не возлагает больших надежд на все это, несмотря на то что это перспективно и хорошо оплачивается. Однако присутствует некое чувство неуверенности. "Водопровод, - говорит он, - казалось бы, одна из самых простейших технологий, но как она изменила жизнь. Когда в конце 90-х в моей небольшой деревне в моем доме появилась вода, которую не нужно было добывать большим трудом, жизнь действительно стала на порядок лучше и приятнее." Блокчейн, по его словам, сейчас является чем-то вроде того же водопровода - он обязательно изменит жизнь к лучшему, но сколько труда и времени для этого понадобится?

Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments16

Как написать хороший генератор

Level of difficultyEasy
Reading time6 min
Views3.4K

В интернете невероятное количество статей о том "как написать свой генератор на С++20", но почти все они сводятся к новичковым хело вордам и почти ни одной статьи о том как написать хороший генератор. Что ж, это нужно исправлять!

next
Total votes 7: ↑6 and ↓1+5
Comments4

Как устроен DEX на OrderBook

Level of difficultyMedium
Reading time15 min
Views2.3K

Привет! На связи – Павел Найданов, блокчейн-разработчик в MetaLamp.В этом материале я расскажу o том, как типичный для сферы классических финансов инструмент OrderBook прижился в мире web3.

На протяжении нескольких лет я изучаю тонкости устройства web3 продуктов и собираю ценную информацию для себя и будущих коллег в формате мини-энциклопедии. Вместе с коллегами я готовлю wiki-статьи для нашей бесплатной карты развития по предметке web3. И часть материалов мы решили адаптировать, чтобы сделать мир крипты доступным для более широкого круга читателей. Это вторая статья из цикла, посвященного устройству децентрализованных обменников. В прошлом выпуске мы с коллегами – Алексеем Куценко и Романом Ярлыковым – разбирались в устройстве DEX на AMM с наглядными примерами и расчётами. В этой статье приглашаю рассмотреть альтернативу автоматических маркет-мейкеров – DEX на OrderBook. 

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

Как общаться с ChatGPT с помощью голосовых сообщений в Telegram

Level of difficultyMedium
Reading time9 min
Views21K

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

В этой статье делюсь пошаговой инструкцией, как реализовать ChatGPT Telegram-бота на NodeJS и задеплоить его на виртуальный сервер. Подробности под катом!
Читать дальше →
Total votes 48: ↑47 and ↓1+46
Comments10

Как рассказать о новом функционале и провести демо на английском языке

Level of difficultyEasy
Reading time4 min
Views3K

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

Предлагаю рассмотреть аутентичные материалы. Меня заинтересовало короткое видео с Томасом Эзаном, Андроид инженером-разработчиком в компании Гугл.  В недавней презентации каналу Android Developers он демонстрирует возможности нового программного пакета TensorFlow Lite и применение интерпретатора API в библиотеке машинного обучения. Разберем это видео с точки зрения структуры, грамматики и интересной лексики.

Читать далее
Total votes 15: ↑13 and ↓2+11
Comments5

Как рисовать красивые соединения с помощью SVG

Level of difficultyMedium
Reading time5 min
Views13K

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

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

Делаем бесконечную рабочую область без Canvas

Level of difficultyMedium
Reading time6 min
Views6.4K

Рабочее пространство в нашем приложении представляет собой бесконечную доску, по которой могут перемещаться ноды. Необходимо реализовать масштабирование этого пространства и перемещение по нему. Все это мы делаем без использования Canvas, так как приложение построено на React, в дизайн-системе используется antd, а ноды могут быть огромными формами. Согласитесь, реализовывать такие интерфейсы было бы гораздо сложнее, не будь у нас доступа к нативным средствам HTML-5.

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

Переносим свою картину мира в чат-бота на базе GPT-3

Reading time4 min
Views46K

Думаю, все уже наслышаны о потрясающих возможностях ChatGPT и GPT-3, многие уже вдоволь наигрались с ними, а новые стартапы на их основе льются на нас каждый проливным дождём! Возможности ChatGPT в решении некоторых текстовых задач потрясают, порой кажется, что имеешь дело с настоящим разумом.

У меня возникла идея - что если попробовать доучить сеть так, чтобы она имитировала картину мира определенного человека? (Да, снова Черное Зеркало). Классический подход с pre-prompt для этого не подходит, так как хочется заложить в сеть побольше знаний (а также реально поменять веса связей), поэтому будем использовать fine-tune (дообучение на небольшом датасете и небольшом числе итераций). Такая опция доступна пользователям openAI за небольшую плату ($0.5-1 в моих примерах).

В этой статье я покажу как можно обучить GPT-3 (в версии davinchi-003) на своей картине мира и засунуть её внутрь телеграм-бота, потратив на всё всего несколько долларов.

Код бота доступен в репозитарии.

Читать далее
Total votes 43: ↑42 and ↓1+41
Comments31

Telegram WebApps. Как встроить веб-приложения в чат-бота?

Reading time5 min
Views81K

Относительно недавно команда Telegram выпустила обновление, с которым появилась возможность встраивать в мессенджер веб-приложения. Эта статья — обзор основных моментов внедрения веб-приложениий в телеграм-ботов.

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

Как перестать велосипедить или 4 self-hosted сервиса для начинающего СТО

Reading time3 min
Views15K

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

Слезть с велосипеда
Total votes 34: ↑33 and ↓1+32
Comments5

Внеочередной урок по Godot 4.0: пиксели и RPG (часть первая, в которой человечек научился ходить)

Reading time10 min
Views12K

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

Урок Серия уроков будет посвящена созданию простой RPG в 1bit пиксель-арт стиле, где я постараюсь рассмотреть всю ту боль и страдания, с которыми обычно встречаются новички - джиттер, расплывающиеся пиксели, борьба с разрешением и прочее.

Рисуем сову
Total votes 8: ↑8 and ↓0+8
Comments6

Создание инициализатора Flutter-проектов. Чисто и SOLIDно

Reading time9 min
Views4K

Pet-проект или самописный инструмент помогают решить проблемы, которые возникают в разработке. На примере инициализатора Flutter-проектов рассказываем, как следует подходить к разработке собственной «тулзы» правильно: с SOLID и чистой архитектурой.

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

Как настроить хранение логов кластера Kubernetes в бакете S3 и зачем это нужно

Reading time13 min
Views5.4K

Стандартный способ хранения логов Kubernetes на ноде неудобен: память ограничена, данные разбросаны, а многие аналитические инструменты просто не получится применять. Чтобы сделать хранение и работу с логами удобнее для разработки аналитических инструментов, логи можно перенести в бакет объектного хранилища S3.

Меня зовут Илья Нырков, я программист компании VK Cloud Solutions и разработчик облачных решений. На примере нашего облака я расскажу, почему вообще стоит обратить внимание на S3, как перенести и хранить логи кластера Kubernetes в бакет S3 и в чем преимущество этого решения.

Читать дале
Total votes 27: ↑25 and ↓2+23
Comments7

DDD в Go: натягивание совы на глобус?

Reading time8 min
Views14K

Как-то раз я сидел в баре с давним приятелем, с которым раньше мне довелось поработать на поза-поза-позапрошлой работе. Он из сомневающихся по поводу перехода на Go, ярый приверженец своего нынешнего языка. Хочу сказать, что он делает действительно классные вещи, пишет безупречный код, у него есть, чему поучиться. Но к Go у него отношение не слишком позитивное. Как он сказал: “Go — это *****код (плохой код)”. И в качестве одного из аргументов привел то, насколько, по его мнению, криво в Go реализована обработка ошибок. В чем-то он прав — в моем текущем не самом большом проекте на Go конструкция “if err != nil” встречается 1132 раза.


Этот мой приятель, не побоюсь этого слова — адепт DDD (domain driven design). Все, что не относится к DDD, — это, по его мнению, антипаттерн, ад и хаос. Когда я ему рассказал, что у меня есть довольно успешный опыт проектирования по DDD в Go-проектах, он округлил глаза. Да, ответил я, с определенной серией оговорок и компромиссов это работает, и неплохо.


Читать дальше →
Total votes 16: ↑14 and ↓2+12
Comments42

Telegram Web Apps (Повторное открытие последней страницы)

Reading time4 min
Views12K

15 апреля команда телеграм предоставила нам возможность разрабатывать веб ботов.

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

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

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments4

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity