Как стать автором
Обновить
6
0.4
Игорь @itmind

Fullstack

Отправить сообщение

А можно купить на Андроиде и перешить на Аврору?

Нужно для файла использовать 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, я думаю популярность вырастет. Сейчас пока возникает много проблем из-за версий пакетов в разных дистрибутивах.

1
23 ...

Информация

В рейтинге
2 070-й
Откуда
Хабаровск, Хабаровский край, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Fullstack Developer, 1C Developer
Lead
От 300 000 ₽
Rust
Golang
Kotlin Multiplatform
DevOps
Development management
Optimization of business processes