Взлом вконтакте программа: Взлом ВК — скачать приложение Взлом ВК на Андроид бесплатно

Hack: новый язык программирования для HHVM

Торопитесь? Попробуйте Hack прямо сейчас: http://hacklang.org/

Сегодня мы выпускаем Hack, язык программирования, разработанный нами для HHVM, который легко взаимодействует с PHP. Hack сочетает быстрый цикл разработки PHP с дисциплиной, обеспечиваемой статической типизацией, добавляя при этом множество функций, обычно встречающихся в других современных языках программирования.

Мы внедрили Hack в Facebook, и это имело большой успех. За последний год мы перевели почти всю нашу кодовую базу PHP на Hack благодаря как органическому принятию, так и ряду собственных инструментов рефакторинга.

Мы также рады представить общедоступную версию Hack с открытым исходным кодом на http://hacklang.org/ как часть нашей платформы выполнения HHVM, которая теперь будет поддерживать как Hack, так и PHP.

Мотивация

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

В масштабах Facebook, где тысячи инженеров два раза в день выпускают новый код, подобные замедления представляют еще большую проблему. До Hack у нас был простой язык с быстрой петлей обратной связи, но как мы могли смягчить проблемы, описанные выше? Может ли раннее обнаружение ошибок сосуществовать с быстрой итерацией, сохраняя при этом наши инвестиции в PHP? Могут ли улучшенный анализ кода и самоанализ помочь разработчикам повысить продуктивность с помощью таких инструментов, как автозаполнение?

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

Так родился Хак. Мы считаем, что он предлагает лучшее из языков как с динамической, так и со статической типизацией, и что он будет полезен для проектов любого размера.

Язык Hack

Hack имеет глубокие корни в PHP. На самом деле, большинство файлов PHP уже являются допустимыми Hack-файлами. Мы сделали сознательный выбор, чтобы не поддерживать несколько устаревших функций и функций, которые были несовместимы со статической типизацией (например, «переменные переменные» и функция extract()). Мы также добавили множество новых функций, которые, по нашему мнению, помогут повысить продуктивность разработчиков.

Нашим основным дополнением является статическая типизация. Мы разработали систему для аннотирования сигнатур функций и членов класса информацией о типе; наш алгоритм проверки типов («проверка типов») делает вывод об остальном. Проверка типов является инкрементной, так что даже в одном файле некоторый код может быть преобразован в Hack, в то время как остальная часть остается динамически типизированной. С технической точки зрения, Hack — это «постепенно типизированный*»* язык: динамически типизированный код легко взаимодействует со статически типизированным кодом.

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

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

Коллекции представляют собой чистую, типобезопасную альтернативу массивам PHP. Мы разработали их специально, чтобы они хорошо работали со статической типизацией и дженериками. API коллекций предлагает множество классических функций более высокого порядка, таких как map() и filter(), для упрощения стилей функционального программирования.

Лямбда-выражения дают краткий синтаксис для создания замыканий. Хотя в PHP есть замыкания, он требует, чтобы программист явно называл переменные, которые им нужно использовать, из окружающих областей. Благодаря лямбда-выражениям Hack мы автоматически выводим эти варианты использования, избавляя вас от ненужной работы. Лямбда-выражения упрощают использование всех преимуществ API коллекций.

Принудительное применение возвращаемых типов и типов параметров (включая скалярные типы, такие как int и string) во время выполнения обеспечивает безопасность, превышающую ту, которую можно проверить статически, пока аннотации типов постепенно добавляются в кодовую базу. Принудительное выполнение во время выполнения помогает программистам легче обнаруживать и диагностировать определенные виды проблем, а также помогает JIT HHVM создавать более эффективный код, делая безопасным доверие к аннотациям типов для целей оптимизации.

Мгновенная проверка типа

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

Традиционно проверка типов нарушала бы этот цикл обратной связи, поскольку для анализа исходного кода требуется время. Мы не хотели замедлять рабочий процесс PHP, поэтому придумали новый подход, чтобы согласовать мгновенную обратную связь с безопасностью типов.

Наше решение состояло в том, чтобы спроектировать средство проверки типов как локальный сервер, наблюдающий за файловой системой. Сервер хранит всю информацию об исходном коде в памяти и автоматически обновляется при изменении файла на диске. Такой подход оправдал себя: проверка типов обычно выполняется менее чем за 200 миллисекунд и редко занимает больше секунды, что упрощает интеграцию в рабочий процесс разработки без заметной задержки.

Миграция кода

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

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

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

Не волнуйтесь, ваш PHP в безопасности!

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

Теперь HHVM — это среда выполнения, которая поддерживает *и PHP*, и Hack, так что вы можете постепенно начать пользоваться преимуществами новых функций Hack.

Развлекайся с Хаком!

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

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

Мы будем рады вашим отзывам о нашей работе и приглашаем всех вас принять участие в сообществе HHVM и Hack.

Благодарности

Многие люди внесли свой вклад в разработку Hack.

Основная группа хакеров состоит из Жюльена Верлаге, Джоэла Билса, Юджина Летучи, Габриэля Леви, Джоэла Марси, Эрика Мейера, Алока Менграджани, Брайана О’Салливана, Дрю Пароски, Джеймса Пирса, Джоэла Побара и Джошуа Ван Дайка Вацмана.

Особая благодарность нашим первопроходцам сообщества за предоставление ценных отзывов для улучшения языка: Джеймсу Миллеру, Саймону Уэлшу, Нильсу Адерманну, Фабьену Потенсье и Александру Молсу.

Hack написан в основном на OCaml. Мы хотели бы поблагодарить команду Gallium (INRIA) за разработку языка OCaml и команду Ocsigen (CNRS — Университет Парижа Дидро — INRIA) за разработку js_of_ocaml части Ocsigen.

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

пользователей Facebook заблокированы благодаря «взлому Лили Коллинз». поделиться предупреждением для всех на Facebook. Хакеры блокируют доступ пользователей к их профилям и даже получают доступ к их банковским счетам. Он учился на горьком опыте.

Автор: Андреа Альберс

Опубликовано в 07:12, 05 апреля 2023 г.

и последнее обновление 05.04.2023 13:23:18-04

МИЛУОКИ — Существует разочарование по поводу таинственного взлома Facebook, который, кажется, становится все больше . Некоторые пользователи обнаруживают, что их учетные записи были взломаны, и они заблокированы без возможности вернуться.

Это стало известно как «взлом Лили Коллинз». Люди обнаруживают, что их учетные записи Facebook заблокированы после того, как их имена и фотографии профиля были изменены на Лили Коллинз, актрису.

А в некоторых случаях это идет еще дальше. Хакеры смогли получить доступ к банковским счетам через захваченные профили Facebook.

Некоторые пользователи Facebook считают, что хакеры получили доступ, когда щелкнули ссылку, которая выглядела как реклама программы ChatGPT, но это был вирус.

Другие, такие как развлекательный критик Райан Джей, понятия не имеют, как их учетные записи были скомпрометированы.

«Мое имя было изменено, мой номер телефона был удален из Facebook», — сказал он, вспоминая момент, когда понял, что стал жертвой взлома.

Райан Джей снова получил контроль над своим аккаунтом в Facebook, но не раньше, чем исчезло несколько сотен долларов.

«Примерно через пять дней после того, как мой аккаунт был взломан и отключен, я вдруг заметил, что в моей банковской выписке было списано почти 300 долларов США за рекламу Meta в Facebook», — вспоминает он.

Он все еще ждет сообщения о возмещении. Больше недели он пытался связаться с кем-нибудь в Мете. Он говорит, что после более чем двух десятков электронных писем единственные ответы, которые он получил, были автоматическими ответами.

«Я просто в шоке от того, что компания размером с Facebook, одна из крупнейших компаний в мире, миллиардная компания, лидер в пространстве социальных сетей — абсолютно не несет ответственности за свой продукт и за его отсутствие ответственности перед своими членами», — добавил он.

Некоторые жертвы взлома Лили Коллинз потеряли доступ к многолетним контактам, фотографиям или ценным воспоминаниям. Другие, такие как создатели контента или владельцы бизнеса, теряют доход, чем дольше они заблокированы. По иронии судьбы около 1500 человек присоединились к группе в Facebook, чтобы поделиться своим разочарованием. Там полно людей, которые были вынуждены создавать новые учетные записи, не зная, исправит ли Facebook ситуацию.

«Нужен ли закон для социальных сетей?» — спросил Райан Джей. «Я просто не знаю, кто еще будет привлекать эти компании к ответственности, если только мы все не объявим бойкот и не покинем Facebook, но это нереально».

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

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

Закрыть
Menu