Вскрытие! Я собираюсь написать «Весеннюю загрузку» вручную

Spring Boot Java

В настоящее время широко используемые аннотации, связанные с Spring MVC, такие как@GetMapping,@PostMapping,@PathVariableСделанный. Я также открыл исходный код проекта, адрес:GitHub.com/snail Climb/….Оригинальный открытый исходный код не прост, если вы считаете, что это хорошо, вы можете дать 1 звезду добросовестному автору, чтобы поощрить его!

Сегодня солнечный день, а я, как обычно, сижу на подоконнике и "в оцепенении" смотрю на компьютер. Ведь выходные, поэтому технической галантереей делиться не буду.

Просто поговорите со своими друзьями о том, что вы делаете в последнее время и начали делать.

01 Рефакторинг JavaGuide

Мы часто чувствуем отвращение к коду, который мы написали в первые дни, и это одна из важных причин, почему многие проекты остаются незавершенными и плохо поддерживаются.

То же самое относится и к писательству, и мне часто кажется, что мое раннее творчество похоже на кусок дерьма. Причина этого явления проста! Я думаю, что могут быть две основные причины:

  1. Чем больше знаний вы накопили, тем глубже ваше понимание определенного пункта знаний.
  2. В отличие от других типов статей, технические статьи сами по себе нуждаются в постоянном улучшении, и содержание статей будет улучшаться.

Итак, в течение последних нескольких месяцев я находил время, чтобыJavaGuideНекоторые из более ранних статей, такие как Java Basics, Java Collection Framework, Zookeeper, Redis и другие, подверглись значительному рефакторингу.

В конце концов, время ограничено, а я по-прежнему сосредотачиваю свои основные силы на написании кода. Поэтому некоторые статьи еще не начали рефакторить, например содержание раздела структуры данных.

Я с нетерпением жду вклада наших друзей! Пусть Brother Guide потратит больше времени на написание кода, хе-хе!

02 Написал простой фреймворк RPC

Когда я учился в колледже, я использовал фреймворки RPC, такие как Dubbo, и у меня есть небольшое понимание принципов фреймворков RPC.

Так когда-либо! Во время эпидемии я был не очень занят работой, поэтому задумался, не хочу ли я написать RPC-фреймворк, чтобы поиграть с ним.

Просто сделай это! У меня ушло 3 месяца до и после, я использовал свободное время, чтобы написать простой RPC-фреймворк (Игрушка), по имениguide-rpc-framework. Эта структура основана на Netty+Kyro+Zookeeper и интегрирует Spring.

Шутки в сторону! Действительно, было потрачено много сил. Хотя принцип этой штуки не сложный, нужно время, чтобы написать хорошо.

В настоящее время у этого проекта 0,7 тыс. звезд. Спасибо, ребята, за вашу поддержку!

Подобный проект с открытым исходным кодом определенно станет плюсом в вашем резюме!

Более того, когда я сам писал фреймворк RPC, я углубил свое понимание принципов фреймворка RPC. В процессе реализации кода я столкнулся со многими проблемами, и в процессе решения проблем я также улучшил свои навыки программирования и решения проблем. в конце концов,Приют — это средство, которое может улучшить их возможности системного программирования.

03 Напишите упрощенную версию Spring Boot

Да! Я собираюсь начать строить следующее колесо, упрощенную версию Spring Boot! У меня есть имя, оно называется "jsoncat".

Имя не имеет особого значения, просто потому, что фреймворк в настоящее время позиционируется только для возврата данных типа json во внешний интерфейс, поэтому json добавляется к имени.

На самом деле, говорят, что это упрощенная версия Spring Boot, но она просто имитирует функции, предоставляемые Spring Boot, и самостоятельно пишет аналогичный облегченный HTTP-фреймворк. (Функционал, экологичность, стабильность и другие аспекты нельзя сравнивать со Spring Boot!)

Для конкретной реализации, давайте сначала кратко поговорим, а потом я напишу отдельную статью, чтобы поделиться. Я буду использовать Netty для написания простого HTTP-сервера, в основном используемого для обработки HTTP-запросов. Для других модулей я постараюсь уменьшить количество сторонних зависимостей с учетом читабельности кода. Поэтому весь каркас будет относительно легким.

Кроме того, код будет написан максимально просто, без умышленной демонстрации навыков. Я также поделюсь тем, что узнал, написав эту простую HTTP-инфраструктуру. конечно! Если вы хотите увидеть исходный код, я также открою его.

Я пишу эту вещь только для своих личных увлечений, в основном для улучшения моих навыков кодирования. Также рекомендуется постараться воплотить свои мысли в жизнь.

Теория важна, но теория, оторванная от практики, ненадежна.

По сравнению с CRUD, безусловно, интереснее построить колесо самостоятельно, и это также может тренировать ваши способности программирования и способность решать проблемы.

Текущее мнение состоит в том, что версия 1, по крайней мере, способна правильно обрабатывать запросы Get и Post. На данный момент я в основном закончил его писать. По сравнению с ранее реализованным фреймворком RPC это в целом немного проще.

用自己写的框架处理了一次Post请求

Тем не менее, большую часть времени все еще думают о том, как сделать код более надежным, читабельным и простым в обслуживании!

В качестве отступления, чтобы облегчить чтение кода, помимо понимания идеи объектно-ориентированного программирования, неизбежно использование шаблонов проектирования.

04 Светская беседа

К тому времени, когда вы, ребята, читаете это, я уже гулял со своим лучшим другом из колледжа.

Не виделись больше полугода.Интересно,поправилась ли моя подруга сейчас? Во всяком случае, я набираю вес.

05 Мой проект с открытым исходным кодом

  1. JavaGuide: «Java Learning + Interview Guide» охватывает основные знания, которые необходимо освоить большинству Java-программистов. Подготовьтесь к собеседованиям по Java с помощью JavaGuide!
  2. guide-rpc-framework: Пользовательская структура RPC, реализованная Netty+Kyro+Zookeeper (Специальная структура RPC, реализованная Netty+Kyro+Zookeeper — с подробным процессом реализации и соответствующими руководствами).
  3. jsoncat: облегченная структура HTTP, которая имитирует Spring Boot, но отличается от Spring Boot.
  4. programmer-advancement: Несколько хороших привычек, которые должны быть у программиста + обязательные к прохождению интервью!
  5. springboot-guide: Не только Spring Boot, но и важные знания Spring
  6. awesome-java: Коллекция потрясающих Java-проектов на Github.