Матрицы — это не только математика или искусственный интеллект. Ещё это — интересные арт-проекты для души, причиной рождения которых могут послужить самые неожиданные вещи или события. Об одном из таких проектов рассказываем в эту пятницу, пока у нас начинается флагманский курс Data Science.
Разработка
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Новый блог с переводами
Уважаемые читатели!
Мой блог, зародившийся из спонтанного общения с редактором Хабра @SLY_G, к настоящему моменту определенно приобрел некоторые узнаваемые очертания и читательскую аудиторию. Я благодарен тем, кто участвует в дискуссиях, тем, с кем мне удалось плодотворно поработать за пределами Хабра, тем, кто пишет и отвечает мне в личке.
При этом мне достаточно давно стало тесновато в канве научно-популярных лонгридов, и я пытался публиковать здесь и переводы. Переводы выбирал на свой вкус, прибегая к переводу в тех случаях, когда мне явно не доставало компетенции для создания качественной авторской статьи из-за сложности темы. Например, меня привлекает искусственный интеллект и научно-популярная сторона нейронных сетей, но вряд ли мой текст на такую тему будет лучше, чем качественный перевод.
Поэтому по согласованию с редакцией Хабра я решил завести второй блог, в котором буду переводить технические тексты. Блог будет вестись от имени пользователя @Sivchenko_translate. Переводы будут выполняться с английского языка на русский и, возможно, с немецкого языка на русский.
Скучные числа
1 / 0
При освоении программирования встречается один смешной спор, начинать адресацию элементов в массиве с единицы или с нуля. С одной стороны, если у тебя один элемент в массиве, то и номер у него должен быть равен единице. С другой стороны, когда выбираешь куда поместить первый элемент, то надо подыскать место, равное количеству элементов до помещения — нулевое. То есть, чему равен адрес последнего элемента — количеству элементов до помещения или после? — Вот в чём здесь вопрос.
Но, как бы то ни было, для себя я просто разделили на два понятия: индекс и номер. Индекс относится уже не к элементу, а к его месту, к величине отступа, которая для элемента номер один равна нулю. Элемент с индексом ноль — первый. Всё просто.
Соревнование между нулём и единицей может быть описано более детально.
Зря-зря
Спуск
Простые числа
Золотая середина
Предыдущее и следующее
Уровни
Что было до нуля
Вообще без нуля
Часть вторая:
Двойные функции
Двойные числа
Биномиальная свёртка
Происхождение чисел Бернулли
Откатная функция
Пи
Функция состоит не только из нулей
Суммируя
Умножая
Симметрия Дзеты
Ось
Откуда там вообще нули?
Исторически счёт принято начинать с единицы, и это оправдано, так как отводит нулю его место — то что было в самом начале, до начала счёта. И этим указывает, что такое сам счёт. Это нахождение элемента между предыдущим и предстоящим. «Предыдущий» в начале счёта ноль, «предстоящий» элемент тоже вполне определён. Основное действие — то что понимается под «предыдущим» меняется на то что получено, и счёт можно продолжать.
Работаем с текстами на Python: кодировки, нормализация, чистка
Об обработке текстов на естественном языке сейчас знают все. Все хоть раз пробовали задавать вопрос Сири или Алисе, пользовались Grammarly (это не реклама), пробовали генераторы стихов, текстов... или просто вводили запрос в Google. Да, вот так просто. На самом деле Google понимаетот него хотите, благодаря ш, что вы тукам, которые умеют обрабатывать и анализировать естественную речь в вашем запросе.
При анализе текста мы можем столкнуться с ситуациями, когда текст содержит специфические символы, которые необходимо проанализировать наравне с "простым текстом" или формулы, например. В таком случае обработка текста может усложниться.
Вы можете заметить, что если ввести в поисковую строку запрос с символами с ударением (так называемый модифицирующий акут), к примеру "ó", поисковая система может показать результаты, содержащие слова из вашего запроса, символы с ударением уже выглядят как обычные символы.
Так как всё-таки происходит обработка таких запросов?
ВКонтакте: Один логин — две системы
Раньше, если ты регистрировался на сервисе, то твой логин оставался за тобой во всех остальных сервисах на данном домене: почта, поддомен хостинга, соцсеть, фотои видео хостинг, мессенджер и т.д. И вот, Вконтакте решило запустить вариант "Один логин - две системы" - соцсеть vk.com/LOGIN и электронная почта [email protected] могут принадлежать двум разным людям.
Что открывает очень интересные возможности (ну, или риски, смотря по какую сторону границы Добра и Зла вы находитесь).
Микросервисы. Не всё то золото, что хайп
Привет, меня зовут Владимир Кустиков, я — архитектор решений в e-Legion. И сегодня я хотел бы рассказать вам про микросервисы.
Наверное, я где-то неправ. А возможно, что у меня просто подгорело. Но в какой-то момент после запроса рассказать о том, в каких проектах я успешно применял микросервисы, мое терпение лопнуло. Ни в каких, понятно?! И это мой персональный повод для гордости. Если вам вдруг стало интересно, что еще может рассказать этот странный безумец с пылающим взором, то у меня есть хорошая новость — ниже о микросервисах будет адаптированный под хаброформат рассказ с картинками. А если нет — смело закрывайте эту статью.
Мой рецепт MVI
Как известно, MVI строится на основе трех компонентов - модели, намерения (действия) и состояния экрана. Логика приложения диктуется пользователем, например, он хочет загрузить картинку в высоком разрешении, и различными внешними эффектами (далее - side-effects), например, внезапной потерей соединения.
Мне хотелось создать механизм, который будет способен обрабатывать намерения пользователя и их следствия (что-то внешнее, например ответ от api). Для этого я решил создать три интерфейса-маркера, которые будут отвечать за какое-либо событие, состояние экрана и не влияющие на состояние экрана уведомления.
Геоаналитика с помощью Python и открытых данных: пошаговое руководство
Геоаналитика с помощью Python: GeoPandas, folium, Uber H3, OSM + примеры как можно определять лучшие локации для поиска помещений под открытие кофейни (и не только).
Кэширование данных и страниц в ASP.NET
Кэширование — это механизм, используемый веб-приложениями для повышения производительности. Сегодня веб-приложения разрабатываются в промышленных масштабах. Такие приложения используют кэширование, чтобы свести время отклика к минимуму.
Ниже перечислены некоторые проблемы веб-приложений и то, как они решаются с помощью кэширования.
На стыке BI и DS: как предоставить аналитикам возможность делать с данными все, что они хотят?
Привет, Хабр! Мы продолжаем рассказывать о новых трендах в BI, и сегодня речь пойдет о расширении возможностей аналитических систем и кастомизации дашбордов под конкретные (и порой уникальные) задачи клиентов. Для этого необходимо работать на стыке DS и BI, а значит — в BI должен быть базовый набор ML- инструментов (Machine Learning), доступных не только суровым математикам, но и бизнес-аналитикам. В этой статье мы рассмотрим возможные варианты пересечения сфер BI и DS для проведения более глубокой аналитики, с плюсами и минусами, а также покажем основные подходы к внедрению ML в BI на уровне стандартного функционала.
Реализация in-app purchases на Flutter c помощью Adapty SDK
Привет, меня зовут Алексей, я разрабатываю Adapty SDK для Flutter. Сегодня я расскажу про внедрение внутренних покупок в мобильное приложение на Flutter с помощью плагина, который мы разрабатываем.
Flutter — это относительно новый фреймворк от Google для быстрого создания кросс-платформенных приложений. Второй популярный фреймворк — React Native, о покупках на Реакте мы писали в другой статье.
Адаптивный layout — как переверстать весь проект, не перевёрстывая его
Вёрстка — это первое, чему обычно учатся начинающие фронтендеры. Но когда вёрстки в вашем проекте становится очень много, поменять что-то — особенно везде и сразу — становится непросто. Переверстать большой проект, как правило, почти нереально. И если начинает казаться, что в какой-то задаче это нужно, вероятно, пришло время для более нестандартных методов.
Всем привет! Меня зовут Юрий Голубев, я разрабатываю frontend в Почте Mail.ru. Сегодня я хочу поделиться опытом того, как мы добавили адаптивности и возможности кастомизации в интерфейс, а заодно — открыли новый для себя способ написания адаптивных компонентов.
Языки программирования на эмодзи, и как можно использовать смайлики в коде
Поговорим о том, как можно использовать эмодзи при написании кода и какие для этого есть специальные языки программирования. А ещё дадим советы программисту, как использовать эмодзи в кодинге (спойлер: добавлять их в комментарии, описания коммитов и даже строки — для оживления логов). Ну, и немного истории появления смайлика.
Видеозапись серии вебинаров The A-Z of Data — блок MLOps
Приветствую всех!
На протяжении последних нескольких месяцев, мы командой Data Phoenix, провели ряд вебинаров посвященных MLOps в рамках серии «The A-Z of Data».
Сегодня я хочу поделиться всеми видеозаписями прошедших вебинаров, а также пригласить на предстоящий, который будет посвящен MLOps инструменту — Pachyderm. Также буду благодарен за пожелания в комментариях тем, на которые вам было бы интересно послушать предстоящие вебинары.
Разгадываем ребус вторичных часов «Воронеж»
В предыдущей статье я затеял создание контроллера вторичных часов «Воронеж», и даже добился некоторой работоспособности. Однако так и не разгадал окончательно ребус формы и длительности передаваемого сигнала. На ту публикацию откликнулось большое количество людей, и предложило свою помощь. Кто-то помогал советом, кто-то снял живые осциллограммы с различных первичных часов, кто просто помог добрым словом и оказал поддержку. В результате понял, что нельзя бросить это устройство в стадии недоделки, потому что за ним следит такое количество людей. Поэтому было принято волевое решение довести всё до конца, при этом с максимальным качеством, доступным в домашних условиях. Главный девиз этой разработки был:
Делай хорошо — плохо само получится.В результате на вторую часть я потратил в полтора-два раза больше времени, чем на первую: причёсывал код, занимался механикой, чертил детали корпуса, печатал их на принтере, точил на токарном станке, а главное, страдал от перфекционизма. Как обычно бывает, механическая часть съела чуть ли не 40% всего времени. В общем, поехали, будет интересно: от идеи до законченного устройства.
2G и 3G: старикам тут не место?
Когда предыдущие поколения связи сдадутся современным стандартам.
По оценкам GSMA*, к 2025 году технологией 4G (LTE) в России будет пользоваться 81% мобильных абонентов, тогда как на 2G (GSM) и 3G (UMTS) будет приходиться 7% и 4% соответственно. В ассоциации констатируют, что во всем мире наметился тренд на вывод из эксплуатации сетей связи второго и третьего поколения. С одной стороны, операторы не хотят нести расходы по поддержке устаревших технологий, с другой – заинтересованы в перераспределении освобождающегося радиочастотного спектра. Однако в ближайшей перспективе отключение сетей 2G и 3G может стать проблемой для больших социальных групп и целых индустрий, отмечают эксперты.
NVMe-накопители: чем они хороши и как на них переходить. Часть первая
Рассматриваем возможные решения, считаем производительность и прикидываем, как правильно настроить систему.
ТОП-3 ИБ-событий недели по версии Jet CSIRT
Читайте сегодня в ТОП-3 о двух уязвимостях ― в vCenter Server и в продуктах управления сетью от Nagios ― а также о росте числа кибератак с использованием программы-вымогателя Conti. Новости собрал Александр Ахремчик, ведущий аналитик центра мониторинга и реагирования на инциденты ИБ Jet CSIRT компании «Инфосистемы Джет».
Подробнее – под катом.
Spill-файлы в Greenplum
Если вы читаете эту статью, скорее всего, с некоторой периодичностью сталкиваетесь со spill-файлами, а может, и генерируете их. В сети мало статей и постов на эту тему, поэтому я решил написать здесь всё, что знаю о спиллах, о том, как понять, что они есть в запросе, и как их избежать.