В данном туториале мы кратко разберем, как реализовываются REST-запросы к API, требующие, чтобы пользователь был авторизован, и создадим асинхронную «обертку» для запроса, которая будет проверять авторизацию и своевременно ее обновлять.Читать полностью »
Рубрика «javascript» - 105
Token, refresh token и создание асинхронной обертки для REST-запроса
2019-06-15 в 12:45, admin, рубрики: ECMAScript, fetch, javascript, rest api, token, авторизацияDevOps в разработке: автоматизация написания кода веб-приложений
2019-06-14 в 16:40, admin, рубрики: devops, django, Django REST framework, javascript, python, vue, vuejs, Разработка веб-сайтовДоброго времени суток, уважаемые читатели!
Сегодня DevOps находится на волне успеха. Практически на любой конференции, посвященной автоматизации, можно услышать от спикера мол “мы внедрили DevOps и тут и там, применили это и то, вести проекты стало значительно проще и т. д. и т. п.”. И это похвально. Но, как правило, внедрение DevOps во многих компаниях заканчивается на этапе автоматизации IT Operations, и очень мало кто говорит о внедрении DevOps непосредственно в сам процесс разработки.
Мне бы хотелось исправить это маленькое недоразумение. DevOps в разработку может прийти через формализацию кодовой базы, например, при написании GUI для REST API.
В этой статье хотелось бы поделиться с вами решением нестандартного кейса, с которым столкнулась наша компания – нам довелось автоматизировать формирование интерфейса веб-приложения. Я вам расскажу о том, как мы пришли к данной задачей и что использовали для ее решения. Мы не считаем, что наш подход является единственно верным, но нам он очень даже нравится.
Надеюсь данный материал будет вам интересен и полезен.
Ну что ж, начнем!
Читать полностью »
Использование Typescript с React – руководство для новичков
2019-06-14 в 13:59, admin, рубрики: javascript, React, ReactJS, TypeScript, Блог компании OTUS. Онлайн-образованиеДрузья, в преддверии выходных хотим поделиться с вами еще одной интересной публикацией, которую хотим приурочить к запуску новой группы по курсу «Разработчик JavaScript».
Потратив последние несколько месяцев на разработку приложений на React и библиотек с использованием Typescript, я решил поделиться некоторыми вещами, которые узнал за это время. В этом руководстве я расскажу вам про шаблоны, которые я использую для Typescript и React в 80% случаев.
Стоит ли изучать Typescript для разработки приложений на React? Стоит, еще как стоит! Для себя я осознал на практике, что строгая типизация приводит к написанию гораздо более надежного кода, быстрой разработке, особенно в крупных проектах. Сначала вы, вероятно, будете разочарованы, но по мере работы вы обнаружите, что хотя бы минимальный шаблон действительно будет очень кстати.
И если вы застряли на чем-то, помните, что вы всегда можете типизировать что- нибудь как any. Any – ваш новый друг. А теперь перейдем непосредственно к примерам.Читать полностью »
6 небольших советов, чтобы подготовить NodeJS к высоким нагрузкам
2019-06-14 в 10:33, admin, рубрики: devops, javascript, node.js, nodejs, большая нагрузка, высокая производительность, развёртывание Node.js, развертывание приложений, Серверная оптимизацияСервис с распознаванием лиц «Look-A-Like» обслуживал тысячи пользователей одновременно
Разработка на NodeJS в качестве хобби — сплошное удовольствие, но когда речь о продакшене для множества пользователей, есть пара вещей, которые стоит знать, чтобы избежать долгого отклика и сбоев.
В рамках работы в MyHeritage мы разработали сервис doppelgänger для Евровидения 2019 года, с помощью которого, загрузив селфи, можно узнать на кого из участников конкурса вы похожи больше всего.
Помимо логики распознавания лиц, приложение имело крайне ясное требование: оно должно было обслуживать десятки тысяч одновременных пользователей, ведь Евровидение смотрят миллионы людей по всему миру.
Настройка окружения unit тестирования javascript
2019-06-13 в 21:27, admin, рубрики: jasmine, javascript, karma, tdd, testing, unit-testing, Программирование, Тестирование веб-сервисовВначале была функция и вызывали ее в одном месте. Потом мы захотели вызвать ее в другом месте с новыми возможностями и обновили ее. Нам эта ф-ия так понравилась, что мы вызвали ее в третьем месте и еще сделали функциональные правки и… в первом месте что-то пошло не так. А как узнать? Проверять во всех местах где мы использовали эту функцию, все ли правильно работает? Можно, но лучше использовать unit тесты.
Всем привет. На связи аноним из песочницы. Как правильно тестировать свой код вы можете найти в первых строчках поисковика, а вот с настройкой окружения приходится повозиться. Так вот сегодня я хочу помочь начинающим разработчикам настроить окружение для unit тестирования своего кода.
Делаем таблицу с бесконечной прокруткой без event listener
2019-06-13 в 20:20, admin, рубрики: javascript, ReactJS, usability, бесконечная прокрутка, Программирование, Разработка веб-сайтов, таблицыЧто ж оно так лагает-то?
Если при рендеринге огромной таблицы с какой-нибудь transition анимацией не делать ничего дополнительно, то приложение будет лагать, а пользователь страдать.
QIWI JS DETOX
2019-06-13 в 16:35, admin, рубрики: javascript, JS, kubernetes, Qiwi, Блог компании QIWI, конференции, митапыПривет!
26 июня (среда) в 18.00 мы проведем митап под названием QIWI JS DETOX. Проходить он будет в Loft #2 (недалеко от м. Автозаводская)
Поговорим о Kubernetes и многом другом.
Читать полностью »
Подготовка к захвату мира, закрываю гештальты
2019-06-13 в 16:15, admin, рубрики: antdesign, create-react-app, javascript, lerna, prettier, ReactJS, reshadow, slatejs, yarn workspaces, вискас, Разработка веб-сайтовСпрашивается, о чём мой проект? А я сам не знаю. Планы меняются. Идей много. Но есть общий базовый функционал. Вот я пока про это. Уже 5 месяцев. После весеннего обострения, в приступе одиночества, хочу поделиться некоторыми наработками.
Что записано в this? Закулисье JavaScript-объектов
2019-06-13 в 9:30, admin, рубрики: javascript, Блог компании RUVDS.com, разработка, Разработка веб-сайтовJavaScript — это мультипарадигменный язык, поддерживающий объектно-ориентированное программирование и динамическую привязку методов — мощную концепцию, которая позволяет структуре JavaScript-кода меняться во время выполнения программы. Это даёт разработчикам серьёзные возможности, это делает язык гибким, но за всё надо платить. В данном случае платить приходится понятностью кода. Серьёзный вклад в эту цену вносит ключевое слово this
, вокруг особенностей поведения которого собрано много такого, что способно запутать программиста.
Протокол для общения между iframe и основным окном браузера
2019-06-13 в 8:42, admin, рубрики: iframe, javascript, promise, TypeScript, window.open, window.opener, Блог компании Waves, Разработка веб-сайтовМногим разработчикам периодически требуется наладить общение между несколькими вкладками браузера: возможность посылать сообщения из одной в другую и получать ответ. Такая задача встала и перед нами.
Существуют стандартные решения вроде BroadcastChannel, однако поддержка в браузерах сейчас оставляет желать лучшего, поэтому мы решили реализовать свою библиотеку. Когда библиотека была готова, выяснилось, что такая функциональность уже не нужна, зато появилась другая задача: нужно было общаться между iframe и основным окном.
При ближайшем рассмотрении выяснилось, что две трети библиотеки при этом можно не менять, необходимо только немного порефакторить код. Библиотека представляет из себя скорей ПРОТОКОЛ общения, который может работать с текстовыми данными. Его можно применять во всех случаях, если есть возможность передавать текст (iframe, window.open, worker, вкладки браузера, WebSocket).
Как это работает
На данный момент в протоколе есть две функциональности: отправка сообщения и подписка на события. Любое сообщение в протоколе — это объект с данными. Главное поле этого объекта — поле type, которое говорит нам, что это за сообщение. Поле type — это enum со значениями: