Význam otazníku v názvu Ruby metod

V programovacím jazyce Ruby je určitá zvyklost týkající se názvů metod a přidávání některých znaků na konec názvů metod. Velmi často se lze setkat s metodou, jejíž název končí otazníkem (?), jako např. u metody equal?. Otazník za názvem metody znamená, že metoda vrací datový typ Boolean (true nebo false).

Na příkladu jsou volány metody objektu Integer.

puts 1.equal?1
puts 2.even?
puts 3.odd?
puts 4.zero?
puts 5.between?(1, 10)
puts 6.integer?

Výsledek

true
true
true
false
true
true

Jak začít pracovat v IT

Nejjednodušším způsobem jak začít pracovat v IT je zkusit pozici testera. I pro tuto pozici jsou nutné určité znalosti, avšak pro juniorní žadatele jich není mnoho. Požadavky lze rozdělit na dvě skupiny. První jsou všeobecné předpoklady, v druhé jsou znalosti vyžadované právě pro pozici testera.

Všeobecné předpoklady pro práci v IT

  • Chuť učit se nové věci. IT je velmi dynamické odvětví a je třeba stále se vzdělávat.
  • Angličtina alespoň na mírně pokročilé úrovní. Je třeba porozumět odbornému anglickému textu (dokumentace, komentáře, zadání, …).
  • Dobrá uživatelská znalost operačního systému Windows (instalace a odinstalace programů, základní nastavení, …).
  • Znalost základních programů (textový a tabulkový editor, internetový prohlížeč, …).
  • Umět vyhledat informace na internetu. Na většinu řešení již někdo přišel. Stačí jen vědět, kde a jak hledat.

Znalosti pro pozici testera

Některé společnosti (např. Cleverlance nebo Unicorn) dokonce pořádají několika týdenní školení, během kterých si testery sami vychovají.

Změna posledního komitu v Gitu

V případě, že jste provedli uložení změn (commit) do svého lokálního úložiště (repository), stále je možné v tomto komitu provést změny, či jej vrátit zpět.

Změna textu zprávy (message) v posledním komitu
git commit --amend
Otevře textový editor, do něž je možné zadat změněný text.

git commit --amend -m "nový text"
Provede změnu textu bez otevření editoru.

Vrácení posledního komitu
Všechny změny provedené v komitu vrátí do stavu před komitem (stanou se z nich opět změny, které mají být komitnuty – „to be commited“)
git reset --soft HEAD~1

Smazání posledního komitu a všech změn, které byly v daném komitu provedeny
git reset --hard HEAD~1

Mizející záložky v Idea IDE

V případě, že máte výchozí nastavení vývojového prostředí Idea, může se vám stávat, že že záložky (otevřené soubory), u kterých si jste jistí, že jste je nezavírali, nejsou mezi otevřenými záložkami. Idea má totiž nastaven limit záložek (na 10) a v případě, že otevíráte další a další záložky, zavře záložku, která byla nejméně často používána. Toto chování lze samozřejmě změnit. File -> Settings -> Editor -> General -> Editor Tabs.

idea_nastaveni_poctu_zalozek

Testování error kódu výjimky v TestNG

Testovací framework TestNG umožňuje testovat nejen to, že metoda vrací výjimku a zároveň typ (třídu) vracené výjimky, ale též umožňuje otestovat zprávu, kterou tato výjimka obsahuje. To je vhodné například u vlastní výjimky, která vrací nějaký chybový kód. Otestujeme tedy nejen, že metoda v určitých případech vyhazuje chybu, ale také, zda vrací správný chybový kód.

Enum obsahující chybové kódy

public enum ErrorCode {

	X_IS_TO_BIG("X1111"),
	Y_IS_TO_BIG("Y1122"),
	Y_IS_BIGGER_THAN_X("Y1133");
	
	private final String code;
	
	private ErrorCode(String code) {
		this.code = code;
	}
	
	public String getCode() {
		return this.code;
	}
}

Třída představující naši chybu (exception)

public class MyException extends RuntimeException {

	public MyException(String errorCode) {
		super(errorCode);
	}
}

Třída, jejíž metodu budeme testovat

public class MyObject {
	
	private static final int X_MAX_VALUE = 100;
	private static final int Y_MAX_VALUE = 50;

	public int count(int x, int y) {
		
		if (x > X_MAX_VALUE) {
			throw new MyException(ErrorCode.X_IS_TO_BIG.getCode());
		}
		
		if (y >= Y_MAX_VALUE) {
			throw new MyException(ErrorCode.Y_IS_TO_BIG.getCode());
		}
		
		if (y > x) {
			throw new MyException(ErrorCode.Y_IS_BIGGER_THAN_X.getCode());
		}
		
		return (x + y) / (x + y);
	}
}

Budeme testovat, zda metoda správně vrací výsledek (public void countOk()) a zda vyhazuje chybu se správných kódem v případě, že zadané číslo x nebo y je příliš velké (public void countXToBig(), public void countYToBig()), nebo když je y větší než x (public void countYBiggerThanX()).

import org.testng.annotations.Test;
import static org.testng.Assert.assertEquals;

public class MyObjectTest {

	@Test(expectedExceptions = {MyException.class}, expectedExceptionsMessageRegExp = ".*X111.*")
	public void countXToBig() {
		int result = new MyObject().count(10_000, 12);
	}
	
	@Test(expectedExceptions = {MyException.class}, expectedExceptionsMessageRegExp = "Y.*22")
	public void countYToBig() {
		int result = new MyObject().count(9, 5_000);
	}
	
	@Test(expectedExceptions = {MyException.class}, expectedExceptionsMessageRegExp = "Y1133")
	public void countYBiggerThanX() {
		int result = new MyObject().count(22, 27);
	}
	
	@Test()
	public void countOk() {
		int result = new MyObject().count(8, 5);
		assertEquals(result, 1);
	}
}

Změna textu na malá/velká písmena v Idea IDE

Občas je potřeba změnit určitý text na upper case (velká písmena) nebo lower case (malá písmena). Pro tuto akci má Idea IDE klávesovou zkratku. Označte text, který chcete převést na malá/velká písmena a stiskněte Ctrl+Shift+U. Tato akce funguje i například při commitu při zadávání commit message.

Stejnou akci je možné vyvolat přes nabídku Edit -> Toggle Case. Pro to aby byla volba zpřístupněna je třeba mít označen text.

idea_zmena_textu_na_mala_velka_pismena

Zapsání změn v Gitu jako někdo jiný

V Gitu při zapisování změn (commit) je možné určit autora. Jinak řečeno, je možné provést commit jako někdo jiný. To se může hodit v případě, že zapisujete změny někoho jiného a chcete, aby změny byly připsány tomuto autorovi (aby bylo vidět, že jejich autorem byl někdo jiný než vy).

git commit

Provede zapsání změn a za autora bude uveden ten, kdo je určen v souboru .gitconfig.

git commit --author="František Koudelka <fk@email.cz>"

Provede zapsání změn a za autora bude uveden „František Koudelka“.

git commit --amend --author="Jan Nový <jn@email.cz>"

Pozmění poslední commit a za autora bude uveden „Jan Nový“. Také se změní výchozí zpráva k revizi (commit message) za tu, která je zadána při tomto commitu.

V Idea IDE je také možné změnu autora provést při commitu.

git_zapsani_zmen_jako_nekdo_jiny_v_idee

Provede zapsání změn jako „Petr Zelený“.

V případě, že chcete změnit poslední commit, je třeba zaškrtnout volbu „Amend commit“.

git_zapsani_zmen_jako_nekdo_jiny_v_idee_02

Změní poslední commit tak, že bude obsahovat také nové změny a autorem bude „honzik“.

Vymazání cache v Chrome

Při vytváření webových stránek a hraní si s kaskádovými styly se může lehce stát, že prohlížeč stále zobrazuje webovou stránku s původními styly a nechce, ani po znovu načtení stránky, vzít v potaz změněný soubor stylů.

U prohlížeče Google Chrome se k vymazání cache (a také historie, cookie, hesel, …) dostanete přes Chrome menu (ikona se třemi vodorovnými čarami) -> Další nástroje -> Vymazat údaje o prohlížení … Pro vymazání souborů stylů slouží volba „Obrázky a soubory v mezipaměti“.

chrome_vymazání_cache

Zdroj: support.google.com

Kreslení mřížky v Gimpu

Gimp umožňuje do obrázku vykreslit mřížku. Tato možnost je ale skrytá docela hluboko. Filtry -> Vykreslit -> Vzorek -> Mřížka.

gimp_mrizka

gimp_mrizka_02

Experimentováním s nastavením lze dosáhnout zajímavých efektů.

gimp_mrizka_03

Uvedeného výsledku jsem dosáhl pomocí Mísení (barevný přechod na pozadí)

gimp_mrizka_04

a následujícího nastavení mřížky.

gimp_mrizka_05

Rovná čára v Gimpu

Gimp je výborný grafický editor, ale nemohl jsem přijít na to, jak v něm nakreslit rovnou čáru. Řešení je jednoduché. Stačí zvolit kreslící nástroj (ať už tužku nebo štětec), kliknout na plátno do výchozího bodu, stisknout a držet klávesu Shift, kliknou na koncové místo a pustit klávesu Shift.

gimp_kresleni_rovne_cary

Pokud budete stále držet klávesu Shift, můžete dále pokračovat v kreslení rovných čar. Stačí jen klikat na další místa na plátně. Tímto způsobem se dá vytvořit i objekt a to tím způsobem, že kreslení ukončíte ve výchozím bodu.

gimp_kresleni_rovne_cary_02

Vytvořený objekt je pak možné vybarvit pomocí plechovky.

gimp_kresleni_rovne_cary_03