Pull to refresh
23
Karma
0
Rating

User

Профилирование Node.js. Доклад Яндекса

Яндекс corporate blog Яндекс Практикум corporate blog JavaScript *Server optimization *Node.JS *
Полтора года назад я выступил на FrontendConf и посвятил 40 минут профилированию. Перечисленные приемы и инструменты по-прежнему актуальны — сегодня публикую видео с подробным конспектом. Доклад расскажет, что такое профилирование, научит локализовывать потенциальные утечки памяти, а также немного углубит ваше понимание инструмента DevTools.

— Всем привет. Меня зовут Артём Несмиянов, я fullstack-разработчик Яндекс.Практикума. И, как видите, сегодня я хочу рассказать о профилировании Node.js, хотя это не совсем фронтендерская тема. Но сейчас очень много приложений используют фронтбэк, где есть свой server-side rendering, где нужно это все отдавать клиенту, и фронтендеру часто приходится взаимодействовать с Node.js. Иногда происходят вещи, которые могут повлиять на ваш сервер, положить его, перегрузить и так далее. С этим надо бороться. Я хочу показать, какие методы использовали мы. Это скорее введение в профилирование Node.js.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Views 6.1K
Comments 0

KODI: собираем удобный и функциональный медиацентр для дома. Часть 1

Configuring Linux *Working with video *IPTV *Video equipment DIY
Tutorial
Sandbox
✏️ Technotext 2021

Поговорим о том, как при наличии небольшого количества времени и навыков построить мультимедийный комбайн с дополнительными возможностями домашнего сервера на базе Kubuntu 20.04 и KODI, способного работать 24/7/365.

Читать дальше →
Total votes 70: ↑69 and ↓1 +68
Views 268K
Comments 188

Реверс-инжиниринг домашнего роутера с помощью binwalk. Доверяете софту своего роутера?

Information Security *Network technologies *Reverse engineering *DevOps *Network hardware
Tutorial
Translation


Несколько дней назад, я решил провести реверс-инжиниринг прошивки своего роутера используя binwalk.


Я купил себе TP-Link Archer C7 home router. Не самый лучший роутер, но для моих нужд вполне хватает.


Каждый раз когда я покупаю новый роутер, я устанавливаю OpenWRT. Зачем? Как правило производители не сильно заботятся о поддержке своих роутеров и со временем софт устаревает, появляются уязвимости и так далее, в общем вы поняли. Поэтому я предпочитаю хорошо поддерживаемую сообществом open-source прошивку OpenWRT.


Скачав себе OpenWRT, я так же скачал последний образ прошивки под мой новый Archer C7 с официального сайта и решил проанализировать его. Чисто ради фана и рассказать о binwalk.

Читать дальше →
Total votes 57: ↑56 and ↓1 +55
Views 52K
Comments 16

Трудности перевода: уязвимости шлюзов промышленных протоколов

Trend Micro corporate blog Information Security *Research and forecasts in IT *
Языковой барьер существует не только между айтишниками и пользователями. «Умные» производства и компьютеры, управляющие ими, также не способны общаться между собой без переводчиков — специализированных шлюзов промышленных протоколов. В этом посте мы расскажем о слабых местах шлюзов протоколов и о том, как злоумышленники могут использовать их, чтобы нанести вред предприятиям.

image
Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 4.6K
Comments 3

Continuous Integration как практика, а не Jenkins. Андрей Александров

DevOps *


Обсудим почему CI-инструменты и CI – это совсем про разное.


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

Total votes 13: ↑11 and ↓2 +9
Views 4.8K
Comments 9

Создаём библиотеку по последнему слову техники

JavaScript *TypeScript *

Привет, Хабр. Это статья о том как написать Hello world по последнему слову техники.


В конце мы получим hello world библиотеку которая:


  • Использует typescript
  • Заботится о codestyle
  • Генерирует доку
  • Проводит тесты
Читать дальше →
Total votes 18: ↑14 and ↓4 +10
Views 8.6K
Comments 8

Феномен XY: как избежать «неправильных» проблем

Dodo Engineering corporate blog Project management *Lifehacks for geeks
Задумывались ли вы когда-нибудь о том, как много часов, месяцев и даже жизней было впустую потрачено на решение «неправильных» проблем?


Читать дальше →
Total votes 33: ↑27 and ↓6 +21
Views 20K
Comments 35

Разбираемся в основах Blockchain: Задача Византийских Генералов. Часть 1

OTUS corporate blog Algorithms *Cryptocurrencies
Translation
Перевод статьи подготовлен специально для студентов курса «Архитектор высоких нагрузок», который стартует уже в этом месяце.




Блокчейн – это децентрализованная система, состоящая из различных субъектов, которые действуют в зависимости от своих стимулов и имеющейся у них информации.

Всякий раз, когда новая транзакция транслируется по сети, узлы могут включить эту транзакцию в копию своего леджера или проигнорировать ее. Когда большинство участников сети принимают решение о принятии определенного состояния, достигается консенсус.
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Views 22K
Comments 8

О сетевой модели в играх для начинающих

Game development *Network technologies *Games and game consoles
Translation
image

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

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

В целом существует два основных типа сетевых архитектур: peer-to-peer и клиент-серверная. В архитектуре peer-to-peer (p2p) данные передаются между любыми парами подключенных игроков, а в клиент-серверной архитектуре данные передаются только между игроками и сервером.

Хотя архитектура peer-to-peer по-прежнему используется в некоторых играх, стандартом является клиент-серверная: она проще в реализации, требует канал меньшей ширины и облегчает защиту от читерства. Поэтому в этом руководстве мы сосредоточимся на клиент-серверной архитектуре.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 30K
Comments 6

Лучшие методики тестирования в JavaScript и Node.js

VK corporate blog JavaScript *System Analysis and Design *Node.JS *Web services testing *
Tutorial
Translation

Это исчерпывающее руководство по обеспечению надёжности в JavaScript и Node.js. Здесь собраны десятки лучших постов, книг и инструментов.

Сначала разберитесь с общепринятыми методиками тестирования, которые лежат в основе любого приложения. А затем можно углубиться в интересующую вас сферу: фронтенд и интерфейсы, бэкенд, CI или всё перечисленное.
Total votes 47: ↑46 and ↓1 +45
Views 54K
Comments 3

Архитектура микросервисов

VK corporate blog High performance *Website development *Designing and refactoring *Microservices *
Translation


К сожалению, у меня нет опыта работы с микросервисами, но около года назад я очень активно интересовался этой темой и изучил все источники информации, какие смог найти. Я просмотрел несколько выступлений на конференциях, прочитал несколько статей очень авторитетных и опытных специалистов вроде Мартина Фаулера, Фреда Джорджа, Эдриана Кокрофта и Криса Ричардсона, чтобы как можно больше узнать о микросервисах. Эта статья — результат моих изысканий.
Total votes 79: ↑75 and ↓4 +71
Views 223K
Comments 267

Разработка под WebAssembly: реальные грабли и примеры

JUG Ru Group corporate blog JavaScript *C++ *WebAssembly *


Анонс WebAssembly состоялся в 2015-м — но сейчас, спустя годы, всё ещё немногие могут похвастаться им в продакшне. Тем ценнее материалы о подобном опыте: информация из первых рук о том, каково с этим жить на практике, пока что в дефиците.

На конференции HolyJS доклад об опыте использования WebAssembly получил высокие оценки зрителей, и теперь специально для Хабра подготовлена текстовая версия этого доклада (видеозапись также приложена).
Читать дальше →
Total votes 73: ↑72 and ↓1 +71
Views 41K
Comments 59

Построение микросервисной архитектуры на Golang и gRPC, часть 1

Go *
Tutorial
Sandbox

Введение в микросервисную архитектуру


Часть 1 из 10


Адаптация статей Ewan Valentine.


Это серия из десяти частей, я постараюсь раз в месяц писать про построение микросервисов на Golang. Я буду использовать protobuf и gRPC в качестве основного транспортного протокола.


Стек, который я использовал: golang, mongodb, grpc, docker, Google Cloud, Kubernetes, NATS, CircleCI, Terraform и go-micro.


Зачем мне это? Поскольку мне потребовалось много времени, чтобы разобраться в этом и решить накопившиеся проблемы. Так же я хотел поделиться с вами тем, что я узнал о создании, тестировании и развертывании микросервисов на Go и другие новые технологии.


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


  • грузы
  • инвентарь
  • суда
  • пользователи
  • роли
  • аутентификация
Читать дальше →
Total votes 25: ↑17 and ↓8 +9
Views 40K
Comments 8

Laravel 5.3: Подготовка к разработке (для новичков)

Website development *Laravel *
Приветствую тебя, Хабра-сообщество и новички в мире Laravel!

Данная статья написана для новичков в сфере Лары и призвана помочь им в начальной стадии освоения фреймворка.

В статье будут рассмотрены, так сказать, «базовые» пакеты, без которых лично мне трудно работать над каким-либо проектом.

Итак, если Вам интересна тема, прошу под кат.

Laravel 5.3

Читать дальше →
Total votes 25: ↑20 and ↓5 +15
Views 122K
Comments 96

Путеводитель по JavaScript Promise для новичков

ZeroTech corporate blog Ajax *Website development *JavaScript *
Tutorial
image

Этот материал мы подготовили для JavaScript-программистов, которые только начинают разбираться с «Promise». Обещания (promises) в JavaScript – это новый инструмент для работы с отложенными или асинхронными вычислениями, добавленный в ECMAScript 2015 (6-я версия ECMA-262).
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Views 132K
Comments 61

Небольшой обзор исходного кода трояна zeus

Information Security *
Sandbox

Введение


image
Как нам подсказывает англо-русский словарь, zeus переводится как Зевс, Громовержец, главный бог древне-греческого пантиона. Назвав свое творение zeus в далеком уже 2007 году, неизвестный автор трояна взял на себя определенные обязательства, обязывающие быть если не главным, то как минимум в числе первых, и надо признать, он выполнил, и даже перевыполнил эти обязательства.
Zeus-троян стал уже легендарным на просторах Интернета и даже за его пределами за последние несколько лет. Ни один из троянов не зацвел таким буйным цветом, не распространился так широко, как этот, а по широте охвата zeus ненамного отстает от печально знаменитого червя Kido/Conficker.
Читать дальше →
Total votes 48: ↑44 and ↓4 +40
Views 37K
Comments 34

Android Process: Я тебя породил, я тебя и …

Development for Android *


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

В этой статье я расскажу о некоторых ошибках, которые могут возникнуть в результате нарушения шестой заповеди (не убей) по отношению к процессу приложения, и о том как проверить на сколько качественно он возвращается с того света.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Views 38K
Comments 18

Пять способов оптимизации кода для Android 5.0 Lollipop

Intel corporate blog Development for Android *
Translation
Как сделать программы быстрее? Один из эффективных способов – оптимизация кода. Зная особенности платформы, для которой создаётся приложение, можно найти эффективные способы его ускорения.


Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Views 35K
Comments 15

Киски: Рефакторинг. Часть третья или причесываем шероховатости

PHP *Programming *Designing and refactoring *
Tutorial
Translation
imageВ первой и второй частях серии статей мы проделали немного работы по разделению того кода и тех лишних действий, которые мы понаписали в одной функции. В основном же мы имели дело с классами HttpClient и Cache, и их разными реализациями, чтобы написать тестируемый клиент для апи кисок.

Представление данных


До этого мы обращали много внимания на поведение и общую структуру кода, но забиывали про на данные, с которыми имеем дело. Сейчас у нас все является строками, включая возвращаемое значение CatApi::getRandomImage(). То есть вызывая этот метод, мы «знаем», что получим строку. Говорю «знаем», так как PHP может вернуть все — объект, ресурс, массив и т.д. Тем не менее, хоть в случае с RealCatApi::getRandomImage() мы и можем быть уверенны, что нам придет строка, так как мы явно приводим значение к ней, мы не можем точно сказать, что эта строка будет «полезна» (валидна) для того, кто вызвал этот метод: это может быть и пустая строка, строка, которая не содержит URL (типа «I am not a URL») и так далее.
Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 9.9K
Comments 5

Information

Rating
Does not participate
Location
Бобруйск, Могилевская обл., Беларусь
Date of birth
Registered
Activity