Как стать автором
Обновить
-16
0
Владислав Чеснов @TAZAQ

Фронт-среднячок (старший)

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

TypeScript тип any против всех

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

В жизни каждого разработчика на TypeScript наступает момент, когда ему хочется рвать с все связи с типом any. А ведь по началу, он казался таким милым! Сделай переменной аннотацию типа any и используй любое свойство и метод этой переменной так, как привык работать в JavaScript. Никаких тебе ошибок, все чинно и спокойно, по-старому.

Документация TypeScript оправдывает использование any только на время переноса кодовой базы из JavaScript в TypeScript, но считает постыдным его использование в полноценном проекте. Казалось бы, все хорошо, только в описании типов библиотечных функций самого TypeScript аннотации any встречаются. Очень полезный JSON.parse, один из таких методов. Мы можем каждый раз писать as unknown, а можем доопределить библиотечный интерфейс.

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

JavaScript: чтение и запись файлов с помощью File System Access API

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



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


В этой небольшой статье я хочу рассказать вам о File System Access API (далее — FSA), позволяющем читать и записывать файлы в локальную систему пользователя с помощью браузера.


Основные источники:



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

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

Асинхронное программирование в однопоточных средах JavaScript

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

Асинхронное программирование в однопоточных средах JavaScript


Моя прошлая обучающая статья Введение в Redux & React-redux набрала больше 100к просмотров. Что же это не может не радовать меня. И поэтому я решил порадовать и вас написав очередную статью по JavaScript. Хотя если честно я не хотел больше писать статьи поскольку это довольно сложно, занимает уйму времени и сил, а еще мне не платят за всю эту научную работу. Так что следующую статью я напишу только если эта наберет 150к просмотров.

Оглавление


1. Введение в асинхронное программирование
2. Цикл событий
3. Отложенное выполнение кода с помощью setTimeout setImmediate и process.nextTick
....3.1 setTimeout
....3.2 setImmediate
....3.3 process.nextTick
4. Устаревшие паттерны асинхронного программирования
5. Promise
....5.1 Основы Promise
....5.2 Методы экземпляра Promise
........5.2.1 Promise.prototype.then
........5.2.2 Promise.prototype.catch
........5.2.3 Promise.prototype.finally
....5.3 Композиция и цепочки промисов
........5.3.1 Графы промисов
........5.3.2 Параллельная композиция промисов с Promise.all и Promise.race
........5.3.3 Серийная композиция промисов
6. Асинхронные функции
....6.1 Остановка и возобновление выполнения
....6.2 Стратегии для асинхронных функций
........6.2.1 Реализация Sleep
........6.2.2 Максимизация распараллеливания
........6.2.3 Серийное выполнение промисов
........6.2.4 Трассировка стека и управление памятью

1. Введение в асинхронное программирование

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

Ломаем датчик утечки газа

Время на прочтение7 мин
Количество просмотров108K
Ежегодно в России из-за утечки бытового газа происходят десятки взрывов. В частности, грустный рекорд был отмечен в 2008 году, когда только в январе произошло 7 мощнейщих взрывов, в которых пострадали и погибли люди. О разрушениях и убытках я уже и не говорю. И это только случаи, которые попали в ленту федеральных новостей. На самом деле, утечек газа значительно больше. Изношенность оборудования, неаккуратность и безответственность — главные причины подобных трагедий. Их может быть меньше, если активнее внедрять системы контроля утечек газа, реализованных на недорогих электрохимических сенсорах. Одно из таких устройств попало мне в руки. Статья посвящена анализу девайса и возможных неспортивных способов его использования. Однако, главную функцию устройство выполняет всецело, поэтому после технических издевательств оно будет дополнительно протестировано в биогазовой лаборатории, о которой можно прочесть здесь, и затем подарено Матушке, у которой всю жизнь на кухне газ).

Внимание! Возрастное ограничение статьи 18+
Что дальше?
Всего голосов 44: ↑39 и ↓5+34
Комментарии29

Вы неправильно пишете животных

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


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Всего голосов 442: ↑438 и ↓4+434
Комментарии352

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

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

Frontend Developer
Middle
От 180 000 ₽
Vue.js
TypeScript
SCSS
Jest