Как стать автором
Обновить
-17
0
Азиз Хакулов @bluetooth

ИТ консультант

Отправить сообщение

Архитектура модульных React + Redux приложений

Время на прочтение7 мин
Количество просмотров60K


Большинство разработчиков начинает знакомство с 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 приложений по следующим причинам:

  1. С ростом приложения следить за взаимосвязью между компонентами, экшнами и редюсерами становится крайне сложно
  2. При изменении экшна или компонента с большой вероятностью потребуется внести изменения и в редюсер. Если количество файлов велико, скролить IDE вверх/вниз не удобно
  3. Такая структура потворствует копипасте в редюсерах

Не удивительно, что многие авторы(раз, два, три) советуют структурировать приложение по «функциональности» (by feature).
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии41

Зачем в команде мобильной разработки появился сейф под управлением Windows 10

Время на прочтение7 мин
Количество просмотров21K

image alt text


Привет! Я хочу рассказать, как мы сделали автоматическую выдачу 70 мобильных тестовых устройств, и перестали задаваться вопросом «у кого тот розовый iPhone 6».


Раньше гаджет для тестов приходилось искать в тетради или электронном документе, что долго и неудобно. Но мы победили проблему с помощью приложения и специального шкафа с устройствами, который уже некоторое время успешно трудится в команде мобильной разработки. Значит, самое время поделиться рецептом. Под катом все подробности и ссылки на GitHub.

Читать дальше →
Всего голосов 34: ↑29 и ↓5+24
Комментарии33

Готовим плацдарм для react-приложения

Время на прочтение14 мин
Количество просмотров61K


Я хочу рассказать о процессе создание платформы для react приложения, которая использует mobx в качестве Model-и. Пройти путь от пустой директории проекта до рабочего примера. Рассмотреть основные моменты, на которые я обращал внимание в процессе разработки. Постараюсь насытить текст уточняющими ссылками, дополнительные заметки будут выделены курсивом с пометкой «Note:».

Рассказ будет состоять из двух частей:

  1. Готовим плацдарм для react приложения
  2. Mobx + react, взгляд со стороны

Буду писать «как я вижу», поэтому предложения и замечания по улучшению приветствуются. Надеюсь, читатель знает, что такое npm, node.js и react.js, имеет базовые знания о props и state. На момент написания статьи, у меня стоит windows и нестабильная node.js 7.3.0 версии.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии18

Переход от DateTime к DateTimeOffset

Время на прочтение6 мин
Количество просмотров22K
Представим, что вы хотите преобразовать свою систему из одного состояния в другое. Начальное состояние — это когда DateTime используется везде, в C# коде и в БД. Конечное состояние — когда везде используется DateTimeOffset. Вы хотите сделать переход плавно и внести как можно меньше изменений. Это описание может быть началом очень интересной задачи с тупиком в конце.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии39

Авторизация в ASP.NET Core MVC

Время на прочтение14 мин
Количество просмотров86K

Logo designed by Pablo Iglesias.


В статье описаны паттерны и приемы авторизации в ASP.NET Core MVC. Подчеркну, что рассматривается только авторизация (проверка прав пользователя) а не аутентификация, поэтому в статье не будет использования ASP.NET Identity, протоколов аутентификации и т.п. Будет много примеров серверного кода, небольшой экскурс вглубь исходников Core MVC, и тестовый проект (ссылка в конце статьи). Приглашаю интересующихся под кат.


Содержание:



Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии5

Интегрируем TortoiseSVN в Total Commander

Время на прочтение3 мин
Количество просмотров15K

Преамбула:
Имеем в наличии TortoiseSVN и Total Commander, и активно их используем в работе.
Практически все действия в Total Commander'e успешно совершаются одной только клавиатурой, без использования мышки, какими-либо горячими клавишами. Главное их найти/знать/привыкнуть, и работа становится в разы проще и быстрее.
TortoiseSVN же из коробки предоставляет нам только пункты в контекстном меню, до которого можно добраться двумя способами:
  • Мышкой. При активной работе, тянуться каждый раз до мышки, реально начинает напрягать уже через пару дней/часов/минут работы (зависит от крепости нервов разработчика) и времени занимает это довольно много.
  • Через клавишу контекстного меню + стрелок. Этот вариант конечно чем-то проще и быстрее (ибо не надо тянуться за мышкой), но всё так же не удобен и всё такой же медленный.

Хочется все действия с TortoiseSVN выполнять так же быстро, как и действия в самом Total Commander'e.
Т.е. через горячие клавиши, в одно нажатие.

Облазив просторы интернета, не смог найти ни одной инструкции, как можно по-человечески интегрировать TortoiseSVN в Total Commander и сделать это возможным.
Поэтому решил написать свой небольшой простенький мануал.

Всех заинтересовавшихся прошу под кат.
Всего голосов 59: ↑49 и ↓10+39
Комментарии31

Информация

В рейтинге
Не участвует
Откуда
Borås, Västra Götaland, Швеция
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Fullstack Developer
C#
T-SQL
Visual Studio
Software development
Object-oriented design
Windows Azure
TypeScript
React