Dlaczego nie powinnyśmy wysyłać maili z modelu w Railsach?

Wysyłanie wiadomości email przez aplikację do jej użytkowników jest czymś bardzo powszechnym. Wysyłamy maile związane z rejestracją, nowymi zmianami w aplikacji, reklamami, ostatnimi aktywnościami czy z zaproszeniem do grona znajomych. Można powiedzieć, że jest to chleb powszedni dzisiejszych aplikacji internetowych. Pomimo tego, że tak często aplikacje posiadają tą funkcjonalność, zdarzają się w niej błędy. Dziś chciałabym się takim błędem z Tobą podzielić.

Wroclove.rb 2019

Wroclove.rb 2019

Konferencje, to moim zdaniem jeden z fajniejszych sposobów na zaistnienie w społeczności programistycznej. Można poznać nowych ludzi, spotkać znajome twarze, a czasem odkryć coś nowego lub ugruntować wiedzę. Nawet jeżeli z jakiś przyczyn nie można być osobiście na konferencji, to warto później zajrzeć na dostępne nagrania. Choć wtedy brakuje takiej interakcji z innymi. Tak właśnie było ze mną, gdy zaczynałam programować w języku Ruby. Czułam się trochę taka zawieszona w powietrzu. Dopiero konferencje, warsztaty i hackatony dały mi poczucie bycia częścią większej społeczności. Dlatego też serdecznie Cię zachęcam do brania udziału w takich inicjatywach.

Kolejność wykonywania działań w Ruby

Kolejność działań matematycznych w programowaniu jest bardzo ważna. Jeżeli nie znasz ich dobrze, możesz dostać całkowicie inny wynik, niż się spodziewasz. Twój program może nawet przestać działać. Dlatego warto znać zasady, na jakich jest oparta kolejność działań w programowaniu. W tym przypadku w języku Ruby. Czy powinnyśmy postępować zgodnie z zasadami jakich nauczyłyśmy się w szkole na lekcjach matematyki? A może wystarczy stosować kolejność od lewej do prawej? Sprawdźmy.

Global Game Jam Cieszyn 2019

Global Game Jam to coroczny hakaton związany z grami. W tym samym czasie w wielu krajach na całym świecie graficy, dźwiękowcy i programiści spotykają się wspólnie by tworzyć gry komputerowe. Mają na to 48 godzin. Głównym celem tego hakatonu jest innowacja, eksperymentowanie i współpraca. Każdego roku uczestnicy dostają informację o nowym motywie przewodnim, jaki będzie obowiązywać podczas bieżącego game jamu.

Pattern matching w Elixirze - podstawy

Elixir to język funkcyjny, stworzony przez José Valim w 2012 roku. Uruchamia się on na maszynie wirtualnej Erlanga. W historii języka Elixir pojawia się pewne nawiązanie do Rubiego i Railsów. Otóż José jest członkiem Rails Core Team, czyli zespołu, który zajmuje się rozwijaniem frameworka Ruby on Rails.

Małe zapachy kodu

Myślę, że każdy programista, na pewnym etapie rozwoju, chciałby zająć się rozwiązywaniem dużych problemów. Chciałby tworzyć systemy o złożonej strukturze i być tą osobą, która za pomocą swoich rozwiązań zbawi świat. Czułaś się kiedyś w ten sposób? Ja tak, i to nie jeden raz. To zabawne, ale w chwilach, gdy właśnie tak się czuje, chciałabym zmienić całkowicie architekturę aplikacji, oczywiście na lepsze. ;] Zrobić refaktoring to tu, to tam. Byłabym w stanie zrobić to zupełnie sama, bez żadnej pomocy. Już widzę to wspaniałe rozwiązanie w swojej głowie. Jest prawie gotowe do użycia. W takich chwilach zapominam całkowicie, że takie rzeczy nie dzieją się same. O architekturę aplikacji trzeba dbać każdego dnia, w każdej linijce kodu. To jest ciężka praca. O wiele fajniej jest myśleć o integracji z Google Earth Engine, niż o nazwie jakieś mało istotnej zmiennej. Prawda?

Wyrażenia regularne - co może pójść nie tak?

Ktoś kiedyś powiedział: Masz problem, użyj wyrażeń regularnych. Będziesz mieć dwa problemy. To po części prawda. Przynajmniej w niektórych przypadkach. Jako programiści powinniśmy być odpowiedzialni za to, co piszemy, za swój kod. Powinniśmy zatrzymać się i pomyśleć dwa razy o wszystkich możliwych przypadkach użycia swojego kodu. I mieć na to wszystko dowody, czyli testy. Dzisiaj chciałaby podzielić się z Tobą pewnym przypadkiem problemów z wyrażeniami regularnymi. Przypadkiem, gdzie brak dobrego przygotowania i sprawdzenia zaowocował błędem w aplikacji. W tym artykule nie będę poruszać podstaw dotyczących wyrażeń regularnych. Chcę pokazać na co warto zwrócić uwagę, korzystając z wyrażeń regularnych.

Jak ustawić niestandardowy czas w przeglądarce dla testów aplikacji?

Nie przepadam za zmienianiem ustawień użytkownika, gdy wszystko działa dobrze. Tym razem potrzebowałam przetestować funkcjonalność, która wymagała zrobienia tego w różnych strefach czasowych. Znalazłam sposób by zrobić to bez zmiany moich standardowych ustawień.Pracuję w projekcie, gdzie używamy zewnętrznego API dla danych pogodowych, które później wyświetlamy użytkownikowi. Był tam pewien błąd z brakującymi wartościami dla konkretnych przedziałów czasowych. Gdy użytkownik prosił o dane z października, brakowało mu zawsze ostatniego dnia (31.10). Natomiast prosząc o dane z września wszystko działało poprawnie.