
Sergey
03.05.2018
16:01:09
не надо смешивать, так ты только усложняешь

Nurik
03.05.2018
16:04:02
Ну так если мне надо в процессе вытащить из репозитория код, который уже оттестирован и мне нужно только забрать статику. То почему это не CD ?
Даже в кубике есть Volume который тащит из git файлы, чтобы потом замонтировать их.

Google

Nurik
03.05.2018
16:05:25
gitRepo типа
делается это для того, чтобы статику которую будет обслуживать nginx можно было ему подмонтировать. А не собирать nginx со статикой, если это невозможно.
Под статикой я имею ввиду js,css и другие изменеяемые данные, которые будет отдавать nginx
@fes0r Можешь плиз, сказать, это я значит что-то делают не так ? Или это уже нельзя назвать деплоем в контексте Continious Deployment ?
Хотя, да все верно. git тут не нужен. Т.к. нужно было оформить статику как artifact. Но на момент интеграции вроде в gitlab не было артифактов. Видимо поэтому, меня смутило что при деплое не юзается git.
Сорри, был не прав.

Sergey
03.05.2018
16:28:02
естественно VCS будет частью этого процесса
но deployment это определенная часть CD, маленькая.

Nurik
03.05.2018
16:29:21

Sergey
03.05.2018
16:33:32
https://slides.com/sergeyprot-ko/deck-7#/
на вот - я для своих когда-то делал

Google

Nurik
03.05.2018
16:35:37

Vlad
03.05.2018
16:55:33

БОГАТЫРЪ
03.05.2018
16:56:07
можно доки
или пример

Mihail
03.05.2018
20:12:22
Mihail, [03.05.18 23:05]
Здравствуйте, назрел небольшой вопрос, всегда ли нужно использовать сеттер к геттеру? к примеру я передаю данные через аргумент в геттер
public function getUserTweets($screen_name)
{
return $this->twitterApi->getStatusesUserTimeline($screen_name);
}
если с сеттером то
private $screen_name;
public function setUserTweets($screen_name)
{
$this->screen_name=$screen_name;
}
public function getUserTweets()
{
return $this->twitterApi->getStatusesUserTimeline($this->screen_name);
}
нужно ли тут использовать вариант с сеттером и геттером или достаточно одного геттера?

Sergey
03.05.2018
20:19:43
а вообще при проектировании класса всегда смотри как он используется а не "ну прост"
ну и можешь эксперемента ради просто попробовать не использовать префиксы get и set и более адекватно называть методы, глядишь поможет


f4rt~
03.05.2018
20:21:58
в первом случае изменить незвание метода и уже не геттер, а нормальный метод

Mihail
03.05.2018
20:23:23
в том то и дело, что по префиксу понятно, что они делают, если get то что то возвращает

Sergey
03.05.2018
20:23:40

Mihail
03.05.2018
20:24:16
это да, к сожалению

Sergey
03.05.2018
20:24:51
setUserTweets - что там за screen_name?

Mihail
03.05.2018
20:25:35
в ней лежит назвнание позовательского аккаунта в твитере

Sergey
03.05.2018
20:25:59
мммм почему оно screen?

Mihail
03.05.2018
20:26:00
пример "@lentaofficialru"
так в твитеровском api написано

f4rt~
03.05.2018
20:26:55
(new TwitterService())->userTimeLine($this->user);
хз, как предположение

Sergey
03.05.2018
20:27:05
так в твитеровском api написано
> The screen name, handle, or alias that this user identifies themselves with. screen_names are unique but subject to change. Use id_str as a user identifier whenever possible. Typically a maximum of 15 characters long, but some historical accounts may exist with longer names. Example:

Google

Sergey
03.05.2018
20:27:11
а еще там написано не юзать его как идентификатор)

f4rt~
03.05.2018
20:27:54
ну по LoD да)

Sergey
03.05.2018
20:28:26
и зачем суффикс Service? и так понятно что твиттер это сервис)

f4rt~
03.05.2018
20:28:43
у меня тоже не слшком хорошо с неймингом :)

Sergey
03.05.2018
20:29:00

Mihail
03.05.2018
20:30:14
эта функция ищет пользователя и получает его твиты screen_name это имя пользователя

Sergey
03.05.2018
20:30:51

Mihail
03.05.2018
20:31:44
id_str это id просто в виде "54643568" не кдобно очень

Bohdan
03.05.2018
20:32:12
ну так речь не про "удобно", а про "правильно"

Sergey
03.05.2018
20:32:12

Bohdan
03.05.2018
20:32:33
если тебе нужно получить ид юзера - должен быть эндпоинт для этого

Mihail
03.05.2018
20:33:29
у меня сервис который получает твиттер api и передаёт данные другому сервису который их обрабатывает(получает массивы с нужными данными, не нжные удаляет)

Bohdan
03.05.2018
20:34:45
я не шарю в твиттер апи, но там наверняка есть способ получить id_str по screen_name
и хранить уже id_str в базе

Maksim
03.05.2018
20:35:31
я тож не шарю, но вряд ли))
screen_name-то уникальным быть не должон)

f4rt~
03.05.2018
20:35:47
предполагаю там получаешь всю инфу о пользователе(объект User), а потом уже чем хочешь оперируешь в своих целях

Mihail
03.05.2018
20:35:52

Google

f4rt~
03.05.2018
20:35:58

Sergey
03.05.2018
20:36:03

Mihail
03.05.2018
20:36:05

Maksim
03.05.2018
20:36:14

Mihail
03.05.2018
20:36:36

f4rt~
03.05.2018
20:37:17
id_str будет твоим PK

Mihail
03.05.2018
20:38:38
это id который хранится в виде строки
понял, screen_name не вечен
так как лучше поступить, обычный метод с параметрами, или сеттеры и геттеры?

Admin
ERROR: S client not available

Mihail
03.05.2018
20:46:09
я понимаю,что можно и так и так, но ООП говорит про инкапсуляцию

Sergey
03.05.2018
20:53:01
геттеры и сеттеры - это не про инкапсуляцию, они там мимо проходили. В твоем конкретном случае все сводится к банальному нэймингу

Mihail
03.05.2018
20:54:48
кажется приходит просветление(поправте если не прав). В ООП нужно всё рассматривать как обьект и если я пишу в ООП то получаю такое
private var1
private var2
public setMethod(var1 var2)
$this->var1=var1;
$this->var2=var2;

Evgeniy
03.05.2018
20:55:21
зачем ты делаешь мутабельные объекты ?

Sergey
03.05.2018
20:55:23

Evgeniy
03.05.2018
20:55:28
зачем ты изменяешь состояние потом ?

Sergey
03.05.2018
20:55:39
ну и да - если есть возможность делать имутабельно - это всегда проще

Evgeniy
03.05.2018
20:55:43
почему не сразу в конструктор нужные var передать

Google

Mihail
03.05.2018
20:56:43

Evgeniy
03.05.2018
20:57:11
ну такое бывает довольно редко это раз

Mihail
03.05.2018
20:57:15
в конструкторе должны же быть общие значения для всех методов

Evgeniy
03.05.2018
20:57:16
во вторых есть with*
в конструкторе зависимости
в идеале
но это опять очень холиварно
давай конкретный пример класса и что он делает чтобы лучше подсказать

Mihail
03.05.2018
20:59:35
класс это общий Api в нём метод UserTweets который получает твиты пользоваетелей
в методе передается id пользвателя

Evgeniy
03.05.2018
21:01:00
$tweets = $api->tweets($userId); // самое очевидное

Mihail
03.05.2018
21:02:48

Антон
03.05.2018
21:03:03

Evgeniy
03.05.2018
21:03:10
ну тоесть ты сделал что то типо билдера

Sergey
03.05.2018
21:03:43

Evgeniy
03.05.2018
21:03:51
$tweet = Api::builder()->setUserId($userId)->build();
это делается в том случае если параметров куча

Sergey
03.05.2018
21:04:05
> ООП не применятеся
ты просишь о чем-то объект, чем не ООП

Evgeniy
03.05.2018
21:04:27
и некоторые и все они не необязательные
тоесть зачем усложнять если простая ситуация

Mihail
03.05.2018
21:05:08

Evgeniy
03.05.2018
21:05:40