[Из песочницы] Как начать разрабатывать универсальные приложения с библиотекой Next.js

We don’t need no traffic building,
We don’t need no SEO,
No link exchanges in your network,
Spammers! leave us all alone.

Anna Filina

Немного истории


В далеком 2013 году Spike Brehm из Airbnb опубликовал программную статью, в которой проанализировал недостатки SPA-приложений (Single Page Application), и в качестве альтернативы предложил модель изоморфных веб-приложений. Сейчас чаще используется термин универсальные веб-приложение (см. дискуссию).

В универсальном веб-приложении каждая страница может формироваться как веб-сервером, так и средствами JavaScript на стороне веб-браузера. При этом, исходный код программ, которые выполняются веб-сервером и веб-браузером должен быть единым (универсальным), чтобы исключить несогласованность и повышение затрат на разработку.
Читать дальше →

[Из песочницы] Отзыв на трудоустройство в компанию Soshace

В декабре 2017 интервьюировался в компанию Soshace на позицию Full-Stack Web Developer (JavaScript, remote work). На тот момент, мне не удалось найти каких-то отзывов о прохождении собеседования в эту компанию, поэтому решил заполнить пробел.
Читать дальше →

Оставайся ленивым с angular/cli

Для запуска приложения Angular 5 на сервере node.js необходимы:
  • node.js
  • angular/cli*
  • yarn**

* следуя рекомендациям сайта будет установлена версия 1.2 Ленивцам вроде меня нужна версия 1.6*.
Подробности под спойлером
Если ng (angular/cli) уже установлен. Проверьте версию
ng -v

Если версия <1.6 — обновимся
npm uninstall -g @angular/cli
npm cache
npm cache verify
npm i -g @angular/cli@latest

Проверим результат
ng -v

Если версия > 1.6 — цель достигнута.

** опционально, но с ним быстрее

Шаг 1. Развертываем новое приложение


Вообще говоря, заголовок слишком громкий для необходимых действий.
Читать дальше →

[Из песочницы] Введение в Seneca.JS

Seneca — microservices toolkit для Node.JS. Он предоставляет плагины, которые заботятся об основах вашего приложения. Это позволяет сосредоточиться на реальной бизнес-логике. Нет необходимости беспокоиться о том, какую базу данных использовать, как структурировать компоненты или как управлять зависимостями. Просто начните писать код.


Вы описываете всё как действия. Действия вызываются всякий раз, когда они соответствуют набору свойств. Ваш вызывающий код не знает и не заботится, какое действие выполняет работу. Один объект JavaScript входит, а другой выходит, асинхронно.


Чем Seneca.js не является


Я люблю конкретные сравнения, и увы я быстро делаю поспешные обобщения, которые могут в конечном итоге причинить мне боль.
Чтобы этого избежать, вот список того, что нет у Seneca:


  • Seneca — это не “строгий” фреймворк. Seneca не навязывает вам ни архитектуру приложения ни каких-либо подходов. Хотите разместить все свое приложение в одном действии? Вы можете. Хотите сделать каждое действие всего в 5 строк кода? Вы тоже можете это сделать. Seneca невероятно надежен и будет работать практически со всеми архитектурными решениями, которые вы принимаете.
Читать дальше →

[Перевод] Веб-приложение на Node и Vue, часть 3: развитие клиента и сервера

Сегодня публикуем третью часть из серии материалов, посвящённой разработке приложения Budget Manager с использованием Node.js, Vue.js и MongoDB. В первой и второй частях мы создавали сервер, настраивали механизмы аутентификации и занимались обустройством фронтенда. В этом материале продолжим работать над клиентской и серверной частями системы. То, что уже создано, пока почти не касается логики самого приложения, которое предназначено для работы с финансовыми документами. Поэтому, кроме прочего, мы займёмся и этим аспектом проекта.


Читать дальше →

На дворе почти 2018, а мы любим колбэки

Если в первый момент идея не кажется абсурдной, она безнадёжна. — Альберт Эйнштейн

Мы собрали для вас самые популярные темы из обсуждений Node.js на Хабре, и попросили рассказать о них признанных экспертов: некоммерческого Node-хакера Матиаса Мэдсена и автора множества книг и курсов по Node, Азата Мардана.

Вот точный список тем:

  1. Потоки в Node.js и способы распараллеливания вычислений;
  2. Асинхронность в Node.js;
  3. Отладка и логирование в Node.js;
  4. Проблемы мониторинга производительности на продакшене;
  5. Инструменты для мониторинга нод.

    Азат Мардан (Azat Mardan) — Tech Fellow, менеджер в компании Capital One, и эксперт по JavaScript/Node.js с несколькими онлайн-курсами на Udemy и в Node University, а также автор 14 книг по той же тематике, включая «React Quickly» (Manning, 2017), «Full Stack JavaScript» (Apress, 2015), «Practical Node.js» (Apress, 2014) и «Pro Express.js» (Apress, 2014).

    ...Далее...

FrontFest.JS: ClojureScript на продакшене, оптимизация рендеринга React и как (не) впасть в депрессию с Angular



FrontFest — это улётная конференция для фронтенд-разработчиков, которая пройдет 18 ноября в Москве. В этой статье мы расскажем о том, что приготовили для вас в секции JS. Спикеры из Microsoft, Booking, 2ГИС, Wrike и Злых Марсиан поделятся опытом использования Preact, ClosureScript, React, JS для IoT и Angular.
Подробности

REPL — настройка для сохранения истории и загрузка модулей по умолчанию

Заметка рассчитана на новичков и пользователей среднего уровня, по этому всех гуру сразу прошу не тратить свое драгоценное время и пропустить данный пост. В этой небольшой заметке я описываю как настроить REPL(read-eval-print loop) или «консоль» Node JS и при этом не потерять приятную плюшку — сохранение истории. Последние версии Node автоматически сохраняют историю между сеансами в REPL в файле ~/.node_repl_history Но есть одна загвоздка, если вы хотите настроить REPL «под себя», тогда история сеансов автоматически сохраняться прекращает. Раньше для сохранения истории использовался отдельный пакет rlwrap(ReadLine Wrap). Который позволяет например разукрашивать promt консоли, но при использовании rlwrap перестает работать автозавершение(autocomple) команд по клавише Tab. По этому его использовать не буду. Кроме того в контекст REPL сразу загрузим часто используемые модули, такие как axios и lodash. Иногда для модулей lodash или underscore используют символ подчёркивание _ В REPL этого делать не следует, так как этот символ имеет специальное значение — результат предыдущей операции. По умолчанию если ввести
let a=1;
или любой другой код в результате которого ничего не возвращается или правильнее сказать возвращатся undefined, в консоли выведется это самое undefined, что как по мне раздражает. За это поведение отвечает параметр ignoreUndefined: true Другой параметр: replMode: Repl.REPL_MODE_STRICT,...Далее...

[Перевод] Selenium и Node.js: пишем надёжные браузерные тесты

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



В некоторых материалах говорится о том, как оборачивать тесты в Mocha или Jasmine, в некоторых всё автоматизируют с помощью npm, Grunt или Gulp. Во всех подобных публикациях можно найти сведения о том, как установить и настроить всё необходимое. Там же можно посмотреть простые примеры работающего кода. Всё это весьма полезно, так как, для новичка, собрать работающую среду тестирования, состоящую из множества компонентов, может оказаться не так уж и просто.

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

Сегодня мы начнём с того, на чём обычно заканчиваются другие материалы по автоматизации браузерных тестов с помощью Selenium для Node.js. А именно, мы расскажем о том, как повысить надёжность тестов и «отвязать» их от непредсказуемых явлений, которыми полны браузеры и веб-приложения.
Читать дальше →

Comedy. Встречайте акторы в Node.JS

Привет, хабравчане!


В этой статье я познакомлю вас с фреймворком Comedy — реализацией акторов в Node.JS.


Акторы позволяют масштабировать отдельные модули вашего Node.JS приложения без изменения кода.

Читать дальше →
  • Новее
  • 1


Последние посты