Słowniczek terminów informatycznych

https://pl.wikipedia.org/wiki/Pomoc:Dla_tłumaczy/Słowniczek – słownik terminów informatycznych (i nie tylko). Przydatne – np. jako podręczna ściąga podczas czytania książek technicznych po angielsku, prób formułowania artykułów informatycznych itd. Niektóre terminy do bólu oczywiste, inne mniej.

tlumaczenia

Kopia z dnia 25.08.2016 w formacie PDF: Pomoc_Dla tlumaczy_Slowniczek-Wikipedia

Czytaj więcej

MySQL – dump tylko określonych wierszy

MySQL umożliwia wykonanie dumpa tylko określonych danych. Dzięki temu można np. podzielić dumpa jednej, dużej tabeli na parę mniejszych części. Służy temu przełącznik --where.

Przykład 1 – wykonujemy dump tabeli myVeryBigTable, lecz tylko takich wierszy, które mają id 1, 2 lub 3:

mysqldump myDatabaseName --host 127.0.0.1 --port=3306 
--user=myUserName --password
myVeryBigTable
--where="id in (1,2,3)"
> .\mySimpleDump.sql

Przykład 2 – możliwe jest także wykonanie nieco bardziej skomplikowanego zapytania:

mysqldump myDatabaseName --host 127.0.0.1 --port=3306
--user=myUserName --password
myVeryBigTable
--where="id in (select id from myOtherTable where objectId in (123,558,6987))"
> .\myDump.sql

Czytaj więcej

Netbeans nie aktualizuje aplikacji www

Pracując przy aplikacji webowej (napisanej w Javie) natknęłam się na problem nieaktualizowania aplikacji przez Netbeans. Proces kompilacji udawał się, jednak na serwerze nadal była stara zawartość. Z jakiegoś powodu nie udało się zaktualizować kodu.

Rozwiązaniem było ręczne usunięcie folderu web/web-inf/classes. Po usunięciu katalogu i przebudowaniu projektu Netbeans aktualizował zawartość plików.

Czytaj więcej

Różne linki o testowaniu (i nie tylko;))

  1. Forum Forum Stowarzyszenia Jakości Systemów Informatycznych, gdzie poruszane są różne tematy o jakości oprogramowania i testowaniu: http://sjsi.org/forum/index.php
  2. Blog o testowaniu: http://www.testingminded.com/
  3. WebInject, jedno z darmowych narzędzi do automatycznego testowania, podobne nieco do JMetera. Jeśli dobrze pamiętam, próbowałam się nim bawić, ale „chemii między nami nie było”, zwłaszcza że nie chciało współpracować z proxy;) http://www.webinject.org/ . Ale to było dawno (2014) i nieprawda. Może już zostało naprawione :)
  4. Ciekawy artykuł „Signs that you’re a bad programmer„: https://sites.google.com/site/yacoset/Home/signs-that-you-re-a-bad-programmer .
  5. Przykład tzw. Yoda condition:
    !"".equals(id)
    co stanowi krótszą formę od:
    !(id == null || id.equals(""))
  6. Artykuł o equals w Java: http://www.jakubiak.eu/2007/06/prawdy-o-equals.html.
  7. Zbiór linków o wzorcach projektowania stron, w kontekście usabilityhttp://www.webusability.pl/2008/05/13/design-patterns-czyli-wzorce-projektowe/.
  8. I na deser – fajne przykłady animowanych wykresów stworzonych w TeX: http://tex.stackexchange.com/questions/158668/nice-scientific-pictures-show-off.

 

Czytaj więcej

Przychodnie NFZ w Krakowie

Kiedyś popełniłam taką mapkę – z naniesionymi na Google Mapsa placówkami oferującymi usługi w ramach NFZ: http://batchgeo.com/map/706a77b48bc188dae487462fecace6d2

mapa NFZ Kraków

Dane pochodzą z pliku udostępnionego w serwisie NFZ. Dostęp: 7.01.2014. Większość danych powinna być nadal aktualna :)
Swoją drogą polecam serwis http://batchgeo.com, umożliwiający stworzenie mapy z danych lokalizacyjnych zawartych w pliku csv.

Czytaj więcej

Qt i problemy z atof()

W projekcie, nad którym aktualnie pracuję, natknęłam się na pewien problem, który spowodował nieprawidłowe działanie dużego fragmentu aplikacji napisanej w C, dołączonej do interfejsu implementowanego w Qt (używam wersji 4.8.0, choć nie ma to zbyt wielkiego znaczenia).

Okazało się że część analityczna programu używała  w wielu miejscach funkcji atof() do przekształcania liczb zapisanych w pliku w postaci ddd.ddd (separatorem była zatem kropka).

#include <cstdlib>
double atof( const char * str );

Funkcja nie odczytywała części dziesiętnych z powodu nieprawidłowego traktowania separatora. Ten poważny błąd, uniemożliwiający działanie całego programu wystarczyło naprawić jedną linijką:

setlocale(LC_NUMERIC,"C");

Linijkę tę należy umieścić w pliku main.cpp, tuż po utworzeniu obiektu typu QApplication. Teraz mój plik wygląda następująco:

#include <QtGui/QApplication>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    setlocale(LC_NUMERIC,"C");

    MainWindow w;
    w.show();

    return a.exec();
}

I – wszystko działa :)

Czytaj więcej

Bazy danych – ściągawka

Szybka, w pełni teoretyczna „ściągawka” z baz danych. Nie wszystkie z prezentowanych tutaj zapytań mają taką samą składnię w każdej bazie danych. Zależy to od implementacji.

Sumy zbiorów wyników

Jeśli dwa zapytania zwracają wyniki w tej samej formie (te same kolumny), możliwe są operacje na zbiorach typu suma, różnica zbiorów.

Zakładając, że:

  • zapytanie nr 1 (Q1) zwraca następujący zestaw danych: A, B, C,
  • zapytanie nr 2 (Q2) zwraca następujący zestaw danych: C, D, E,

z wyników zapytania można złożyć:

Union

Q1 union Q2 – suma zbiorów. Elementy powtarzające się zarówno w Q1 jak i w Q2 zostają usunięte. Wynikiem są pogrubione elementy (tu: A, B, C, D, E)

[A B [C] D E] (więcej…)

Czytaj więcej

Notatki z typografii

Przerywnik nietechniczny:) Czyli parę terminów związanych z typografią. Wiedza przydatna w przypadku samodzielnego składania tekstu, projektowania znaków graficznych lub stron internetowych.

Kroje pisma

Majuskuła – tzw. duże litery.

Minuskuła – tzw. małe litery.

Antykwa – najpowszechniejszy sposób pisania – duże litery na początku zdania / nazwy własnej, małe litery w pozostałej części zdania.

Wersaliki – tylko duże litery („CAPS LOCK”).

Kapitaliki – krój czcionki jak przy samych dużych literach, jednak pierwsza litera jest wyższa niż pozostałe (jak „Caps Lock”, gdzie „aps” i „ock” są kroju jak majuskuła, tylko że ich wysokość jest mniejsza).

Szarość tekstu – jednolity blok tekstu, bez widocznych przerw, spacji, odstępów.

zmienia szarość? zmienia kształt tekstu? uwagi
wersaliki T T
kapitaliki N N polecane
kursywa* N N polecana / uwaga, zmienia znaczenie
pogrubienie T N
podkreślenie T T
większy stopień T N
zmiana koloru N N zwiększa koszt druku
rozstrzelenie T T

* kursywa niesie ze sobą znaczenie semantyczne. Jest stosowana do oznaczania nazw publikacji, cytatów, zapożyczeń z obcych języków, ironii itp. Uwaga – Tytuł Książki zapisuje się kursywą, a „Tytuł Gazety” w cudzysłowie.

(więcej…)

Czytaj więcej

Page Object Pattern + Fluent Interface

Page Object Pattern jest jednym z częściej używanych wzorców w testach interfejsowych. Nie bez powodu – pozwala świetnie odzwierciedlić architekturę aplikacji w testach, zapobiega także niepotrzebnemu powtarzaniu kodu, jeżeli pewne struktury powtarzają się w wielu miejscach aplikacji (na przykład wspólne dla każdej podstrony menu).

Jeden Page Object powinien odwzorowywać jeden logiczny fragment aplikacji. Posługując się przytoczonym wyżej przykładem menu, klasa „Menu” będzie zawierać wszystkie pozycje w menu (a jeśli ma ono strukturę hierarchiczną, także i zagnieżdżone, kolejne Page Objecty).

Każda metoda w klasie udostępnia oferowane przez obiekt usługi (np. rozwinięcie i zwinięcie podmenu, wybór pozycji itd.).

W tym wzorcu metoda zawsze zwraca Page Object (z czego korzysta kolejny wzorzec: Fluent Interface). Dzięki temu w testach można stworzyć bardzo elegancko wyglądającą ścieżkę wędrówki pomiędzy podstronami.

Z pozoru te same akcje mogą zwracać różne wyniki, np. dwie metody:


public AdminPage LoginWithCorrectCredentials(string userName, string password);

public ErrorPage LoginWithIncorrectCredentials(string userName, string password);

Asercje wykonywane są w testach, nie w klasach Page Objectowych.

Sterownik (WebDriver) może być przekazywany w konstruktorze Page Object.

Czytaj więcej

Jak sprawdzić, kiedy był włączony i wyłączony komputer?

Jak w najprostszy sposób sprawdzić, kiedy włączony (lub wyłączony) był system? Instrukcja dla Windowsa 7.

Z pomocą przyjdzie nam Dziennik zdarzeń (w anglojęzycznej wersji: Event Viewer). Aby go włączyć, wystarczy kliknąć menu start i zacząć wpisywać „Dziennik zdarzeń” lub „eventvwr.msc„.

Z drzewka po lewej stronie wybieramy Dzienniki Systemu Windows.

Z panelu po prawej – Filtruj bieżący dziennik.

W oknie dialogowym wpisujemy ID: 12 i 13, nazwę i zatwierdzamy.

Nowy filtr pojawi się w sekcji Widoki niestandardowe.

Wyniki pojawią się w tabelce – data, godzina. ID 12 odpowiada włączeniu, a 13 wyłączeniu komputera.

logowanie-wlaczenia-komputera

Czytaj więcej