1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Профессиональные ресурсы разработчиков PHP. Есть ли такие?

Тема в разделе "OFF-топик", создана пользователем Yoskaldyr, 31.07.2012.

Загрузка
  1. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 162
    Версия XF:
    1.0.4
    Потратил последнюю неделю довольно много времени на поиск нормального форума разработчиков PHP. И каково было разочарование что таких просто нет (может конечно и есть но поиск не дал результатов).
    И все обусловлено тем что пхп уж очень распространен и все популярные пхп ресурсы - это место общения быдло-[ой]-кодеров, где зачастую идет пропаганда govnocode style :(

    Поэтому вопрос, к разработчикам для ксенфоро - знаете хоть один вменяемый ресурс на русском по пхп?
     
  2. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 603
    Симпатии:
    1 654
    Версия XF:
    1.5.10
    Могу вот такой ресурс посоветовать: http://www.phptherightway.com/
    А для вопросов всегда можно воспользоваться http://stackowerflow.com/

    На русском нет ничего, кроме хабра, остальные ресурсы, как уже было сказано,- для говнокодеров. Так что без знаний английского php будет весьма трудно научиться.
     
  3. maus

    maus Местный

    Регистрация:
    27.03.12
    Сообщения:
    187
    Симпатии:
    128
    phpclub.ru? или pyha.ru
     
  4. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 162
    Версия XF:
    1.0.4
    Если первый еще куда ни шло (хотя специлистов там реально мало)
    2-й вообще школота даже в администрации (модераторы и т.п.)
    И школота - это не возраст, а стиль общения и поведения на форуме.

    Так проблема не научиться. Выучил уже давно :))
    Проблема развиваться дальше - а это интересные задачи для решения, обсуждение различных специфических проблем и технологий, а не как получить данные из базы и отобразить их на страничке...
    И конечно же - это общение с умными и образованными людьми, а не с пацанчегами с раёна, у которых через слово мат.

    Насчет phpclub-а.
    Недавно зарегался. Полистал форум. Подумал, блин какие же там золотые люди - не надоедает отвечать на 100500 одних и тех же тупейших вопросов. А потом понял - что просто на другие вопросы в большинстве случаев и ответить не смогут, т.к. основной уровень - классический говнобыдлокодер. А т.к. большинство ответов соответствуют знаниям отвечающих, то и новички воспитываются такими же :(

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

    А к чему это я все начал насчет пхпклаба. Решил задать вопрос, который требует хоть каких-то знаний от отвечающих, и то только для собственного саморазвития, т.к. вопрос у меня уже был давно решен и работает без каких-либо проблем, но хотелось узнать есть ли какие либо другие решения. Вот тема:
    Пагинация и производительность LIMIT на больших списках

    Не знаю, может я сильно завелся в том топике, но всетаки задавая вопрос как мне казалось на профессиональном форуме разработчиков, хотелось услышать профессиональный ответ. А не "это нафик никому не надо" и "я с редисом не работал, но все равно уверен, что это аналог мемкеша". Извините, но уже полный писец.
     
  5. infis

    infis Местный Команда форума

    Регистрация:
    27.06.11
    Сообщения:
    5 835
    Симпатии:
    3 481
    Версия XF:
    1.5.9
    Просто навскидку (чисто теоретически). Если речь идет о каких-то определенных блоках данных, то, возможно, есть смысл хранить эти данные поблочно? Таким образом, мы сократим объем перебираемых записей в десятки раз. По сути это будет аналог индекса, но там будет фигурировать номер страницы в качестве минимального блока.
    Некоторым образом созвучно создание и использование индекса NTX (для Clipper). Я как-то реализовывал чтение данных с учетом индекса на QuickBasic, не используя сторонних библиотек (т.е. в буквальном смысле считывал двоичные данные индекса и обрабатывал их). Получалось вполне шустро. Суть индекса - блоки. Т.е. внутри блока данные упорядочены, а в самом блоке имеется ссылка на следующий блок. Чтение данные в любую сторону, насколько я помню, делалось просто: брался либо первый блок, либо последний, ну и т.д.
    Таким образом, можно либо сделать промежуточную таблицу с такими блоками и обновлять ее, либо хранить в таблице поле с номером страницы и обновлять это поле. В общем как-то так.
    Основная сложность - постоянное изменение данных, влияющих на сортировку. С другой стороны, можно прикинуть, насколько сильно может может быть изменение таких данных (т.е. насколько может "убежать" позиция в рейтинге), и учитывать это при формировании блоков.

    Пишу это довольно сумбурно. В общих чертах себе представляю, как это должно работать, но четко расписать сразу не смогу.

    Но у этого решения есть один существенный плюс. Практически постоянное время выполнения такого запроса (серии запросов). Будет не очень быстрый, но и не откровенно медленный вариант. Может быть это и есть "золотая середина" :)

    P.S. Если это бред, то это первое, что взбрело в голову. Может, я сильно заблуждаюсь в направлении поиска...
     
  6. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 162
    Версия XF:
    1.0.4
    Да я не имел ввиду что надо обсуждать этот вопрос здесь, просто немного был в шоке от такой неадекватности на как мне казалось профессиональном форуме. После такого считаю что коммьюнити здесь у нас в разы квалифицированнее и адекватнее, хоть тоже очень много новичков
    И кстати совсем не бред - вариант подойдет для некоторых вариантов. Да логика приложения усложнится значительно, но работать будет быстрее чем в 1 таблице, т.к. информация об общем количестве записей в таблице извлекается моментально (т.к. хранится отдельно). Кстати неплохой велосипед когда надо сделать все чисто на mysql :)
     
  7. maus

    maus Местный

    Регистрация:
    27.03.12
    Сообщения:
    187
    Симпатии:
    128
    Да вариантов решения море. Если важна возможность перехода на произвольную страницу и точность этого перехода - просто напрашивается предварительный отбор по предикату и далее видоизмененный n-ичный поиск по id, дающий искомое значение за логарифмическое время (так можно за доли секунды искать по диапазону значений на терабайтных базах). Но вот красивого решения не получится, так как весь смысл СУБД в том, чтобы она сама искала оптимальное решение. С любым языком так - я уже много ЯП забраковал просто потому что не могу ими даже на типовых задачах выразить оптимальные решения.

    Ну а про про ваш опыт с phpclub: а что вы, собственно, хотите? Точного решения никто не знает, вам накидали приблизительных, а потом просто разбились в вашей теме на клубы по интересам и перестали обращать на вас внимание :) Ну да, школота. Можете зайти на форум dklab - там одно время анальная модерация была, прямо соответственно хотелкам их мудака-основателя, всех пытались забрить под "профессионалов". Всем прививали вежливость и использование реальных имен. В результате там уже который год ничего не происходит, форум даже после некоторой оттепели стал похож на застоявшееся болото.
     
    Yoskaldyr нравится это.
  8. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 162
    Версия XF:
    1.0.4
    Ладно, я уже понял что ориентироваться на рунет нет смысла :)
    И теперь понимаю почему так негативно относятся пхп-кодерам, программисты на других языках.
    Не спорю, что есть и другие языки, где подобная ситуация с сообществом, но все-таки пыхыписты уж очень выделяются из общей массы и совсем не в лучшую сторону :(
    И на каком сейчас остановились если не секрет?
     
    Desperado нравится это.
  9. Desperado

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    Относительная "простота" языка - вот и все причины.

    p.s. и сам, наверное, из числа "быдло-[ой]-кодеров", но есть 1 маленькое "но": постоянно идём вперёд.
    Весь минус в том, что чтобы чему-либо научиться, нужна либо работа с постоянными нетипичными задачами, либо маленький опен сорс проект "для себя" (с аналогичными задачами. Но как показала практика - работа всё же лучше. Там отмахнуться не выйдет :) ). Который можно без зазрений совести месяц писать в свободное время, проснуться, глянуть и с воплями "да ну нафиг, как я мог такое сделать" всё удалить.
    А вот те, кого вы столь любезно назвали школотой, просто мусолят изо дня в день 1 и тот же вопрос... ну и результат на лице.

    В своё время искал адекватный форум, посвящённый ZF, но ничего так и не нашёл... Искать форумы, ориентированные на PHP как таковой, перестал уже давно... Ибо там только тупеют.
    Остановился на http://stackowerflow.com/

    Не хочу поднимать полемику - помнится, она уже была на данном форуме, но на хабре по PHP адекватного материала хорошо если 1-2 статьи раз в пол года.
     
    maus и Yoskaldyr нравится это.
  10. maus

    maus Местный

    Регистрация:
    27.03.12
    Сообщения:
    187
    Симпатии:
    128
    Я бы сказал, что не простота, а узость задач. Паралеллизм, структуры данных, алгоритмы - все это проходит мимо. В модели запрос-ответ сложно придумать что-то новое - как ни старайся, получится все равно "фронт-контроллер->роутер->контроллер->модель+представление".
    При этом тот же Гугл дает сотрудникам время на личные проекты. Оттуда появился и gmail, и, насколько я помню, chrome. Значит, даже работа в Гугле недостаточно творческая для развития :) Плюс ещё один момент: на работе развиваются не навыки, а профессионализм - способность довести дело до конца несмотря ни на что. Новые же технологии при работе "на дядю" пощупать не удастся.
    Сейчас я всерьез рассчитываю только на Go: он прост, в нем достаточно хорошая стандартная библиотека, удачная реализация ООП и непревзойденная реализация многопоточности. Для моих нынешних задач - высокоскоростных бэкэндов для веб-сайтов - он подходит идеально.
    Мне очень нравился язык d - в него вошли самые передовые, развитые в течение последних пяти лет, идеи из c++ (range вместо итераторов и метапрограммы) - но у него очень маленькое сообщество, не самый лучший компилятор, две взаимоисключающие стандартные библиотеки и куда менее эффективная многопоточность, чем в Go (не буду врать, для меня только последнее важно).
    Бросил я и Python, третья версия его просто убила: половину библиотек теперь нельзя использовать из-за проблем с совместимостью, да ещё из-за перехода на Юникод выплывает куча ошибок.
    Для меня сейчас есть terra incognita - функциональные языки. Тот же Erlang я пробовал, он 100% бесполезный хлам, а вот к Scala и Haskell я обязательно присмотрюсь, как время будет.
     
    Yoskaldyr нравится это.
  11. CyberAP

    CyberAP Местный

    Регистрация:
    05.10.10
    Сообщения:
    2 603
    Симпатии:
    1 654
    Версия XF:
    1.5.10
    А как же модный нынче Ruby on Rails?
     
  12. Yoskaldyr

    Yoskaldyr Пользователь

    Регистрация:
    27.09.10
    Сообщения:
    1 921
    Симпатии:
    1 162
    Версия XF:
    1.0.4
    go, действительно неплох. Но мне пока что таких задач не стояло. Радует то что у него очень неплохое и активное коммьюнити и уже есть много готовых и стабильных наработок. Но мне такой самолет пока что не нужен.
    В большинстве случаев надо разгрузить какой-то конкретный участок кода/запросов на сайт, а не переписывать все приложение. Вот здесь мне очень хорошо подходит lua - быстр, асинхронен и не блокируем почти ничего не ест по памяти (если говорить об openresty реализации).

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

    Desperado Местный

    Регистрация:
    23.10.10
    Сообщения:
    270
    Симпатии:
    98
    Версия XF:
    1.1.3
    А это уж как с "дядей" повезёт :)
    Ну и личная инициатива, безусловно.

    Например, я не особо часто занят целый день (пока менеджеры лицами пощёлкают и т.д.), "дядя" неприменно подкидывал пару интересных задач как раз для преодоления новых высот.
    И он доволен, что я при деле (по сути, инвестиции), и мне в радость.

    Почему "подкидывал" - переезжаю на пмж в РФ... с "дядей" пришлось попрощаться, но будем надеяться, что в новой компании тоже будут заинтересованные лица. Что вообщем-то довольно логично, но увы не всегда работает...
    На первом месте говнокодил всякую чушь для cms и все были счастливы. "Кодить научился, но о программировании ничего не знает - ну и пофиг. Справляется и норм..." Вот отсюда "быдло-[ой]-кодеры" и рождаются... Благо сбежал вовремя.
     

Поделиться этой страницей