Привет!
Начну с того, что мне надоела убогость классов и наследования в JavaScript! Просидев тысячи часов над крупным JS-проектом, это стало для меня просто очевидным. Особенно когда переключаешься с бэкенда с использованием Yii2, на фронтенд. Ведь в Yii2 и php есть настоящие классы, настоящие protected/private поля, есть trait, всякие dependency injection и behavior. И вот сразу после всех этих штук, создаёшь такой файл NewClass.js
для того чтобы написать какой-нибудь класс, и понимаешь, что в JavaScript ничего этого нет. И даже более того, классы можно писать сотнями разных способов — прототипное/функциональное наследование, ES6 классы, и разные сахара с использованием внешних библиотек. Тут я сказал себе — "хватит это терпеть!".
Рубрика «node.js» - 49
Классы на JS с protected, множественным наследованием, геттерами-сеттерами и примесями
2017-01-09 в 0:12, admin, рубрики: javascript, node.js, ооп, ооп js, ООП головного мозга, Разработка веб-сайтовЕще один велосипед для борьбы с callback hell в JavaScript
2017-01-08 в 5:20, admin, рубрики: javascript, node.js
Считается, что мир JavaScript бурно развивается: регулярно выходят новые стандарты языка, появляются новые синтаксические фишки, а разработчики моментально все это адаптируют и переписывают свои фреймворки, библиотеки и прочие проекты с тем, чтобы все это использовалось. Сейчас, например, если вы всё ещё пишете в коде var, а не const или let, то это уже вроде как моветон. А уж если функция описана не через стрелочный синтаксис, то вообще позор…
Однако, все эти const-ы, let-ы, class-ы и большинство других нововведений не более чем косметика, которая хоть и делает код красивее, но действительно острых проблем не решает.
Читать полностью »
Особенности разработки Telegram бота с Google API в Docker
2017-01-07 в 20:59, admin, рубрики: bot, docker, docker-compose, Google API, javascript, node.js, nodejs, telegram, YARN, youtube apiКоротко о боте: получает список YouTube-каналов пользователя и уведомляет о новых видео с возможностью напомнить о нем позже.
В статье расскажу об особенностях написания этого бота и взаимодействия с Google API. Я люблю краткость, поэтому в статье будет мало «воды».
На какие вопросы ответит статья:
- Где взять внешний адрес сайта для Webhook
- Где взять HTTPS-сертификат как его использовать, чтобы Telegram ему доверял
- Как передавать данные и обрабатывать нажатия на Inline-кнопки
- Как получить вечный OAuth токен для Google API
- Как передать данные пользователя через OAuth callback url
- Как получить бесплатный домен 3 уровня
Стэк:
- Back-end: Node.js + Express.js
- БД: Mongo.js + mongoose
- Пакетный менеджер: Yarn (он действительно быстрый)
- Telegram-бот фреймворк: Telegraf
- Продакшн: Docker + Docker Compose + Vscale.io
json-api-normalizer: легкий способ подружить Redux и JSON API
2017-01-04 в 10:28, admin, рубрики: api, Elixir, javascript, JSON API, node.js, phoenix, react.js, ReactJS, redux, web-разработка, Разработка веб-сайтов
В последнее время набирает популярность стандарт JSON API для разработки веб-сервисов. На мой взгляд, это очень удачное решение, которое наконец хоть немного стандартизирует процесс разработки API, и вместо очередного изобретения велосипеда мы будем использовать библиотеки как на стороне сервера, так и клиента для обмена данными, фокусируясь на интересных задачах вместо написания сериалайзеров и парсеров в сто первый раз.
Фреймворк для работы с Telegraph API
2016-12-26 в 12:57, admin, рубрики: api, bot, javascript, node.js, open source, telegram, Telegraph
20 декабря 2016 года Telegram открыл API к Telegraph. Для работы с ним я написал простую и функциональную библиотеку под JavaScript.
Пару слов о Telegraph
Telegraph — это сервис заметок и рассказов выполненный в минималистическом стиле, разработанный командой Telegram. Так же поддержка Instant View при просмотре из Telegram'а.
19 неожиданных находок в документации Node.js
2016-12-23 в 13:27, admin, рубрики: javascript, node.js, Блог компании RUVDS.com, документация, полезные приёмы, разработкаМне хотелось бы думать, что я вполне прилично знаю Node. Вот уже три года, как ни один из сайтов, над которыми я работал, не обходится без него. Но документацию до сих пор я как следует не читал.
Мне нравится записывать полезные вещи об интерфейсах, свойствах, методах, функциях, типах данных, и обо всём прочем, что относится к веб-разработке. Так я заполняю пробелы в знаниях. Сейчас я занят документацией к Node.js, а до этого проработал материалы по HTML, DOM, по Web API, CSS, SVG и EcmaScript.
Чтение документации Node.js открыло мне немало замечательных вещей, о которых я раньше не знал. Ими я хочу поделиться в этом небольшом материале. Начну с самого интересного. Так же я обычно делаю, когда показываю новому знакомому свои гаджеты.
Читать полностью »
HolyJS Moscow: Время экспансии
2016-12-21 в 14:01, admin, рубрики: ECMAScript, holyjs, javascript, Logux, node.js, WebVR, Блог компании JUG.ru Group, конференция, Разработка веб-сайтов
JavaScript-мир развивается так бурно, что даже за полгода между петербургской и московской HolyJS многое успело произойти: например, летом о Yarn ещё никто не знал, а сейчас у него больше 20 000 звёзд на GitHub. И для самой конференции тоже многое изменилось: в июне она проходила в самый первый раз, так что тогда ещё не было фидбэка зрителей, очень помогающего при организации. Отличалась ли в таком случае московская версия, и как вообще она прошла? О некоторых докладах уже написали в блоге Mail.Ru Group, а теперь мы публикуем собственный текст о мероприятии.Читать полностью »
Вычисляем контент, который в будущем станет вирусным
2016-12-20 в 14:25, admin, рубрики: Facebook API, node.js, анализ данных, Анализ и проектирование систем, социальные сетиВ данной статье будет описан только общий алгоритм на примере Facebook. Однако такой же подход можно использовать повсюду.
Задача
На основе существующего контента (за последние 30 дней) на данной странице Facebook определить какие записи потенциально будут более популярными.
Читать полностью »
История моего стартапа: 500000 пользователей за 5 дней на стодолларовом сервере
2016-12-20 в 12:23, admin, рубрики: javascript, node.js, Pokemon Go, Блог компании RUVDS.com, ит-инфраструктура, разработка, Серверная оптимизация, Серверное администрирование, стартапПохоже, все в мире стартапов согласны с тем, что первые версии приложений должны представлять собой минимально жизнеспособный продукт (MVP, Minimal Viable Product), создавая который можно не особо заботиться о его масштабировании с технической точки зрения. Мне много раз доводилось слышать о том, что самое главное в подобных делах – поскорее выпустить нечто работающее. И, до тех пор, пока бизнес-модель нормально функционирует в условиях роста клиентской базы – всё нормально. А тратить время и деньги на то, чтобы сделать систему, которая сможет выдержать внезапный наплыв пользователей, не стоит. Беспокоиться нужно лишь о проверке предположений, об оценке рынка и о раскрутке бизнеса. Масштабируемость – это то, что можно отложить на потом. К несчастью, такая вот слепая вера в шаблонные идеи уже не раз приводила к оглушительным провалам. Pokémon GO, и, в частности, связанные с этим проектом приложения, служат напоминанием об этом.
React.js на русском языке. Часть восьмая
2016-12-11 в 10:10, admin, рубрики: javascript, mongodb, node.js, react.js, ReactJS, redux
Перевод официальной документации библиотеки React.js на русском языке.
Оглавление:
1 — Часть первая — Установка
2 — Часть вторая — Внедрение JSX
3 — Часть третья — Отрисовка элементов
4 — Часть четвертая — Компоненты и свойства
5 — Часть пятая — Состояние и жизненный цикл
6 — Часть шестая — Обработка событий
7 — Часть седьмая — Условный рендеринг
8 — Часть восьмая — Списки и ключи
9 — Часть девятая (скоро)
Списки и ключи
Для начала, давайте рассмотрим, как преобразовать списки в JavaScript.
В приведенном ниже примере, мы используем функцию «map()», чтобы считать массив устройств «numbers» и удвоить их значения. Мы задаем новый массив устройств, возвращенный с помощью «map()», посредством удвоенной переменной и зарегистрировали ее следующим образом:
Читать полностью »