Archiwum kategorii ‘HowTo‘

 
 

Sposób na sitemap.xml w bloggerze

Przyglądałem się trochę bloggerowi (bardzo fajny i przyjazny system blogowania, niestety jeśli chodzi o funkcjonalność jest nadal za WordPressem). To co rzuciło mi się w oczy to fakt, że blogger sam z siebie nie oferuje generowania mapy strony w postaci pliku XML (sitemap.xml). Co w takim razie zrobić jeśli chcemy aby mapa naszego bloggerowego bloga była widoczna w Google Webmasters?

Mapę strony możemy zastąpić linkiem do kanału RSS naszego bloga. Wszystko co trzeba zrobić to:

  1. Wejść do Google Webmasters:
    https://www.google.com/webmasters/sitemaps/
  2. Dodać witrynę:
    my-blog.blogspot.com
  3. Dodać mapę witryny. Link do mapy powinien wyglądać następująco:
    my-blog.blogspot.com/atom.xml?redirect=false&start-index=1&max-results=100

Adres ‘my-blog.blogspot.com’ należy oczywiście zastąpić adresem własnego bloga. W ten sposób dodamy mapę strony, która z każdym nowym postem będzie automatycznie uaktualniana.

Informacje zapożyczyłem z grupy googlowej.

‘asp’ is an unrecognized tag prefix or device filter

… czyli co zrobić gdy Visual Studio nie rozpoznaje tagów asp

Kilka dni temu powróciłem do naszego starego projektu w ASP.NET, w celu dodania kilku nowych fajerwerków. Ponieważ już od jakiegoś czasu nie miałem styczności z ASP musiałem poświęcić chwilę na małe rozpoznanie i przygotowanie stanowiska pracy. Gdy tylko usiadłem do Visual Studio 2005 (Web Developer), powróciły przykre wspomnienia dotyczące SourceSafe’a i pracy z całym środowiskiem. Jednym z bardziej wkurzających komunikatów, które zobaczyłem podczas ponownego wdrażania się w projekt był “słynny” “‘asp’ is an unrecognized tag prefix or device filter”. Czyli coś w stylu, VS informuje, że nie potrafi rozpoznać tagów ASP. Ręce mi opadły.

Z tego co udało mi się ustalić, rozwiązań jest kilka w zależności od problemu i skomplikowania projektu.

  • jeśli korzystasz z szablonów Master Page, a błąd występuje na podstronie dziedziczącej z szablonu lub używającej go, można uniknąć błędu otwierając w edytorze wykorzystywany szablon Master Page (głupie, ale na prawdę pomaga).
  • edytor VS 2005 bazuje na dynamicznie generowanych XML schemes, opisujących kontrolki ASPowe. Stąd błędy w wygenerowanych plikach mogą powodować wspomniany wcześniej komunikat. Rozwiązaniem w takim wypadku jest zamknięcie VS i wyczyszczenie katalogu zawierającego schematy xml. Katalog znajduje się pod adresem:
    C:\Documents and Settings\[Username]\Dane aplikacji\Microsoft\VisualStudio\8.0\ReflectedSchemas

    Po wyczyszczeniu katalogu należy ponownie uruchomić VS. Teraz schematy powinny się wygenerować na nowo i teoretycznie problem jest rozwiązany.

  • Komunikat o nierozpoznaniu tagów ASP może pojawić się również gdy w kodzie występują błędy, które uniemożliwiają jego kompilację. Zazwyczaj usunięcie błędów prowadzi do ponownego zaakceptowania tagów ASP.

Problem z rozpoznawaniem tagów ASP jest o tyle dziwny, że w 99% kod kompiluje się pod IIS, ale niestety nie działa pod VS.

W razie dalszych problemów polecam zapoznanie się z wątkami:
http://blogs.msdn.com/mikhailarkhipov/archive/2005/04/21/410557.aspx i
http://forums.asp.net/p/873238/883002.aspx#883002

Pierwszy z nich to blog developera VWD, zaczerpnąć informacji bliżej źródła już się chyba nie da;)

Pomocnik UMLowy

Szukając materiałów na temat modelowania i projektowania oprogramowania w UML trafiłem na ciekawą ściągę. Mowa o pomocniku UMLowym, który zawiera podstawowe pojęcia i definicje UML przedstawione w postaci obrazków i odpowiadającym im opisów.

Pomocnik pozwala na szybkie i łatwe przypomnienie / opanowanie podstaw UMLa.

UPDATE: ponieważ oryginalny link do pomocnika nie działa (możliwe, że tymczasowo, ale wpadłem w małą panikę; szkoda byłoby zgubić taką fajną pomoc naukową) publikuję kopię pomocnik UMLowy.

Memcached, z czym to się je?

Na memcached natknęliśmy się podczas projektowania systemu wielojęzyczności (i18n) jednego z naszych serwisów. Problemem była kwestia przechowywania tłumaczeń tekstów. Pomysłów było kilka:

  • tłumaczenia przechowywane w plikach PHP, odpowiedni plik ze stałymi będzie includowany podczas obsługi żądania strony,
  • tłumaczenia przechowywane w plikach XML, pliki będą doczytywane w miarę potrzeby,
  • tłumaczenia przechowywane w bazie danych, i na bieżąco wczytywane.

Wszystkie te podejścia mają jednak słaby punkt, otóż za każdym żądaniem strony, tłumaczenia muszą być wczytywane od nowa. Faktem jest, że wszystkie trzy metody zawierają w sobie pewien rodzaj cache’owania (wczytywane pliki są cache’owane przez system operacyjny, zapytania bazodanowe cache’owane są przez bazę danych), ale tak na prawdę żaden z nich nie oferuje optymalnego rozwiązania. Najgorszym spośród wyżej wymienionych rozwiązań jest chyba czytanie tłumaczeń z plików XML. Wyobraźmy sobie, że za każdym razem gdy skrypt napotyka napis, musi wczytać odpowiedni plik i przeparsować XML w celu znalezienia tłumaczenia. Dodajmy do tego średnio 100 użytkowników aktualnie korzystających z aplikacji webowej i mamy murowaną porażkę. Można oczywiście spróbować cache’ować napisy na czas żądania strony, ale trzeba wziąć pod uwagę, że tłumaczenia raz wczytane, nie będą się często zmieniać. Większość z nich jest również wspólna dla wszystkich użytkowników. Tutaj do akcji spokojnie można zaprząc memcached.


Den ganzen Beitrag lesen…

Timestamp i “odległe” daty w PHP - problem roku 2038

Pracując nad obsługą dat w PHP napotkałem problem, który jest bardzo często niezauważany lub pomijany. Otóż timestamp (czyli liczba sekund, która upłynęła od dnia 1 stycznia 1970) jest w PHP przechowywany i przetwarzany jako integer. Cóż z tego? Otóż ogranicza to jego reprezentację do 32 bitów, a mówiąc wprost najbardziej odległą datą jaką można zapisać w takim timestampie jest 19 stycznia 2038. Co jeśli interesuje mnie praca z późniejszymi datami? Krótko mówiąc lipa, timestamp w PHP nie przewiduje takiej możliwości. Byćmoże zostanie to rozwiązane w kolejnej wersji PHP.


Den ganzen Beitrag lesen…

Problem z usypianiem / hibernacją w Ubuntu Feisty Fawn (Dell Inspiron E1505/6400).

Źródło: http://blog.paulbetts.org

Zaraz po uruchomieniu nowego Ubuntu (7.04), zadowolony z w miarę szybkiego rozwiązania problemów z instalacją (patrz Problem z Ubuntu LiveCD na laptopie Dell Inspiron E1505/6400 (ATI X1400)) zacząłem szperać w systemie. W zasadzie nie byłoby się do czego przyczepić, gdyby nie niedoszła próba uśpienia laptopa. No cóż, trzeba było trochę poszukać i okazało się, że jest inne rozwiązanie usypiania niż to, dostarczone wraz z Ubuntu. Mam na myśli µswsusp. Okazuje się, że w zależności od sprzętu dla jednych działają lepiej natywne metody, a dla drugich µswsusp. Jeśli zdarzyło się, że masz problem z tym pierwszym, dalej znajdziesz rozwiązanie.


Den ganzen Beitrag lesen…

Problem z Ubuntu LiveCD na laptopie Dell Inspiron E1505/6400 (ATI X1400).

Trochę z opóźnieniem, ale w końcu zainstalowałem sobie Ubuntu 7.04 (poprzednio używałem Ubuntu 6.10). Nie trzeba było długo czekać, już na samym początku wystąpił błąd. Uruchomienie LiveCD powoduje błąd Xorga i wyjście do konsoli. Problemem okazał się brak sterownika do karty graficznej. Aby uruchomić Ubuntu live należy zamknąć okienka z błędem i wywołać w konsoli następujące polecenia:

sudo apt-get install xorg-driver-fglrx
sudo aticonfig --initial
sudo aticonfig --overlay-type=Xv
startx

Spowoduje to zainstalowanie się sterownika do karty graficznej i uruchomienie serwera Xów. Po zainstalowaniu systemu na dysku należy ten proces powtórzyć.