
Evgeniy
11.04.2018
13:14:30
//code 1
if (!condition) {
// code 2
}

Dmitry
11.04.2018
13:14:32

Shmaltorhbooks
11.04.2018
13:14:34
потому и матерится

Google

Max
11.04.2018
13:14:54
в одном месте реально стремный стрем

Evgeniy
11.04.2018
13:15:04

Shmaltorhbooks
11.04.2018
13:15:31

Max
11.04.2018
13:15:37
if ($part === '..') {
array_pop($absolutePath);
} else {
$absolutePath[] = $part;
}
на такой штуке ругается

Shmaltorhbooks
11.04.2018
13:17:18
а на предыдущей строке что?

Max
11.04.2018
13:18:26
foreach ($this->path as $part) {
if ($part === '..') {
array_pop($absolutePath);
} else {
$absolutePath[] = $part;
}
}
прост цикл
ну а в этом методе, логично:
public function assignLocations(array $locations = null)
{
if (empty($locations)) {
$this->locations = new ArrayCollection();
} else {
$newLocations = new ArrayCollection($locations);
foreach ($this->locations as $location) {
if (!$newLocations->contains($location)) {
$this->locations->removeElement($location);
}
}
foreach ($newLocations as $location) {
if (!$this->locations->contains($location)) {
$this->locations->add($location);
}
}
}
}
можно переделать в :
if (!$locations) {
$this->locations = new ArrayCollection();
return;
}
$newLocations = new ArrayCollection($locations);
//...

Shmaltorhbooks
11.04.2018
13:21:13
$newLocations не всегда обновляется
в его коде

Google

Dmitriy
11.04.2018
13:34:30
вакансии тут не любят. бот правильно сделал что удалил

Alex
11.04.2018
13:40:09
можете подсказать где любят?
вакансии
для js есть клевый чатик с вакансиями https://t.me/javascript_jobs а вот для php не знаю такого

Aidar
11.04.2018
13:42:45

Bohdan
11.04.2018
13:43:49

Dmitriy
11.04.2018
13:49:06

Maksim
11.04.2018
14:13:44
на пхп редко пишут ботов
чорд) а я как раз в качестве развлекухи вокруг своей херотени бота развернул) ничё так, старается)

Bohdan
11.04.2018
14:13:56
ну и я все равно не верю в продолжительную работу php
можно, конечно, подсунуть костылей, но зачем?

Maksim
11.04.2018
14:14:48
каких костылей?)

q3ta
11.04.2018
14:14:54
какой процент что uniqid может совпасть?

Bohdan
11.04.2018
14:14:56
ребуты раз в час и тд

Maksim
11.04.2018
14:15:19

Bohdan
11.04.2018
14:15:57

Sergey
11.04.2018
14:16:23

Борис
11.04.2018
14:16:32

Bohdan
11.04.2018
14:16:54
в комментах к доке пишут типа опасненько

Google

Bohdan
11.04.2018
14:17:00
хотя хз, свечку не держал

Sergey
11.04.2018
14:17:05

Bohdan
11.04.2018
14:17:22

Борис
11.04.2018
14:17:23
Но где то был интересный факт, что две проги не могли установится на виндовс хр потому-что совпадал uuid

Sergey
11.04.2018
14:17:38
вон в либке ramsey uuid был как-то описан кейс когда много коллизий генерится

Борис
11.04.2018
14:18:30

Sergey
11.04.2018
14:18:54

Bohdan
11.04.2018
14:18:54

Sergey
11.04.2018
14:18:58
но я честно ни разу еще не пробовал

Bohdan
11.04.2018
14:19:27
я говорю, что я бы не писал
но это моя личная имха, основанная на моих личных синяках

Sergey
11.04.2018
14:19:34

Борис
11.04.2018
14:19:50

Bohdan
11.04.2018
14:20:11
а на чем бы ты писал?)
переписал в итоге тот же консьюмер на питоне с многопоточностью - проблем такого рода под нагрузочным тестированием (неуправляемым, правда) не испытывал
я не говорю про то, что течет память
но поведение было очень странным

Борис
11.04.2018
14:21:13

Sergey
11.04.2018
14:21:17

Борис
11.04.2018
14:22:01
Хм... Тоже не пробовал

Sergey
11.04.2018
14:22:58

Bohdan
11.04.2018
14:23:21

Google

Sergey
11.04.2018
14:24:02

Bohdan
11.04.2018
14:24:40
не питон норм че
ну сейчас свой проект я бы на нем замаялся писать) мне просто чатик показал мир нормальной типизации и мне стало грустненько :D

Anton
11.04.2018
15:01:56
такой вопрос - в деве обновили один пакет, композер лок изменился, я в локальной ветке обновил другой пакет и тоже изменил композер лок, при мерже все заресолвил, но вопрос по поводу "content-hash" - что в таком случае там должно быть? или еще раз композер инстал сделать, и он все разрулит?

Andrei
11.04.2018
15:05:59
нефиг делать апдейт пакета на сервере

Admin
ERROR: S client not available

Andrei
11.04.2018
15:06:37
на серваке все впушь в репо
на локале подтяни, все поправь
потом на сервере делай только install

Anton
11.04.2018
15:23:02
никто не собирался апдейт делать на серваке - причем здесь это вообще? лок нужен для инсталла

Dmitry
11.04.2018
15:31:00
я думаю да, композер инстал сделай просто у себя и все

Борис
11.04.2018
16:13:44

Anton
11.04.2018
16:14:22

Борис
11.04.2018
16:15:08
но вообще это не совсем круто - composer.lock руками мерджить. Правильно, это брать один composer.lock, мерджить composer.json а потом через composer update заставлять композер самому докинуть других зависимостей в composer.lock
Да, это сложнее, но это истинный путь!

Dmitry
11.04.2018
17:03:37
мержить все равно надо

Anton
11.04.2018
17:04:05

Борис
11.04.2018
17:07:27
мержить все равно надо
Ну так, если ты обновил зависимости не обновляя json, то во первых у тебя какие-то странные проблемы (зачем так делать? У тебя все версии прописаны как *? Тогда ты сам себе злой буратино) Во вторых, что тебе мешает, обновить эти же пакеты на машине, где ты мерджишь изменения (composer update specific/package ) ? composer.lock руками мерджить можно только если ты знаешь composer кунгфу


Dmitry
11.04.2018
17:09:38
Ну так, если ты обновил зависимости не обновляя json, то во первых у тебя какие-то странные проблемы (зачем так делать? У тебя все версии прописаны как *? Тогда ты сам себе злой буратино) Во вторых, что тебе мешает, обновить эти же пакеты на машине, где ты мерджишь изменения (composer update specific/package ) ? composer.lock руками мерджить можно только если ты знаешь composer кунгфу
ну а как иначе, у тебя на компе одна версия composer.lock, в репозитории уже другая. Что делать то? по любому надо либо мержить, либо откатывать.
а на счет версий, у многих пакетов годами версия dev стоит, ну или даже 4.1.*

Борис
11.04.2018
17:10:22

Dmitry
11.04.2018
17:11:05

Google

Борис
11.04.2018
17:13:08
например, ты не будешь мерджить файл вручную.
У тебя твоя версия, смотришь какие пакеты поменялось в удаленной версии. composer update specific/package1 specific/package2 etc решает проблему твоего мерджа. Profit

Dmitry
11.04.2018
17:14:50

Борис
11.04.2018
17:17:37
ну так смотреть в composer.lock тебе не запрещается - посмотри какие пакеты там поменялись, их и выполняй.
Если ты поменяешь местами шаги в моем алгоитме (на удаленный composer.lock накатишь обновление своих пакетов) то "сумма не меняется от перемены мест слагаемых" - это как ты хочешь. А вот "composer update " делать не стоит - это дерьмо обновит ВООБЩЕ все пакеты... тебе нужна такая регрессия?

Dmitry
11.04.2018
17:18:49
почему это регрессия?

Борис
11.04.2018
17:21:12
ну, например та библиотека, что ты обновишь с версии 3.2.1 до версии 3.2.2 повиксила баг, который твой код уже активно использует 3 года в проде. И у тебя код стал работать по другому. Да, либа пофиксила баг, но проблемы появились у тебя. Даже если говорить про гигантов symfony они и то, иногда чет подламывают в патчах (слава богу редко) а если твоя библиотека myPizdatiyProvider/PerfectLib то тут вообще рандом

Dmitry
11.04.2018
17:22:45

Борис
11.04.2018
17:23:25
оч малая вероятность. я тебя понял

Dmitry
11.04.2018
17:24:41

Roman
12.04.2018
09:14:57
т.е. они что то пификсили в 3.2.2 и от этого изменилось поведение?
с таким не сталкивался, конечно возможно. но уж очень малая вероятность. Да и тесты вроде как должны помогать
Я недавно с таким столкнулся. Коллега сделал composer update и запушил новый lock файл. У него локально стоит php 7.1.
Потом через неделю мне надо было добавить новую зависимость. Композер начал ругаться на то, что doctrine\inflector требует 7.1, а проект работает на версии 7.0.
Полазив в локе, увидел что она была обновлена. Написал коллеге, спросил за composer update - вот и причина:)
Я думаю, Борис имеет в виду, что надо не сразу все обновлять, а постепенно по каждой либе. Ну и желательно, чтобы были тесты, хотя не факт, что они и помогут)

Sergey
12.04.2018
09:16:18

Dmitry
12.04.2018
09:16:21
Я недавно с таким столкнулся. Коллега сделал composer update и запушил новый lock файл. У него локально стоит php 7.1.
Потом через неделю мне надо было добавить новую зависимость. Композер начал ругаться на то, что doctrine\inflector требует 7.1, а проект работает на версии 7.0.
Полазив в локе, увидел что она была обновлена. Написал коллеге, спросил за composer update - вот и причина:)
Я думаю, Борис имеет в виду, что надо не сразу все обновлять, а постепенно по каждой либе. Ну и желательно, чтобы были тесты, хотя не факт, что они и помогут)
а версия php у тебя не прописана в composer.json ?

F01134H
12.04.2018
09:16:57

Dmitry
12.04.2018
09:16:58