полезное - все статьи ➜ страница 2


Эффективное или частное хранение данных с помощью JavaScript WeakMaps

Новая структура данных под названием WeakMaps была представлена с в новой спецификации ES6 наряду с Maps. Как и в Maps, данные в WeakMaps хранятся в виде пар ключ-значение.  Разница между ними в том, что WeakMaps не мешает сборке мусора, поскольку после уничтожения ссылок на объекты запись с уничтоженным объектом в качестве ключа становится н...

P.S. Дорогой рефакторинг, нам нужно на время расстаться

Я люблю рефакторинг. Действительно люблю. В процессе TDD (разработки через тестирование) по мере прохождения тестов я могу сосредоточиться исключительно на коде, дорабатывая и доводя его до совершенства. Эта часть процесса мне особенно нравится, учитывая свойственные мне удовольствие от создания новаций и стремление к продуктивности.  Зачаров...

Как создавать и публиковать консольные приложения на Python

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

Связный список в деталях

Определение и пояснение?‍? Когда мы будем говорить “связный список”, то подразумеваться будет однонаправленный связный список. Чтобы получше понять эту структуру данных, давайте рассмотрим ее отличительные особенности и возможности.  В массиве вы можете обращаться к элементам в произвольном порядке (напрямую), но в связном списке вам придётся...

10 правил проектирования взаимодействия, которые нельзя нарушать

Есть в жизни правила, нарушать которые нельзя: нарушишь — дорого заплатишь. В UI-дизайне такие тоже есть, и они называются “эвристика”, или общие правила улучшения юзабилити пользовательских интерфейсов. Это проверенные временем повторяющиеся сценарии, которые помогают пользователям ориентироваться в интерфейсе. Хороший UI-дизайн всегда соотноситс...

Способы публикации библиотеки JavaScript: CDN, NPM, GitHub

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

Rust для разработчиков JS

Rust не вызвал у меня большого интереса, когда я впервые прочитал о нём. Это было около двух лет назад. Я работал веб-разработчиком, программировал в основном на JavaScript и подумал тогда, что Rust не для меня, потому что в тот момент он казался мне очень сложным. А в начале этого года я решил начать изучать его. Что изменилось за это время? Я вс...

Выполнение AES/GCM в Android

Столкнувшись с рядом проблем, связанных с выполнением шифрования и расшифровки AES в Android, я решил поделиться своим опытом. TL;DR: здесь можно найти готовое решение. Если вам нужно указать IV и AAD в качестве входных данных, вот обходной путь и настройка, необходимая при создании ключа. Однако будьте предельно осторожны с этим подходом! Пробл...

Углубление в параметры ядра. Часть 1: загрузочные параметры

Диапазон статьи. EC2 (эластичное облако вычислений) — это наиболее часто используемый AWS-сервис, поскольку он надёжен, гибок и позволяет масштабируемость. EC2 можно назвать “хребтом” AWS, т.к. прямо или косвенно он задействуется во множестве других сервисов AWS. По большей части публичные AMI, предоставляемые Amazon и другими крупными вендорами, ...

Сможете ли вы решить эти 3 «простые» задачи на Python?

Правильное решение вас удивит Попробуйте решить эти задачи самостоятельно, а потом проверьте себя по готовым ответам. Подсказка: У всех задач есть нечто общее. Так что если разобраться в решении первой задачи, то решать остальные будет гораздо проще. Задача 1 Представьте, что у вас есть несколько переменных: x = 1 y = 2 l = [x, y] x += 5 a = ...