Size: a a a

Golang Developers — русскоговорящее сообщество

2020 September 18

Y

Yuri in Golang Developers — русскоговорящее сообщество
сколько спичек можно переставить по условиям задачи? 🙂
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
все что угодно делай, интересно как именно ты это сделаешь
источник

А

Анатолий in Golang Developers — русскоговорящее сообщество
там все готово и для правильного и для обычного результата
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Анатолий
все что угодно делай, интересно как именно ты это сделаешь
строка 9
manager := NotificationManager{sender: SmsSender{}}


и строка 15
sender Sender
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Yuri
в интерфейсах пока непонятно, где их вообще использовать 🙂 Но опять же, у меня нет развесистых проектов. Если я до этого дойду - возможно, пойму.
Для понимания интерфейсов не надо далеко ходить. В гошке вы постоянно используете интерфейсы, хотя, возможно, вы об этом не знаете)
Итак, error — это интерфейс.
За счёт утиной типизации, любой тип, для которого вы реализовали метод Error() string можно будет передавать в качестве ошибки. Вот и всё.

https://play.golang.org/p/TPe15X9FftF

Для чего и когда это можно использовать — это уже второй вопрос.
Интерфейсы — это один из видов дженериков (в широком смысле слова). Соответственно использовать их можно там, где нужно заточиться не на поведение, а не на конкретную реализацию.
Вариантов, где это можно применять тоже не один: можно строить деревья, а можно использовать для уменьшения связности компонентов в проекте и т.д.
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Медиум сегодня прислал в рассылке статью «Golang не готов для продакшн…»
Автор в первом же разделе жалуется на то, что разработчики не обрабатывают ошибки.
https://medium.com/@afondmitro/golang-is-not-ready-for-enterprise-systems-yet-and-heres-why-c0ee72069963

Интересно, все так делают? Я лично в Close() пытаюсь поймать err
источник

R

RapidCodeLab in Golang Developers — русскоговорящее сообщество
Yuri
Медиум сегодня прислал в рассылке статью «Golang не готов для продакшн…»
Автор в первом же разделе жалуется на то, что разработчики не обрабатывают ошибки.
https://medium.com/@afondmitro/golang-is-not-ready-for-enterprise-systems-yet-and-heres-why-c0ee72069963

Интересно, все так делают? Я лично в Close() пытаюсь поймать err
The error returned by rows.Close() is the only exception to the general rule that it’s best to capture and check for errors in all database operations. If rows.Close() returns an error, it’s unclear what you should do. Logging the error message or panicing might be the only sensible thing, and if that’s not sensible, then perhaps you should just ignore the error.
источник

R

RapidCodeLab in Golang Developers — русскоговорящее сообщество
у меня не чекается в defer
источник

M

Michael in Golang Developers — русскоговорящее сообщество
очень часто ловля error в Close - ничем не поможе, особенно если это дефер
источник

M

Michael in Golang Developers — русскоговорящее сообщество
максимум заллогировать
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Ну так можно почти про любую ошибку сказать )
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Michael
максимум заллогировать
Ну для этого обычно и чекается)
источник

x

x-foby in Golang Developers — русскоговорящее сообщество
Отдали в логи, получили в системе мониторинга, отправили алерт
источник

AB

A B in Golang Developers — русскоговорящее сообщество
RapidCodeLab
The error returned by rows.Close() is the only exception to the general rule that it’s best to capture and check for errors in all database operations. If rows.Close() returns an error, it’s unclear what you should do. Logging the error message or panicing might be the only sensible thing, and if that’s not sensible, then perhaps you should just ignore the error.
упасть и сделать ретрай с теми же запросами же, если что-то важное. если не важное - ну и черт с ним
источник

AB

A B in Golang Developers — русскоговорящее сообщество
идемпотентность и вот это все
источник

AK

Andrey Kolkov in Golang Developers — русскоговорящее сообщество
Ребят, а как бы вы такую задачу решили...
Есть договор-оферта в .docx, нужно ее загрузить с диска, поменять на лету на ней номер договора в тайтале на нужный из базы, и в колонтитуле тот же поставить, и отдать юзеру на фронт в .pdf.
Есть что-то юзабельное, может кто уже сталкивался с подобным?
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
а договор-оферта - она уже чья-то? Или тебе просто надо сформировать новый типовой документ, но с номером?
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
имею ввиду лежащую на диске
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
Имхо, гораздо проще просто взять данные (не из лежащего на диске docx, а специально подготовить), подставить нужные и сформировать PDF
источник

Y

Yuri in Golang Developers — русскоговорящее сообщество
как бы, что есть в docx - текст, написан неким шрифтом и отформатирован каким-то способом.
Тот же текст можно хранить где угодно… в базе, например. Правила форматирования заголовков, абзаца, межстрочного расстояния и размера страницы - известны. Остается только сформировать из этого всего PDF
источник