
Andrey
06.11.2017
08:46:02
включи логи xdebug и посмотри

Alexander
06.11.2017
08:48:22
типа ssh -R 9000:localhost:9000 root@айпимашиныссайтом

Andrey
06.11.2017
08:48:45
так это не локаль чтоль?

Google

Ad
06.11.2017
08:48:54
Нет, сервак снаружи

Andrey
06.11.2017
08:49:24
так не делал, только с докером & vagrant игрался

Boris
06.11.2017
08:49:35
$this->doctrine->getRepository();
тоже SL
class SomeClass
{
public $anotherClass;
// Вот это вот DI?
public function __construct(AnotherClass $class)
{
$anotherClass = $class;
}
public function someToDo($str)
{
// А это уже SL и не комильфо?
$this->anotherClass->someToDoWithStr($str);
}
}

Ad
06.11.2017
08:49:50
чорт, я думал что DBGp Proxy для того и нужен, чтобы не надо было отдельный туннель пробрасывать.
У меня и путти-то нет, я как на XShell перешёл, так и забыл о ней как о страшном сне. Кстати, рекомендую, и опять же бесплатная. Мне тех же вкладок в путти оооочень не хватало. :)

Sergei
06.11.2017
08:51:18

Alexander
06.11.2017
08:51:18

Ad
06.11.2017
08:52:20
Ясно. Средствами чисто шторма это не сделать, я так понимаю, все равно надо путти запускать в винде, я правильно понял?

Andrey
06.11.2017
08:52:24
хз, работаю через родной ssh

Ad
06.11.2017
08:53:01
в win есть родной ssh?
Неожиданно нашёл вроде как толковый хауту на сервере бегета. https://free.beget.ru/ru/articles/xdebug

Boris
06.11.2017
08:56:48
да, манагер тебе нужен только в случае работы с транзакциями и для persist/flush
В итоге, хоть я и передал manager в конструкторе, вот эта строка все равно SL.
public function listAction(): Response
{
$genuses = $this->doctrine->getRepository(Genus::class)->findAllPublishedOrderedByRecentlyActive();
А вот для DI я должен был в агрументе экшена передать репо и к нему уже обращатся:
public function listAction(GenusRepository $genusRepository): Response
{
$genuses = $genusRepository->findAllPublishedOrderedByRecentlyActive();

Andrey
06.11.2017
09:00:59
либо в конструктор контроллера/класса-обработчика

Google

Andrey
06.11.2017
09:01:07
а вообще, лучше почитай теорию

Boris
06.11.2017
09:01:23
В итоге:
В services.yml
AppBundle\Repository\GenusRepository:
factory: 'doctrine.orm.entity_manager:getRepository'
arguments: ['AppBundle\Entity\Genus']
В конструкторе контроллера
public function __construct(GenusRepository $genusRepository)
{
$this->genusRepository = $genusRepository;
}
В любых экшенах легко и просто получаю доступ
public function listAction(): Response
{
$genuses = $this->genusRepository->findAllPublishedOrderedByRecentlyActive();
Пока выглядит как оверкилл и не совсем понимаю сути, но думаю на будущее знать теорию и примерно на практике как это работает - не помешает.
Всем спасибо за помощь.


Andrey
06.11.2017
10:28:24
Ребят, может кто опять подскажет. По доктрине (ODM).
Есть документ (допустим, OrderProcess), у него embeddedOne: PurchasingOrder, у PurchasingOrder embeddedMany: PurchasingOrderItem.
Все имеют bidirectional связи. item -> order, order -> transaction. При persist, где создаётся объект OrderProcess, одним скопом закидываю Order, а в Order->items. И persist.
Собственно доктрина падает с ошибкой, что item -> order связь (referenceOne) не разрешена для каскадного persist.
Код, который провоцирует это - https://github.com/doctrine/mongodb-odm/blob/1.1.5/lib/Doctrine/ODM/MongoDB/UnitOfWork.php#L987
Как я могу предположить по коду (и дебагу), сравнивается parent документ для parent-а (parent order = process, parent item = order), и т. к. они отличаются, идёт вызов persistNew для UoW - order. И потом падает на not marked as cascade
собственно вопрос. Как работать с такими bi-directional reference?
Или делать workaround и хендлить слушателями? А писать id?
P.S. и сам clone мне сильно мешает, т. к. вызывает рекурсию (как раз из-за bidirectional). Обходом есть не клонить это свойство в "нижних" документах, а оставлять, но мне кажется это не ок
Судя по тому, что я вычитал отсюда, варианта нет. Остаются слушатели или пробовать избегать связей...
https://github.com/doctrine/mongodb-odm/issues/1077


Yuriy
06.11.2017
12:25:14
всем привет
установил FOSElasticaBundle
но вижу компосер подтянул версию 4, а последняя из оф сайта уже 5 в чем может быть причина?
P.S.
загружал компосером:
composer require friendsofsymfony/elastica-bundle,
PHP 7.1, SF 3.2

Andrey
06.11.2017
12:26:10
https://github.com/FriendsOfSymfony/FOSElasticaBundle/releases

Yuriy
06.11.2017
12:31:37
наверное "Read the documentation for 5.0.x" речь идет о версии самого поискового движка а не бандля для симфони,
понял спасибо

Dmitry
06.11.2017
12:32:46
5.0 это мастер
https://packagist.org/packages/friendsofsymfony/elastica-bundle

Sergey
06.11.2017
12:39:24
на го нынче столько софта пишут опенсорсного, что аж страно становится

Dmitry
06.11.2017
12:39:58
на js тоже много понаписали... и тоже страшно, хотя по другим причинам

Alan
06.11.2017
12:40:17
а то на пхп не страшно ))
вон редис бандл внутри страшен

Sergey
06.11.2017
12:40:42
docker, kubernetes, flannel, etcd, grafana, prometheus, terraform, vault, rkt, minicube и это только из того что я помню

Alan
06.11.2017
12:41:16
drone ci

Google

Vladislav
06.11.2017
12:42:06
drone ci крут
minio.io

Sergey
06.11.2017
12:42:23
мы пока еще на дженкинсе сидим и бамбу

Alan
06.11.2017
12:42:58
дрон оч простой если с докером разобрался

Dmitry
06.11.2017
12:43:11

Alan
06.11.2017
12:43:11
ну дока там отставала одно время, щя вроде норм
snc

Sergey
06.11.2017
12:44:05
это из серверного софта

Alan
06.11.2017
12:46:47
ну koa2 хорош лечит от callback hell

Sergey
06.11.2017
12:47:03
эт фреймворки
а я за конкретный софт говорю

Bohdan
06.11.2017
12:52:04
npm и webpack - это все же обеспечение фреймворков, на самом деле, инфраструктура для них

Bohdan
06.11.2017
12:52:37
js все же не тот язык, на котором есть смысл писать тулзы аналогично названным на го
и прочим подобным

Sergey
06.11.2017
13:03:29
да вообще писать всякие инфраструктурные штуки с потреблением памяти в 10-20мб конечно подкупает

Bohdan
06.11.2017
13:08:25
я хочу еще попробовать го в качестве микросервиса
и как веб-сервер, и как воркер на другой стороне rabbitmq/etc
как перестать писать комманд/ивент хендлеры и начать жить?

Dmitry
06.11.2017
13:11:59
а, ну это логично, что го на серверные утилиты насел... а то мне тут ссылку дали на МТА на руби... и сразу как-то грустно становится

Bohdan
06.11.2017
13:12:12
мта? мейл трансфер агент?

Dmitry
06.11.2017
13:12:26
угу

Google

Sergey
06.11.2017
15:47:29

Bohdan
06.11.2017
15:47:54
как основная логика)

Sergey
06.11.2017
15:48:14
воркеры на стороне rabbitmq не занимаются никакой логикой?

Bohdan
06.11.2017
15:48:17
го для нагрузки

Sergey
06.11.2017
15:49:02
и потом через год встанет вопрос "а нафиг нам пхп?")

Alex
06.11.2017
15:52:38

Антон
06.11.2017
15:53:38
А для каких целей целесообразен go?

Admin
ERROR: S client not available

Alex
06.11.2017
15:55:00

Sergey
06.11.2017
15:55:29

Антон
06.11.2017
15:56:23
Быстрая обработка большого количества данных - можно пример? Парсер какой то?

Alex
06.11.2017
15:56:32

Антон
06.11.2017
15:56:56
Давайте не будем про jvm.
Я конечно сам оффтоплю. Но хочу понимать когда есть смысл использовать

Sergey
06.11.2017
16:02:56

Alex
06.11.2017
16:03:34

Dmitriy
06.11.2017
16:05:48

Sergey
06.11.2017
16:06:09
уменьшим выборку до "хороших гоферов"
и которые хотя бы умеют готовить корутины со всеми каналами и синхронизациями

Alex
06.11.2017
16:12:16

Google

Sergey
06.11.2017
16:12:32
говорят мало и сложно найти

Alex
06.11.2017
16:12:46

Sergey
06.11.2017
16:13:16
те с кем я общался, которые себе ищут гоферов в команду
иногда встречаются на митапах по докеру и куберу

Dmitriy
06.11.2017
16:14:15
мы тоже искали =(
легче было самому, чем найти их

Sergey
06.11.2017
21:13:28

Daniel
06.11.2017
21:26:23
Обновляем скуп на линухах, братия

Sergey
06.11.2017
23:27:39

Sergey
06.11.2017
23:28:11

Sergey
06.11.2017
23:28:30

Sergey
06.11.2017
23:28:52
ну я знаю пару конторок где люди в го играют)
то что их мало... ну это как "мало толковых php-ников"

Sergey
06.11.2017
23:31:45
я просто не вижу смысла юзать го, без использования его по полной

Vladislav
06.11.2017
23:31:46

Sergey
06.11.2017
23:32:22

Vladislav
06.11.2017
23:32:36
я не говорю о супер глубоком пониманиии как все устроено под капотом, но в целом чтобы написать вэбсокет серв не надо быть оч потным
достаточно пройти документацию и написать 10 задач на корутины. я например решал всякие задача на алгоритмы и структуры данных и потом переписывал обсчеты на корутины
го создан как раз для того чтобы изи иэнеджить такие штуки