@proGO

Страница 158 из 1674
Evgeny
29.06.2016
08:15:11
сам json

содержимое pattern надо оставить строкой

Den
29.06.2016
11:19:49
Строго не судите, я можно сказать только начал разбираться в программировании. Вопрос, почему не могу отпарсить файл: package main import ( "fmt" "github.com/PuerkitoBio/goquery" "strings" ) func main() { html_code := strings.NewReader("<tr><td>Row 1, Column 1</td><td>Row 1, Column 2</td></tr><tr><td>Row 2, Column 1</td><td>Row 2, Column 2</td></tr>") doc, _ := goquery.NewDocumentFromReader(html_code) doc.Find("tr").Each(func(i int, s *goquery.Selection) { title := s.Find("td").Text() fmt.Println(s.Length()) fmt.Printf("Review %d: %s\n", i, title) }) }

вот на Плейграунде, но там не работает из за стороннего пакета https://play.golang.org/p/6kcXAQMlhq

Google
Den
29.06.2016
11:20:47
Так вот работает package main import ( "fmt" "github.com/PuerkitoBio/goquery" "strings" ) func main() { html_code := strings.NewReader("<html><body><table><tr><td>Row 1, Column 1</td><td>Row 1, Column 2</td></tr><tr><td>Row 2, Column 1</td><td>Row 2, Column 2</td></tr></table></body></html>") doc, _ := goquery.NewDocumentFromReader(html_code) doc.Find("tr").Each(func(i int, s *goquery.Selection) { title := s.Find("td").Text() fmt.Println(s.Length()) fmt.Printf("Review %d: %s\n", i, title) }) }

Как проще, респонс брать в стринг, добивать до HTML (добавить теги html, body, table) и потом парсить? Либо другие варианты есть?

если просто закрыть таблицу тегами package main import ( "fmt" "github.com/PuerkitoBio/goquery" "strings" ) func main() { html_code := strings.NewReader("<table><tr><td>Row 1, Column 1</td><td>Row 1, Column 2</td></tr><tr><td>Row 2, Column 1</td><td>Row 2, Column 2</td></tr></table>") doc, _ := goquery.NewDocumentFromReader(html_code) doc.Find("tr").Each(func(i int, s *goquery.Selection) { title := s.Find("td").Text() fmt.Println(s.Length()) fmt.Printf("Review %d: %s\n", i, title) }) } то тоже работает

Все трудятся?

ау

Daniel
29.06.2016
11:27:41
а?

Den
29.06.2016
11:28:48
Не правильно поставлен вопрос?

Daniel
29.06.2016
11:33:31
многабукв

не увидел вопроса

Dmitry
29.06.2016
11:34:19
я так понимаю он хочет чтото типа beatifulsoup для го

так goquery и есть

Den
29.06.2016
11:37:50
goquery не находит теги tr и td если не закрыть тегами table

Denis
29.06.2016
14:07:33
Парни, кто с Concourse CI работал?

Google
Kirill
30.06.2016
00:08:08
Все трудятся?
я вот не понял твой вопрос от слова совсем

Den
30.06.2016
03:47:12
я вот не понял твой вопрос от слова совсем
Код не парсит файл, не видит теги <tr><td> логически понял что это происходит если нет тега <table>

Den
30.06.2016
06:01:58
в бд забрать значения

просто на сервере данные отдаются в респонсе куском таблицы html

Kirill
30.06.2016
06:04:44
звучит так, будто ты пытаешься распарсить ответ внутреннего api VK

Den
30.06.2016
06:42:30
не знаю какой апи у вконтактика

Kirill
30.06.2016
06:46:07
похожий.

Den
30.06.2016
07:17:05
Я просто не могу разобраться с типами которые нужно провернуть во всей махинации. http.Get получает *Response, Body который мне нужен типа io.ReadCloser, goquery надо передать io.ReadCloser, но с внесенными изменениями (добавить открывающий и закрывающий теги <table>) а как io.ReadCloser перевести в string не додумаюсь.

все, нашел

Lev
30.06.2016
08:56:57
вот же ж http://fmi.golang.bg/topics/253 интересно, в результате-то у них получился tox-клиент или таки фиг?

Dmitry
02.07.2016
09:03:00
привет всем! кто как взаимодествует с кроном в го приложениях? или обходитесь без крона?

[Anonymous]
02.07.2016
09:04:42
https://github.com/robfig/cron

сам не юзал её

Kirill
02.07.2016
09:05:11
а зачем тебе крон?

Dmitry
02.07.2016
09:05:30
https://github.com/robfig/cron
спасибо! ее я тоже нашел)

а зачем тебе крон?
чтобы переодически работать с БД (подчищать некоторые записи)

Kirill
02.07.2016
09:06:27
но почему не горутина с тикером?

Dmitry
02.07.2016
09:11:32
но почему не горутина с тикером?
крон привычнее) а ты пользуешься горутиной с таймером?

Kirill
02.07.2016
09:12:12
для таких задач - скорее всего, выбрал бы ее, да

Google
Dmitry
02.07.2016
09:21:22
для таких задач - скорее всего, выбрал бы ее, да
спасибо видмо уже запилили подход https://github.com/jasonlvhit/gocron

cptn_foxmk
02.07.2016
10:57:34
кто-то тут когда-то спрашивал про плагины для го-программ

https://appliedgo.net/plugins/

Lev
02.07.2016
11:52:34
спасибо, уже иду читать )

Dmitry
02.07.2016
14:56:39
а никто не увлекается машинным зрением? может группа какая есть в телеграмме?)

Alexey
02.07.2016
15:05:16
выделением стилей или просто распознаванием образов?

Dmitry
02.07.2016
15:09:20
просто распознаванием образов

cptn_foxmk
02.07.2016
17:28:49
у Дениела Шиффмана сейчас стримы по основам компьютерного зрения, интересно посмотреть

но эт если база интересует

https://m.youtube.com/user/shiffman/videos

[Anonymous]
02.07.2016
20:35:39
https://m.youtube.com/user/shiffman/videos
Благодарю, как раз интересует эта тема

Vladimir
02.07.2016
21:08:54
Ребят. Если делать range и из него получать map[string]bool, то на выходе мы получаем копию или указатель на объект? Ибо хочу в цикле как то влиять на объект, но вот думаю, хватит простого изменения параметра или делать перезапись?

Alexander
02.07.2016
21:09:34
Vladimir
02.07.2016
21:45:32
Замены происходят довольно болезнено. Хотелось бы гибкий вариант. Попробовал использовать тот же container/list, чуть проще конечно, но это вам не std::vector(а как раз хотелось бы его аналог). Раздражает именно отсутствие обращения к листингу через индексы. Может кто знает какие нибудь удобные контейнеры от сторонних авторов, так же удобные варианты реализации замены объекта в container/list или map[object]type?

Kirill
02.07.2016
21:47:41
так. я нихрена не понял. что ты хочешь сделать?

Vladimir
02.07.2016
21:51:30
У меня есть map[object]bool, где object - это структура. Мне нужно обращаться к нужной структуре и где нужно изменять данные. Изменять так, чтоб эффект сохранялся в map[object]bool. В структуре есть chan-ы, поэтому замены в виде перезаписи мне очень неудобны, вот теперь думаю как мне быть. Так же рассматриваю всякие аналоги хранения этих структур

Maksim
02.07.2016
22:04:30
Может я не очень понимаю конечную задачу, но зачем ради 1 bool кидать структуру в индекс map? Почему этот bool не сделать отдельно или полем структуры и не работать с map[...]*struct?

Vladimir
02.07.2016
22:06:24
Насчет map[...]*struct, можете кинуть небольшой example? Ибо не особо понимаю как это будет работать

Google
cptn_foxmk
02.07.2016
22:12:10
зачем в принципе тут мапа у тебя?

какая цель?

Admin
ERROR: S client not available

cptn_foxmk
02.07.2016
22:14:34
сорян, случайно

Kirill
02.07.2016
22:14:38
?

Vladimir
02.07.2016
22:18:49
Напишу немного подробнее. Пишу я небольшое сетевое приложение. Цель приложения простая - игра камень, кожницы, бумага. Подключается один человек, создается комната, после ожидается второй человек, и добавляется в свободную комнату, если свободных нет, то создается новая комната. Комната - это структура с листингом клиентов, max_players =2;. Так вот, так как комната не одна, и нужно иметь возможность обращаться к комнате, дабы добавить второго человека - приходится хранить комнаты в каком либо контейнере. Вот тут я и пришел в ступор, так как не могу понять - как можно удобно хранить структуры(комнаты), с дальшейним и удобным изменением, добавлением и удалением элементов из контейнера

В Golang новенький, поэтому могу чего-то не понимать. Заранее спасибо

cptn_foxmk
02.07.2016
22:19:46
а слайс чем не угодил?

над ним можно обертку сделать с нужными методами на крайний случай

не слайс, а массив обычный в смысле, []foo.Room

Vladimir
02.07.2016
22:22:26
В slices можно обращаться к элементам по указателю или как то так? Что бы изменение было прямое, то бишь сразу на структуру, либо же чтоб был прямой доступ к chan, а не копия

cptn_foxmk
02.07.2016
22:23:17
конечно, посто массив указателей

Vladimir
02.07.2016
22:24:52
Спасибо! Буду сейчас пробовать. А то как этот map и container/list увидел, сразу побежал пробовать, но как оказалось пошел я не туда куда нужно

Igor
03.07.2016
10:37:18
а удалять комнату ты как будешь?

Kirill
03.07.2016
10:39:58
Igor
03.07.2016
10:40:37
ну, из map просто: delete(m, k)

k — айдишник или что-то такое

Kirill
03.07.2016
10:42:25
slice = append(slice[:i], slice[i+1:]...)

в чем сложность?

͏
03.07.2016
10:44:28
slice = append(slice[:i], slice[i+1:]...)
как так отформатировать код в ТГ?

Google
Kirill
03.07.2016
10:44:51
оберни в `

͏
03.07.2016
10:45:44
оберни в `
awesome, я только про такое знал

Kirill
03.07.2016
10:46:01
а есть еще такое

а ты о таком ?

да, о таком

Igor
03.07.2016
10:48:20
я не про язык, а про.. алгоритмы что ли.

slice = append(slice[:i], slice[i+1:]...)

в чем сложность?

нужно пройтись по всему слайсу, найти нужную комнату и удалить её.

Daniel
03.07.2016
10:53:45
при этом удалить - это тот еще гемор

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