
Edmund Richardson
0
4380
7
10 lat temu w pokoju wieloosobowym na Harvardzie uruchomiono Facebooka. Początkowo Mark Zuckerberg włamał się do bazy kodu składającej się wyłącznie z kodu PHP Jak działa Facebook? Nakrętki i śruby [Objaśnienie technologii] Jak działa Facebook? The Nuts and Bolts [Technologia objaśniona], interakcja z bazą danych MySQL.
Od tego czasu zwiększyła swój rozmiar, zarówno pod względem użytkowników, jak i programistów pracujących nad bazą kodu, która stale rośnie. Wkrótce stało się jasne, że chociaż PHP było świetnym językiem do założenia Facebooka, nie odpowiadało już potrzebom firmy.
I tak stworzyli Hack, który jest językiem zbudowanym z myślą o celu, pozwalającym na szybszy rozwój, większe zespoły programistyczne, przy jednoczesnym zachowaniu pełnej interoperacyjności z popularnym językiem programowania PHP Naucz się budować z PHP: kurs Crash Naucz się budować z PHP: kurs Crash PHP jest językiem używanym przez Facebooka i Wikipedię do obsługi miliardów zapytań dziennie; de facto język używany do nauczania programowania stron internetowych. Jest pięknie prosty, ale genialnie potężny. .
Odbiór Hacka przez społeczność programistów był oszałamiający. Ludzie są bardzo podekscytowani szybkim, ale łatwym w rozwoju językiem, zachowując jednocześnie zgodność wsteczną z wieloma istniejącymi bibliotekami PHP.
Oto wszystko, co musisz wiedzieć o instalacji Hacka, a także o tym, jak zmoczyć stopy językiem.
Co jest takiego specjalnego w hakowaniu??
Świetne pytanie. Prawdopodobnie wiesz, że niektóre języki programowania są kompilowane do kodu bajtowego, który działa na specjalnej maszynie wirtualnej (jak Java i Clojure), podczas gdy inne języki (jak PHP, Ruby i Python) działają w tłumaczu.
Prawdopodobnie wiesz również, że języki interpretowane są z natury wolniejsze niż języki, które wytwarzają bajtowy kod, który jest specjalnie zoptymalizowany dla maszyn wirtualnych, na których działają. Z tego powodu istnieją dialekty Python i Ruby (odpowiednio zwane Jython i JRuby), które działają na wirtualnej maszynie Java Co to jest wirtualna maszyna Java i jak to działa? Co to jest wirtualna maszyna Java i jak działa? Chociaż nie jest absolutnie konieczne, aby wiedzieć, że działa, aby programować w Javie, nadal warto o tym wiedzieć, ponieważ może pomóc Ci zostać lepszym programistą. .
Hack wyjątkowo działa na własnej maszynie wirtualnej, zwanej maszyną wirtualną Hip Hop. To właśnie ta maszyna wirtualna została wykorzystana przez Facebooka do skalowania miliardów codziennych użytkowników.
Hack to coś więcej niż maszyna wirtualna, na której działa. Zawiera także adnotacje typu, umożliwiające deklarowanie zmiennych na podstawie treści, które będą przechowywać (ciąg, liczba całkowita, wartość logiczna), funkcje lambda (anonimowe), a także ogólne.
Instalowanie Hacka
Mam złe wieści dla użytkowników OS X i Windows. Hack albo nie działa na tych platformach, albo wsparcie jest tak niestabilne, że nie warto o tym rozmawiać. Zamiast tego albo musisz odpalić system Linux VPS. Dowiedz się wszystkiego o wirtualnych serwerach prywatnych w dwie minuty Dowiedz się wszystkiego o wirtualnych serwerach prywatnych w dwie minuty Przy tak wielu świetnych dostępnych usługach hostingowych trudno jest wybrać odpowiedni dostosowane do twoich potrzeb. lub VM.
Z czystego lenistwa postanowiłem stworzyć Linux VPS z Digital Ocean, który jest jednym z moich ulubionych dostawców VPS. Stworzyłem małą kroplę z systemem Ubuntu 13:10 Ubuntu 13.10 Uruchomiony z Friends Scope, Dash Filters i więcej Ubuntu 13.10 Uruchomiony z Friends Scope, Dash Filters i więcej Canonical uruchomił najnowszą i świetną wersję najpopularniejszej na świecie bezpłatnej i open-source stacjonarny system operacyjny, Ubuntu 13.10 “Soczysta Salamandra”. , a następnie zainstalowałem Hack za pomocą następujących poleceń.
wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu saucy main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get upgrade sudo apt-get install hhvm-nightly
Jak widać tutaj, pobieram klucz GPG do repozytoriów Hack; dodaj repozytorium do mojej listy źródeł; zaktualizuj moje definicje źródeł; zaktualizuj mój system, a następnie zainstaluj Hack. Naprawdę proste.
Hakowanie za pomocą hacka
Czas napisać kod Hacka. Zaczniemy od sprawdzonego programu „Hello World”. Ten nie będzie działał w przeglądarce internetowej, ale raczej wypisze na konsoli napis „Hello World”.
Utwórz nowy plik o nazwie HelloWorld.php (tak, z jakiegoś powodu Hack nalega na użycie .php jako domyślne rozszerzenie pliku) w twoim ulubionym edytorze tekstów (moim preferowanym wyborem jest VIM 7 najlepszych powodów, aby dać szansę edytorowi tekstów Vim 7 najlepszych powodów, aby dać szansę edytorowi tekstów Vim Od lat próbowałem jednego tekstu edytor po drugim. Nazywasz to, próbowałem. Używałem każdego z tych redaktorów przez ponad dwa miesiące jako mój główny codzienny edytor. Jakoś…) i dodaję następujące wiersze.
Które powinny zostać wydrukowane Witaj świecie do konsoli po uruchomieniu z 'hhvm'.
Dobra, spróbujmy uruchomić program Hack w przeglądarce. Najpierw będziemy musieli zainstalować Apache i PHP. Dotknąłem tego w poprzednim artykule. Zarejestrowałeś się tylko w hostingu SSH? Nie martw się - łatwa instalacja oprogramowania sieciowego zarejestrowanego na potrzeby hostingu wyłącznie przez SSH? Nie martw się - łatwa instalacja oprogramowania WWW Nie wiesz, co należy wiedzieć o obsłudze Linuksa za pomocą jego potężnego wiersza poleceń? Nie martw się więcej. , ale aby odświeżyć pamięć, przejrzę ją ponownie. Uruchom następujące polecenia.
sudo apt-get install apache2 sudo apt-get install php5
Możesz także zainstalować Apache, PHP, MySQL i całą masę innych przydatnych narzędzi za pomocą następującego polecenia. (Nie zapomnij o karetce na końcu linii - lampa-serwer nie jest pojedynczą paczką, ale raczej kolekcją)
sudo apt-get install lamp-server ^
Zalecane jest uruchomienie tego, jeśli planujesz przyjrzeć się bliżej, poważniejszemu rozwojowi sieci za pomocą języka programowania Hack, ponieważ zawiera on wiele narzędzi, które mogą okazać się bardzo przydatne.
Po wykonaniu tej czynności uruchom ponownie maszynę wirtualną Hip Hop za pomocą następującego polecenia.
sudo /etc/init.d/hhvm start
Sprawdź, czy Apache działa, otwierając przeglądarkę i przechodząc do adresu IP serwera WWW. Jeśli wszystko działa, powinieneś to zobaczyć.
Świetny! Teraz przejdź do / var / www i usuń właśnie wyświetloną stronę (o nazwie „index.html”) za pomocą następujących poleceń.
cd / var / www rm index.html
Teraz utwórz plik o nazwie index.php i dodaj te same linie, które napisałeś wcześniej.
Witaj świecie„;
Po wykonaniu tej czynności ponownie odwiedź serwer sieci Web w wybranej przeglądarce.
Jak widać, jest trochę dziwności, gdy Hack rozpoznaje koniec łańcucha. W związku z tym chciałbym skorzystać z okazji, aby przypomnieć, że chociaż ta technologia jest całkiem fajna, wciąż jest dość surowa i prawdopodobnie nie jest gotowa do wdrożeń produkcyjnych. Dodam jednak, że korzystam z nocnej wersji Hacka, która jest najbardziej zaawansowaną dostępną wersją. W rezultacie nie powinno dziwić, że niektóre rzeczy nie działają idealnie.
Jeśli znasz PHP, możesz rozpoznać wypowiedź „Echo”, której użyłem wcześniej. Hack może wywołać dowolną funkcję PHP. Tutaj nazywam „phpinfo ();” w ramach programu Hack.
Niektóre funkcje specyficzne dla hacków
Hack wnosi wiele do stołu, jeśli chodzi o nowe funkcje językowe. Omówiłem niektóre z nich wcześniej, w tym deklaracje typu. Niestety nie będziemy w stanie opisać wszystkiego w tym jednym artykule, ale pomyślałem, że dobrym pomysłem może być sprawdzenie, jak Hack obsługuje definicje typów.
Podsumowując, w definicjach typów definiuje się zmienną na podstawie jej zawartości. Jak to działa? Cóż, trochę tak.
Jak widać, zaczynamy od deklaracji typu, po której następuje nazwa zmiennej (zaczynając od znaku dolara, podobnie jak w tradycyjnym PHP), po której następuje wartość przypisana do zmiennej.
Dotyczy to również deklaracji funkcji. Kiedy deklarujesz funkcję i przekazujesz jej parametr, musisz zadeklarować typ zmiennej, do której będziesz ją przekazywał. Jeśli tego nie zrobisz lub wprowadzisz niewłaściwy typ zmiennej, spodziewaj się lamentów i zgrzytania zębami.
Jak to działa w Hack? Dowiedzmy Się.
Utwórz nowy plik o nazwie „function.php” i napisz następujące wiersze.
Jeśli korzystałeś z PHP w przeszłości, być może będziesz w stanie rozszyfrować niektóre z nich. Stworzyliśmy funkcję, którą nazwaliśmy „cześć”. Następnie przekazujemy ciąg znaków, który jest następnie powtarzany echem do konsoli po słowie „Cześć”.
Ale co to jest : nieważne kawałek? Cóż, w Hack musimy powiedzieć komputerowi, czy funkcja zwróci wartość. Jeśli nie, mówimy, że funkcja jest „nieważna”. Jak wszystko w przypadku Hacka, musimy zadeklarować typ wartości, które zostaną zwrócone.
Następnie uruchamiamy ten kod za pomocą aplikacji wiersza polecenia „hhvm” i powinniśmy to zobaczyć.
Wniosek
Hack ma wiele do kochania.
Jest to język, który wymaga pisania lepszego kodu, a jednocześnie jest łatwy do zrozumienia i absurdalnie szybki. Ma również wsparcie jednej z największych firm technologicznych w okolicy, która wykorzystuje go codziennie w produkcji, aby jedna z największych istniejących witryn była dostępna dla milionów użytkowników.
Mimo to wciąż jest to bardzo nowy język. W rzeczywistości napisałem ten artykuł następnego dnia po jego opublikowaniu. Trudno jest zalecić, aby ktokolwiek zaczął go teraz produkować, ale na pewno będzie się z nim bawił.
Ale to tylko moja opinia. Spróbujesz? Napisz komentarz poniżej i daj mi znać, co myślisz.