hakaton7 | Unsorted

Telegram-канал hakaton7 - Хакатон-клуб

2463

Сообщество golang-разработчиков 💙 @it_chat7

Subscribe to a channel

Хакатон-клуб

Я недавно начал. Ну если согласен можно вместе изучать и обсуждать

Читать полностью…

Хакатон-клуб

здравствуйте ищу человека который готов за денюжку написать десктопное веб приложение на go с модулем WebUI Go который использует в качестве граф интерфейса браузеры которые уже установлены.
https://github.com/webui-dev/go-webui

Читать полностью…

Хакатон-клуб

Откуда эти мифы только берутся?

Читать полностью…

Хакатон-клуб

Я до сих пор определиться не могу) месяц выбираю, сейчас остановился на gorilla

Читать полностью…

Хакатон-клуб

Ладно, не больно то хочется разбираться😀

Мира и добра🖖 и пусть ваш код будет прекрасен💚

Читать полностью…

Хакатон-клуб

Он не говорил что-то конкретно про вас или про кого-то другого, он абстрактно про похожие ситуации которые встречаются

Читать полностью…

Хакатон-клуб

Вы не поняли о чем я, я давно в чате

Читать полностью…

Хакатон-клуб

так они же го микрофреймворки. Имхо можно любой брать смело с максимальным коммунити. Разницы в перфе все равно нет

Читать полностью…

Хакатон-клуб

Та просто прикалывает, мамины программисты делают свои пет проекты без фраемворка, т к у них сова на глобус не находит , и полоскают людям в чате мозги

Читать полностью…

Хакатон-клуб

Для ракет и го не особо то подходит, не то что сами фремворки =)

Читать полностью…

Хакатон-клуб

а почему нельзя фреймворки?

Читать полностью…

Хакатон-клуб

Спасибо (да,да, тут полный нубас😃)

Читать полностью…

Хакатон-клуб

Всем салют! Ребята, кто-то уже работает на го, какой фреймворк используете?

Читать полностью…

Хакатон-клуб

Ищем консультанта-разработчика по GRPC библиотеке GOLANG

Оплата договорная, удаленно

Читать полностью…

Хакатон-клуб

https://stackoverflow.com/questions/25601635/print-type-of-a-structure-without-creating-its-instance

Читать полностью…

Хакатон-клуб

Добрый день. Изучаю го чуть больше полугода, хотел бы найти себе наставника/напарника. Вместе веселее и интереснее как никак

Читать полностью…

Хакатон-клуб

здравствуйте ищу человека который готов за денюжку написать десктопное веб приложение на go с модулем WebUI Go который использует в качестве граф интерфейса браузеры которые уже установлены.
https://github.com/webui-dev/go-webui

Читать полностью…

Хакатон-клуб

В сторону svelte / svelteKit посмотрите

Читать полностью…

Хакатон-клуб

А вообще, ребята, круто, что вы тут есть. 👍

Читать полностью…

Хакатон-клуб

Ты не понял о чем я, я вообще не к вам адресовывал это

Читать полностью…

Хакатон-клуб

Вам что, 10 лет реагировать так? Если считаете что отвечать не нужно/ не достойно/ бессмысленно, то не отвечайте🤷‍♂

Что для вас очевидно, для других может быть инсайд.

Читать полностью…

Хакатон-клуб

А ваша честность мне не нужна.

Читать полностью…

Хакатон-клуб

Ну это странно, люди так не должны реагировать

Читать полностью…

Хакатон-клуб

Джаваскрипт для ракет))

Кстати на днях просто спросил в беседе знакомых фронтовиков "Почему вы пишите на JS?" (в подобном ключе вопрос был) и на меня из-за одного вопроса тонну говна вылилось

Читать полностью…

Хакатон-клуб

Это был сарказм, не слушайте никого, используйте то что будет ефективнее, если вы не делаете по для ракет, то фраемвок норм

Читать полностью…

Хакатон-клуб

SQL, Docker, http, Git, что ещё?

Читать полностью…

Хакатон-клуб

тут нельзя фраемворки, только чистый го и sql, максимум пакет шттп возьми, и не вздумай ничего другого использовать

Читать полностью…

Хакатон-клуб

#vacancy #вакансия #middle #golang #remote #crypto #blockchain

Компания: ALEX GROUP COMPANY
Вилка: от 4800 до 5600 USD
Вакансия: Middle Golang Developer

AlexGroup - компания занимающаяся созданием и переводом контента на криптовалютную тематику носителями. За 8 лет работы сотни крупнейших компаний стали нашими клиентами. Ищем специалиста для развития нового бизнеса на базе блокчейна.

Обязанности:
— Разработка и поддержка высокопроизводительного программного обеспечения на языке Golang для блокчейн-проектов.
— Участие в проектировании и архитектуре блокчейн-решений.
— Работа с децентрализованными системами и смарт-контрактами.
— Участие в разработке и оптимизации блокчейн-протоколов и алгоритмов.
— Тестирование, отладка и поддержка разработанного кода.
— Сотрудничество с другими членами команды для обмена знаниями и опытом.

Требования:
— Опыт работы как Golang Developer, не менее 2-3 лет.
— Опыт разработки на блокчейн-платформах и протоколах
— Понимание принципов децентрализации и смарт-контрактов.
— Умение писать чистый, эффективный и масштабируемый код.
— Знание систем контроля версий, таких как Git.
— Опыт работы в Agile-командах и хорошее понимание Agile-процессов.
— Коммуникативные навыки и умение работать в команде.

Мы предлагаем:
— Fulltime-работа. Возможен гибкий график
— Конкурентная ЗП от 4800 до 5600 USD., подробнее обговорим лично
— Работа в одной из топовых команд в своей сфере
— Возможность работы полностью на удаленке
— Курсы по повышению квалификации от компании

Контакты: @limar_sheref

Читать полностью…

Хакатон-клуб

Доброго времени суток, не могу разобраться с мок тестами, сгенерировал моки для Client интерфейса и пытаюсь написать pg_test.go , как возникает проблека в функции mock

mock.On("Begin", ctx).Return(&pgx.Tx{}, nil)

нельзя вернуть pgx.TX.

сам код
// file: pg.go

//go:generate mockery --dir . --name Client --output ./mocks
type Client interface {
  Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
  Query(ctx context.Context, sql string, args ...interface{}) (pgx.Rows, error)
  QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
  Begin(ctx context.Context) (pgx.Tx, error)
}

type PostgresRepo struct {
  pool Client
}

func NewPostgresRepo(pool *pgxpool.Pool) *PostgresRepo {
  return &PostgresRepo{
    pool: pool,
  }
}

//go:generate mockery --dir . --name Client --output ./mocks
type Client interface {
  Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
  Query(ctx context.Context, sql string, args ...interface{}) (pgx.Rows, error)
  QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
  Begin(ctx context.Context) (pgx.Tx, error)
}

type PostgresRepo struct {
  // pool *pgxpool.Pool
  pool Client
}

func NewPostgresRepo(pool *pgxpool.Pool) *PostgresRepo {
  return &PostgresRepo{
    pool: pool,
  }
}

func Save(ctx context.Context, user *model.UserRegister) error // ...
func FindByID(ctx context.Context, id uint) (*model.UserSQL, error) // ...
func FindByEmail(ctx context.Context, email string) (*model.UserSQL, error) // ...

// file: users.go -------------------------------------------------------------------------------
type PostgresSQL interface {
  Save(ctx context.Context, user *model.UserRegister) error
  FindByID(ctx context.Context, id uint) (*model.UserSQL, error)
  FindByEmail(ctx context.Context, email string) (*model.UserSQL, error)
  FindByUsername(ctx context.Context, username string) (*model.UserSQL, error)
  Update(ctx context.Context, user *model.UserSQL) error
  Delete(ctx context.Context, id uint) error
  DeleteToken(ctx context.Context, id uint, token string) error
  DeleteAllTokens(ctx context.Context, id uint) error
  GetAll(ctx context.Context, orderBy string, offset int, limit int) ([]*model.UserSQL, error)
}

// file: pg_test.go ------------------------------------------------------------------------------

func TestPostgresRepoSave(t *testing.T) {
  mock := mocks.NewClient(t)
  repo := PostgresRepo{mock}
 
  type args struct {
    ctx  context.Context
    user *model.UserRegister
  }
  tests := []struct {
    name    string
    mock    func(ctx context.Context, input *model.UserRegister)
    input   args
    wantErr bool
  }{
    {
      "ok",
      func(ctx context.Context, input *model.UserRegister) {
              mock.On("Begin", ctx).Return(&pgx.Tx{}, nil)
      },
      args{
        ctx: context.Background(),
        user: &model.UserRegister{
          Username: "test",
          Email:    "test@example.com",
          Password: "testpassword",
        },
      },
      false,
    },
  }
  for _, tt := range tests {
    t.Run(tt.name, func(t *testing.T) {
      tt.mock(tt.input.ctx, tt.input.user)

      err := repo.Save(tt.input.ctx, tt.input.user)

      if tt.wantErr {
        require.Error(t, err)
      } else {
        require.NoError(t, err)
      }
      mock.AssertExpectations(t)
    })
  }
}


мб есть какие-то либы. которые упрощают создания мок пула?

Читать полностью…

Хакатон-клуб

fmt.Sprintf("%T", v) вызывает под капотом рефлексию ?

Читать полностью…
Subscribe to a channel