Ruby pozwala w bardzo czytelny sposób odwoływać się do klas. Warto wykorzystać to aby poprawić przejrzystość projektu. Idealnie jest, jeśli patrząc na nazwę klasy od razu wiadomo co robi i co jest wynikiem jej działania. Podobne podejście można również stosować w Railsach. Service objects są dobrym przykładem gdzie świetnie się to sprawdza. Zamiast nazywać klasę OrderService, lepiej użyć namespace które powie coś więcej o zamówieniu
Stałe, Moduły i Klasy w Ruby
W ruby każda “zmienna” zaczynająca się dużą literą jest stałą. Dotyczy to również nazw klas oraz modułów. Stałe zorganizowane są w strukture drzewiastą przypominającą strukture plików i katalogów. Można wyobrażać sobie klasy i moduły jako katalogi, natomiast zwykłe stałe jako pliki. Tak jak w systemie plików każdy katalog oraz plik ma własną unikalną ścieżkę, tak samo w ruby do każdej stałej odwołujemy się w po jej “ścieżce”
Aktualizacja Railsów do wersji 5.1 jest łatwiejsza niż może się wydawać. Osobiście spodziewałem się kilku godzin konfigurowania tak aby uzyskać wsparcie dla webpacka.
Nic z tych rzeczy. Wszystko jest latwe szybkie i intuicyjne
Testy
Aby zaktualiować cokolwiek konieczne są testy. Im więcej, tym lepiej. Jeśli ich nie ma lub jest mało, warto dopisać je przed aktualizacją. Bez nich wszystko staje się mocno ryzykowne.
(more…)
W przypadku nadpisywania zmiennych globalnych, javascript nie zawsze zachowuje się intuicyjnie. Zmienna nie musi być globalna, wystarczy że jest zdeklarowana powyżej funkcji w której jesteśmy.
Zgodnie z intuicją
Powiedzmy, że mamy zmienną x zadeklarowaną globalnie.
var x = 1; const log = () => { console.log(x) } log() // 1
Start/zbudowanie środowiska
Zaby wystartować środowisko, należy w katalogu głównym aplikacji odpalić
docker-compose -f config/docker/docker-compose.yml up -d
Zbudowanie środowiska
W raisach należy dodać konfiguracje dla bazy danych:
# config/database.yml development: <<: *default username: postgres host: db # nazwa zgodna z nazwą opisującą obraz bazy z docker-compose.yml database: name_of_database