При запуске Node.js-приложений в контейнерах Docker традиционные настройки памяти не всегда работают так, как ожидается. Материал, перевод которого мы сегодня публикуем, посвящён поиску ответа на вопрос о том, почему это так. Здесь же будут приведены практические рекомендации по управлению памятью, доступной Node.js-приложениям, работающим в контейнерах.
Рубрика «javascript» - 110
Node.js: управление памятью, доступной приложениям, выполняемым в контейнерах
2019-06-05 в 9:30, admin, рубрики: docker, javascript, node.js, Блог компании RUVDS.com, контейнеризация, разработка, Разработка веб-сайтов, управление памятьюМы написали самый полезный код в своей жизни, но его выкинули на помойку. Вместе с нами
2019-06-04 в 15:02, admin, рубрики: api, javascript, TypeScript, Проектирование и рефакторинг, Совершенный код, типизацияЯ повесил у себя в подвале боксерскую грушу, приклеил на нее стоковое фото типичного менеджера и запихал внутрь динамик, чтобы он проигрывал фразы, которые меня злят. Например, груша говорит: «Бизнесу не нужен твой идеальный код. Ему нужно решить проблему так, чтобы прибыль покрыла затраты. Если для этого нужен говнокод, значит будет говнокод». И начинаю дубасить.
Недавно я добавил в грушу запись: «Типы — это сложно и ненужно». В этот момент я бью так сильно, что рука чуть не ломается. Потому что с меня хватит. Пару месяцев назад я пережил один из самых вопиющих кейсов в своей карьере.
Мой друг Антоха попросил меня помочь с решением для одной большой-большой корпорации. Я согласился, и мы влезли в бездонную пучину корпоративного абсурда, кранча, войны с ничего не понимающими JS-никами и всеми видами несправедливости. Нам ничего нельзя говорить, поэтому мы будем говорить про типы, чтобы такая фигня никогда ни у кого не повторялась.
Читать полностью »
Профилируем загрузку Хабра или как влияют 189 запросов на рендер страницы
2019-06-04 в 8:56, admin, рубрики: alt, developer tools, javascript, usability, возьми густой вишневый сок, Клиентская оптимизация, никто не читает теги, оптимизация, оптимизация сайта, Программирование, профилирование, Разработка веб-сайтовНекоторое время назад я заинтересовался производительностью веб-сайтов, оптимизациями загрузки и тому подобными вещами. И вот, зайдя очередной раз на Хабр, подумал, что привык воспринимать довольно быструю загрузку ресурса как данность, даже не задумываясь о том, как этого удалось добиться. Поэтому я решил совместить приятное с полезным — посмотреть, как обстоят дела с производительностью Хабра и какие технические решения были сделаны для его оптимизации. Для тех, кому интересно узнать, что было сделано что бы мы получали контент как можно быстрее и как выглядит загрузка Хабра из Аргентины — прошу под кат.
Школа разработки интерфейсов: разбор заданий для Минска и новый набор в Москве
2019-06-03 в 11:12, admin, рубрики: FrontEnd Development, html css javascript, javascript, Блог компании Яндекс, Занимательные задачки, интерфейсы, обучение программированию, разработка сайтов, Учебный процесс в IT, фронтендСегодня открылся новый набор в Школу разработки интерфейсов Яндекса в Москве. С 7 сентября по 25 октября пройдёт первый этап обучения. Студенты из других городов смогут в нём поучаствовать дистанционно или очно — компания оплатит дорогу и проживание в хостеле. Второй, он же финальный этап продлится до 3 декабря, его можно пройти только очно.
Меня зовут Юлия Середич, этот пост мы написали вместе с Сергеем Казаковым. Мы оба разработчики интерфейсов в минском офисе Яндекса и выпускники ШРИ прошлых лет.
По случаю открытия регистрации в Москве мы публикуем разбор вступительных заданий в предыдущую Школу — здесь, в Минске.
Читать полностью »
Node.js-проекты, в которых лучше не использовать lock-файлы
2019-06-03 в 9:30, admin, рубрики: javascript, node.js, npm, Блог компании RUVDS.com, разработка, Разработка веб-сайтовАвтор материала, перевод которого мы сегодня публикуем, говорит, что одна из проблем, с которыми приходится сталкиваться программистам, заключается в том, что у них их код работает, а у кого-то другого выдаёт ошибки. Эта проблема, возможно, одна из самых распространённых, возникает из-за того, что в системах создателя и пользователя программы установлены разные зависимости, которые использует программа. Для борьбы с этим явлением в менеджерах пакетов yarn и npm существуют так называемые lock-файлы. Они содержат сведения о точных версиях зависимостей. Механизм это полезный, но если некто занимается разработкой пакета, который планируется опубликовать в npm, lock-файлы ему лучше не использовать. Этот материал посвящён рассказу о том, почему это так.
Дайджест свежих материалов из мира фронтенда за последнюю неделю №367 (27 мая — 2 июня 2019)
2019-06-02 в 20:30, admin, рубрики: css, ES6, html, javascript, JS, vue, дайджест, Разработка веб-сайтов, фронтендПредлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.
Трагедия Common Lisp: почему популярные языки раздуваются в сложности
2019-06-02 в 14:18, admin, рубрики: javascript, tc39, изучение языков, раздувание языкаАдаптировано из обсуждения 2015 года. Здесь Common Lisp служит лишь одним из многих наглядных примеров
Будущее JavaScript?
Я с 2007 года работаю в комитете по стандартам JavaScript (TC39). Мы ценим простоту языка, но со временем утратили бдительность. Сложность стала неконтролируемо расти. Нам следует разобраться, почему так происходит естественным образом, какова цена и что с этим делать. Эта статья адресована не только коллегам из TC39, но и всем, кто хочет повлиять на траекторию разработки JavaScript или любого стандарта, столкнувшегося с аналогичным давлением. Учитесь на наших ошибках!
Читать полностью »
Лучшие практики Node.js — советы по структуре проектов
2019-06-02 в 11:09, admin, рубрики: best practices, javascript, node.js, server-side javascript, архитектура приложений, разработка
Привет! Представляю вашему вниманию адаптированный перевод первой главы "Node.js Best Practices" автора Yoni Goldberg. Подборка рекомендаций по Node.js размещена на github, имеет почти 30 т. звезд, но до сих пор никак не упоминалась на Хабре. Предполагаю, что эта информация будет полезна, как минимум, для новичков.
Читать полностью »
Жизнь до рантайма. Доклад Яндекса
2019-06-02 в 10:06, admin, рубрики: AST, dependency injection, javascript, runtime, webpack, Блог компании Яндекс, графы, интерфейсы, Промышленное программирование, системы сборки, технический долгВ большом проекте может возникнуть задача идентификации изменений для конечного пользователя по отличиям в коде фронтенда приложения. Разработчик из Яндекс.Маркета Никита Сидоров рассказал, как мы решали эту проблему при помощи библиотеки Diffector, о построении и анализе графа модулей в Node.js-приложениях и о поиске дефектов в коде до его запуска.
— Сегодня я постараюсь быть с вами максимально откровенным. Читать полностью »
Разработка визуальных тестов на базе Gemini и Storybook
2019-06-02 в 9:24, admin, рубрики: javascript, регрессионное тестирование, Тестирование IT-системПривет! В этой статье я хочу поделиться опытом разработки визуальных тестов в нашей команде.
Так получилось, что о тестировании верстки мы задумались не сразу. Ну съедет какая-нибудь рамка на пару пикселей, ну поправим. В конце концов, есть же тестировщики — мимо них и муха не пролетит. Но человеческий фактор все-таки не обманешь — обнаружить незначительные изменения в пользовательском интерфейсе далеко не всегда физически возможно даже тестировщику. Вопрос встал ребром, когда была затеяна серьезная оптимизация верстки и переход на БЭМ. Тут без потерь бы точно не обошлось и нам позарез стал нужен автоматизированный способ обнаружения ситуаций, когда в результате правок что-то в UI начинает меняться не так, как было задумано, или не там, где было задумано.
Читать полностью »