Magazyn Programista 5/2014

Ukazało się nowe wydanie magazynu Programista 5/2014

Programista 5/2014

Spis treści:

  • Macierze w grafice 3D
  • Wzorce Programowania Gier:Zarządca Zawartości
  • Zwizualizuj to sam. Obsługa wyświetlaczy na Raspberry Pi
  • Jak napisać własny debugger w systemie Windows – część 4
  • Wprowadzenie do testowania w Robot Framework (Robot)
  • Profilowanie aplikacji w języku Python
  • Wzorce silników zdarzeń w C++
  • Brakujący element Agile
  • ASIS CTF Quals 2014 – Random Image
  • Jak całkowicie odmienić sposób programowania, używając refaktoryzacji
  • TDD. Sztuka tworzenia dobrego kodu

Zachęcam do czytania!

Magazyn Programista 4/2014

Ukazało się nowe wydanie magazynu Programista 4/2014, którego tematem przewodnim jest .NET Micro Framework.

Magazyn Programista 4/2014

W numerze:

  • Spring Data JPA – jeszcze prostszy dostęp do bazy danych
  • Nasz własny dodatek do przeglądarki Google Chrome
  • Wzorce komunikacji w Cocoa Objective-C
  • Szybka grafika 2D: w głąb króliczej nory
  • Samouczek MonoGame, część 1: podstawowe koncepcje grafiki 3D
  • Screen-Space Ambient Occlusion – metoda symulowania globalnego oświetlenia przy pomocy techniki postprocessing
  • Biblioteka .NET Micro Framework. Programowanie elektroniki dla programistów C#
  • Jak napisać własny debugger w systemie Windows – część 3
  • Brakujący element Agile. Część 3: Coaching
  • Kierunek biznes
  • Zdobyć flagę… PlaidCTF 2014 – zfs
  • Jak całkowicie odmienić sposób programowania, używając refaktoryzacji (część 8)

Magazyn Programista 02/2014 (21)

Wyszedł nowy numer magazynu Programista 02/2014 (21).

magazyn-programista-02-2014

Spis treści:

  • Interface a implementacja
  • Wstęp do WPF – część 2: Stylowanie kontrolek w WPF
  • ASP.NET SignalR – czyli aplikacje czasu bardzo rzeczywistego. Część 2
  • Java 8 – najbardziej rewolucyjna wersja w historii
  • Początki z językiem Fortran
  • Concepts Lite. Rozszerzenie standardu C++14
  • Jak napisać własny debugger w systemie Windows – część 1
  • Badanie jakości kodu C++
  • Refaktoryzacja testów legacy w kierunku wykonywalnych specyfikacji. Część II: Techniki ułatwiające utrzymanie testów
  • Brakujący element Agile Część 1: Feedback
  • Szczyt za szczytem
  • Ghost in the Shellcode 2014 – Pwn Adventure 2
  • Jak całkowicie odmienić sposób programowania, używając refaktoryzacji (część 6)

Filtr na trolla

Bycie trollem internetowym ma swoje plusy i minusy, można kogoś zbluzgać bez powodu i cieszyć się swoją głupotą, czasami jednak administratorzy stron walczą z trollami stosując wymyślne filtry.

Tak jest lub było w przypadku wykrywania znanego „klaczowego” trolla okupującego swego czasu forum 4programmers, sprytny administrator Adam Boduch postanowił walczyć z twórczością trolla stosując taki oto wymyślny filtr:

<?php

/* ... */

Wrapper\Engine::instance()->atInit(function($engine) {
    $is_troll_z_play = has_troll_cookie();

    if ($_SERVER['REQUEST_METHOD'] === 'POST' && @$_GET['mode'] === 'submit') {
        if (isset($_POST['username']) && isset($_POST['content'])) { // tylko anonimow
            $matches_nick = troll_count_matches($_POST['username'], array(
                '/deus/i'               => 2.0,
                '/klacz/i'              => 2.0,
                '/demonical.?monk/i'    => 2.0
            ));
            $pattern_body = array(
                '/(?<!u)rucha/i'        => 1.0,
                '/klacz/i'              => 1.0,
                '/kutas/i'              => 1.0,
                '/sra/i'                => 1.0,
                '/g(ó|o)wn/i'          => 1.0,
                '/sperm/i'              => 1.0,
                '/ss(a|ie)/i'           => 0.5,
                '/wyli(z|ż)/i'         => 0.5,
                '/stajni/i'             => 0.5,
                '/zoofil/i'             => 0.5
            );
            $matches_body = troll_count_matches($_POST['content'], $pattern_body);

            if (isset($_POST['subject'])) { // nowy temat
                $matches_body += 1.5 * troll_count_matches($_POST['subject'], $pattern_body);
                $matches_body += 1.5 * troll_count_matches($_POST['tag'], $pattern_body);
            }
            if ($matches_nick + $matches_body > 2 || has_troll_cookie()) {
                $is_troll_z_play = true;

                $engine->log('contents.log', array(
                    'username'  => $_POST['username'],
                    'content'   => $_POST['content'],
                    'title'     => @$_POST['title'],
                    'tag'       => @$_POST['tag']
                ));
            }
        }
    }
    if ($is_troll_z_play) {
        define('TROLL_Z_PLAY', true);

        unset($_COOKIE['sid']);
        unset($_COOKIE['temp']);
    }
});

/* ... */

Regularne wyrażenia w połączeniu z systemem punktacji pozwoliły raz na zawsze pozbyć się trolla z forum, a Wam prezentuję to jako znakomity pomysł na wykrywanie tego typu niechcianych treści na stronach.

Magazyn Programista 1/2014

Ukazał się nowy numer miesięcznika Programista 1/2014.

Magazyn Programista 1/2014

W numerze:

  • Wprowadzenie do Entity Framework
  • Jak używać IBM Worklight – część 2
  • Wstęp do WPF – część 1
  • Web Crawling oraz Text Mining przy wykorzystaniu RapidMiner
  • PLY oraz Python, czyli sposób na Lexa oraz Yacca
  • Tworzenie usługi sieciowej opartej o Twisted
  • Automatyczne Testowanie Aplikacji JavaScript na przykładzie aplikacji napisanej w Backbone.JS
  • Zakodowana pomoc
  • Receptury projektowe – niezbędnik początkującego architekta
  • Strefa CTF – 30C3 CTF – cableguy
  • Pozyskaj pracownika albo zgiń!
  • Systemy proste, skomplikowane, złożone i chaotyczne, czyli Cynefin.
  • Programowanie równoległe i asynchroniczne w C# 5.0

Zachęcamy do lektury!

Magazyn Programista 11/2013

Nowy „Programista” jest już dostępny! Ponad 140 stron.

Tematem głównym jest drugi artykuł z serii pt „Bliżej silikonu” skierowanej do osób zainteresowanych sposobem działania systemów komputerowych od podszewki. Tym razem będzie mowa m.in o analizie BIOS API, procesie ładowania jądra Windows i tworzeniu boot loadera dla własnego systemu.

Programista 11/2013 (18)

Ponadto w numerze takie tematy jak:

  • Rzeczywistość rozszerzona w Androidzie
  • Vaadin 7 – naprawdę szybkie tworzenie aplikacji web w Javie
  • Windows 8.1 okiem programisty
  • Wzorce Programowania Gier:  Szkielet Aplikacji
  • oraz wiele, wiele więcej!

Więcej o wydaniu:

http://programistamag.pl/programista-112013-18-spis-tresci/

Akcja „Paragon”

Nowy numer magazynu „Programista” pojawił się już w salonach Empik w całym kraju. Wydawca magazynu serdecznie zaprasza do udziału w zabawie „Paragon”.

Osoby, które prześlą skan zakupu nowego numeru na adres mailowy:

[email protected]

otrzymają dwa dowolnie wybrane numery archiwalne w wersji elektronicznej.

Ponadto wszystkie nadesłane skany „wezmą udział” w losowaniu 3 książkek z oferty wydawnictwa Helion.

Zwycięzcy sami będą mogli wskazać swój tytuł. Akcja „Paragon” trwa do końca roku, a losowanie książek odbędzie się 31 grudnia. Dodatkowo osoby, które prześlą na ww. e-mail skanu zakupu nowego wydnia, otrzymają w PDF pierwszą cześć artykułu z cyklu ” Bliżej silikonu”.