Search
Write a publication
Pull to refresh
126
0
Алексей @Sterhel

User

Send message

Моя 24-летняя HP Jornada может то, на что не способен современный iPhone

Reading time5 min
Views28K
Я люблю баловаться со старым железом. DEC PDP-8 — мой любимый ретро-компьютер, а Office 2003, на мой взгляд — лучшая версия «офиса» из всех. Ещё одно из моих любимых ретро-устройств — это HP Jornada 720. Маленький карманный PC (меньше нетбука) с Windows CE или, как в моём случае, с Linux. У него хорошая клавиатура, экран с CFL-подсветкой, 32 МБ ОЗУ(!), карта compact Flash для хранения данных и стилус для резистивного сенсорного экрана. А, и ещё у моего есть сетевая PCMCIA-карта на 10 Мбит, но до сих пор можно купить и беспроводные карты. Пусть он стар (выпущен в 1999 году), зато способен на то, чего не может современный iPhone.


На нём можно разрабатывать, компилировать и запускать нативное ПО. В нём есть компилятор C и C++, Python и даже Perl, так что это полнофункциональная рабочая станция для разработки. На нём можно не только разрабатывать, но и запускать ПО.
Читать дальше →

Сравниваем модели машинного обучения с применением статистических тестов

Level of difficultyMedium
Reading time7 min
Views5.5K

При изучении учебных программ по machine learning я заметила недостаток материалов, посвященных сравнению моделей. Меня зовут Виолетта, я как data scientist в QIWI ежедневно занимаюсь оценкой данных и обучением моделей машинного обучения. В этой статье я рассмотрю три метода сравнения моделей.

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

Читать далее

Если ваш фронтендер перестал бояться IE6, покажите ему SmartTV

Reading time7 min
Views23K

В декабре 2021 года под новогодние праздники в приложении Кинопоиска для SmartTV появился раздел с Яндекс Музыкой. Он позволил пользователям на телевизорах открывать новые для себя треки в Моей волне, включать популярные подборки и слушать собственную коллекцию на телевизорах.

При создании этого раздела я впервые столкнулась с миром SmartTV. Не каждый фронтендер встречает в своей практике подобные задачи, даже несмотря на то, что сейчас разработка под ТВ довольно популярна.

Меня зовут Лена и я фронтенд-разработчик Яндекс Музыки. В этой статье я расскажу про особенности работы SmartTV и разработки под них на примере свежей фичи, которую мы назвали Время клипов. Теперь в приложении вы можете посмотреть клипы любимых артистов и открывать для себя новых исполнителей, которые подходят вам по настроению.

Под катом обсудим ключевые отличия работы фронтенда над вебом и SmartTV, поговорим про оптимизацию и вёрстку и посмотрим на фотографии множества пультов (без пакетиков).

Читать далее

Чеклист для запуска или миграции приложений в Kubernetes

Level of difficultyMedium
Reading time11 min
Views6.2K

Привет! Меня зовут Сергей Птушкин, в этом посте я поделюсь с вами нашим чеклистом для оперативного и безболезненного переезда в Kubernetes. У SM Lab очень много разных продуктов, а как следствие — разных команд разработчиков и администраторов. У всех своя архитектура, стек, любимые языки программирования, SLA и требования по нагрузке.

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

Итак, давайте разберем на примере нашей ситуации. Мы переезжали в Kubernetes из Mesos и Oracle Weblogic и знали, что разработчики тестируют приложения при помощи docker-compose или локально на станциях. Нам нужно было придумать единый подход для следующих возможностей:

Читать далее

Как тестировать не-REST-бэкенд. Часть вторая, WebSocket

Level of difficultyMedium
Reading time6 min
Views21K

Привет! Продолжаем цикл статей про тестирование не-REST-бэкенда, в прошлый раз мы говорили о GraphQL, теперь пришло время WebSocket.

Итак, что такое WebSocket?

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

Что тут важно — что это протокол (со всеми вытекающими последствиями для протокола), который использует постоянное соединение.

Работу по WebSocket в обычной жизни можно представить примерно так.

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

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

ОК, что вам делать в такой ситуации?

Читать далее

ASML выпустит «китайскую» версию литографической машины. Но у Китая есть и другие проблемы: некачественные чипы

Reading time4 min
Views9.6K
image

В связи с торговым конфликтом США и Китая у последнего проблемы с установками для EUV-литографии и DUV-литографии. В Поднебесную запрещены поставки современного оборудования подобного типа. Соответственно, китайцы не могут массово производить необходимые стране чипы, из-за чего страдает электронная отрасль. На днях появилась информация о том, что поставки систем такого рода все же наладят, хоть и в урезанном варианте. Но есть и другая проблема — предприятия КНР выпускают не самые качественные чипы. Подробности — под катом.
Читать дальше →

Обзор дата-центра в Турции – Star of Bosphorus

Level of difficultyEasy
Reading time8 min
Views3.1K

Недавно наши специалисты разместили и подключили оборудование в современном дата-центре в Турции. Новая локация теперь доступна в панели управления, и теперь есть возможность создавать виртуальные машины в Стамбуле. Центр обработки данных Star of Bosphorus занимает огромную площадь в 45 000 кв. м и имеет сертификацию Uptime Institute Tier III Design & Resort.

Под катом расскажем, что привлекло нас в этом дата-центре и почему был выбран именно он, какие особенности есть у этой «Турецкой звезды», какое серверное оборудование было размещено в кластере, как мы подключали оборудование и покажем сетевую схему.
Читать дальше →

Как писать по-настоящему масштабируемый код?

Reading time4 min
Views12K

Почему масштабировать вообще сложно?

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

Основная причина тут в том, что как только вы начинаете изменять какую-то большую систему, она начинает разваливаться. Ну, за исключением тех случаев, когда у вас вообще всё на 100% покрыто тестами. Однако, в реальном мире история с покрытием тестами такова, что код современных приложений покрыт (в лучшем случае) примерно на 1%.

Может быть, 100% покрытие тестами — это реальность не только для библиотек, утилит или компиляторов (ведь мы можем формализовать их поведение математически), но и для веб-приложения? Да не, фигня какая-то...

Читать далее

Без Tableau — как в МКБ выбирали новое BI-решение для работы

Level of difficultyMedium
Reading time4 min
Views3.4K

Меня зовут Александр Дорофеев, я директор по данным в МКБ. В этом посте я еще раз затрону тему импортозамещения софта на примере программ для визуализации данных. Раньше мы (думаю, как и многие из вас) использовали Tableau, но так как компания покинула российский рынок, мы вынуждены были выбрать новое решение.

О том, какие у нас были критерии выбора и что же мы в итоге выбрали — под катом. Возможно, вам пригодится наш опыт, если вы тоже стоит перед выбором нового BI‑софта.

Читать далее

Автоматический обход блокировок

Level of difficultyMedium
Reading time5 min
Views56K

Описание работы программы для автоматического обхода блокировок в интернете, код программы лежит на репозитории antiblock.

Читать далее

QIWI Грейдер — как оценивать сотрудников быстро, удобно, прозрачно

Level of difficultyEasy
Reading time5 min
Views3K

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

Меня зовут Женя, я разработчик продуктов в QIWI, и в этом посте я расскажу, как в компании появился Грейдер — решение для оценки сотрудников, которые существенно упростило жизнь и эйчарам, и менеджерам команд, и самим ребятам, которых оценивают.

Читать далее

Инструменты сисадмина: Perl и Golang

Level of difficultyEasy
Reading time7 min
Views5K

В статье отражен опыт применения языков Perl и Golang в повседневной работе бородатого сисадмина в качестве скриптового языка и показаны примеры использования.

Читать далее

Snort и Suricata — простой путь к использованию IDPS: от установки на сервер до грамотной настройки

Reading time14 min
Views46K

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

В этом материале рассказываю, что такое системы IDPS и какие они бывают. А также показываю, как их разворачивать на виртуальных серверах и настраивать сигнатуры для блокирования вредоносного трафика. Все инструкции — на примере Snort и Suricata. Подробности под катом.
Читать дальше →

Музыка детства или как мы возродили трек Battle Realms

Level of difficultyMedium
Reading time5 min
Views1K

Battle Realms — это игра моего детства. Этот проект вышел в 2001 году за полгода до Warcraft 3. То было время расцвета RTS. Сеттинг игры можно условно отнести к Сэнгоку дзидай, эпоха воюющих провинций в Японии XVI века.

В игре представлены 4 клана: Дракон, Змей, Лотос и Волк. У каждой фракции своя философия и происхождение. Подробнее о лоре игры можете почитать здесь.

Музыка в Battle Realms умело раскрывают суть каждого клана. Мы поговорим о теме Дракона — Better days. Музыка Дракона олицетворяет светлое начало. Главные качества воинов Дракона — это благородство и следование традициям. В названии Better Days (Дни получше), заложен смысл мечтаний о светлом будущем под покровом Дракона.

Мы с моей командой Music we Deserve с нуля воссоздали этот трек. Расскажу как мы это сделали.

Читать далее

JTBD-метод на практике для решения тестового задания

Reading time4 min
Views2.8K

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

В посте я расскажу, как разбирался для решения этой задачи с методом JTBD (Jobs To Be Done), когда его стоит применять, что можно из этого выжать и причем тут вообще дизайн.

Читать далее

Куда расти тестировщику? Надо ли для этого уходить из QA?

Reading time6 min
Views16K

Вопросы профессионального развития — штука сложная. Иногда кажется, что ты немного подзастрял на своей должности (в своей сфере, своей компании — нужное подчеркнуть), и хочется сделать какой-то шаг вперед. Но куда именно и как — дилемма.

В этом посте мы при помощи наших коллег, Антона Масленникова и Антона Горбунова, попробуем наметить возможные векторы развития для QA-специалиста. Под катом — путь тестировщика, вертикальный и горизонтальный рост, переходы из тестирования в разработку или менеджмент и многое другое.

Читать далее

Как тестировать не-REST-бекэнд. Часть первая, GraphQL

Level of difficultyMedium
Reading time13 min
Views15K

Привет! Меня зовут Сергей, я более 11 лет в тестировании, и успел за это время перепробовать множество разных подходов в QA — начинал простым тестировщиком, затем строил и развивал всевозможные отделы тестирования и автоматизации, а сейчас работаю в QIWI.

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

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

Под катом — разбор тестирования первого из этой тройки, GraphQL. Все примеры в посте я делал с помощью Postman, он достаточно популярен и доступен, чтобы вы при желании могли всё быстро в нём повторить.

Читать далее

Готовим детей к школе с Кубокотом

Reading time7 min
Views3.9K

Привет! Мы сделали приложение «Кубокот» для детей дошкольного возраста. Главная идея — подготовка ребенка к школе, поэтому образовательный контент у нас разделен на категории в зависимости от возраста. 

Кубокот — это персонаж-проводник, который всегда сопровождает ребенка на всех игровых экранах и голосом дает задания. Кот реагирует на правильные или неправильные действия: хвалит ребенка, если он совершает правильные действия, и корректирует, направляет его, говоря: «Попробуй по-другому, попробуй еще», если ребенок ошибся. Ещё он реагирует, когда ребенок возвращается в приложение в тот же день — говорит: «Как здорово что ты снова здесь!». Вишенкой для ребенка — на главном экране приложения кота можно гладить! 

В приложении работает автозапуск игр в зависимости от прогрессии. То есть мы запустили, допустим, букву «А», и пока ребенок не пройдет все игры на эту букву, его не вернет куда-то обратно в меню. Также между играми есть небольшая развлекательная составляющая — летят шарики, которые можно лопать. Если их лопать, то их будет лететь больше. За каждые десять лопнутых шариков Кубокот будет хвалить ребенка. 

Под катом о том, что ещё умеет приложение.

Читать далее

Спиливаем spill-ы

Reading time9 min
Views8.5K

Привет! 

Меня зовут Александр Маркачев, я 3,5 года работаю на позиции Data Engineer в билайне и люблю открывать для себя что-то новое и интересное в работе. Так случилось и с темой, которой я сегодня хочу с вами поделиться — со spill-ами.

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

Что такое spill-ы в Spark

Вообще, Spill — это термин для обозначения процесса перемещения данных из памяти на диск, а затем снова обратно в память. По крайней мере, именно так гласит официальная трактовка. Если проще, то дело вот в чем — когда у Spark не хватает ресурсов для обработки, он перемещает данные на диск.

В процессе обработки существуют разные участки — есть Executor Memory, есть Storage Memory, и когда эти участки оба целиком заполнены, то они начинают переполняться и вызывать утечку данных. Причем в отличие от утечки в C, Java или еще где-то, в Spark это преднамеренное действие для того, чтобы ваша задача не падала. Собственно, именно поэтому при нехватке ресурсов данные и «проливаются».

Можно ещё сильнее упростить аналогию.

Читать далее

Information

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