Рубрика «Блог компании RUVDS.com» - 192

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

Кстати, функциональные программисты правы. Чистые функции — это хорошо. Но есть одна проблема…

Борьба с грязными побочными эффектами в чистом функциональном JavaScript-коде - 1


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

По данным «Лаборатории Касперского», в мире киберпреступности сейчас лидируют три крупнейшие «мафии»: китайская, русская (русскоязычная) и латиноамериканская. Отличительной чертой «русских хакеров» всегда было изобретение новых технологий, специализация на создании сетей из заражённых компьютеров, крупные кражи денег у банков и их клиентов, спам-рассылки и DDoS-атаки. Китайские киберпреступники сосредоточились на атаках против пользователей онлайн-игр, краже данных и интеллектуальной собственности, считают эксперты. Но если тема «русских хакеров» давно стала повесткой мировых СМИ, то об их китайских коллегах пишут заметно реже.

Хакеры: Россия и Китай - 1

Многие страны активно привлекают высококвалифицированных специалистов в области информационной безопасности, и этому ежедневно также посвящается немало новостей: от операций «армии хакеров» Китая, до атак «российских кибер-диверсантов» на энергосистему Украины. Что это: фейк или новая реальность? Хакеры какой страны — России или Китая — опаснее, многочисленнее, применяют наиболее изощренные методы атак?
Читать полностью »

Друзья, пора подвести итоги нашего проекта-конкурса «Сервер в облаках». Если кто-то не в курсе, мы запилили фановый гик-проект: сделали маленький сервер на Raspberry Pi 3, прикрутили к нему GPS-трекер и датчики, погрузили всё это добро на воздушный шар и доверили силам природы. Где приземлится шар, ведомо только богам ветров и покровителям воздухоплавания, поэтому мы предложили всем желающим ставить точки на карте — чьи точки окажутся ближе всего к фактическому месту посадки, получают «вкусные» призы.

Сервер в облаках: Итоги проекта - 1

Итак, наш сервер уже слетал в облака, и пора подвести итоги нашего конкурса.
Читать полностью »

Материал, перевод которого мы сегодня публикуем, подготовили Матиас Байненс и Бенедикт Мейрер. Они занимаются работой над JS-движком V8 в Google. Эта статья посвящена некоторым базовым механизмам, которые характерны не только для V8, но и для других движков. Знакомство с внутренним устройством подобных механизмов позволяет тем, кто занимается JavaScript-разработкой, лучше ориентироваться в вопросах производительности кода. В частности, здесь речь пойдёт об особенностях работы конвейеров оптимизации движков, и о том, как осуществляется ускорение доступа к свойствам прототипов объектов.

Оптимизация работы с прототипами в JavaScript-движках - 1
Читать полностью »

Если вы — JavaScript-разработчик или хотите им стать, это значит, что вам нужно разбираться во внутренних механизмах выполнения JS-кода. В частности, понимание того, что такое контекст выполнения и стек вызовов, совершенно необходимо для освоения других концепций JavaScript, таких, как поднятие переменных, области видимости, замыкания. Материал, перевод которого мы сегодня публикуем, посвящён контексту выполнения и стеку вызовов в JavaScript.

Контекст выполнения и стек вызовов в JavaScript - 1
Читать полностью »

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

Эффективное использование методов массивов в JavaScript - 1
Читать полностью »

Дэвид Хэррон, автор материала, перевод которого мы публикуем сегодня, задался следующим вопросом: «Должен ли человек, работавший более 10 лет в Sun Microsystems, в команде Java SE, до последнего вздоха думать лишь о байт-коде Java и создавать экземпляры абстрактных интерфейсов?». Он задавал этот вопрос применительно к себе, и для него платформа Node.js, после Java, оказалась подобна глотку свежего воздуха. Дэвид говорит, что когда он был уволен из Sun в январе 2009 года (прямо перед поглощением этой компании Oracle), он узнал о Node.js. Эта технология его зацепила. Что значит «зацепила»? С 2010-го года он много писал о программировании для Node.js. А именно, написал несколько книг, в том числе — «Node.js Web Development», четвёртое издание которой вышло в этом году. Он подготовил множество небольших материалов о Node.js, опубликованных в интернете. Фактически, он уделил очень много времени и сил, рассказывая о платформе Node.js и о возможностях JavaScript. Почему того, кто раньше занимался исключительно Java, так увлекли Node.js и JavaScript?

image
Читать полностью »

В последнее время микросервисные архитектуры пользуются определённой популярностью. От того, как взаимодействуют микросервисы, может зависеть производительность и масштабируемость решений, основанных на них. Это взаимодействие может быть синхронным или асинхронным. В материале, перевод которого мы представляем вашему вниманию сегодня, рассматриваются синхронные методы взаимодействия микросервисов. А именно, речь пойдёт об исследовании двух технологий: HTTP/1.1 и gRPC. Первая технология представлена стандартными HTTP-вызовами. Вторая основана на использовании высокопроизводительного RPC-фреймворка от Google. Автор материала предлагает взглянуть на код, необходимый для реализации взаимодействия микросервисов с использованием HTTP/1.1 и gRPC, провести замеры производительности, и выбрать технологию, которая позволяет организовать обмен данными между микросервисами наилучшим образом.

Организация эффективного взаимодействия микросервисов - 1
Читать полностью »

Если вы когда-нибудь создавали директивы Angular, то вы, вероятно, использовали в качестве селектора конструкцию, в которой используются скобки: ([]). Такой подход, хотя чаще всего применяется именно он, не является единственно возможным. На самом деле, селекторы, используемые в директивах, дают программисту широкий простор для творчества. Для того чтобы продемонстрировать эту идею в действии, в материале, перевод которого мы публикуем сегодня, рассмотрена методика создания директивы, предназначенной для работы с внешними ссылками, которые имеются в шаблоне. В частности, речь пойдёт о том, как можно находить обычные HTML-элементы, и, при необходимости, исключать из выборки некоторые из них, используя псевдокласс :not.

Angular: неочевидные возможности селекторов директив - 1

Читать полностью »

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

Трансляция запуска проекта «Сервер в облаках» - 1

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

Итак, полетели!
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js