
Pavel
22.11.2016
09:49:12
Так в том и дело что я 2 года копался в этом говнеце, залезая в самые глубочайшие кишки )
Изначально я к доктрине относился нормально, но после двух лет такого копания и выстрелов себе в ногу мое мнение было подорвано. Не очень хороший инструмент.
Хотя если далеко не ходить за рамки CRUD, то да, неплохо и где-то даже удобно.

Иван
22.11.2016
10:03:31
Я с доктриной не работал.
Я знаком с AR и Eloquent . И оба они облегчают работу с бд.

Google

Иван
22.11.2016
10:03:52
На элоквенте писал сложные запросы, все работает адекватно

Pavel
22.11.2016
10:04:55
элоквент по сравнению с доктриной это детский смех
Хотя, это суждение не подкреплено практикой. Но если предположить что элоквент это аналог AR из yii2, тогда да.
У AR yii2 из-за ее примитивности гораздо меньше завязка на структуру базы, и можно все эти проблемы, что я привел выше, решить легко.

Иван
22.11.2016
10:06:59
Выше я не увидел аргументированных проблем. Только сообщения про выстрелы в ноги.
Может, не заметил, перешлите, если не трудно.

Pavel
22.11.2016
10:07:22
Схемы в постгресе используются для логического разделения пространств таблиц.
Как это на ылоквенте реализовать, например?
Хотя, там вообще есть генератор сущностей по структуре БД ?

Иван
22.11.2016
10:09:37
есть
насчет схемы не знаю

Pavel
22.11.2016
10:10:48
Ну вот, самое интересное мясо начинается в тех местах где мало кто в пхп работает :)

Google

Иван
22.11.2016
10:13:00
https://github.com/pacuna/Laravel-PGSchema

Pavel
22.11.2016
10:16:05
неплохо. А если таблицу из одной схемы в другую перенести, то он поймает такую операцию на diff, как думаешь? ;)

Иван
22.11.2016
10:17:06
Я не знаю. Я просто нагуглил эту библиотеку.
Такой вопрос. А в постгри можно кинуть связь к таблице в другой схеме?
Ну т.е. вы писали, что используете схемы постгри для логического деления базы.

Pavel
22.11.2016
10:18:38
да можно
в рамках БД между схемами можно делать FK и все работает транзакционно.

Иван
22.11.2016
10:19:09
Хм...
Я взял постгри для проекта на работе.
Возьму эту фичу на вооружение

Pavel
22.11.2016
10:19:36
Да постгря полна фееричных фич об которых доктрина ломается
materialized view например


Иван
22.11.2016
10:22:03
Ну тут стоит отметить просто, что подавляющее большинство веб разработчиков не работает с мат вьюхами.
ОРМ создана чтобы упростить работу над подавляющим задач веб разработки.
Если вы работаете с мат вью в постгри и в целом с большой и тяжелой БД, то, возможно, не стоило выбирать PHP как ЯП.
И потом жаловаться что либо он, либо его инструменты не умеют делать то, что вам надо.
Таким образом вы стреляете себе в ногу не доктриной вовсе, а выбором PHP
Пример, на собственном опыте:
Я пишу соап сервис, там использутся ws-security шифрование.
В стандартном классе пхп по соап нет этой поддержки.
Есть сторонние либы, которые не работают или работают не так, как мне надо. (я использую ssl сертификаты).
Я месяц бился с ws-security, т.к. руководитель на старте проекта настоял использовать пхп.
В итоге для осуществления шифрованных запросов мы решили отойти от пхп и подыскать другие ЯП для этой задачи.
Первый запрос в гугл 'soap nodejs' показал очень обширный модуль по соап с поддержкой всех видом шифрования.
Месяц в пустую и нервы, потраченные на отчеты и объяснения почему нет прогресса.
Тоже выстрел в ногу.


Grigori
22.11.2016
10:49:00
может кто-нибудь трейсроут сделать на 178.79.176.90 ?

dypa
22.11.2016
11:01:59
может кто-нибудь трейсроут сделать на 178.79.176.90 ?
на vps не дали денег?
root@vps:~# traceroute 178.79.176.90
traceroute to 178.79.176.90 (178.79.176.90), 30 hops max, 60 byte packets
1 xxx (xxx) 0.466 ms 0.465 ms 0.519 ms
2 xxx (xxx) 0.367 ms 0.369 ms 0.349 ms
3 ge112.RT.MRN.SPB.RU.retn.net (185.22.183.228) 0.432 ms 0.419 ms 0.394 ms
4 ae3-8.RT.TC2.AMS.NL.retn.net (87.245.234.86) 33.425 ms 33.424 ms 34.453 ms
5 * * *
6 109.74.207.3 (109.74.207.3) 39.703 ms 109.74.207.11 (109.74.207.11) 39.683 ms 109.74.207.3 (109.74.207.3) 39.969 ms
7 * * *
8 * * *
9 * * *

Grigori
22.11.2016
11:02:41
дурной что-ли

Constantine
22.11.2016
11:35:03

Google

Constantine
22.11.2016
11:35:11

Pavel
22.11.2016
12:04:43
а свифт вообще может выбраться за пределы экосистемы apple ?
Или как с# останется
Надо форсить скорее асинки в пхп ? И вытеснять ноду

Roman
22.11.2016
12:10:59
Всем привет!
Ребята, ищу человека с опытом PHP и LAMP на удаленный проект, связанный с платформой Moodle. Если кому интересно, напишите мне) сам проект в Алматы, однако местоположение разработчика роли не играет.

Pavel
22.11.2016
12:11:37
Это fulltime полностью ?

Иван
22.11.2016
12:13:05
я хоть и являюсь поклонником ноды немного чувствую обиду за пхп.
Надо форсить скорее асинки в пхп ? И вытеснять ноду
вообще, то, что js делает в веб коммьюнити не может не радовать. если раньше над вебом смеялись и считали его не серьзным, то теперь все немного иначе ?

Roman
22.11.2016
12:14:44
Это fulltime полностью ?
Павел, заказчик не совсем полностью понимает объем работы. Все зависит от объема :) могу вас свести, обсудите все. Он полностью открыт к диалогу :)

Pavel
22.11.2016
12:15:43

Roman
22.11.2016
12:15:52
Ок) понял, спасибо

dypa
22.11.2016
12:17:06

Pavel
22.11.2016
12:18:35
ШТА. Как же у ноды получается ?

Иван
22.11.2016
12:19:06
Что получается?

dypa
22.11.2016
12:19:11

Иван
22.11.2016
12:19:59
о чем вы? попробуйте сделать реалтайм сервис без дерганья сервера аяксом каждые 5 секунд на пхп

Pavel
22.11.2016
12:20:58

dypa
22.11.2016
12:21:53
хреново это когда любая числодробилка лочит процесс :)
и вся асинхронность идет в глубокий овраг

Google

Pavel
22.11.2016
12:22:37
Так это известная особенность, ну и что
в IO задачах не нужны числодробилки, их надо выносить в отдельный процесс

dypa
22.11.2016
12:23:13
как доктрину хейтить - так норм, а как ноду - так "это особенность" =)

Pavel
22.11.2016
12:23:57
Это не особенность ноды вообще, а известное свойство асинхронного подхода вообще
Коророе на каждом углу всем объясняют
Для этого в пхп как раз придумали экспериментальное расширение для работы с тредами

Dmitry
22.11.2016
12:26:17
Совсем не обязательно треды, часто просто нескольких процессов хватает

Pavel
22.11.2016
12:27:02
С процессами уже все хорошо

Aleserche
22.11.2016
12:27:39
если нужны треды, то лучше микросервис запилить на яп, который нативно умеет треды

Pavel
22.11.2016
12:28:24
Впринципе да
Но так мы и договоримся до того что ПХП не нужен

Dmitry
22.11.2016
12:28:48
а что такое "нативно"?

Aleserche
22.11.2016
12:28:50
не обязательно
можно через очереди распараллеливать, но это тоже процессы

Pavel
22.11.2016
12:30:12
А можно же ведь на си написать расширение к пхп, которое будет нативно работать в тредах ? Вроде не вижу препятствий

Dmitry
22.11.2016
12:30:33
т.е. ты сейчас говоришь об уровне входа, да?
ну, типа, вебкасты посмотреть, где скажут куда тыкать? ;)

Иван
22.11.2016
12:31:42
Нативно это вообще - не прибегая к сторонним библиотекам
функционал ЯП, документированный оф докой

Google

Pavel
22.11.2016
12:32:01
Ну вот в пхп есть нативные треды, но этого расширения нету еще в деб пакетах даже, надо самому компилировать. (инфа полугодовой давности)

Dmitry
22.11.2016
12:32:21

Иван
22.11.2016
12:33:05
когда говорят "написано на нативном js(php, etc.)" означает, что задействованы только встроенные возможности языка

dypa
22.11.2016
12:34:14

Dmitry
22.11.2016
12:34:14
Нет, подразумевают, что ты не используешь фреймворки, но это на самом деле не устоявшеесе сочетание

Иван
22.11.2016
12:35:45
чем отличается "не используешь фреймворки" от "задействованы только встроенные возможности языка"
Нет, подразумевают, что ты не используешь фреймворки, но это на самом деле не устоявшеесе сочетание

Dmitry
22.11.2016
12:36:07
тем, что фреймворк использует встроенные возможности языка

Pavel
22.11.2016
12:37:58
а в golang по-моему вообще тредов нету
Там воркер каждый в своем процессе живет

Иван
22.11.2016
12:38:21
хм окей, вот тебе пример:
в ангуляре 2 есть свойство [hidden] которое отвечает за показ\скрытие элемента.
на нативном js ты бы написал функцию, которая бы отвечала за скрытие\показ элемента и написал бы атрибут в html верстке на событие.
ангуляр тебе позволил это все не делать.
вот разница в нативном и не нативном подходе

Dmitry
22.11.2016
12:39:20
и что? ангуляр использовал для этого не встроенные возможности JS?

Иван
22.11.2016
12:39:36
причем тут ангуляр. Ты использовал не встроенные возможности.
любая либа использует встроенные возможности языка
и фреймворки тоже
но ТЫ юзаешь ангуляр
а не нативный js

Dmitry
22.11.2016
12:40:23
т.е. если я напишу function hidden() {} - который проделает все сказанное, и буду вызывать hidden() - я перестану использовать нативный js?