@proGO

Страница 1209 из 1674
Aleksandr
07.02.2018
12:21:16
сделать пост запрос, получить куку, использовать ее в дальнейших запросах

Tilek
07.02.2018
12:22:06
ок спс

Marlik
07.02.2018
12:22:56
В го не знаю, а в perl вот это хорошо зашло WWW::Mechanize

Google
John
07.02.2018
12:27:19
В го не знаю, а в perl вот это хорошо зашло WWW::Mechanize
Я в go пользовал https://github.com/PuerkitoBio/gocrawl но у него минус в том, что он НЕ детектит кодировку, а пытается все использовать как utf8 ...

а так в целом норм :)

Evgeniy
07.02.2018
12:53:53
привет, есть у кого что-то покурить на тему вебсокетов в го и как правильно их организовать?

Evgeniy
07.02.2018
12:57:14
ну в целом нагуглить я сам могу, просто ели у кого есть на примете толковые статьи или прочее, у нас сейчас написано на ноде весь функционал(но он тяжко работает), думаю переписать его на вебсокеты и на го, но так как я этим не занимался, думаю узнаю есть ли у кого на примете какие-то best practice или что-то в таком духе

я просто все дельниые статейки сохраняю себе в закладки и время от времени проглядываю что там в них интересного, может кто тоже таким занимается или использовал в своем проекте, можно и в ЛС )

Bogdan (SirEdvin)
07.02.2018
13:01:12
В качестве best practice можно предложить проверку, действительно ли вам нужно переписывать с ноды, на го. Может лучше оптимизировать код на ноде?

Evgeniy
07.02.2018
13:04:46
я не писал тот код на ноде, но так как с ним живем уже с год и с каждым разом он работает все хуже и хуже, сейчас дошло до того что при нагрузке она выпадает каждые 15-20 мин (и это в проде), я психанул и решил предложить все переделать, оптимизировать там точно нечего, проще переписать, но с ГО я еще имел дело, а c JS нет и как-то не лежит у меня душа к нему

Evgeniy
07.02.2018
13:09:30
да хороший вопрос, по этому и хочу разкурить best practice или что-то в таком духе что бы было более гибко, к сожалению я не могу показать код который в проде(того человека уволили давно), но ребята которые у нас сейчас пишут на JS в шоке когда на это смотрят и они даже не думают что-то там править, потому что оно держится на соплях

Bogdan (SirEdvin)
07.02.2018
13:10:05
Возможно, я зануда, но тут есть две проблемы: 1. Если вы не знаете, почему тупит кусок кода на ноде. переписывание на го вполне может не помочь. Вдруг у вас там база или диск тупят? 2. Я не знаю вашей компании, но является ли го у вас основным языком разработки? Если нет, то может стоит переписать на языке, на котором вы разрабатываете?

На своем примере могу сказать, что после js и python, любой код на go читается как головоломка.

Daniel
07.02.2018
13:10:56
скорее всего - у приложения проблема с архитектурой, и нужен глубокий рефакторинг

Google
Daniel
07.02.2018
13:11:13
сделать глубокий рефакторинг без смены языка - я способов не знаю

Evgeniy
07.02.2018
13:12:00
как я знаю по началу то писали на коленке что бы запустить и оно пошло в прод, и дальше так же дописывалось, причем когда начал смотреть что нужно будет переписывать и спрашиваю у ребят, там есть примерно 30%-40% кода который уже не используется и они только сейчас это поняли

Bogdan (SirEdvin)
07.02.2018
13:13:13
вощето го менее магический язык, чем тот же js
Ну такое. Автоматические импорты из пакета необычно смотрятся после языков, где принято объявлять импорты явно.

Evgeniy
07.02.2018
13:13:21
точнее там архитектуры совсем нет, есть просто код в 1 файле на несколько тысяч строк и даже в написании методов нет общего стиля кода....

Bogdan (SirEdvin)
07.02.2018
13:14:14
какие такие автоматические импорты?!
Например, вот тут: https://github.com/martin-helmich/prometheus-nginxlog-exporter/blob/master/config/loader.go используется Config, который объявлен в https://github.com/martin-helmich/prometheus-nginxlog-exporter/blob/master/config/structs.go Или это я что-то провтыкал?

Vlad
07.02.2018
13:14:44
Bogdan (SirEdvin)
07.02.2018
13:15:02
Я выше кинул пример. Или я туплю в этом случае?

Bogdan (SirEdvin)
07.02.2018
13:16:03
Ну, в том же python или js приходится объвлять импорты чего-угодно, даже в рамках одного пакета. Я не говорю, плохо это или хорошо, но к этому нужно привыкнуть.

Daniel
07.02.2018
13:17:22
какой синтаксис-то предлагаете?

Bogdan (SirEdvin)
07.02.2018
13:17:54
В python это делается как-то вот так: from .structs import Config

Daniel
07.02.2018
13:18:13
а что такое этот .structs

Google
Subbotin
07.02.2018
13:18:52
а что такое этот .structs
Имя файла с отброшеным расширением .py но точкой в начале

Bogdan (SirEdvin)
07.02.2018
13:19:19
ты на С или ++ писал?
Почти не писал.

Daniel
07.02.2018
13:19:25
а, так у вас там просто один файл - один пакет, как в яве классы? ну вот в go не так

Bogdan (SirEdvin)
07.02.2018
13:20:12
Да, но к этому нужно привыкнуть) С другой стороны, как я понимаю, нет проблем с циклическими зависимостями между файлами в одном пакете.

Daniel
07.02.2018
13:20:43
нет зависимостей нет проблем

Olzhas
07.02.2018
13:23:05
нужна монорепа

локальная

Леша
07.02.2018
13:26:13
Извините, а это нормально, что этот код https://play.golang.org/p/TH-EtjTElkm выдает результат 30GB, а системный проводник (Nautilus) - чуть меньше 20?

Леша
07.02.2018
13:27:52
а как понять, кто именно?

Bogdan (SirEdvin)
07.02.2018
13:28:22
du -sh * в папке

Daniel
07.02.2018
13:29:53
нужна монорепа
собственно - dep и делает монорепу

Olzhas
07.02.2018
13:30:11
Daniel
07.02.2018
13:30:23
а

Olzhas
07.02.2018
13:30:52
чтобы импортить его import '../../path/to/package'

только относительные импорты надо юзать

Леша
07.02.2018
13:31:14
надеюсь, это не удалит мне систему

Google
Леша
07.02.2018
13:31:14
проверь еще через консольку: du -sh $HOME

Olzhas
07.02.2018
13:31:19
похардкорнее

Леша
07.02.2018
13:32:14
нед
уже почитал man, не удалит

говорит, что 29

Olzhas
07.02.2018
13:32:50
говорит, что 29
значит врут все

:D

John
07.02.2018
13:34:22
говорит, что 29
А как ты в наутилусе место смотришь ?

Admin
ERROR: S client not available

Леша
07.02.2018
13:34:34
John
07.02.2018
13:34:37
значит врут все
Он может огруглить ... %)

в свойствах
чего именно ?

Леша
07.02.2018
13:34:50
директории

John
07.02.2018
13:34:56
...

Olzhas
07.02.2018
13:35:01
Леша
07.02.2018
13:35:03
а как надо?

Olzhas
07.02.2018
13:35:06
норм округление

Леша
07.02.2018
13:35:15
ага, 29 до 20
грубое округление, все нормально

Alex
07.02.2018
13:36:08
почоны ? зачем нужен LockOSThread() ?

Roman
07.02.2018
13:48:41
Google
Arch
07.02.2018
15:36:49
Народ, посдскажите кто-то сталкивался с нарезкой времени? Задача нарезать промежуток времени по частям, допустим по 5 минут или по 15 минут. Части после нарезки, должны быть кратны периоду нарезки, пример: час по 15 мин - 00:15; 00:30; 00:45; 01:00

Arch
07.02.2018
15:41:34
ну так понятно, что можно округлить, потом дюрейшном поприбавлять, но может есть православное решение, мб кто-то реализовывал, поглядеть))) бест пракстис так сказать

Daniel
07.02.2018
15:42:59
задача не понятна

Arch
07.02.2018
15:45:31
есть рериод с 2017-11-06T16:40:00 по 2017-11-06T16:56:00, нарезать допустим по 5 мин, на выходе получаем слайс 2017-11-06T16:40:00, [2017-11-06T16:45:00, 2017-11-06T16:50:00, 2017-11-06T16:55:00, 2017-11-06T17:00:00....]

Daniel
07.02.2018
15:47:11
что такое - нарезать

зачем нужен этот слайс?

Arch
07.02.2018
15:47:36
или по три минуты: [2017-11-06T16:42:00, 2017-11-06T16:45:00, 2017-11-06T16:48:00, 2017-11-06T16:51:00....]

зачем нужен этот слайс?
Это условие задачи

по факту надо привести время к кратности какому-то периоду

Demuz
07.02.2018
15:49:27
Это условие задачи
Лично я в некоторых ситуациях в минутах делаю. А вам по-моему нужно что-то вроде тайм пикера сделать? Где каждые н минут юзер может выбрать предустановленное время?



Arch
07.02.2018
15:50:41
Мне кратность периоду нужна

Demuz
07.02.2018
15:51:08
по факту надо привести время к кратности какому-то периоду
Если кратно чему то нужно сделать, я работаю с минутами в интах и все. А в вашем случае можно через формат.

Типа вставлять минуты = минуты + 1час/4. Это каждые 15мин. Типа того.

Arch
07.02.2018
15:53:55
вот, только если это три минуты, то надо час поделить на три и потом выбрать нужные, ладно напишу топорно чтобы работало, потом подумаю как сделать это красиво

Demuz
07.02.2018
15:54:59
есть рериод с 2017-11-06T16:40:00 по 2017-11-06T16:56:00, нарезать допустим по 5 мин, на выходе получаем слайс 2017-11-06T16:40:00, [2017-11-06T16:45:00, 2017-11-06T16:50:00, 2017-11-06T16:55:00, 2017-11-06T17:00:00....]
Через for сделайте. Это же почти стандарт у вас. через фор политие доступ в 1 элемент, с него вытащите минуты, их обработайте. у тайм.тайм есть встроенные методы отличные. Ну там много вариантов как можно сделать.

Arch
07.02.2018
15:56:26
Я не знаю какой период придет

Demuz
07.02.2018
15:56:30
И вобще я там показал что именно 1час разделить на 4, чтобы потом 4 можно было поменять. Чтобы динамичней было. А так можно просто руками указать вместо таких операций.

Arch
07.02.2018
15:57:24
Придет три минуты, надо будет нарезать по три минуты, будет 10, надо будет порезать по 10, те 0:10; 0:20; 0:30 ...

Страница 1209 из 1674