All streams
Search
Write a publication
Pull to refresh
10
0
Константин @fe3dback

Backend developer

Send message

Я не против рассматривать их

Такие новости дают возможность немного порофлить (коммент выше например хорош), ну и показывает дамп мнений it спецов на данный момент времени.

За обработку ошибок в rust и go обидно. Не понятно почему автор воспринимает возможные ошибки в программе, как "грязь", как будто там код подгадился:

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

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

Как исключения вам помогут? Максимум у вас код в проде упадет где-то, вы это залогируете из эксепшена, и потом в этом месте добавите логику для фикса бага. Но данные уже не вернуть.

В go/rust вы сразу знаете все места где у вас упадет код, и в зависимости от контекста и важности функции, сразу можете корректно обработать этот случай.

Не очень, в линукс можно разделить на 1, 2 или 3 виртуальных монитора (для всего софта и ос, они выглядят как реальные). Но при 3 мониторах, первый обычно широкий (21:9), а остальные 2 по бокам маленькие, на них особо ничего не сунешь. Но наверное стримить удобно будет. Если разделять на 2 монитора, то приходится голову крутить влево-вправо. + они очень широкие, 2 реальных не широких монитора намного удобнее.

Но играть на этом супер, мне нравится. В работе я делаю один виртуальный 21:9 монитор по центру, а слева-справа оставляю черные полосы.

А как нажать отмену? Вот допустим мышка сломалась, я домохозяйка по кнопкам только мышкой тыкаю. Купил новую мышь, а она не работает, кликнуть по отмене никак.

в прошлом году она обнаружила первый в истории экземпляр открыто очарованного дважды заряженного тетракварка с двумя очарованными кварками и антикварком с верхним и нижним очарованием. 

Напомнило генерацию названий предметов из дьябло, тут явно что-то очень "рарное" )

это скорее для приложений, которые относятся к играм. К примеру какая-нибудь интерактивная карта для skyrim.

если условный it'шник не сможет работая в РФ и живя условно в Турции переводить себе деньги, ему придется менять работу на локальную, за пределами РФ. Соответственно в РФ будет меньше денег (налоги), меньше спецов (так как они перестанут работать) и т.п.

Это не clean architecture, а dirty s.

Бизнес модели не должны знать про gorm, а тут какие-то аннотации. Почему мы вообще полагаемся на технический слой?

Контроллеры кривые, в го же есть нормальный duck typing:

type Repository {
  GetByID(userID int64) (models.User, error)
}

type Controller {
  repo Repository
}

func NewController(repo Repository) *Controller {
  return &Controller { repo: repo }
}

func (c *Controller) GetUser(userID int64) (response, error) {
  user, err := c.repo.GetByID(userID)
  if err != nil {
    // ..
  }

  // some logic here
  return response, nil
}


И теперь мы можем в DI легко связать наш архитектурный слой с репозиторием, и бизнесовый с контроллером.

framework специфичные штуки, от echo как раз можно в архитектурном слое использовать, но не в контроллерах и бизнес домене.

Такой код с interface{}
Create(obj interface{})


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

ну т.п., тут куча всякого mess'а, не рекомендую кому-то так делать
Недавно увидел генератор vuepress.vuejs.org
Он пока в альфе, но уже функционал довольно большой, и очень удобно.

Вот тут автор VUE его показывает:
www.youtube.com/watch?v=lIv1ItUzktc
А чем csv плох? Если конечно нет требований к заранее подготовленным формулам и не нужно цветами играть.

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

Данные можно лить в csv используя генераторы (yield) и поток с блокировкой напрямую в файл.

Проблема с совместимостью обычно решается двумя кнопками «скачать для windows (cp1251, ';')» и «скачать для unix (utf8, ',')

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

Information

Rating
4,797-th
Registered
Activity

Specialization

Backend Developer
Lead
Golang
Linux
Database
High-loaded systems
Designing application architecture