Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «проектирования»
Архитектура модульных React + Redux приложений 2. Ядро 2017-04-24 10:04:48
В первой части я уделил внимание только общей концепции: редюсеры, компоненты и экшны чаще меняются ...
+ развернуть текст сохранённая копия
В первой части я уделил внимание только общей концепции: редюсеры, компоненты и экшны чаще меняются одновременно, а не по отдельности, поэтому и группировать и их целесообразнее по модулям, а не по отдельным папкам actions, components, reducers. Также к модулям были предъявлены требования:
- быть независимыми друг от друга
- взаимодействовать с приложением через API ядра
В этой части я расскажу о структуре ядра, подходящей для разработки data-driven систем. Читать дальше →
Тэги: javascript, react, redux, анализ, веб-сайтов, модульное, программирование, проектирование, разработка, рефакторинг, систем
[Перевод] Трудные уроки: пять лет с Node.js 2017-04-21 11:53:41
После пяти лет работы с Node.js я многое понял. Я уже делился некоторыми историями, но в этот раз ...
+ развернуть текст сохранённая копия
После пяти лет работы с Node.js я многое понял. Я уже делился некоторыми историями, но в этот раз хочу рассказать о том, какие знания дались труднее всего. Баги, проблемы, сюрпризы и уроки, которые вы можете использовать в собственных проектах!
Базовые концепции
В каждой новой платформе есть свои хитрости, но в данный момент эти концепции для меня вторичны. Разобраться в своём баге — хороший способ гарантированного обучения. Даже если это немного болезненно!
Классы
Когда я только начал работать с Node.js, то написал скрапер. Очень быстро я понял, что если ничего не предпринять, то он будет осуществлять много запросов параллельно. Одно это стало важным открытием. Но поскольку я ещё не полностью усвоил мощь экосистемы, то сел и написал собственный ограничитель параллелизма. Он работал и проверял, что в каждый момент времени активны не более N запросов одновременно.
Читать дальше →
Тэги: async.js, callback, coffeescript, express, gatsby, javascript, jenkins, jshint, mocha, nan, new, node.js, react.js, relic, toobusy-js, веб-сайтов, веб-сервисов, проектирование, разработка, рефакторинг, тестирование
Опыт внедрения Tarantool в сервисе Calltouch 2017-04-20 11:34:45
+ развернуть текст сохранённая копия
В современном мире информационных технологий у всех — и у крупных, и у небольших компаний — существует большое количество различных API. И отказоустойчивость, несмотря на многие best practices, чаще всего не позволяет гарантировать 100%-й возможности корректно обрабатывать запросы клиентов, а также восстанавливаться после сбоя и продолжать обработку запросов, утерянных из-за сбоя. Эта проблема возникает даже у больших игроков в интернете, не говоря уже о не очень крупных компаниях.
Я работаю в компании Calltouch, и наша основная цель — добиться отказоустойчивости сервисов и получить возможность управлять данными и запросами, которые клиенты совершали в API-сервис. Нам нужна возможность быстро восстанавливать сервис после сбоя и обрабатывать запросы к сервису, у которого возникли проблемы. Начинать обработку с момента отказа. Всё это позволит приблизиться к состоянию, когда почти невозможно потерять запросы клиентов на нашей стороне.
Разбирая предложенные на рынке решения, мы открыли для себя превосходную производительность и практически безграничные возможности по управлению данными и их обработке — с очень незначительными требованиями к техническим и финансовым ресурсам. Читать дальше →
Тэги: calltouch, group, lua, mail.ru, tarantool, анализ, блог, веб-сайтов, высокая, компании, проектирование, производительность, разработка, систем
[Перевод] Сравнение производительности версий PHP 2017-04-18 14:26:51
+ развернуть текст сохранённая копия
В этой статье мы рассмотрим результаты нескольких бенчмарков, начиная с PHP 5 и вплоть до экспериментальной JIT-ветки (сейчас в разработке). На момент написания не было известно, появится ли до PHP 8 ещё какая-то основная версия, например PHP 7.2. Но логично предположить, что возможности экспериментальной ветки как минимум будут включены в PHP 8. Читать дальше →
Тэги: group, mail.ru, php, анализ, блог, высокая, компании, проектирование, производительность, рефакторинг, систем, теги, читает
Архитектура модульных React + Redux приложений 2017-04-14 03:27:24
...
+ развернуть текст сохранённая копия
Большинство разработчиков начинает знакомство с Redux с Todo List Project. Это приложение имеет следующую структуру:
actions/
todos.js
components/
todos/
TodoItem.js
...
constants/
actionTypes.js
reducers/
todos.js
index.js
rootReducer.js
На первый взгляд такая организация кода кажется логичной, ведь она напоминает стандартные соглашения многих backend MVC-фреймворков:
app/
controllers/
models/
views/
На самом деле, это неудачный выбор как для MVC, так и для React+Redux приложений по следующим причинам:
- С ростом приложения следить за взаимосвязью между компонентами, экшнами и редюсерами становится крайне сложно
- При изменении экшна или компонента с большой вероятностью потребуется внести изменения и в редюсер. Если количество файлов велико, скролить IDE вверх/вниз не удобно
- Такая структура потворствует копипасте в редюсерах
Не удивительно, что многие авторы(раз, два, три) советуют структурировать приложение по «функциональности» ( by feature). Читать дальше →
Тэги: javascript, modules, react, react-router, redux, redux-thunk, анализ, веб-сайтов, проектирование, разработка, рефакторинг, систем
Главная / Главные темы / Тэг «проектирования»
|
Взлеты Топ 5
Падения Топ 5
|