LINUX.ORG.RU

Гошка - для жуков?

 , , ,


0

3

Стоит задача - написать веб сервис так, чтобы клиент мог его запустить одним щелчком а распускать руки не мог. Гошка с его компиляцией в бинарник - оно? Декомпилятор не гуглится. Как оно в плане капризности, везде потом запускается? Из собственно работы - отдать статику в один файл, эта самая статика посредством полностью клиентского жабаскрипта будет делать другие вызовы. Вызовы будут давать авторизацию десятка юзверей и немного раскладывания данных по базе. Тоесть обычные gin + gorm. Как думаете, до релиза доживёт?

Ответ на: комментарий от LINUX-ORG-RU

щас вы всё за него напишете :D

Я б за это не переживал. Код, что запостил я, сломан в одном интересном месте. Код от нашего местного иксперда по go-pg сломан в добавок к этому ещё минимум в трёх местах.

LamerOk ★★★★★
()
Ответ на: комментарий от u5er

Любой дизассемблер сможет дать тебе более-менее читаемый asm или c-like синтаксис. Вопрос в том, на сколько читаемым и корректным окажется выхлоп декомпилятора для гошки (я не пробовал)

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Стандартный фреймворк же стал, как так?

Стандартные инструменты ленивого разработчика:

  • viper – для настроек
  • gin – веб
  • gorm – БД

По набору этих инструментов наверное можно даже фильтровать на собеседовании.

Не, они отлично помогают что-то быстро сделать. А задача обычно так и ставится.

thegoldone ★★
()
Ответ на: комментарий от thegoldone

Стандартные инструменты ленивого разработчика:

Я думал стандартные инструменты ленивого разработчика вот такие:

import (
    "bytes"
    "encoding/json"
    "errors"
    "fmt"
    "io/ioutil"
    "net/http"
    "strconv"
    "strings"
    "time"
)

а когда над dll написать, то вот такие

// #include <stdlib.h>
// #include <stdio.h>
// #include <string.h>
import "C"

не?

Obezyan
()
Ответ на: комментарий от Obezyan

Я думал стандартные инструменты ленивого разработчика вот такие

  1. Так или иначе придётся что-то делать с роутером. Взять готовый, например. Который принимает http.Handler.
  2. Делать запросы на чистом SQL и потом вручную сканировать – сложно. Поэтому предпочтительней ORM, с возможностью использовать database/sql когда это может быть нужно.
thegoldone ★★
()
Ответ на: комментарий от Obezyan

залипухе

Тащем-то, это DSN. Такие вещи надо знать, конечно.

вместо структуры параметров

Она формируется из парсинга DSN.

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)
Ответ на: комментарий от anonymous

зачем в 2025 году использовать всякие костыли типо chi / gin, когда стандартная библиотека получила хороший буст в роутере?

Несчастный роутер - это примерно 0,00001% от вебприложухи, он даже обсуждения не заслуживает. А после роутера следующие 0,99999% - это обработка заголовков, в которой особо нет места инновациям, и вот тут-то нужен gin, если конечно, у тебя нет цели копать, копать и копать ради процесса.

LamerOk ★★★★★
()
Ответ на: комментарий от anonymous

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

firkax ★★★★★
()
Ответ на: комментарий от LamerOk

Тащем-то, это DSN. Такие вещи надо знать, конечно.

Вы наобъявляли констант, склеили их в DSN и подключились. Когда понадобиться подключение ко второй БД будете также продолжать делать? Рефакторить потом это все кто будет?

Ну да ладно, деды так с ODBC делали и внуки продолжают. Разрабы языка дали переменные окружения, конфиги, структуры наконец, но нет, будем хардкодить все в константы.

Obezyan
()
Ответ на: комментарий от Obezyan

Вы наобъявляли констант,

В иллюстративном примере на форуме - естественно. И тебе советую так делать.

Рефакторить потом это все кто будет?

Если на планете найдётся дебил, который захочет использовать этот код где-то ещё, то он и будет это делать - ему не составит труда заменить получение dsn одной строчкой из ENV. Ну и "рефакторингом" у меня язык не повернётся это назвать.

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

LamerOk ★★★★★
()
Ответ на: комментарий от thegoldone

Время от времени спрашиваю себя, а что это я собственно выкатился с Go, вроде норм всё было. Потом вижу сниппеты кода на нём и вспоминаю. Такое заходит только тем, кто ничего слаще репы не едал.

Pwner
()
Ответ на: комментарий от Pwner

Такое заходит только тем, кто ничего слаще репы не едал.

Го – это не язык, а экосистема. LSP, стандартная библиотека, генераторы, всё одной командой из коробки. Управление версиями. И всё такое. После Го этим Раст только занимается. Из известных мне – это всё.

thegoldone ★★
()
Ответ на: комментарий от anonymous

Поясните пожалуйста, зачем в 2025 году использовать всякие костыли типо chi / gin, когда стандартная библиотека получила хороший буст в роутере?

Очень много вещей из коробки, которые ты в последствии будешь, всё равно писать сам и как показывает практика - немножко всратее.

bdrbt
()