Pull to refresh
-19
0

User

Send message

Гипотетическая звездная система с 416 планетами в зоне обитаемости

Reading time 8 min
Views 19K

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

Читать далее
Total votes 53: ↑53 and ↓0 +53
Comments 59

Чек-лист — как тестировать поиск

Reading time 16 min
Views 131K

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

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

Читать далее
Total votes 31: ↑28 and ↓3 +25
Comments 16

Double or Nothing

Reading time 4 min
Views 10K

Фотография Esteban Lopez с Unsplash.com

Если вы выбрали C++ в качестве языка программирования, то учить его придётся всю жизнь. Смиритесь. Или выбирайте другой язык.

Чего только стоят новые стандарты, появляющиеся каждые 3 года. И каждый раз с какими-то полезными нововведениями в синтаксисе! Как им только это удаётся?

Есть разные способы совершенствоваться в С++. Кто-то читает Страуструпа от корки до корки, а потом почитывает стандарты. Кто-то ничего не читает и программирует по наитию - тупиковый путь, на мой взгляд.

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

Одна из моих любимых таких вещей - Guru of the Week (GotW) Херба Саттера.

Написано остроумно. И сколько пользы для программистки! Некоторые статьи уже морально устарели: кому нужен auto_ptr в наши дни? Но большинство ценно и сегодня.

Приведу здесь перевод выпуска №67 "Double or Nothing" от 29 февраля 2000 года. Моё любимое место — про тепловую смерть конечно ​

"Сложность 4/10

Нет. Этот выпуск не об азартных играх. Он, впрочем, о разных видах "float" так сказать, и даёт вам возможность проверить навыки касающиеся базовых операций над числами с плавающей точкой в C и C++.

Проблема

Вопрос Йуного Гуру (JG)

1) В чём разница между "float" и "double"?

Вопрос Гуру

2) Допустим следующая программа выполняется за 1 секунду, что неудивительно для современного настольного компьютера:

int main() {

double x = 1e8;

while (x > 0) { --x; }

return 0;

}

Как долго по-вашему она будет выполняться, если заменить "double" на "float"? Почему?

Читать далее
Total votes 16: ↑12 and ↓4 +8
Comments 31

Квантовый Интернет: конкуренция за создание нерушимого онлайн-мира

Reading time 10 min
Views 5.7K

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

Человеческая культура и промышленность издавна основывались на информации. Получение правильной информации, ее понимание и обмен дает нам силу и прибыль. Развитие Интернета утвердило роль информации, и мы только начинаем ощущать ее влияние.

Читать далее
Total votes 7: ↑6 and ↓1 +5
Comments 0

MLflow в облаке. Простой и быстрый способ вывести ML-модели в продакшен

Reading time 16 min
Views 22K
image
Robot factory by lucart

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

Я Александр Волынский, архитектор облачной платформы Mail.ru Cloud Solutions. В прошлой статье мы рассмотрели Kubeflow. MLflow — это еще один инструмент для построения MLOps, для работы с которым не обязателен Kubernetes.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 4

Как работает рендеринг 3D-игр: сглаживание с помощью SSAA, MSAA, FXAA, TAA и других методик

Reading time 15 min
Views 23K
image

3D-игры состоят из тысяч, если не миллионов разноцветных прямых линий и других рёбер. А из-за того, как происходит их обработка для вывода на экран, эти линии иногда могут выглядеть изломанными и искажёнными. В пятой части нашего исследования рендеринга в 3D-играх мы расскажем, какие методики используются для сглаживания рёбер миров, в которые мы играем. Хорошие новости — на этот раз математики будет не так много!
Total votes 15: ↑15 and ↓0 +15
Comments 2

Hello, Word! Разрабатываем браузерное расширение в 2021-м

Reading time 5 min
Views 18K
Привет!

Меня зовут Саша Коновалов, я разработчик в компании Oxonit и наставник на программе «Мидл фронтенд-разработчик» в Яндекс.Практикуме.

На примере разработки расширения «Hello, Word» я расскажу, как разрабатывать кроссбраузерное расширение со знаниями современного фронтенда:

  • для чего нужно кроссбраузерное расширение;
  • как его разработать под разные браузеры;
  • модульность кода, как переиспользовать компоненты и как современный фронтенд помогает в разработке расширений;
  • какие инструменты можно использовать для сборки и публикации расширений (webpack, web-ext).

Если вам интересно посмотреть исходники, я разместил их на GitHub.

Структура расширения, о котором я расскажу в статье, близка к проекту SponsorBlock. Этот проект вдохновлял меня во время работы над собственным.

Итак, создадим расширение – Hello, Word!


Hello, Word — это расширение для перевода и запоминания слов. Оно стало прототипом моего пет-проекта Wordzzz, поэтому в посте я буду приводить примеры из него.


Рисунок 1. Описание функциональности
Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 11

Rust 1.49.0: aarch64 и улучшения во фреймворке тестирования

Reading time 4 min
Views 5.1K

Команда Rust рада сообщить о выпуске новой версии, 1.49.0. Rust — это язык программирования, позволяющий каждому создавать надёжное и эффективное программное обеспечение.


Если вы установили предыдущую версию Rust средствами rustup, то для обновления до версии 1.49.0 вам достаточно выполнить следующую команду:


rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта, а также посмотреть подробные примечания к выпуску на GitHub.


Что вошло в стабильную версию 1.49.0


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

Читать дальше →
Total votes 47: ↑46 and ↓1 +45
Comments 1

Контроль сложности и архитектура UDF

Reading time 21 min
Views 14K

Сложность — главный враг разработчика. Есть такая гипотеза, хотя я бы отнес ее к аксиомам, что сложность любого программного продукта с течением времени, в процессе добавления нового функционала неизбежно растет. Растет она пока не достигнет порога при котором любое вносимое изменение гарантированно, т.е. с вероятностью близкой к 100%, внесет ошибку. Есть также дополнение к этой гипотезе — если такой проект продолжать и далее поддерживать, то рано или поздно он достигнет такого уровня сложности, что нужное изменение внести будет невозможно вообще. Невозможно будет придумать решение, не содержащее в себе какие либо костыли, заведомые антипаттерны.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 6

Карбюраторы мотоциклетного типа. Система холостого хода

Reading time 5 min
Views 11K
Здравствуйте, уважаемые читатели. Возвращаемся к теории и практике по карбюраторам мотоциклетного типа.

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

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


Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 0

ARM против x86: В чем разница между двумя архитектурами процессоров?

Reading time 6 min
Views 195K
Вы наверняка знаете, что мир процессоров разбит на два лагеря. Если вы смотрите это видео со смартфона, то для вас работает процессор на архитектуре ARM, а если с ноутбука, для вас трудится чип на архитектуре x86.

А теперь еще и Apple объявила, что переводит свои Mac на собственные процессоры Apple Silicon на архитектуре ARM. Мы уже рассказывали, почему так происходит. А сегодня давайте подробно разберемся, в чем принципиальные отличия x86 и ARM. И зачем Apple в это все вписалась?


Итак, большинство мобильных устройств, iPhone и Android'ы работают на ARM'е. Qualcomm, HUAWEI Kirin, Samsung Exynos и Apple A13/A14 Bionic — это все ARM-процессоры.

А вот на компьютере не так — там доминирует x86 под крылом Intel и AMD. Именно поэтому на телефоне мы не можем запустить Word с компьютера.
Total votes 98: ↑66 and ↓32 +34
Comments 197

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

Reading time 8 min
Views 142K
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

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

Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!

Итак, сегодня я покажу, как отрисовывать подобные картинки:


Читать дальше →
Total votes 241: ↑241 and ↓0 +241
Comments 124

Попугай приземлился. Анонс книги «Генеративное глубокое обучение»

Reading time 6 min
Views 7.3K
Здравствуйте, коллеги!

С удовольствием сообщаем, что в наших издательских планах на начало будущего года — превосходная новая книга по глубокому обучению «Generative Deep Learning» от Дэвида Фостера



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

Приятного чтения, следите за анонсом!
Читать дальше →
Total votes 18: ↑18 and ↓0 +18
Comments 0

Музыка для программиста

Reading time 6 min
Views 48K
Я захожу в офис, поднимаюсь на третий этаж, подхожу к Жене, который выглядит, как зайчик-лапушка. Чтобы меня услышать, он достает наушник из уха, а я слышу, как из маленького динамика разносится какой-то дикий рёв и пронизывающий до костей ор! Ох, внешность, как же ты бываешь обманчива…

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


Читать дальше →
Total votes 38: ↑31 and ↓7 +24
Comments 81

5 браузерных расширений для работы с текстом на английском языке

Reading time 3 min
Views 12K


Всем привет! Я продолжаю делиться своими профессиональными наработками в теме работы с англоязычными текстами. Сегодня речь пойдет о том, какие браузерные расширения можно использовать, чтобы облегчить создание качественных материалов и научиться писать на английском лучше. Поехали!
Читать дальше →
Total votes 26: ↑22 and ↓4 +18
Comments 3

GPT-2 нейросеть от OpenAI. Быстрый старт

Reading time 9 min
Views 141K

image


Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд, против обычно используемых в таких случаях 100-300 млн) оказалась способна генерировать целые страницы связного текста.


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


Тем не менее, в OpenAI выложили в общий доступ уменьшенную версию нейросети GPT-2, со 117 млн параметров. Именно ее мы запустим через сервис Google Colab и поэкспериментруем с ней.

Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Comments 70

Отключение фикса Meltdown и Spectre в Windows

Reading time 3 min
Views 189K
На сайте майкрософт размещена информация о том, как можно проверить подвержена ли ОС атакам meltdown. Там же имеется информация, как можно отключить последнее исправление.



Учитывая, что в интернете не утихают слухи о катастрофическом падении производительности и даже появляются сравнительные тесты «до» и «после» информация по отключению данной заплатки может оказаться полезной.
Читать дальше →
Total votes 48: ↑44 and ↓4 +40
Comments 144

Курс о Deep Learning на пальцах

Reading time 2 min
Views 172K
Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

Курс не претендует на полноту, скорее это способ поиграться руками с основными областями, где deep learning устоялся как практический инструмент, и получить достаточную базу, чтобы свободно читать и понимать современные статьи.

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.


Читать дальше →
Total votes 117: ↑117 and ↓0 +117
Comments 31

Задачи с собеседований (front-end)

Reading time 18 min
Views 326K
Так получилось, что за свою карьеру front-end разработчика, я побывала на многих собеседованиях. Тема прохождения интервью не теряет своей актуальности, а в комментариях, когда речь заходит о собеседованиях, начинают ломаться копья. Хочу тоже внести свой вклад и поделиться накопившейся коллекцией вопросов. Прошу.

image
Читать дальше →
Total votes 74: ↑58 and ↓16 +42
Comments 230

Как работает JS: анимация средствами CSS и JavaScript

Reading time 12 min
Views 86K
[Советуем почитать] Другие 19 частей цикла
Часть 1: Обзор движка, механизмов времени выполнения, стека вызовов
Часть 2: О внутреннем устройстве V8 и оптимизации кода
Часть 3: Управление памятью, четыре вида утечек памяти и борьба с ними
Часть 4: Цикл событий, асинхронность и пять способов улучшения кода с помощью async / await
Часть 5: WebSocket и HTTP/2+SSE. Что выбрать?
Часть 6: Особенности и сфера применения WebAssembly
Часть 7: Веб-воркеры и пять сценариев их использования
Часть 8: Сервис-воркеры
Часть 9: Веб push-уведомления
Часть 10: Отслеживание изменений в DOM с помощью MutationObserver
Часть 11: Движки рендеринга веб-страниц и советы по оптимизации их производительности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 12: Сетевая подсистема браузеров, оптимизация её производительности и безопасности
Часть 13: Анимация средствами CSS и JavaScript
Часть 14: Как работает JS: абстрактные синтаксические деревья, парсинг и его оптимизация
Часть 15: Как работает JS: классы и наследование, транспиляция в Babel и TypeScript
Часть 16: Как работает JS: системы хранения данных
Часть 17: Как работает JS: технология Shadow DOM и веб-компоненты
Часть 18: Как работает JS: WebRTC и механизмы P2P-коммуникаций
Часть 19: Как работает JS: пользовательские элементы

Анимация — неотъемлемая часть современных веб-интерфейсов. От того, насколько она уместна, привлекательна и производительна, зависит немалая доля впечатлений пользователя от работы с сайтом или веб-приложением. Сегодня, в переводе тринадцатой части серии материалов, посвящённых особенностям JavaScript и связанных с ним технологий, мы поговорим об анимации, выполняемой средствами CSS и JS, а также обсудим подходы к её оптимизации.

Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Comments 9

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity