5 популярных веб-фреймворков, основанных на языке Go, больше не нужно просто знать SpringMVC
5 популярных веб-фреймворков, основанных на языке Go, больше не нужно просто знать SpringMVC

Spring MVC не имеет себе равных в области веб-технологий Java, и, будучи одним из стандартных языков в эпоху облачных технологий, язык Go естественным образом породил множество отличных веб-фреймворков. Сегодня я хотел бы поделиться с вами 5 популярными веб-фреймворками на основе языка Go. В чем разница между ними и как выбрать? Не волнуйся, посмотри вниз.

Gin

Название проекта: джин-гоник/джин

Количество звезд проекта: 69,2 тыс.

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

Gin должен быть самым популярным веб-фреймворком Go в настоящее время. Хотя он легкий, его функции совершенно не неоднозначны, а производительность очень высока. Он имеет функции, аналогичные Martini (классическому веб-фреймворку Go, поскольку он больше не является таковым). API снова поддерживается (здесь не обсуждается) и имеет лучшую производительность — скорость увеличена в 40 раз. Ниже приведены некоторые из основных функций Джина:

  1. Поддержка маршрутизации и промежуточного программного обеспечение:Gin обеспечивает гибкую функциональность маршрутизации,Маршрутизация URL и функции процессора могут быть легко определены. в то же время,Gin также поддерживает промежуточное программное обеспечение.,Используется для выполнения некоторой дополнительной логики до или после того, как запрос достигнет функции-обработчика.,Например, аутентификация, ведение журнала и т. д.
  2. Быстрая обработка запрос:Gin использует высокопроизводительный движок маршрутизации,Способен обрабатывать большое количество одновременных запросов. Он использует алгоритм сопоставления маршрутизации, основанный на корневых деревьях.,Имеет низкое потребление памяти и высокую скорость сопоставления.
  3. Привязка и проверка параметров:Gin предоставляет мощные функции привязки и проверки параметров.,Параметры можно легко извлечь из запроса и проверить.,Поддерживаются различные типы данных и правила проверки.
  4. Поддержка рендеринга и шаблонов: Gin поддерживает несколько методов рендеринга, включая шаблоны HTML, JSON, XML и т. д. Разработчик может выбрать подходящий метод рендеринга для вывода результатов ответа по мере необходимости.
  5. Обработка и протоколирование ошибок: Gin предоставляет удобные механизмы обработки ошибок и функции протоколирования.,Может помочь разработчику своевременно обнаружить и обработать ошибки.,И запишите соответствующую информацию журнала.

Самое выдающееся в Gin — его отличная производительность. Ниже приведены официальные данные стресс-тестов. Более подробную информацию можно найти на github.

Развитие Gin действительно происходит очень быстро, а сообщество очень активно и расширяется. Достаточно взглянуть на его ужасающие 69,2 тыс. звезд, чтобы понять, насколько он популярен.

Его также очень просто использовать. Ниже кратко показано, как использовать платформу Gin для создания API, обрабатывающего HTTP-запросы.

  1. Сначала убедитесь, что вы установили среду разработки языка Go и настроили соответствующие переменные среды, которые здесь опущены.
  2. Создайте новый модуль Go и инициализируйте его:
Язык кода:javascript
копировать
$ go mod init example.com/gin-demo
  1. Установите Джинрамку:
Язык кода:javascript
копировать
$ go get -u github.com/gin-gonic/gin
  1. существоватьпроектиз Создайте файл с именемmain.goиздокумент,и добавьте следующий код:
Язык кода:javascript
копировать
package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    // Создать движок Gin по умолчанию
    r := gin.Default()

    // Определите функцию-обработчик для запросов GET.
    r.GET("/hello", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello, Gin!",
        })
    })

    // Запустите HTTP-сервер, который по умолчанию прослушивает локальный порт 8080.
    r.Run()
}
  1. Запустите HTTP-сервер, выполнив в командной строке следующую команду:
Язык кода:javascript
копировать
$ go run main.go
  1. доступhttp://localhost:8080/hello,Вы увидите следующий ответ в формате JSON:
Язык кода:javascript
копировать
{
    "message": "Hello, Gin!"
}

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

Что ж, позвольте мне похвастаться, Джин действительно стоит попробовать.

Echo

Название проекта: labstack/echo

Количество звезд проекта: 25,8 тыс.

Echo — это веб-фреймворк, разработанный на основе языка Go. Он популярен благодаря своей простоте, удобству использования, высокой производительности и легкости расширения. Девиз Echo: высокая производительность, минимализм.

Особенности Эха заключаются в следующем:

  1. Легкий и простой в использовании:Echoрамка Оптимизированный дизайн,Легко учиться и использовать. Он использует стиль дизайна API, аналогичный стандартной библиотеке.,Обеспечивает интуитивно понятный и последовательный интерфейс.,Предоставьте разработчику возможность быстро приступить к работе.
  2. Быстрая обработка запроса:Echoрамка Используя высокиепроизводительностьизмаршрутизациядвигатель,Способен обрабатывать большое количество одновременных запросов. Он использует алгоритм сопоставления маршрутизации, основанный на деревьях префиксов.,Имеет высокую скорость сопоставления и низкое потребление памяти.
  3. Поддержка маршрутизации и промежуточного программного обеспечения:EchoОбеспечивает гибкий и мощныйизмаршрутизация Функция,URL-маршрутизация и функции процессора могут быть легко определены. в то же время,Echo также поддерживает промежуточное программное обеспечение.,Используется для выполнения некоторой дополнительной логики до или после того, как запрос достигнет функции-обработчика.,Например, аутентификация, ведение журнала и т. д.
  4. Привязка и проверка параметров:Echoрамкаобеспечивает удобствоиз Привязка параметровипроверять Функция,Возможность легко извлекать параметры из запросов и проверять их. Он поддерживает несколько типов данных и правил проверки.,Разработчик упростил процесс обработки пользовательского ввода.
  5. Поддержка рендеринга и шаблонов:EchoПоддерживает несколько методов рендеринга,Включая шаблоны HTML, JSON, XML и т. д. Разработчик может выбрать подходящий метод рендеринга для вывода результатов ответа по мере необходимости.

Echo больше всего хвалят за интуитивно понятный дизайн API, который очень прост в использовании и содержит меньше шаблонного кода. Кроме того, он подходит для обработки крупномасштабных сценариев с высоким уровнем параллелизма и может обеспечить высокую производительность благодаря механизму маршрутизации и внутренней оптимизации.

Ниже приведен пример использования платформы Echo, показывающий, как создать API, обрабатывающий HTTP-запросы.

  1. Создайте новый модуль Go и инициализируйте его:
Язык кода:javascript
копировать
$ go mod init example.com/echo-demo
  1. Установите Эхорамку:
Язык кода:javascript
копировать
$ go get -u github.com/labstack/echo/v4
  1. существоватьпроектиз Создайте файл с именемmain.goиздокумент,и добавьте следующий код:
Язык кода:javascript
копировать
package main

import (
    "net/http"

    "github.com/labstack/echo/v4"
)

func main() {
    // Создайте экземпляр Echo
    e := echo.New()

    // Определите функцию-обработчик для запросов GET.
    e.GET("/hello", func(c echo.Context) error {
        return c.JSON(http.StatusOK, map[string]string{
            "message": "Hello, Echo!",
        })
    })

    // Запустите HTTP-сервер, который по умолчанию прослушивает локальный порт 8080.
    e.Start(":8080")
}
  1. Запустите HTTP-сервер, выполнив в командной строке следующую команду:
Язык кода:javascript
копировать
$ go run main.go
  1. доступhttp://localhost:8080/hello,Вы увидите следующий ответ в формате JSON:
Язык кода:javascript
копировать
{
    "message": "Hello, Echo!"
}

В приведенном выше примере показано, как создать простой API с использованием платформы Echo. При необходимости вы можете добавить дополнительные маршруты и функции-обработчики для создания более сложных приложений.

Beego

Название проекта: биго/биго

Количество звезд проекта: 29,8К

Beego — это полнофункциональная веб-инфраструктура, разработанная на основе языка Go. Она имеет встроенную поддержку ORM, встроенную маршрутизацию, поддержку MVC и RESTful API. Она привлекла большое внимание своей эффективностью, стабильностью и богатыми функциями.

  1. Поддержка маршрутизации и промежуточного программного обеспечения:Beegoобеспечивает мощныйизмаршрутизация Функция,Поддерживает регулярные выражения и определения маршрутизации RESTful. в то же время,Он также предоставляет механизм промежуточного программного обеспечения,Используется для выполнения некоторой дополнительной логики до или после того, как запрос достигнет функции-обработчика.,например аутентификация、кэш、Ведение журнала и т. д.
  2. Поддержка ОРМ:BeegoВстроенный, простой в использованииизORM(реляционное отображение объектов)рамка,Операции с базой данных могут быть легко выполнены. Он поддерживает основные системы баз данных.,И предоставляет богатые функции ORM,Такие как определение модели, Запрос данных、Обработка транзакций и т. д.
  3. Привязка и проверка параметров:Beegoрамкаобеспечивает удобствоиз Привязка параметровипроверять Функция,Параметры можно легко извлечь из запроса и проверить. Он поддерживает несколько типов данных и правил проверки.,Разработчик упростил процесс обработки пользовательского ввода.
  4. Механизм шаблонов поддерживает:Beegoподдерживать Различные шаблоныдвигатель,Включая собственный шаблонизатор Go и сторонний шаблонизатор.,Например, собственный BeegoTemplate от Beego, сторонние Mustache и Velocity и т. д. Разработчик может выбрать подходящий механизм шаблонов для визуализации представления в соответствии с вашими потребностями.
  5. Международная поддержка:BeegoОбеспечивает простоту в использованииизинтернационализация(i18n)поддерживать,Можно легко осуществлять разработку и управление многоязычными приложениями.

После многих лет разработки и оптимизации платформа Beego получила широкое распространение и проверку. Она обладает хорошей производительностью и стабильностью и очень подходит для создания крупномасштабных веб-приложений. Тем не менее, Beego эквивалентен другим веб-фреймворкам. Его кривая обучения относительно крутая. Новичкам будет медленнее, чтобы начать работу. Им необходимо понимать различные модули и концепции платформы, а документов относительно мало.

Ниже приведен пример использования платформы Beego, показывающий, как создать простой веб-сервис.

  1. Создайте новый модуль Go и инициализируйте его:
Язык кода:javascript
копировать
$ go mod init example.com/beego-demo
  1. Установите Beegoрамку и инструмент ORM Beego Bee:
Язык кода:javascript
копировать
$ go get -u github.com/astaxie/beego
$ go get -u github.com/beego/bee/v2
  1. существоватьпроектиз Создайте файл с именемmain.goиздокумент,и добавьте следующий код:
Язык кода:javascript
копировать
package main

import (
    "github.com/astaxie/beego"
)

type HelloController struct {
    beego.Controller
}

func (c *HelloController) Get() {
    c.Data["json"] = map[string]string{
        "message": "Hello, Beego!",
    }
    c.ServeJSON()
}

func main() {
    beego.Router("/hello", &HelloController{})

    beego.Run()
}
  1. Запустите HTTP-сервер, выполнив в командной строке следующую команду:
Язык кода:javascript
копировать
$ bee run
  1. доступhttp://localhost:8080/hello,Вы увидите следующий ответ в формате JSON:
Язык кода:javascript
копировать
{
    "message": "Hello, Beego!"
}

Разве это не очень просто~~ Конечно, у beego очень богатые функции, которые далеко не так просты, как показано в приведенном выше случае. У него также есть много сложных функций, которые здесь не будут выполняться, ожидая. вам исследовать.

Revel

Название проекта: revel/revel

Количество звезд проекта: 12,9 тыс.

Revel — это полнофункциональная веб-инфраструктура, разработанная на основе языка Go. Она включает в себя множество функций и инструментов, таких как ORM, механизм шаблонов и маршрутизатор, и является комплексной и богатой функциями.

  1. Полная архитектура MVC:Revelрамка Взял на вооружение классикуизMVC(Model-View-Controller)Архитектура,Четко разделяйте различные части вашего приложения.,Позволяет разработчику лучше организовывать код и управлять им.
  2. Автоматическая маршрутизация и анализ URL:RevelавтоматическимаршрутизацияиURLанализировать,Упрощен процесс настройки маршрутизации. Разработка Просто напишите контроллеры и методы.,Revel автоматически сопоставит запрос с соответствующим методом контроллера.,Уменьшает утомительную работу по настройке.
  3. Мощный шаблонизатор:Revelобеспечивает мощныйизшаблондвигатель,поддерживатьшаблон继承、Вложение шаблонов、Условное суждение、Общие функции шаблона, такие как циклы. Разработчик позволяет легко создавать гибкие и многократно используемые шаблоны представлений.
  4. Поддержка базы данных:Revelрамка Встроенная база данныхORM(реляционное отображение объектов)инструмент,Поддерживает несколько систем баз данных,Такие как MySQL, PostgreSQL и SQLite и т. д. Разработчик может легко выполнять операции с базой данных.,включать Запрос данных、Модельная ассоциация、Обработка транзакций и т. д.
  5. Плагины и расширяемость:RevelОбеспечивает богатыйизплагини Механизм расширения,Позволяет разработчику легко интегрировать сторонние библиотеки и функции. в то же время,Revel также предоставляет обширную документацию и примеры.,Разработчику удобно изучать и расширять рамку.

Revel отличается от других веб-фреймворков. Он предоставляет полный набор функций, включая полную архитектуру MVC, маршрутизацию и анализ URL-адресов, базы данных, плагины, механизмы рендеринга и т. д. Таким образом, его функции очень мощные, но при этом относительно сложные. Кроме того, это не так уж и мейнстримно, и активность сообщества относительно низкая.

Ниже приведен пример использования платформы Revel, показывающий, как создать простое веб-приложение.

  1. Установите Ревелрамку:
Язык кода:javascript
копировать
$ go get -u github.com/revel/revel
$ go get -u github.com/revel/cmd/revel
  1. Создайте новое приложение Revel:
Язык кода:javascript
копировать
$ revel new example.com/revel-demo
  1. Зайдите в каталог приложения и создайте файл с именемhelloизконтроллер:
Язык кода:javascript
копировать
$ cd revel-demo
$ revel generate controller hello
  1. существоватьapp/controllersОткрыть в каталогеhello.goдокумент,и добавьте следующий код вHelloв контроллере:
Язык кода:javascript
копировать
package controllers

import "github.com/revel/revel"

type Hello struct {
    *revel.Controller
}

func (c Hello) Index() revel.Result {
    return c.RenderText("Hello, Revel!")
}
  1. существоватьconf/routesдокумент Добавьте следующее вмаршрутизация Конфигурация:
Язык кода:javascript
копировать
GET     /hello          Hello.Index
  1. Запустите приложение Revel:
Язык кода:javascript
копировать
$ revel run -a example.com/revel-demo
  1. доступhttp://localhost:9000/hello,Вы увидите следующий текстовый ответ:
Язык кода:javascript
копировать
Hello, Revel!

В приведенном выше примере показано, как создать простое веб-приложение с использованием платформы Revel. При необходимости вы можете добавить больше контроллеров и маршрутов для создания более сложных приложений.

Buffalo

Название проекта: гобуффало/буйвол

Количество звезд проекта: 7,7 тыс.

Buffalo — это современный веб-фреймворк на языке Go, получивший широкое внимание благодаря своей простоте, удобству использования, эффективности и стабильности. Это полноценная веб-инфраструктура, объединяющая множество функций, таких как ORM, WebSockets и интерфейсные инструменты.

Buffalo имеет очень богатые функции и отличительные особенности, он небольшой, но красивый:

  1. Быстрое развитие и автоматизация:Buffaloрамка Обеспечивает быстрое развитиеизспособность,Идея использования средств автоматизации и соглашения по настройке,Позволяет разработчику быстро построить инфраструктуру приложений.,И обеспечить последовательный опыт разработки.
  2. Полная архитектура MVC:BuffaloВзял на вооружение классикуизMVC(Model-View-Controller)Архитектура,Четко разделяйте различные части вашего приложения.,Позволяет разработчику лучше организовывать код и управлять им.
  3. Поддержка маршрутизации и промежуточного программного обеспечения:Buffaloобеспечивает мощныйизмаршрутизация Функция,Поддерживает определение маршрутизации в стиле RESTful и анализ параметров. в то же время,Он также предоставляет механизм промежуточного программного обеспечения,Используется для выполнения некоторой дополнительной логики до или после того, как запрос достигнет функции-обработчика.,например аутентификация、кэш、Ведение журнала и т. д.
  4. Поддержка ОРМ:Buffaloрамка Интегрированный популярныйизORM(реляционное отображение объектов)БиблиотекаPop,Включите Разработчик для удобного выполнения операций с базой данных. Поддерживает несколько систем баз данных,И предоставляет богатые функции ORM,Такие как определение модели, Запрос данных、Обработка транзакций и т. д.
  5. Поддержка веб-сокетов:BuffaloВстроенная параWebSocketsизподдерживать,Разработчик упрощает создание приложений реального времени.,Общается с клиентом двунаправленно.

Фреймворк Buffalo относительно прост в использовании. Он принимает принцип соглашения по конфигурации. Каждая конфигурация будет относительно простой, а вторичное расширение сложных функций также относительно легко. Недостаток заключается в том, что экосистема Buffalo меньше и в ней меньше сопутствующих ресурсных документов. Конечно, это не значит, что она не идеальна. Я считаю, что она довольно красива, когда я использую ее сам.

Ниже приведен пример использования платформы Buffalo, показывающий, как создать простое приложение для управления делами.

  1. Установите Баффалорамку:
Язык кода:javascript
копировать
$ go get -u github.com/gobuffalo/buffalo/buffalo
  1. Создайте новое приложение Buffalo:
Язык кода:javascript
копировать
$ buffalo new todo-app
  1. Перейдите в каталог приложения и создайте файл с именемtaskизресурс:
Язык кода:javascript
копировать
$ cd todo-app
$ buffalo g resource task name done
  1. Перенести базу данных:
Язык кода:javascript
копировать
$ buffalo db migrate
  1. существоватьactionsОткрыть в каталогеtasks.goдокумент,и добавьте следующий код вListв методе:
Язык кода:javascript
копировать
func (v TasksResource) List(c buffalo.Context) error {
    tasks := &models.Tasks{}
    if err := models.DB.All(tasks); err != nil {
        return errors.WithStack(err)
    }
    return c.Render(200, r.JSON(tasks))
}
  1. существоватьapp.goдокумент Добавьте следующее вмаршрутизация Конфигурация:
Язык кода:javascript
копировать
app.GET("/tasks", TasksResource.List)
  1. Запустите приложение Buffalo:
Язык кода:javascript
копировать
$ buffalo dev
  1. доступhttp://localhost:3000/tasks,Вы увидите пустой список задач.

В приведенном выше примере показано, как создать простое приложение для управления делами с использованием платформы Buffalo. При необходимости вы можете добавить больше маршрутов и контроллеров для создания более сложных приложений.

Как выбрать правильный веб-фреймворк?

Выше перечислены 5 популярных в настоящее время веб-фреймворков, использующих язык Go. Каждый фреймворк имеет свои уникальные характеристики, так как же нам выбрать?

Позвольте мне поделиться своим мнением.

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

Если команда не знакома с вышеперечисленными фреймворками, вы можете выбрать один из них в соответствии с вашими потребностями и масштабом проекта и рассмотреть следующие аспекты в целом:

  1. Требования к проекту:Прежде всегоучитыватьпроектизшкалаи Требовать。Если вам нужно построить небольшойиз、быстрое развитиеизприложение,Вы можете выбрать простую и удобную в использовании рамку.,Например, Джин или Эхо. Если вам нужно создать большое и сложное приложение,Возможно, потребуется рассмотреть более полную структуру,Как Биго или Баффало,Если вам нужно универсальное решение,Тогда Revel может вам больше подойти.
  2. Опыт разработки:учитыватьтыитыизкомандаиз Опыт разработки。Если вы уже знакомы срамкаи его экосистемаиинструментцепочка удовлетворена,Тогда, возможно, будет более эффективно продолжать использовать эту рамку. Если вы новичок Разработчик,Ожидайте быстрой разработки приложений,Существуют такие варианты, как Gin или Echo, которые просты в обучении и имеют хорошую документацию.
  3. Поддержка сообщества:учитыватьрамкаиз Уровень активности сообществаиподдерживатьуровень。активныйиз社区意味着ты可以更容易地获取帮助、решать проблемы,И вы можете получить множество ресурсов и плагинов от сообщества. Активность сообщества также может отражать скорость разработки и обновления рамки. в этом отношении,У Gin и Echo более крупные сообщества.,Сообщества Биго, Буффало и Ревель относительно небольшие.
  4. Требования к производительности:如果тыизприложение对производительность Есть более высокийиз Требовать,Тогда вам, возможно, захочется рассмотреть производительность рамки. Различные рамки могут иметь различия в производительности.,Вы можете оценить его производительность, обратившись к его документации, тестам и сравнениям производительности, которые заслуживают особого внимания.

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose