@phpclubru

Страница 33 из 956
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
Нельзя ей сказать "смотри в схемы, a,b,c а в схемы d e f не смотри"
Вот аргументированная проблема. Совершенно стандартный кейс.

Схемы в постгресе используются для логического разделения пространств таблиц.

Как это на ылоквенте реализовать, например?

Хотя, там вообще есть генератор сущностей по структуре БД ?

Иван
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
дурной что-ли

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 полностью ?
Павел, заказчик не совсем полностью понимает объем работы. Все зависит от объема :) могу вас свести, обсудите все. Он полностью открыт к диалогу :)

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

dypa
22.11.2016
12:17:06
Надо форсить скорее асинки в пхп ? И вытеснять ноду
в 1 процесс особо много не обработаешь :)

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

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

dypa
22.11.2016
12:19:11
ШТА. Как же у ноды получается ?
так же хреново как и у ratchet ;)

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

Pavel
22.11.2016
12:20:58
так же хреново как и у ratchet ;)
"Хреново" это как? Ошибки, потери коннектов, нагрузонеустойчивость?

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
Нативно это вообще - не прибегая к сторонним библиотекам
мне вот интересно, какие языки умеют треды не прибегая к pthreads

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

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?

Страница 33 из 956