
На нём можно разрабатывать, компилировать и запускать нативное ПО. В нём есть компилятор C и C++, Python и даже Perl, так что это полнофункциональная рабочая станция для разработки. На нём можно не только разрабатывать, но и запускать ПО.
User
При изучении учебных программ по machine learning я заметила недостаток материалов, посвященных сравнению моделей. Меня зовут Виолетта, я как data scientist в QIWI ежедневно занимаюсь оценкой данных и обучением моделей машинного обучения. В этой статье я рассмотрю три метода сравнения моделей.
Материал будет полезен для сравнения классических моделей, таких как регрессионные модели или модели классификации, на больших таблицах. Акцент в тексте я сделала на методике сравнительного анализа, без учета оптимизации времени тестирования.
В декабре 2021 года под новогодние праздники в приложении Кинопоиска для SmartTV появился раздел с Яндекс Музыкой. Он позволил пользователям на телевизорах открывать новые для себя треки в Моей волне, включать популярные подборки и слушать собственную коллекцию на телевизорах.
При создании этого раздела я впервые столкнулась с миром SmartTV. Не каждый фронтендер встречает в своей практике подобные задачи, даже несмотря на то, что сейчас разработка под ТВ довольно популярна.
Меня зовут Лена и я фронтенд-разработчик Яндекс Музыки. В этой статье я расскажу про особенности работы SmartTV и разработки под них на примере свежей фичи, которую мы назвали Время клипов. Теперь в приложении вы можете посмотреть клипы любимых артистов и открывать для себя новых исполнителей, которые подходят вам по настроению.
Под катом обсудим ключевые отличия работы фронтенда над вебом и SmartTV, поговорим про оптимизацию и вёрстку и посмотрим на фотографии множества пультов (без пакетиков).
Привет! Меня зовут Сергей Птушкин, в этом посте я поделюсь с вами нашим чеклистом для оперативного и безболезненного переезда в Kubernetes. У SM Lab очень много разных продуктов, а как следствие — разных команд разработчиков и администраторов. У всех своя архитектура, стек, любимые языки программирования, SLA и требования по нагрузке.
Поэтому при переезде приложений в Kubernetes нам нужно готовить их с учетом всех особенностей и требований, а также передавать компетенции devops-инженерам и разработчикам. В процессе получается еще и выяснить их собственные потребности при эксплуатации этих приложений.
Итак, давайте разберем на примере нашей ситуации. Мы переезжали в Kubernetes из Mesos и Oracle Weblogic и знали, что разработчики тестируют приложения при помощи docker-compose или локально на станциях. Нам нужно было придумать единый подход для следующих возможностей:
Привет! Продолжаем цикл статей про тестирование не-REST-бэкенда, в прошлый раз мы говорили о GraphQL, теперь пришло время WebSocket.
Итак, что такое WebSocket?
Википедия сообщает, что это «протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером, использующий постоянное соединение».
Что тут важно — что это протокол (со всеми вытекающими последствиями для протокола), который использует постоянное соединение.
Работу по WebSocket в обычной жизни можно представить примерно так.
Вы живете в квартире вместе с семьей, решили поработать, ушли в отдельную комнату и закрыли за собой звуконепроницаемую дверь (ну а как еще работать-то). В общем, сидите, работаете, и вообще не слышите происходящего в квартире. Заметите только, если вам кто-то постучить в дверь.
И тут к вам в дверь стучит, скажем, жена, вы открываете, и она говорит, что ей надо уехать по делам вместе с остальными членами семьи, вы в доме за старшего, и надо будет встретить курьера, который скоро приедет.
ОК, что вам делать в такой ситуации?
В этой статье я расскажу про свой опыт внедрения умного дома без ремонтных работ.
Здесь не будет мануалов по установке и конфигурации Home Assistant.
Почему масштабировать вообще сложно?
В сети много текстов, так или иначе касающихся масштабируемости кода, но авторы очень часто упускают одну главную вещь: почему масштабировать — это сложно.
Основная причина тут в том, что как только вы начинаете изменять какую-то большую систему, она начинает разваливаться. Ну, за исключением тех случаев, когда у вас вообще всё на 100% покрыто тестами. Однако, в реальном мире история с покрытием тестами такова, что код современных приложений покрыт (в лучшем случае) примерно на 1%.
Может быть, 100% покрытие тестами — это реальность не только для библиотек, утилит или компиляторов (ведь мы можем формализовать их поведение математически), но и для веб-приложения? Да не, фигня какая-то...
Меня зовут Александр Дорофеев, я директор по данным в МКБ. В этом посте я еще раз затрону тему импортозамещения софта на примере программ для визуализации данных. Раньше мы (думаю, как и многие из вас) использовали Tableau, но так как компания покинула российский рынок, мы вынуждены были выбрать новое решение.
О том, какие у нас были критерии выбора и что же мы в итоге выбрали — под катом. Возможно, вам пригодится наш опыт, если вы тоже стоит перед выбором нового BI‑софта.
Описание работы программы для автоматического обхода блокировок в интернете, код программы лежит на репозитории antiblock.
Оценка персонала помогает решить сразу несколько задач. Во-первых, что важно для самого сотрудника — он будет знать, насколько хорошо справляется с работой, какие навыки стоит подкачать, а какие уже в порядке. Во-вторых, обратная связь внутри команды или подразделения — это всегда важно, с какой стороны ни посмотри. В-третьих, от оценки и зависят такие приятные штуки, как премии, да и карьерный рост в целом.
Меня зовут Женя, я разработчик продуктов в QIWI, и в этом посте я расскажу, как в компании появился Грейдер — решение для оценки сотрудников, которые существенно упростило жизнь и эйчарам, и менеджерам команд, и самим ребятам, которых оценивают.
В статье отражен опыт применения языков Perl и Golang в повседневной работе бородатого сисадмина в качестве скриптового языка и показаны примеры использования.
Battle Realms — это игра моего детства. Этот проект вышел в 2001 году за полгода до Warcraft 3. То было время расцвета RTS. Сеттинг игры можно условно отнести к Сэнгоку дзидай, эпоха воюющих провинций в Японии XVI века.
В игре представлены 4 клана: Дракон, Змей, Лотос и Волк. У каждой фракции своя философия и происхождение. Подробнее о лоре игры можете почитать здесь.
Музыка в Battle Realms умело раскрывают суть каждого клана. Мы поговорим о теме Дракона — Better days. Музыка Дракона олицетворяет светлое начало. Главные качества воинов Дракона — это благородство и следование традициям. В названии Better Days (Дни получше), заложен смысл мечтаний о светлом будущем под покровом Дракона.
Мы с моей командой Music we Deserve с нуля воссоздали этот трек. Расскажу как мы это сделали.
Привет! Меня зовут Николай, я дизайнер в билайне. Как-то раз для устройства на одну из работ на своем жизненном пути мне нужно было сделать тестовое задание. И в отличие от множества других тестовых, это было на самом деле интересным.
В посте я расскажу, как разбирался для решения этой задачи с методом JTBD (Jobs To Be Done), когда его стоит применять, что можно из этого выжать и причем тут вообще дизайн.
Вопросы профессионального развития — штука сложная. Иногда кажется, что ты немного подзастрял на своей должности (в своей сфере, своей компании — нужное подчеркнуть), и хочется сделать какой-то шаг вперед. Но куда именно и как — дилемма.
В этом посте мы при помощи наших коллег, Антона Масленникова и Антона Горбунова, попробуем наметить возможные векторы развития для QA-специалиста. Под катом — путь тестировщика, вертикальный и горизонтальный рост, переходы из тестирования в разработку или менеджмент и многое другое.
Привет! Меня зовут Сергей, я более 11 лет в тестировании, и успел за это время перепробовать множество разных подходов в QA — начинал простым тестировщиком, затем строил и развивал всевозможные отделы тестирования и автоматизации, а сейчас работаю в QIWI.
В этой серии постов я хочу поговорить с вами про тестирование трех популярных так называемых не-REST-бэкендов. Самое главное для начала — определиться с терминами, договоримся, что везде в тексте, где я упоминаю REST — речь идет именно о REST HTTP-бэкенде. Наверняка многие из вас с ним работали и вообще неплохо знакомы.
Но есть ещё три других, собственно, не-REST-бэкенда. С ними тоже полезно научиться работать: во-первых, для общего развития, во-вторых, будете знать, как подступаться к их тестированию, на случай, если ваша команда вдруг решит поработать на одном из них.
Под катом — разбор тестирования первого из этой тройки, GraphQL. Все примеры в посте я делал с помощью Postman, он достаточно популярен и доступен, чтобы вы при желании могли всё быстро в нём повторить.
Привет! Мы сделали приложение «Кубокот» для детей дошкольного возраста. Главная идея — подготовка ребенка к школе, поэтому образовательный контент у нас разделен на категории в зависимости от возраста.
Кубокот — это персонаж-проводник, который всегда сопровождает ребенка на всех игровых экранах и голосом дает задания. Кот реагирует на правильные или неправильные действия: хвалит ребенка, если он совершает правильные действия, и корректирует, направляет его, говоря: «Попробуй по-другому, попробуй еще», если ребенок ошибся. Ещё он реагирует, когда ребенок возвращается в приложение в тот же день — говорит: «Как здорово что ты снова здесь!». Вишенкой для ребенка — на главном экране приложения кота можно гладить!
В приложении работает автозапуск игр в зависимости от прогрессии. То есть мы запустили, допустим, букву «А», и пока ребенок не пройдет все игры на эту букву, его не вернет куда-то обратно в меню. Также между играми есть небольшая развлекательная составляющая — летят шарики, которые можно лопать. Если их лопать, то их будет лететь больше. За каждые десять лопнутых шариков Кубокот будет хвалить ребенка.
Под катом о том, что ещё умеет приложение.
Привет!
Меня зовут Александр Маркачев, я 3,5 года работаю на позиции Data Engineer в билайне и люблю открывать для себя что-то новое и интересное в работе. Так случилось и с темой, которой я сегодня хочу с вами поделиться — со spill-ами.
Под катом мы поговорим о том, что такое Spill-ы в контексте Spark, и почему именно для Spark это не такая уж сильно плохая штука. Рассмотрим, из-за чего Spill-ы в принципе возникают, разберем несколько видов Spill-ов (и даже вызовем их намеренно), а затем будем решать эту проблему.
Что такое spill-ы в Spark
Вообще, Spill — это термин для обозначения процесса перемещения данных из памяти на диск, а затем снова обратно в память. По крайней мере, именно так гласит официальная трактовка. Если проще, то дело вот в чем — когда у Spark не хватает ресурсов для обработки, он перемещает данные на диск.
В процессе обработки существуют разные участки — есть Executor Memory, есть Storage Memory, и когда эти участки оба целиком заполнены, то они начинают переполняться и вызывать утечку данных. Причем в отличие от утечки в C, Java или еще где-то, в Spark это преднамеренное действие для того, чтобы ваша задача не падала. Собственно, именно поэтому при нехватке ресурсов данные и «проливаются».
Можно ещё сильнее упростить аналогию.