Stycznia 2010
Wpisał %s Patryk yarpo Jar
|
wtorek, 12 stycznia 2010 13:06
IT
/ niebezpiecznik.pl
|
Wystartowała piąta edycja zabawnego konkursu programistycznego, w którym należy napisać z pozoru niewinnie wyglądający kod, wyrządzający jednak jak największe szkody. W tym roku uczestnik konkursu Underhanded musi wcielić się w pracownika lotniska odpowiadającego za transfer bagaży. System sortowania otrzymuje dane związane z każdym bagażem oraz instrukcje co do jego transferu. Należy tak zmodyfikować algorytm sortowania bagażu, [...]
|| Jeśli chcesz przeczytać ten artykuł w całości, kliknij na tytuł wpisu.
read full article Read more
|
Zmieniony ( wtorek, 12 stycznia 2010 00:12 )
|
|
Wpisał %s Patryk yarpo Jar
|
wtorek, 12 stycznia 2010 13:06
IT
/ niebezpiecznik.pl
|
Polski złodziej samochodowy, Jarosław, demonstruje jak za pomocą łamaków i odpalarki podpinanej pod interface diagnostyczny samochodu ukraść auto. Niestety, Jarek ze swoimi 6 minutami plasuje się w dole rankingu złodziei samochodowych… Łamaki i graty nie wystarczą — trzeba “odpalarki” Dzisiejsze samochody to już nie tylko mechanika, ale i elektronika. Łamaki, zwane przez złodziejaszków gratami nie wystarczą, żeby [...]
|| Jeśli chcesz przeczytać ten artykuł w całości, kliknij na tytuł wpisu.
read full article Read more
|
Zmieniony ( wtorek, 12 stycznia 2010 00:13 )
|
|
Wpisał %s Jan Jackowicz-Korczyński
|
sobota, 09 stycznia 2010 21:54
Multimedia
/ grafika
|
Gorąco polecam serwis
Oferuje on ponad 3000 tekstur. Wiele z nich jest bardzo atrakcyjnych. Podzielone są na 20 kategorii. Tekstury o niższejj rozdzielczości, doskonałe do wykorzystania w Internecie, dostępne za darmo.
Read more
|
|
Wpisał %s Jan Jackowicz-Korczyński
|
sobota, 09 stycznia 2010 21:43
Oprogramowanie
/ Webowe
|
Serwis www.pdftoword.com umożliwia konwersję pliku w formacie ADOBE PDF do edytowalnego formatu DOC lub RTF.
Proces konwersji jest rozłożony na 3 kroki:
- Wysłanie na serwer pliku w formacie RTF
- Wybór formatuk docelowego: DOC lub RTF
- Podanie adresu e-mail, na jaki wynik konwersji ma być przesłany.
Pliki docelowe są wysyłane na podany adres zarchiwizowane w formacire ZIP. System działa na platformie ASP. Usługa konwersji jest bezpłatna. Read more
|
|
Poniedziałek 04 stycznia 2010
|
Wpisał %s Patryk yarpo Jar
|
poniedziałek, 04 stycznia 2010 03:04
Inne tematy
/ C#
|
Zalet dynamicznych bibliotek jest wiele. Ja jednak nie chcę Cię tu ani do nich zachęcać, ani odradzać ich stosowania. Krótki wideotutorial jak zrobić prostą "deelelkę". W c# jest to naprawdę banalne. Nie wierzysz, zobacz:
Read more
|
Zmieniony ( poniedziałek, 04 stycznia 2010 03:26 )
|
|
Wpisał %s Patryk yarpo Jar
|
poniedziałek, 04 stycznia 2010 02:27
Inne tematy
/ C#
|
Ostatnio miałem okazję zapoznać się z ciekawym systemem do tworzenia logów z działania aplikacji. Nie chcę się tu wdawać w dyskusję, czy logi są przydatne, czy nie - o tym można pczytać na linkach zamieszczonych pod artykułem. Mowa tu o darmowym systemie log4net.
Read more
|
Zmieniony ( poniedziałek, 04 stycznia 2010 03:07 )
|
|
Wpisał %s Patryk yarpo Jar
|
sobota, 02 stycznia 2010 18:40
Inne tematy
/ Linux
|
Wszystkie porządne dystrybucje Linuksa mają w pakiecie startowym i Javę i przeglądarkę WWW. Tymczasem jakimś tajemniczym sposobem wielu użytkowników Linuksa nie może korzystać z dobrodziejstw technologii Java, bo (kiedyś to nie działało out of the box, coś się posypało przy upgrade, w starej dystrybucji coś się nie chce zainstalować, plugin w systemie gryzie się z przeglądarką w systemie, wstaw inny powód). Tak czy siak Google Analytics informuje mnie, że co czwarty linuksowiec czytający ten blog ma problemy z Javą, więc nie ma się czego wstydzić: to normalne. Dzisiaj mam dobry dzień, i zamierzam tym zagubionym osobom pomóc.
Read more
|
Zmieniony ( sobota, 02 stycznia 2010 18:45 )
|
|
Wpisał %s Patryk yarpo Jar
|
sobota, 02 stycznia 2010 18:37
Inne tematy
/ C++
|
Taki przedmiot jest na studiach informatycznych. Każdych. Czasem się inaczej nazywa (u mnie to było Projektowanie i Analiza Algorytmów na przykład). Zasadniczo struktury danych to rzecz użyteczna, szczególnie jak ktoś je implementuje za nas.
Dla programistów nowoczesnych języków fakt istnienia dużej ich ilości w gotowych pakietach jest normą. A programiści C++ co mają? STLa oczywiście, a więc drzewo (*map, *set), tablicę (vector, deque) i listę (list). Plus kolejkę (i kolejkę priorytetową), stos i w pewnym sensie kopiec. Coś pominąłem? Może i tak, ale raczej niewiele.
Z TR1 i następną wersją standardu (C++2009?) dostajemy do naszej kolekcji tablicę mieszającą (unordered_*map, unordered_*set). To już fajna rzecz, ale programiści takiej n.p. Javy mają java.util.Hashtable niemal od zawsze i nie jest to dla nich nic ekscytującego.
Coś jeszcze? Ano dużo! Jak jest jakaś rzecz, której w standardzie C++ nie ma, a uważamy, że być powinna, to najpewniej ona już od dawna jest. W bibliotece Boost. Boost ma mapy dwukierunkowe, wielowymiarowe tablice, bufory cykliczne, tablice stałej wielkości (weszły do TR1), uogólnione krotki (także TR1) i wspomniane tablice mieszające (i znowu TR1).
To już trochę bardziej imponujący arsenał. Czy czegoś jeszcze brakuje?
Nie będę przedstawiał Google Summer of Code – znacie ten wspaniały program znajdowania wakacyjnego zajęcia dla ambitnych młodych programistów. Owóż jeden z uczestników onego programu zaproponował wzbogacenie boosta o to, co w nim brakuje, a mianowicie całą gamę drzew słownikowch (trie, skompresowane trie, drzewa sufiksowe… oj czego to on nie zaproponował). Muszę powiedzieć, że kibicuję temu projektowi z całego serca, bo jest on w moim odczuciu arcyważny dla społeczności C++’owej. Dlaczego? Ano dlatego, że daje nam kolejną standardową strukturę danych.
Dlaczego standardowe struktury danych są ważne? Ano dlatego, że ułatwiają łączenie kodu. Jest w internecie taka znakomita (pod pewnymi względami) biblioteka, co się nazywa Xerces-C. Biblioteka ta stanowi zaawansowaną implementację DOMu w języku C++. Albo kompletną, albo temu stanowi bliską.
Biblioteki onej używałem w jednym z projektów szkolnych, i niestety nie było to mimo wszystko przyjemne doświadczenie. Mimo, że mieliśmy dobrze zaprojektowaną aplikację, a – bez fałszywych przechwałek – byliśmy już naonczas całkiem wyszkolonymi programistami (temat z drugiego roku – znaliśmy już język programowania i kilka API). Dlaczego użycie Xercesa było nieprzyjemne? Bo xerces używał xercesowych standardów.
Mniejsza o to, że do wewnętrznej reprezentacji tekstu używa on własnego typu (ni to char ni to wchar_t) : on używa go również w API. jako jedynej opcji. Nie da się xercesa przekonać do stworzenia elementu pisząc:
{codecitation class="brush: js"}document.createElement ("hello");{/codecitation}
Trzeba być dużo bardziej dosadnym:
{codecitation class="brush: cpp"}using namespace xercesc;
document.createElement ((XMLCh[]){chLatin_h, chLatin_e, chLatin_l, chLatin_l, chLatin_o, chNull});{/codecitation}
Tłumaczenia, że to interoperacyjność czy że to unikod o kant stołu rozbić. Program bez konkretnej potrzeby (tu takiej nie ma) porzucający standardowe API na rzecz własnych wynalazków tylko dlatego, że te drugie są własne to niedobry program. Tworząc taki program utrudniamy życie autorom, którzy chcą z naszym programem się komunikować lub choćby chcą włączyć fragmenty naszego programu w swój program, czyż nie? Szczególnie bolesne jest to w kwestii bibliotek, dla których łączenie z innymi programami jest racją bytu.
Mając takie XMLCh[] nie możemy używać żadnych (zarówno standardowych, jak i przez nas na nasze potrzeby napisanych) funkcji, klas czy modułów zbudowanych z myślą o współpracy ze standardowym std::wstring’iem czy std::string’iem. Truć można tak w kółko, a i tak znajdą się mądrzejsi, którzy będą klepać własne łańcuchy znaków, smart pointery (mimo, że istnieje tr1::shared_ptr) czy opakowania delegatów (mimo, że tr1::function ma się dobrze).
Jeśli takie cyrki robi się w ramach zamkniętego oprogramowania, to mniejszy problem (bo tego nie widzę), ale niech mi ktoś wyjaśni, czemu służy robienie takiego mętliku w oprogramowaniu otwartym?
Autorem artykułu jest Maciej Kamiński. Read more
|
Zmieniony ( sobota, 02 stycznia 2010 18:40 )
|
|
Wpisał %s Patryk yarpo Jar
|
sobota, 02 stycznia 2010 18:30
Oprogramowanie
/ Edytory
|
Na to wygląda. Emacs jest przestarzały, i nijak się nie ma do nowoczesnych IDE. Ja niestety jestem chyba jakoś “na bakier” z nowoczesną techniką: testowałem, różne cuda na kółkach, netbeansy, eclipsy, kdevelopy i inne, ale jakoś się nie mogę przekonać. w emacsie wszystko jest na swoim miejscu ;-)
Read more
|
Zmieniony ( poniedziałek, 04 stycznia 2010 03:46 )
|
|
Wpisał %s Patryk yarpo Jar
|
sobota, 02 stycznia 2010 18:27
Inne tematy
/ C++
|
Czasem tak się zdarza, że mój program w języku C nie działa wystarczająco szybko. Właściwie zdarza się tak prawie zawsze ;-) Po tweakowaniu algorytmu i dodaniu opcji -O2/-O3 w kompilatorze dalej jest za wolno. Nie musi to jeszcze oznaczać konieczności zamiany maszyny na mocniejszą lub pisania wstawek asemblerowych. Szczególnie, jeśli NIE potrzebujesz zgodności z normami ISO i zgadzasz się na … pewne błędy.
Tajna broń
Kompilator GCC ma w swoim arsenale opcję -ffast-math. Pozwala ona m.in. na następujące (nielegalne!) optymalizacje:
- Operacje na odwrotnościach: zezwala na zastąpienie wyrażenia postaci x/y wyrażeniem postaci x*(1/y) – jeśli dzielenie przez y występuje często daje to poważne oszczędności, gdyż mnożenie jest szybsze od dzielenia
- Nie ustawianie ERRNO w funkcjach matematycznych implementowanych jako pojedyńcza instrukcja
- Upraszczanie wyrażeń nawet jeśli skutkuje to zmianą “znaku zera” i w ogóle olewanie przez kompilator tego zagadnienia (w formacie IEEE rozróżniamy +0 i -0, na czym niektóre programy polegają)
- Założenie, że wynik ani żaden z argumentów nie jest NaN lub +/- Inf
W związku z powyższym każde użycie -ffast-math może powodować, że aplikacja będzie dawała mniej dokładne (lub wprost: złe) wyniki, a w skrajnym wypadku się wysypie: z tego powodu rzeczona opcja nie jest domyślnie wywoływana przez -O ani nawet przez -O3.
V2 – tajna broń Niemców. Obraz pochodzi z Wikipedii.
Read more
|
Zmieniony ( poniedziałek, 04 stycznia 2010 03:46 )
|
|
Strona 3 z 4
<< Początek < Poprzednia 1 2 3 4 Następna > Ostatnie >>
|