@proGO

Страница 590 из 1674
Peter
07.04.2017
09:23:43
так посмотри в питоне заголовки
так может и не в них дело

Dmitriy
07.04.2017
09:25:17
так может и не в них дело
перешёл в браузере по урлу, всё ок, значит заголовки

Peter
07.04.2017
09:31:42
перешёл в браузере по урлу, всё ок, значит заголовки
ок, юзер агент не помог. какие еще варианты?

Google
Peter
07.04.2017
09:32:21
curl "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20170221T074020Z.9cd2557c1352efaf.bb2222a8c35655687fd423544e108664141ae1b4&lang=ru-en&text=какая прекрасная сегодня погода" <html> <head><title>400 Bad Request</title></head> <body bgcolor="white"> <center><h1>400 Bad Request</h1></center> <hr><center>nginx/1.6.2</center> </body> </html>

хрень какая-то с этим яндексом

Aleksandr
07.04.2017
09:45:31
текст не закодирован

curl "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20170221T074020Z.9cd2557c1352efaf.bb2222a8c35655687fd423544e108664141ae1b4&lang=ru-en&text=какая прекрасная сегодня погода"

curl "https://translate.yandex.net/api/v1.5/tr.json/translate?key=trnsl.1.1.20170221T074020Z.9cd2557c1352efaf.bb2222a8c35655687fd423544e108664141ae1b4&lang=ru-en&text=какая+прекрасная+сегодня+погода"

второй вариант верный

Roman
07.04.2017
11:21:14
Го может использовать, скажем, последние оптимизации под конкретный процессор?
напрямую - нет. но зачем, если можно просто кусок кода написать на сишечке?

https://vk.com/video8119461_456239096

Oleksandr
07.04.2017
11:21:50
речь же о Го как о "шустром" языке

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

Google
Roman
07.04.2017
11:26:45
дык cgo же медленный?
необязательно же cgo.

https://github.com/minio/sha256-simd

Kirill
07.04.2017
11:27:02
дык cgo же медленный?
Смотря как вызывать.

Roman
07.04.2017
11:27:03
например, как ту

как тут

можно написать на сишечке и заставить gcc выплюнуть asm

и потом этот код втянуть к себе.

Subbotin
07.04.2017
13:07:16
хэй, гайз. у меня есть вот такая конструкция https://play.golang.org/p/meYre9HKES

и при компиляции мне пишет вот такое ./db.go:93: cannot convert *db (type DB) to type gorm.DB ./db.go:93: cannot call pointer method on gorm.DB(*db) ./db.go:93: cannot take the address of gorm.DB(*db)

что я делаю не так?

по сути я хочу переопределить методы create/update/delete чтобы при любом изменении обновлялась дата последнего изменения базы.

Kirill
07.04.2017
13:16:52
Зачем тебе (*db)?

Subbotin
07.04.2017
13:19:08
ну я хочу вызвать метод исходного типа

corpix
07.04.2017
13:19:15
Походу для "эмуляции" наследования

Subbotin
07.04.2017
13:19:44
ну грубо говоря хочу аналог питоновского super

на простом примере без указателей все работает

LexsZero
07.04.2017
13:21:25
что я делаю не так?
звездочку в 9 строке убери

corpix
07.04.2017
13:24:39
Почему такое вообще должно работать? Это ведь разные статические типы

Олег
07.04.2017
13:26:02
corpix
07.04.2017
13:26:39
Но тут не кря, а статический тип

Google
LexsZero
07.04.2017
13:26:51
потому что методы с pointer receiver можно вызывать у любых объектов

Peter
07.04.2017
13:27:11
Kirill
07.04.2017
13:27:22
Subbotin
07.04.2017
13:27:25
Илья
07.04.2017
13:30:02
LexsZero
07.04.2017
13:30:37
не спасает
https://play.golang.org/p/bNckoPD7rH

ты в 15 строке вызывал метод у типа, что вообще говоря не имеет смысла

Kirill
07.04.2017
13:31:25
а как?
type DB struct { *gorm.DB lastUpdate int64 } func (db *DB) Create(value interface{}) *gorm.DB { db.lastUpdate = time.Now().Unix() return db.DB.Create(value) }

corpix
07.04.2017
13:31:43
потому что методы с pointer receiver можно вызывать у любых объектов
Ок, тогда упростим. https://play.golang.org/p/leF9zbR3Qd Что тут не так?

LexsZero
07.04.2017
13:32:18
type DB struct { *gorm.DB lastUpdate int64 } func (db *DB) Create(value interface{}) *gorm.DB { db.lastUpdate = time.Now().Unix() return db.DB.Create(value) }
*gorm.DB тут не нужен, достаточно эмбедить саму структуру gorm.DB, а не указатель на нее, ведь у метода и так pointer receiver

хотя это зависит от логики, конечно.

LexsZero
07.04.2017
13:33:28
а надо у _значения_

Олег
07.04.2017
13:33:36
а можно как-то выводить текст в го без пакета fmt?

LexsZero
07.04.2017
13:33:37
fmt.Println("Hello, playground", b.A.Foo())

LexsZero
07.04.2017
13:33:51
или вообще b.Foo()

Олег
07.04.2017
13:34:00
println()
а в чём отличие?

Google
Subbotin
07.04.2017
13:34:02
https://play.golang.org/p/bNckoPD7rH
ну вроде скомпилилось. счас затестю

corpix
07.04.2017
13:34:02
fmt.Println("Hello, playground", b.A.Foo())
Ага. И получу Foo() -> 0 тогда

Kirill
07.04.2017
13:34:05
LexsZero
07.04.2017
13:34:26
Kirill
07.04.2017
13:34:48
ну вроде скомпилилось. счас затестю
в твоем случае это, похоже, не надёжный вариант. встраивать тут лучше ссылку.

corpix
07.04.2017
13:35:12
Но автор изначального вопроса кажется хотел вызвать метод над собственной структурой как раз с той целью чтобы метод прочитал значение из его структуры, что невозможно кмк

Subbotin
07.04.2017
13:35:56
Admin
ERROR: S client not available

LexsZero
07.04.2017
13:36:03
corpix
07.04.2017
13:36:24
Тогда всё в порядке. А то я уж перепугался

Subbotin
07.04.2017
13:37:51
нет. не хотел. внешнее значение чисто внешнее и не затрагивает то от чего я наследуюсь

Олег
07.04.2017
13:38:03
чем отличается fmt.Println() от println()?

corpix
07.04.2017
13:38:58
нет. не хотел. внешнее значение чисто внешнее и не затрагивает то от чего я наследуюсь
Ну тогда return gorm.DB(*db).Create(value) -> return db.Create(value) должно быть достаточно

Kirill
07.04.2017
13:39:25
чем отличается fmt.Println() от println()?
Тем, что его говорят не использовать

ээээ?
Аааа.

Google
Subbotin
07.04.2017
13:40:02
Аааа.
какой контекст он не сможет изменить?

Kirill
07.04.2017
13:40:29
почему?
Спроси у Пайка, я не знаю.

corpix
07.04.2017
13:40:39
нет. db.DB.Create(value)
Оба должны быть рабочими(мой вариант конечно с некоторыми оговорками, но всё же)

Олег
07.04.2017
13:40:51
вообще ответы на заданные мной вопросы я знаю, кроме "почему плохо"

интересно было знает ли кто ещё

Kirill
07.04.2017
13:41:04
Олег
07.04.2017
13:41:09
отличаюстя тем, что println() пишет в stderr

Kirill
07.04.2017
13:41:28
Subbotin
07.04.2017
13:41:29
corpix
07.04.2017
13:41:32
а разве не получится рекурсия?
А, да, точно ты прав. Я прост чёто не обратил внимания что Create перекрывается, сорян

LexsZero
07.04.2017
13:42:14
https://play.golang.org/p/WgEdPFAdpJ - го-вей.

Subbotin
07.04.2017
13:42:47
MacBook-Pro-install-2:~ mr_tron$ go run test.go >/dev/null dsfsdf MacBook-Pro-install-2:~ mr_tron$ cat test.go package main func main() { println("dsfsdf") }

Kirill
07.04.2017
13:42:50
Возможно, но эту порнографию я не хотел бы публично показывать.
Кому особенно интересно - копайте в сторону go:linkname и колдовства с unsafe и runtime.

Subbotin
07.04.2017
13:43:13
у меня в стдерр

Kirill
07.04.2017
13:43:33
у меня в стдерр
Похоже, поэтому и не рекомендуют

Кому особенно интересно - копайте в сторону go:linkname и колдовства с unsafe и runtime.
а особые экстремалы могут взять мой https://github.com/gramework/runtimer

LexsZero
07.04.2017
13:44:33
если хочешь перегрузить какое-то поведение - создаешь тип-враппер, эмбедишь в него нижний тип, пишешь для него переопределяемые методы, а остальные методы которые не переопределяются будут неявно волшебным образом вызываться от эмбеднутого типа.

Олег
07.04.2017
13:44:39
Почему у меня в stdout?
как ты проверял?

➜ cat goprint.go package main func main(){ println("yolo") }

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