🄽🄸🄺🄸🅃🄰
как безопаснее?
Daniel
дядя шутит
Daniel
но надо же понимать, какие поля вы хотите вырезать
🄽🄸🄺🄸🅃🄰
по сути по пробелу)
🄽🄸🄺🄸🅃🄰
порезать)
Aleksandr
🄽🄸🄺🄸🅃🄰
до ## ....... ##
Daniel
если по пробелу - регулярка не нужна
Kirill
почему
вот прикинь, придет тебе не 342AB6B3061F7F6F07B3B8D9783B3188, а вида arn:aws:xxx:yyy:zzz:www/342AB6B3061F7F6F07B3B8D9783B3188
🄽🄸🄺🄸🅃🄰
регулярки понадобятся потом точно. Первично надо разбирать по пробелу, до символов '## INFO ##'. А то что потом это мясо команд. там нужно будет мне по регулрке выискивать нужные подкоманды.
🄽🄸🄺🄸🅃🄰
по списку
🄽🄸🄺🄸🅃🄰
я просто на любом языке каком писал, парсингом не занимался плотно
Kirill
ну - я с парсингом поупражнялся достаточно, чтобы подтвердить фразу, что всё, что не нужно, лучше даже не парсить
🄽🄸🄺🄸🅃🄰
дата, время, хост, статус, хэш, длиная команда
Kirill
то есть - выжать максимум инфы хочешь?
🄽🄸🄺🄸🅃🄰
15/03/2018 17:00:00:022 http-7080-79 DEBUG - C7E0F9D8AFD0EA9A83B3CB023FAEF49C:/DynamicIVR : ## TRACE ## model.ivrnodes.Menu: timeout = 0 ms
15/03/2018 17:00:00:022 http-7080-79 DEBUG - C7E0F9D8AFD0EA9A83B3CB023FAEF49C:/DynamicIVR : ## DEBUG ## model.ivrnodes.Menu: result: '1'
15/03/2018 17:00:00:022 http-7080-79 DEBUG - C7E0F9D8AFD0EA9A83B3CB023FAEF49C:/DynamicIVR : ## DEBUG ## model.ivrnodes.Menu: Evaluating '_card_number_with_pin_count_more_or_equal_1' from: if (_card_number_with_pin_count >= 1) {result = true;} else {result = false;}
15/03/2018 17:00:00:022 http-7080-79 DEBUG - C7E0F9D8AFD0EA9A83B3CB023FAEF49C:/DynamicIVR : ## DEBUG ## model.ivrnodes.Menu: loading into JS engine: variable: _card_number_with_pin_count = '1' [Long]
15/03/2018 17:00:00:023 http-7080-79 DEBUG - C7E0F9D8AFD0EA9A83B3CB023FAEF49C:/DynamicIVR : ## DEBUG ## model.ivrnodes.Menu: script result: 'true'
🄽🄸🄺🄸🅃🄰
поэтому нужна вся инфа из строки
🄽🄸🄺🄸🅃🄰
проверять будет построчно
🄽🄸🄺🄸🅃🄰
не грепая
🄽🄸🄺🄸🅃🄰
поэтому да, нужна вся полезна информация
🄽🄸🄺🄸🅃🄰
мкеня сейчас ток логика разбора одной строки беспокоит. в структуру
🄽🄸🄺🄸🅃🄰
почему хотел через регексп, птому что если битая строка придет, можно было бы проверить, похожа ли она на маску
🄽🄸🄺🄸🅃🄰
или нет
Kirill
ну - по пробелу тут тебе не получится это адекватно побить, насколько я вижу из примера
🄽🄸🄺🄸🅃🄰
к сожалению систему писал шаман любящий травку, и в логах иногда просто текстовые сообщения проскакивают
Zver
Тут уж слишком разные строки, если полностью разбирать и регулярки использовать. А до ## и без регулярок обойтись можно.
🄽🄸🄺🄸🅃🄰
вместо форматированной по примеру выше
🄽🄸🄺🄸🅃🄰
ну вот мне до ## надо разбить
🄽🄸🄺🄸🅃🄰
strings.Fields смотреть, да?
Zver
ну вот обрезай до : ##, а потом по пробелам бей.
Zver
🄽🄸🄺🄸🅃🄰
а какую нибудь простую регулярочку на "15/03/2018 17:00:00:023" можете написать. Точнее проверку, есть ли это в строке
🄽🄸🄺🄸🅃🄰
хотя лан, это уже наверное лень говорит. это не сложно , поищу)
🄽🄸🄺🄸🅃🄰
но за Fields спасибо, почитал попробовал
Aleksandr
Илья
эмм
Илья
может substring и time.Parse?
🄽🄸🄺🄸🅃🄰
я решил еще проще
🄽🄸🄺🄸🅃🄰
strings.Contains()
🄽🄸🄺🄸🅃🄰
для отсева этого будет достаточно
🄽🄸🄺🄸🅃🄰
по " ## "
Илья
а потом найдешь в логе бинарь, в котором что-то с ## есть 🙂
🄽🄸🄺🄸🅃🄰
после тестов прототиипа внедрю регекспы , без этого врятли получится в финальной версии обойтись
freezlite
а можно type Some []Shit конвертнуть в []Shit ?
freezlite
без аппендов
Daniel
в чем проблема-то? лень самому проверить? https://play.golang.org/p/eu95OFffjSf
freezlite
а как заставить reflect.DeepEqual возвращать true на разных типах но на одни underlying типах ?
Daniel
возможно, что и никак
heavycharged
Это же не правильно, возвращать true на разных типах, но на одних underlying типах.
heavycharged
Кажется, только свой враппер писать, и конвертить это дело в основной (underlying) тип.
freezlite
а как правильно получить текущее время, только с обнуленными минутами секундами, т.е оставить только дату правильно?
freezlite
эти задачи с датами периодически раз в год сплывают
freezlite
и успешно забываются
freezlite
воспользовался testify сравнил 2 слайса с поинтерами и датой
freezlite
заглючил на дате, пишет что не совпадает а разница пустая
Илья
Time round
freezlite
это же python
freezlite
*НЕ python
freezlite
Round нужно потом еще указывать что раундить то
Илья
Тем не менее, у time.Time есть метод Round
.
Есть ли какая то разница между request.PostForm.Get() и request.PostFormValue() в net/http?
Nikita
.
Еще такой вопрос
.
Как можно реализовать функцию, которая принимает любое количество указателей и по ним передает значения? пробовал по типу func check(data ...*string) {} , но чет не получилось
Aleksandr
.
я и не ошибку то описываю
.
Не получилось потому что ничего не передает
.
...string это тупо слайс
.
Ну вот, допустим https://play.golang.org/p/3J4bVjHIIUf
.
Я пробовал так
.
Я хочу реализовать по типу того, как делает Scan в database/sql - передаешь указатели на переменные, оно туда записывает значения
Artem
package main
import (
"fmt"
)
func check(data ...*string) {
someText := "hi"
for i := range data {
*data[i] = someText
}
}
func main() {
var a, b string
check(&a, &b)
fmt.Println("Values: ", a, b)
}
Artem
*data[i] = someText ключевая строка
.
Спасибо
.
Теперь понятно