Рубрика «Программирование» - 321

И снова привет!

В декабре у нас стартует обучение очередной группы «Data scientist», поэтому открытых уроков и прочих активностей становится всё больше. Например, буквально на днях прошёл вебинар под длинным названием «Feature Engineering на примере классического датасета Титаника». Его провёл Александр Сизов — опытный разработчик, кандидат технических наук, эксперт по Machine/Deep learning и участник различных коммерческих международных проектов, связанных с искусственным интеллектом и анализом данных.

Открытый урок занял около полутора часов. В ходе вебинара преподаватель рассказал про подбор признаков, преобразование исходных данных (кодирование, масштабирование), настройку параметров, обучение модели и много чего ещё. В процессе проведения урока участникам показывалась тетрадь Jupyter Notebook. Для работы использовались открытые данные с платформы Kaggle (классический датасет про «Титаник», с которого многие начинают знакомство с Data Science). Ниже предлагаем видео и транскрипт прошедшего мероприятия, а тут можно забрать презентацию и коды в юпитеровском ноутбуке.

Читать полностью »

Здравствуй!

Недавно я решил протестировать производительность Javascript на примере создания несложного WEB-приложения, умеющего строить сводные таблицы, вычислять агрегаты и подтягивать атрибуты из справочников, используя слабо-структурированные данные в качестве источника. Повторить весь функционал Excel или взрослых OLAP-систем не предполагалось, но хотелось протестировать производительность Javascript вообще и IndexedDB в частности на различных десктопных и мобильных браузерах. Забегая вперед, скажу, что выполнив первый этап работы — построение сводной таблицы однопроходным алготитмом по хранилищу фактов (индексирование часто-используемых разрезов и кэширование вычисленных агрегатов отложено на будущее) — я был разочарован производительностью чтения из IndexedDB, удивлен тем, что мобильные браузеры практически не отстают от десктопных, и озадачен эпическим провалом моего любимого Firefox в одном из тестов. Всего было 2 теста с различными вариациями:

  • формирование сводной таблицы, где основа алгоритма — единственный цикл по курсору IndexedDB, работа с объектами Object, Array, Set, Map (извлечение по ключу, вставка, итерация), конкатенация строк и простая арифметика;
  • расшифровка (drillthrough) строки сводной таблицы с выводом результата в DOM, где основа алгоритма — многократное (в цикле) извлечение одной записи из IndexedDB по ключу, и последующий вывод результатов в таблицу html группами по 100 строк методом insertAdjacentHTML('beforeEnd', html)).

Тестирование проводилось на файле JSON, содержащем 20 тыс. фактов, из которых 9 записей представляли собой справочник продуктов, остальные изображали операции купли/продажи. Табличка с результатами тестирования на нетбуке и телефоне (время в секундах), а также подробности реализации и выводы — под катом.
Читать полностью »

Пишем торговых роботов с помощью графического фреймворка StockSharp. Часть 2 - 1

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

Здравствуйте!

В статье обзорно описана система виртуальной памяти архитектуры ARMv7.

Заголовок спойлера

Здесь не рассмотрены тонкости кэширования, DMA, LPAE и подобное. За более подробным описанием можно обратиться к литературе в конце статьи.

Читать полностью »

HighLoad Cup #2. Чемпионат для backend-разработчиков снова в строю - 1

Вы готовы к новым нагрузкам? Приглашаем всех любителей и профессионалов на чемпионат по проектированию и администрированию высоконагруженных сервисов HighLoad Cup #2!

Начало соревнованию было положено еще в прошлом году. Тогда мы знали, что HighLoad Cup — это именно тот чемпионат, которого не хватало в ряде проектов Mail.Ru Group. В первом пилотном соревновании участвовало 449 человек. Было много кода и много пота как у самих организаторов, так и участников (8789 различных решений). Были нюансы в технической реализации, но главное, что всем понравилось! Организаторы провели множество ночей в датацентре, несколько выходных — в офисе. Готовы к этому снова! В конце статьи вы найдете полезные материалы от нас и от участников, которые помогут вам разобраться в механике и найти какие-то best practice-решения.

На этот раз постарались подготовить для вас дельце посложнее. Кроме того, мы расширили аудиторию, теперь в соревновании могут принять участие и англоязычные пользователи. Присоединяйтесь к русскоязычному сообществу в Telegram. Там вы получите множество инсайтов по соревнованию :)

HighLoad Cup #2. Чемпионат для backend-разработчиков снова в строю - 2

Итак, добро пожаловать на борт!
Читать полностью »

Иголка в стоге сессий, или Байт-код регулярных выражений - 1

17 млрд событий, 60 млн пользовательских сессий и огромное количество виртуальных свиданий происходят в Badoo ежедневно. Каждое событие аккуратно сохраняется в реляционные базы данных для последующего анализа на SQL и не только.

Современные распределённые транзакционные базы данных с десятками терабайт данных — настоящее чудо инженерной мысли. Но SQL как воплощение реляционной алгебры в большинстве стандартных реализаций пока не позволяет формулировать сложные запросы в терминах упорядоченных последовательностей кортежей.

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

Виртуальная машина, байт-код и компилятор прилагаются бесплатно!

Читать полностью »

Йода: Мастер Квай-Гон, есть что еще сказать тебе?
Квай-Гон Джин: С вашего позволения, магистр. Я обнаружил точку сосредоточия Великой Силы.
Йода: Сосредоточия, сказал ты?
Мэйс Винду: Внутри живого существа?
Квай-Гон Джин: В мальчике. Его клетки содержат высочайший уровень мидихлориан из всех, что я видел. Вероятно, он был зачат мидихлорианами.
Мэйс Винду: Ты намекаешь на пророчество об Избранном, который привнесет баланс в Силу. Ты веришь, что это тот мальчик?
Звёздные войны. Эпизод I. Скрытая угроза.

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

Темная сторона Силы скрывает все. Предвидеть невозможно наше будущее...

Из авиаконструктора в программисты за один год, или как стать джедаем - 1Защитил я свой красный диплом на тему беспилотной авиации и решил внедрить свой беспилотник, который я же сам и «надипломил». К тому времени я уже полтора года работал инженером-конструктором в отделе аэродинамики ОКБ (опытно-конструкторского бюро). Эх, знал бы я заранее, как быстро меня «приземлят» вместе со всеми моими амбициями и хотелками… В общем, осознал я суровую реальность и продолжил тихо работать в тряпочку.

Романтика работы рядового инженера обычно заключается в расчетах, отчетах, перерасчетах, в вечном переделывании, вплоть до потери связи с реальностью. У нас даже у начальника была забавная печать «Все *ня. Переделать!» И все бы ничего, но меня стал дико угнетать тот факт, что вот ты колдуешь-колдуешь годами, а результата-то нема! Нет четкого группового мозгового взаимодействия — половина работы, которую мы делаем, оказывается ненужной. Отсюда и вечные переработки, и выходы в выходные. Ну и как-то нет той «советской», общей идеи и желания руководства обогнать «клятые штаты». А ведь главный мотиватор в опытном проектировании — общая идея.
Читать полностью »

imageВсем привет!

В мире существует огромное количество приложений на OpenGL, и, кажется, Apple c этим не вполне согласна. Начиная с iOS 12 и MacOS Mojave, OpenGL переведен в статус устаревшего. Мы интегрировали Apple Metal в MAPS.ME и готовы поделиться своим опытом и результатами. Расскажем, как рефакторили наш графический движок, с какими трудностями пришлось столкнуться и, самое главное, сколько у нас теперь FPS.

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

Зачем маркетологам учиться программированию - 1

От переводчика: публикуем для вас статью Шона Амстера, маркетолога со специализацией в цифровом маркетинге. В статье Шон объясняет, почему его коллегам было бы полезно научиться программированию — хотя бы и на базовом уровне.

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

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

Перед вами перевод статьи Manjunath M, которая была опубликована на Bits and Pieces. Мы предлагаем прочитать ее тем, кто уже преодолел этап подготовки к миграции и приступает к следующему шагу.

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

Надежная стратегия миграции в облако в 2019 году: 7 советов - 1

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js