Предисловие:
Мне не повезло, и меня не выбрали для участия во второй See Conf Ant Financial Experience Technology Conference.Я смотрел прямую трансляцию всего процесса.Самое впечатляющее – выступление декана здания утром и выступление г-на Дж. Ты во второй половине дня.
Изначально я просто разбирал ноты, в процессе записи возникли какие-то идеи, так что они стали "XX нотами" в этой заметке.
Из-за прямой трансляции, которую я смотрел в то время в Starbucks, я не понимал часть контента четко, а мое собственное понимание было предвзятым, поэтому заметки были неизбежно упущениями или ошибками, и я также отметил места, в которых у меня были сомнения. , добро пожаловать, чтобы исправить меня.
Докладчик: Ю Хе, главный технический эксперт Ant Financial
Организатор: Ant Financial, 2nd See Conf Ant Financial Experience Technology Conference
Информация о создании заметок
Производитель: XX, Front-end разработка Aihuishou.com, WeChat: X_XDalston
Официальный аккаунт: Qingfeng Xunlai, фотография/еда/путешествия/интерфейс/перевод/чтение/фитнес...
Вступительное слово: О краже Ant Manor гений написал стихотворение на Weibo:
XX Примечание: Я сначала не внимательно слушал, что говорил спикер, я думал, что это было написано спикером, и я подумал, конечно же, фронтенд такой литературный и талантливый...
Истории пользователей о муравьиной ферме
1. Такой-то пригласил родственников и друзей вместе выращивать цыплят.Однажды цыплята прибежали к родителям домой, чтобы украсть еду.Родители сказали, что это домашнее животное ребенка и считают его своим ребенком.
XX Примечание: я думаю об «эмоциональном» элементе утренней сессии. Возможно, иногда дизайнеры продуктов не думают, что продукты будут развиваться во всех видах неожиданных и неожиданных вещей сами по себе под большой группой пользователей, открытым взаимодействием в сочетании с настоящими эмоциями. , Разумный опыт
2. Когда пара была вместе, каждая из них вырастила по две цыпочки в Поместье Муравьев. Позже они расстались, но две стороны не удалили друзей Alipay друг от друга; У обеих сторон есть чувства...
XX Примечание: Это все еще любовное слово: эмоция, эмоция, эмоция.
содержание:
XX Примечание: Когда я впервые увидел этот каталог, я не читал его внимательно, поэтому ничего не почувствовал; теперь, когда я пишу заметки, я вдруг обнаруживаю, что говорящий действительно литературный, а название очень литературно, например: Назад к началу Отправная точка, зеленое лицо ХХХХХ,...
WebGL, нелегко сказать, что я люблю тебя
Причины/преимущества первоначального выбора:
- Более эффективная и производительная, чем традиционная технология рендеринга (Canvas).
Проблемы/недостатки, обнаруженные на этапе тестирования:
- Ошибки рендеринга и другие проблемы в более ранних версиях Android
Реальные бизнес-сценарии:
-
Короткие сроки разработки и быстрый график проекта
-
Большое количество пользователей (и еще много пользователей низкоуровневого Android)
Окончательное предложение:
- Возьми сейф: неподвижный холст для Android
Вывод: WebGL хочет сказать, что любить тебя нелегко
XX Примечание: Короче говоря, это: противоречие между постоянно растущими требованиями оптимизации производительности/эффективности разработки и проблемами обратной совместимости, это не правильное или неправильное, это компромиссы;
0,3 6 яиц? Скажи НЕТ десятичным дробям!
Феномен:
- Давным-давно в незапущенной версии число яиц у пользователя было с запятой, 0,36 яиц
вопрос:
- Дробные части могут сбивать с толку
XX Примечание: Нет необходимости объяснять это...
- Количество увеличивается, восприятие пользователя неочевидно
XX Примечание: Это как слоган онлайн-игры, нож — это 999, а второй уровень — 99. Ничего страшного, да? Но замените его на: 3,1415 за один нож, 0,618 уровня в секунду... (черный вопросительный знак???)
- Восприятие пользователем того, что можно собирать, неочевидно
Решения:
-
Индикатор прогресса в процентах дает пользователю ощущение предвкушения
-
Например: докладчик упомянул, что у каждого героя King of Glory рядом с уровнем есть шкала прогресса улучшения, что дает людям ощущение ожидания.
XX Примечание: Следуя этому примеру, XX считает, что это полезно для игроков, чтобы быть в курсе текущей ситуации с апгрейдом в любое время, и это полезно для некоторых тактических операций, чтобы удивить противника или оценить текущую ситуацию на поле, или просто скажите игроку, что скоро будет модернизация и заправка для пополнения нескольких бойцов.
-
-
Индикатор выполнения меняется, чтобы пользователь воспринимал
-
Цифры действительно представляют сумму, которая может быть списана
«Божественные детали дизайна Alipay» Little Bee
XX Примечание: Маленькая пчелка в PPT может двигаться, и она действительно прыгает с 8 символами. Я не внимательно слушал, что описывал спикер, но анимация этой картинки и текста рядом с ней достаточно четкие и живые.
Докладчик упомянул, что окончательная реализация осуществляется через суперпозицию двух тригонометрических функций (а затем сказал, что онлайн-версия, кажется, недоступна? Что за новая тема? ХХ не расслышал...)
ХХ Примечание:
-
Подробности, «подробности» были упомянуты и на утреннем заседании. В системе помощи и руководства предусмотрены некоторые мелкие детали, чтобы вызвать у пользователя теплые чувства, не беспокоя пользователя; и спикер также упомянул детали слова в последующем выступлении, уделяя внимание деталям и реализуя основные ценности Поместье муравьев: вносим в мир красивые и небольшие изменения. В случае жесткой конкуренции аналогичных продуктов детали могут стать одним из ключевых факторов, способных впечатлить пользователей.
-
С другой стороны, так как это называется деталью, ее легко не заметить. Например, я мало читаю и внимательно не наблюдал за пчелами. Если говорящий упомянул, что пчелы 🐝 прыгают 8, если вы увидеть эту деталь, я тоже не резонирую, и у меня нет чувства «Ага, это офигенно!» в моем сердце. Цена этого может заключаться в том, что, поскольку когнитивные способности некоторых пользователей не могут получить подробную информацию о продукте, часть затрат на разработку в некотором смысле тратится впустую.
-
Но, другими словами, принимая во внимание общение между людьми, может быть, однажды днем человек, узнавший подробности об этом боге, поделится этим с другим другом из-за этой детали... Ну, хватит болтать, пошли.
Как изящно «поиграть в цыпленка»
Как «поиграть в цыпленка»
-
Примите «слоистый дизайн»:
-
Бизнес-уровень:
-
Концепция: компонентизация, управляемая данными
XX Примечание: я забыл, какой фреймворк упомянул спикер, но когда я вижу редукс, это должен быть React, но связка луны на картинке немного неуверенна, предполагается, что это внутренний код проекта... Компонентизация и на основе данных, я не буду объяснять
-
-
Слой данных:
-
На основе Редукса
XX Примечание. Основные понятия: единый источник данных, состояние доступно только для чтения, использование чистых функций для выполнения модификаций.
-
Детали: Добавлены "Стабилизатор", "Комбинация".
XX Примечание: Debounce обычно используется вместе с "throttle". Они похожи, но отличаются. Цель состоит в том, чтобы оптимизировать производительность высокочастотных операций, таких как мониторинг обработки событий прокрутки экрана. Похоже, что это просто смахивание, но он фактически запускает событие прокрутки для каждого 1 пикселя движения. Anti-shake, например, сесть в автобус, взять в качестве примера водителя за рулем автобуса, пока кто-то все еще садится в автобус в течение определенного периода времени, тогда водитель будет ждать, пока никто не сядет в автобус в течение определенного периода времени перед вождением. Например, нечеткий поиск обычно использует анти-дрожание, чтобы уменьшить нагрузку на сервер.По интервалу нажатия клавиши судят, что, пока пользователь все еще печатает, он будет ждать, пока не будет считаться, что пользователь остановился. введите, а затем отправьте запрос.
-
-
Слой игры:
-
идея:
-
Инжиниринг
-
конфигурация
-
-
Пример: карта спрайтов, извлеченная и настраиваемая
-
-
-
Преимущество: меньшее количество вещей, о которых думают разработчики при внедрении новых функций, снижение затрат на обслуживание.
как быть элегантным
-
Эффект: отладка рендеринга игры
-
Столкнулись с проблемой: не знаете, где проходит граница? (не могу вспомнить)
-
Как решить: (ХХ забыл)
-
-
net: код отладки без вмешательства
- Гарантированно не будет выпущен в производство через загрузчик веб-пакетов.
-
Умный: изображение синтезируется автоматически.
-
Автоматизация => Работа над композицией спрайтов
-
пытаться
-
Изначально: из-за ограничения жизненного цикла веб-пакета эту функцию невозможно реализовать должным образом;
-
финал: перейти на загрузчик webpack
-
-
-
Микро: Отполированные детали анимации: (Концепция муравьиной фермы: Привнесение в мир красивых и небольших изменений)
-
По поводу Weiwei, если не сделать хорошо, то => тривиальные проблемы станут фатальными при большом количестве пользователей
XX Примечание: Так называемая анти-микроболезнь, дамба в тысячу миль разрушается в муравейнике. Возможно, рождественское пасхальное яйцо Ant Design, выпущенное некоторое время назад, может быть хорошим негативным учебным материалом... С моей личной точки зрения, это пасхальное яйцо является сюрпризом, но когда количество пользователей велико, количество и масштаб пользователей портреты намного превышают управляемый пасхалкой диапазон, это нельзя назвать неожиданностью.
-
-
Полюс: ручная резка
XX Примечание: Это еще один вид компромисса. Первый элемент элегантности — это «эффективность», а чистая ручная резка не способствует эффективности, но, как упомянул утром президент Лу, «метафора высоких каблуков», так называемый Дух мастерства означает, что даже если эффективность низкая, разработка очень неудобна и болезненна, но итоговое изображение имеет небольшой размер, а качество изображения также высокое, что делает опыт продукта лучше , и я готов заняться чистой ручной резкой...
-
Размер изображения H5 является строгим;
- png сжатие без потерь, непрерывное сжатие
-
Разделение больших изображений;
-
Каждая точка идеальна;
-
Ничто не может остановить тоску по интерфейсу
Пример: Из-за разочарования слово (гармония) используется для обозначения цыпленка... для завершения отладки интерфейса сервера.
XX Примечание: Насмешка над данными очень распространена, но чтобы иметь возможность так красиво и утонченно издеваться над ними с необыкновенным темпераментом и яркими и краткими словами, автор должен быть гением боевых искусств с необыкновенным костяком.
- Спикер добавил: (Вы, должно быть, никогда не видели эту картинку, если видите, значит, это серьезная онлайн-авария)
Оденься и тема, открыто и беспроигрышно
XX Примечание: здесь я ничего особенного не хочу сказать, но почему-то я вдруг подумал о LOL, и очень важным пунктом прибыли King Glory является продажа скинов, особенно скинов, которые ограничены различными фестивалями. что LOL будет иногда брать скины, которые были ограничены в прошлом, и продавать их в виде 10 последовательных розыгрышей карт... (Вообще-то, я думал о черной истории моих африканцев. Единственный европейец, это когда я наконец получил слепой монах Ли Цин в год Дракона, так называемый слепой дракон... …)
нужно:
- Тема фестиваля: (тема Весеннего фестиваля 2018 г.)
- Усовершенствованная одежда: содействие росту бизнеса для взаимовыгодной ситуации между Ant Manor и другими деловыми сторонами.
XX Примечание: Вот цитата друга: Я самый красивый ребенок в этом костюме.
Схема: Платформа для одевания FreeStyle
- Цель: Освобождение разработки и визуальной продуктивности
Беспринципность к производительности; маленькие проблемы, большие алгоритмы
XX Примечание: Продолжая предыдущую тему, можно сказать, что предыдущая тема выглядит очень ярко на поверхности, с разнообразными нарядами, и цыпочки красиво одеты, но за этим ярким, вероятно, стоят программисты/дизайнеры, братья и сестры. , Это результат постоянных усилий по оптимизации волос днем и ночью.
Пример: спрос на Праздник середины осени.
-
Введение требований:
XX Примечание: Этот вид спроса слишком распространен...
-
Показывайте особые стили только в течение 3 дней Фестиваля середины осени.
-
Первоначальное действие поедания печенья было изменено на поедание лунных пирожных.
-
-
Ситуация в команде
-
время задачи короткое
-
Существующий материал, уже имеет размер 1M
-
-
решение:
- Компромисс со временем. Добавлено еще пять наборов кадровых анимаций, а к 1М объему добавлено более 500 КБ.
Объяснение: Итак, это самая большая проблема
-
Размер 1M Причина: Все анимации цыплят являются покадровыми. Каждый кадр анимации содержит более 20 кадров, что в сумме составляет более 1 млн.
-
Воздействие: Каждый раз, когда вы заходите на главную страницу, потребляется более 1 М трафика. Пользователи обнаружат, что трафик резко израсходован, и они будут сомневаться в этом.
Процесс разрешения:
-
От покадровой анимации к каркасной X-кадровой анимации
-
идея:
- Переписать со скелетной моделью
-
пытаться:
- Эра Цапли, кости дракона
-
вопрос:
-
Два слова => нет
XX Примечание: этот знакомый северный акцент на самом деле вызывает у меня очень добрые чувства...
-
-
прогресс:
-
С конца октября попробуйте использовать. Выяснилось, что кости дракона на самом деле использовали покадровую анимацию.
-
Позже (здесь не написано) и затем работа с визуальными
-
Финал: файл данных + модель скелета, более 100К
-
-
-
Еще одно требование: поддержка динамической повязки.
- 方案:
- 资源系统
- 优点:
- 根据服务端版本,实时更新
- 主要优化方案:
- 加载策略:
- 介绍:优先加载 js 文件,然后异步加载主题图片、装扮图片
- 好处:加载 js 能保证主要功能不受素材文件加载异常的影响
- 利用工程化手段:
- 优化图片数量、体积、尺寸
- 解决图片云构建系统依赖问题
-
Оптимизация бесконечна: для малой производительности, недобросовестных, оптимизируйте память
-
Проблема: существует много ресурсов изображений и большой объем памяти.
- Использование памяти Android пропорционально размеру изображения, будут различные нарушения рендеринга, заставка
-
до: 5200b
-
XX注:减肥前
- 网上找算法
XX注:减肥中
- max-rects-algorithm
- 问题:
- 大学学的算法都还给老师了
- 解决方案:
- 让新进来的校招生,来实现该算法(还成功了)
XX注:算法鬼才,XXX淘到宝了
- 大致思路:
- 改变图片排列
- 优化了图片体积
In Tiny.js we trust, in R3 we trust.
XX Примечание: я не могу точно вспомнить, что я сказал... Я только помню, что на картинке ниже есть две игры, которые были реализованы с помощью R3. Я действительно играл в соревнование по альпинизму на картинке 3... Я почти пришел, чтобы выиграть первое место. Первое, но я ошибся в свайпе руки. В то время у меня даже хватило духу удалить первого друга на тот момент. Все равно это не WeChat... Стоимость удаления друзей здесь очень низкая...
Реализация на базе R3
Возврат к исходной точке; зеленое лицо WebGL
XX Примечание: все, что было в прошлом, — это пролог. Небеса хороши для реинкарнации, ... (? Я пошел не в ту студию)
Оглядываясь назад на более чем годичный процесс запуска Ant Manor
-
В сети много проблем со стабильностью, которые могут быть связаны с памятью и ЦП.
XX Примечание: Android: Винить меня?
-
Усадьба муравьев хоть и 2D, но не такая строгая, как 3D, но все же нуждается в оптимизации
-
В сентябре стартовал тест производительности новой версии,
-
Обнаружена проблема: пользователь вылетает
-
Попробуйте идею: WebGL может избежать проблемы воспоминаний
-
Фактический бизнес-сценарий: более чем через год после обновления версии Alipay и обновления ядра Alipay поддержка телефонов Android стала лучше.
-
-
Вывод: Вернемся к исходной точке: зеленому лицу WebGL.
XX Примечание: В те годы ямы, которые мы засыпали, баги, которые мы исправили, лысины...
время вопросов
XX Примечание. Записанное здесь отклонение может быть больше и приведено только для справки.
Вопрос: Я поднял онлайн-баг, ранжирование муравьиной усадьбы, когда куры пришли украсть еду, было напоминание, но когда я нажал, я обнаружил, что его нет (наверное так, это было слишком шокирующим в то время. первый вопрос был про баг, потом не помню что говорил)
Ответ: Поскольку количество пользователей очень велико, данные могут быть неточными, а данные могут задерживаться.
Вопрос: Предложение: В функцию избиения цыплят добавить новый пункт: Карточка отравления, функция в замедлении скорости поедания корма.
Ответ: Отзывы очень хорошие, и они будут обсуждаться с продуктом позже.
Вопрос: Какой движок или инструмент используется для решения проблемы с анимацией цыпленка? кокос2d
Ответ: Это почти одно и то же.
Проблема: Когда птенец переодевается, ему приходится каждый раз заново вырезать картинку и собирать ее, что не получается гладко.
Ответ: Я создал систему, чтобы дать работу видению, которое нужно сделать...
XX Примечание: В конце концов, в большой компании система говорит, что делает то, что говорит...
Эпилог
Фронтенд-обязанности: как фронтенд-разработчик вы должны не только выполнять требования продукта
Более высокие требования: нести ответственность за продукт, например: вносить свои предложения, даже руководить продуктом;
XX Примечание: здесь я не услышал конкретики, но общий смысл - это то, что я написал выше.
XX Примечание: Фронтенд имеет свои преимущества: сочетание логического мышления и здравомыслия, в то же время, будь то 2С или 2В, он является ближайшим звеном к пользователю в разработке, и в нем проще всего разобраться в реальных потребностей пользователя.Например,недавно я участвовал в Платформе для совместной работы,похожей на TAPD внутри компании,сам использовал ее,когда разработка была почти завершена.В процессе самотестирования я добавил эту задачу разработки как проект в системы, а также сообщил о найденных в ней ошибках и т. д. Подождите, это может быть самый ранний реальный пользователь этого проекта, охватывающий разработку, тестирование и обычные пользовательские роли.
ХХ комментарии и предложения:
Когда я написал эту заметку, было уже три часа ночи. Поскольку при нажатии на курицу в главном интерфейсе будет текстовая подсказка, возможно, вы можете подумать о добавлении теплых напоминаний для людей, которые поздно ложатся спать. : Например, если ты будешь поздно ложиться спать, твоя линия роста волос будет такой же, как у меня.
Я обновлю его позже, когда подумаю об этом, я только начал играть, когда вернулся в Шанхай из Пекина два месяца назад...
ХХ Отражение:
Времена меняются и итерация знаний
-
Я занимаюсь фронтендом уже больше 5 лет, да и про webgl тоже мало знаю, но так же как и опыт спикера, их команда тоже путается когда дело доходит до 2д анимации и скелетных моделей, но как он сказал, что нам делать? Одно слово: учиться. Это так просто.
-
Возможно, как отметил центр форума D2 на следующий день, в отличие от других программных позиций, область фронтенда — это быстро меняющаяся область, полная проблем и возможностей одновременно.
-
Объединив свой собственный опыт, когда я впервые начал работать над интерфейсом, я начал заниматься интерфейсом со своим самоучкой jQuery в моей школе, личным блогом, опытом работы в области компьютерных наук и хорошим впечатлением от фронтенда. -end, а затем обнаружил, что от jQuery, jQuery UI до Bootstrap, до template.js X lodash до корзины семейства Vue и теперь React X Typescript X Mbox... Кажется, я никогда не переставал учиться... Не так ли? страшный?
-
Но я вспомнил предложение, которое много раз слышал в звучании книг: «В ближайшие десять лет способности, которые, как мы думаем, исчезнут». Таким образом, решение таково: детский сад на всю жизнь перед лицом неопределенного будущего, поддержание любопытства, развитие творчества и обучение на протяжении всей жизни.
Инженерное мышление, дух мастера
-
Если использовать старую аналогию, содержание, упомянутое выше, может определять нижнюю границу нашего карьерного роста, докладчик упомянул инженерное мышление и мастерство, оно может определять верхнюю границу нашего карьерного роста.
-
Возможно, приведенная выше аналогия неуместна, но важность инженерного мышления и мастерства должна стать очевидной после того, как вы послушаете это высказывание. Когда дело доходит до духа мастерства, моей первой реакцией является книга «Путешествие и чтение», вопрос: «Если вам исполнится 100 лет, в каком ресторане вы будете есть?» и предложение: «Всякий раз, когда вы думаете, Еда на высшем уровне была такой, и всегда есть новые впечатления, которые могут снова меня удивить».
-
Что касается инженерного мышления, я думаю, что это очень просто: просто продолжайте изрываться, заполняться, изрываться, изрываться, изрываться, заполняться...
наконец
После написания этой заметки в общей сложности прошло около 5 часов... Эффективность надо повышать, иначе волосы будут выпадать недостаточно конечно, в заметке еще много недостатков, прошу меня поправить.
Эта заметка в основном о том, что XX записал какие-то мысли сам. На самом деле, она еще слишком разрознена. Может быть, это повлияет на него в будущем. Это только последняя часть размышлений, или как она появляется в статье: Цитата из первой половина See Conf Несколько точек зрения, может быть, в какой-то момент в будущем я вспомню определенную точку зрения в содержании, которым поделился Юхе на этот раз.
Но в любом случае, так же, как читать и путешествовать, не обязательно постигать какую-либо жизненную философию, а достаточно хорошо быть в процессе, тот же процесс конспектирования, на самом деле, будет очень интересно, если вы делать больше заметок. , по крайней мере ХХ стал получать удовольствие от этого процесса, пожалуй, этого было достаточно. (Хотя волосы сильно выпадали)
Если вы считаете заметки в этой статье полезными, обратите внимание на QR-код официального аккаунта в начале статьи~ В этом году, если флаг установлен, я напишу еще несколько технических статей, прочитаю заметки. , инвентаризация проекта и размышления...
О, и документирование моей недавней борьбы с выпадением волос…