Pull to refresh
-7
0
Соловьев Антон Владимирович @MisterN

User

Send message

Анализ и оптимизация React-приложений

Reading time22 min
Views38K
Люди, вроде меня, которые борются за высокую производительность сайтов, часто тратят на это много времени. Поэтому сейчас я собираюсь раз и навсегда решить проблему низкого быстродействий веб-ресурсов, интерфейс которых написан на React. А именно, я предлагаю всем, кто это читает, сегодня же прекратить пользоваться React.



Автор материала, перевод которого мы сегодня публикуем, конечно же, шутит. Здесь речь пойдёт о том, как оптимизировать производительность React-приложений. Кстати, прежде чем начать, подумаем о том, зачем вообще нужна оптимизация сайтов. Пожалуй, можно сказать, что нужна она для того, чтобы сайтом могло бы пользоваться больше людей, чем до оптимизации.
Total votes 34: ↑32 and ↓2+30
Comments4

Изучаем мультикаст операторы RxJS

Reading time11 min
Views20K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Understanding RxJS Multicast Operators» автора Netanel Basal.

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

Мы рассмотрим внутреннее устройство мультикаст операторов и решаемые ими задачи.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

Я есть root. Повышение привилегий в ОС Linux через SUID/SGID

Reading time4 min
Views36K
В прошлом посте я провел «обзорную экскурсию» по методам повышения привилегий в ОС Linux. Сегодня разбираю вектор повышения привилегий через небезопасные разрешения SUID/SGID. Поэтому больше консоли и меньше слов.

main
Читать дальше →
Total votes 19: ↑18 and ↓1+20
Comments9

Rx. Постигаем retryWhen и repeatWhen на примерах из Android разработки

Reading time4 min
Views27K
В сети очень много русско- и англоязычных статей по Rx операторам retryWhen и repeatWhen.
Несмотря на это, очень часто встречаю нежелание их использовать (ввиду сложного синтаксиса и непонятных диаграмм).

Приведу несколько примеров как можно с их помощью эффективно перезапускать участки цепи и делегировать обработку перезапусков при ошибках и завершениях потока.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments13

Книга «JavaScript с нуля»

Reading time6 min
Views21K
imageПривет, Хаброжители! JavaScript еще никогда не был так прост! Вы узнаете все возможности языка программирования без общих фраз и неясных терминов. Подробные примеры, иллюстрации и схемы будут понятны даже новичку. Легкая подача информации и живой юмор автора превратят нудное заучивание в занимательную практику по написанию кода. Дойдя до последней главы, вы настолько прокачаете свои навыки, что сможете решить практически любую задачу, будь то простое перемещение элементов на странице или даже собственная браузерная игра.

Вот небольшой список того, что вы узнаете:

  • Как организовать код с помощью переменных.
  • Как функции делают ваш код повторно используемым.
  • Как работать с циклами и условиями.
  • Что такое глобальная и локальная области видимости.
  • Что такое замыкания.
  • Как правильно писать комментарии.
  • Основные типы объектов, с которыми вы столкнетесь в JavaScript.
  • Как работать с текстом и выполнять стандартные операции со строками.
  • Как использовать массивы для обработки списков.
  • Как создавать собственные объекты.

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments2

RxJS: реактивное расширение для фронтенд разработки

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

Итак, прошу любить и жаловать, Виктор Русакович. Родом из Минска, работает в компании GP Software.travel.
Виктор последние пять лет занимается (в основном) фронт-енд разработкой. Ну а начинал, как и большинство из нас, с jQuery.

Потом был backbone, angular v1. Последние полгода он работает в проекте на Redux/React.js (часто их путают с RxJS, но это немного другое).


Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments50

Удалённая разработка в VS Code: ваша жизнь никогда не будет прежней

Reading time3 min
Views67K

У нас в TestMace Visual Studio Code является одним из самых популярных инструментов. И тем более отрадно, что он развивается семимильными шагами. Вашему вниманию предлагается перевод статьи об еще одной вкусной фиче, которая доступна пока только в VS Code Insiders.


Согласен, немного переборщил с заголовком, просто меня переполняют эмоции. Я решил поделиться своими первыми впечатлениями от удалённой разработки в VS Code, на момент написания статьи доступной в VS Code Insiders.

Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments10

RxJS и Angular: искусство отписки от уведомлений

Reading time4 min
Views9.5K

Если вы используете Angular и библиотеку RxJS, здесь вы узнаете все способы, которые вам могут понадобиться, чтобы подписываться на уведомления от объектов Observable и отписываться от них!

Мы используем RxJS во всех приложениях Angular, которые пишем. RxJS оказывает значительное влияние на поток данных в наших приложениях, их производительность и многое другое.

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

Начнем с создания демонстрационного сервиса (DummyService), которой поможет нам отслеживать устанавливаемые подписки.

Читать далее
Total votes 8: ↑5 and ↓3+4
Comments7

Создание приложений на Angular с использованием продвинутых возможностей DI

Reading time8 min
Views7.7K

Меня зовут Андрей, и я занимаюсь разработкой фронтенда на Angular для внутренних продуктов компании. Фреймворк обладает обширными возможностями, одни и те же задачи можно решить огромным количеством способов. Чтобы облегчить свою работу и повысить продуктивность, я задался целью найти универсальный и не сложный подход, который бы упростил проектирование и позволил уменьшить объем кода при сохранении его читаемости. Методом проб и ошибок я пришел к архитектуре, которой хочу поделиться в этой статье.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments11

Изучай observable, создавая observable

Reading time7 min
Views38K

Эта статья — перевод оригинальной статьи Ben Lesh “Learning Observable By Building Observable”.

Ben Lesh рассказывает как создать свой observable и сравнивает его работу с observable из RxJs.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments2

Подробное описание операторов RxJS — Часть 1

Reading time6 min
Views13K

Первое, что нужно понять об операторах, - это почему они существуют. Они существуют, потому что observables как тип позволяют нам обрабатывать события (или значения во времени) как множества или набор вещей.

Говоря более просто, любое четко определенное множество будет иметь операции, которые могут быть выполнены с ним, которые могут преобразовать его в новое множество того же типа. Например, предположим, что у нас есть грузовик с яблоками. Мы могли бы превратить его в грузовик с нарезанными яблоками с помощью машины для нарезки яблок. Та же самая машина для нарезки яблок затем может быть использована на любом грузовике с яблоками, чтобы превратить их в грузовик, загруженный нарезанными яблоками. В этом случае машина для нарезки яблок будет считаться «оператором», который сопоставляет яблоки с ломтиками яблок. Точно так же мы могли бы иметь грузовик с сахаром, мукой, яйцами и т. д. И объединить их с грузовиком с ломтиками яблока, чтобы сделать грузовик с яблочными пирогами, используя какую-то машину для производства пирогов. Итак, в этом примере грузовик - это тип множества, машина для нарезки яблок или машина для изготовления пирогов будут «операторами», а сахар, яблоки, ломтики яблок, яйца и т. д. Будут просто значениями, переносимыми нашим типом множества.

Читать далее
Total votes 8: ↑5 and ↓3+3
Comments0

Порядок операторов в RxJs

Reading time9 min
Views14K

TL;DR: Порядок важен. Операторы довольно атомарны и зачастую очень просты, но это не мешает им объединяться в сложные последовательности, в которых легко допустить ошибку. Давайте разберемся.

Читать далее
Total votes 8: ↑7 and ↓1+7
Comments8

Воспитание Obsidian — вашего персонального информационного менеджера

Reading time5 min
Views128K


Методик повышения личной эффективности хоть пруд пруди. Как по мне, основная проблема с ними в том, что нужно работать самому. Совершенно нормальное стремление — избежать приложения усилий. Пускай хорошая методика и есть тот рычаг, коим обещают сдвинуть Землю, но физика знает, что всю-всю работу делать всё равно нам самим. Основной вопрос, терзавший меня в вопросе выбора персонального информационного менеджера заключался в том, что он будет делать вместо меня. Задача была не самая лёгкая. За короткий срок разобраться в новой области — организовать конспекты, классифицировать справочники и литературу по теме. Море открытых вкладок браузера (всё очень нужное, оно не должно скрыться из глаз), pdf-файлы, заботливо присланные новыми коллегами… С этим всем в голове я познакомился с программой Obsidian, которая пообещала стать A second brain, for you, forever.

Читать дальше →
Total votes 38: ↑34 and ↓4+41
Comments18

Как работает JS: классы и наследование, транспиляция в Babel и TypeScript

Reading time11 min
Views45K
В наши дни использование классов являются одним из самых популярных способов структурирования программных проектов. Этот подход к программированию применяется и в JavaScript. Сегодня мы публикуем перевод 15 части серии материалов, посвящённых экосистеме JS. В этой статье речь пойдёт о различных подходах к реализации классов в JavaScript, о механизмах наследования и о транспиляции. Начнём мы с рассказа о том, как работают прототипы и с анализа различных способов имитации наследования, основанного на классах, в популярных библиотеках. Далее мы поговорим о том, как, благодаря транспиляции, можно писать JS-программы, использующие возможности, которые либо отсутствуют в языке, либо, хотя и существуют в виде новых стандартов или предложений, находящихся на разных стадиях согласования, пока не реализованы в JS-движках. В частности, речь пойдёт о Babel и TypeScript и о классах ECMAScript 2015. После этого мы разберём несколько примеров, демонстрирующих особенности внутренней реализации классов в JS-движке V8.
image
Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments17

Почему вы можете обойтись без Babel

Reading time11 min
Views21K

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

Ознакомившись с этой статьей, вы поймете:

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

- как использовать редактор Visual Studio Code, чтобы обойтись без Babel.

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

Читать далее
Total votes 12: ↑6 and ↓60
Comments3

Как прорешать SICP: Отчёт о создании решебника для самого известного в мире задачника по программированию. Ботаны есть?

Reading time45 min
Views17K

(Хабр-Статья представляет собой авторский перевод доклада, представленного автором на Scheme Workshop 2020, проводившегося в рамках Международной Конференции по Функциональному Программированию, 28 августа 2020 года)

Эта статья -- своего рода "отчёт" по самому большому проекту, который я сделал в своей жизни по собственной инициативе. Я сделал полное, исчерпывающее решение всех задач из одной из самых извесных книг по программированию в мире "Структура и Интерпретация Компьютерных Программ" (Structure and Interpretation of Computer Programs -- SICP), за авторством Абельсона, Сассмана и Сассман.

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

Читать далее
Total votes 19: ↑19 and ↓0+19
Comments14

Конструкции ферритовых запоминающих устройств (часть первая)

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

Куб Soemtron 381
Много текста и фотографий
Total votes 129: ↑129 and ↓0+129
Comments141

PC Buyer's guide: выбор видеокарты

Reading time11 min
Views42K
Привет, Geektimes! Мы продолжаем наш цикл статей о выборе железа для компьютера. В прошлых выпусках мы затрагивали тему материнских плат, процессоров и чипсетов, систем охлаждения, жёстких дисков и блоков питания. Сегодня же говорим о том, что выводит ваш любимый ресурс на мониторы: о видеокартах.


Читать дальше →
Total votes 41: ↑39 and ↓2+37
Comments57

Пример применения кода Рида-Cоломона

Reading time9 min
Views21K

Пример применения кода Рида-Cоломона

О чём это всё?

Всем привет! Наконец дошли руки описать то как я проверял на практике знания, полученные в ходе написания трёх статей об избыточном кодировании по методу Рида-Соломона (раздватри)

Читать далее
Total votes 102: ↑102 and ↓0+102
Comments46

Information

Rating
Does not participate
Location
Оренбург, Оренбургская обл., Россия
Registered
Activity