Pull to refresh
1
0
Send message

Ecma International утвердила ECMAScript 2022: что в ней нового?

Reading time6 min
Views18K

22 июня 2022 123-я ассамблея Ecma General утвердила языковую спецификацию ECMAScript 2022, а значит, она стала официальным стандартом.

В посте разберемся, какие обновления добавлены в эту версию.

Читать далее

Полезные советы по (не) изучению английского

Reading time6 min
Views21K

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

Самое главное, что мне стоило бы знать - для каждого уровня языка должна быть своя стратегия. То, что эффективно на одном уровне, абсолютно не подойдет на другом. Обычно уровни знания языка делят на basic (A1, A2), independent (B1, B2), proficient (C1, C2). Эти ступени, как несгораемая сумма: если один раз достичь определенного крепкого уровня, то вниз точно не спустишься, даже через продолжительное время. Их можно представить, как три горки, каждая из которых более крутая, при этом после каждой из них есть прямой участок. Желательно эти горки пройти с максимальным ускорением, потому что, если остановиться, обязательно скатишься обратно и придется разгоняться заново.

Читать далее

Сравнение JavaScript операторов typeof и insanceof

Reading time3 min
Views5.6K

В JavaScript есть операторы typeof и instanceof, на первый взгляд они похоже, но они выполняют разные функции.

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

Читать далее

Времена в английском языке

Reading time7 min
Views48K

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

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

Читать далее

Картинкам нельзя верить. Видеоспуфинг в реальном времени

Reading time3 min
Views21K


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

За последние годы разработано несколько эффективных инструментов для подделки видеопотока, в том числе Avatarify Desktop и Deepfake Offensive Toolkit. Таким образом, у злоумышленников появились все возможности, чтобы подделать лицо и голос произвольного человека во время звонка. Специалисты по безопасности и пользователи должны понимать, насколько элементарно выполняется такая операция.
Читать дальше →

Соглашения о вызовах

Reading time3 min
Views21K

Это стандартизированные методы реализации и вызова функций.

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

Читать далее

Как с помощью Core Web Vitals влюбить в свой сайт пользователей и поисковые системы

Reading time14 min
Views6K

Рассказываем, почему разработчики нашей компании уделяют большое внимание Core Web Vitals и как эти метрики помогают повысить качество взаимодействия веб-ресурса с пользователем. В конце материала — подробная таблица с основными рекомендациями по улучшению CWV и способами решения разных задач, которые мы применяем.

Читать далее

Я создал принтер чеков для issues в GitHub

Reading time5 min
Views7.7K

У меня есть много хобби-проектов в GitHub. Некоторые из них довольно популярны, поэтому к ним время от времени постят issues. Проблема в том, что они теряются в куче моих электронных писем или я забываю пройтись по своим репозиториям и добавить новые пункты в список дел.

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

Спойлер: у меня получилось!
Читать дальше →

Компьютеры быстры, но вы этого не знаете

Reading time5 min
Views35K

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

Ощущение величин можно улучшить, преобразовав их каким-нибудь образом в сигналы, знакомые мозгу.

Смотрели ли вы эти видео?

  1. Сравнение размера Вселенной в 3D
  2. Измеряем богатство Джеффа Безоса в рисе

Второе нравится мне больше всего. Ежедневно я съедаю по чашке риса, так что измеряю состояние Джеффа не только наглядно, но и своим желудком.

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

Как выбрать инструмент для тестирования API

Reading time15 min
Views28K

В список требований, предъявляемых к QA-специалистам, включают умение тестировать API приложений.

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

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

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

Читать далее

Алгоритм ECDSA

Reading time5 min
Views18K

Алгоритм ECDSA (Elliptic Curve Digital Signature Algorithm) — это реализация схемы цифровой подписи, основанная на использовании эллиптических кривых и модульной арифметики.

Мы оставим подробный разбор всех тонкостей этого алгоритма и соответствующей математической теории для будущих статей. Здесь же просто покажем основные идеи, за счет которых в ECDSA реализуются алгоритмы KeyGen, Sig и Ver.

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

Эллиптическая кривая в ECDSA — это линия на плоскости, задаваемая уравнением y²=x³+a∙x+b, где a и b — такие числа, что 4∙a³+27∙b²≠0. Например, Bitcoin и Ethereum используют кривую y²=x³+7 (рис. 1).

Читать далее

Способы хранения графа в памяти компьютера

Reading time4 min
Views33K

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

Читать далее

Node.js: использование веб-потоков. Часть 1

Reading time19 min
Views12K


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


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


Ссылка на вторую часть.


Веб-потоки (web streams) — это стандарт для потоков (streams), который поддерживается всеми основными веб-платформами: веб-браузерами, Node.js и Deno. Потоки — это абстракция для чтения и записи данных последовательно, небольшими частями из любого вида источника — файлов, данных, находящихся на сервере, и т.д.


Например, глобальная функция fetch (которая используется для загрузки онлайн-ресурсов) асинхронно возвращает ответ (Response), содержащий свойство body с веб-потоком.


В данной статье рассматриваются веб-потоки в Node.js, но то, о чем мы будем говорить, применимо к любой поддерживающей их платформе.

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

Сравнение JavaScript операторов typeof и insanceof

Reading time3 min
Views9.4K

В JavaScript есть операторы typeof и instanceof, на первый взгляд они похоже, но они выполняют разные функции.

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

Читать далее

Динамическая генерация пользователей в Linux. Разбираемся с NSS

Reading time7 min
Views7K

Как известно, пользователи и группы в Linux определяются по целочисленному идентификатору, который используется при описании владельца и группы файла, а также для создания контекста текущего пользователя после авторизации. Но как это работает внутри? И можно ли создать свою реализацию для взаимного преобразования имен и идентификаторов и для аутентификации пользователей? В этой статье мы детально рассмотрим анатомию подсистем NSS (Name Service Switch) и создадим свою простую реализацию подсистем для использования с текстовым файлом со списком пользователей и паролей. Во второй части статьи мы поговорим о PAM и обсудим возможные способы ее реализации и применения.

Читать далее

Тон Шепарда и другие слуховые иллюзии

Reading time3 min
Views29K

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

Читать далее

Как сделать удобную дизайн-систему. Цвета. Часть 1

Reading time3 min
Views11K

Дизайн-система позволяет быстро взаимодействовать с компонентами, легко вносить изменения во все макеты и в целом прививает дизайнеру навык организации больших объемов информации.

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

Основное правило дизайн-систем: чем меньше компонентов — тем лучше и вам, разработчику и конечному юзеру. Это касается количества цветов, шрифтов, иконок и так далее. Дизайн будет выглядеть более консистентным и единым.

Читать далее

3d-моделирование для новичков

Reading time4 min
Views79K

Для людей, которые захотели заняться 3d моделированием, самым первым вопросом является: "С чего бы начать?". Этот вопрос задают многие, когда начинают вливаться в новую для себя тему и чаще всего сталкиваются с тоннами информации, в которой просто тонут. Чтобы этого избежать, я расскажу с чего начать изучать 3d моделирование.

Читать далее

Теория чисел. Новый метод анализа распределения чисел, в том числе и простых

Reading time6 min
Views19K

В статье рассказывается о новом подходе к анализу распределения простых чисел.
О подходе с использованием формулы распределения чисел для всего натурального ряда.

Читать далее

Information

Rating
Does not participate
Registered
Activity