Kategorie: IT
RSS

SQL Developer – Spracheinstellungen ändern

2018-03-31 von admin

Um die Spracheinstellungen der Software Oracle SQL Developer zu ändern, einfach in den Ordner des Programms wechseln und die Datei

mit einem Text-Editor öffnen.

Daraufhin die Zeile

hinzufügen. Jetzt den SQL Developer neu starten und die gesetzte Sprache, hier Englisch, wird angezeigt.

Kategorie: IT Schlagwörter:

SQL Developer – ORA-00904 ORA_ROWSCN invalid identifier

2018-03-24 von admin

Wenn im SQL Developer beim Betrachten von Datenbanktabellen der Fehler

auftritt, dann ist eine Anzeige der Tabelleninhalte nicht mehr möglich.

Eine Abhilfe kann im Menü unter „Tools – Preferences… – Database – Object-Viewer“ konfiguriert werden.

Hier das Kontrollkästchen „Use ORA_ROWSCN for DataEditor insert and update statements“ deaktivieren und danach sind die Daten wieder sichtbar.

Kategorie: IT Schlagwörter:

JavaScript-Engines – ein kleiner Überblick

2018-03-17 von admin

Eine JavaScript-Engine ist ein Programm oder Interpreter, welches JavaScript-Code ausführen kann. Anwendung finden JavaScript-Engines meistens in Webbrowsern.

Einige der bekanntesten sind in der Tabelle aufgeführt:

Engine Entwickler Browser Programmiersprache
V8 Google Chrome, Opera  C++
Rhino Mozilla Foundation Firefox  Java
SpiderMonkey Netscape Netscape Navigator  C/C++
JavaScriptCore Apple Safari  C++
KJS KDE Projekt Konqueror  C++
Chakra Microsoft Internet Explorer  C++

 

V8

Die Chrome V8 oder einfach ausgedrückt V8, ist eine von Google entwickelte JavaScript-Engine. V8 kompiliert JavaScript direkt in nativen Maschinencode, bevor dieser ausgeführt wird. V8 ist für die Plattformen x86, ARM oder MIPS Architekturen ausgelegt (32- und 64-Bit).

Rhino

Rhino ist vollständig in Java geschrieben und wurde von der Mozilla Foundation entwickelt. Rhino kompiliert JavaScript in Java-Bytecode, kann diesen aber auch zur Laufzeit interpretieren.

SpiderMonkey

SpiderMonkey ist in C/C++ geschrieben und wurde von Netscape entwickelt. SpiderMonkey diente der Mozilla Foundation als Grundlage zur Entwicklung von Rhino.

JavaScriptCore

JavaScriptCore ist eine Abspaltung von KJS und wird von Apple weiterentwickelt. Vor der Ausführung wird JavaScript in Bytecode übersetzt, welches direkt zur Maschinensprache kompiliert.

KJS

KJS wurde ursprünglich von Harri Porten für den KDE Webbrowser Konqueror entwickelt.

Chakra

Chakra (JScript9) ist eine JavaScript-Engine, welche von Microsoft entwickelt wurde. ChakraCore (JavaScript) ist ein Teil von Chakra und ist eine JavaScript-Engine für den Microsoft Edge Browser. Chakra ist für die Plattformen x86/x64/ARM Architekturen ausgelegt.

 

Weiterführende Links

https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
https://en.wikipedia.org/wiki/Chakra_(JScript_engine)
https://github.com/Microsoft/ChakraCore
https://developers.google.com/v8/
https://developer.apple.com/documentation/javascriptcore
https://en.wikipedia.org/wiki/Comparison_of_web_browser_engines
https://de.wikipedia.org/wiki/Rhino_(Programmierung)
https://developer.mozilla.org/de/docs/Rhino
https://github.com/alrra/browser-logos

Kategorie: IT Schlagwörter: , ,

Linux: PDF Dokument Restriktionen entfernen

2018-03-10 von admin

Mit dem pdftk ist es möglich, Restriktionen von Funktionen in einer PDF Datei, wie z.B: Drucken mit niedrigerer Qualität, Verhinderung des Kopierens von Texten, Verhinderung der Kommentarfunktionen, zu entfernen.

Dafür einfach in der Konsole den folgenden Befehl verwenden:

Kategorie: IT Schlagwörter: , , , ,

JDK ohne Adminrechte installieren

2018-03-03 von admin

Mit den folgenden Schritten ist es möglich, das JDK (Java Development Kit) auf einem Windows PC ohne Administratorenrechte zu installieren.

Voraussetzungen

  1. Download Oracle JDK 
  2. Download Portable 7zip

 

Installation

1. Öffnen der Datei „jdk-8u161-windows-x64.exe“ mit 7Zip

Bei der x86 Version ist die tools.zip gleich ersichtlich. Bei der x64 ist die tools.zip unter „.rsrc\1033\JAVA_CAB10\111\“ zu finden.

2. Entpacken

Die ZIP Datei öffnen und entpacken.

3. CMD

Als nächstes eine Eingabeaufforderung öffnen und zum entpackten Ordner (jdk-8u161) navigieren. Daraufhin in den Ordner „lib“ wechseln. In dem Ordner befinden sich Dateien mit der Endung „.pack.“ Die Dateien müssen mit dem Tool unpack200 extrahiert werden. Dafür folgendes Kommando eingeben:

4. Danach kann der Ordner bspw. nach „D:\JavaJDK\“ verschoben werden.

 

Quelle: www.whitebyte.info/programming/java/how-to-install-a-portable-jdk-in-windows-without-admin-rights

Kategorie: IT Schlagwörter: , ,

SQL Developer – Startup Script

2018-02-24 von admin

Wird bei einer Oracle Datenbank das Feature VPD verwendet, so kann es hilfreich sein, dass der Kontext bei einer Datenbankverbindung automatisch gesetzt wird. Bei der Software SQL Developer kann beim Verbindungsaufbau ein Script hinterlegt werden, welches nach erfolgreichem Aufbau automatisch ausgeführt wird.

Dafür im Menü der Software SQL Developer unter „Tools – Voreinstellungen“ den Eintrag Datenbank wählen und das „login.sql“ eintragen.

In dem Script reicht ein einfacher Aufruf der notwendigen Prozedur aus.

Kategorie: IT Schlagwörter: ,

Sublime Text – Encoding in der Statusbar anzeigen

2018-02-10 von admin

Der Editor Sublime Text zeigt standardmäßig in der Statusbar das aktuell Encoding nicht an. Im Menü unter „Preferences“ | „Settings“ können die Einstellungen des Editor angepasst werden.

Es öffnen sich zwei Tabs. In dem Tab „Preferences.sublime-settings“ muss lediglich die Zeile

eingefügt werden.

Daraufhin wird in der Statusbar das Encoding dargestellt.

 

Kategorie: IT Schlagwörter: ,

Zeichenkodierung – Unicode (Teil 3)

2018-02-04 von admin

In dem dritten Teil der Reihe „Zeichenkodierung“ geht es um Unicode.

Die Zeichenkodierung „Unicode“

Unicode ist ein internationaler Standard, in dem alle Schriftzeichen und Textelemente aller bekannten Schriftkulturen und Zeichensysteme digital festlegt werden. Bei Unicode existieren zwei Zuordnungsmethoden: das Unicode Transformation Format (UTF) und die Universal Coded Character Set (UCS).

Seit der Unicode Version 4.0 von 2011 sind beide Standards (UTF, UCS) hinsichtlich der Kodierungen deckungsgleich. Deshalb wird im folgenden Teil ausschließlich auf UTF eingegangen.

 

UTF (Unicode Transformation Format)

Mit dieser Kodierung sind je Format 1.114.112 Zeichen (Codepoints) darstellbar. Die verschieden UFT-Formate und deren Eckdaten stellt die folgende Tabelle dar:

UTF-8 UTF-16 UTF-32
Anzahl Bits 8 Bit 16 Bit 32 Bit
Anzahl Bytes je Zeichen 1 Byte bis 4 Byte
(variable Byte-Anzahl)
2 Bytes 4 Bytes
max. Anzahl Zeichen 256 65.536 4.294.967.296
BOM optional UTF-16LE
UTF-16BE
UTF-32LE
UTF-32BE
Anmerkung Die ersten 128 Zeichen stimmen mit dem ASCII-Zeichensatz überein.
Diese werden mit einem Byte kodiert.

 

Ein Vorteil von UTF ist, dass eine verlustfreie Umwandlung von einem zum anderen Format möglich ist.

Bei Unicode existieren zwei Wege, die Informationen zu speichern. Exemplarisch wird der Text „Hallo“ verwendet, daraus ergeben sich zwei Varianten, je nachdem, wie die Bytes angeordnet werden.

 

Text H a l l o
Hexadezimal  00 48  00 61  00 6C  00 6C  00 6F
Hexadezimal  48 00  61 00  6C 00  6C 00  6F 00

 

Die Unterscheidung wird durch das Byte Order Mark vorgenommen.

 

BOM (Byte Order Mark)

Das Byte Order Mark gibt an, welche Variante für die Kodierung eines Textes angewendet wird. Dadurch kann bei der Verarbeitung von Dateien mit unterschiedlichen Programmen eine Unterscheidung erfolgen. Bei den Kodierungen UTF-16 und UTF-32 muss die BOM-Byte-Reihenfolge angegeben werden, bei UTF-8 ist die Angabe optional.

Kodierung hexadezimale Darstellung
UTF-8  EF BB BF
UTF-16 (BE)  FE FF
UTF-16 (LE)  FF FE
UTF-32 (BE)  00 00 FE FF
UTF-32 (LE)  00 00 FE FF

 

Es wird zwischen Little Endian (LE) und Big Endian (BE) unterschieden.

Byte Order Mark Beispiel Beschreibung
Little Endian (LE)  Tag.Monat.Jahr  Bei Little Endian wird das kleinstwertige Byte zuerst genannt.
Big Endian (BE)  Jahr.Monat.Tag  Bei Big Endian wird das höchstwertige Byte zuerst genannt.

 

Codepoint

Die Position eines Zeichens in einem Zeichensatz ist der sog. Codepoint („Codeposition“). Im Unicode-Standard werden die Zeichen in einem festgelegten Format adressiert.

Das „U“ steht dabei für Unicode und „xxxx“ steht für eine hexadezimale Darstellung eines Zeichens. Beispielsweise kann das Euro „€“ Zeichen mit dem Codepoint

angesprochen werden. Eine Darstellung des Zeichens auf einer Webseite stellt sich wie folgt dar:

 

Eine Übersicht aller Zeichen ist unter ascii-table.com/unicode.php zu finden.

 

Vorherige Teile:

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

Zeichenkodierung – ANSI (Teil 2)

Kategorie: IT Schlagwörter: , , ,

Zeichenkodierung – ANSI (Teil 2)

2018-01-28 von admin

Hier kommt der zweite Teil aus der Reihe „Zeichenkodierung“.

Die Zeichenkodierung „ANSI“

ANSI steht für American National Standards Institute, dabei handelt es sich um eine Erweiterung des ASCII-Codes.

Alle Zeichen von 0 bis 128 sind identisch dem ASCII Zeichensatz. Alle Zeichen über 128 unterscheiden sich darin, dass viele zusätzliche Sonderzeichen (Zahlenbrüche, Vokale mit französischen Accent oder Währungssymbole) dargestellt werden.

Insgesamt sind 256 Zeichen darstellbar. Bei der Kodierung werden jedem Zeichen 8 Bits zugeordnet.

Dadurch ergeben sich 28 = 256 verschiedene Kombinationen.

Eine Übersicht aller Zeichen ist unter ascii-table.com/ansi-codes.php zu finden.

 

Vorherige Teile:

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

Kategorie: IT Schlagwörter: , , ,

Zeichenkodierung – Grundlagen und ASCII (Teil 1)

2018-01-21 von admin

Bei der elektronischen Datenverarbeitung werden Zeichen, also bspw. Buchstaben, die Du hier gerade liest, als Zahlen kodiert. Dabei können Zeichen auf verschiedene Arten kodiert werden (Morsezeichen, Töne, Zahlen, …). Mit der fortschreitenden Entwicklung des Computers entstanden verschiedene Zeichenkodierungen. In diesem Teil geht es um allgemeine Begrifflichkeiten und die Kodierung ASCII.

Zeichensatz

Ein Zeichensatz (character set, kurz charset) ist die Menge aller Schriftzeichen. In dieser Menge können Buchstaben eines Alphabetes, Ziffern, Symbole oder Sonderzeichen enthalten sein.

Zeichenkodierung

Eine Zeichenkodierung beschreibt die konkrete Abbildung von Zeichen auf Byte-Werte.

Codepoint

In einem Zeichensatz werden Zeichen in einer bestimmten Reihenfolge (code space) angeordnet. Zur Verdeutlichung ein Beispiel mit einem Zeichensatz welcher vier Buchstaben enthält.

Zeichensatz A B C D
Codepoint 1 2 3 4

Die Position eines Zeichens in einem Zeichensatz ist der sog. Codepoint („Codeposition“). Ein Zeichensatz mit Codepoints wird als ein codierter Zeichensatz (coded character set) bezeichnet.

Schriftart

Für die grafische Darstellung von Zeichen werden Schriftarten verwendet. In der Regel weisen Schriftarten eine konsistente Gestaltung auf (Dicke der Buchstaben, Serifen, …).

Tastatur-Layout

Das Tastatur-Layout kann auch als Tastenbelegung bezeichnet werden. Dabei wird jeder Taste auf der Tastatur ein Codepoint zugeordnet. Beispielsweise wird für die Ausgabe des Buchstabens „z“ die beschriftete Taste „z“ auf einer deutschen Tastatur geklickt. Wird die Tastenbelegung auf US-amerikanisch geändert, erzeugt dieselbe Taste ein „y“.

 

Die Zeichenkodierung „ASCII“

Der American Standard Code for Information Interchange kurz ASCII umfasst 128 Zeichen. Davon bestehen 33 aus nicht druckbaren und 95 aus druckbaren Zeichen.

druckbare Zeichen nicht druckbare Steuerzeichen
  • lateinische Alphabet in Groß- und Kleinschreibung
  • zehn arabischen Ziffern
  • einige Interpunktionszeichen (Satzzeichen, Wortzeichen)
  • Sonderzeichen
  • Zeilenvorschub
  • Tabulator
  • Trennzeichen

Bei der Kodierung wird jedem Zeichen ein Bitmuster aus 7 Bits zugeordnet. Das 8. Bit eines Bytes wird nicht benutzt oder wird für verschiedene andere Zwecke verwendet. Dadurch ergeben sich  27 = 128 verschiedene Kombinationen. Hier ein kleiner Abriss der Kodierung:

Schriftzeichen Dezimal Binär
A 65 (0)100 0001
B 66 (0)100 0010
C 67 (0)100 0011

 

Eine Übersicht aller Zeichen ist unter ascii-table.com/ascii.php zu finden.

Kategorie: IT Schlagwörter: , , ,

Yahoo Finance API mit Python

2017-12-30 von admin

Mithilfe der Yahoo Finance API ist es möglich, automatisiert Aktienkurse und viele weitere Informationen auszulesen. Dafür habe ich ein kleines Python Script erstellt, welches es ermöglicht, den Abruf von zuvor festgelegten Werten (Aktien, Indexe, …) durchzuführen.

TL;DR

In dem folgenden Beispiel Script werden Informationen von insgesamt drei Aktienindexen abgerufen und angezeigt.

Download: yahoo.zip

Technische Erläuterung

Zeile Beschreibung
2-4 Import von verwendeten Bibliotheken.
6 In der Liste „stockList“ sind drei Symbole enthalten, die über die API abgerufen werden.
7 Adresse (URL) der API.
9-10 Abruf der Symbole über die API und einlesen.
11 Den Response in ein Python-Objekt umwandeln.
13 Die Ergebnismenge durchlaufen.
14-19 Es werden verschiedene Attribute ausgegeben.
20 Leerzeile ausgeben

 

Ausgabe

Die Anzeige der ausgelesenen Indexe und ihrer Attribute stellt sich auf der Konsole wie folgt dar:

Symbol bestimmen

Über ein Symbol kann der Yahoo Finance API kommuniziert werden, welche Aktie oder welcher Index abgefragt werden soll. Um ein Symbol in Erfahrung zu bringen, kann die Website finance.yahoo.com verwendet werden. Auf dem folgendem Bild kann nach dem jeweiligen Wert (Index, Aktie, …) gesucht werden. In dem Beispiel wurde nach dem „Dow Jones“ Index gesucht.

Neben dem Namen „Dow Jones Industrial Average“ wird das Symbol „^DJI“ dargestellt. Dieses Symbol und noch zwei weitere werden im obigen Script (Zeile 6) aufgelistet und somit abgefragt.

 

Weitere Attribute anzeigen

Mit dem Browser Firefox ist es möglich, die API direkt anzusprechen und sich alle Attribute übersichtlich darstellen zu lassen.

Link: https://query1.finance.yahoo.com/v7/finance/quote?symbols=^DJI

Wenn die Ausgabe anderer Attribute gewünscht ist, kann das Script entsprechend angepasst werden.

Kategorie: IT Schlagwörter: , , ,

MBR (Master Boot Record)

2017-10-15 von admin

Der Master Boot Record (MBR) ist ein Startprogramm und befindet sich im ersten Sektor eines bootfähigen Speichermediums (Festplatte, CD, USB, …). Unter Linux ist der MBR meist unter „/dev/hda“ oder „/dev/sda“ zu finden. Die Größe beträgt 512 Byte und unterteilt sich in die Bereiche:

Bereiche Größe
Bootloader 440 Byte
Datenträgersignatur 4 Byte
Null 2 Byte
Partitionstabelle  64 Byte
Bootsektor-Signatur  2 Byte

 

Mit dem Befehl „dd“ kann der MBR in eine separate Datei extrahiert werden.

Um die erstellte Datei anzuschauen, kann ein beliebiger Hex-Editor oder der Befehl „od“ verwendet werden.

 

Bootloader (440 Byte)

Die ersten 440 Byte gehören zum Bootloader und nach der Ausführung sucht dieser in der Partitionstabelle nach einer aktiven Partition. Je nach System kann es sein, dass der Bootloader größer als 440 Byte ist und sich somit auf dem Dateisystem einer Festplatte befindet oder das ein Bootmanager verwendet wird.

Wenn die aktive Partition gefunden wurde, wird das eigentliche Betriebssystem gestartet.

Datenträgersignatur (4 Byte)

Die Datenträgersignatur (Disk Signature oder Disk identifier) wird von Windows 2000 und XP verwendet, um Datenträger (Partitionen) eindeutig zu identifizieren, bspw. für die Zuordnung von Laufwerksbuchstaben zu einer Partition. Die Datenträgersignatur besteht aus einem zufällig generierten Wert.

Null (2 Byte)

Nach der Datenträgersignatur folgen zwei leere Bytes.

Partitionstabelle (64 Byte)

Die Partitionstabelle teilt sich in vier Sektionen zu 16 Byte auf. Die vier verfügbaren Partitionen sind in Orange, Grün, Magenta und Hellblau hervorgehoben. Die Bedeutung der einzelnen Bytes werden anhand der ersten Partition erläutert.

Byte Größe  Partition 1 Beschreibung
1 80 Gibt an, ob eine Partition gestartet werden kann.

0x80 = bootfähig

0x00 = nicht bootfähig

3 20 21 00 CHS-Eintrag des ersten Sektors
1 83 Kennzeichnung des Partitionstyps.

0x00 = leer/unbenutzt
0x01 = FAT12 ≤ 16MB (hauptsächlich Floppy Disks aber auch Speicherkarten)
0x04 = FAT16 ≤ 32 MiB
0x05 = erweiterte Partition
0x06 = FAT16 > 32 MiB
0x07 = NTFS (Windows NT/2000/XP/Vista/7/8), HPFS (OS/2) oder exFAT
0x0B = FAT32
0x0C = FAT32 mit BIOS-Extensions (LBA)
0x0E = FAT16 > 32 MiB mit BIOS-Extensions (LBA)
0x0F = erweiterte Partition mit BIOS-Extensions (LBA)
0x12 = OEM-Partition für Konfiguration, Diagnose, BIOS-Erweiterung
0x27 = Windows RE versteckte Partition
0x42 = Dynamischer Datenträger
0x82 = Linux Swap/Solaris 2.6 X86 bis Solaris 9 X86
0x83 = Linux Native
0x8E = Linux LVM
0xA5 = FreeBSD
0xA6 = OpenBSD
0xA9 = NetBSD
0xEE = Legacy MBR mit folgendem EFI-Header
0xEF = EFI-Dateisystem

mehr

3 fe ff ff CHS-Eintrag des letzten Sektors
4 00 08 00 00 Startsektor, relativ zum Anfang der Festplatte oder zur erweiterten Partition
4 00 08 e9 02 Anzahl der Sektoren in der Partition per LBA-Methode

 

Bootsektor-Signatur (2 Byte)

Die Bootsektor-Signatur wird auch „Magic Number“ genannt und schließt den MBR ab. Wird die Signatur von einem BIOS gefunden, wird der MBR als gültiger Bootsektor gehandhabt. Fehlt hingegen die Signatur, wird der Bootvorgang abgebrochen.

 

Weiter führende Links

Linux – Boot Prozess

Master Boot Record

Kategorie: IT Schlagwörter: ,

Raspberry PI: Installation ohne Monitor (Raspbian Stretch)

2017-10-03 von admin

Vor einiger Zeit habe ich das Betriebssystem Raspbian auf einem Raspberry PI installiert. Nachdem sich die Schritte für eine Installationen etwas geändert haben, hier eine überarbeitete Anleitung. Für die Installation wurde folgende Version verwendet:

Raspbian Stretch with desktop
Image with desktop based on Debian Stretch
Version: September 2017
Release date: 2017-09-07
Kernel version: 4.9

 

Schritt 1: Download des Betriebssystems unter https://www.raspberrypi.org/downloads/

Schritt 2: Formatieren der microSD-Karte mit FAT32. (Hinweis: Die Device Adresse kann von der hier angegebenen abweichen!) Alternativ kann hier auch die Software gparted verwendet werden.

Schritt 3 (Optional): Vergabe einer Volumenbezeichnung

Schritt 4: Entpacken des runtergeladenen Betriebssystems Images

Schritt 5: Image Datei auf die SD-Karte übertragen

Schritt 6: Danach erneut auf die SD-Karte zugreifen, da aus Sicherheitsgründen SSH per default deaktiviert ist. Für die Aktivierung des Remote-Zugriffs über SSH muss eine eine leere Datei mit dem Namen „ssh“ auf der Boot Partition abgelegt werden.

Schritt 7: Die SD-Karte in den Raspberry Pi schieben bis es leise klickt, dann ist die Karte eingerastet. Danach noch das Netzteil und das Netzwerkkabel anschließen.

Schritt 8: Um den Pi im Netzwerk zu finden, einfach mit nmap scannen oder im Router nachschauen, welche IP Adresse vergeben wurde.

Schritt 9: Erste Anmeldung am Pi mit der gefundenen IP-Adresse.

Das default Passwort lautet: raspberry

Schritt 10: Ändern des default Passworts

Schritt 11: Update des Systems

Schritt 12: Konfiguration des Systems (Uhrzeit, Zeitzone, …)

Schritt 13 (Optional): Remote Desktop installieren

Der xrdp Prozess wir automatisch beim Starten des Raspberry Pi geladen. Der Status kann wie folgt abgefragt werden:

Schritt 14 (Optional): Daraufhin kann eine Remote Desktop Verbindung unter Ubuntu eingerichtet werden. Zu finden ist das Programm im Menü unter „Internet | Zugriff auf entfernte Arbeitsflächen“.

pi3

Nachdem eine Verbindung aufgebaut ist, kann der Desktop verwendet werden.

Kategorie: IT Schlagwörter: , ,

Ubuntu: fehlende Bibliothek libgtk installieren

2017-09-06 von admin

Beim Starten einer neuen Software wurde die Fehlermeldung

angezeigt. Die fehlende Bibliothek konnte ganz einfach installiert werden:

Danach lief die Software wie gewünscht.

Kategorie: IT