Ivan
Что-то маловероятно, но может есть способ карту структур типа map[string]*MyStruct передать в метод в виде карты интерфейсов map[string]*MyStructFieldAccessor. MyStruct само собой имплементит этот самый MyStructFieldAccessor. Т.е. map[string]*MyStruct передать в метод func PrintFields(m map[string]*MyStructFieldAccessor) Есть простой способ?
Daniel
нет
Roman
а что с ним?
Anonymous
Мб, мб, но это топовый фреймворк на сегодняшний день
Roman
скачал, запустил
Anonymous
скачал, запустил
Ну как бы, я уже просто теряюсь в догадках. Мало ли. Но выглядит все-таки что Николай не умеет его готовить, отсюда и выводы :)
Anonymous
И?
и то, что если топовый фрейм в экосистеме не взлетает без пинков это уже о многом говорит
Ivan
нет
понятно, значит итератор
Anonymous
он же сказал что умеет, а виноваты во всем мифические баги пхп
какие мифические? господи, вполне реальный баг
Anonymous
и то, что если топовый фрейм в экосистеме не взлетает без пинков это уже о многом говорит
Что значит топовый? Это означает, что он должен запускатся без его знания одной командой из консоли? Не надо конфигурить, писать роуты, ничего не надо? А также топовый - значит что он подойдет под любой проект?
Anonymous
404 в ларавеле на встроенном сервере - пхп виноват?)
Anonymous
да именно)
Anonymous
вот там график
Anonymous
это значит топовый
Anonymous
топовый по вакансиям по кол-ву проектов
Alexey 〒.
Интересно есть active record на go?
Для интереса глянь pop. Из прикольного есть автомиграции github.com/markbates/pop
Valentin
Это как сесть в танк и утверждать, что говно, потому что БТР по другому управляется
Anonymous
Надо наверное инструмент под задачу выбирать, а не говорить "о, вот это тоооооп, беру его!"
Anonymous
Ну т.е. выглядит так, что берете молоток и микроскоп, микроскопом забиваете гвозди, получается плохо, а молотком - самое то, и в итоге делаем вывод что микроскоп - говно
Anonymous
И в нем баги
Anton
Добрый день! подскажите, пожалуйста, я принимаю запрос через REST, и в нем часть полей опциональны. мне нужно распарсить полученный json, следовательно, нужно предварительно описать его через структуру
Anton
но я не знаю, какие поля будут, а какие нет
Anton
а мне нельзя допускать пустые поля в структуре
Anton
есть возможность как-то объявить структуру так, чтобы принимать поля таким образом?
Vasily
м... *string попробуй
Vasily
мы в easyjson для этих цлей сделали opt
Anton
м... *string попробуй
не очень понял
Vasily
https://play.golang.org/p/YNlvOBoBeL
Vasily
если я правильно опнял что ты хочешь определять какое поле есть, а какого - нет
Vasily
https://play.golang.org/p/xiQHCOXfFz
Vasily
вот так даже
Vasily
если там совсем-совсем динамическая структура - то interface{} тебе в помощь
Anton
я поясню суть проблемы
Vasily
распакует в мапу интерфейсов, а дальше уже руками оттуда вытаскивай вс ё
Anton
для работы с базой используется orm
Anton
и если туда засунуть структуру с nil, то он так и обновит в базе
Anton
поэтому полей с nil не должно быть
Vasily
ты хчоешь не перезаписывать то что там уже есть ?
Anton
если поле не придет в json'e, то в структуре оно как пустое значение объявится
Anton
мне нужно, чтобы в таком случае структура вообще без этого поля объявлялась или типа того
Vasily
ну... есть решенеи в лоб - предзаполнить структуру https://play.golang.org/p/cUqUfFeTl- это плохое решение по наргузке
Vasily
но вообще я не знаю каким ОРМом ты пользуешься - может там есть что для этого
Anonymous
И? О чем это говорит-то?
Это говорит о том, что в моем городе и соседних, и всех других похожих все забивают гвозди микроскопом, плюются от этого и все равно продолжают это делать лол, вот о чем это говорит.
Anonymous
Ну так ты же знаешь как правильно, покажи им, объясни что они выиграют от этого, тебе еще благодарны будут
я об этом и говорю, что когда в контору приходишь, начинаешь им песни петь, они не понимают тебя и просят назад своё PHP
Anonymous
поэтому и надо на хабре или гдето еще выкатывать мегапосты в сравнении Go vs ... performance
Anonymous
чтобы доходило до людей, на чем они выиграют
Vasily
perfomance - это не единственное на чем можно выиграть
Vasily
иначе бы все писали на asm
Vasily
есть ещё такая штукак как "стоимость владения"
Anonymous
нда, если что, происходит все в том контексте, что ставка такая же как у ПХП программиста, даже немного меньше, потому что времени тратится больше
Vasily
нет контекста что делаем - мини-админку на 2 поля которой будет пользоваться 1 человек или оно должно держать 100к qps
Мерль
[last news] Go Concurrency Design Considered Harmful
Vasily
м... странная статья
Мерль
[last news] Codon: workflow framework for building aggregator APIs in Go
Anonymous
Ребят, можно немного офтопа про БД?
Anonymous
Точнее про запрос в бд
Ivan
Да всё равно рань, все спят ;)
Anonymous
Да все, уже в документации нашел
Anonymous
INSERT INTO test (name) VALUES ('My Name') RETURNING id
Anonymous
Это PostgreSql
Vasily
Last insert id не получался?
Anonymous
Last insert id не получался?
в постгерсе его нету…
Vasily
Ну вот же ты сделал
Anonymous
Но изначально вопрос был, насколько безопасно его использовать (lastid)
Anonymous
Ну вот же ты сделал
ну тут я при инсерте получаю id вставленной записи а ЭПНИП в msql там одтается просто последняя id в таблице (могу ошибаться)
Vasily
Жизнь была бы очень тяжела, еслибы оно не было безопасно
Anonymous
Жизнь была бы очень тяжела, еслибы оно не было безопасно
да хз, с возрастом/опытом становлюсь прям параноиком
Vasily
Сьещ ещё этих мягких французских булок, да выпей чаю
Мерль
Стриминг и распознавание лиц через веб-камеру https://4gophers.ru/articles/raspoznovanie-lic-facebox
⏺ Vаdim
Странная штука с тестами. Сделал пакет в нем сделал функцию которая инициализирует переменную в true при первом обращении и инициализирует фикстуры для бд. Если переменная true, то инициализация фикстур не происходит. Каждый тест вызывает эту функцию. Проблема в том что создаются дубликаты в бд фикстур не смотря на то что есть truncate tables. Может быть тесты паралельно выполняются?????? Проблем нет когда запускаешь тест по одному, в базе дубли не появляются