Irina
А почему не PUT/PATCH api/users/1 ?
ainu
/api/users/edit/ а почему userS а не user или лишний хендлер ? интересно просто
Ну например /api/users/bulk или /api/users/search ещё будет. По имени соответствующей таблицы в БД. Но не суть:)
Aleksandr
таблицу принято в ед. числе называть. эндпойнты апи во множественном
ainu
А почему не PUT/PATCH api/users/1 ?
Чтобы из браузера работать это раз, и кроме crud ещё методы будут это два (т.е. это не rest)
Lanegan
Есть же ещё родное решение - swarm
Ну это если только на крайняк )
Anonymous
https://play.golang.org/p/1D_6PnfNqu
спасибо буду курить
Lanegan
почему ?
Да ну было начал автоматизировать, словил гемора по дороге. Как-то не зашел, или может я чего не всосал
Oleg
Aleksandr
Hello gophers, We plan to issue Go 1.8.4 and Go 1.9.1 on Wednesday, October 4 at approximately 8pm UTC. These are minor releases to fix a security issue.
Maxim
когда там 2.0?
Aleksandr
когда начнут?
Nik
https://vk.com/golang?z=video-27669892_456239059
звук че то совсем не фонтан
Daniel
а на мне - так и вовсе паламалась
Slava
во, мы как раз на 1.8 переходим
Nik
а на мне - так и вовсе паламалась
А хорошая запись будет?
Nik
А то прям не возомжно
Мерль
а на мне - так и вовсе паламалась
А можно презентацию где-то посмотреть?
Daniel
А хорошая запись будет?
Нет, это все, что есть
Daniel
А можно презентацию где-то посмотреть?
https://docs.google.com/presentation/d/1ywuzjZ5GfBh6nHuhC908tBPqAALsMxq1XyKhKNqAJ1A
Мерль
Надо будет связаться с другими участниками и попросить их
Мерль
https://docs.google.com/presentation/d/1ywuzjZ5GfBh6nHuhC908tBPqAALsMxq1XyKhKNqAJ1A
Питонификация - - это как и почему плохо?
Daniel
Это когда мы начинаем передавать interface{} и интенсивно использовать type switch
Daniel
Пишем динамический язык...
Мерль
Ну да, такое Хотя я бы typeswitch не ругал, ошибки им проверять хорошо и зело приятно, имхо
Daniel
Стандарт-с
Vladimir
Стандарт-с
а gRPC нет? )
Anonymous
@Civiloid протобаф в некоторых ситуациях не очень гибкий)
dev_sheep
Ребят, слушайте. Вот я сижу такой, смотрю на количество звёзд моих на гитхабе - много. Подумал, надо бы почистить. Но. Для чего вообще эти звезды нужны: для того, чтобы использовать их как закладки или же для того, чтобы использовать их как лайки?
Anonymous
как заклади используют форк
dev_sheep
Понял, спасибо
Aleksandr
Кто как
Aleksandr
как заклади используют форк
Хех. Зачем же засирать форками, если есть звёзды.
Mike
Хех. Зачем же засирать форками, если есть звёзды.
Ага, к тому же в таком случае вряд-ли ты будешь свой форк обновлять.
Daniel
есть подозрение, что то была шуточка
Mike
Нет там правильного) как удобно так и надо
Да, давайте делать кучу разношёрстных api!
Anonymous
Вообще не должно быть edit
Anonymous
Эт post
ainu
Эт post
Тут не про rest. Вместо edit может быть approve или setoption, а вместо users - products
Anonymous
Тут уже говорили - grpc)
Anonymous
Смотря чего больше: действий или обьектов
Niko
https://go-tour-ru-ru.appspot.com/methods/17
Niko
package main import "fmt" type Person struct { Name string Age int } func (p Person) String() string { return fmt.Sprintf("%v (%v years)", p.Name, p.Age) } func main() { a := Person{"Arthur Dent", 42} z := Person{"Zaphod Beeblebrox", 9001} fmt.Println(a, z) }
Niko
Когда я нажимаю run - для каждой структуры вызывается метод String() Как это работает???
Niko
Метод явно не вызывается, но выполняется
Daniel
Это магия
Daniel
Я серьезно
Niko
Niko
я так и увидел
Daniel
Именно для String()
Niko
но как это объяснить?
Daniel
Никак
Daniel
Но в яве со стрингом та же херня
Niko
это похоже на магический метод в php "__toString()" Возможно где-то в Go есть перечень подобного волшебства??? Или это только для метода String() у структур?
Vasily
внтури println смотрится что если то что приходит можно скастовать к интерфесу stringer - то дёргается метод String
Igor
Всё что имеет interface Stringer работает на принты без всякой магии, стандартный подход.
Vasily
можно написать подобную функцию, которая будет например не к стрингеру приводить, а к абракадабра
Niko
Спасибо! Есть ли еще стандартные интерфейсы с подобной "магией"?
Igor
Writer - Самый распространённый
Niko
Вот если бы я не прочел об этом в go tour - как бы я мог отследить подобное?
Niko
Как отследить интерфейс, метод которого ты случайно имплементировал? Редактор об этом скажет?
Igor
Редактор точно нет, какая-нибудь IDE возможно
Igor
Но случайно имплементировано - не есть ошибка, откуда знать может программист так задумал
Niko
Боялся получить непредсказуемый результат и не находить, где указана его реализация
Igor
Интересный пример обретения метода у функции путем приведения к типу: https://play.golang.org/p/kO0-sGvjpn
Niko
буд-то функциональный подход пограммирования на Go
Niko
запутывает меня этот код) пока к такому не готов
Igor
Go интересен, если его использовать по полной
Niko
поддерживаю. Вот читаю и понимаю, что очень интересен! А вот в Go есть "гоурутина" func f(n int) { for i := 0; i < 10; i++ { fmt.Println(n, ":", i) } } func main() { go f(0) } Когда это лучше использовать и когда не нужно? Разве Go сам по себе не является многопоточным, как например сервер nginx? В чем смысл "гоурутины"
Igor
Смысл зелёных трэдов (go routine) программирование в лёгком конкуретном режиме - удобно с каналами в качестве message broker. На эту тему хороши первые доклады Роба Пайка, там где суслики бегают с тачками
Niko
если там есть - я скоро дойду, можно не отвечать. Вопрос снимаю)
Niko
@takama я так и думал, что можно использовать это например для очереди сообщений