Как стать автором
Обновить
-9
0.1

Backend Development

Отправить сообщение

Эксперимент со сном и подручные препараты, что восстанавливают воспоминания

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.9K

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

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии1

Как я отрендерил миллион строк в React

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров10K

Недавно я столкнулся с задачей, известной как one billion row challenge. Два аспекта этого вызова меня заинтриговали:

1. Каковы будут последствия, если я попробую решить этот вызов на фронтенде?

2. Удастся ли мне это?

Хотя я не уверен в возможности визуализировать миллиард строк в таблице, цифра в миллион кажется вполне достижимой. Узнав о таком интересном вызове, я решил заняться маленьким проектом, целью которого было отображение миллиона строк в React.

Давайте я вас подробно ознакомлю с тем, что именно произошло, как это было сделано и по каким причинам.

Читать далее
Всего голосов 12: ↑11 и ↓1+12
Комментарии7

[Хабр, help] Android-разработчица. Как сделать первые шаги?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.4K

Здравствуйте, я очень долго думала, стоит ли мне регистрироваться на "Хабре" и обращаться, как новичку, по этому вопросу, так как я не первая и не последняя, с подобными запросами.

Я хочу стать Android-разработчицей, с нуля.
Пожалуйста, укажите с чего начать первые шаги?


Пожалуйста, войдите в моё положение и помогите, направив меня на путь. Я не прошу меня жалеть или помогать материально — я справлюсь сама. Для меня сейчас информация — на вес золота.

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

Читать далее
Всего голосов 40: ↑16 и ↓24+1
Комментарии36

Знакомьтесь, SafeTest — новый подход к тестированию фронтенда

Время на прочтение8 мин
Количество просмотров4.7K


В этой статье мы поговорим о SafeTest — революционной библиотеке, которая предлагает свежий взгляд на сквозные (E2E) тесты для веб-приложений с пользовательским интерфейсом.
Читать далее
Всего голосов 15: ↑14 и ↓1+17
Комментарии2

Вам не нужен для этого JavaScript

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров29K

Прошу вас не возмущаться названием статьи. Я не ненавижу JavaScript, я люблю его. Ежедневно я пишу на нём кучу кода. Но ещё я люблю CSS и даже люблю JSX HTML. Я люблю все эти три технологии по причине, которая называется…

▍ Правило наименьших полномочий


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

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

В отличие от JS с его императивностью, HTML и CSS декларативны. Вы говорите браузеру, что делать, а не как это делать. Это значит, что браузер сам выбирает, как это делать, и может сделать это наиболее эффективным образом.

Так как функции HTML и CSS обрабатываются браузером, они могут быть более производительными, более нативными, более адаптируемыми к предпочтениям пользователя и в общем случае иметь бОльшую accessibility. Это не значит, что так будет всегда (особенно когда дело касается accessibility), но когда все сложные задачи берёт на себя браузер, от этого обычно выигрывают конечные пользователи.
Читать дальше →
Всего голосов 81: ↑79 и ↓2+93
Комментарии38

Как работать эффективно с распределенными таблицами в ClickHouse

Время на прочтение9 мин
Количество просмотров13K

Приветствуем!

На связи Глеб Кононенко и Алексей Диков, мы разработчики из Лиги Цифровой Экономики. Год назад на одном большом проекте мы с коллегами начали работать с ClickHouse и сразу столкнулись с кучей проблем и недостатком информации по их преодолению.

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

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

Мы набрались опыта, «набив шишки» на практике, и готовы им поделиться — запускаем цикл статей о том, как правильно «готовить» ClickHouse. И начнем с того, как эффективно создавать и использовать распределенные таблицы. 

Немного о проекте: 

Читать далее
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Файлы полиглоты или как картинка с котиком станет угрозой для безопасности вашей информации

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.6K

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии9

150 книг для тех, кто делает игры

Время на прочтение8 мин
Количество просмотров53K

С Новым Годом уважаемые читатели! Как можно понять из заголовка я собрал для вас 150 книг (и несколько полезных ссылок) из областей разработки игр, геймдизайна, нарративного дизайна и прочих смежных дисциплин геймдева. Из подборки получилась целая библиотека, которую я собираюсь постоянно обновлять и добавлять в нее новые книги. Поэтому, если вы ищите что почитать, то заходите и добавляйте в закладки! 

Читать далее...
Всего голосов 13: ↑10 и ↓3+9
Комментарии5

Навигатор для трактора или эмиграция с цифрами в 2022

Время на прочтение15 мин
Количество просмотров10K


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+17
Комментарии0

Делаем отзывчивый и максимально возможный размер шрифта динамического текста относительно контейнера

Время на прочтение10 мин
Количество просмотров8.5K

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

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии8

JavaScript: примеры реализации некоторых математических выражений

Время на прочтение5 мин
Количество просмотров7.8K


Привет, друзья!


Представляю вашему вниманию адаптированный и дополненный перевод этой замечательной статьи.


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

Читать дальше →
Всего голосов 10: ↑8 и ↓2+7
Комментарии6

Учимся правильно писать CSS классы в JSX

Время на прочтение5 мин
Количество просмотров39K

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

Где проблема актуальна? В экосистеме React, и где мы пользуемся замечательным синтаксисом под названием JSX.

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

Читать далее
Всего голосов 5: ↑4 и ↓1+3
Комментарии25

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Время на прочтение24 мин
Количество просмотров168K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее
Всего голосов 336: ↑324 и ↓12+411
Комментарии300

JavaScript: захват медиапотока из DOM элементов

Время на прочтение11 мин
Количество просмотров15K



Привет, друзья!


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


Мы разработаем простое приложение для сведения аудио и видео со следующим функционалом:


  • пользователь выбирает одно видео и несколько аудио, хранящихся в его файловой системе;
  • когда пользователь нажимает на кнопку для начала записи, запускается воспроизведение выбранных файлов, захватываются их медиапотоки;
  • захваченные потоки объединяются в один и передаются для записи;
  • в процессе записи пользователь может менять источник аудиоданных;
  • пользователь может приостанавливать (например, для изменения источника аудиоданных) и продолжать запись;
  • по окончанию записи генерируется видеофайл в формате WebM — превью сведенного контента и ссылка для его скачивания.

В качестве фреймворка для фронтенда я буду использовать React, однако все функции по работе с медиа будут автономными (сигнатура этих функций будет framework agnostic), так что вы можете использовать любой другой фреймворк или ограничиться чистым JavaScript.


Песочница:

Репозиторий.


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


Если вам это интересно, прошу под кат.

Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

Does the latency matter?

Время на прочтение12 мин
Количество просмотров9.4K

Есть исследование от Google, которое говорит, что если ваш сайт открывается больше трех секунд, то вы потеряете около 40% десктопных пользователей и более 50% — мобильных. Еще есть репорт от Amazon, который говорит, что для Amazon каждые 100 мс дополнительного latency стоит им 1% продаж. В объемах Amazon это миллионы долларов.

В зависимости от вашего бизнеса вам стоит тоже ответить на вопрос: Does the latency matter?

Я работаю как системный инженер уже более 8 лет. Хочу поделиться опытом, который получил в процессе решения задач в компании Big Data Technologies. У нас есть какой-никакой highload. В пике это 30 тысяч rps, и вопрос с latency довольно остро стоит перед бизнесом.

Читать далее
Всего голосов 34: ↑33 и ↓1+44
Комментарии3

Российские компании и финская Jolla обсуждают возможность выпуска YotaPhone на базе Sailfish OS

Время на прочтение2 мин
Количество просмотров2.7K
Разработчики финской операционной системы Sailfish и представители компаний НТЦ РОСА и «Альт линукс» обсудили возможность серийного выпуска YotaPhone на базе Sailfish. Пока на устройствах YotaPhone установлена ОС на основе Google Android.

Тестовый экземпляр этого смартфона на базе Sailfish имеется у российского министра связи Николая Никифорова. Однако такая конфигурация недостаточно подготовлена к выходу на рынок. Sailfish поддерживает Android-приложения, но пока надлежащим образом не взаимодействует с YotaPhone на аппаратном уровне.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии4

PHP-Compiler, или ныряем в кроличью нору FFI

Время на прочтение15 мин
Количество просмотров12K

Однажды Энтони Феррара (Anthony Ferrara) решил скомпилировать PHP в низкоуровневый код, но результат получился слабым. Главной проблемой, с которой он столкнулся, было отсутствие подходящего бэкенда. К лучшему все изменилось после того, как в дело вступил FFI.

Я советую прочитать статью «A PHP Compiler, aka The FFI Rabbit Hole», перевод который вы найдёте под катом.

Читать далее
Всего голосов 23: ↑22 и ↓1+31
Комментарии7

Нужна ли России своя операционная система и другое ПО?

Время на прочтение2 мин
Количество просмотров12K

Нужно ли России делать свою особую операционку и другое ПО?
В чём основная ошибка разработчиков процессоров Эльбрус?

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

Читать далее
Всего голосов 68: ↑5 и ↓63-56
Комментарии155

Open Source синтез речи SOVA

Время на прочтение9 мин
Количество просмотров22K

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



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

Всего голосов 24: ↑23 и ↓1+29
Комментарии24

Laravel Jetstream — новый скаффолдинг для фреймворка

Время на прочтение2 мин
Количество просмотров16K
Релиз Laravel 8 принес с собой новый каркас, позволяющий быстро развернуть систему аутентификации пользователей, которая включает в себя логин, регистрацию, подтверждение по электронной почте, двухфакторную аутентификацию, управление сессиями и командами. Также Jetstream имеет встроенную интеграцию с Laravel Sanctum для аутентификации через API на основе токенов.
Читать дальше →
Всего голосов 3: ↑2 и ↓1+4
Комментарии4
1

Информация

В рейтинге
4 000-й
Откуда
Воронеж, Воронежская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Специалист
От 500 000 ₽