Size: a a a

2020 July 20

VM

Vladislav Milenin in Go-go!
Vyacheslav Sitnikov
cache["key"] = map[string]string{}
у cache["key"] точно есть адрес в памяти к моменты анмаршаллинга. Но я понял в чем подвох, спасибо
бесполезное знание, не?
источник

VS

Vyacheslav Sitnikov in Go-go!
Евгений Омельченко
Вопрос на засыпку: что произойдёт, если после вычисления адреса cache[key] и перед вызовом Unmarshal горутина остановится, в другой горутине запишут в мап, хеш-мапа перестроится и адрес cache[key] сменится?
Такая ситуация нередка, для этого используют мьютексы
источник

ЕО

Евгений Омельченко... in Go-go!
Слава здравому смыслу примитивы конкурентного языка тредсейфны
источник

AK

Artem Krapivin in Go-go!
Евгений Омельченко
Вопрос на засыпку: что произойдёт, если после вычисления адреса cache[key] и перед вызовом Unmarshal горутина остановится, в другой горутине запишут в мап, хеш-мапа перестроится и адрес cache[key] сменится?
на собесах это спрашивают, кстати
(к множеству жалоб о бесполезных вопросах)
источник

VS

Vyacheslav Sitnikov in Go-go!
Никита
Адрес то есть, но как и написали выше, он может поменяться, поэтому такое делать нельзя
Что не должно мешать. Я могу в мапу писать/удалить во множестве потоков. Хрень получится, но go это позволяет.
Мне кажется, что тут проблема в другом - что ключа может вообще не оказаться - нечего будет передать
источник

ЕО

Евгений Омельченко... in Go-go!
Vyacheslav Sitnikov
Что не должно мешать. Я могу в мапу писать/удалить во множестве потоков. Хрень получится, но go это позволяет.
Мне кажется, что тут проблема в другом - что ключа может вообще не оказаться - нечего будет передать
Вы путаете значение и его адрес
источник

ЕО

Евгений Омельченко... in Go-go!
Го гарантирует, что адреса не указывают в никуда
источник

AR

A R in Go-go!
можете подсказать как правильно сохранить файл из r.FormFile("image") в бд (postgres, поле bytea)?

сохраняю:
file, _, _ := r.FormFile("image")
imgToDb, _ = ioutil.ReadAll(file)
далее формирование записи и вставка в бд

считываю из базы:
var Byte pq.ByteaArray
row.Scan(&Byte)
img, _, err := image.Decode(bytes.NewReader(Byte[0]))

if err != nil {
 log.Println(errr)
}

ошибку выводит "image: unknown format", поэтому думаю я где-то в сохранении ошибся
источник

ЕО

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

Н

Никита in Go-go!
Vyacheslav Sitnikov
Что не должно мешать. Я могу в мапу писать/удалить во множестве потоков. Хрень получится, но go это позволяет.
Мне кажется, что тут проблема в другом - что ключа может вообще не оказаться - нечего будет передать
Мапа адрес не меняет, а вот ее значения - да
источник

Н

Никита in Go-go!
&someMap можно, &someMap[key] нельзя
источник

с

сонная википедия... in Go-go!
A R
можете подсказать как правильно сохранить файл из r.FormFile("image") в бд (postgres, поле bytea)?

сохраняю:
file, _, _ := r.FormFile("image")
imgToDb, _ = ioutil.ReadAll(file)
далее формирование записи и вставка в бд

считываю из базы:
var Byte pq.ByteaArray
row.Scan(&Byte)
img, _, err := image.Decode(bytes.NewReader(Byte[0]))

if err != nil {
 log.Println(errr)
}

ошибку выводит "image: unknown format", поэтому думаю я где-то в сохранении ошибся
как-то много ошибок проигнорировано
источник

AR

A R in Go-go!
сонная википедия
как-то много ошибок проигнорировано
кроме ошибки от ReadAll остальные я убрал, чтобы уменьшить размера кода для сообщения
источник

VS

Vyacheslav Sitnikov in Go-go!
@elemir90, @floyernick я понял про что вы. Спасибо
источник

E

Edgar in Go-go!
Так, я в итоге не прав? Если не использовать мьютекс и мапу дергать не потоко-безопасно, разве не будет паники? 0_о

Пойду тестить, похоже
источник

AS

Alexander Shavelev in Go-go!
Edgar
Так, я в итоге не прав? Если не использовать мьютекс и мапу дергать не потоко-безопасно, разве не будет паники? 0_о

Пойду тестить, похоже
будет
они походу только на рид ее дергают
источник

ЕО

Евгений Омельченко... in Go-go!
Edgar
Так, я в итоге не прав? Если не использовать мьютекс и мапу дергать не потоко-безопасно, разве не будет паники? 0_о

Пойду тестить, похоже
Мапа потоко-безопасная
источник

DP

Daniel Podolsky in Go-go!
Евгений Омельченко
Мапа потоко-безопасная
это каким же образом?
источник

AS

Alexander Shavelev in Go-go!
Евгений Омельченко
Мапа потоко-безопасная
нит
источник

E

Edgar in Go-go!
Евгений Омельченко
Мапа потоко-безопасная
Нихера, я точно знаю, что это не так, и на 99% уверен, что будет паника
источник