Pull to refresh
23
7.5
Andrew Ka @comerc

#кодеротбога

Send message
// .vscode/settings.json

{
  "go.testEnvVars": {
    "GOEXPERIMENT": "synctest"
  },
  "go.testFlags": [
    "-v"
  ],
  "go.buildTags": "goexperiment.synctest"
}
// .vscode/launch.json

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Debug Synctest",
      "type": "go",
      "request": "launch",
      "mode": "test",
      "program": "${workspaceFolder}",
      "env": {
        "GOEXPERIMENT": "synctest"
      },
      "args": [
        "-test.run",
        ".*Synctest.*",
        "-test.v"
      ],
      "buildFlags": "-tags=goexperiment.synctest"
    },
    {
      "name": "Debug Current Synctest",
      "type": "go",
      "request": "launch",
      "mode": "test",
      "program": "${fileDirname}",
      "env": {
        "GOEXPERIMENT": "synctest"
      },
      "buildFlags": "-tags=goexperiment.synctest"
    }
  ]
}
// Makefile

check:
	GOEXPERIMENT=synctest go test -short -failfast -v -race -count=1 ./...

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

например io.Closer

F13 настроена на sleep. Крутилка важна для регулировки громкости, на цифровом блоке вторая с другого края. Экранчик - фан. GMK87 + EK21.

Это самая лучшая клава, какая у меня была. Долго и упорно выбирал. Белая TKL с крутилкой + HotSwap + южная подсветка RGB, свичи тактильные Gateron Jupiter Banana с двойной пружиной и матовым рассеивателем (разработаны для Keychrone), пудинги, Gasket Mount, VIA.

все остальные варианты - компромисс
все остальные варианты - компромисс

Любитесь как хотите с тем что есть. Если я правильно понимаю дзен Go.

Спасибо! Исправил.

у меня govee-envisual-tv-backlight-t2 - но барыги дерут две цены

А какой сенсор внутри QINGPING CGP22C? Ручная калибровка не помогает - показывают разные значения, зараза!

Нужен отчёт, я тоже хочу. Валяется s2.

Бизнес на отзывах цветёт и пахнет. К сожалению.

Изучил вопрос. Заказал всё, что надо для щастья. 50000 Люмен.

  1. Поддержка транзакций

Что-то я не смог прикрутить транзакции к гусю.

Пока так:

func runMigrations(ctx context.Context, db *sql.DB) error {
  if err := goose.SetDialect("postgres"); err != nil {
    return fmt.Errorf("failed to set dialect: %w", err)
  }
  if err := goose.UpContext(ctx, db, "postgres/.migrations"); err != nil {
    return fmt.Errorf("failed to run migrations: %w", err)
  }
  return nil
}

func createTables(ctx context.Context, p *pgxpool.Pool) error {
  db := stdlib.OpenDBFromPool(p)
  defer db.Close()
  if err := runMigrations(ctx, db); err != nil {
    return err
  }
  return nil
}

После многочисленных ответов (а вопрос регулярно повторяется на моих стримах лайв-кода уже 5 лет), редуцировал до простой рекомендации посмотреть фильм "Зимний вечер в Гаграх".

Есть entgo.io, который заточен под графы. Он должен уметь, насколько я понимаю. Но пока не проверял.

1
23 ...

Information

Rating
969-th
Registered
Activity