Pull to refresh
9
Игорь@itmind

Fullstack

2
Subscribers
Send message

Нужно для файла использовать JSON Handler, а для консоли TextHandler. Поэтому такой ответ не подходит. Я пытал GPT, писал что код не верный и указывал ошибки, но она раз за разом выдавала неправильные ответы с придуманными несуществующими функциями.

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

Попросил ChatGPT написать пример приложения на Go в котором логи (log/slog) выводятся одновременно в консоль и в файл. Получил не работающий код с отсутствующими в реальности функциями:

// Открываем файл для логов
  file, err := os.OpenFile("app.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
  if err != nil {
      slog.Error("Ошибка открытия файла для логов", "error", err)
      return
  }
  defer file.Close()

  // Создаем хендлер для логов в файл
  fileHandler := slog.NewTextHandler(file)

  // Создаем хендлер для логов в консоль
  consoleHandler := slog.NewTextHandler(os.Stdout)

  // Создаем общий хендлер для логирования одновременно в файл и консоль
  combinedHandler := slog.NewMultiHandler(consoleHandler, fileHandler)

  // Устанавливаем созданный хендлер как глобальный для slog
  logger := slog.New(combinedHandler)
  slog.SetDefault(logger)

Объяснение:

  1. Открытие файла для записи логов: Мы открываем файл app.log, в который будут записываться логи.

  2. Создание Handler-ов:

    • fileHandler — отвечает за запись логов в файл.

    • consoleHandler — отвечает за вывод логов в консоль (stdout).

  3. Создание комбинированного хендлера с помощью slog.NewMultiHandler, который позволяет логировать одновременно в несколько мест (в данном случае в консоль и файл).

  4. Установка комбинированного хендлера как глобального: Мы устанавливаем наш комбинированный хендлер с помощью slog.SetDefault(logger), чтобы все логи проходили через него.

Вот только у log/slog нет метода NewMultiHandler и у NewTextHandler количество параметров другое.

Похоже вам просто повезло если с первого раза получили рабочий код.

В 1с есть же XDTO (схемы XSD) с проверкой валидности. Нужно через них писать XML.

Fiber на первом месте. У Gin даже документации нормальной нет, коммиты и релизы реже.

но я бы всё же порекомендовал Ngrok, а Localtunnel привёл здесь просто в качестве примера

Чем Ngrok лучше?

Да и России вроде Ngrok не работает

Не указано про вред данных ягод. А они вроде противопоказаны при заболеваниях ЖКТ (гастриты, язвы и пр.).

Итог таких собеседований - низкое качество ПО в последнее время (куча багов, тормоза).

Потому что набирают не инженеров, способных разобраться в любой проблеме, а просто зубрежников, которые не понимают и половины из того, что вызубрили, что бы пройти собеседование. Далее появляются "сеньоры" в 20 лет с 2 годами опыта и прочая дичь.

Посмотрел. Там в частности написано:

Без знания программирования не сможете создавать свои сценарии. Но вы можете записаться на вебинар, где я покажу как создавать то, что вам надо.

Т. е. программировать нужно уметь. В таком случае мне непонятно, какие преимущества дает эта low‑code платформа перед фреймворками других языков? То же самое ведь можно написать и на Python или Go, так же используя минимум кода за счет использования разных готовых библиотек.

В таком случае вообще low code ни для каких задач не нужен, если GPT все напишет.

Docker поддерживает в контекстах удаленные инстансы через SSH. Можно еще так делать деплой контейнера:

- name: Install ssh keys and docker remote
  run: |
     install -m 600 -D /dev/null ~/.ssh/id_rsa
     echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
     ssh-keyscan -H ${{ vars.SSH_HOST }} > ~/.ssh/known_hosts
     docker context create remote --docker host=ssh://${{ secrets.SSH_USER }}@${{ vars.SSH_HOST }}
     docker context use remote

и потом просто вызываем команды docker и они выполняются на удаленном сервере.

Допустим мне нужно сделать страницу заказа товаров. После оформления заказа данные должны быть загружены в МойСклад (через API). Поможет ли создать такое приложение эта low code платформа или она предназначена для решения узкого круга задач?

Типовая 1С:Бухгалтерия подходит для любого бизнеса и не нуждается в доработках: бух.учет, документы (УПД, ТОРГ12, с/ф) и отчетность регламентированы государством. Дорабатывают обычно управленческий учет в конфигурациях типа УТ, ЕРП, УНФ. Поэтому нет, ИП не обращается к франчайзи "для настройки" 1С:Бухгалтерия, бухгалтера отлично сами в ней разбираются и работают.

По теме статьи: почему, на ваш взгляд, Linux занимает такую небольшую долю рынка? Почему множество попыток перевода чиновников на Linux в разных странах потерпели крах?

Сотни тысяч микро ИП не имеют в штате ИТ-специалистов, они просто покупают самую дешевую 1С:Бухгалтерия для сдачи отчетности и не могут ее поставить на Linux и у них выбор: либо ставить самим на Windows в пару кликов либо нанимать ИТ-специалиста по Linux. Естественно они выберут Windows. Это уже большая потеря доли рынка для Linux.

В ArchLinux, например, есть определенные сложности с установкой из rpm/deb, а ПО 1С нет в центрах установки ПО.

Технический специалист может поставить почти любой софт на Debian. А обычный "домашний пользователь" нет. Это мешает массовому внедрению Linux на домашних ПК.

хотите хорошо, поддерживаемо и надолго - выбирайте натив

Вы считаете, что приложения, созданные с использованием Flutter, работают плохо, не поддерживаются и имеют недолгий срок жизни? Хотелось бы услышать более конкретные замечания по этому фреймворку. И почему натив - это хорошо и поддерживаемо?

Это все равно 4 разных способа и разработчик приложения должен сделать версию под разные пакетные менеджеры / дистрибутивы + под snap, flatpak, appimage. Ведь в каких то дистрибутивах нет flatpak, в каких то snap.

Должен быть один простой способ на все существующие дистрибутивы, что бы пользователи далекие от работы с ПК могли устанавливать любые приложения так же просто, как в Windows (без работы в терминале, разбирательстве с версиями библиотек или сборке из исходных кодов)

Вместе с приложением загружается движок Flutter, который добавляет к общему весу приложения 3-4 МБ

Т.е. размер приложения Flutter всего на 4 Мб больше чем размер приложения KMP? Раньше кажется разница была около 30 МБ

Сейчас весь store завален приложениями по 150-200 Мб, хотя раньше они занимали около 30 Мб. Думаю это из-за перехода на Flutter, а не из-за контента. Считаю такой размер очень большим. Приложений же не одно на телефоне и когда они обновляются, то за раз скачивается несколько Гб. Не везде еще в России хорошая связь да и трафик на многих тарифах не безлимитный. В свое время отказался от Flutter из-за размера приложения.

На Linux проблема в том, что нет единого пакетного менеджера ПО для всех существующих дистрибутивов. Ставлю один дистрибутив, там можно поставить например последний python, ставлю другой, там нет последней версии и нужно вручную собирать/устанавливать. В разных дистрибутивах разные версии пакетов из-за чего некоторое ПО не работает.

В Windows эта проблема решена тем, что нужные dll (необходимых версий) идут в поставке ПО. Когда сделают такое же в Linux, я думаю популярность вырастет. Сейчас пока возникает много проблем из-за версий пакетов в разных дистрибутивах.

1C существует уже давно.

Какие у преимущества вашей системы перед той же 1с для бизнеса? Дешевле разработчики, меньше сроки разработки?

Information

Rating
Does not participate
Location
Хабаровск, Хабаровский край, Россия
Date of birth
Registered
Activity

Specialization

Фулстек разработчик, Программист 1С
Ведущий
From 300,000 ₽
Rust
Golang
Kotlin Multiplatform
DevOps
Управление разработкой
Оптимизация бизнес-процессов