Pull to refresh
-1
0
Андрей @Minras

User

Send message

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

Reading time 15 min
Views 588K

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

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

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

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

Подготовка к собеседованиям в IT-гиганты: как я преодолела проклятье алгоритмического собеседования

Reading time 12 min
Views 203K

Дисклеймер:


Я не программирую с трёх лет, не знаю наизусть Кнута, не являюсь призёром олимпиад по информатике и чемпионатов по спортивному программированию, не училась в MIT. У меня за плечами образование по информатике и 6 лет опыта в коммерческой разработке. И до недавнего времени я не могла пройти дальше первого технического скрининга в IT-гиганты из FAANG (Facebook, Amazon, Apple, Netflix, Google и подобные), хотя предпринимала несколько попыток. 

Но теперь всё изменилось, я получила несколько офферов и хочу поделиться опытом, как можно к этому прийти. Речь пойдёт о позиции Software Engineer в европейских офисах перечисленных компаний.
Читать дальше →
Total votes 201: ↑196 and ↓5 +191
Comments 342

Аудио через Bluetooth: максимально подробно о профилях, кодеках и устройствах

Reading time 26 min
Views 611K
Комикс XKCD про 14 конкурирующих стандартов: Надпись: СИТУАЦИЯ: есть 14 конкурирующих стандартов. Гик: 14?! Абсурд! Нам необходимо разработать один универсальный стандарт, на все случаи жизни. Спутница гика: Да! Надпись: Скоро: СИТУАЦИЯ: Есть 15 конкурирующих стандартов.

This article is also available in English

Из-за массового выпуска смартфонов без аудиоразъема 3.5 мм беспроводные Bluetooth-наушники для многих стали основным способом прослушивания музыки и общения в режиме гарнитуры.
Производители беспроводных устройств не всегда пишут подробные характеристики товара, а статьи о Bluetooth-аудио в интернете противоречивы, местами некорректны, не рассказывают о всех особенностях, и часто копируют одну и ту же не соответствующую действительности информацию.
Попробуем разобраться с протоколом, возможностями Bluetooth-стеков ОС, наушников и колонок, Bluetooth-кодеков для музыки и речи, выясним, что влияет на качество передаваемого звука и задержку, научимся собирать и декодировать информацию о поддерживаемых кодеках и других возможностях устройств.

TL;DR:
  • SBC — нормальный кодек
  • У наушников есть свой эквалайзер и пост-процессинг на каждый кодек отдельно
  • aptX не настолько хорош, как о нём говорят рекламные анонсы
  • LDAC — маркетинговое фуфло
  • Качество звука в режиме разговора всё ещё низкое
  • В браузер можно встроить аудиоэнкодеры на C, скомпилировав в WebAssembly через emscripten, и они не будут особо тормозить.

Total votes 175: ↑171 and ↓4 +167
Comments 180

Смарт-часы со стрелками. Что носить тем, кто предпочитает классические циферблаты

Reading time 6 min
Views 75K
Умные часы в подавляющем большинстве отображают всю информацию на цифровом дисплее, и это не учитывает вкусы тех, кто привык к «классическому» отображению времени. Одних разработчиков это подталкивает к созданию циферблатов-заставок со стрелками, других — к созданию «аналоговых» смарт-часов, и последние — в нашей сегодняшней подборке.


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

Связь в интернете вещей: LoRa против UNB. Часть 1: физика

Reading time 8 min
Views 40K
Первая из серии статей, посвящённой описанию основных отличий технологий маломощной дальнобойной радиосвязи, получающей сейчас распространение в системах Интернета вещей: широкополосной связи LoRa от узкополосных (UNB, Ultra Narrow Band) систем, таких как Sigfox и «Стриж»

  1. Связь в интернете вещей: LoRa против UNB. Часть 1: физика
  2. Связь в интернете вещей: LoRa против UNB. Часть 2: бизнес
  3. Связь в интернете вещей: LoRa против UNB. Часть 3: технические тонкости
  4. Связь в интернете вещей: LoRa против UNB. Часть 4: сети и оборудование LoRa

Тема маломощной радиосвязи, позволяющей, не выходя за рамки безлицензионных диапазонов (то есть, как правило, за мощность 25 мВт), передавать низкоскоростные данные на расстояния от 1-3 до 10-30 километров, в России начала бурно развиваться в последние полгода. То есть — говорили о ней и до этого, но практические применения встречались очень редко, а разработчиков и интеграторов, способных сделать проект на подобных технологиях, было крайне мало.

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

Основная конкуренция в этом сегменте сейчас — между широкополосной связью LoRa и узкополосной Sigfox (а конкретно в России — схожей с ней технологией «Стриж-Телематики»). В будущем к этому списку добавится UNB-протокол Weightless, а также сети, продвигаемые поставщиками классического оборудования сотовой связи — NB-IoT и LTE-M, но это случится года через два-три.

Итак, в чём же разница — и что выбрать для конкретного проекта? Поехали.
Читать дальше →
Total votes 21: ↑20 and ↓1 +19
Comments 53

10 полезных сайтов с 2D ресурсами для игр

Reading time 3 min
Views 453K


С развитием HTML5 и мобильных платформ 2D-игры возвращаются в моду. Заниматься такими проектами, будь то браузерные игры, игры на телефон или для ПК, стало легче благодаря таким инструментам, как Unity, и онлайн-ресурсам с игровыми ассетами. Ниже представлен список из 10 лучших сайтов с 2D-ресурсами для игр – как платными, так и бесплатными.

Читать дальше →
Total votes 43: ↑41 and ↓2 +39
Comments 2

Об относительной яркости, или насколько живучим бывает легаси

Reading time 6 min
Views 40K
Я уверен, что многим программистам знакома формула:

Y = 0.299 R + 0.587 G + 0.114 B

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

Вычисляет она относительную яркость цвета (relative luminance или в некоторых контекстах luma; не путать с lightness и brightness) и широко применяется для преобразования цветного RGB-изображения в Grayscale и связанных с этим задач.

Формула растиражирована и процитирована в тысячах статей, форумных обсуждений и ответов на StackOverflow… Но дело в том, что единственно-правильное её место — на свалке истории. Использовать её нельзя. Однако же используют.

Но почему нельзя? И откуда же взялись именно такие коэффициенты?
Мини-экскурс в историю
Total votes 87: ↑87 and ↓0 +87
Comments 130

Дёргаем цепочку сертификатов

Reading time 4 min
Views 29K
Вчера, видимо, был шабаш https и клиенты стали массово слать сертификаты. Разумеется ни корневых ни промежуточных не прилагалось и просьба их выслать вызывала такое же недоумение как встречный поток у блондинки на дороге с односторонним движением.

На 4-м сертификате дёргать их вручную стало лень (а я ленив по натуре), поэтому набросал «самокат» выцепляющий издателя и формирующий chain-файл для скармливания nginx'у.
Наверняка он не идеален и проверен лишь на полуторадесятках сертификатов, но чем богаты.

Об устройстве x.509 много сказано (в том числе на хабре), поэтому повторяться не буду.

Ниже просто пошаговая инструкция получения цепочки вперемешку с небольшой выжимкой из теории и не более того.
Читать дальше →
Total votes 16: ↑15 and ↓1 +14
Comments 3

Что нужно сделать перед тем, как выложить код открытого программного обеспечения

Reading time 3 min
Views 28K
Выложить проект с открытым программным кодом – это больше, чем выложить код в Интернете.

Интерес к программным продуктам с открытым исходным кодом растёт последние 10 лет. Linux стоит и в стиральных машинах, и в боевых дронах. Большинство программистов не могут представить свою жизнь без широкого ассортимента бесплатных и открытых инструментов в своем распоряжении.

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

Чем вы можете помочь своему проекту, чтобы его заметили?

Читать дальше →
Total votes 60: ↑56 and ↓4 +52
Comments 36

Особенности консольной инди-разработки в российской провинции

Reading time 12 min
Views 42K
Мне очень приятно, что мою последнюю статью про продвижение игры на Steam Greenlight, которую я писал на хабр чуть больше года назад, прочитали почти 50k раз и как мне кажется в итоге она была написана не зря. Тогда наша маленькая команда только-только получила зелёный свет. С того момента произошло еще много событий, но одним из самых интересных и значимых было то, что мы также прошли в программу ID@Xbox для независимых разработчиков, с возможностью выпуска своей игры на консоли Xbox One. И вот неделю назад игра все-таки увидела свет.

image

В этой статье я хочу поделиться интересной и возможно кому-то полезной информацией о том, с чем мы столкнулись пока готовили к релизу нашу игру на консоли Xbox One и Steam. А для этого я попробую раскрыть следующие темы:
  • Сколько может стоить разработка консольного проекта
  • Где мы взяли такие деньги
  • Как все подсчитать и иметь представление на что рассчитывать
  • Почему мы решили работать без издателя и внешних инвестиций
  • Как мы попали в Steam и на Xbox One
  • Почему нужно платить и получать возрастные рейтинги
  • В чем разница между Steam и Xbox — минусы и плюсы консольной разработки для инди
Читать дальше →
Total votes 70: ↑65 and ↓5 +60
Comments 34

Пишем фоновый процесс на Apache Cordova

Reading time 7 min
Views 25K

Два года назад я увлекся мобильной разработкой под Android. Тогда я писал простенькие приложения для парсинга веб-сайтов. Программный код писался на Java. Это очень мощный язык, но для написания простых легковесных приложений, не выполняющих сложных задач, его объектно-ориентированная парадигма показалась мне не слишком кстати. В то время я только начинал знакомиться с JavaScript. Изначально он привлек меня своей простотой, затем я стал открывать в нем все большие и большие возможности. Я был знаком с HTML5 и CSS3, удовольствия ради создавал симпатичные веб-страницы.

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

А если найду? Перелет еще дешевле чем вы уже нашли

Reading time 3 min
Views 122K
Если вы планируете поездку и уже нашли недорогой перелет, не спешите покупать билеты, потому что сейчас вы найдете билеты еще дешевле. И это не реклама очередного говноагрегатора.

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

Читать дальше →
Total votes 123: ↑99 and ↓24 +75
Comments 299

Альтернативы Raspberry Pi

Reading time 4 min
Views 54K
Когда речь заходит об одноплатных компьютерах (single-board computer), вероятно, первым на ум приходит именно Raspberry Pi. Тем более, что недавно вышла третья «малина», которая шустрее и мощнее предыдущих версий. Крохотные компьютеры этой линейки, изначально предназначавшиеся под обучение информатике, способны делать много чего интересного. Эта «машинка» может стать метеостанцией на солнечной энергии, управляющим центром «умного дома», игровой приставкой для любителей 8-битной классики и даже сердцем радиоуправляемых моделей. Тут все зависит от фантазии, желания и прямоты рук.



Но несмотря на все свои особенности и преимущества, Raspberry Pi конечно же несовершенен. На рынке одноплатных компьютеров есть и другие модели. Ниже представлена подборка альтернатив RPi, заслуживающих внимания.

Читать дальше →
Total votes 45: ↑30 and ↓15 +15
Comments 122

Математика на пальцах: методы наименьших квадратов

Reading time 8 min
Views 224K

Введение




Я математик-программист. Самый большой скачок в своей карьере я совершил, когда научился говорить:«Я ничего не понимаю!» Сейчас мне не стыдно сказать светилу науки, что мне читает лекцию, что я не понимаю, о чём оно, светило, мне говорит. И это очень сложно. Да, признаться в своём неведении сложно и стыдно. Кому понравится признаваться в том, что он не знает азов чего-то-там. В силу своей профессии я должен присутствовать на большом количестве презентаций и лекций, где, признаюсь, в подавляющем большинстве случаев мне хочется спать, потому что я ничего не понимаю. А не понимаю я потому, что огромная проблема текущей ситуации в науке кроется в математике. Она предполагает, что все слушатели знакомы с абсолютно всеми областями математики (что абсурдно). Признаться в том, что вы не знаете, что такое производная (о том, что это — чуть позже) — стыдно.

Но я научился говорить, что я не знаю, что такое умножение. Да, я не знаю, что такое подалгебра над алгеброй Ли. Да, я не знаю, зачем нужны в жизни квадратные уравнения. К слову, если вы уверены, что вы знаете, то нам есть над чем поговорить! Математика — это серия фокусов. Математики стараются запутать и запугать публику; там, где нет замешательства, нет репутации, нет авторитета. Да, это престижно говорить как можно более абстрактным языком, что есть по себе полная чушь.
Математика для программистов!
Total votes 125: ↑115 and ↓10 +105
Comments 398

Помехи в глобальных навигационных спутниковых системах

Reading time 4 min
Views 28K
Эта статья была написана в связи с тем, что в русскоязычном сегменте интернета очень трудно найти подобную информацию, а в англоязычном её следует собирать по крупицам. Я работаю в сфере разработки навигационных приёмников, и, в частности, помехоустойчивых. Эта статья содержит небольшой ликбез о навигации как таковой, о типичном построении приёмников, а также об основных помехах и их влиянии. Если эта тема окажется интересной хабрасообществу, будет написано продолжение о различных методах борьбы с помехами и их эффективности.

Часть 2
Читать дальше →
Total votes 36: ↑33 and ↓3 +30
Comments 19

Как я много раз не бросил разработку своей второй игры

Reading time 15 min
Views 43K

Картинка для привлечения внимания

Успокоившись после шока из-за того, что моя первая игра не взорвала интернет, я решил сделать еще одну. Первая мысль, с которой началась разработка второй игры, возникла в голове и без обдумывания стала краеугольным камнем в фундаменте игры: «если игра с бесконечным геймплеем не стала популярной, то нужно делать контенто-зависимую игру с уровнями».

Так как небольшой опыт создания игры у меня уже был, я вооружился не клавиатурой, как в прошлый раз, а карандашом и бумагой, и принялся «придумывать» игру. На разных листах А4 я записывал свои мысли по разным направлениям: игровые механики, сеттинг, интерфейс, правила, интересные мысли, запомнившиеся игры из детства и т. п.; при этом я параллельно шерстил Google Play Market в поисках вдохновения. В итоге, спустя несколько дней, было принято решение, что игра станет головоломкой, а именно — пазлом. За это время мой мозг и пальцы заскучали по программированию, в результате чего захотелось сделать хоть какой-нибудь прототип игры. Это сподвигло меня на более интенсивную проработку идеи пазла, и в итоге в качестве рабочего был принят вариант со следующими правилами: игровое поле состоит из квадратных кусочков пазла (далее они будут называться тайлами), на которых располагаются разноцветные линии; тайлы можно менять местами; цель игры: собрать пазл единственным образом, в котором линии одного цвета замкнуты в некий узор.
Продолжить создавать игру
Total votes 75: ↑67 and ↓8 +59
Comments 33

400 потрясающих бесплатных сервисов

Reading time 16 min
Views 717K

Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.

И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.



A. Бесплатные веб-сайты

  • HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
  • Bootswatch: Бесплатные темы для Bootstrap.
  • Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
  • Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
  • Strikingly: Конструктор веб-сайтов.
  • Layers: Создание сайтов на WordPress (new).
  • Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
  • Landing Harbor:  Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Читать дальше →
Total votes 108: ↑89 and ↓19 +70
Comments 38

Инженер Google тестирует кабели USB Type-C и публикует отчёты на Amazon

Reading time 3 min
Views 27K


Некоторые думают, что кабель — простая штука, почти все кабели работают одинаково и не могут причинить никакого вреда. Однако в случае с кабелями-конвертерами USB Type-C это неверно, судя по результатам тестирования, которое провёл Бенсон Люн (Benson Leung), инженер из подразделений Chrome OS, Chromebook Pixel и Pixel C в компании Google.

Среди прочих трудовых обязанностей, Бенсон занимается проверкой разнообразных кабелей-конвертеров USB Type-C на совместимость с ноутбуками Pixel, смартфонами Nexus 5X, 6P и вообще на соответствие спецификациям USB. Что самое ценное, результаты технических тестов он не скрывает, а публикует прямо на сайте Amazon, где продаются кабели.
Читать дальше →
Total votes 24: ↑22 and ↓2 +20
Comments 18

Грандиозное тестирование аккумуляторов AA/AAA

Reading time 6 min
Views 294K
После моего грандиозного тестирования батареек многие просили провести такие же основательные тесты NiMh-аккумуляторов. За четыре месяца я протестировал 198 аккумуляторов (44 модели AA и 35 моделей AAA).



Читать дальше →
Total votes 217: ↑215 and ↓2 +213
Comments 71

Information

Rating
Does not participate
Location
Харьковская обл., Украина
Date of birth
Registered
Activity