Обновить

Технотекст

Что нужно знать про Postman: максимально коротко о Mock Servers, Flow и Visualize

Время на прочтение6 мин
Охват и читатели44K

На просторах интернета часто встречается информация о платформе Postman. Большинство статей включают информацию о переменных, различных скриптах и автоматизации при тестировании. Но на самом деле Postman – это не только инструмент для тестирования, а платформа, которая помогает с помощью обширного набора инструментов ускорить жизненный цикл разработки API — проектирование, тестирование, документирование, имитацию и совместное использование проектов.

В этой статье я решил сделать краткий обзор функциональности Visualize, Mock Servers и Flow.

Читать далее

Выходим в Интернет с помощью модуля на SIM800L

Время на прочтение14 мин
Охват и читатели152K

Привет всем неравнодушным! Сегодня предлагаю поговорить о миниатюрных GSM-модемах на базе чипа SIM800L. Области применения таких модулей весьма обширны: охрана дачи или дома, сигнализация в машине и многое другое, где требуется удаленная связь, а возможности подключиться к Wi-Fi нет. В том числе они прекрасно подходят для проектов IoT, потому что с их помощью можно не только отправлять сообщения или управлять телефонными звонками, но и подключаться к Интернету.

В данной статье рассмотрим:

- подключение модулей к переходнику USB-TTL для проверки и отладки;

- подключение модулей к платам Arduino для выхода в Интернет в условиях, когда нет доступа к Wi-Fi;

- код, который позволяет подключиться к объекту на платформе Rightech IoT Cloud, публиковать данные и получать команды.

Хочу узнать больше >>>

Самое подробное руководство по установке высокодоступного (почти ಠ ͜ʖ ಠ ) Kubernetes-кластера

Время на прочтение22 мин
Охват и читатели65K

В предыдущей статье я рассказывал, как построить простой кластер Kubernetes с одним мастер-узлом. Прошло время, опали листья... и мне захотелось большего, поэтому решил позариться на высокодоступные кластеры. В интернете много статей о том, как построить подобное решение, и давайте даже опустим тот факт, что многие из них уже устарели. Одно дело — установить кластер, а как же обслуживание: удаление, добавление, замена узлов? Про это и не вспоминают! В итоге оказалось, что не всё так просто, и вот, спустя больше ста установок, удалений и замен, у меня получилось собрать подробнейшее руководство по установке и, главное, обслуживанию highly available кластера с помощью Kubespray.

Читать далее

Случайные блуждания и цепи Маркова в геймдизайне

Время на прочтение12 мин
Охват и читатели15K

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

Всем привет, меня зовут Лев, я геймдизайнер из WhaleKit. И в этой статье мы разберем две математические концепции: цепи Маркова и случайные блуждания. Сразу замечу, что статья скорее «поп», чем «науч», поэтому часть доказательств выведенных формул будет опущена. После теории мы перейдем к реальным кейсам, где эти инструменты могут пригодиться, например:

 1. Сколько сундуков откроет игрок, если из сундуков могут выпасть еще сундуки;
2. Сколько золота уйдет на прокачку меча, если меч может ломаться;
3. Какая вероятность победить в денежном поединке.

Читать далее

История одного OOM

Время на прочтение7 мин
Охват и читатели9.6K

В далекой-далекой галактике были времена стабильности и процветания. Сервис с шестнадцатью инстансами работал на благо человечества. Через Hibernate он ходил в PostgreSQL-базу, доставал необходимые данные и отдавал другим по REST-интерфейсу. Однако спокойные времена прошли. Внезапно один из инстансов упал с OutOfMemoryError. Лучшие программисты hh.ru пустились в погоню за heapdump-ом в поисках ценнейшей информации. 

Привет, меня зовут Артем, я — бэкенд-разработчик в hh.ru. В этой статье расскажу о том, как мы чинили одну из ошибок OutOfMemoryError, которая возникла при работе сервиса с базой данных. Сегодня говорим только на бэкендерском! 

Читать далее

Автоматизация оценки мнения аудитории о видеофрагменте, на основе количественного CAWI опроса

Время на прочтение3 мин
Охват и читатели859

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

К плюсам количественного способа оценки я бы отнес следующее:

Читать далее

DIY-одноплатник или OrangePi на минималках

Время на прочтение14 мин
Охват и читатели21K

Некоторое время назад Arduino казалось какой-то непонятной магией когда только узнал про нее. Потом быстро перешел к самим микроконтроллерам. Позже, работая программистом микроконтроллеров, захотелось чего-то большего и я уже смотрел в сторону линукса и одноплатных компьютеров. В руки попал Raspberry Pi, но это готовый продукт с определенной периферией (не хочу HDMI, хочу RGB LCD) и некоторое время спустя я уже думал как сделать что-то подобное самому.

Читать далее

Моя история: из сферы продаж в разработчики EdTech

Время на прочтение9 мин
Охват и читатели2.5K

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

Уверен, она окажется интересной и полезной всем тем, кто вообще хочет попасть в IT, а особенно тем, кто желает работать в сфере Education Technologies (далее - EdTech).

Читать далее

Как изучить SQL за ночь или шпаргалка для системного аналитика

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели220K

Помните, как вы были студентами, и готовились к экзаменам по ночам?

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

Изучите теорию на примерах и закрепите на 13 практических задачах по SQL.

Читать далее

Precision и recall. Как они соотносятся с порогом принятия решений?

Время на прочтение3 мин
Охват и читатели78K

Недавно, постигая азы Машинного Обучения и изучая классификацию, я наткнулся на precision и recall. Диаграммки, которые часто вставляют, объясняя эти концепции, мне не помогли понять отличия между ними. Но чудо, я придумал объяснение, которое понятно мне, и я надеюсь, что оно поможет кому-нибудь из вас на пути изучения ML (возможно это объяснение кто-то придумал до меня) .

Перед тем как начинать, давайте представим горку песка, но в этом песке ещё есть песчаные камни, они ведь тоже являются песком, так? Также в этом песке есть некоторый мусор. Наша задача - просеять песок...

Читать далее

История одной случайной поделки

Время на прочтение6 мин
Охват и читатели15K

Доброго всем дня!

Хотелось рассказать еще про одну самоделку, которая родилась ну прям совершенно случайно. Так уж получилось, что работал я с одним очень весёлым и крайне креативным коллегой, который постоянно что-то мастерил для дома. Многое из того, что он делал я бы и близко в дом не пустил (извини, Алексей), но то, что он постоянно чем то горел - это факт. И вот уж так получилось, что очередной его идеей стало сделать домой стол, да не простой, а прозрачный из стекла, эпоксидной смолы и с подсветкой. Для этих целей им была закуплена прозрачная смола в прямо таки скажем нормальных количествах! И вот, наблюдая весь этот захватывающий процесс, мне и самому стало интересно, что можно сделать из смолы. А тут оказалось, что еще один коллега делает из смолы и дерева различные кулончики и ночнички. И я подумал - а почему не попробовать тоже что-нибудь замутить. Просто повторять что-то из интернета было не интересно и я решил сделать по-своему.

Читать далее

Вариационное исчисление и Вариационные алгоритмы

Время на прочтение5 мин
Охват и читатели20K

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

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

Вариационное исчисление - раздел анализа, в котором изучаются вариации функционалов.

Читать далее

Подключение ПК мыши к Денди. Насколько это удобно?

Время на прочтение4 мин
Охват и читатели9.1K

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

Читать далее

Мутационное тестирование: опыт внедрения на 1500 сервисов

Время на прочтение13 мин
Охват и читатели15K

Привет, Хабр! Меня зовут Александр, я разработчик в юните, который является центром экспертизы по качеству в Авито. Мы помогаем командам с внедрением эффективных и современных подходов тестирования, а также разрабатываем инструменты для тестирования и управления качеством. 

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

Читать далее

Потери данных при репликации в аналитическое хранилище — автоматические сверки и мониторинг качества данных

Время на прочтение9 мин
Охват и читатели6.7K


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

ETL-процесс (извлечение данных, трансформация и загрузка в хранилище) часто подразумевает сложную логику переноса данных, и изначально нет уверенности в том, что данные доставляются без потерь и ошибок. Мы используем Kafka как шину данных, промежуточные сервисы на Benthos для трансформации записей и отправки в Clickhouse. На этапе создания пайплайна нужно было убедиться в отсутствии потерь с нашей стороны и корректной логике записи в шину данных.

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

Как работает неточное сравнение строк

Время на прочтение7 мин
Охват и читатели34K

https://fakt309.github.io/thisisthewall/

В языках программирования строки сравниваются очень просто, если строка отличается хотя бы на один символ, то возвращает false.

Но вот что если мы хотим не просто получать дискретное значение (true / false), а дифференцированное, например в процентах. Ведь согласитесь строки test и testing гораздо ближе к друг другу, чем test и abcd. Для данной проблемы существует множество решений, мы поговорим о самый популярных алгоритмах (также об их модификациях):

Расстояние Хэмминга

Расстояние Левенштейна

Сходство Джаро — Винклера

Коэффициент Сёренсена

Читать далее

Изменения функции append в Go 1.18

Время на прочтение3 мин
Охват и читатели20K

Совсем недавно произошел релиз Go 1.18, гвоздем программы стали дженерики. Но про этот факт уже достаточно статей, а мне нечего к ним добавить. Однако, я не смог найти ни одного поста про этот кусочек релиза:

The built-in function append now uses a slightly different formula when deciding how much to grow a slice when it must allocate a new underlying array. The new formula is less prone to sudden transitions in allocation behavior.

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

Читать далее

«Kubernetes как часть data platform»

Время на прочтение6 мин
Охват и читатели4.6K

Привет, Хабр! Меня зовут Денис, в компании oneFactor я занимаю позицию архитектора, и одна из моих обязанностей — это развитие технического стека компании. В этой статье я расскажу про нашу data platform’у (далее просто DP или платформа) и про мотивацию внедрения в неё Kubernetes. Также подсвечу трудности, с которыми мы столкнулись в рамках пилота. И расскажу про набор активностей, которые не вошли в пилот, но будут выполнены во время миграции. Дополнительно представлю короткий обзор текущей интеграции между Spark и Kubernetes. Стоит отметить, что вопросы, связанные с хранилищем, здесь обсуждаться не будут.

Читать дальше

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

Время на прочтение5 мин
Охват и читатели6.7K

В hh.ru много пользователей, а уведомлений мы отправляем еще больше: о регистрации, о восстановлении пароля, об изменении статуса услуг, о новых сообщениях и т.д. Одних только email-уведомлений мы отправляем около 900 миллионов в месяц, а ведь есть еще пуши и смс.

Меня зовут Кирилл, я — тимлид команды Bonjour в hh.ru. Сегодня я расскажу как у нас устроены рассылки.

Читать далее

Законы мира информационных технологий

Время на прочтение5 мин
Охват и читатели27K

Всем известный закон Мёрфи гласит: «Если что-то плохое может случиться, то оно обязательно произойдет». Согласитесь, не самая позитивная установка, особенно когда это касается работы. И тут мне стало любопытно, а есть ли такие законы, которые мне, как ИТ-специалисту, максимально помогут избежать «чего-то плохого». К своему удивлению, я их нашел, и даже не один. Потому делюсь с вами сегодня своими сакральными знаниями в блоге ЛАНИТ. 

Читать далее