LinkedIn je sociální síť, která umožňuje lidem přidat pracovní profil a firmám pak najít potencionální zaměstnance. V rámci mateřské dovolené je matka stále zaměstnancem firmy a v rámci profilu je možné těchto několik měsíců uvést jako mateřskou. LinkedIn se snaží, aby profil byl co nejvíce kompletní, a proto se také může zeptat, jaké že to matka vlastně měla za povinnosti 😀 .
Měsíc: Duben 2016
Soubor nenalezen – chyba při instalaci Oracle 12c
Instalace Oracle 12c se skládá ze dvou soborů. V instrukcích pro instalaci databáze je uvedeno, že je třeba oba soubory rozbalit do stejné složky. Tím ale autor myslí následující:
Všechna data z
...\winx64_12102_database_2of2\database\stage\Components
překopírovat do
...\winx64_12102_database_1of2\database\stage\Components
V případě, že tak neučiníte, instalace se spustí, ale po nějaké době se vám zobrazí chybové okno.
Porovnávání času v joda.time
Instance org.joda.time.DateTime
obsahuje údaje o datumu a čase. Instance org.joda.time.DateTime
obsahuje údaje pouze o datumu. Pro porovnávání instancí na to, který čas nastal dříve či později, poskytuje knihovna joda metody isAfter() a isBefore(). Pozor na to, že pokud vrací isAfter() true, znamená to, že čas nastal po určitém čase a pokud isBefore() vrací true, tak daný čas nastal před určitým časem.
DateTime now = DateTime.now(); DateTime past = DateTime.now().minusDays(2); DateTime future = DateTime.now().plusMonths(5); System.out.println(now.isAfter(past)); System.out.println(now.isBefore(past)); System.out.println(now.isAfter(future)); System.out.println(now.isBefore(future)); System.out.println(); // porovnávám dva stejné časy System.out.println(now.toLocalDate().isAfter(now.toLocalDate())); // porovnávám aktuální čas s časem plus tři dny do budoucna System.out.println(now.toLocalDate().isBefore(LocalDate.now().plusDays(3)));
Výsledek
true false false true false true
Odstranění položky ze seznamu při průchodu
Mějme následující seznam
List list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d");
Zkusme z něj odstranit položku.
for (String item : list) { if (item.equals("a")) { list.remove(item); } }
Jakýkoliv pokus o odsranění položky ze seznamu tímto způsobem vyhodí java.util.ConcurrentModificationException
. Zkusme tedy použít klasický cyklus a přistoupit k položce pomocí indexu.
for (int i = 0; i < list.size(); i++) { if (list.get(i).equals("a")) { System.out.println("removing"); list.remove(i); } }
Výsledek je [b, c, d] což je správně a nedošlo k vyhození výjimky.
Zkusme ale odstranit „b“ a zároveň „c“.
for (int i = 0; i < list.size(); i++) { if (list.get(i).equals("b") || list.get(i).equals("c")) { System.out.println("removing"); list.remove(i); } }
K chybě nedošlo, ale výsledek je [a, c, d], což je špatně. Odstranili jsme „b“, seznam se zmenšil a „c“ se posunulo na index 1 (kde bylo původně „d“). Cyklus ale pokračoval na indexu 2. Pokud bychom chtěli správný výsledek, kód by vypadal následovně.
for (int i = 0; i < list.size(); i++) { if (list.get(i).equals("b") || list.get(i).equals("c")) { System.out.println("removing"); list.remove(i); i--; } }
Pro modifikaci seznamu je nejlepší použít iterátor.
Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String item = iterator.next(); if (item.equals("b") || item.equals("c")) { iterator.remove(); } }
Metoda s proměnným počtem argumentů v Ruby
Pro určení proměnného počtu argumentů v metodě se v Ruby používá znak hvězdičky (*).
Příklad
def myMethod(*arguments) arguments.each do |argument| puts argument end end myMethod myMethod("a", "b", "c")
Výsledek
a b c
Další příklad
def myOtherMethod(arg1, arg2, *others) puts arg1 puts arg2 others.each do |other| puts other end end myOtherMethod(99, 1.123) puts myOtherMethod(123, "Ahoj", 24, 945612, "Nazdar")
Výsledek
99 1.123 123 Ahoj 24 945612 Nazdar
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
- SQL: Základní znalost na úrovni jednoduchých dotazů do databáze. Stačí znalost např. na úrovni následujícího kurzu 1 – 9 díl (které jsou zdarma) itnetwork.cz/postgresql.
- XML: Vědět co to je xml dokument a jak vypadá. Stačí jen obecné znalosti. Zde naleznete více informací: programujte.com/…/xml-pro-zacatecniky/, kosek.cz/…/syntaxe.html.
- UML: Vědět co to znamená a pochopit smysl jednoduchých UML diagramů. Pokud si přečtete prvních pět dílů tohoto tutoriálu itnetwork.cz/navrhove-vzory/uml, budete vědět více, než plno lidí pracujících v IT
Některé společnosti (např. Cleverlance nebo Unicorn) dokonce pořádají několika týdenní školení, během kterých si testery sami vychovají.
Naučte se anglicky s Duolingo
Pokud se chcete naučit anglicky, je zde pro vás web duolingo.
Můžete si zvolit, jak intenzivně se chcete jazyk učit. Dle toho vás bude program upozorňovat na splnění cílů a také vás bude odměňovat.
Pokud již máte nějaké základy, nemusíte začínat od začátku. Stačí udělat test a dle jeho výsledku program určí vaši úroveň.
Pokud se rozhodnete jít od začátku, čeká vás v každé lekci trocha teorie …
… a procvičování. V rámci cvičení si vyzkoušíte překlad z češtiny do angličtiny a obráceně a to nejen psaného textu, ale též textu mluveného. Program bude také kontrolovat vaši výslovnost (pokud mu to umožníte a povolíte mu přístup k mikrofonu).
Určitě doporučuji tuto webovou aplikaci vyzkoušet. Nic za to nedáte. Je to zdarma. Pokud již anglicky umíte, můžete se na duolingo učit další jazyky (a je jich celá řada).