Мерль
Writing a lexer in go with lexmachine #golang http://hackthology.com/writing-a-lexer-in-go-with-lexmachine.html
Michael
Товарищи, а подскажите чем работать с xlsx файлом +300GB?
xlsx это zip архив с xml внутри, стандарт открыт
Alexey 〒.
да 300GB и да xlsx )
вот изверги. Кто же это сотворил?) распаковывай архив, и разбирай
Мерль
да 300GB и да xlsx )
А как это возможно, если там максимальное ограничение на 1М строк?
Michael
мсье знают толк
Anatoly
А как это возможно, если там максимальное ограничение на 1М строк?
Графики, картинки, ком-ембеды из других офисных приложений... Я знаю более одного способа достичь такого размеоа в обозримом количестве строк.
Aleksandr
а не должны ли мы превентивно забанить такого персонажа?
Aleksandr
ну у меня два вариант: либо за распространение либо за неадекватно выбраный ник. но за второе ладно, тут 80% таких.
Aleksandr
Точно? На го прлграммируешь?
Aleksandr
5%.
Anton
5%.
а остальные 95% - школьники, что еще не начали химию изучать?
Aleksandr
Эту химию изучают на факультативах во взрослом возрасте)
Aleksandr
👍
Anton
а до этого на чем писал?
Anonymous
Всем привет)
Anonymous
Интересный у вас чат, часто читаю)
Anonymous
Недавно начал изучать язык, программирую на python
Anonymous
Взял go, после сравнения производительности python веб-сервер и веб-сервер на go
Anonymous
Заметил, что после python тяжело научиться думать на этом языке
Anonymous
Japronto ещё супер альфа, и особо над ней не работают. Также я понял что не все брауезеры поддерживают его технологию. Но он да, единственный наверное)
Anonymous
А сказали - сделай highload:)
Anonymous
Я pgx для базы взял
Anonymous
Что ещё может посоветуете?
Oleksii
highload highload'у рознь
Anonymous
Я если честно highload не делал, но раз сказали, надо выполнить)
Anonymous
Взял wrk утилиту, замерил количество обрабатываемых запросов, и принял решение написать на go
Anton
ну если не делал, то наверное язык - это последнее на счет чего нужно переживать
Oleksii
всегда можно горизонтально скейлиться
Oleksii
не думаю, что смена языка на совсем новый для себя, это хорошая идея
Anonymous
Ну вот поэтому наверное стоило обратиться к комьюнити раньше)
Anton
а в случае питона, узкие места всегда можно на сях переколбасить и вызывать из питона..
Anonymous
Но я бы на самом деле продолжил изучение, мне понравились горутины
Anonymous
В asyncio намудрили немного)
Anton
люди часто гонятся за бенчмарками. грезят о 100К рпс, а потом режут себе вены, когда на 100 рпс отваливается базёночка
Anonymous
Вот кстати хотел спросить как запрос удерживается в горутине
Anonymous
В python идет asyncio event loop и future
Anonymous
Получается запрос до выполнения работы, назначается на будущее время и когда нужно подхватывается и продолжает жить
Anonymous
Это конечно как я понял)
Anonymous
Как процесс происходит в go ?
Anonymous
Ну или хоть скажите что я дурак и ничего не понимаю)
Ilya
А они не удерживается. В рамках твоего кода это блокирующий вызов. При этом идёт выполнение остального кода пока твой вызов бд ждёт ответа
Ilya
Ни колбеков ни промисов ни асинк авайт. Просто плоский код пишешь
Ilya
Скучный язык
Ilya
А горотины это когда тебе надо конкурентное выполнение. В случае вебсервера он это сделал за тебя
Mr.Napcae
func addTopicGroup(ownerID int, accessToken string, message string) []byte { topic, err := http.Get(urlVk + "wall.post?owner_id=-" + strconv.Itoa(ownerID) + "&from_group=1&message=" + message + "&v=5.68&access_token=" + accessToken) if err != nil { println(err) } body, _ := ioutil.ReadAll(topic.Body) return body }
Mr.Napcae
если message с пробелом то не добавляет.
Mr.Napcae
Как исправить?
Chebyrash
QueryEscape
Chebyrash
Mr.Napcae
Спасибо
Anonymous
здаров
Anonymous
Ребят подскажите: Например имеем два файла в одной директории H_file и L_file Как открыть файл начинающийся с буквы L ?
Ilya
курсовую пишешь?
Ilya
(:
Anonymous
нет
Michael
os Open
Anonymous
filepath.Glob("/path/to/L*file*")
я думал есть более изящный подход
Michael
захаркодь путь и дёргай os Open
Anonymous
в go есть нечто подобное go to
Anonymous
?
Valentin
Только для циклом лейблы
Alexei
есть метка и brake метка, вроде
Valentin
https://www.goinggo.net/2013/11/label-breaks-in-go.html
Valentin
Там есть примеры
Anonymous
спасибо
Alexey 〒.
в go есть нечто подобное go to
если приходит мысл использовать goto стоит обдумать свой алгоритм)
Anonymous
знаю что плохая практика
Oleg
знаю что плохая практика
Не очень плохая, в цикле можно повысить производительность:) Но это больше походит на писькомерство
Grigoriy
А switch ... case вместо else if .. else if как-то влияет на производительность или только для удобства?
Daniel
только удобство чтения
Grigoriy
Спасибо
Anonymous
А switch ... case вместо else if .. else if как-то влияет на производительность или только для удобства?
Не только для удобства. Использование switch'а вместо if'а уменьшает вероятность того, что за тобой с ножом придёт читающий твой код прогер.