Недавно я в лихой форме уволился и ушел из компании за которую боролся 2 года.В душе до сих пор одни сожаления и сожаления.
Я до сих пор помню, как когда я только что вышел из 360, Босс Ю и Лаобао нашли меня и сказали, что хотят, чтобы я пришел и помог восстановить команду фронтенда. В то время было несколько вещей, которые нужно было сделать в будущем:
- Формирование команды, реорганизация и сортировка персонала, поиск ядра, формирование второго эшелона.
- Техническая атмосфера, культивируйте техническую систему и атмосферу каждого.
- Разберитесь в процессах и спецификациях текущей линейки продуктов и установите системы и системы. (ps: в то время не было ограничений на стек технологий)
- Как ускорить итерацию и вывод всего проекта.
тимбилдинг
Тимбилдинг — это на самом деле долгосрочная задача, на тот момент в нашей команде было 5 студентов. После общения в одиночку и поиска коллеги для работы на выходных навыки можно условно разделить на две группы: группа А относится к продвинутому уровню, а группа Б — к начальному уровню. Поляризация кадров по-прежнему относительно серьезна. Вероятно, это касается коммуникативных и деловых навыков.
Пообщавшись со всеми, они разделились на группы: один старшеклассник вел младшего одноклассника, а другой старший — двух младших одноклассников.
Мы с двумя одноклассниками объединились, чтобы сформировать команду инфраструктуры, и я временно позаботился о бизнес-интерфейсе.
В первые дни организационная структура всей команды, вероятно, была разделена по этому плану.
строительство инфраструктуры
Ситуация на тот момент была примерно такой:
- Компания использует jq для равномерной сборки и отсутствия осаждения каких-либо компонентов.
- Для предприятий, основанных на данных, необходимо поддерживать большое количество конфигураций, чтобы определить отрисовку страницы.
- Прямая формула и метод расчета линейки продуктов должны быть согласованы.
- Бизнесу нужно быстро обновляться.
- На самом деле несколько модулей в двух линейках доходных продуктов могут взаимодействовать и использоваться повторно.
- Позже в линейке продуктов появится способ укладки древесины для организации структуры страницы.
- Спецификации интерфейса различаются, и каждая линейка продуктов должна быть совместима.
- Необходимо разработать соглашения и стили кодирования.
Исходя из таких требований и статуса, выделяют несколько:
- Полная система компонентов должна быть разработана не только на уровне пользовательского интерфейса.
- Было бы лучше иметь структуру, управляемую данными, чтобы помочь нам решить проблему конфигурации, влияющей на рендеринг.
- Компоненты необходимо повторно использовать напрямую, чтобы предотвратить несогласованность функций.
- Компоненты должны свободно вкладываться друг в друга, чтобы добиться эффекта штабелирования дерева.
- Лучше всего иметь одну страницу (SPA), чтобы обеспечить прямую передачу данных и отрисовку страницы.
- Интерфейс должен быть унифицирован в спокойный интерфейс
Варианты фреймворка сосредоточены в angular.js, react и vue. Поскольку у нас большое количество (40%) пользователей используют IE8, мы пока не будем рассматривать vue. React может быть совместим с IE, но стоимость обучения вся семья на самом деле будет очень высокой (младшим одноклассникам в команде будет очень сложно), поэтому мы выбрали angular.js.
Angular.js предоставляет директивы и сервисы, которые нам очень удобны для компонентной инкапсуляции.
Для маршрутизации используется ui-router, который мощнее родного роутера.
В соответствии с angular.js, ui-router и компонентными решениями (описанными отдельно позже) для их поддержки инкапсулируется фреймворк.
Однако из-за срочной необходимости доработки потребовалось около 2 дней, чтобы сначала запустить новый фреймворк, который в основном заменил маршрутизацию и полку и просто изолировал код jquery, чтобы не повлиять на текущую полку. ps: Первая версия запускалась так o(╥﹏╥)o
Компонентное решение
Компонентное решение прямо на картинке, текстовое описание не интуитивно понятно
Структура, вероятно, такая. Бизнес-компонент может состоять из БК.
Структура каталогов компонентов такая.
Принимая index.js в качестве записи, сервис является менеджером состояний текущего компонента.
Фактическая бизнес-логика также содержится в index.js. Интерфейс выглядит так
Другие более интуитивны: модель получает базовую конфигурацию и текущее состояние, а затем прописывает в ней конкретную бизнес-логику, которая будет компилироваться в инструкции. Причина этого на самом деле заключается в том, чтобы облегчить последующее переключение стека технологий.
техническая атмосфера
Вероятно, сделал несколько вещей
- Чередуйте обмен внутри группы
- Внедрение целей обучения в KPI
- Обмен обучением в BU
- Бенчмаркинг
- После того, как каждый проект будет завершен, каждый купит часть книги (не полностью готовую позже) в качестве награды.
ускорение бизнеса
План компонентизации был реализован примерно в феврале, и эффективность всего проекта постепенно переместилась с фронтенда на других студентов. Были проанализированы несколько аспектов:
- Масштабируемость бизнес-логики на стороне сервера относительно плохой, и нет подробного разделения бизнеса.
- Дизайн пользовательского интерфейса относительно медленный, и страница занимает около 2 дней.
- Изучающим продукт требуется много документации. И высокая точность выполняется в соответствии с диаграммой пользовательского интерфейса, поэтому она привязана к пользовательскому интерфейсу.
- Проект должен дождаться завершения полного цикла, прежде чем высвободить все ресурсы.
Поскольку серверной части необходимо предоставить интерфейс сброса при реализации компонентизации, но они этого не сделали, слой Node.js был встроен в середину внутреннего интерфейса, чтобы действовать как прокси.
Поэтому, когда бизнес-давление на стороне сервера относительно велико, клиентская сторона начинает создавать слой позади, который может противостоять давлению бизнеса и повышать эффективность.
На уровне пользовательского интерфейса они нужны нам только для обеспечения базовой структуры. Мы можем реализовать ее в соответствии с фиксированными компонентами. Пользовательский интерфейс, предоставляемый продукту, должен быть разработан в соответствии с компонентами в библиотеке компонентов. Таким образом, стоимость проектирования интерфейса будет постепенно увеличиваться, и есть время.Может предоставить нам некоторые интерактивные предложения, это очень приятно.
Для документации по продукту нам нужна только относительно подробная документация по бизнес-логике и исключительная документация по новым компонентам.Поскольку компонентов становится все больше и больше, документация по продукту фактически сокращается.
После согласования с однокурсниками по проекту интерфейс вступает в фазу тестирования, и персонал переводит некоторых из них для запуска нового проекта в зависимости от ситуации, чтобы обеспечить максимальное использование ресурсов.
В то время, помимо этих, были еще некоторые моменты, которые можно было ускорить, но в этих аспектах было относительно немного вещей, на которые могли повлиять исследования и разработки.
Схема архитектуры Node.js
Бизнес, связанный с получением доходов, будет иметь несовместимые конфигурации множества разных отелей, что приведет к непоследовательной логике вычислений, поэтому абстрактный уровень называется логическим уровнем.
На начальном этапе пользовательский центр некоторых линеек продуктов фактически не соответствовал общему пользовательскому центру, но на более позднем этапе он постепенно отодвинулся назад.
Журналы приложений и журналы исключений фронтенда поддерживаются полным набором сервисов, но на самом деле они относительно неглубокие.В настоящее время это отвечает только задачам текущего бизнес-отдела.Позже эта часть будет передана в отдел инфраструктуры для дальнейшей поддержки, и наши усилия ограничены.Есть отношения.
говорить об урожае
Из системы исследований и разработок продуктов пристыкованные люди начинают связываться с продажами, бизнесом (бизнес-экспертами) и клиентами, которые знакомятся со многими вещами, помимо технологий, и могут видеть развитие всего бизнеса вне технологии.
Участвовал в составлении бюджета, индивидуальных проектах с клиентами, а также участвовал в расчете и согласовании проектов, чтобы я мог углубиться в это и почувствовать, как общаются и работают пограничные отделы.
Как ответственное лицо вы неизбежно будете в состоянии брать на себя вину, и у вас есть возможность подумать и скорректировать свой менталитет и позицию.
говорить о потере
Много энергии уходит на общение и координацию, и есть чувство дискомфорта, оглядываясь назад каждый день, кажется, что мне нечего делать.
От роли преобразования R & D в управление ролями будущее полно путаницы, но также увидеть путь развития в последнее время.
Разговор об уходе
Многие думают, что отставка может быть связана с продвижением по службе или борьбой. На самом деле все в порядке. Босс Ю и Лао Бао очень беспокоятся обо мне. Мы все еще очень хорошие друзья, поэтому этого не существует.
Я просто хочу успокоиться, и я могу думать о том, как уйти позже.Люди всегда останавливаются и оглядываются на прошлое в нужный момент.
говорить об интервью
В последнее время я встречался с некоторыми компаниями, большими и маленькими, встречавшимися и не встречавшимися, некоторые из них отвергли меня, а некоторые отвергли.
В общем, все в интервью действительно обращают внимание на основы.Конечно, это на самом деле в этих направлениях.Вы должны быть в состоянии быстро наверстать это после прочтения книги.Кроме того,большинство фронтенд-групп на самом деле смещен в сторону клиента В настоящее время мое направление на самом деле смещено в сторону задней части.
Конечно, есть и интересные моменты. Некоторые студенты на самом деле думают, что архитектура представляет собой компонентизацию пользовательского интерфейса (╯▽╰). На самом деле это должна быть бизнес-абстракция. Разные компании разрабатывают набор решений, которые соответствуют статусу-кво по разным ситуаций для обеспечения периода времени.Потребление внутренних ресурсов сведено к минимуму.