Search
Write a publication
Pull to refresh
-28
0.2

Интересуюсь природой вещей

Send message

Почему JavaScript пожирает HTML: примеры кода

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



Код веб-страницы традиционно состоит из трех разделов, каждый из которых выполняет свои обязанности: HTML-код определяет структуру и семантику, CSS-код определяет внешний вид, а JavaScript-код определяет его поведение. В командах с участием дизайнеров, HTML / CSS разработчиков и JavaScript-разработчиков это разделение получается естественно: дизайнеры определяют визуальные элементы и пользовательский интерфейс, разработчики HTML и CSS размещают эти визуальные элементы на странице в браузере, а JavaScript-разработчики добавляют взаимодействие с пользователем, чтобы связать все вместе и «заставить это работать». Каждый может работать над своими задачами, не вмешиваясь в код остальных двух категорий разработчиков. Но все это справедливо для так называемого «старого стиля».
Читать дальше →

Архивы памяти: как мозг кодирует и воспроизводит воспоминания

Reading time9 min
Views26K


С одной стороны мозг человека достаточно понятен, с другой — полон загадок и вопросов, на которые пока нет ответов. И тут все логично, учитывая, что данная система чрезвычайно сложна как с точки зрения архитектуры, так и с точки зрения протекающих процессов и связи между ними. Если по классике сравнивать мозг с компьютером, то помимо обработки информации, он выполняет и ее хранение. Любое воспоминание изымается из архивов памяти под влиянием какого-то стимула: знакомый аромат, мелодия, слова и т.д. Однако остается вопрос — где этот архив и что способствует его открытию? Ученые из NINDS (Национальный институт неврологических расстройств и инсульта) изучили мозг пациентов, больных устойчивой к препаратам эпилепсией, чтобы выявить и попытаться объяснить механизмы извлечения воспоминаний. Так как же мы вспоминаем, что происходит в мозге в этот момент и почему исследование проводилось с участием больных эпилепсией? Об этом мы узнаем из доклада ученых. Поехали.
Читать дальше →

Как мы используем item2vec для рекомендаций похожих товаров

Reading time9 min
Views19K

Привет, меня зовут Вася Рубцов, я занимаюсь разработкой рекомендательных систем в Авито.


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


Два основных продукта, которым занимается отдел рекомендаций в Авито, — это рекомендации для пользователя на главной странице или user2item и блок похожих объявлений на карточке товара или item2item. Треть всех просмотров объявлений и четверть всех контактов происходит с рекомендаций, поэтому рекомендательные движки играют важную роль в Авито.


В статье я расскажу, как мы улучшили наши item2item рекомендации за счёт item2vec и как это повлияло на user2item рекомендации.


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

Какой язык выбрать для работы с данными — R или Python? Оба! Мигрируем с pandas на tidyverse и data.table и обратно

Reading time19 min
Views17K

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



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


В ходе статьи мы разберём синтаксис наиболее популярных пакетов на R. Это пакеты входящие в библиотеку tidyverse, а также пакет data.table. И сравним их синтаксис с pandas, наиболее популярным пакетом для анализа данных в Python.


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

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

Простейшие клеточные автоматы и их практическое применение

Reading time6 min
Views107K
Этот мир просто охренеть какой сложный, каждый день поражаюсь.

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

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

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

image

Да, я о клеточных автоматах, а именно — об их подмножестве, простейших клеточных автоматах (Elementary cellular automaton). В этой статье я поведаю, что это такое, какие они бывают, какими свойствами обладают, а также отвечу на главный, на мой взгляд, и совершенно правильный вопрос, который часто несправедливо игнорируется в подобных статьях. Звучит он так: А это всё вообще зачем?

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

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

Julia и клеточные автоматы

Reading time8 min
Views14K


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

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

Ray Casting Visual Search (RCVS). Простой и быстрый алгоритм поиска схожих по геометрии 3D моделей

Reading time8 min
Views5.4K


Для меня эти две модели очень похожи, однако у них нет очевидных характеристик, по которым можно было бы измерить их сходство. У этих моделей разное количество вершин, рёбер и полигонов, они разного размера, к тому же по-разному повёрнуты в пространстве, и у обеих одинаковые трансформации (Положение = [0,0,0], Вращение в радианах = [0,0,0], Масштаб = [1,1,1]). Как определить их подобие?

Логистика. Введение. Просто о сложном

Reading time15 min
Views14K
Все мы любим мечтать, в особенности когда это связано с посещением новых мест или возвращением в любимые места. Ничто так не воодушевляет, как чувство предвкушения планируемого события и омрачает его лишь наличие организационных моментов, в частности, выбор и покупка билетов на самолет. И почему-то внутренне мы всегда откладываем этот вопрос или перекладываем на туроператов, метапоисковики или другие агрегаторы. В практике каждого встречались ситуации, когда на экране отображалось сообщение: «К сожалению, на Ваш запрос ничего не найдено. Возможно, есть рейсы на другие дни».

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

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

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


Карта аэропортов мира
Читать дальше →

Курс Natural Language Processing (обработка естественного языка)

Reading time2 min
Views11K

Всем привет!


UPD. 04.03.2020: Удалось договориться о записи лекций. Для первой лекции будет организована трансляция.


Huawei Russian Research Institute (Huawei RRI) в рамках программы взаимодействия с ведущими российскими университетами (МФТИ, МГУ, МГТУ им. Н. Э. Баумана) представляет открытый курс “Natural Language Processing” или “Обработка естественного языка”, который пройдет на площадке московского корпуса Физтеха.


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

Что такое PCI DSS и как происходит проверка на соответствие стандарту?

Reading time9 min
Views112K
imageВ конце 2015 года система электронных платежей PayOnline уже в восьмой раз доказала, что мерчанты и плательщики находятся под надежной защитой. А в мае 2016 года компания получила физический сертификат соответствия требованиям стандарта PCI DSS версии 3.1, подтверждающий высший мировой уровень безопасности.

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

Семь известных всем неприятных правил жизни, которые мало кто учитывает

Reading time6 min
Views22K


Если вы не достигаете успеха, жизнь будет казаться несправедливой

Мы живем по сложным правилам. Причем эти правила бывают разные.

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

Большинству людей так и не удается освоить эти принципы — поэтому они делают одно и то же снова и снова, но ожидают, что результат почему-то будет другим. «Безумие!» — сказал бы Эйнштейн.

Переведено в Alconost
Читать дальше →

Как мы работаем над качеством и скоростью подбора рекомендаций

Reading time8 min
Views9.2K
Меня зовут Павел Пархоменко, я ML-разработчик. В этой статье я хотел бы рассказать об устройстве сервиса Яндекс.Дзен и поделиться техническими улучшениями, внедрение которых позволило увеличить качество рекомендаций. Из поста вы узнаете, как всего за несколько миллисекунд находить среди миллионов документов наиболее релевантные для пользователя; как делать непрерывное разложение большой матрицы (состоящей из миллионов столбцов и десятков миллионов строк), чтобы новые документы получали свой вектор за десятки минут; как переиспользовать разложение матрицы пользователь-статья, чтобы получить хорошее векторное представление для видео.


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

Сканирующее окно по массивам NumPy

Reading time9 min
Views21K

CoLab блокнот с примерами.


Возможно сделать скользящее окно (rolling window, sliding window, moving window) по массивам NumPy на языке программирования Python без явных циклов. В данной статье рассматривается создание одно-, двух-, трех- и N-мерных скользящих окон по массивам NumPy. В результате скорость обработки данных увеличивается в несколько тысяч раз и сравнима по скорости с языком программирования С.


Cкользящее окно применяется в: обработке изображений, искусственных нейронных сетях, интернет протоколе TCP, обработке геномных данных, прогнозировании временных рядов и т.д.


Отказ от ответственности: в исходном коде могут быть ошибки! Если вы видите ошибку, пожалуйста, напишите мне.


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

Нейросеть в 11 строчек на Python

Reading time8 min
Views551K

О чём статья


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

Дайте код!


X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ])
y = np.array([[0,1,1,0]]).T
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1
for j in xrange(60000):
    l1 = 1/(1+np.exp(-(np.dot(X,syn0))))
    l2 = 1/(1+np.exp(-(np.dot(l1,syn1))))
    l2_delta = (y - l2)*(l2*(1-l2))
    l1_delta = l2_delta.dot(syn1.T) * (l1 * (1-l1))
    syn1 += l1.T.dot(l2_delta)
    syn0 += X.T.dot(l1_delta)


Слишком сжато? Давайте разобьём его на более простые части.
Читать дальше →

Как определить оператора и регион по номеру телефона

Reading time6 min
Views166K


Полезно знать, какого телефонного оператора выбрал клиент и в каком регионе. Тогда можно разбить клиентскую базу географически и не звонить ночами. Или проводить промоакции вместе с операторами. А некоторые наши заказчики экономят: для каждого оператора выбирают самого дешевого СМС-агрегатора.

Поэтому «Дадата» с давних пор находит оператора по номеру телефона. Алгоритм простой — сделай и пользуйся. Разве что в 2013 году, когда отменили «мобильное рабство», пришлось чуть скорректировать процесс. В этой статье расскажу, как у нас все работает.

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

Невероятная производительность ввода-вывода с параллельным Apache Parquet на Python

Reading time3 min
Views8.5K
В преддверии старта курса «Data Engineer» подготовили перевод небольшого, но интересного материала.




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

Обнаружение атак на Active Directory с помощью Azure

Reading time4 min
Views6K
В следующем году будет 20 лет с момента создания службы каталогов Active Directory. За это время служба обросла функционалом, протоколами, различными клиентами. Но необходимость поддерживать совместимость с рядом устаревших клиентов вынуждает иметь настройки по-умолчанию, ориентированные на совместимость. Администраторы часто не меняют их, а это создает большой риск. В этой статье мы рассмотрим обнаружение атак, которые могут привести к domain dominance.

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

Мифы о больших данных и цифровая культура

Reading time4 min
Views4.8K


Мы продолжаем публиковать самые интересные доклады RAIF, ежегодного форума по искусственному интеллекту, организованному «Инфосистемы Джет». Сегодня хотим поделиться рассказом доктора физико-математических наук, профессора департамента информатики НИУ ВШЭ Бориса Асеновича Новикова.
Читать дальше →

Природные законы и элегантная математика: задачи и решения

Reading time9 min
Views4K

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




Со времён Пифагора люди верят в особую способность красивой математики раскрыть перед нами все секреты мира. Мы использовали знаменитую статью Юджина Вигнера "Необоснованная эффективность математики в естественных науках", чтобы обсудить с читателями эту тему и порешать несколько связанных с нею задачек. Задачки должны были продемонстрировать, что, хотя математика действительно очень полезна для создания идеализированных моделей и элегантных объяснений множества физических явлений, в реальных ситуациях иногда бывает необходимо продираться через заросли численных данных.
Читать дальше →

Что такое SAP?

Reading time9 min
Views223K


Что такое SAP? И с какого лешего она стоит $163 миллиарда?

Каждый год компании тратят $41 млрд на софт для планирования корпоративных ресурсов, известный под аббревиатурой ERP. Сегодня практически в каждом крупном бизнесе внедрена та или иная ERP-система. Но большинство маленьких компаний обычно не покупают ERP-системы, а большинство разработчиков, вероятно, и не видели их в деле. Так что у тех из нас, кто не использовал ERP, возникает вопрос… в чём прикол? Как компания вроде SAP умудряется продавать ERP на $25 млрд в год?

И как получилось, что 77% мировой торговли, в том числе 78% поставок продуктов питания, проходит через программы SAP?
Читать дальше →

Information

Rating
4,592-nd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity