Ikony na počítači s otazníkem

V případě, že se vám po instalaci či práci s Gitem (Git Bash), změní ikony v počítači tak, že obsahují otazník, je to pravděpodobně způsobeno složkou .git v adresáři uživatele (C:\Users\uzivatel). Složku .git stačí odstranit či přejmenovat a restartovat počítač.

Zdroj: stackoverflow.com…/git-for-windows-all-files-have-a-question-mark-on-the-icon

Jak na programování

Pokud byste se rádi naučili programovat, avšak nevíte, jak a kde začít, doporučuji podívat se na programovací jazyk Scratch. Tento jazyk a prostředí, ve kterém se programuje, je z velké části přeložen do češtiny a také k němu existuje velké množství výukových materiálů a jiných zdrojů. I na tomto webu naleznete tutoriál s vysvětleními, příklady a řešeními. Aktuálně má tento tutoriál dvanáct dílů a doufám, že ještě nějaké přibudou.

  1. Úvod
  2. První projekt
  3. Velikost postavy
  4. Cvičení 1
  5. Umístění postavy
  6. Pohyb
  7. Cvičení 2
  8. Události
  9. Cvičení 3
  10. Cykly
  11. Zvuky
  12. Cvičení 4

A co o Scratchi říká wiki?
Scratch je vizuální programovací jazyk, tzn. jazyk, který umožňuje vytvářet programy manipulací s grafickými programovými elementy a ne v textové podobě. Školáci, studenti, učitelé a rodiče ho mohou bezplatně používat jako multimediální autorský nástroj ke snadnému vytváření různých her a mít ho jako odrazový můstek do vyspělejšího světa počítačového programování. Je vhodný pro výuku i zábavu a byl použit v řadě různých projektů včetně simulací a vizualizací pokusů, k přípravě přednášek s animovanými prezentacemi, při tvorbě interaktivního umění, hudby a animovaných příběhů pro sociální vědy. Zdroj: cs.wikipedia.org/wiki/Scratch

Vytvoření seznamu z množiny v Javě

Datový typ Set (množina) je kolekce prvků, kdy každý z prvků se v množině může vyskytovat maximálně jednou. Set se používá jako struktura, která odfiltruje duplicity. Následně je ale často potřeba převést Set na seznam (List). Díky tomu, že Set implementuje rozhraní Collection, je možné použít konstruktor new ArrayList<>(set).

Set set = new HashSet<>();
set.add(7L);
set.add(2L);
set.add(19L);
set.add(7L);
set.add(7L);
set.add(2L);

List list = new ArrayList<>(set);

System.out.println(Arrays.toString(list.toArray()));

Výsledek

[2, 19, 7]

V případě, že Set je prázdný, vytvoří se prázdný List.

Set set = new HashSet<>();
List list = new ArrayList<>(set);

System.out.println(Arrays.toString(list.toArray()));

Výsledek

[]

Ahoj světě v JavaFX 8

JavaFX je soubor java balíčků, které umožňují vývoj grafických aplikací v Javě. Dříve k tomuto účelu sloužily knihovny AWT a poté Swing. JavaFX je nástupcem Swingu a verze JavaFX 8 je nyní nejaktuálnější.

Takto vypadá jednoduchá grafická aplikace v JavaFX.

javafx_ahoj_svete  javafx_ahoj_svete02

A toto je její kód.

import javafx.application.Application;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception{
        Button button = new Button();
        final Text message = new Text();

        button.setText("Řekni ahoj");
        button.setOnAction((event) -> message.setText("Ahoj"));

        VBox layout = new VBox(5, button, message);
        layout.setAlignment(Pos.CENTER);

        Scene scene = new Scene(layout, 200, 150);

        primaryStage.setTitle("Ahoj světe");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

Názvosloví v JavaFX je inspirováno divadlem (divadelní hrou). Hra se skládá z jednotlivých scén (scenes), které jsou hrány na jevišti (stage). Objekt typu Stage máme k dispozici. Do něj vložíme objekt typu Scene. Do scény se vkládá kontejner, který sdružuje další komponenty a umisťuje je.

Commit failed with error v Idea IDE

Pokud při commitu změn pomocí Gitu v Idea IDE dostanete hlášku "Commit failed with error, 0 files committed, 186 files failed to commit ...", tak jedním z důvodů může být to, že změny nebyly přidány (staged) pomocí git add. Zkuste git status, který vám řekne více. Pokud změny nebyly přidány tak dostanete následující výpis:

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

        modified:   ...

Pak je tedy potřeba git add * pro přidání všech souborů a následně by měl commit proběhnout v pořádku.

Zobrazení datumu včetně názvu dne v týdnu v Excelu

V Excelu není pro formát buněk typu datum předdefinované formátování se zobrazením názvu dne v týdnu. Je ale možné nadefinovat si formátování vlastní.

Pravým tlačítkem na buňku -> Formát buněk … -> Vlastní

ddd zkrácený název dne
dddd celý název dne

Příklady

Den Formát
8.3.2016 d.m.rrrr
8.3.2016 (út) d.m.rrrr (ddd)
út 08.03.2016 ddd dd.mm.rrrr
úterý – 8.březen.2016 dddd – d.mmmm.rrrr

LinkedIn – jaké jsou povinnosti na mateřské

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 😀 .

linkdedIn_povinnosti_na_materske

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.

oracle_12c_instalace_chyba_file_not_found

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