![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Хабрахабр: Web-разработка / Блог / Захабренные/Записи в блоге |
![]() |
Хабрахабр: Web-разработка / Блог / Захабренные
Голосов: 1 Адрес блога: http://habrahabr.ru/blog/webdev/ Добавлен: 2008-06-12 19:52:21 блограйдером ZaiSL |
[Из песочницы] Redux: попытка избавиться от потребности думать во время запросов к API
2017-06-07 13:57:34 (читать в оригинале)И в чем же проблема?
Я начал изучать React и Redux не так давно, но он уже успел изрядно потрепать мне нервы. Буквально над каждым действием приходится задумываться — почти никакие изменения в коде невозможны без того, чтоб что-то оторвать. Чтоб просто получить список постов по API и вывести их, надо, пожалуй, написать не меньше сотни строк кода — создать корневой контейнер, создать store, добавить action для запроса к API, для успешного результата запроса, для неудачного результата запроса, создать action-creators, сматчить action-creators и props, сматчить dispatch и props, написать reducer на каждый action… Ух, продолжать не хочется. И все это мы должны делать заново для каждого веб-приложения — крайне нерациональная трата сил программиста.
Да, можно сказать новичку: "Смотри, тут десяток пакетов, которые могут сделать каждое действие из этого списка вместо тебя. Выбирай и пользуйся!" Но проблема в том, что надо разобраться в настройке и воспользоваться десятком пакетов, позаботившись о том, чтоб они совпадали с версией, которая описана в документации и не вступали друг с другом в конфликты… Слишком сложно. Хочется чего-то проще, такого же простого, как в мире Django, из которого я пришел. Какой-то один пакет, после установки которого в store сами по волшебству складываются все нужные данные — бери и пользуйся.
Ну, я и решил — если такого решения нет, напишу-ка я его сам.
Постановка задачи
Убирая всю лирику из первого абзаца, получаю задачу — нам нужно создать инструмент, который будет:
- Делать асинхронный GET-запрос к REST API.
- Анализировать полученные данные и данные, лежащие в store, и, если там не хватает связанных по foreign key данных, делать еще запросы.
- Складывать полученные данные в store и следить за актуальностью хранящихся данных.
По описанию выходит, что состоять пакет будет из action creator'а, middleware и reducer'а.
Читать дальше →Тэги: api, es6, javascript, middleware, npm, react, reactjs, redux, веб-сайтов, разработка
Постоянная ссылка
Задай вопрос разработчикам облачных сервисов Mail.Ru Group
2017-06-07 11:57:57 (читать в оригинале)Благодаря Reddit становится популярен формат Ask Me Anything (AMA) — когда команда специалистов, ответственных за какой-то большой, популярный проект, предлагает всем желающим задавать им любые вопросы об их работе и о том, что у сервиса «под капотом», как всё устроено. Первыми формат AMA на Хабре использовали разработчики Badoo. Мы тоже решили попробовать. Надеемся, что другие компании последуют нашему примеру и начнут впускать читателей на свои внутренние кухни.
Стартовать AMA мы решили с командой Облака Mail.Ru. Это молодой, активно развивающийся проект, о котором нам всегда задают много вопросов. К тому же с момента запуска (с августа 2013 года) Облако разрослось в большую семью проектов.
Исторически Облако начиналось как B2C-продукт с веб-, десктопной и мобильными версиями. Однако B2B — это тоже очень перспективный рынок. Поэтому у нас появилась платформа Mail.Ru для бизнеса, объединяющая все B2B-сервисы компании Mail.Ru Group, в том числе Облако для архивов (Icebox), Облако для рабочих групп (Teambox) и Горячее хранилище (Hotbox).
Кто и как именно обеспечивает жизнедеятельность и процветание этого весёлого семейства, как достигается сохранность данных, за счёт чего мы добиваемся высокой скорости загрузки файлов и низкой latency — обо всём этом вы узнаете из статьи, а после сможете задать любые интересующие вас вопросы.
Читать дальше →Тэги: ama, group, mail.ru, анализ, блог, веб-сайтов, высокая, компании, мобильных, облако, приложений, проектирование, производительность, разработка, систем
Постоянная ссылка
Особенности –webkit-box или как «подружить» flexbox со старыми Safari
2017-06-07 11:53:18 (читать в оригинале)Уверен, многие Front End Developer-ы постоянно сталкиваются с проблемой поддержки flexbox в старых версиях популярных браузеров. Среди них выделяются два явных фаворита – Internet Explorer (IE) и Safari. С IE всё проще, т.к. flex поддерживается в версиях 10.0+. Версии ниже уже не актуальны, поэтому их часто игнорируют. В Safari же ситуация иная, поскольку поддержка современной спецификации flexbox (по мнению Caniuse.com) начинается с версии IOS Safari 9.2+.

Читать дальше →
[Перевод] Нативные EcmaScript модули: новые возможности и отличия от webpack
2017-06-07 10:06:05 (читать в оригинале)В предыдущей статье Нативные ECMAScript модули — первый обзор я рассказал историю JavaScript модулей и текущее состояние дел реализации нативных EcmaScript модулей.
Сейчас доступны две реализации, которые мы попробуем сравнить с бандлерами модулей.
Читать дальше →Тэги: babel, frontend, javascript, webpack, блог, браузеры, будущее, веб-сайтов, компании, программирование, разработка, стандарты, туту.ру
Постоянная ссылка
«Сломай голосовалку на РИТ++». Даёшь 1 000 000 RPS
2017-06-06 17:13:56 (читать в оригинале)Прошёл второй день РИТ++, и по горячим следам мы хотим рассказать о том, как всем миром пытались сломать нашу голосовалку. Под катом — код, метрики, имена победителей и самых активных участников, и прочие грязные подробности.
Читать дальше →Тэги: (ingram, cloud, computing, fun, highload, micro), node.js, nodejs, odin, rit2017, topkek, блог, веб-сайтов, высокая, компании, конференции, программирование, производительность, разработка, рит++
Постоянная ссылка



![]() | ||
+421 |
427 |
Splash_Phantom |
+355 |
432 |
MicheL1102 |
+346 |
348 |
The_Searcher |
+289 |
357 |
Удивительная психология |
+266 |
309 |
hosm.ru — Умный дом своими руками |
![]() | ||
-3 |
11 |
il-e |
-5 |
124 |
Ноэтическая Динамика » Ноэтическая Динамика |
-11 |
22 |
ГОРОСКОП |
-12 |
24 |
Улицы Праги |
-12 |
411 |
БестГлобалИнфо |

Загрузка...

взяты из открытых общедоступных источников и являются собственностью их авторов.