Перейти к содержимому

Донат
На хостинг
ISK за переводы
до 75kk за 1000зн.
Хроники EVE
Сборник
Новичкам
Полезная информация
Фотография

PHP или ASP.NET MVC?

холивар PHP ASP MVC

  • Авторизуйтесь для ответа в теме
280 ответов в теме

#81
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng

Как же ты преподавал-то?

Я преподавал людям после 12-ого класса и тем, кто приходил учится с 0 или что-то знал, но совсем немного. Это были не курсы, а полноценная учебная программа, акредитованная, с соотвествующим набором предметов и преподавателей. 


  • 0

Сообщество FactorioMMO: Discord , Reddit


#82
Finder

Finder

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4034 сообщений
280
  • EVE Ingame:Netzari
  • Corp:[VISJE]
  • Client:Eng

Я погуглил.

Ты имеешь в виду, что есть какая-то принципиальная разница, обрабатывается запрос отдельным процессом или как-то иначе? Ок, согласимся с КО. Но что тут нового или неожиданного или тем более эксклюзивного для PHP?

 

К тому же это все равно не ответ на мой вопрос.


  • 0

#83
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng

Я погуглил.

Ты имеешь в виду, что есть какая-то принципиальная разница, обрабатывается запрос отдельным процессом или как-то иначе? Ок, согласимся с КО. Но что тут нового или неожиданного или тем более эксклюзивного для PHP?

 

К тому же это все равно не ответ на мой вопрос.

PHP как HTTP - полностью stateless. Проснулся, обработал, вайпнулся, уснул. Все остальные работают не так.


  • 0

Сообщество FactorioMMO: Discord , Reddit


#84
Finder

Finder

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4034 сообщений
280
  • EVE Ingame:Netzari
  • Corp:[VISJE]
  • Client:Eng

В PHP нет сессий, что-ли? Или нельзя запустить что-нибудь асинхронно через RPC?

Ну и для интереса посмотри на лайвсайкл в ASP.NET :)


  • 0

#85
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng

В PHP нет сессий, что-ли? Или нельзя запустить что-нибудь асинхронно через RPC?
Ну и для интереса посмотри на лайвсайкл в ASP.NET :)

Сессии это малая часть, хотя когда в игру вступает 2й сервак и более, всё становиться не так тривиально как кажется.

Там между запросами есть состояние, есть глобальные объекты, всё это дело можно кластеризовать чуть ли не штатно и.т.д. Вот от этого и пляшут.

Сообщение отредактировал Psihius: 06 December 2013 - 17:58

  • 0

Сообщество FactorioMMO: Discord , Reddit


#86
Finder

Finder

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4034 сообщений
280
  • EVE Ingame:Netzari
  • Corp:[VISJE]
  • Client:Eng

Если второй сервак, то сессия шарится через БД. Это исключительно вопрос настройки. А, да, объекты должны быть сериализуемые, офигеть как нетривиально...

Состояние между запросами.. ViewState, чтоль? Так в PHP это через hidden inputs делается точно так же, точнее делалось 12 лет назад. Сейчас хз, может быть уже и как-то автоматизировали.


  • 0

#87
Aurum_Gallente

Aurum_Gallente

    Clone Grade Ksi

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 11171 сообщений
1576
  • EVE Ingame:Aurum Gallente
  • Client:Eng

В чем проектирование приложения на PHP принципиально отличается от проектирования такого же на ASP.NET MVC? Сильно подозреваю, что все объяснение уместится в форумный пост.

наличием лицензий на ПО


  • 0
я всегда знаю, как надо лучше

#88
Prince Tawish

Prince Tawish

    Vae Victis

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4424 сообщений
196
  • Client:Eng

Я считаю, что без хотя-бы минимального Computer Science образования работать с С# и ему подобными будет ну крайне затруднительно, если тока у человека не талант к программированию и хорошие наставники. С PHP в этом плане сильно проще.
Даже мне, имея более-менее неплохое CS образование, многие вещи из мира C# слабо понятны, т.к. в PHP если они и есть, то работает это подругому. Те же traits в PHP далеко не такие, как в C#. И так куча всего - в C# гораздо сложнее тоже самое ООП, там есть некоторая функциональщина насколько мне известно, ну и.т.д. Очень много синтаксического сахара (имею мнение, что в многих современных языках его просто слишком много и вообще слишком много магии). К тому же нужно не забывать, что не все понимают теорию нормально. Я например много чего начитался о Patterns и продвинутом ООП. Но когда я сажусь писать код, я понимаю что я нифига не понял. Пока у меня не встала задача и я её не сделал, до меня просто тупо не доходит - всегда стоят вопросы "Нафига? Как? Зачем? Для чего такая сложность? Подарите мне план, который курил тот, кто это придумал!". Но когда мне выдаётся шанс сделать на практике на конкретной задаче, меня осеняет и у меня появляется кристальное понимание и ответы на все эти вопросы (вопрос насчёт того, где автор достал такую качественную дурь не всегда получает ответ :troll:).
Минус? В теоритической баталии о вещах, с которыми я не работал толком - сливаюсь. Зато когда теоретики начинают теоритизировать о том, с чем я работал - последнее слово всегда за мной :icon_twisted: Хорошо это или плохо? Я думаю что ни то, ни другое. В комманде мне обычно отводиться роль своего рода "overengineering" фильтра и генерации наиболее простых и эффективных решений :)

Поубивал бы подобных тебе. Каждый раз, когда выдают новый легаси код. За каждый сэкономленный паттерн и вставленный костыль. Технический долг есть технический долг.
Иногда смотря на простые и эффективные решения - возникает желание запустить обфускатор, в надежде на более читаемый код.
и с# это то, с чего надо начинать подготавливать коммерчески ориентированого программиста, студия не имеет аналогов и научит многим вещам без ущерба нервам и времени, причем незаметно для обучаемого. Естественно, используя хорошую книжку за авторством Шилдта, и предворительно ознакомившись с концепциями ооп из первоисточника - Буча, иначе можно получить мутанта -формошлепа.

ЗЫ когда ты увидишь простую и эффективную строчку вроде char*(*(*var)())[10,10] ты поймешь, что мое проклятие тебя нашло

Сообщение отредактировал Prince Tawish: 06 December 2013 - 18:29

  • 0
Изображение

#89
Aurum_Gallente

Aurum_Gallente

    Clone Grade Ksi

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 11171 сообщений
1576
  • EVE Ingame:Aurum Gallente
  • Client:Eng

Гы :) Ну в PHP с такими проектами вообще беда, потому что он не является класическим FastCGI сервером как приложения на фреймворках на Python и Ruby, где такие абстракции хоть и тоже излишни, но они не тормозят так сильно. А в PHP это всё с каждым запросом подымается, создаётся, инклюдится и в итоге проект просто тупо тормозит не потому, что там много слишком кода или база тупит, а потому что сама инициализация всего этого дела занимает много времени.

проблема не в торможении, проблема в паттерне головного мозга, когда человек изучил 3 главных слова и начинает ломать фреймверк наследуя контроллеры и модели от своих собственных абстрактных накручивая по 12 лишних классов только для того, чтобы в конечном классе писать на 3 строчки меньше или уродует изначально модульный фреймверк безвозвратным синтезом с библиотеками по генереции картинок и пдф, а сам пдф делается парсингом (!) статической html-страницы не закрывая соединения, в итоге сервер вешается после 2-3 генераций документа. Тормоза бывают как правило от незнания элементарный вещей, например о том, что не стоит в цикле for делать count по массиву или килотонной лишних запросов к бд, когда можно обойтись одним грамотным запросом с несколькими клаузами.


  • 0
я всегда знаю, как надо лучше

#90
Psihius

Psihius

    Clone Grade Lambda

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 3954 сообщений
911
  • EVE Ingame:psihius
  • EVE Alt:Loriel'a
  • Corp:Void Effect
  • Client:Eng

Поубивал бы подобных тебе. Каждый раз, когда выдают новый легаси код. За каждый сэкономленный паттерн и вставленный костыль. Технический долг есть технический долг.
Иногда смотря на простые и эффективные решения - возникает желание запустить обфускатор, в надежде на более читаемый код.
и с# это то, с чего надо начинать подготавливать коммерчески ориентированого программиста, студия не имеет аналогов и научит многим вещам без ущерба нервам и времени, причем незаметно для обучаемого. Естественно, используя хорошую книжку за авторством Шилдта, и предворительно ознакомившись с концепциями ооп из первоисточника - Буча, иначе можно получить мутанта -формошлепа.

ЗЫ когда ты увидишь простую и эффективную строчку вроде char*(*(*var)())[10,10] ты поймешь, что мое проклятие тебя нашло

Странное у тебя понятие об эффективности... Я к тому, что switch из 3х условий не нужно заменять целым паттерном с сервисом и прочими плюшками. Особенно если добавление еще хотя бы одного условия в будущем призрачна... (я не говорю о случаях, когда от этого условия зависит килотонна другого кода, которая вызывается, а о более приземлённых случаях).

И в строгих языках много что оправдана, чего в пхп делать не стоит и наоборот.

Сообщение отредактировал Psihius: 06 December 2013 - 19:21

  • 0

Сообщество FactorioMMO: Discord , Reddit


#91
doommer

doommer

    iddqd

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 9888 сообщений
1276
  • EVE Ingame:doommer
  • DUST Ingame:doommer
  • Client:Рус

Если второй сервак, то сессия шарится через БД....

 

мемкеш ж!


  • 0

#92
Prince Tawish

Prince Tawish

    Vae Victis

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4424 сообщений
196
  • Client:Eng

Странное у тебя понятие об эффективности... Я к тому, что switch из 3х условий не нужно заменять целым паттерном с сервисом и прочими плюшками. Особенно если добавление еще хотя бы одного условия в будущем призрачна... (я не говорю о случаях, когда от этого условия зависит килотонна другого кода, которая вызывается, а о более приземлённых случаях).

И в строгих языках много что оправдана, чего в пхп делать не стоит и наоборот.

я знаю десятки проектов, которые умерли из-за того, что писалось как по-проще, без осознания технического долга, потому что думали что именно их случай приземленный. Надо просто разделять интерации - сначала делаем mvp действительно быстро и максимально экономно, а потом пишем заново нормально, уже с поддержкой инвестора\займа.
чтобы конкретно, был однажды хороший блокнот, notepad++, хорошая штука вроде vim или emacs. Со временем когда настала пора расти, использовать идеи комьюнити, багфиксить, в ядре начали обнаруживатся функции по 1900(!!!!!!!!) строк, в итоге все забили, потому что ажиотаж спал а переписывать поздно, всем насрать.
  • 0
Изображение

#93
doommer

doommer

    iddqd

  • Tech III Pilots
  • PipPipPipPipPipPipPipPip
  • 9888 сообщений
1276
  • EVE Ingame:doommer
  • DUST Ingame:doommer
  • Client:Рус

Не знаю что сравниться по скорости и затратам на разработку против такой вот связки:

 

php 5.4 > 

yii 1.1.14

mysql 5.5.32 

+memcached (сессии, view, запросы, вообще все что "просидает" под большой нагрузкой)

хорошо настроенный nginx 

ну и если надо полноткестовой поиск по миллионам записям делать, прикручиваем к этому всему еще и sphinx 

 

Если я уж перейду с этого то уже в сторону  node.js + SPA + noSQL, хотя с большим объемом данных могут быть проблемы.

 

 

и да, на PHP можно писать по разному, это уже вопрос в выборе разработчика, руководителя и так далее.

 

Могу дать пару советов, используете === вместо == (!==, !=), разрабатываете на уровне notics, читайте внимательней документацию, используете ООП в полном объеме, и не делайте методы\функции более 30 строк ) 

 

p.s. само собой багтрекер\ git + hooks -> phpcs (стандарт фреймворка) и нормальная организация работ.



Хоть одну книжку по PHP видел? Написанное там приходиться из народа выбивать битой и учить заного от и до...

Книжки не покрывают базовые знания по программированию, не показывают как делать можно, а как нельзя. Почти все они устарели на много лет и уж темболее они не дают ни малейшего понятия о фреймворках, MVC и вагоне других мелочей. А актуальные книги по фреймворкам расчитаны на тех, кто сам PHP знает.

 

Поверь мне, я 2 года учил людей в школе веб технологий в качестве преподавателя - это только так кажется, что PHP легко учится. А когда сталкиваешь с обучением людей, оказывается что 70% того, чего ты им учишь, им даже прочитать толком негде. Даже те, кто вроде бы что-то делали уже и имеют какой-никакой опыт, имеют такую кашу в голове, что там требуется немалые усилия, что бы привести всё в порядок - это сложнее чем научить человека с 0 (при условии, что он восприимчив к обучению конечно, а то бывают такая толстолобы...)

 

учить надо было не PHP, а логическому мышлению и инженерному подходу) и общим представлениям, шо там за сервер, что такое БД, протоколы там, дом, структуры данных.  

 

Потому что учи не учи, а все ровно получишь google + php.net + stackoverflow.com 

 

адд. Извините не удержался:

"Поверь мне, я 2 года учил людей в школе веб технологий в качестве преподавателя..."

День рождения:Июнь 15, 1986

 

Учитель бляя....  :facepalm:  :facepalm:  :facepalm:  :facepalm:  :facepalm:  :facepalm:  :facepalm:


Сообщение отредактировал doommer: 06 December 2013 - 20:10

  • 0

#94
glkudr

glkudr

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 3708 сообщений
714
  • EVE Ingame:GlKudr
  • Corp:Space Cleaners
  • Ally:exBSoD
  • Client:Eng

 Тормоза бывают как правило от незнания элементарный вещей, например о том, что не стоит в цикле for делать count по массиву 

 

О да. Или List.Contains(element). Сам, помнится, разбираясь в причинах тормозов одного простейшего метода, открыл для себя удивительный мир хэштаблиц и прочих структур данных :) Т.к. внезапно оказалась важность индексирования и прочих сугубо ненужных вещей :troll:  

Про БД вообще молчу. 
 

Странное у тебя понятие об эффективности... Я к тому, что switch из 3х условий 

 

Я лично считаю, что за свитч по не декларированным текстовым строкам нужно убивать четвертованием. Потому что потом решишь добавить еще одно значение, тут поменяешь, там забудешь - и понеслась.

 

Вообще, для рефакторинга сам применяю правило третьего раза. Если встречается нечто, то первый раз кодим тупо, второй раз копипаста, третий раз - делаем нормальный обобщенный вариант (и не забываем оба первых привести к нему же).

Пока не подводило. 


Сообщение отредактировал glkudr: 06 December 2013 - 20:20

  • 0

#95
Tir

Tir

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 18272 сообщений
2763

На мой непрофессиональный взгляд, это вопрос уже тестинга программы, на котором экономят. Хороший тестировщик - хрен его найдешь, даже 1С экономит на них, собирает отзывы у разгневанных клиентов, и испрравляет, на западе, давно бы 1С обонкротилась от исков судебных.

Какой фреймворк на западе используется, он не знает, зато что стало бы там с 1С, и как там дела с тестированием обстоят, он в курсе, да :facepalm: Носитель светлой идеи "не знаю чо-как, но на западе полюбому лучше", епть :facepalm:

Если ASP.NET ещё как-то был изначально задуман для WEB и вобщем-то там даже вроде более-менее удобно, то с Java всё сложнее и если нет явной необходимости (банковский софт какой-нить или требования бизнеса) или установки от клиента "Java!" - оно того не стоит. Нужны люди с большими зарплатами и времени займёт не мало.

 

Ну я надеюсь все понимают, что если выбор стоит перед Java программистом, то заставлять юзать что-то отличное от Java просто глупо :)

А для чего Java EE задуман, если не для веба? :blink:


  • 0

#96
Aurum_Gallente

Aurum_Gallente

    Clone Grade Ksi

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPip
  • 11171 сообщений
1576
  • EVE Ingame:Aurum Gallente
  • Client:Eng

смею заметить, что чемоданить 1С или Битрикс в этом треде чревато последствиями для твоего процессора..


  • 0
я всегда знаю, как надо лучше

#97
Tir

Tir

    Clone Grade Omicron

  • Tech III Pilots
  • PipPipPipPipPipPipPipPipPipPip
  • 18272 сообщений
2763

смею заметить, что чемоданить 1С или Битрикс в этом треде чревато последствиями для твоего процессора..

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


  • 0

#98
Prince Tawish

Prince Tawish

    Vae Victis

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4424 сообщений
196
  • Client:Eng

Какой фреймворк на западе используется, он не знает, зато что стало бы там с 1С, и как там дела с тестированием обстоят, он в курсе, да :facepalm: Носитель светлой идеи "не знаю чо-как, но на западе полюбому лучше", епть :facepalm:
А для чего Java EE задуман, если не для веба? :blink:

Ява не то чтобы задумана, но лучше пока нет, более того она дешевая.
Просто если ты хочешь разрабатывать легально на дотнете тебе придется забашлять за все, начиная от студии кончая MySQL сервером, что очень накладно и геморно.

Какой фреймворк на западе используется, он не знает, зато что стало бы там с 1С, и как там дела с тестированием обстоят, он в курсе, да :facepalm: Носитель светлой идеи "не знаю чо-как, но на западе полюбому лучше", епть :facepalm:
А для чего Java EE задуман, если не для веба? :blink:

1С это экосистема, к которой пользователи привязаны пуповиной.
это не делает ее менее уродливой, говенной, (тут еще несколько абсценентных эпитетов), системой. Если ты сидишь в тюрьме под названием СНГ, то будешь хлебать баланду, какая есть. А есть 1с. И все.

Сообщение отредактировал Prince Tawish: 06 December 2013 - 21:23

  • 0
Изображение

#99
glkudr

glkudr

    Clone Grade Kappa

  • Tech III Pilots
  • PipPipPipPipPip
  • 3708 сообщений
714
  • EVE Ingame:GlKudr
  • Corp:Space Cleaners
  • Ally:exBSoD
  • Client:Eng

Ява не то чтобы задумана, но лучше пока нет, более того она дешевая.
Просто если ты хочешь разрабатывать легально на дотнете тебе придется забашлять за все, начиная от студии кончая MySQL сервером, что очень накладно и геморно.

 

Я делал сервис на .net + postgres. Нормально. 


  • 0

#100
Prince Tawish

Prince Tawish

    Vae Victis

  • Tech III Pilots
  • PipPipPipPipPipPip
  • 4424 сообщений
196
  • Client:Eng

Я делал сервис на .net + postgres. Нормально.

Ты лично? Или контора на которую ты работаешь?
Со стартапами все сложнее.
  • 0
Изображение




1 посетителей читают тему

0 members, 1 guests, 0 anonymous users