Nick
Ребят, а мне нужно посмотреть, есть ли в моей строке что-то кроме whitespace'ов, как это лучше провернуть?
Oleg
регуляркой
долгооооо
ainu
/[^\s]/
ainu
for по байтам
ainu
for по массиву кодов whitescaceof
ainu
в середине каждого for - брейки
Oleg
👌
Aleksandr
Ребят, а мне нужно посмотреть, есть ли в моей строке что-то кроме whitespace'ов, как это лучше провернуть?
учитываем что whitespace - это много различных юникод-символов или саамый простой вариант?
Alexander
len(strings.TrimSpace(s)) > 0 не ?
Vladislav
? в таблице тестов можно написать что угодно
Те моки, что я видел, не позволяют нормально заполнять структурой валидацию на вход и на выход. Нужно методы вызывать. И другие косяки есть. Типа везде interface{} на interface{}. (чтоб мы понимали одинаково табличные тесты https://dave.cheney.net/2013/06/09/writing-table-driven-tests-in-go )
Nick
Ну переносы там, табуляции
Nick
Что еще есть
ainu
len(strings.TrimSpace(s)) > 0 не ?
она по юникодовским символам работает. в лююбом случае быстрее через TrimRightFunc
ainu
потом она соединяет байты в руны вызывает isUnicodeSpace
ainu
делает подсчет
ainu
если уж угорать за скорость и память, быстрее двух for нет ничего
Aleksandr
len(strings.TrimSpace(s)) > 0 не ?
len( strings.TrimFunc(s, func(r rune) bool { return unicode.Is(unicode.Zs, r) })) > 0 так точнее)
Aleksandr
но быстрее проитерироваться по рунам и остановиться на первом не space unicode.Is(unicode.Zs, r)
Nick
А можно подробнее про вариант где мы угораем за скорость и память?
Nick
Допер,да, кажется
Nick
Пока сдела через TrimFunc, спасибо
Anatoliy
Всем привет. народ, кто может пояснить чем grpc лучше чем rest?
Billyfbrain
Компактнее, соответственно быстрее, но как следствие гемор с отладкой
Billyfbrain
Но вроде как сейчас можно в json маршал сделать
Billyfbrain
Ну и схема апи в отдельных файлах хранится, то есть изменения незаметно не проскочат для клиента и сервера
Billyfbrain
Но это не факт что плюс
Serge
,
Anatoliy
чем библиотека лучше парадигмы? =)
ну вот я в этом и запутался) вроде как разное а статьи где есть переход от одной к другому - есть
Anatoliy
может кто кстати хорошую ORM подсказать для pgsql?)
O
Есть gorm но в целом в Го не принято использовать орм насколько мне известно. database/sql достаточно
O
( но это не точно )
Anatoliy
Хм... а почему не принято?
O
Ну оверинжениринг практика, орм немного тормозит выполнение запросов ( особенно если не понимать как орм строит квери ) ну и Го идеология основана на simplicity . Но это имхо, я видел только пару проектов где была орм и там был gorm
Slava
хороший орм лучше чем разработчики, не умеющие писать/профилировать sql запросы =)
Slava
имхо
Slava
обычно такие разработчики громче всех кричат, что sql голый быстрее, но, к сожалению, не имеют ни цифр, ни реального опыта
Alexander
ну сложные же жапросы с орм не пишут, обычно там какойнить квайреи билдер изспользуют из той же орм, так что одно другого не исключает
Slava
либо - не пишут сложные запросы
Slava
это тоже хороший путь =)
Alexander
да так жить приятнее
Alexander
xd
Pawel
обычно такие разработчики громче всех кричат, что sql голый быстрее, но, к сожалению, не имеют ни цифр, ни реального опыта
дело не в скорости и оптимизации. имхо SQL изучить проще, чем например gorm, не говоряя уже о монстрах на подобие hibernate и entityfaramework
Slava
я не думаю что изучение sql проще чем орм =)
Slava
я вот до сих пор не понимаю sql
Zloy-Dobry
Посоны. А чо не так делаю, скажите как правильно? q := bson.RegEx{`/.*`+name+`.*/`, "i"} Все работает, в принципе, как надо, но линтер в это не верит.
Zloy-Dobry
Mgo/bson если что
Zloy-Dobry
Name это стринг
Anonymous
я не думаю что изучение sql проще чем орм =)
Согласен, Орм и школьнику понятен
Taras 🦀
я не думаю что изучение sql проще чем орм =)
наоборот орм - писец какой-то
Taras 🦀
sql же - простой и понятный, его таким придумали и таким же сделали
Slava
моя книжка по sql на 1000 страниц может с тобой поспорить =)
Taras 🦀
мой опыт работы с sql и орм - просто ленится спорить
Pawel
На том уровне, на котором gorm автоматизирует SQL, школьник понял бы и SQL код сгененрированный, не говоря уже о написанном самим школьником, что так же осили бы легко Для нетривиальных вещей проще sql осилить, чем мучаться с gorm Про hibernate я вообще молчу - это ад пиздеца в любом случае
Pawel
Я к тому, что ни разу не видел примера, чтобы конкретно gorm упростил разработку (а она считается хорошей орм). Разве что уменьшится бойлерпоейт на сериализацию/десериализацию через драйвер БД, но это мелочи, и это не путь Го
Alex
Пользуюсь библиотекой "encoding/csv". При записи в файл в конце последней строки также ставится переход на новую строку. Как это исправить, чтобы не было лишней строки?
Constantine️
а чем она тебе мешает?)
Alex
а чем она тебе мешает?)
Загружаю в чужую систему, там у них такие требования.
Maxim
читать файл, убирать /n в конце, перезаписывать в файл :D
Alex
читать файл, убирать /n в конце, перезаписывать в файл :D
тоже вариант. Думал в начале записать в буфер. Потом заменить. И в конце записать в файл.
Alex
truncate(length - 1) 😁
Спс. Тоже использовал для буфера. Обрезал как раз
Slava
раз уж про базы данных заикнулись, попиарю свой доклад на хайлоаде про MySQL https://www.youtube.com/watch?v=hUFFsLoCRNU (надеюсь админы простят, про го там ни слова)
Maxim
хех
Maxim
почему ни слова? там есть упоминание Го :D
Oleg
Слава, ты сам админ, если что )
Slava
одни админы контроллируют других, иначе начнётся хаос
Slava
Я старался!
Anonymous
Слава, ты сам админ, если что )
Надеюсь, в бутылке смузи, а не газировка. 😂
Anonymous
Кому нужен джуниор удаленно ? Готов работать за обучение.
Alexander
ну вы ребята уважения к себе не имеет, без обид
Anonymous
Да я работаю php программистом, не могу по го ничего найти