Search
Write a publication
Pull to refresh
17
0
Send message

Единое хранилище данных и плюсы, которые оно несёт. Опыт НМГ

Reading time5 min
Views3.9K

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

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

В этом (спойлер — и не только в этом) нам сильно помогает единое хранилище данных, далее просто ЕХД.

Читать далее

Отрицание, принятие… настольные игры

Level of difficultyEasy
Reading time4 min
Views11K

Эта история началась давно, еще в «доковидные» времена. Тогда я считала, что весь мир настолок состоит из монополии, манчкина, элиаса и уно. Для меня настольная игра была дополнением к вечеринке, но никак не причиной для встречи. Это хобби вызывало во мне бурю эмоций и непонимания.

- Сколько вы играли? ПЯТЬ ЧАСОВ?!
- Сколько стоит эта игра? Так много за картон?!

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

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

Так с чего же начать, если никогда раньше не играл в настолки, но хочется попробовать? Сейчас разберемся! Держите мой топ для старта настольного хобби.

Читать далее

PowerShell и его возможности в уходящем году

Level of difficultyMedium
Reading time7 min
Views12K

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

Буквально два года назад, имея базовые знания навигации в консоли Linux, написание несложных batch-файлов и небольшой опыт VBScript открыл для себя PowerShell, и после этого я уже в прямом смысле этого слова, не мог остановиться реализовывать свои идеи, правда, такое дело очень затягивает. В один момент решился завести канал на GitHub и там же по сей день виду работу с заметками, где за это время накопилось более 6 тысяч строк из описания работы cmdlet (PowerShell-команд) и утилит для Системного Администратора (AD, Exchange, VMWare, MSSQL и т.д.) с примерами, ведь далеко не все получалось найти в интернете, порой, только изучая на практике свойства и методы объектов, можно получить желаемый результат. Так же набралась небольшая коллекция модулей и тестовый стенд WinForms с примерами работы различных методов, на котором я в дальнейшем базировался для написания приложений с графическим интерфейсом. Все работы писал по большей части для себя с целью автоматизировать и разгрузить текущий рабочий процесс, иногда помочь коллегам, именно по этому мне хочется поделиться своими наработками, возможно кому-то это еще сможет пригодиться.

Читать далее

NORVI Arita: добавляем SD картридер и веб-интерфейс (почти контроллер мечты)

Level of difficultyMedium
Reading time8 min
Views3.5K


Итак, это уже третья статья (0, 1, 2) по модернизации NORVI Arita Model 5, контроллера который имеется в моём распоряжении. Арита изначально была интересным решением, а после добавления нами на прошлых этапах Ethernet интерфейса и OLED дисплея SSD1306 стала ещё интереснее.

Но до завершения первого цикла модернизации и выполнения «программы минимум» не хватает ещё одного элемента — картридера для microSD карт памяти. После добавления поддержки работы с SD картами памяти, контроллер получает возможность работы с полноценным веб-интерфейсом, значение чего трудно переоценить — появляется возможность удобно изменять настройки контроллера, создавать неограниченное количество веб-страниц, выводить на них нужную информацию и т. д.

Фактически, контроллер превращается в полностью самодостаточную вещь: он может управлять подключённым оборудованием (как собственно контроллер), общаться по сети с другими устройствами, выводить нужную информацию на веб-страницы, управлять другими контроллерами по проводным и беспроводным интерфейсам и т. д.
Читать дальше →

Я счастлив, что больше не веб-разработчик

Reading time5 min
Views70K

Я написал своё первое одностраничное веб-приложение на Javascript в 2005 году, сразу после того, как узнал о XMLHttpRequest и до появления серьёзных фреймворков. Я оставил профессиональную веб-разработку примерно в 2009 году (а начал её в 1997 году с WebObjects), а последний десяток лет своей карьеры занимался мобильными.

Сегодня я смотрю на мир веб-разработки, и меня поражает его безумие. Существует так много фреймворков для веба, и каждый день появляются новые. Для создания веб-приложения (в отличие от веб-сайта, например, моего сайта про искусство, который сгенерирован статически и содержит лишь немного Javascript), часто требуются кучи инструментов и технологий, часто меняющихся с большой частотой и содержащих бесконечные объёмы других технологий, о существовании которых мы и не подозреваем (о, смотрите-ка, в папке пакета две тысячи файлов).

Javascript — ужасный язык, никогда не задумывавшийся для чего-то подобного, но, как ни странно, ставший популярным, потому что он всегда был под рукой. Потрясающе, какой объём инноваций затрачен на построение современной вселенной веб-разработки, несмотря на достаточно шаткий фундамент, на котором она основана.

Читать далее

Яндекс Браузер для организаций. Опыт QIWI

Reading time7 min
Views13K

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

Например, есть люди, которые в своей работе часто взаимодействуют с бухгалтерией, финансами, единой биометрической системой, Госуслугами, Контуром и прочим добром. Причём от того, насколько комфортно им это делать, на самом деле зависит выполнение их рабочих обязанностей. А вы знаете, что сейчас для многих (если не для большинства) окологосударственных сайтов нужны сертификаты. И чтобы сделать из дефолтного Chrome или Firefox подходящий инструмент для такого сотрудника, приходилось немного костылить — обвешиваться плагинами, настраивать их, потом по отдельности помогать каждому человеку, если что-то вдруг тупило. В общем, так себе история.

Но работать-то надо. И желательно — без заморочек, в централизованном формате «Включил — работаешь». Поэтому мы решили, что хватит это терпеть, и попробовали Яндекс Браузер для организаций.

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

Читать далее

Nintendo Game Processor — компьютер для создания игр, который не выпустила Nintendo

Level of difficultyEasy
Reading time3 min
Views5.2K
В 1994 году Nintendo подала в США заявку на крайне примечательный патент.

Патент US6115036A — «Оборудование для редактирования программ видеоигр/видеографики с функциями остановки программ и передачи данных»

Иными словами:

Nintendo Game Processor — это специализированный компьютер с клавиатурой и мышью, созданный с одной конкретной целью: для визуального создания собственных игр Super Nintendo при помощи drag and drop и записи этих игр на настоящие картриджи SNES.

Вот как мог выглядеть Game Processor:


Обратите внимание на четыре разъёма сбоку в стиле SNES / Super Famicom. Один для клавиатуры, один для мыши и два для контроллеров SNES.
Читать дальше →

Эффективное управление отношениями со стейкхолдерами

Level of difficultyMedium
Reading time9 min
Views12K

Без выстраивания хороших отношений со стейкхолдерами (или заинтересованными сторонами) на проекте далеко не уедешь. О том, как это делать like a boss, годная статья автора Кэт Бугард в блоге Miro.

Все картинки из Miro.

Читать далее

Как мы в SM Lab локализацией занимаемся

Reading time9 min
Views1.1K

Всем привет! Мы (Никита Звонилкин и Дмитрий Ёжиков) работаем в отделе локализации в SM Lab. Мы провели презентацию по теме интеграции локализации в процесс тестирования ПО на конференции SQA Days. Для этой статьи мы адаптировали эту презентацию, чтобы показать, чем локализация отличается от перевода. А ещё расскажем про основные этапы локализации, поговорим о подборе команды для проведения тестирования и о полезном софте.

Немного цифр. Спортмастер — большая компания, торговые сети представлены в 6 разных странах, а в 11 есть дополнительные офисы, в которых работают более 45 000 сотрудников. SM Lab — отдельно IT-подразделение, которое занимается разработкой софта и, собственно, его локализацией для стран нашего присутствия.

Тонкости локализации

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

Например, белый цвет, который в принципе везде считается нейтральным, в Японии могут расценить как траурный, так что не всегда будет уместно его использовать. В разных странах по-разному могут воспринимать ещё и жесты с символами, которые вам кажутся привычными и стандартными. Скажем, значок мира, который у нас так и воспринимается, в Великобритании лучше не показывать, он считается оскорбительным жестом. Большой палец вверх тоже у нас считается вполне себе адекватным, а вот жестовое обозначение “ОК” в той же Бразилии расценивается совсем иначе.

Если кто-то смотрел фильм Квентина Тарантино «Бесславные ублюдки», то вы явно помните сцену, в которой офицер под прикрытием (персонаж Майкла Фассбендера) заказывает жестом три пива, чем и выдает себя. 

Читать далее

10+ причин посещать некоторые конференции

Level of difficultyEasy
Reading time6 min
Views2.3K

Привет! В начале октября мы писали пост о том, почему не стоит ходить на некоторые IT-конференции. Хотя мы пару раз в тексте отметили, что это не наезд и не претензии, никакого хейта, а, скорее, подборка фактов «на подумать», ряд человек всё равно успели пообижаться.

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

Сегодня же хотим рассказать о том, почему стоит посещать некоторые IT-конференции. Под катом — 10 причин продолжать это делать.

Читать далее

Как понять, есть ли в тебе искра программиста

Reading time6 min
Views35K

Я думаю начать учиться писать код. Какой ноутбук мне купить? Нужно ли участвовать в буткемпе? Нужны ли моему ребёнку особые курсы или подготовка, чтобы поступить на computer science?

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

Приведу свой совет вкратце


Прежде чем думать обо всём этом: специальности, вузе, в который будет поступать ребёнок, покупке ноутбука, вам нужно понять, есть ли у вас (или у ребёнка) «искра программирования».

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

Как мы создали нейросеть, которая составила рейтинг компаний, занимающихся ИИ в России

Reading time8 min
Views2.9K

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

Идея проекта

Откуда вообще может появиться идея? Иногда она просто витает в воздухе и ждёт, пока её кто-нибудь подхватит. Честно говоря, мне бы никогда в голову не пришло отранжировать компании по их влиянию в сфере ИИ. Но ребята из нашего PR-отдела оказались более прозорливыми и пришли к нам с запросом о создании такого рейтинга. Забегая вперед, можно подчеркнуть, что весь проект сам по себе стал прецедентом с точки зрения взаимодействия представителей PR и специалистов по машинному обучению и анализу данных.

Читать далее

Форматы ORC и Parquet на базе HDFS

Level of difficultyEasy
Reading time10 min
Views8.1K

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

У нас получилось! Мы снизили количество данных на диске в 3 раза, при этом ускорив их обработку. И сейчас расскажу как. Меня зовут Александр Маркачев, я Data Engineer команды Голосовой Антифрод в beeline. В статье затронем тему форматов ORC и Parquet, как их правильно использовать и хранить, чтобы всем было хорошо.

Читать далее

Как сделать UI тестируемым и легкоизменяемым?

Reading time14 min
Views8.5K

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

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

Читать далее

Jailbreak checker — как обезопасить свое iOS-приложение

Level of difficultyMedium
Reading time7 min
Views6.2K

Привет! Меня зовут Тоня, я продуктовый разработчик в продукте QIWI Кошелек. Недавно мы делали задачу по предотвращению рисков в связи с использованием приложения с Jailbreak. Хочу рассказать о трудностях, с которыми столкнулись на пути, и о том, как мы их разрешили.

Кто такой этот ваш Jailbreak?

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

Дословно jailbreak переводится как «побег из тюрьмы» или «взлом». Данный термин, как правило, используется в отношении iOS. Простыми словами — это использование уязвимостей устройства для получения полного доступа к операционной системе. Из-за такого полного доступа к системе появляется и доступ до keychain, который становится уже не таким защищенным. После взлома у пользователя появляется доступ к альтернативным сторам, из которых можно скачать приложения, не проходившие ревью в App Store. Одним из самых популярных таких альтернативных сторов является Cydia, который чаще всего сразу же устанавливается в момент взлома устройства. 

Зачем его отслеживать?

Читать далее

Переезжаем с DUO Mobile на Мультифактор. Опыт (и грабли) QIWI

Reading time7 min
Views3.4K

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

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

В этой статье я расскажу, как нам пришлось внезапно переезжать с DUO Security, которое многие из вас знают, на российское решение Мультифактор. Возможно, вам будет интересен наш опыт переезда или работы с этим решением (лучше поздно, чем никогда).

Читать далее

Реализация случайности в CSS при помощи тригонометрии

Level of difficultyMedium
Reading time5 min
Views5.6K

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

Несмотря на надёжность этого решения, оно имеет и недостатки:

  • Функция деления с остатком не непрерывна
  • Способ слишком сложен: он требует трёх переменных и определения @property для каждого случайного значения, которое мы хотим сгенерировать
  • Требует применения @property, которое пока поддерживается не очень широко

К счастью, можно сделать лучше! В этой статье я предложу более оптимальное решение на основе тригонометрии.
Читать дальше →

10 причин не участвовать в некоторых IT-конференциях

Level of difficultyEasy
Reading time7 min
Views7.6K

Привет! У нас тут накопился неплохой опыт в плане работы с конференциями со всех точек зрения — как организатора своих собственных событий, так и активного участия в больших регулярных IT-конференций. Собственно, им мы с вами и поделимся.

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

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

Вдруг нам всем вместе получится сделать мир отечественных IT-событий немного лучше.

Читать далее

Сага распределенных транзакций

Reading time8 min
Views7.9K

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

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

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

У некоторых в команде уже был опыт работы с xa-транзакциями.
Довольно удобный способ, когда у вас есть несколько ACID СУБД. Процесс состоит из двух фаз.

Читать далее

Как мы сломали стену между разработкой и дизайном

Level of difficultyEasy
Reading time6 min
Views1.8K

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

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

Представьте ситуацию.

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

Читать далее

Information

Rating
Does not participate
Registered
Activity