Если лишить человека сна, то его мозг будет все хуже хранить новые воспоминания. Этот эксперимент со сном доказал, что можно восстановить память, если использовать препараты от астмы и эректильной дисфункции. Исследование предполагает, что воспоминания скорее скрыты, а не потеряны. И есть рабочий способ их восстановить.
Backend Development
Как я отрендерил миллион строк в React
Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:
1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?
2. Удастся ли мне это?
Хотя я не уверен в возможности визуализировать миллиард строк в таблице, цифра в миллион кажется вполне достижимой. Узнав о таком интересном вызове, я решил заняться маленьким проектом, целью которого было отображение миллиона строк в React.
Давайте я вас подробно ознакомлю с тем, что именно произошло, как это было сделано и по каким причинам.
[Хабр, help] Android-разработчица. Как сделать первые шаги?
Здравствуйте, я очень долго думала, стоит ли мне регистрироваться на "Хабре" и обращаться, как новичку, по этому вопросу, так как я не первая и не последняя, с подобными запросами.
Я хочу стать Android-разработчицей, с нуля.
Пожалуйста, укажите с чего начать первые шаги?
Пожалуйста, войдите в моё положение и помогите, направив меня на путь. Я не прошу меня жалеть или помогать материально — я справлюсь сама. Для меня сейчас информация — на вес золота.
Только сейчас я нахожу в себе силы и хочу выбраться из этого состояния, чтобы начать жить дальше, но к сожалению, у меня недостаточно моральных сил и мне нужна посторонняя поддержка. Я знаю, чего мне хочется в жизни и с чем свяжу жизнь, поэтому прошу подсказать мне и направить.
Знакомьтесь, SafeTest — новый подход к тестированию фронтенда
В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.
Вам не нужен для этого JavaScript
Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю
▍ Правило наименьших полномочий
Это один из базовых принципов веб-разработки, означающий, что следует выбирать наименее мощный язык, подходящий для решения задачи.
В случае веба это означает, что нужно по возможности выбирать HTML вместо CSS, а затем CSS вместо JS. JS — самый универсальный язык из всех трёх, потому что на нём вы описываете, как должен вести себя браузер; но также он может ломаться, отказываться загружаться, требует дополнительных ресурсов для скачивания, парсинга и исполнения. Кроме того, при его использовании очень легко ограничить доступ пользователей, выполняющих браузинг при помощи клавиатуры или специальных возможностей.
В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.
Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Как работать эффективно с распределенными таблицами в ClickHouse
Приветствуем!
На связи Глеб Кононенко и Алексей Диков, мы разработчики из Лиги Цифровой Экономики. Год назад на одном большом проекте мы с коллегами начали работать с ClickHouse и сразу столкнулись с кучей проблем и недостатком информации по их преодолению.
ClickHouse — это специфичная, очень быстрая база данных. Особенность заключается в том, как хранятся и обрабатываются данные. Для каждой таблицы указывается Engine, движок, который обрабатывает данные после загрузки в асинхронном режиме. Обработка позволяет удалять дубликаты, сортировать данные, реплицировать и т. д. Более подробно с разными движками можно ознакомиться здесь.
Продукт — с открытым исходным кодом, русскоязычной документацией и возможной поддержкой. Поэтому растущая популярность неудивительна.
Мы набрались опыта, «набив шишки» на практике, и готовы им поделиться — запускаем цикл статей о том, как правильно «готовить» ClickHouse. И начнем с того, как эффективно создавать и использовать распределенные таблицы.
Немного о проекте:
Файлы полиглоты или как картинка с котиком станет угрозой для безопасности вашей информации
Конечно, угроза безопасности звучит очень пафосно, тем более для милого котика, смотрящего на вас с JPEG изображения, но среди его байт легко мог затеряться вредоносный скрипт. Давайте разберёмся, что к чему.
150 книг для тех, кто делает игры
С Новым Годом уважаемые читатели! Как можно понять из заголовка я собрал для вас 150 книг (и несколько полезных ссылок) из областей разработки игр, геймдизайна, нарративного дизайна и прочих смежных дисциплин геймдева. Из подборки получилась целая библиотека, которую я собираюсь постоянно обновлять и добавлять в нее новые книги. Поэтому, если вы ищите что почитать, то заходите и добавляйте в закладки!
Навигатор для трактора или эмиграция с цифрами в 2022
Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.
Делаем отзывчивый и максимально возможный размер шрифта динамического текста относительно контейнера
Перед нами часто возникает задача, сделать текст отзывчивым в зависимости от размера экрана устройства. Казалось бы, задача вполне тривиальна, и сходу можно назвать несколько вариантов её решения, не ломая голову, но всегда есть дополнительные условия, которые усложняют выполнение простых задач. В данной статье мы будем рассматривать решение небольшой задачи: как сделать максимально возможный размер шрифта динамического текста в его родительском контейнере. Или же, как впихнуть невпихуемое.
JavaScript: примеры реализации некоторых математических выражений
Привет, друзья!
Представляю вашему вниманию адаптированный и дополненный перевод этой замечательной статьи.
В данной статье я хочу рассказать вам о некоторых основных математических концепциях и их обозначениях, а также показать примеры реализации этих концепций на JavaScript
.
Учимся правильно писать CSS классы в JSX
Казалось бы такая простая тема как написание css-классов не должна быть проблемой, однако я встречал довольно много проектов, где допускаются ошибки, что приводит к проблемам и плохо читаемому коду.
Где проблема актуальна? В экосистеме React, и где мы пользуемся замечательным синтаксисом под названием JSX.
В данной статье мы рассмотрим, почему стоит использовать библиотеку clsx
практически в каждом React-проекте.
Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза
На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют.
Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать.
Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.
JavaScript: захват медиапотока из DOM элементов
Привет, друзья!
Продолжаю исследовать возможности по работе с медиа, предоставляемые современными браузерами, и в этой статье хочу рассказать вам о возможности захвата и записи медиаданных в процессе воспроизведения аудио и видеофайлов.
Мы разработаем простое приложение для сведения аудио и видео со следующим функционалом:
- пользователь выбирает одно видео и несколько аудио, хранящихся в его файловой системе;
- когда пользователь нажимает на кнопку для начала записи, запускается воспроизведение выбранных файлов, захватываются их медиапотоки;
- захваченные потоки объединяются в один и передаются для записи;
- в процессе записи пользователь может менять источник аудиоданных;
- пользователь может приостанавливать (например, для изменения источника аудиоданных) и продолжать запись;
- по окончанию записи генерируется видеофайл в формате
WebM
— превью сведенного контента и ссылка для его скачивания.
В качестве фреймворка для фронтенда я буду использовать React
, однако все функции по работе с медиа будут автономными (сигнатура этих функций будет framework agnostic), так что вы можете использовать любой другой фреймворк или ограничиться чистым JavaScript
.
О том, как разработать приложение для создания аудиозаметок, можно прочитать в этой статье, а о том, как разработать приложение для захвата и записи экрана — в этой.
Если вам это интересно, прошу под кат.
Does the latency matter?
Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.
В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?
Я работаю как системный инженер уже более 8 лет. Хочу поделиться опытом, который получил в процессе решения задач в компании Big Data Technologies. У нас есть какой-никакой highload. В пике это 30 тысяч rps, и вопрос с latency довольно остро стоит перед бизнесом.
Российские компании и финская Jolla обсуждают возможность выпуска YotaPhone на базе Sailfish OS
Тестовый экземпляр этого смартфона на базе Sailfish имеется у российского министра связи Николая Никифорова. Однако такая конфигурация недостаточно подготовлена к выходу на рынок. Sailfish поддерживает Android-приложения, но пока надлежащим образом не взаимодействует с YotaPhone на аппаратном уровне.
PHP-Compiler, или ныряем в кроличью нору FFI
Однажды Энтони Феррара (Anthony Ferrara) решил скомпилировать PHP в низкоуровневый код, но результат получился слабым. Главной проблемой, с которой он столкнулся, было отсутствие подходящего бэкенда. К лучшему все изменилось после того, как в дело вступил FFI.
Я советую прочитать статью «A PHP Compiler, aka The FFI Rabbit Hole», перевод который вы найдёте под катом.
Нужна ли России своя операционная система и другое ПО?
Нужно ли России делать свою особую операционку и другое ПО?
В чём основная ошибка разработчиков процессоров Эльбрус?
В статье даются основные рекомендации по созданию независимого отечественного программного обеспечения, следование которым позволит не слить бюджет и не породить невостребованный продукт, который придётся затем навязывать в директивном порядке. Пусть эта статья попадёт на глаза тому, кто принимает соответствующие решения.
Open Source синтез речи SOVA
Всем привет! Ранее мы выкладывали статью про наше распознавание речи, сегодня мы хотим рассказать вам о нашем опыте по созданию синтеза речи на русском языке, а также поделиться ссылками на репозитории и датасеты для свободного использования в любых целях.
Если вам интересна история о том, как мы разработали собственный сервис синтеза речи и каких результатов нам удалось достигнуть, то добро пожаловать под кат.
Laravel Jetstream — новый скаффолдинг для фреймворка
Информация
- В рейтинге
- Не участвует
- Откуда
- Воронеж, Воронежская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность