Alexander
Откуда 8 то??? Там же utf-8
Anonymous
*бит
Anonymous
он же в битах показывает 51
Anonymous
(надеюсь)
Alexander
Это в байтах
Sebor▂▅▇█▓▒░
дело раскрыто!
Anonymous
срыв покровов
Alexandr
Коллеги, а поделитесь опытом исползования twirp. Может есть какие-то подводные камни или еще что-то?
Anonymous
https://play.golang.org/p/Gj8M5edGOQf 8
Это он походу взвешиват тип, а не байты считает. Вот полюбуйтесь https://play.golang.org/p/MnNbX5Kdubf
Anonymous
а чтобы посчитать байты нужен len() просто для текста
Alexander
Ну да. Так и есть. Это размер структуры, состоящей из указателя и целого числа
Anonymous
всё просто оказалось
Kirill
Всем привет, дайте, пожалуйста, пару советов. Хочу для набивки руки написать небольшое приложение на го. С авторизацией(JWT)\группами пользователей с разным уровнем доступа к БД(postgre), и дэшбоардом. Посоветуйте, возможно какой-то фреймворк или с чем было бы проще реализовать это? Сам с Go знаком, но писал достаточно давно и по моему даже микрофреймворков не юзал - чисто стандартные пакеты(hhtp и т.п) и пару доп. либ
heavycharged
Я бы продолжал в том же духе, и не юзал никаких фреймворков.
Kirill
А для распределения прав доступа к ресурсам в бд и т.д что лучше почитать\изучить\использовать?
heavycharged
Правами доступа внутри БД руководит БД. На уровне приложения, можете заюзать какую-то RBAC/ABAC либу.
Васильев Виктор
Я использую iris довольно удобная штука. Но ее немного не любят так как автор вроде как брал код и не соблюдал лицензию. Что-то такое слышал
Васильев Виктор
Но даёт оно все что нужно и очень удобно
Kirill
Большое спасибо
Artem
Я использую iris довольно удобная штука. Но ее немного не любят так как автор вроде как брал код и не соблюдал лицензию. Что-то такое слышал
Тут вроде можно найти больше про негатив в его сторону https://www.reddit.com/r/golang/comments/57w79c/why_you_really_should_stop_using_iris/
Васильев Виктор
Да я читал это
🐁 Arutrancetro
func main() { watch := stopwatch.Start() file, err := os.OpenFile("./gg.txt", os.O_APPEND, 0777) defer file.Close() if err != nil { // Create a buffered writer from the file bufferedWriter := bufio.NewWriter(file) for i := 0; i < 1000000; i++ { bufferedWriter.Write( []byte("Hello world"), ) } watch.Stop() fmt.Printf("Ms: %v", watch.Milliseconds()) } else { fmt.Println("File not found") } }
🐁 Arutrancetro
чет тупо в файл не пишет
🐁 Arutrancetro
даже не открывает
🐁 Arutrancetro
думал гоу понравится, но чет не может он с шарпом конкурировать, сорри
🐁 Arutrancetro
(((
🐁 Arutrancetro
слишком все топорно
🐁 Arutrancetro
мб тем кто после пхп пришел и понравится)
Ivan
Дело не в языке, а в руках. У тебя в коде, когда нет ошибки ты выводишь file not found, а когда есть ты пытаешься в него писать.
Anonymous
Vladimir
Я слышал что шарписты единственные кто считает переход на перл - шагом вперёд
Vladimir
даже не открывает
Ты пишешь в файл только если была ошибка при открытии
Vladimir
Логический баг
Vladimir
И ещё defer на file ставишь хотя если была ошибка там будет nullptr, defer должен быть после проверки err
Chebyrash
, тем больше приходится писать самому*
heavycharged
, тем больше приходится писать самому*
во-во. читать и понимать конечно легче, а вот писать устаешь.
Vladislav
Ну это если у вас написание занимает больше проектировки.
Aslan
Ребят, какую либу вы юзаете для воркеров в го?
Aleksey
Ребят, какую либу вы юзаете для воркеров в го?
Горутины с переданными в них каналами на приём и отправку, нужного типа
Aslan
а если я хочу чтобы по утрам воркер запускался?
Stanislav
ну или таймеры
Ivan
Скажите, я правильно понимаю, что нет никакого смысла передавать по ссылке структуры, размер которых меньше 8 байт?
Ivan
Смотря что нужно потом с ней сделать
А, ну если эта структурка не изменяемая
Chebyrash
Ну это если у вас написание занимает больше проектировки.
Просто кода нужно больше писать чем в других языках. Генериков нету.
Aleksey
Тогда лучше не по ссылке, от греха подальше
Pawel
Какую реализацию publisher-subscriber юзать? чтобы всё было thread safe
Ivan
Почему именно 8?)
Размер указателя - 8 байт
Anonymous
А, прочитал как 8 Мб. И удивился, что не понял
Nikita
func main() { watch := stopwatch.Start() file, err := os.OpenFile("./gg.txt", os.O_APPEND, 0777) defer file.Close() if err != nil { // Create a buffered writer from the file bufferedWriter := bufio.NewWriter(file) for i := 0; i < 1000000; i++ { bufferedWriter.Write( []byte("Hello world"), ) } watch.Stop() fmt.Printf("Ms: %v", watch.Milliseconds()) } else { fmt.Println("File not found") } }
Во-первых, закрывать файл надо, если файл открыт без ошибки, во-вторых писать в файл надо все-таки если он успешно открыт, а не наоборот. Если не умеешь программировать, то никакой сишарп, вижалустудия, решарпер и все житбреинсы на планете тебе не помогут ;)
Petr
по всем чатам проспамил
Anonymous
> РАКИБ В приличном обществе принято держаться подальше
🏳️ Phil
РАКИБ это же клименковская тема. Котороя в итоге кстати ничего не сделала
Anonymous
Да там просто достаточно посмотреть на их лица
Антон
Хотя погодите-ка
Антон
https://doc.rust-lang.org/stable/std/fs/struct.File.html#method.open
Васильев Виктор
Ну как бы в го тоже нельзя.
Антон
Ну как бы в го тоже нельзя.
Можно, можно. Достаточно заигнорить ошибку. А потом, как @napsy, удивляться, почему в файл ничего не пишется
Nikita
Привет. Подскажите в какую сторону смотреть, у меня на armv5 не ловится SIGUSR1 сигнал. SIGTERM ловится нормально
Васильев Виктор
Можно, можно. Достаточно заигнорить ошибку. А потом, как @napsy, удивляться, почему в файл ничего не пишется
Ну так файлом пользоваться нельзя. В структурой не иницализированной можно но ничего не будет кроме паники
Васильев Виктор
@napsy воспользовался. И паники вроде не получил
Потому что оне использует буфферед райтер который возвращает ошибку, но она не была обработана
🐁 Arutrancetro
сорри ребят
🐁 Arutrancetro
я тогда правда затупил с условием)
🐁 Arutrancetro
не спал двое суток
Васильев Виктор
сорри ребят
Да все ок. Просто ребята с запоздалой реакцией там отвечали, не видели что уже ответили :)
Cat
Хотя погодите-ка
это было слишком тонко настолько тонко, что никто не понял, почему нельзя воспользоваться файлом
🐁 Arutrancetro
Я с шарпа пришел, мне в кайф
А можно узнать какие плюшечки в Go вам понравились?
саша
Где мой пирожок?
Nikita
на полке, протри от пыли и положи на место