cube-769279_1920

Prawdopodobieństwo wyrzucenia siódemki dwiema kostkami jest największe

Wyobraźmy sobie rzut kostką. Jedną kostką. Niech wynik rzutu nią będzie losowy. Oczywiście w przedziale od 1 do 6, mówimy o kostce sześciennej. Wynik rzutu dwiema takimi kostkami (przedział 2 do 12) już losowy nie jest, mimo iż wydaje się to nielogiczne, skoro wynik rzutu jedną i drugą oddzielnie nadal losowy jest. Prześledźmy wszystkie opcje…

Więcej »
code-583073

Odwrócenie kolejności wykonywania skryptu

Załóżmy, że nie mamy pełnej kontroli nad kolejnością części kodu javascript, a nasz kod, który mamy jedynie możliwość wpisać wyżej, chcemy wykonać natychmiast po wykonaniu kodu poniżej, nie mając dostępu do callbacków:

Więcej »

Drodzy programiści z YouTube!

Ok, więc youtube oznajmił tutaj, że jeden z filmów znajdujących się w serwisie osiągnął maksymalną liczbę obejrzeń, którą jego twórcy przewidzieli, czyli największą przyjmowaną wartość 32-bitowej liczby całkowitej: 2 147 483 647.

Więcej »

AsyncTask i zakończona Aktywność na androidach

Na Androidach pre Honeycomb (api 11 czyli android 3.0) bez najmniejszych problemów można było wywołać dowolną procedurę typu pobierz dane (powiedzmy xml) z Internetu, obrób je, a następnie wyświetl. Wszystko w wątku UI. Od czasu Honeycomb, przy próbie wykonania najprostszego pobrania danych metodą new URL().openStream() aplikacja się wywali zwracając NetworkOnMainThreadException. Najprostszym sposobem na uniknięcie tego…

Więcej »

Iteracja po tablicy i usuwanie wartości

W wielu językach programowania iteracja po tablicach odbywa się mniej więcej tak: for (foo in arr) { … } Dzięki takiej iteracji po wszystkich elementach, możemy łatwo przeczyścić całą tablicę podczas, na przykład, czyszczenia pamięci z obiektów. var arr:Array= []; for (i in 0…100) { arr.push(1); } for (foo in arr) { foo.somePreDisposeFunction(); arr.remove(foo); foo…

Więcej »

Manualny recycling w javie na androidzie

Przestań bawić się w manualny recycling obiektów, przyprawi Cię to o potężny ból głowy. Jeśli musisz uruchomić ponownie aktywność z nowym zestawem zasobów, zakończ obecną i uruchom ją ponownie z odpowiednimi extrami w intencie, zamiast pozbywać się i na nowo ładować obiekty i niech android wykona brudną robotę (garbage collection – you see what I…

Więcej »

Błędne wartości pól przy UNION w mysql

Gdy w mysqlu używasz union w zapytaniu, pamiętaj, by pola we wszystkich selectach były w tej samej kolejności nawet, gdy używasz AS. SELECT 1 AS foo, 2 AS bar UNION SELECT 3 AS bar, 4 AS foo Drugie „foo” będzie miało wartość 3, a nie, jak można by oczekiwać, 4.

Więcej »

Usuwanie widoków po zakończeniu animacji

Aby usunąć View z jego ojca po zakończeniu animacji, wykonaj post do jego ojca by funkcja wykonana została w wątku UI: @Override public void onAnimationEnd(Animation a) {    final RelativeLayout view= (RelativeLayout) findViewById(R.id.view);    ((RelativeLayout) view.getParent()).post(new Runnable() {       public void run() {          ((RelativeLayout) view.getParent()).removeView(view);       }    }); }

Więcej »

w3c trolluje webmasterów

Jest sobie api w html5, które służy do obsługi elementów multimedialnych, „media elements api”. Spróbujcie zapytać przeglądarkę, czy jest w stanie odtworzyć dowolny rodzaj pliku wideo. Służy do tego metoda canPlayType(type). Zwraca ona jedną z trzech wartości. Pusty ciąg znaków („”), możliwe („maybe”) i prawdopodobne („probably”). Cytując Chrisa Heilmanna z Mozilli, „albo webmasterzy zostali strollowani…

Więcej »
»