Привет! Меня зовут Валид Панин, хочу поделиться кратким чек-листом скилов аналитика. Расскажу какие харды и соф-скилы использую в своей работе с примерами, пояснениями и списком литературы и ресурсов, которые помогут подтянуть знания. Мне бы пригодился такой чек-лист как карта развития, если бы я сейчас начинал свой путь аналитиком.
Рубрика «javascript» - 10
Мой краткий чек-лист по скилам системного аналитика
2022-06-06 в 14:32, admin, рубрики: css, javascript, sql, Анализ и проектирование систем, аналитик, архитектура, архитектура по, веб-технологии, диаграммы, интеграция сервисов, Карьера в IT-индустрии, софт-скиллыПамять в браузерах и в Node.js: ограничения, утечки и нестандартные оптимизации
2022-06-02 в 7:56, admin, рубрики: javascript, node.js, Блог компании Яндекс, интерфейсы, Клиентская оптимизация, нехватка памяти, Разработка веб-сайтов, Серверная оптимизация, управление памятью, утечки памятиИнтро: почему я написал эту статью
Меня зовут Виктор, я разрабатываю страницу результатов поиска Яндекса. Несмотря на внешнюю простоту, поисковая выдача — сложная штука: на каждый запрос генерируется своя уникальная страница, на которой в зависимости от запроса может присутствовать блок Картинок, Карты, Переводчик, видеоплеер и многие другие компоненты. Все они должны запускаться и работать в памяти обычных бюджетных телефонов, которые использует большинство наших пользователей. Браузерам должно хватать ресурсов, чтобы пользователь не видел вот такого:
На своих серверах мы должны генерировать сотни миллионов уникальных страниц в сутки — это сложнее, чем просто отдавать одни и те же ресурсы. Генерация страницы не должна быть слишком требовательной к памяти сервера.
Разрабатывая проект на JavaScript (TypeScript, ClojureScript или каком-то другом языке, транслируемом в JavaScript), мы привыкли создавать объекты, массивы, строки и вообще писать код, как будто память бесконечна. Это не так. Я расскажу о видах проблем с памятью, о том, какие ограничения мы часто забываем и как их можно преодолеть. В ответ браузеры и пользователи скажут вам спасибо.
- Категории проблем с памятью
- Ограничения по памяти для разных типов данных
Heap
Buffer, TypedArray
String
Map, Set
Call stack
Типичные задачи, в которых можно наткнуться на ограничения по памяти - Soft-утечки
Пример из продакшена
Как получаются soft-утечки
Как их обнаружить
Как найти причину
1. Memory Allocation Timeline
2. Техника трёх снапшотов
3. queryObjects
Тренируемся находить утечки - Hard-утечки
Пример из продакшена
Как бороться - Нестандартные оптимизации памяти в Node.js
Исходный код
Module._pathCache
Несколько версий пакета в node_modules
require('./data.json') - Заключение
Wordle или как выиграть за 6 ходов
2022-05-22 в 21:25, admin, рубрики: algorithm, complexity, game theory, javascript, puzzle, wordle, АлгоритмыВведение в SVG-анимации для верстальщиков
2022-05-22 в 15:35, admin, рубрики: css, javascript, JS, svg, анимации, Разработка веб-сайтов
Время идет, технологии меняются, набитые шишки копятся, настала пора обновить материалы по SVG-анимациям. Тем более, что тема для многих фронтендеров все еще остается странной и запутанной. В этой статье мы рассмотрим SVG-анимации с разных сторон, посмотрим на актуальное состояние дел, возможности и сопутствующие инструменты. Мы не будем разбирать каждое свойство и каждый хак. Слишком большой объем материала получится. Для этого есть MDN и ему подобные сайты. Задача текущей статьи — дать общее представление о том, что бывает, и от чего можно оттолкнуться, если вы решили изучать эту тему, а у вас полная каша в голове.
20+ консольных команд, которые изменят ваше представление об отладке
2022-05-20 в 20:36, admin, рубрики: Google Chrome, javascript, джаваскрипт, консоль, консоль разработчика, переводВам, вероятно, уже известен метод console.log и несколько других, но на деле их существует более 20 видов. Каждый из них по-своему полезен, и используя их по назначению, вы заметно повысите качество отладки.
Основные методы консоли
Начнем с 5 основных методов:
-
log
-
debug
Симулятор x86 подобного процессора на машине Тьюринга
2022-05-15 в 13:05, admin, рубрики: javascript, turing machine, Алгоритмы, машина Тьюринга, Программирование, симулятор процессораПривет! В свободное от работы время по вечерам мне нравится воплощать в жизнь свои сумасшедшие идеи. В один из таких вечеров родилась мысль реализовать компилятор кода в машину Тьюринга. Осознав всю тщетность бытияЧитать полностью »
Знакомство с ООП на примере JavaScript
2022-05-15 в 10:00, admin, рубрики: abstraction, classes, incapsulation, inheritance, javascript, object composition, polymorphism, ruvds_перевод, Блог компании RUVDS.com, ооп, ПрограммированиеВсем привет! В этой статье мы рассмотрим основные характеристики объектно-ориентированного программирования (ООП) на практических примерах JS-кода. В ходе обсуждения мы осветим основные принципы ООП, а также ответим на вопросы, почему и когда этот стиль может быть полезен. Читать полностью »
Хабрчане закидали меня камнями за косяки в МВП. Я не уныл, всё поправил и готов получать новую порцию или релиз Измерии
2022-05-14 в 6:52, admin, рубрики: foss, javascript, open source, OpenStreetMap, жилье, измерия, некоммерческий проект, помощник, Развитие стартапа, рейтинги, сервис, СофтПривет. Полгода назад я выкатывал МВП приложения, в котором можно было оценить места своего проживания по определённым критериям, например, качество воды или воздуха.
И вот я готов представить обновлённую Измерию. Всё, что осталось от старой, — возможность оставлять рейтинги на карте и её (карты) вид. Для полного списка изменений предлагаю проследовать на специально отведённую для этого страницуЧитать полностью »
Нецелевое использование утверждающих функций в TypeScript
2022-05-08 в 10:00, admin, рубрики: assertion function, ember, javascript, linkedin, ruvds_перевод, TypeScript, Блог компании RUVDS.com, ПрограммированиеЭто ужасный (но очень полезный) хак, который я придумал для добавления типов в старый код. Вчера мой коллега, работающий над добавлением типов в одну из наших основных библиотек на LinkedIn, спросил меня, как быть со старым (и уже не рекомендуемым) паттерном. В качестве одного из вариантов решения мы попробовали применить утверждающую функцию. вразрез с её предназначением. В конечном итоге нам не удалось добиться конкретно желаемого 1, но мне этот паттерн показался достаточно интересным, чтобы им поделиться.Читать полностью »
Безопасность Web Apps в Telegram ботах
2022-05-07 в 20:13, admin, рубрики: ajax, javascript, telegram, web apps, информационная безопасность16 апреля 2022 Telegram презентовал новую фичу - Web apps, с помощью которой можно открывать веб страницы в боте без перехода в браузер. Подробнее можно почитать в источнике https://core.telegram.org/bots/webapps.
Однозначно это удобная функция для пользователей и для разработчиков. Но, так как это веб приложение, можно просмотреть что под капотом. Telegram привел в качестве примера ботаЧитать полностью »