Dziś przyszedł czas na poruszenie tematu architektury aplikacji typu enterprise. Planuje napisać cykl postów m.in. o różnych wzorcach projektowych wykorzystywanych do budowy kolejnych warstw systemu. Zacznę od totalnych podstaw, które mają na celu wyjaśnienie z czego tak naprawdę powinna się składać solidna aplikacja. Przedstawię również kilka prostych zasad inżynierii oprogramowania mających na celu usprawnienie pisania elastycznego kodu. Zacznijmy od określenia czym jest aplikacja enterprise. Według n...
Strona głównaUżytkownik
Twelve | użytkownik
Architektura 5356 dni, 11 godzin, 45 minut temu 278 źrodło rozwiń
Oryginalny post: Maybe Normalizing Isn't Normal Autor: Jeff Atwood Jednym z problemów z jakimi mierzymy się teraz przy Stack Overflow jest utrzymanie wysokiego poziomu wydajności relacyjnej bazy danych, podczas gdy jej rozmiar znacząco rośnie. Bardziej precyzyjnie, chodzi o skalowanie naszego systemu tagów. Dobrze zaprojektowana baza danych to baza znormalizowana, tak mówią tradycyjne zasady projektowania. Niemniej jednak, ja nie jestem tego taki pewien. Dare Obasanjo opublikował świetny post pt. Kiedy...
Bazy danych i XML 5357 dni, 16 godzin, 33 minuty temu 79 źrodło rozwiń
W dzisiejszym świecie "nietechniczni" kreatywni ludzie nie mają łatwo. Obrotny biznesmen chce wsadzić w coś trochę kasy, rozkręcić jakiś projekcik, wpada na genialny pomysł: "a, zainwestuję sobie w portal!". Pomysł - betka. Założenia - betka. Analiza - betka. Ewentualna dotacja - betka. Okazuje się, że wszystko jest banałem w porównaniu z dokonaniem wyboru technologii. I, wbrew pozorom, im więcej ekspertów, tym trudniejszy wybór. Chcesz wiedzieć jak jest naprawdę? Która z dzisiejszych technologii gwara...
Zastanawiałem się ostatnio nad tym, jaki MUSI być godny zaufania freelancer-programista, a jaki być NIE MOŻE. Efektem jest kilka spostrzeżeń, które dla wielu ocierają się zapewne o banał... ale ze względu na spore zainteresowanie ostatnim postem o tej tematyce postanowiłem się nimi podzielić. Co zatem cechuje profesjonalistę?
Programowanie współbieżne w c# 4.0 jest znacznie łatwiejsze w porównaniu z poprzednią wersją. Widać, że platforma .NET staje się coraz dogodniejszym środowiskiem programistycznym dla rozwiązań równoległych. Zacznijmy od pętli foreach. Przeważnie wykonujemy ją w sposób sekwencyjny. Jeśli chcielibyśmy zrównoleglić ją, musielibyśmy stworzyć instancję Thread i zawartość pętli umieścić w wątkach. Ponadto proces wymagałby użycia np. semafora albo ManualResetEvent aby zsynchronizować kod wykonywany po zakończe...
W ubiegłym tygodniu w implementowanym systemie zajmowałem się datą i czasem. I tak mnie tknęło... dlaczego w ogromnej większości systemów, które przyszło mi oglądać, datę zapisuje się w sposób następujący? 1: article.PublishedTime = DateTime.Now Niby co jest z tym złego? Właściwie... to zależy od kontekstu i rodzaju tworzonego systemu. Korzystając z powyższej konstrukcji trzeba zdawać sobie sprawę z tego, że tak zapisany czas jest ZALEŻNY od maszyny, na której operacja ma miejsce. Wartość ta odczytana...
Jestem przekonany, że nad przyciskiem OFF w Windows Vista bardzo ciężko pracował cały zespół projektantów interfejsu, programistów i testerów. Ale tak serio, czy jest to najlepsze rozwiązanie jakie można było otrzymać?
W przeciwieństwie do mitu, nie ma czternastu rodzajów programistów. Są tylko dwa, jak przypomniał nam Ben Collins-Sussman. W świecie tworzenia oprogramowania istnieją dwie "klasy" programistów: nazwę ich 20% i 80%.
Tworząc oprogramowanie na pewno przydaje się repozytorium kodu źródłowego, system do śledzenia problemów lub zadań i inne aplikacje. W tym post'cie chciałbym się skupić na tych pierwszych dwóch i omówić jak można skonfigurować popularnego klienta repozytorium Subversion: Tortoise SVN, by można w nim wprowadzać numer problemu/zadania, a później klikając na ten numer w logu przejść do właściwego problemu w systemie kontroli problemów: BugNet.
Minęło circa około ~300 dni od kiedy zostałem freelancerem. Przez ten czas dość regularnie otrzymywałem od Was pytania typu "jak to jest?", "jak zacząć?", "jakie są plusy i minusy?"... Czas więc na krótkie zerknięcie wstecz i spisanie kilku porad dla tych, którzy myślą o przejściu na "swoje" i pracy w domu. Freelancowanie może wydawać się szczytem zawodowej rozkoszy, jednak nie wolno myśleć o nim z klapkami na oczach. Przez nierozsądne podejście do tematu można się nieźle sparzyć. Mam nadzieję, że po le...
Jak zapewne zauważyłeś od jakiegoś czasu trzy razy w tygodniu pojawiały się wpisy, których tytuły zaczynały się od 70-536. Kamil Lemański, Daniel Jarzynka oraz Dawid Tulski przygotowując się do tego egzaminu tworzyli wpisy podsumowujące kolejne lekcje z Training Kita. W tym miejsu zebrałem wszystkie artykuły, które się pojawiły (pojawiły się już wszystkie lekcje z drugiej edycji książki):Podstawy FrameworkuUżycie typów wartościowychUżycie popularnych typów referencyjnychTworzenie klasKonwersja między typ...
Każdy z nas zna to na pamięć. Bohater filmu podchodzi do komputera. Ikony wielkości dłoni, tak aby nie można się pomylić. W tym momencie rozlega się głośne “you’ve got mail!” i na ekranie (od razu) pojawia się mail. Times New Roman, 200 pikseli. Żeby było łatwiej przeczytać rzecz jasna. Mail oczywiście jest dowodem zdrady męża, ale zupełnie nie...
Ostatnio przeraziłem się, ponieważ po zainstalowaniu .NET Framework 3.5 na serwerze oczekiwałem, ze pojawi się możliwość wybrania ASP.NET 3.5 w IIS Managerze...
Oryginalny post: Does More Than One Monitor Improve Productivity? Autor: Jeff Atwood Począwszy od mrocznych czasów Windowsa Millenium jestem entuzjastą pracy na wielu monitorach. W ciągu ostatnich czterech lat pisałem już kilka razy o rozmaitych przyjemnościach płynących z pracy na kilku monitorach. Posiadam trzy monitory w domu jak i w pracy. Jestem tym, kogo mógłbyś nazwać prawdziwym zwolennikiem. Zawsze szukam argumentów dla kolegów po fachu, którzy żądają drugiego (albo nawet trzeciego) monitora, ...
Pewnie część z Was zdaje sobie z tego sprawę, ale dla mnie było to ciekawe odkrycie. Firma ThoughtWorks publikuje corocznie raport dotyczący technologii, praktyk i metodyk związanych z IT. Raport ten ma formę "radaru" — koła podzielonego na 4 pierścienie. Idąc od zewnątrz są to: hold (obserwować z daleka), asses (przyjrzeć się bliżej), trial (przetestować) oraz adopt (wdrożyć). Czytając "radar" można dowiedzieć się wielu ciekawych rzeczy lub podłechtać swoją dumę, jeśli przewidywania "...
W minionym tygodniu Academic Flash udało się porozmawiać z niekwestionowanym ekspertem w dziedzinie certyfikacji Pawłem Pławiakiem – autoryzowanym trenerem Microsoft, wykładowcą akademickim i Training and Development Manager w firmie Compendium – Centrum Edukacyjne Sp. z o.o.. Paweł Pławiak jest zdobywcą wielu certyfikatów (MCP, MCSA, MCSE, MCTS, MCITP, MCT) a także (od lipca 2009) tytułu Most Valuable Professional ...
Oryginalny post: Version 1 Sucks, But Ship It AnywayAutor: Jeff Atwood Jestem niezadowolony z każdego, najmniejszego kawałka kodu, jaki kiedykolwiek opublikowałem. Częściowo dlatego, że -- podobnie jak wielu programistów -- jestem perfekcjonistą. No i właśnie, nieuchronnie pojawiają się... problemy:Harmonogram był zbyt agresywny i krótki. Potrzebujemy więcej czasu!Napotkaliśmy niewidoczne wcześniej problemy techniczne i zmuszają nas one do zawierania niekomfortowych kompromisów.Mieliśmy zły projekt i trz...
Wiele programów z sieci wciąż jeszcze ściąga się w postaci archiwów do samodzielnego wypakowania, jak choćby w formacie .zip. Ma to swoje zalety i wady - do tych drugich należy fakt, że nie bardzo wiadomo, jak wygląda wewnętrzna struktura katalogów takiej paczki. Używając opcji typu Wypakuj tutaj ryzykujemy zaśmiecenie folderu Downloads plikami programu. Dlatego osobiście zawsze ...
Przykłady wykorzystania tagów serwera na stronie aspx. Nie wiem do końca czy tak to się nazywa, w każdym razie mam na myśli dziwne znaczki rozpoczynające się od <% i kończące się na %>. Komentarz po stronie serwera to <%-- --%>. Przydatne, gdy chcemy zakomentować element, który zawiera runat="server" <%-- --%> Element <%$ %> pozwala na przypisanie wartości z AppSettings, Resources (zasobów globalnych) lub ConnectionStrings...
Jednym z bardziej zauważalnych składników Windows 7, które odróżniają ten system od Visty, jest nowy wygląd paska zadań. Jest szerszy, wyświetla duże ikony i przesunięcie go z dołu na bok ekranu w końcu ma sens (hurra dla monitorów wide-screen). Ale nowy wygląd to w tym przypadku nie wszystko, bo pasek ten zyskał też trochę na funkcjonalnościach. Wśród nich mamy tzw. listy skoków (Jump Lists), ...