Programista 2/2015 (33)
Programista 2/2015 (33)
Cytując Wikipedię: dopalacz to „urządzenie stosowane w samolotach w celu zwiększania ciągu silnika turboodrzutowego, poprzez spalanie dodatkowego paliwa za turbiną. Daje to przyrost ciągu o kilkadziesiąt procent”. Przenosząc tę definicję do świata programistów .NET, Visual Studio jest naszym silnikiem, a ReSharper dopalaczem zwiększającym ciąg… znaczy produktywność oraz komfort pracy.
Jak zrefaktoryzować cały plik źródłowy za pomocą jednej komendy? Jak automatycznie wygenerować szablon definicji funkcji na podstawie jej deklaracji – i to od razu w odpowiednim pliku? A do tego – jak zrobić to w Emacsie?
W poniższym artykule, korzystając ze standardu C++ (konkretnie posiłkowałem się szkicem standardu C++14 N3797), chciałbym przybliżyć nieco temat overloading i overload Resolution (overload – z ang. przeciążenie). Zgodnie z punktem standardu § 13.3 istnieje mechanizm selekcji najbardziej pasującej funkcji do wywołania ze zbioru funkcji-kandydatów (candidate functions) (§ 13.3.2).
Znaczna część współczesnej elektroniki użytkowej, sprzętu sieciowego, a ostatnio nawet niektóre serwery bazują na platformach określanych jako System On a Chip, czyli na (prawie) kompletnych systemach komputerowych w jednym układzie scalonym. Nowe zastosowania rozwiązań wbudowanych i rosnące wobec nich wymagania implikują użycie rozbudowanych systemów operacyjnych, które w związku z tym muszą wspierać często bardzo różnorodny sprzęt.
Bez wykorzystania silników graficznych praca nad wysokobudżetowymi produkcjami, jakie od lat ukazują się na rynku gier komputerowych, byłaby znacznie utrudniona . Wiąże się to ze stale rosnącym, wysokim stopniem skomplikowania układów graficznych, coraz większym poziomem realizmu w grach oraz wykorzystaniem zaawansowanych efektów wizualnych, takich jak HDR czy efekty cząsteczkowe. Silnik graficzny Irrlicht jest świetnym rozwiązaniem w hobbystycznych i niskobudżetowych projektach, zatem zachęcam do lektury tego trzyczęściowego kursu.
Czyli co każdy programista powinien wiedzieć o dokładnym całkowaniu równań różniczkowych zwyczajnych
W artykule pt. Podstawy mechaniki klasycznej dla programistów gier, czyli rzecz o tym, jak całkować równanie ruchu z numeru 7/2013 (14) Programisty, opisałem metody Eulera-Cromma i Verleta używane w grach do rozwiązywania równań ruchu fizyki klasycznej (równanie Newtona). Teraz chciałbym opisać metody, których należy użyć, gdy priorytetem jest dokładność wyników. Ich zastosowanie nie ogranicza się do gier.
Pierwsza edycja akcji Python Has Power, firmowanej przez STX Next, a realizowanej we współpracy z magazynem „Programista” dobiegła właśnie końca. Czas na podsumowanie naszych SuperBohaterów. A są nimi uczestnicy z całej Polski, prowadzący warsztaty, oraz wszystkie osoby zaangażowane w kreację i realizację tego unikalnego na skalę Europy projektu. Ale zacznijmy od początku…
Definitywnie dwoma największymi bolączkami webdeveloperów w kwestiach związanych z bezpieczeństwem są podatności SQL Injection i Cross-Site Scripting. O ile tych pierwszych jest już znacznie mniej niż kiedyś, to różne statystyki podają, że 60-80% aplikacji funkcjonujących w 2014 roku w Internecie było podatnych na ataki XSS. Content-Security-Policy to odpowiedź developerów przeglądarek na to zagrożenie.
Fundamentem majątku przedsiębiorstw są dziś coraz częściej nie dobra materialne, ale wszystko to, czego nie można dotknąć. Tyczy się to przede wszystkim podmiotów z branży IT. Zanim powstanie gotowy produkt, musi on przejść etap od idei, przez jej konkretyzację po walidację. Dystrybucja powinna zostać przeprowadzona możliwie jak najsprawniej, ponieważ okres, przez jaki nowe rozwiązanie zachowuje swoją atrakcyjność, trwa dziś niezwykle krótko. W interesie przedsiębiorcy, który ma na nim zarobić, jest więc utrzymanie prac nad takim projektem w ścisłej tajemnicy.
Na temat zawodu programisty krąży wiele stereotypów i często bardzo nieprawdziwych opinii. Zaczynając karierę, my, jako programiści, wielokrotnie nie zdajemy sobie sprawy ze złożoności problemów, z którymi musimy się spotykać na co dzień, jak i z różnorodności stawianych przed nami wymagań. Pomimo tego praca developera potrafi być pasją dla wielu z nas. Czy jest zatem coś wyjątkowego w tym zawodzie? Coś, co wyróżnia tę profesję od innych?
Jedną z bardzo ważnych kompetencji człowieka, wykształcanych już od wieku niemowlęcego, jest tzw. koordynacja wzrokowo-ruchowa (lub potocznie: koordynacja ręka-oko). Dzięki niej możemy wykonywać precyzyjne operacje pod kontrolą wzroku. Tej podstawowej kompetencji wymaga też od nas obsługa komputera, bez wątpienia umiejętność kluczowa w dzisiejszych czasach. Komputery zostały zaprojektowane tak, że kontrolować je możemy za pomocą ruchów dłoni, a wynik naszych działań obserwujemy przede wszystkim wzrokiem. Słuch i dotyk grają tu role wyłącznie pomocnicze.
WCTF – The Last Word, Reverse 300
Średnio co około dwa tygodnie gdzieś na świecie odbywają się komputerowe Capture The Flag - zawody, podczas których kilku lub kilkunastoosobowe drużyny starają się rozwiązać jak najwięcej technicznych zadań z różnych dziedzin informatyki: kryptografii, steganografii, programowania, informatyki śledczej, bezpieczeństwa aplikacji internetowych itd. W serii „Zdobyć flagę…” co miesiąc publikujemy wybrane zadanie pochodzące z jednego z minionych CTFów wraz z jego rozwiązaniem.
Pierwsze artykuły serii „Jak rozmawiać z biznesem, który nie wie, czego chce” poświęcone były odkrywaniu potrzeb biznesowych. Przedstawiliśmy tam techniki pomagające w definiowaniu oraz precyzowaniu rzeczywistych potrzeb biznesu, które stoją ukryte za oczekiwanymi funkcjonalnościami oraz user stories. Obecną część poświęcimy zadawaniu pytań trafiających w samo sedno.