
Серж
23.06.2017
05:49:53
во время компиляции проверяется возможность состояния гонки
т.е. один писатель или много читателей
&T - читатель, их может быть много, если нет писателей, т.к. вроде как изменить то, что по этому типу ссылки нельзя
владение ресурсом это семантика перемещения в c++

Google

Michael
23.06.2017
05:51:03
shared ptr, unique ptr

Серж
23.06.2017
05:51:21
это здесь причем?
что unique перемещаемый?

Michael
23.06.2017
05:53:04
нет, здесь Go, и я доволен, что в нём нет такой "наркомании"

Серж
23.06.2017
05:54:22
вроде как там есть теорема Гёделя о неполноте, следствием которой является невозможность доказать, что программа будет выполняться правильно
в го большой рантайм
и сборщик мусора, что делает его неприменимым в некоторых случаях
хотя в таких случаях применяют си

Vlad
23.06.2017
05:58:16
плюсы, скорее
если прям жирный проект, то, наверное, сделаю ставку на плюсы
Но это неточно

Michael
23.06.2017
06:03:57
плюсы с комами чтобы наверняка

anton
23.06.2017
06:04:45

Google

Denis
23.06.2017
06:51:33
Друзья, подскажите почему не пишет в файл
enyFile, err := os.Open("qw.txt")
defer enyFile.Close()
check(err)
enySize,_ := enyFile.Stat()
enyBs := make([]byte, enySize.Size())
_, err = enyFile.Read(enyBs)
check(err)
buf := bufio.NewWriter(enyFile)
_, err = buf.Write(enyBs)

anton
23.06.2017
06:52:46
не пишет и ошибок нет?

Denis
23.06.2017
06:53:35
@troyanov в том то и дело

Серж
23.06.2017
06:53:47
1. укажи что открываешь файл на запись
2. у тебя qw.txt какого размера?

Michael
23.06.2017
06:54:12
open открывает только на чтение

Denis
23.06.2017
06:56:31
@Mosolov А как ужазать на запись?

anton
23.06.2017
06:56:44

Michael
23.06.2017
06:56:45
OpenFile

Серж
23.06.2017
06:57:19
https://godoc.org/os#OpenFile

Denis
23.06.2017
07:02:00
Спасибо

Michael
23.06.2017
07:34:09
генерики говорите, в Go 1.9 могли бы быть кватернионы

Серж
23.06.2017
07:38:12
веб-макакам очень нужно, как и комплексные числа

Ilya
23.06.2017
07:47:55

Антон
23.06.2017
07:48:01
Добрый день!
Извините за оффтоп, кто-нибудь может подсказать с запросом в MySQL?

Ilya
23.06.2017
07:48:30

Антон
23.06.2017
07:48:50
Почему-то, специальный чатик не нашелся поииском)

Серж
23.06.2017
07:48:55
не, компилятор 2007 года c++ не поддерживает c++11, а новую ОС никто делать не будет
хочешь я гифку сделаю как светодиоды моргают?

Denis
23.06.2017
08:01:05
enyFile, err := os.OpenFile("qw.txt", os.O_WRONLY, 0777)
defer enyFile.Close()
check(err)
buf := bufio.NewWriter(enyFile)
_, err = buf.Write(enyBs)
не выдает ошибку и не пишет в файл, подскажите в чем причина?

Google

Серж
23.06.2017
08:04:12
вроде бы в коде раньше - ты сначала считывал из этого же файла в который писать - то что будешь писать
он изначально у тебя не нулевого размера?
O_WRONLY - это наверное открыть только на запись

Denis
23.06.2017
08:05:24
@Mosolov поменял немного код что бы разобраться, файл не пустой

Серж
23.06.2017
08:05:54
O_WRONLY int = syscall.O_WRONLY // open the file write-only.

Vasily
23.06.2017
08:05:59

Denis
23.06.2017
08:06:17
тоже самое с записью O_RDWR

Серж
23.06.2017
08:06:40
может не хватает os.O_APPEND как подсказывают
может го по умолчанию новый файл создает
похоже, что нет

Brown
23.06.2017
08:08:23

Серж
23.06.2017
08:08:33
скинь весь свой код https://play.golang.org/

Димка
23.06.2017
08:08:56

Vasily
23.06.2017
08:12:19
buf.Flush()

Димка
23.06.2017
08:15:56
Denis если надо писать сразу без Flush, то можно использовать функцию io.WriteString(enyFile, "sometext")

Denis
23.06.2017
08:17:04
спасибо, дело было в buf.Flush()
?
вернее в его отсутствии

Google

Серж
23.06.2017
08:29:59
да ладно, что в гау при завершении программы из буферов может не все записаться, если не успело?

Димка
23.06.2017
08:31:36
это не от языка зависит
https://ru.wikipedia.org/wiki/Буферизация_(информатика)

Серж
23.06.2017
08:33:39
вообще я херню сказал
гау делает системный вызов
а ос уже отвечает за то, что файл будет записан
хотя нет, func (*Writer) Flush относится к bufio.Writer а это уже го реализация
After all data has been written, the client should call the Flush method to guarantee all data has been forwarded to the underlying io.Writer.

Admin
ERROR: S client not available

Серж
23.06.2017
08:38:40
явное лучше неявного, ага, да
ну без деструкторов то и не сделаешь, чтобы оно перед удалением записывало все

Димка
23.06.2017
08:40:21
повторяю, это зависит не от языка
вот пример как это делается в плюсах
http://www.cplusplus.com/reference/ostream/ostream/flush/

Серж
23.06.2017
08:41:01
конкретно это зависит от языка

Димка
23.06.2017
08:41:13
http://www.intuit.ru/studies/courses/640/496/lecture/11252

Серж
23.06.2017
08:42:20
в плюсах например и при std::endl неявно вызывается flush
так же при освобождении стрима вызывается flush
https://stackoverflow.com/questions/5036878/why-does-ofstream-require-a-flush
вот обсуждение похожей проблемы

Google

Серж
23.06.2017
08:44:33
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%80%D0%B5%D1%81%D1%83%D1%80%D1%81%D0%B0_%D0%B5%D1%81%D1%82%D1%8C_%D0%B8%D0%BD%D0%B8%D1%86%D0%B8%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F
а вот то, чего в гау нет, и почему вы вынуждены не забывать flush

Олег
23.06.2017
08:45:57
О чем этот тип говорит?) Flush есть везде же:)

nezorflame
23.06.2017
08:46:19
об том и говорит

Олег
23.06.2017
08:46:40
Зачем? Все это и так знают

nezorflame
23.06.2017
08:46:46
видимо, нет

Серж
23.06.2017
08:46:51
я говорю о том, что в плюсах flush вызывается неявно при освобождении ресурса
а в го есть bufio.Writer который реализует буферизированную запись куда угодно, но если забыть вызывать flush явно - то ничего не будет записано
смекаете?

Олег
23.06.2017
08:49:25
А в чем проблема?

Серж
23.06.2017
08:50:28
во мне, у меня это вызывает отторжение

Олег
23.06.2017
08:50:51
Ты идиот, а виноват го

Andrew
23.06.2017
08:50:52

Олег
23.06.2017
08:50:59
Обожаю таких людей?
Ты как мой одногруппник который ругался "Да хули код ниже исполняется!!!!":))
Простите за мат:)

Серж
23.06.2017
08:52:04
ну да, надо ман читать, прежде чем лезть помогать

Олег
23.06.2017
08:52:11
Он return забыл просто:)

Andrew
23.06.2017
08:52:36

Олег
23.06.2017
08:53:28

Серж
23.06.2017
09:00:17
ладно-ладно, все вы победили, кто не вызывает flush тот тупой