KPHP от ВКонтакте / Habr
Буквально несколько минут назад Павел Дуров на своей странице ВКонтакте представил новый вариант PHP, названный KPHP.Слово автору:
В конце мая, перед началом сезона отпусков, суточная посещаемость ВКонтакте достигла очередного рекорда — почти 50 млн. пользователей. Именно тогда мы завершили перевод всего кода ВКонтакте на компилируемый язык программирования, который разрабатывали более года, — KPHP. В результате практически все страницы сайта стали грузиться более чем 2 раза быстрее.
На изображениях видно среднее время создания страниц нашими серверами до и после их перевода с PHP на KPHP. KPHP поддерживает большинство стандартов обычного PHP, но работает значительно быстрее и предоставляет дополнительные возможности оптимизации.Позже мы предоставим код KPHP в открытый доступ для всех разработчиков мира.
Я попросил Павла дать чуть более развёрнутый комментарий и вот что он ответил:
На всех тестах было неудобно за PHP HipHop (похожая технология от FB). Либо Facebook дал в общий доступ сильно испорченную версию, либо мы разработали нечто принципиально лучшее. Это касается не только скорости работы скомпилированного кода, но, в первую очередь, скорости компиляции.Если там на некоторых тестах можно ждать окончания компиляции полчаса, то у нас весь код ВКонтакте компилируется распределённо меньше, чем за минуту.
Плюс, там есть дополнительные встроенные возможности оптимизации. Создавался чемпионами ACM. Из минусов — поддерживается не весь синтаксис PHP, а только то подмножество, которое мы использовали в ВК. Скажем, там сильно ограничено все, что связано с ООП.
В ближайшее время ожидаются более детальные подробности, stay in touch, Хабрахабр.
habr.com
РHP — язык, на котором работают сервера Вконтакте и Фейсбука
Современный PHP — это давно уже не просто язык для создания динамически обновляемых страничек и небольших сайтов. Сегодня это полноценный инструмент написания и разработки северных приложений. Его популярность в веб-среде, простота освоения и широчайший арсенал инструментов, фреймфорков позволяет даже начинающему разработчику создавать весьма серьезные проекты. Однако, в среде «серьезных» программистов отношение к нему нелестное. О том, что же такое современный PHP, как создаются настоящие серверные приложения, и как стать профи, мы поговорим с преподавателем курса PHP Дмитрием Наседкиным.
Расскажите немного о себе. Как и почему вы выбрали PHP?
Случайно. Во время учебы на 3-4 курсах я начал искать работу. Поиск шел тяжело, я уже даже отчаялся что-то найти, но тут на мое резюме пришел отклик из веб-студии, которой требовался junior PHP-программист. Мне дали задание, над которым я прокорпел все выходные, даже чуть больше. Надо сразу оговориться, что к тому моменту с PHP я сталкивался только на лабораторных работах в ВУЗе. Однако высланный мной результат работодателя устроил — меня приняли. В итоге, в студии я проработал 2 года: занимался разработкой сайтов и их серверных частей.
Вот так я попал в эту сферу, о чем нисколько не жалею. Сейчас это динамически развивающаяся среда, очень востребованная. Так что знания в области PHP пригодятся всегда.
А над чем работаете сегодня?
В данный момент я работаю над очень интересными вещами. После веб-студии я устроился в компанию Alawar, это крупнейший разработчик компьютерных игр. В ней я занимаюсь разработкой платформ для направления дистрибьюции. Если говорить более конкретно, то сайт — это внешняя витрина, платформа же включает в себя внутренние сервисы компании, платежные шлюзы, разные обертки-врапперы к играм и так далее. И все эти модули разрабатываются именно на PHP. Вот этим я и занимаюсь.
Что такое язык PHP вообще и современный PHP в частности? Насколько активно он развивается?
В первую очередь, это серверный язык. Написать на нем какое-то десктоп приложение можно, но, скорее, в качестве забавы или тренировки. На PHP пишут серверные части тех же игр, например. Большинство современных игрушек — это клиент-серверные приложения, у которых есть клиент, который посылает и сохраняет данные на сервере, и есть, собственно, сервер, который все это обрабатывает и хранит. Вот, как раз, она-то и разрабатывается на PHP. Сайты сегодня тоже перестают быть «простыми», они все больше и больше превращаются в «веб-сервис»: почта, чат, социальные сети, серверные части игр и т.д. и т.п. А это уже вотчина PHP.
Что до динамики развития, то она, действительно, очень высокая. Сейчас уже вышел PHP7. Если смотреть на его историю, то изначально, это был просто скриптовый язык для встраивания некоторых динамических данных в HTML-разметку. Затем, по мере развития, в него начали внедрятся зачатки ООП (это уже видно в версии PHP4) которое широко применяется в С++ и Java. Сейчас на «календаре» эра PHP5 — это актуальная и самая распространенная версия, где ООП стандарт де факто. На подходе внедрение PHP7, где реализованы все самые современные веяния в области программирования, значительно улучшен показатель производительности и т.д.
Выходит, PHP универсален, эдакий «английский» в сфере программирования? А можете назвать ограничения для этого языка?
Любой компьютерный язык — это инструмент, решающий конкретные задачи. И PHP не исключение — он должен применяться там, где будет максимально эффективен. Альтернативы, конечно, есть — это другие серверные языки типа Python, да та же Java. Если же говорить о недостатках, то «узкими» местами я бы назвал распараллеливание, т.е. решение нескольких задач одновременно. Да и по производительности есть языки, работающие быстрее, С++, например. Это связано с тем, что PHP — интерпретированный язык, компилляции, ускоряющей работу, у него нет. Однако и задачи, где эти моменты критичны, встречаются не часто, поэтому в большинстве случаев PHP прекрасно справляется.
Какой объем знаний и умений должен иметь разработчик для хорошего старта? А какие ему могут потребоваться для дальнейшего развития?
На первых порах будет достаточно собственно PHP и его конструкций, а также умения их применять. Тут даже ООП не потребуется: для разработки каких-то простейших сайтов и приложений этого вполне хватит. Как раз на веб-разработке можно отточить все навыки, применить на практике знания, которые были получены на обучении. Для дальнейшего развития и роста знаний чистого PHP уже недостаточно. Современные приложения разрабатываются на различного рода PHP Framework или специальных инструментах, которые существенно ускоряют и упрощают разработку. Соответственно, дальнейший рост специалиста связан с изучением и применением этих самых Framework’ов. На следующей ступени можно начать разрабатывать архитектуру, т.е. выстраивать решения под конкретные задачи заказчика. Здесь уже и знания «каркасов»-фреймфорков будет недостаточно. А дальше — все зависит от разработчика.
Что нужно знать и уметь, чтобы начать изучать PHP?
PHP — один из языков с самым низким «порогом входа». По большому счету, достаточно быть уверенным пользователем компьютера, иметь желание научиться, — и вы вполне можете начать программировать. Возможно, именно из-за этой простоты представители более «серьезных» языков относятся к ПэХэПистам с некоторой предвзятостью. Корни такого отношения можно искать именно в весьма далеком от идеала коде начинающего ПеХеПе-программиста. Поэтому говорю сразу: несмотря на легкость освоения, не следует останавливаться на достигнутом, красота и стройность конструкций приходят только с опытом.
Мне кажется, что относясь к PHP предвзято, ваши коллеги немного забывают, на чем работают сервера крупнейших социальных сетей: Вконтакте и Фэйсбук. Это правда?
Да, Вконтакте изначально писался на PHP. Затем наступил момент, когда производительности языка стало не хватать (я говорил об «узких» местах выше) и специалисты Вконтакта создали свою собственную версию PHP. Она работает в несколько «урезанном» варианте, но за счет этого более производительна и выдерживает все те нагрузки, которые дает большая социальная сеть на сервера. Аналогичное решение есть и у Фейсбука, который тоже был написан на PHP. Там была создана целая виртуальная машина, которая компилирует код, за счет чего он выполняется много быстрее.
Дмитрий, выше вы говорили о Фреймворках в PHP. Могли бы вы рассказать что же это такое чуть более подробно? У всех на слуху Yii, но что это такое, как фреймворк знают немногие. Что это, для чего их используют, где?
Упрощенно PHP фреймфорк — это некоторый программный каркас, написанный PHP. Веб-приложения, созданные с помощью фреймфорков, имеют строго определенную структуру, за счет этого значительно упрощается их разработка и поддержка. Yii — всего лишь один из достаточно большого семейства подобных «каркасов». Среди остальных он выделяется более высокой производительностью, хорошей документацией, большим количеством различных расширений. Все это поспособствовало его широкому применению для создания различного рода веб-приложений. Также, помимо Yii весьма популярны Symfony, Zend и Silex.
Используется ли PHP где-то еще кроме веб? Неужели связка «PHP-сайт-интернет сервер» единственный путь развития?
PHP — это, в первую очередь, серверный язык, поэтому основная его сфера применения все-таки создание серверной части различный веб-приложений.
В IT-Академии вы ведете курс PHP, можете рассказать о нем подробнее? Какая подготовка потребуется от слушателя для его успешного прохождения?
Курс будет начинаться с азов: разберем, что такое сервер, что такое клиент, и как они работают. Поэтому каких-то специальных знаний не нужно, главное — желание во всем разобраться. Конечно, первичные навыки программирования, хотя бы на уровне школьной информатики, и программ типа Hello world!, будут очень кстати.
Относительно содержательной части, то будут последовательно рассмотрены все базовые возможности языка, а также затронуты и более серьезные аспекты, такие как ООП, взаимодействие с БД, использование фреймворков. В качестве бонуса участники курса познакомятся и попробуют начать работать с системой контроля версий GIT, узнают что такое MySql, Apache и научатся их базовой настройке. Другими словами, я постараюсь дать самые разносторонние знания и навыки, которые позволят молодому специалисту быть эффективным и сразу же приступить к работе.
От себя нам остается только напомнить, что старт курса PHP онлайн ожидается ближайшее время, и для того, чтобы посетить его, вам даже не нужно куда-то идти. Также есть возможно пройти
Успехов и до встречи уже онлайн!
suhorukov.com
Виджеты «Сообщения сообщества» и «Напишите нам» от ВКонтакте
Всем привет. Относительно недавно появилось два интересных виджета от Вконтакте.
Это «Напишите нам» и «Сообщения сообщества», но многие о них до сих пор не слышали. Сегодня поговорим о том, для чего они нужны и как их установить на свой landing page.
Виджет «Напишите нам»
Суть виджета «Напишите нам» заключается в том, что на сайте размещается кнопка (ссылка), перейдя по которой, пользователь попадает в диалог с сообществом где может задать интересующие его вопросы.
Этот виджет работает для:
- групп;
- сообществ;
- личных страниц.
Но для групп и сообществ должна быть включена возможность принимать сообщения. Делается это в настройках самой группы или паблика.
Установка виджета «Напишите нам»
Для того, чтобы получить код виджета, нужно перейти по этой ссылке:
Здесь всего несколько параметров для настройки. Текст кнопки, размер и ссылка на страницу, с которой будет диалог.
Для установки на сайт, копируем первый скрипт, между тегами head. А div и второй скрип в то место, где будет выводится сам виджет.
Виджет «Сообщения сообщества»
Более интересным вариантом, на мой взгляд, является виджет «Сообщения сообщества» Это некое подобие онлайн консультанта. У вас на сайте располагается кнопка, при нажатии на которую раскрывается окошко с диалогом с привычным интерфейсом ВКонтакте. При этом, можно не только написать текст, но и прикрепить документ или фото.
Чтобы добавить такой виджет на сайт, у вас должна быть создано сообщество и в нем включены «Сообщения сообщества» и «Виджет сообщении». Именно здесь производятся основные настройки.
- «Приветствие» — это автоматическое сообщение, которое будет отправляться пользователю, когда он откроет диалог.
- «Краткая информация» — это текст/приветствие, которое увидит пользователь. Нужно постараться сформулировать его таким образом, чтобы побудить посетителя вашего сайта написать вам.
- «Статус не в сети» будет показан пользователю, если вы не отвечали ему в течении 30 минут.
- «Разрешенные домены» — это домены, на которых будет показан виджет.
Установка виджета «Сообщения сообщества»
Для того, чтобы получить код виджета, нужно перейти по этой сслке. Установка аналогична предыдущему виджету:
Выбираем одно из своих сообществ и копируем скрипты и div на свой сайт.
Актуальность виджетов
Конечно, актуальность подобных виджетов, на данный момент, достаточно спорная. Многие пользуются онлайн консультантами, которые имеют намного больше функций. С другой стороны, эти виджеты конечно же найдут своих потребителей. Кому-то удобно общаться через ВКонтакте, кто-то там умудряется продавать, кому-то не хочется платить за онлайн консультант и т.д. А как вы считаете, стоит ли пользоваться этими виджетами и актуальны ли они?
smartlanding.biz