
Anton
05.10.2018
19:05:30
каждому свое. мне порой вообще тяжело следить за топиками.

Icewild
05.10.2018
19:14:37
«стрессоустойчивость» - нужно вычеркнуть из резюме

Евгений
05.10.2018
23:33:24
Всем привет
Если делать composer-зависимости, их стоит заносить в гитигнор?

Sad but
05.10.2018
23:46:52

Google

Sergey
06.10.2018
09:52:06

Arky
06.10.2018
11:17:21

f4rt~
06.10.2018
11:18:44

Sergey
06.10.2018
11:24:24

Maksim
06.10.2018
11:43:33
ну с точки зрения лени там не всё прекрасно) всё ж доктрина часть головняка ежедневного закрывает)

Sergey
06.10.2018
11:48:30
или создает
опять же - у меня мысль была показать как связи можно убрать)
за счет всяких там jsonb (естественно я про постгрес, с мускулем у тебя нет вариантов)

Maksim
06.10.2018
11:56:34
ну в моём кейсе создаёт и много больше. в целом, для неискушённого пользователя с уловно простым проектом - почему нет

Александр
06.10.2018
12:40:58
Я правильно понимаю что можно взять постгрес с его jsonb и получить где нужно реляционную базу, а где не нужны нормализованные данные использовать jsonb и жить прекрасно? В том плане, что имеет ли сейчас использовать отдельно именно nosql базы типо монги?

Maksim
06.10.2018
12:43:48
в целом, понимаешь верно. что касается второй части, надо смотреть что именно от носкл надо

Александр
06.10.2018
12:48:44
Честно говоря пока не очень понимаю где нужны ненормализованные данные. На ум приходят какие нибудь канбан доски возможно удобно будет хранить, а так не знаю, видимо mysql головного мозга у меня

f4rt~
06.10.2018
12:52:15

Google

Александр
06.10.2018
12:52:55
Чтобы джоины не делать?

f4rt~
06.10.2018
12:53:50
Например?
например хайлоад, где не нужна рсубд
где отсутствие нф быстрее сказывается на скорость отдачи данных

Александр
06.10.2018
12:54:58
А вот допустим не знаешь, хайлоад или не хайлоад. Как можно понять что вот тут носкл ок зайдет. Я вот таких примеров никак не могу придумать

f4rt~
06.10.2018
12:55:29
нужно обладать максимальной информацией о проекте
векторе его развития и тд

Александр
06.10.2018
12:56:33
Т.е. нету определенного класса задач?

f4rt~
06.10.2018
12:58:55
все меняется и задача разработчика, иметь возможность быстро прибрать пиздец, обычно берут то что лучше всего знают
тебе же никто не помешает после mvp раскидать что то по nosql и тд

Александр
06.10.2018
12:59:53
Ну да, в целом понятно. Можно тогда брать постгрес и норм будет)
Спасибо

Sergey
06.10.2018
13:01:24

Александр
06.10.2018
13:01:59
Как base загуглить?
А, нашел, спасибо. Пойду почитаю

Sergey
06.10.2018
13:03:04
типа basik availability, soft state, eventual consistency. Короч там где данные в одну базу не помещаются
помимо монги есть и другие варианты, и там все сильно упирается с тем что ты будешь с данными делать
но поскольку у 90% проектов база данных прям вся в оперативке поместиться может, то как бы нет особо смысла загоняться и можно взять универсальный вариант который будет хорошо работать. Ну и есть же еще микросервисы (где ты берешь эти самые данные которые в одну базу не помещаются и делаешь просто... много баз данных, правда тогда всеравно eventual consistency скорее всего придется применять ибо полностью независимо сложна)
ну а если ты хипстер достаточно можно попробовать какие-то совсем уж экзотичные штуки типа OrientDB или ArangoDB.

Александр
06.10.2018
13:08:30
Спасибо, будем изучать вопрос

Maksim
06.10.2018
13:35:49
Спасибо, будем изучать вопрос
представь себе документ (например, накладную на отгрузку товара).
у него есть стороны (контрагенты). если смотреть с точки зрения россии, то их 3: юр лицо, иностранная компания, ип. Каждый из типов подразумевает свой набор данных.
у товаров в накладной тоже зоопарк свойств, нет общего шаблона.
а теперь попробуй в мыслях накидать реляционную схему, что бы впихнуть невпихуемое. Безусловно, у тебя получится. Но какой ценой?)

Alexey
07.10.2018
11:35:01
А есть вообще крупные проекты, которые без рсубд работают?

Google

Sergey
07.10.2018
11:40:45
а есть крупные проекты которые на рсубд работают?

Sergey
07.10.2018
11:40:59

Alexey
07.10.2018
11:44:49
В том-то и дело, что nosql появляется как результат эволюции проекта. Обратные примеры, когда развитие только на nosql упирается в техническую невозможность роста, встречаются часто


Sergey
07.10.2018
11:46:08
ну то есть, я бы не сказал что прям "упирается в техническую невозможность" - это больше про реляционные базы скорее. Просто с nosql опять же вопросы консистентности перекладываются целиком на тебя. Ну и в целом для большинства задач это не нужно.
Кроме того - тот же posgresql это не чисто реляционная база данных (ORDBMS)
а проекты где ты упираешься в нюансы реализации хранения данных - это все же больше редкость. Хотя конечно знать сильные/слабые стороны своих инструментов стоит. Вот я например до сих пор не знаю почему люди выбирают mysql вместо postgresql (особенно сейчас, когда самый большой минус постгреса - отсутствие логической репликации и партицирования толкового - уже пофикшены). Да, есть куча нюансов (особенно в том как данные хранятся на диске), но в целом для 99.99% проектов это неважно
p.s. если кто-то может мне рассказать хотя бы в контексте 1% проектов почему mysql в чем-то лучше постгри - буду признателен. Аргумент "потому что я знаю мускуль" не принимаю


Bohdan
07.10.2018
11:56:00
а выгода от перехода слишком низкая

Sergey
07.10.2018
11:56:53
ну это все понятно, я больше в контексте новых проектов. Ну мол я прекрасно понимаю что мускуль популярен не по объективным причинам а потому что он был популярен
ну то есть может быть 10 лет назад разница была значительной (скажем из бесплатных только мускуль умел достаточно вещей)

Bohdan
07.10.2018
11:57:24
ну скажем так, постгря - это больше про плюшки для умненьких
а бизнес - задачу можно и на мускуле сделать
короче, мускуль - это пхп в мире субд

Sergey
07.10.2018
12:15:48
1. На больших проектах можно забыть за джоины совсем, т.к они уронят базу в два счета
2. Большие проекты шардированы и тут в консистентность ключей не все базы умеют
3. На больших проектах у тебя будет несколько сервисов, и между ними джоины ты тоже не сделаешь
и в добавок, та же монга умеет кое-как делать джоины, ты в ней будешь хранить четкую схему и наверняка валидацию схемы еще прикрутишь
мускули и тому подобные умеют у себя уже хранить json во фри виде и делать еще выборки по нему
так что разницы нынче не так уж и много

Maksim
07.10.2018
12:42:21
мускуль научился в json?

knopkod4v
07.10.2018
12:48:09


Dmitry
07.10.2018
12:49:04

Sergey
07.10.2018
12:49:09

Maksim
07.10.2018
12:49:18

Sergey
07.10.2018
12:49:30

Google

Sergey
07.10.2018
12:49:52
ну мол мне казалось что колонки надо руками генерить

Maksim
07.10.2018
12:50:03

Dmitry
07.10.2018
12:50:50

Maksim
07.10.2018
12:51:11
надо будет почитать чё там наворотили, пасиб.

Dmitry
07.10.2018
12:51:18
ну и места жрет... хотя тут не разбирался

Maksim
07.10.2018
12:52:08
но пока юиды не подвезут, в сторону мускуля даже не посмотрю) к хорошему оч быстро привыкаешь)

knopkod4v
07.10.2018
12:52:13
у меня на работе тоже сплошной мускуль, даже если новые проекты пилятся - тоже на мускуле. "Чтобы не разводить зоопарк". Обычная человеческая инерция

Dmitry
07.10.2018
12:56:18
а, ну можно индекс на виртуальные генерируемые.. т.е. места не жрет...

Sergey
07.10.2018
12:56:29
+ функции типа uuid_to_bin
и обратно
и is_uuid
что тебе еще надо?)
+ киллер фича индексов постгри - CREATE INDEX ... WHERE some condition
которая некисло так оптимизирует всякие хитрые штуки

Dmitry
07.10.2018
12:58:54
зачем следить? генерируемые колонки - это выражение

Sergey
07.10.2018
12:59:25
прикольно, не видел такого
постгрес так не умеет)

Google

Dmitry
07.10.2018
13:00:05
https://dev.mysql.com/doc/refman/8.0/en/create-table-generated-columns.html
это в 8.0 завезли

Sergey
07.10.2018
13:00:36
вроде в 5.7 еще было (судя по доке)

Dmitry
07.10.2018
13:00:50
ну да, постгресу придется тригер вешать...
в 5.7 только в ndb вроде

Sergey
07.10.2018
13:01:16
таки да...
просто в постгрессе как бы вьюшки есть)
материализованные
потому как бы никогда не испытывал такой необходимости. Но выходит что на 8-ом мускуле вполне можно жить с json

Dmitry
07.10.2018
13:02:49
а может и в 5.7... нужно разобораться
ну да, можно... правда привется обращаться к колонкам, а не по выражениям

Sergey
07.10.2018
13:04:33

Dmitry
07.10.2018
13:06:25
да я просто подумал, что 5.7 только в ndb завезли...

Alex
07.10.2018
14:08:49

Urmat
07.10.2018
17:01:29
Вечер добрый господа разрабы. Никто не в курсе библиотеки, которая является мостом между разными форматами локалей. Чтобы можно было использовать примерно так:
$locale = Locale::getInstance('en-US');
$locale->shortened(); //en
$locale->full(); //en-US

Icewild
07.10.2018
17:25:35
explode(...)[0]; не?

Urmat
07.10.2018
17:37:35
explode(...)[0]; не?
Если так смотреть, то можно просто if else. А я хотел именно либу, со всем блекджеками и куртизанками

Petr
07.10.2018
18:52:16

Roman
07.10.2018
19:00:20
Только не забудь расширение установить :)

Urmat
08.10.2018
01:43:10

Dmitriy
08.10.2018
05:51:20
Хм, какая странная фигня. Хочу настроить 2 dbal подключения (пока клонировал одно и то же, но не суть)