На чем написан вконтакте: На каком языке написаны vk, toster, google+? — Хабр Q&A

Р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 онлайн ожидается ближайшее время, и для того, чтобы посетить его, вам даже не нужно куда-то идти. Также есть возможно пройти курс PHP в офлайн-формате. Компьютер и желание научиться создавать динамичную интернет-среду — вот все что вам потребуется для успешного освоения предложенного материала! Если у Вас возникли вопросы, присылайте их на нашу почту [email protected], или сразу звоните на бесплатный номер +7 (800) 500 15 56.

Успехов и до встречи уже онлайн!

Архитектура Вконтакте

Самая популярная социальная сеть в рунете пролила немного света на то, как же она работает. Представители проекта в лице Павла Дурова и Олега Илларионова на конференции HighLoad++ ответили на шквал вопросов по совершенно разным аспектам работы Вконтакте, в том числе и техническим. Спешу поделиться своим взглядом на архитектуру проекта по результатам данного выступления.

Платформа

  • Debian Linux - основная операционная система
  • nginx - балансировка нагрузки
  • PHP + XCache
  • Apache + mod_php
  • memcached
  • MySQL
  • Собственная СУБД на C, созданная "лучшими умами" России
  • node.js - прослойка для реализации XMPP, живет за HAProxy
  • Изображения отдаются просто с файловой системы xfs
  • ffmpeg - конвертирование видео

Статистика

  • 95 миллионов учетных записей
  • 40 миллионов активных пользователей во всем мире (сопоставимо с аудиторией интернета в России)
  • 11 миллиардов запросов в день
  • 200 миллионов личных сообщений в день
  • Видеопоток достигает 160Гбит/с
  • Более 10 тысяч серверов, из которых только 32 - фронтенды на nginx (количество серверов с Apache неизвестно)
  • 30-40 разработчиков, 2 дизайнера, 5 системных администраторов, много людей в датацентрах
  • Каждый день выходит из строя около 10 жестких дисков

Архитектура

Общие принципы

  • Cервера многофункциональны и используются одновременно в нескольких ролях:
    • Перебрасывание полуавтоматическое
    • Требуется перезапускать daemon'ы
  • Генерация страниц с новостями (микроблоги) происходит очень похожим образом с Facebook (см. Архитектура Facebook), основное отличие - использование собственной СУБД вместо MySQL
  • При балансировке нагрузки используются:
    • Взвешенный round robin внутри системы
    • Разные сервера для разных типов запросов
    • Балансировка на уровне ДНС на 32 IP-адреса
  • Большая часть внутреннего софта написано самостоятельно, в том числе:
    • Собственная СУБД (см. ниже)
    • Мониторинг с уведомлением по СМС (Павел сам помогал верстать интерфейс 🙂 )
    • Автоматическая система тестирования кода
    • Анализаторы статистики и логов
  • Мощные сервера:
    • 8-ядерные процессоры Intel (по два на сервер, видимо)
    • 64Гб оперативной памяти
    • 8 жестких дисков (соответственно скорее всего корпуса 2-3U)
    • RAID не используется
    • Не брендированные
  • Вычислительные мощности серверов используются менее, чем на 20%
  • Сейчас проект расположен в 4 датацентрах в Санкт-Петербурге и Москве, причем:
    • Вся основная база данных располагается в одном датацентре в Санкт-Петербурге
    • В Московских датацентрах только аудио и видео
    • В планах сделать репликацию базы данных в другой датацентр в ленинградской области
  • CDN на данный момент не используется, но в планах есть
  • Резервное копирование данных происходит ежедневно и инкрементально

Волшебная база данных на C

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

  • Разработана "лучшими умами" России, победителями олимпиад и конкурсов топкодер; озвучили даже имена этих "героев" Вконтакте (писал на слух и возможно не всех успел, так что извиняйте):
    • Андрей Лопатин
    • Николай Дуров
    • Арсений Смирнов
    • Алексей Левин
  • Используется в огромном количестве сервисов:
    • Личные сообщения
    • Сообщения на стенах
    • Статусы
    • Поиск
    • Приватность
    • Списки друзей
  • Нереляционная модель данных
  • Большинство операций осуществляется в оперативной памяти
  • Интерфейс доступа представляет собой расширенный протокол memcached, специальным образом составленные ключи возвращают результаты сложных запросов (чаще всего специфичных для конкретного сервиса)
  • Хотели бы сделать из данной системы универсальную СУБД и опубликовать под GPL, но пока не получается из-за высокой степени интеграции с остальными сервисами
  • Кластеризация осуществляется легко
  • Есть репликация
  • Если честно, я так и не понял зачем им MySQL с такой штукой - возможно просто как legacy живет со старых времен

Аудио и видео

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

1000-1500 серверов используется для перекодирования видео, на них же оно и хранится.

XMPP

Как известно, некоторое время назад появилась возможность общаться на Вконтакте через протокол Jabber (он же XMPP). Протокол совершенно открытый и существует масса opensource реализаций.

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

  • Реализован на node.js (выбор обусловлен тем, что JavaScript знают практически все разработчики проекта, а также хороший набор инструментов для реализации задачи)
  • Работа с большими контакт-листами - у многих пользователей количество друзей на Вконтакте измеряется сотнями и тысячами
  • Высокая активность смены статусов - люди появляются и исчезают из онлайна чаще, чем в других аналогичных ситуациях
  • Аватарки передаются в base64
  • Тесная интеграция с внутренней системой обмена личными сообщениями Вконтакте
  • 60-80 тысяч человек онлайн, в пике - 150 тысяч
  • HAProxy обрабатывает входящие соединения и используется для балансировки нагрузки и развертывания новых версий
  • Данные хранятся в MySQL (думали о MongoDB, но передумали)
  • Сервис работает на 5 серверах разной конфигурации, на каждом из них работает код наnode.js (по 4 процесса на сервер), а на трех самых мощных - еще и MySQL
  • В node.js большие проблемы с использованием OpenSSL, а также течет память
  • Группы друзей в XMPP не связаны с группами друзей на сайте - сделано по просьбе пользователей, которые не хотели чтобы их друзья из-за плеча видели в какой группе они находятся

Интеграция со внешними ресурсами

Во Вконтакте считают данное направление очень перспективным и осуществляют массу связанной с этим работы. Основные предпринятые шаги:

  • Максимальная кроссбраузерность для виджетов на основе библиотек easyXDM и fastXDM
  • Кросс-постинг статусов в Twitter, реализованный с помощью очередей запросов
  • Кнопка "поделиться с друзьями", поддерживающая openGraph теги и автоматически подбирающая подходящую иллюстрацию (путем сравнивание содержимых тега <title> и атрибутов alt у изображений, чуть ли не побуквенно)
  • Возможность загрузки видео через сторонние видео-хостинги (YouTube, RuTube, Vimeo, и.т.д.), открыты к интеграции с другими

Интересные факты не по теме

  • Процесс разработки близок к Agile, с недельными итерациями
  • Ядро операционной системы модифицированно (на предмет работы с памятью), есть своя пакетная база для Debian

KPHP от ВКонтакте / Хабр

Буквально несколько минут назад Павел Дуров на своей странице ВКонтакте представил новый вариант PHP, названный KPHP.
Слово автору:
В конце мая, перед началом сезона отпусков, суточная посещаемость ВКонтакте достигла очередного рекорда — почти 50 млн. пользователей. Именно тогда мы завершили перевод всего кода ВКонтакте на компилируемый язык программирования, который разрабатывали более года, — KPHP. В результате практически все страницы сайта стали грузиться более чем 2 раза быстрее.





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

Я попросил Павла дать чуть более развёрнутый комментарий и вот что он ответил:

На всех тестах было неудобно за PHP HipHop (похожая технология от FB). Либо Facebook дал в общий доступ сильно испорченную версию, либо мы разработали нечто принципиально лучшее. Это касается не только скорости работы скомпилированного кода, но, в первую очередь, скорости компиляции.

Если там на некоторых тестах можно ждать окончания компиляции полчаса, то у нас весь код ВКонтакте компилируется распределённо меньше, чем за минуту.

Плюс, там есть дополнительные встроенные возможности оптимизации. Создавался чемпионами ACM. Из минусов — поддерживается не весь синтаксис PHP, а только то подмножество, которое мы использовали в ВК. Скажем, там сильно ограничено все, что связано с ООП.

В ближайшее время ожидаются более детальные подробности, stay in touch, Хабрахабр.

Релиз KPHP и движков / Блог компании ВКонтакте / Хабр

Довольно часто, выступая на различных конференциях, мы делились желанием выпустить под открытой лицензией KittenPHP, согласно традиции, заложенной крупными IT-компаниями, такими как Google и Facebook.

Это событие несколько раз откладывалось в связи с опасением, что нам не хватит сил и времени на взаимодействие с opensource-сообществом, однако в конце концов заветный день настал, и код KPHP и некоторых других инструментов, используемых внутри проекта, был выложен в открытый доступ.

В связи с этим под катом вас ждет более подробный рассказ о внутреннем устройстве ВКонтакте и тех инструментах, которые сегодня стали доступны opensource-сообществу.


Исходные коды были выложены под лицензиями GNU (GPL и LGPL). Данные лицензии близки нам идеологически, так как при создании этих библиотек мы часто использовали инструменты, лицензированные именно GNU.

Исходный код ВКонтакте разрабатывается на PHP-подобном языке, названном KittenPHP или коротко KPHP. Этот код транслируется в C++ специальным транслятором с одноименным названием. После этого сгенерированный C++ код автоматически компилируется средствами gcc, в результате чего получается бинарник, готовый для запуска. Этот бинарник представляет собой веб-сервер, принимающий http-запросы и генерирующий страницы.
Для того чтобы ускорить процесс разработки, KPHP компилирует различные файлы проекта отдельно, после чего линкует. При последующих компиляциях обрабатываются только измененные файлы, либо, в случае больших по размеру файлов, только их части.

KPHP – минималистичный язык, созданный с целью обеспечить очень высокую скорость работы, без ущерба для удобства и скорости разработки. В связи с этим KPHP поддерживает не все возможности PHP, в частности, в нем отсутствует ООП, за исключением некоторых объектов стандартной библиотеки. Кроме этого не поддерживается eval и связанные с ним вещи, такие как регулярные выражения с модификатором 'e' (вместо этого предлагается использовать функцию preg_replace_callback). Также не поддерживаются функции для работы с определенными элементами массивов first, end, next, prev, current, reset, key; для их замены реализованы функции getValueByPos и getKeyByPos.
Отказ от поддержки большого количества функционала позволил KPHP стать невероятно быстрым по сравнению с другими средствами для веб-разработки.
В качестве примера мы сравнили его с разработанным в Facebook HipHop VM и получили следующие результаты:

Тесты KPHP HHVM PHP
simple 0.000 0.007 0.137
simplecall 0.000 0.004 0.174
simpleucall 0.007 0.008 0.178
simpleudcall 0.007 0.009 0.181
mandel 0.010 0.066 0.392
mandel2 0.011 0.074 0.355
ackermann(7) 0.001 0.011 0.189
ary(50000) 0.003 0.008 0.024
ary2(50000) 0.003 0.010 0.022
ary3(2000) 0.011 0.077 0.191
fibo(30) 0.003 0.019 0.481
hash2(50000) 0.018 0.034 0.044
hash3(500) 0.011 0.021 0.039
heapsort(20000) 0.012 0.040 0.101
matrix(20) 0.007 0.021 0.121
nestedloop(12) 0.000 0.012 0.235
sieve(30) 0.013 0.016 0.114
strcat(200000) 0.002 0.005 0.014
Результаты 0.119 0.442 2.992

Код тестов доступен по ссылке:
gist.github.com/anonymous/9391146#file-bench-php

С точки зрения разработки, KPHP достаточно совместим с PHP, чтобы для быстрого тестирования написанного кода можно было использовать обычный PHP, а компилировать код только перед финальным тестированием и выкатыванием проекта. Для поддержки функций, реализованных в KPHP, но отсутствующих в обычном PHP, была выложена специальная библиотека github.com/vk-com/kphp-kdb/tree/master/vkext, расширяющая возможности PHP.

Кроме того, KittenPHP является хорошим статическим анализатором PHP-кода, указывающим на вероятные ошибки. Например, в процессе перевода ВКонтакте на него год назад было найдено более 20 серьезных багов.

Вместе с компилятором под открытой лицензией разработчики выложили набор движков, которые отлично дополняют KPHP, но могут быть использованы и отдельно от него. Впервые мы анонсировали эти библиотеки opensource-сообществу на Highload 2010, так что просим прощения за достаточно долгий период ожидания.

Надежное key-value хранилище, позволяющее хранить данные без ограничения по времени. По протоколу MC движок работает идентично Memcache, за исключением того, что после перезагрузки все данные остаются.
Помимо своих основных функций, при включении соответствующей опции в конфигурации pmemcached позволяет получать сразу группы записей, у которых префикс ключа соответствует заданному в запросе.Данный движок позволяет хранить и получать различные списки данных.
Одна копия движка может хранить набор списков. Каждый список должен иметь идентификатор (int), по которому с этим списком можно работать.
В каждом списке может быть неограниченное количество элементов. Каждый элемент также должен иметь идентификатор (int), значение (int), флаг (int) и может хранить произвольные 256 символов текста.
Кроме получения списков есть возможность получать подсписки, фильтруя по флагам и сортируя по значениям.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Lists.wiki

Модификация движка Lists, позволяющая использовать ключи и идентификаторы записей, состоящие не из одного числа (int), a из заранее заданного в конфигурации движка количества чисел (int). Например, это позволяет создавать списки, ключ которых формируется из идентификатора пользователя и идентификатора записи на его стене.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Lists-X.wiki

Предназначен для поиска данных на сайте. Любая текстовая информация может быть проиндексирована в движке с определенным идентификатором, и впоследствии найдена по словам в тексте. В результатах поиска будут возвращены идентификаторы, указанные при индексировании.
Search поддерживает произвольные параметры для поиска по критериям, и специальные параметры для различных сортировок. Также движок позволяет осуществлять сложные группировки и пересечения.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Search.wiki

Движок создан для хранения пользовательских данных — фото, видео, аудио, документы. Благодаря хранению различного контента в одном файле и индексированию в памяти смещений, Storage справляется с этой задачей лучше, чем при использовании классического подхода с хранением отдельных файлов в файловой системе.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Storage.wiki

Движок Texts позволяет хранить различные текстовые массивы данных. Изначально он был разработан для системы личных сообщений ВКонтакте, но позднее был переиспользован для стен и для комментариев.
Помимо хранения текстов движок поддерживает различные группировки списков с текстами и поиск по текстам. Благодаря нему доступен моментальный поиск по всей личной переписке пользователя, сколь большой бы она не была.
Также в этот движок встроен HTTP сервер, реализующий long poll для получения обновлений с клиентской стороны. Однако позже для этой цели был создан отдельный движок queue, о котором написано ниже.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Texts.wiki

Hints решает две важные задачи:
1) Предназначен для поиска объектов пользователя по префиксам слов, используется при быстром поиске на сайте.
2) Позволяет формировать рейтинги объектов, с помощью которых можно упорядочивать списки объектов по степени интереса к ним у пользователя. Например, таким образом работает список друзей ВКонтакте.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Hints.wiki

Queue позволяет организовывать общение клиентской и серверной сторон в реальном времени. Клиент подключается к назначенном ему Queue серверу и получает от него обновления, а сервер может в любой момент передать клиенту соответствующее событие. Благодаря использованию каналов, на которые клиент может подписаться при подключении к Queue, движок может использоваться для передачи данных один ко многим, например, когда у пользователя открыта страница новостей, он подписывается в queue на события всех своих друзей, групп и подписок. Когда кто-либо из этого списка публикует запись, он также записывает ее в соответствующую queue-подписку, и каждый подписанный пользователь получает информацию об этом на клиенте, после чего последний может отобразить полученные данные.

Документация: github.com/vk-com/kphp-kdb/blob/master/docs/ru/KittenDB_Queue.wiki

Кроме перечисленных, Вы можете найти в репозитории ряд других, не столь универсальных, но не менее интересных инструментов, документацию к которым вы найдете здесь.

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

Мы надеемся, что теперь они помогут разрабатываемым сейчас проектам, как в своё время MySQL, Memcache, nginx и PHP помогли создать ВКонтакте.

Исходный код движков и KPHP Вы можете увидеть в репозитории на github: github.com/vk-com/kphp-kdb
Подробная документация расположена по адресу: github.com/vk-com/kphp-kdb/tree/master/docs/ru

На каких языках программирования пишут программы под ВК ?

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

  • Главная
  • Свежие темы
  • Спросить
  • Поиск
  • Правила
  • Новости zismo
  • Магазин
  • Рефералы
  • Еще
  • Быстрый переход
  • Войти   
  • Регистрация
  1. Форум ZiSMO.biz
Разбираем приложение Vkontakte под Android. Часть 1, вводная / Песочница / Хабр
Видишь суслика? А он уже в облаке

Знакомый сказал, что Фейсбук выкачивает все фотографии из телефона без спроса, даже те, что в соцсеть никто не выкладывает. Мне стало интересно, что же делают соцсети. Начал с Вконтакте.

Итак, получаем apk из маркета: apps.evozi.com/apk-downloader
Dex2jar — получаем из apk нормальный jar файлик. Да, все xml нам не доступны, но логика-то написана на джаве. Кстати, манифест можно посмотреть из готового APK, до преобразования в jar.
Декомпилятор, например: jd.benow.ca

Первое, что бросается в глаза – папка Facebook:

Второе – это названия переменных. Авторы приложения не используют минификацию (см developer.android.com/tools/help/proguard.html), которая идет по умолчанию в Android Studio. За что им большое спасибо, потрошить такое приложение гораздо проще.

Для сравнения, минифицированный код:

Говорящие названия классов и переменных, правда? В исходном коде все нормально: github.com/KrenVpravo/CheckReaction

Вернемся к фейсбуку Вконтакте. За пределами папки Facebook это слово встречается только в классе SuggestionsImportedFragment. Будем надеяться, что авторы не путали классы специально, чтобы замести следы, и Вконтакте действительно ломится в Фейсбук только для того, чтобы предложить нам фейсбучные результаты поиска. Узнать правду не получится, единственный класс, который вызывается из Вконтакте – FacebookDialog. Он не декомпилируется.

Далее интерес вызвал трекер от Mail.Ru. В открытом доступе такого не нашел.

Похоже, трекер выполняет чисто отладочные функции.

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

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

Главные выводы
– приложение стоит поизучать. Тем более, что vk объявил награды за найденные уязвимости. Их мне искать лень, но возможно для этого код и оставили читабельным.
– соцсети обмениваются информацией, большой дядя все же за нами следит, чтобы советовать знакомых. Еще один повод не ставить все соцсети на телефон.

Об одном недостатке VK API вслух / Хабр

Доброго времени суток, уважаемые жители Хабра!

Начну я с того, что, в моем понимании, Хабр — это чудовищное по своей мощности оружие. Не в смысле того, что им можно кого-то убить. Конечно, нет. Просто он дает самым обычным разработчикам возможность поделиться своими мыслями с потрясающе широкой аудиторией. Причем не имеет особого значения, о чем идет речь. Будь то бережно создаваемый в последние полгода “на коленке” собственный проект или новость о новинках от Google и Apple — все равно. Вас услышат, потому что здесь все равны перед кармой и рейтингом, у каждого есть право слова и голоса. Демократия во всей ее красоте да и только. Но, как и любым оружием, Хабром нужно пользоваться крайне аккуратно. Иначе отдача замучает =)

Я долго подбирал тему, достойную того, чтобы испытать всю силу хабравлияния, и вот, кажется, нашел. Давайте поговорим об API всем известной социальной сети ВКонтакте и о том, что в нем мне кажется нелогичным или, быть может, слегка рудиментарным, подлежащим пересмотру и изменению? Ниже я обязательно расскажу, как и почему пришел к такой мысли.

Внимание! Желающие обсудить последние события из жизни Павла Дурова, ФСБ или знакомых школьников! Прошу вас, ради всего ценного, что есть в вашей жизни, не нажимайте на ссылку “Читать далее”! Я бы очень хотел, чтобы этот пост достиг своей цели, а скандальность — последнее, что для этого нужно.

Социальные сети. Понятие, вошедшее в нашу жизнь так же плотно, как смартфон или компьютер. Миллионы пользователей. Гигабайты информации. Неисчислимое множество моделей применения. Социальные сети особенно ценны тем, что позволяют разработчикам постучаться к своим пользователям прямо в дверь: «Эй, привет! Посмотри какое классное приложение! Оно изменит твою жизнь к лучшему. Я обещаю!». Это потрясающе! В конце концов мы ведь именно для этого пишем программы? Чтобы делать мир лучше? Нет, конечно, нам нравится и то, что за нашу работу неплохо платят. Но душу греют не суммы на счету, а цифры на счетчике посещений.

Когда я впервые познакомился с API Вконтакте, мне показалось, что лучшей находки в моей карьере еще не было. Сколько невероятных идей пришло ко мне в голову с первых же строчек документации! Конечно, они не идут ни в какое сравнение по своей креативности, например, с вот этой. Но все же =) Тогда я сделал то, что сделал бы любой из вас на моем месте: начал увлеченно программировать. Однако будущее оказалось не таким безоблачным, как мне бы хотелось. За простым и изящным REST-интерфейсом крылись суровые и далеко не всегда мне понятные правила и ограничения.

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

Для работы с большинством методов VK API приложению потребуется токен. В общем случае процесс его получения выглядит так:

  1. Приложение отправлят пользователя на AUTHORIZE_URL, в параметрах указав CALLBACK_URL;
  2. Вконтакте переадресует пользователя на страницу, где он подтверждает права доступа приложения;
  3. Вконтакте переадресует пользователя на CALLBACK_URL, в параметрах передавая токен и срок его жизни;
  4. Приложение, получив запрос на CALLBACK_URL, понимает, что это от ВК, вытаскивает токен и запоминает его.

Однако, для того, чтобы получить токен, обеспечивающий доступ к расширенным методам, в качестве callback-адреса вам придется указать https://oauth.vk.com/blank.html. Таково требование API. Поскольку мобильные/декстопные приложения, по задумке авторов, используют для получения токена встроенный браузер (имеется в виду, например, компонент webkit), то у них проблем нет: отловил редирект, извлек информацию о пользователе и токен, сохранил все это дело и радуйся. У веб-приложений так, очевидно, не получится.

У меня возникает логичный вопрос: зачем? Почему было введено такое ограничение и почему оно существует до сих пор? Могу предположить, что доступность вызова произвольных методов с десктопов и мобильников имеет под собой простое обоснование: это толкает разработчиков на создание альтернативных клиентов и всевозможных мессенджеров. Так почему бы не убрать этот запрет для веба? К чему ставить лишние палки в колеса фантазии разработчиков? Отнюдь не все удобные и хорошие идеи можно и нужно поставлять как standalone, согласитесь? На волне повсеместного «ухода в облака» и создания веб-приложений, обладающих потрясающе широкой функциональностью и удобным UI на HTML5, это ограничение выглядит как-то… неудобно.

С вопросом: «А нельзя ли как-то все таки получить токен с нужными привелегиями, если я честный парень и клятвенно обещаю не рассылать спам, не создавать ботов и молиться правильным богам?», — я и обратился в службу поддержки Вконтакте. И мне, — тут барабанная дробь и виртуальный плюсик в карму ВК, — ответили, причем довольно быстро и вежливо.

Содержание ответаДобрый день!

Мне очень жаль, но исключений мы не делаем.

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

С уважением,
Команда поддержки ВКонтакте.

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

Надеюсь, что мой скромный пост сподвигнет ВК как минимум к диалогу с разработчиками, а, в идеальном случае, и к снятию ограничений с веб-приложений. Ребята, искусственное ограничение возможностей — это и правда очень и очень неудобно.

UPD. Народ, кто считает, что все ок и так и должно быть или ставит минусы статье, отпишитесь в комментариях — почему? Правда интересно. Это ведь порядком ограничивает вашу свободу при разработке.

Что такое ВК и почему вас это должно волновать?

  • РЕШЕНИЯ
    • ПЛАТФОРМА
    • API
  • ПРОМЫШЛЕННОСТЬ
    • ВОЕННЫЕ И ОБОРОНЫ
    • ОБЩЕСТВЕННАЯ БЕЗОПАСНОСТЬ
    • КОРПОРАТИВНАЯ БЕЗОПАСНОСТЬ
    • БАНКОВСКИЕ ФИНАНСЫ
    • РОЗНИЧНАЯ БЕЗОПАСНОСТЬ
    • ИСПОЛНИТЕЛЬНАЯ ЗАЩИТА
  • Компания
    • О НАС
    • СМИ И СОБЫТИЯ
    • КАРЬЕРА
    • TECH
    • ПАРТНЕРСТВО
    • FAQ
  • РЕСУРСЫ
  • БЛОГ
  • ЗАБРОНИРОВАТЬ ДЕМО
  • Войти
    • ECHOSEC
    • Маяк

x

,

Вконтакте VS Facebook (плагиат или нет)

О Facebook

Facebook - это социальная сеть и веб-сайт, запущенный в феврале 2004 года, который управляется и находится в частной собственности Facebook, Inc. По состоянию на июль 2010 года Facebook насчитывает более 500 миллионов активных пользователей. Пользователи могут создавать личный профиль, добавлять других пользователей в друзья и обмениваться сообщениями, включая автоматические уведомления при обновлении своего профиля. Кроме того, пользователи могут вступать в группы пользователей с общими интересами, организованные по месту работы, школе или колледжу или другим характеристикам.Название службы происходит от разговорного названия книги, которую студенты получают в начале учебного года администрациями университетов в США с целью помочь студентам лучше узнать друг друга. Facebook позволяет любому, кто заявляет, что ему исполнилось 13 лет, стать зарегистрированным пользователем сайта. По оценкам Quantcast, Facebook ежемесячно посещают 135,1 млн. Уникальных посетителей в США. [1]

Основатель Facebook

Марк Эллиот Цукерберг (род. 14 мая 1984 г.) - американский предприниматель и филантроп, который вместе с одноклассниками Дастином Московицом, Эдуардо Саверином и Крисом Хьюзом учился в Гарвардском университете.По состоянию на 2010 год он является 24% -ным акционером Facebook. [2]

История Facebook

Все началось еще в 2003 году, как Facemash. Марк Цукерберг создал его вместе со своими друзьями и соседями по комнате Крисом Хьюзом и Дастином Московицем. Цукерберг учился на втором курсе в Гарварде, когда открыл его, чтобы отвлечься от мысли.
Facemash разместил фотографии двух студентов рядом друг с другом и спросил зрителей, какая из них «горячее». Изначально сайт был предназначен только для Гарварда, но быстро перерос в другие колледжи, затем в средние школы и, наконец, для тех, кто старше 13 лет.
После того, как это было первоначально начато, это было передано администраторам школы Гарварда, и это было быстро закрыто. Цукерберг был обвинен и подвергнут высылке за нарушение конфиденциальности.
Позже Гарвард снял свои обвинения против Цукерберга. После того, как обвинения были сняты, в следующем семестре он воссоздал Facemash и открыл Facebook в феврале 2004 года.
В 2005 году он исключил «the» из имени и URL. Также в сентябре 2005 года он запустил версию Facebook для средней школы. Когда он впервые запустил версию для старшей школы, каждую старшую школу нужно было пригласить, прежде чем ему позволили присоединиться к сети.Вскоре после запуска версии для средней школы он начал позволять компаниям также иметь свои собственные сети на Facebook.
Теперь группа операторов, через год после того, как они выпустили свою версию для средней школы, открыли ее для всех, кто старше 13 лет.
Сирия и Иран заблокировали доступ к Facebook в своих странах. Некоторые компании запретили это в своих офисах. Также было сказано, что Цукерберг украл код и интеллектуальную собственность у его бывших одноклассников.
В феврале 2009 года Facebook изменил свою политику конфиденциальности, вызвав рев. Они сделали так, чтобы их пользователи однажды загружали данные на свои серверы, чтобы они владели всеми правами. Даже после того, как пользователь удалит свою учетную запись. Многие пользователи расстроились из-за этого и вступили в дискуссию по всему Интернету. [3]

Функциональность сайта

Пользователи могут создавать профили с фотографиями, списками личных интересов, контактной информацией и другой личной информацией. Пользователи могут общаться с друзьями и другими пользователями через личные или общедоступные сообщения и функцию чата.Они также могут создавать и присоединяться к группам интересов и «похожим страницам» (ранее называвшимся «фан-страницами» до 19 апреля 2010 г.), некоторые из которых поддерживаются организациями как средство рекламы.

Facebook профилей

Типичный профиль Facebook состоит из нескольких различных разделов, включая информацию, статус, друзей, друзей в других сетях, фотографии, заметки, группы и стену. Большинство разделов говорят сами за себя, но некоторые относятся к Facebook.
Чтобы устранить опасения по поводу конфиденциальности, Facebook позволяет пользователям выбирать свои собственные настройки конфиденциальности и выбирать, кто может видеть определенные части своего профиля.Facebook требует, чтобы имя пользователя и изображение профиля (если применимо) были доступны всем. Пользователи могут контролировать, кто видит другую информацию, которой они поделились, а также, кто может найти их в поиске, через свои настройки конфиденциальности.

Фотографии Facebook

Ежедневно загружая более 1,5 миллиона фотографий, одна из самых популярных функций Facebook - возможность загружать фотографии. Пользователи могут загружать неограниченное количество фотографий со своего мобильного телефона или через веб-интерфейс на основе Java. Facebook - одна из немногих услуг, предлагающих неограниченную квоту, единственным ограничением которой является ограничение в 60 фотографий на альбом - это высоко ценится демографическим колледжем Facebook.
Процесс загрузки фотографий очень прост. Пользователи создают альбомы, которым они могут назначать ограничения (например, видны только моим друзьям), и загружать в них фотографии. Альбом затем помещается в их профиль, и другие пользователи с правильными учетными данными имеют возможность просматривать и комментировать их. Facebook также предоставляет возможность делиться фотографиями по простой веб-ссылке или отправлять их через AIM () или по электронной почте. Более того, пользователи могут также заказывать распечатки онлайн через простой интегрированный интерфейс.

Facebook группы

Как и в любой другой социальной сети, в Facebook есть так называемые «группы». Пользователи могут создавать новые или присоединяться и участвовать в существующих. Это также отображается в их профиле и является хорошим показателем увлечений и интересов, которые может иметь человек.
Существует два вида групп: обычная группа и секретная группа, которые не отображаются в профиле. Обычная группа похожа на любую другую, но пользователи также могут создавать и приглашать других в секретные группы.Их можно использовать для совместной работы над университетскими проектами и предоставить возможность для закрытых обсуждений. Около 80% групп «связаны с развлечениями», и компании могут даже спонсировать группы - как

Facebook Events

Другим успехом Facebook является функция «событий», которая дает возможность организовывать, участвовать и планировать события. Эта функция была чрезвычайно успешной, когда дело доходит до организации вечеринок.
Помимо организации и присоединения к событиям, пользователи также могут приглашать и рекомендовать других на мероприятие.Эта особенность, однако, вызвала некоторые противоречия, так как это, как правило, начало нарушений несовершеннолетних, пьющих и сухого кампуса. Колледжи и университеты используют эту функцию, чтобы заранее планировать такие мероприятия и исследовать те, которые закончились. В любом случае, это одна из самых популярных функций сервиса и даже превосходит некоторые конкурирующие продукты, созданные специально для этой цели.

Разработчики Facebook

По состоянию на август 2006 года Facebook предложил бесплатный API для разработчиков под названием Facebook Developers.По сути, это дает любому человеку доступ к внутренним элементам Facebook и позволяет программистам создавать виджеты, гибридные приложения, инструменты и проекты, основанные на Facebook.
Это важная функция для Facebook, поскольку она делает его первой крупной социальной сетью, которая предоставит доступ к своему API. Несмотря на то, что он ограничен 100 000 запросов в день, для более чем достойного веб-приложения этого более чем достаточно. Более того, выбор приложений уже создан. FaceBank - это многообещающий инструмент, который позволяет вам отслеживать расходы и разделять расходы с друзьями.«Еще одно интересное приложение - это очень симпатичное приложение, которое позволяет вам« ранжировать друзей по популярности на стене ».« The Wall - это, конечно, функция комментариев в Facebook.

Facebook Notes

Facebook Notes был представлен 22 августа 2006 года, функция ведения блога, позволяющая добавлять теги и встраиваемые изображения. Все заметки отображаются в профиле пользователя, и другие участники могут добавлять комментарии. Примечания
обладают важной функцией, которая заключается в возможности импортировать и распространять внешний блог, хотя, в отличие от Technorati, не позволяет вам требовать его только для себя (например,грамм. можно легко запросить синдикационный канал New York Times в своих заметках). Сервис позволяет включать в сообщения HTML, хотя JavaScript и Flash отключены. Вы можете прикреплять фотографии, а также публиковать сообщения через мобильный телефон, отправляя свои заметки на moc.koobecaf | seton # moc.koobecaf | seton. Еще одна интересная функция - пометка - пометка сообщения с именем пользователя автоматически отправит его конкретному пользователю. Функция заметок была хорошо

Facebook Подарки

Facebook запустил Подарки 8 февраля 2007 года, что позволяет пользователям отправлять виртуальные подарки своим друзьям, которые появляются в профиле получателя.Стоимость каждого подарка составляет $ 1,00, к каждому подарку можно прикрепить персонализированное сообщение.

сообщений Facebook

15 ноября 2010 года Facebook анонсировал новый сервис «Сообщения Facebook». В тот день на пресс-конференции генеральный директор Марк Цукерберг сказал: «Это правда, что люди смогут иметь адреса электронной почты @ facebook.com, но это не электронная почта». Запуск этой функции ожидался до объявления, а некоторые называли его «убийцей Gmail». Система, которая будет доступна для всех пользователей веб-сайта, сочетает в себе текстовые сообщения, мгновенные сообщения, электронную почту и обычные сообщения, и будет включать настройки конфиденциальности, аналогичные настройкам других служб Facebook.Под кодовым названием «Project Titan» сообщения Facebook заняли 15 месяцев. [4]

О ВК

ВКонтакте (под международным именем VK) - это социальная сеть в России, Украине, Беларуси и Казахстане. Ввиду своего дизайна и функциональности, ВКонтакте часто называют клоном Facebook, в котором реализована не только похожая концепция, но и сопоставимая бизнес-модель. Тем не менее, включение других функций делает его более похожим на YouTube, Pandora и MySpace, объединенные в единый интерфейс с интерфейсом, очень напоминающим Facebook.
По состоянию на декабрь 2010 года сеть насчитывает около 102 миллионов пользователей и является ведущим сайтом в Европе по количеству посещений пользователей, просмотров страниц и объему передачи данных в день. ВКонтакте занимает 34-е место в рейтинге 500 крупнейших сайтов Alexa и является вторым по посещаемости веб-сайтом в России.
С 2007 года крупные российские компании рассылают предложения о работе через ВКонтакте. Большинство пользователей сайта - студенты университетов и старших классов. Однако, по мере того как популярность сайта увеличивается, к нему присоединяется все больше и больше людей, многие из которых - молодые люди разных возрастных групп.
На английском языке В Контакте или V Kontákte буквально переводится как «В контакте», но в основном означает «В контакте». В качестве альтернативы его можно перевести как «Linked In», который является еще одной, в основном, бизнес-ориентированной социальной сетью. [5]

Основатель ВКонтакте.ru

Российский программист Павел Дуров является одним из основателей социальной сети «ВКонтакте» (одним из соавторов этого ресурса является его брат Николай Дуров). Победитель стипендии Президента Российской Федерации, победитель стипендии Правительства Российской Федерации, трехкратный обладатель стипендии Владимира Потанина, победитель академического конкурса по лингвистике, информатике и дизайн.В 2007 году газета «Деловой Петербург» признала его одним из победителей конкурса «Лучшие молодые бизнесмены 2007 года». На своей странице «ВКонтакте» он говорит, что принимает участие в деятельности сообщества Mensa.
Павел Дуров также известен как основатель других, менее крупных студенческих проектов, а именно Durov.com - сайта, ориентированного в основном на студентов гуманитарных специальностей, и SPbSU.ru - форума студентов Санкт-Петербургского государственного университета. Университет. В 2006 году окончил филологический факультет св.-Петербургский государственный университет им. В сентябре того же года был запущен «Вконтакте» - основной проект Дурова на сегодняшний день. В 2008 году была запущена новая «оболочка» для социальной сети «Вконтакте» - Durov.ru с использованием UserAPI, специально разработанного для создания зарубежных социальных сетей.

Он зарегистрирован в социальной сети Vkontakte под id1. [6]

История

История создания социальной сети Вконтакте удивительна и имеет несколько загадочных моментов.Ни один сайт в рунете, а, может быть, и во всем мире, не может похвастаться таким быстро развивающимся, а точнее сказать, «провалом» популярности проекта и растущим числом участников.
Но давайте начнем с истории с самого начала.

Главный идейный создатель и разработчик - Павел Дуров.
В далекие 2004-2006 годы Павел Дуров разрабатывал и руководил студенческими интернет-проектами. Одним из первых успешных проектов был durov.com, на котором были собраны ответы на экзаменационные вопросы гуманитарных наук.Сайт пользовался популярностью среди сессий, и хороший старт Вконтакте состоялся именно благодаря ссылкам с главной страницы durov.com.

Над названием проекта будущего думали, что вся команда была первой идеей типа student.ru, но, соглашаясь с тем, что все рано или поздно станут выпускниками, и главная цель проекта - чтобы люди оставались в контакте с друг друга, а после окончания… Название Вконтакте пригласило Павла Дурова, имя сразу понравилось всей команде, но сам Павел Дуров усомнился в этом звании.Но время показало - зря.
летом 2006 года уже работала закрытая альфа-версия проекта, а в сентябре 2006 года была выпущена бета-версия с «полузакрытой» регистрацией, только по приглашению. Проект Вконтакте быстро набирает популярность, но многие зашли на закрытую регистрацию. По постоянным просьбам открыть бесплатную регистрацию в ноябре 2006 года, доработаны службы групп, заметок, встреч и открыта бесплатная регистрация. Сразу лавина начинает расти посещаемость, прошло всего две недели, а купленный в июле мощный сервер не справляется с нагрузкой, мы работаем над увеличением мощности.

Но Вконтакте, в то время все еще был одним из многих проектов, претендующих на лучший студенческий сайт, на этом, чтобы остановиться было глупо, требовались дополнительные промоушены. И первой такой акцией стал конкурс на призы от Apple (суть конкурса? Ищем информацию), а в январе сайт Вконтакте попал в Топ-50 самых быстрорастущих сайтов Рунета.

Увеличился трафик и популярность в геометрической прогрессии - по крайней мере один ученик в своей группе узнал о Вконтакте, и спустя короткое время практически вся группа была зарегистрирована в социальной сети, создавала собственные страницы, встраивала картинки и видео, общалась и организация встреч через Интернет.[7]

Основная идея

Основной идеей будущего популярного проекта было: «Проект позволит студентам и выпускникам различных университетов и факультетов всегда оставаться на связи». И, забегая вперед, идея проекта завершена - сейчас Вконтакте является самым популярным интернет-ресурсом для студентов и выпускников.

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

Поиски решений так и не дали результатов, пока в Америку не пришел ни один из Павла Дурова, а познакомил его с facebook.com - американской социальной сетью для студентов. Понравилась идея сайта, осталось решить некоторые проблемы аналога локализации для России - в американской версии регистрация была возможна только по e-mail'у, полученному студентом из учебного заведения России и стран СНГ, вещи разные …

Для инициирования сбора баз данных учебных заведений, факультетов, кафедр России был проделан значительный объем работы, но было ясно, что это не общий список.Под эту систему была оставлена ​​возможность добавлять настраиваемые поля.

Последний элемент, кстати, породил множество забавных названий, например, стул колледжа «Жесткий флудер» «Конкурсный рекорд». Такие группы регулярно удаляются. [7]

Функциональность сайта

Функциональность сайта включает в себя персонализированные страницы, легкий доступ к страницам и новостям друзей, фото и видео хостинг, простую систему обмена сообщениями, группы, в которых могут участвовать пользователи, и заметки. Поскольку почти вся информация, предоставляемая пользователями, подлежит легкому поиску, люди могут искать тех из той же школы или со схожими интересами, местом рождения и т. Д.Время от времени на сайт добавляются новые функции, такие как возможность размещения аудиофайлов в группах и на личных страницах; функция «Мнения», которая позволяет пользователям анонимно высказывать свои мысли о друге в сети; «Предлагает» спросить людей, хочет ли кто-то что-то сделать вместе с пользователем; «Вопросы», чтобы ответить на вопрос, заданный пользователем; и «Приложения», которые содержат игры на основе Flash API, инструменты, чаты и т. д. [5]

Конфиденциальность

Пользователи имеют возможность контролировать доступность своего контента.Например, можно скрыть свои фотографии, видео и целые страницы. Пользователи также могут выбирать, кто может пригласить их присоединиться к группам, написать личные сообщения, написать на своей стене и так далее. Утверждается, что поисковые системы не индексируют контент сайта. Кроме того, доминирующие на российском рынке игроки, Яндекс, Рамблер и, в меньшей степени, Google, не ссылаются на страницы Вконтакте с конфиденциальной информацией, а также на пользователей, которые хотят открыть свои страницы для широкой публики; фактически поисковые системы в настоящее время не дают никаких указаний на то, что какой-либо пользователь зарегистрирован в ВКонтакте.Если пользователи не размещают внешние ссылки на свои страницы где-либо еще, единственный способ найти страницу ВКонтакте - использовать собственные поисковые протоколы ВКонтакте. [5]

IM

ВКонтакте, как и многие другие крупные социальные сети, использует протокол XMPP в качестве основы для своего чата и службы присутствия. [5]

Это не оригинальный проект, а плагиат

Конечно, общая концепция ресурса Вконтакте не уникальна, так как социальные сети существуют в Америке, а также в европейских странах и в Китае.Люди во всем мире хотят поддерживать связь и общение со своими друзьями, одноклассниками или одноклассниками и коллегами. Исторически сложилось так, что раньше в США начали развиваться более громкие разговоры, именно там и появилась первая социальная сеть, одна из которых сейчас самая популярная в мире и называется Facebook.

Стоит отметить, что администрация контакта никогда не пыталась как-то скрыть тот факт, что такие ресурсы существуют. Основатель проекта Павел Дуров на страницах портала неоднократно обращался к клиентам, советуя им искать своих зарубежных друзей на соответствующих сайтах, и даже указывал их адреса.

Тем не менее, слухи о том, что контакт - это не подлинное внутреннее развитие, и плагиат продолжают существовать. Основа для них схожа с аналогичным дизайном сайта. Этот факт легко объясним: дизайн социальных сетей всегда был довольно минималистичным и является примером классического каскадного стиля CSS. Такое появление таких страниц уже стало правилом и позволяет пользователям со всего мира, даже не зная языка, отлично ориентируется на зарубежные аналоги.

Сменить дизайн в принципе нет проблем, но со временем это займет пару часов. Другое дело - внутренний контент ресурса: база данных, веб-технологии - все это просто уникальный дизайн. Ведь никто не винил в этом, например, Яндекс в том, что он якобы плагиат того же Google. Между тем, внутреннее содержание Контакта абсолютно уникально. Администрация проекта успешно сотрудничала со своими коллегами из других стран, никаких жалоб и обвинений в плагиате от них не поступало ни разу.[8]

FaceBook vs Vkontakte

Казалось бы, FaceBook и Vkontakte очень похожи друг на друга и преследуют одни и те же цели, но их подход настолько различен, а в некоторых случаях даже диаметрально противоположен! Мы предлагаем вам взглянуть на различия между этими двумя социальными сетями на примере таблицы.

FaceBook Вконтакте
Максимально открой внешний мир. Исправляет всевозможные препятствия.
С удовольствием выдает трафик на улицу (из-за чего получает еще больше трафика снаружи). Глушит вирусные инструменты, считая, что «если вы хотите быстро распространять информацию, платите за рекламу».
Разрабатывать всеми способами вирусные инструменты для распространения полезной информации для пользователя (то есть принцип поощрения свободного потока информации). сотовый контент
Первоначально созданные как среда свободного рынка и лучшие условия для бизнеса и разработчиков приложений, они, естественно, привлекаются, и общее количество за год соревнований здесь увеличилось, так что первый и второй начали платить большие деньги за рекламу SE. прямо сказал: хочу запустить фирменное приложение, которое давайте вступительный взнос и ежемесячную дань. А то, что размер дань очень большому приложению, которое не заработало и не знает как оно идет - такова ваша проблема.
Делает приложение, запускается, и оно работает. Приложение может быть закрыто только в том случае, если оно нарушает правила, и на него пожаловались пользователи Все приложения должны пройти предварительную модерацию - вы никогда не знаете, что делать, и вдруг что-то происходит!
Абсолютно открыт для интеграции с другими сервисами.Нашли на YouTube интересные видео и хотите поделиться с друзьями? Нет проблем, давайте ссылку на видео на FB, и друзья могут посмотреть его прямо здесь (без потери, кстати, авторских прав, того, кто разместил на YouTube). Вы нашли интересное видео на YouTube и решили поделиться им с друзьями в «Фейсбуке»? Нет проблем, утяните его от правообладателя YouTube, потанцевав с бубном, скачайте SWF-файл, загрузите его на «фейсбук», и только ваши друзья смогут насладиться результатами, нарушенными вами авторским правом.
Создатели решили сделать еще одну и с введением ее валюты ввести ее, но это не запрещает другие способы оплаты. Создатели решили сделать свою собственную валюту, ввели ее, и не дай бог, вы хотите брать платеж не «голосами»… В данном случае, из самого ВК в отношении своей валюты, мягко говоря, пренебрежительно: Фирменные приложения не могут оплачивать голоса, которые вы заработали, вы можете использовать только те голоса, которые вы купили напрямую в ВК банковским переводом.
Существует дорожная карта, которая предусматривает, что в будущем произойдут любые существенные изменения в обслуживании, чтобы предприятия могли к нему подготовиться, и для него это не было неожиданностью. Существенные изменения в правилах и введение услуг без предварительного уведомления. Например, Hallmark Channel вложил деньги в создание приложений, которые его запускают, и в тот же вечер BK ввел элемент правил, запрещающий внешние ссылки, и немедленно заблокировал это приложение за нарушение этого пункта.

Эти социальные сети как бы отражают сущность стран, в которых они родились и живут их создателями. Facebook представляет собой демократическое независимое государство, которое не хочет чрезмерного регулирования и которое, если что-то нужно, создает условия, чтобы это было выгодно всем, и вконтакте очень напоминает СССР и путинскую Россию с ее стороны. эксплуатируется «вертикаль», где отданы приказы и все контролируется властями лично.[9]

Итак, главный вопрос этой работы: плагиат Вконтакте или нет? Мы знали, что у Вконтакте и Facebook одинаковые цели и похожие интерфейсы, но разве это плагиат и что такое плагиат? В словаре есть следующее определение плагиата: «несанкционированное использование или близкое подражание языку и мыслям другого автора и представление их как своего собственного оригинального произведения». И чтобы сделать вывод нам нужно запомнить некоторые основные моменты этой статьи. Прежде всего, у Павла Дурова была идея создать эту социальную сеть, прежде чем он узнал о Facebook.Но, с другой стороны, основатель Вконтакте не скрывает, что его взяли в Facebook в качестве примера для Вконтакте. Кроме того, со временем Вконтакте становится все более похожим на Facebook.

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

,

Как сменить имя на ВК

Вопрос «как я могу изменить свое имя во Вконтакте» довольно популярен среди пользователей ВКонтакте. Фактически ВКонтакте позволяет пользователям менять ник в настройках профиля. Но иногда это не так просто, потому что вам нужно сообщить администраторам, почему вы это делаете. Что ж, посмотрим, , как сменить имя на ВК !

Как заменить имя на ВК

Давайте поговорим о том, как заменить ваше имя или фамилию во Вконтакте.Для этого просто выполните следующие простые шаги:

Шаг 1

Войдите, щелкните символ стрелки рядом с вашим ником и выберите «Изменить» в раскрывающемся списке;

Шаг 2

На следующей странице вы можете просто удалить свое имя или фамилию, написать новое и нажать «Сохранить» внизу страницы;
How to replace the name on VK

Шаг 3

Но часто случается, что ваше имя не изменится, и вы получите такое уведомление;
How to change your name on VK
Это происходит потому, что у Вконтакте есть политика настоящих имен.Это означает, что вы должны ввести настоящее имя при регистрации. Хорошо, если вы получили уведомление об отклонении вашего запроса, вы можете сделать следующее:

  1. Снова щелкните символ стрелки, но теперь выберите вкладку «Поддержка»;
    How to change your name on VK
  2. На следующей странице перейдите на вкладку «Профиль»;
    How to change your name on VK
  3. После этого найдите ссылку «У меня вопрос об изменении моего имени» и нажмите на нее. Здесь вы можете обратиться в службу поддержки ВКонтакте и попытаться убедить их, что вам действительно нужно сменить ник;
    How to change your name on VK

И иногда кажется, что этот процесс полностью управляется случайным образом.Потому что служба поддержки ВКонтакте может игнорировать ваши запросы и вопросы. Между тем некоторые счастливчики мгновенно меняют свои псевдонимы без какой-либо проверки со стороны администраторов.

Братан, я могу только добавить, что на вкладке «Редактировать» вы также можете изменить некоторые более базовые данные профиля, такие как ваше образование, работа и личные взгляды!
Эй, братан! Знаете ли вы, что вы можете заблокировать любого пользователя в VK и скрыть друзей в VK от других пользователей?

How to change your name on VK Идёт загрузка ... ,
html - Как сделать так, чтобы кнопка «Поделиться» Вконтакте была похожа на кнопку Facebook?
Переполнение стека
  1. Товары
  2. Клиенты
  3. Случаи использования
  1. Переполнение стека Публичные вопросы и ответы
  2. Команды Частные вопросы и ответы для вашей команды
  3. предприятие Частные вопросы и ответы для вашего предприятия
  4. работы Программирование и связанные с ним технические возможности карьерного роста
  5. Талант Нанимать технический талант
  6. реклама Связаться с разработчиками по всему миру
,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *