Witaj na blogu prowadzonym przez Sebana. Spisuję tutaj swoje uwagi na różny temat. Przeważają tematy związane z Internetem, popieranymi przeze mnie rozwiązaniami dotyczącymi wykorzystania komputerów, oraz kilka innych.

Walidacja numeru VAT w Active Record

15 lipca 2008 | Klucze: Ogólne, programowanie, rails, ruby, Techblog
Dodaj komentarz. trackback

W jednnym z projektów wykonywanych w pracy musiałem zadbać o poprawność wprowadzanego Europejskiego numeru VAT. Numer jak numer, kilka liter, kilka cyfr, łatwo sprawdzić za pomocą validates_format_of. Jednak sam numer to coś więcej. Musiałem weryfikować jego poprawność z centralnym zbiorze tych europejskich numerów. Na szczęście jest coś takiego jak VIES, który udostepnia nie tylko formularz na stronie, ale także webservice.

Do tego celu napisałem własny walidator - validates_as_vat_number. Całość leży sobie na Githubie i można spokojnie używać. Przykład:

class TestRecord < ActiveRecord::Base
    def self.columns; []; end
    attr_accessor :vat_number, :country_code
    validates_as_vat_number :vat_number,
      :scope => :country_code
  end
 
By poprawnie zwalidować number potrzebny jest samo numer i kraj dla którego będziemy ten numer sprawdzać, dlatego niezbędny jest scope.

W wolnej chwili chcę jeszcze dopisać możliwość ustawiania scope przez jakiś Proc ponieważ najczęsciej walidowany model nie ma pola zawierającego kod kraju w standardzie ISO 3166.

Praktyki sprawnego programisty

05 lipca 2008 | Klucze: Ogólne, programowanie
4 komentarze. trackback

Ostatnio pisałem o nowych książkach, a dziś napiszę o pierwszej z nich jaką przeczytałem. A przeczytałem coś co można chyba uznać już za klasykę książek z półki dla ,,agile developers''. Mianowicie mam tutaj na myśli Practices of an Agile Developer autorstwa Subramaniama i Hunta, całość wydana oczywiście w Pragmatic Bookshelf. Czy oni wydają jakieś złe książki?

Dla kogo jest ta książka? Nie tylko dla programisty co mógłby sugerować tytuł. Kadra zarządzająca niższego szczebla powinna też znaleźć ciekawe informacje w tej książce. W ostatnim rozdziale książki można znaleźć wskazówki skierowane do programisty i oddzielne dla menadżera. Czym ta książka nie jest. Nie dowiesz się z niej nic o podstawach Javy, Rubiego, .Net, czy jakiegokolwiek języka. Właściwie nie dowiesz się z niej nic technicznego. Jeśli chcesz jakąś książkę, dzięki której nauczysz się pisać w którymś z ww. języków to nie kupuj Praktyk Zwinnego Programisty. Ale jeśli umiesz już klepać kod, ale jesteś świadom, że często ma błędy, często piszesz nie to czego oczekują inni lub zespół którym kierujesz nie radzi sobie z zadaniami powinieneś właśnie przeczytać tą książkę. Autorzy opisują co to znaczy ,,agile'', jakie mechanizmy wprowadzić by pracować sprawniej, a produkowane oprogramowanie było właśnie tym czego oczkują klienci. Programiści dowiedzą się czemu muszą pisać testy i nigdy nie spoczywać na laurach.

Ja książkę zdecydowanie polecam. Z tego co wiem nie jest ona wydana po polsku, ale to niczemu nie szkodzi, wręcz przeciwnie według mnie. Angielski to teraz podstawowy język na świecie, a już na pewno w branży IT, więc czytanie tej książki to okazja by się poduczyć, a nie jest napisana jakąś skomplikowaną angileszczyzną. Practices of an Agile Developer pomoże czytelnikom spojrzeć na oprogramowanie z nieco innej strony. Szczerze polecam!