"Время не упущено, творчество не останавливается, эта статья участвует вКонкурс эссе на конец 2021 года"
2021 год пережил многое: люди аплодируют, когда он блестящий, и тяжелая борьба, когда он падает на дно, это год взлетов и падений. К счастью, эти трудные времена позади, и теперь пришло время рассказать об этом в виде истории.
Контента много, просто следите за основной линией работы и жизни, статей и веток технического роста.
Основная линия (трудовая жизнь)
Меня зовут Али Гаоде, я присоединился к нам в конце прошлого года и работаю над цепочками инструментов в отделе архитектуры, включая компиляцию, отладку, IDE и документацию.
Поскольку задействовано много технологий компиляции, таких как Babel, Postcss, Typescript, Terser и т. д., я глубоко изучил теорию, связанную с компиляцией, и принципы реализации этих инструментов компиляции.
После исследования в течение определенного периода времени я сделал компиляцию технологии обмена в компании. Я обнаружил, что у меня есть большой интерес к технологии компиляции, поэтому я задал вопрос Zhihu: «Надежны ли разработка внешнего интерфейса и компиляции?» К счастью, у меня есть много замечательных экспертов, таких как дядя Ланг, Хуан Сюань. ,Хлеб,и старший эксперт от Huawei.Восторженный ответ мужика.
После некоторого общения с экспертами Huawei я отправился в лабораторию языков программирования Huawei, чтобы рассказать о «цепочках инструментов для перевода и упаковки в области внешнего интерфейса»:
Цепочка инструментов для перевода и упаковки в области пользовательского интерфейса (часть 1)
Насущный инструмент перевода и упаковки в белом поле (часть 2): инженерный замкнутый цикл
Я начал писать, когда вернулсяВавилонская брошюра, в этой брошюре я описал принципы ряда технологий компиляции, таких как проверка типов, сжатие и путаница, интерпретатор JS, а также такие приложения, как автоматическое встраивание точек, автоматическая интернационализация и автоматическое создание документов.
Хотя в первый раз, когда я писал буклет, некоторые выражения были недостаточно хороши, но в целом он более систематичен и глубок, и весь код есть, так что отзывы у меня неплохие.
После написания буклета «Наггетс» провели два прямых эфира:
Прямой эфир «Углубленные принципы компиляции интерфейса от Babel»
От компиляции фронтенда до рукописного Babel
После этого я поехал в чат ЗАО ЗАО ЗАО, чтобы сделать техническое обмен, имел некоторое пересечение с г-ном Скоттом, и также был приглашен на кафедру коммерциализации байта, чтобы сделать техническое значение (байтовая интрасеть должна быть в состоянии найти его) Отказ
На работе, поскольку я глубоко изучаю Babel, обслуживание компиляторов, инструментов для создания документации и т. д. более удобно.
С точки зрения компиляции, Babel — это только начало. В будущем еще нужно написать исходный код PostCss, Eslint, Typescript и другой контент. годы:
Про мечты, про мой паблик аккаунт
На самом деле, очень приятно иметь область интересов, которая может продолжать углубляться, и мне это тоже нравится. Впрочем, слишком уж падать в глубокую долину с высоты только из-за моей одержимости компиляционными технологиями.
Однажды со мной связался человек, отвечающий за лабораторию языков программирования Huawei, и спросил, не хочу ли я поехать туда, чтобы поучаствовать в новом языке программирования.Они сказали, что примут то, что у меня нет опыта в этой области, и компенсируют потеря моей годовой премии.
Я на самом деле совсем запутался, потому что когда я иду туда, это не front-end разработка, а разработка C++ и компилятора, но думаю о возможности углубиться в технологию компиляции, такая возможность редка, и я могу делать вещи в Сама Alibaba.Двинувшись глубже, я согласился.
В то время я был очень взволнован и чувствовал, что собираюсь создать язык программирования, поэтому написал статью о своем понимании языков программирования:
Какова природа языков программирования
Я не удержал лидерство Гу и предложил уйти в отставку, но в итоге Huawei предложила мне позицию на аутсорсе со значительным снижением зарплаты. Я думаю, что это слишком стыдно, даже если это фиксированная зарплата, я пойду, урезание зарплаты слишком обидно.
И я хорошо поработал в архитектурной группе AutoNavi, и пойти туда равносильно отказу от будущего в AutoNavi:
Когда крупная компания электронной коммерции отработала год, я уволился с работы
В то время я отказался от 4-месячной премии Али в конце года, отказался от должности в команде архитекторов и добавил в свое резюме годичный опыт работы. Честно говоря, я был немного сломлен, и многие надо мной смеялись.
К счастью, я примирился с собой позже, я думаю, что мой характер такой, и я слишком зациклен на технологии компиляции, и такое рано или поздно произойдет.
Я рассказал об этом в официальном аккаунте и получил поддержку от многих людей:
Преобразование и компиляция не удались, продолжайте делать внешний интерфейс
Так что я набралась смелости, чтобы продолжить поиск фронтенд-работы.
Официальный аккаунт дал мне много возможностей, и многие внутренние реферальные позиции также проходят через него, и есть как минимум два интервью, на которых меня напрямую спрашивают о моих намерениях, и не так много технических интервью.
В перерывах между поиском работы я также полагаюсь на написание статей на официальном аккаунте, чтобы разрешить свои негативные эмоции, поэтому мой менталитет относительно стабилен, и даже когда некоторые статьи узнают все, я счастливее.
Я очень благодарен читателям публичного аккаунта, которые подбодрили меня, вы дали мне свет, когда я был в темноте.
Поэтому, когда искал работу на дому, первым делом смотрел на интенсивность работы, надеялся, что смогу больше времени уделять написанию статей на официальном аккаунте.
Итак, в конце концов, я присоединился к иностранной компании (coupang), я могу уйти с работы после 6 часов, а вечером у меня будет еще несколько часов для написания, хотя мне нужно переехать из Пекина в Шанхай.
Работа иностранной компании заключается в развитии бизнеса, который включает в себя прямую трансляцию, а также имеет доступ к серверному коду Java.Согласно моей концепции обучения «обучение на работе», я должен изучить некоторые Nest.js (похожие к фреймворку Spring Node.js MVC), WebRTC (технология аудио- и видеосвязи), Vue (интерфейсный фреймворк, используемый здесь), поэтому я буду использовать эти технологии, чтобы сделать проект с полным стеком в следующем.
Четыре предложения, чтобы обобщить мой взгляд на обучение
Обучение на работе всегда является наиболее эффективным способом обучения, потому что то, что вы изучаете, имеет реальные сцены приземления, а поскольку есть конкретные сцены, вы можете учиться глубже.
Поэтому содержание изначально запланированной серии компиляций приходится немного замедлять, а рабочие дела делать в первую очередь.
Я примерно перечислил, что буду делать в следующем году, и расставил флажки:
- Проект полного стека Nest.js + Vue (электронная коммерция + прямая трансляция / другие)
- Углубленные технологии, связанные с WebRTC
- Буклет EsLint (серия сборников)
- Буклет PostCss (серия сборников)
Кроме того, это направление обновления общедоступной учетной записи, упомянутое ранее:
Опыт 2021 года можно назвать взлетами и падениями, но все закончилось.
Обзор этого года самая большая прибыль, за исключением брошюры, является общедоступным числом. Я зарегистрирован в мае. Название «Программирование обманщиков Бога» - подумать о способности выводить некоторые из моих технологий через эту платформу. Я надеюсь дать вам некоторое вдохновение. Но я не ожидал, что общественное число вернуло мне, я могу спокойно проводить самый сложный день этого года, я могу иметь текущую работу, я неотделимую от общественности. Таким образом, 2022, я поставим больше энергии в общественное число.
Расширение (статьи, брошюры, технический рост)
Во-первых, самая большая технологическая продукция года«Читы для очистки плагина Babel»Буклет, эти кейсы и написанный от руки Babel также являются для меня большим улучшением.
Во-вторых, эти технические статьи я написал. Разобраться:
Фронтенд мышление
Расскажите о моем понимании интерфейсных фреймворков на протяжении многих лет.
Нет кода, который вы когда-либо писали, избегают эти два аспекта: API и абстракции
Пять уровней работы с интерфейсом, над каким уровнем вы работаете?
Компьютерная теоретическая основа 4 методов рендеринга интерфейса
Суть кроссплатформенных решений и кроссовых движков, написанных на фронтенде
метод обучения
Четыре предложения, чтобы обобщить мой взгляд на обучение
Мой пятишаговый метод скорочтения для эффективного чтения исходного кода
Технология обучения должна быть настойчивой, но не слишком настойчивой.
Chrome Devtools
Интервьюер, я внедрил Chrome Devtools
6 способов переломной точки в JS, сколько вы использовали?
Производительность доказала, что рендеринг веб-страниц — это макрозадача.
Возможности Chrome Devtools, о которых вы могли не знать
компилировать
Импортируйте так, как вы хотите, чтобы почувствовать мощь плагина Babel
Принцип реализации «Обнаружение покрытия», это он?
[Huawei Sharing] Цепочка инструментов перевода и упаковки в интерфейсной области (часть 1)
Плагин Quickstart postcss: автоматически конвертировать px в rem
Раскрыт принцип CSS TreeShking: рукописный PurgeCss
Typescript
Давайте сделаем несколько упражнений! Погрузитесь в расширенные типы TypeScript и гимнастику типов
Какова природа типов Typescript
Почему компиляция машинописного текста с помощью babel — лучший выбор
Ручная проверка типа ts на основе babel
Мой секрет чтения исходного кода Typescript здесь
Node.js
Понимание модуля Node.js fs от корня: совместное проектирование файловой системы
3 уровня веб-фреймворка Node.js
Внешний интерфейс не понимает процесс взаимодействия? Прочитав это, вы поймете
Суть Node.js async api и libuv
Глубокое понимание кодирования буфера Node.js.
Debugger
Как вкусно отлаживать JS-код веб-страницы с помощью VSCode
Советы отладчику, чтобы повысить свой уровень nodejs
Раскрыты принципы отладчика JavaScript
Технология рендеринга
Компьютерная теоретическая основа 4 методов рендеринга интерфейса
Как я использовал Three.js, чтобы построить дом в 3D-мире (подробное руководство)
Трехмерная визуализация музыкального спектра с Three.js и AudioContext
Нарисуйте для него (нее) праздничный 3D-торт с помощью Three.js
Визуализация траектории путешествия Three.js из Пекина в Шанхай
На этот раз досконально изучите аппаратное ускорение GPU и CSS.
VSCode
Мальчик, я передал вам этот API-интерфейс плагина VSCode, которым я дорожил.
Советы, как сделать ваш код vscode более эффективным
Как вкусно отлаживать JS-код веб-страницы с помощью VSCode
Используйте фрагменты vscode для повышения эффективности разработки с участниками проекта
Брат Мо, давай запустим фейерверк в vscode
Основы компьютера
Какова природа языков программирования
В битовых операциях, которые, по вашему мнению, вам не нужны, кроются секреты реализации CPU.
Различные методы управления памятью умнее PK
пишу
В чем суть технической статьи? говорить о моих мыслях
Суммировать
В этом году я многое потерял (работа архитектурной команды Alibaba, награда за 4 месяца по итогам года) и многое приобрел (буклет Babel, официальный аккаунт). У меня были яркие моменты (раннее общение в чате, byte и Nuggets для обмена технологиями), а также особенно тяжелые мрачные моменты (Huawei передала работу на аутсорсинг, потеряла работу, потеряла бонусы в конце года и потеряла работу в Ali). ).К счастью, есть официальный аккаунт.Вы можете написать что-то и пообщаться с вами.
В будущем я не буду таким тупым, интерес интересом, работа работой, и я не брошу работу и даже не брошу фронтенд ради определенной технологии. Я больше не буду доверчиво верить чьим-либо обещаниям и ничего не говорить.
Технически, если ключевое слово в 2021 году编译
, ключевые слова в 2022 году будут全栈
(Потому что вещам, связанным с работой, еще нужно научиться в первую очередь).
В 2021 году я хотел бы поблагодарить всех за вашу поддержку.В 2022 году я буду тратить больше времени на статьи и буклеты, давайте расти вместе. (С нетерпением жду того дня, когда я стану фронтенд-боссом)
постскриптум
Потому что некоторые награды пришли с опозданием, но они тоже считаются достижениями в 2021 году, поэтому обновление здесь: