Seite wählen

NETWAYS Blog

Weekly Snap: Ruby on Rails, Git & Microsoft Exchange 2013

weekly snap24 – 28 March offered development tips on Git and Ruby on Rails, thoughts on upgrading to Microsoft Exchange 2013 and updates on tax law for business travel.
Eva started the week by counting 43 days to the OSDC with Michael Renner’s presentation, “PostgreSQL in 2013 – where we’re now, where we’re headed“.
On development, Eric showed how to leave specific files out of Git archives while Christoph got started with Ruby on Rails using Vagrant and Puppet.
Lastly, Martin upgraded our mail server to Microsoft Exchange 2013 and Vanessa shared an update to tax law on travel expenses.

OSDC 2014: Der Countdown läuft – nur noch 43 Tage

Wer bin ich?
Wo komme ich her?
Wo gehe ich hin?
Und wohin geht die Reise für PostgreSQL?
Fragen über Fragen, denen sich Michael Renner teilweise in seinem Vortrag annimmt.

OSDC? Noch nie gehört…
Das ist aber schade und fast schon ein unentschuldbares Versäumnis!
Aber wir holen das nach:
Die Open Source Data Center Conference (kurz OSDC) ist unsere internationale Konferenz zum Thema Open Source Software in Rechenzentren und großen IT-Umgebungen. 2014 findet sie zum sechsten Mal statt und bietet mit dem Schwerpunktthema Agile Infrastructures ganz besonders erfahrenen Administratoren und Architekten ein Forum zum Austausch und die Gelegenheit zur Aneignung des aktuellsten Know-Hows für die tägliche Praxis. Diesmal treffen wir uns dafür in Berlin!
Workshops am Vortag der Konferenz und das im Anschluss an die Veranstaltung stattfindende Puppet Camp komplettieren dabei das Rundum-sorglos-Paket für Teilnehmer, die gar nicht genug Wissen in sich aufsaugen können.

Und das war die PGConf.DE 2013

PostgreSQL Elephant Kollege Lennart und ich haben letzte Woche einen Abstecher nach Oberhausen gemacht, um an der deutschsprachigen PostgreSQL Konferenz 2013 teil zu nehmen.
In über 20 Vorträgen gab es viele Neuigkeiten zu PostgreSQL, der Community und einigen Projekten für und mit PostgreSQL. Wie auch an unseren Konferenzen zu spüren wächst das internationale Interesse an deutschen Konferenzen immer mehr, und so gab es auch viele englischsprachige Vorträge.
Aus einigen Vorträgen war zu entnehmen dass viele viele Anwender an Performance-Problemen scheitern, die meist auf grundsätzliche Index-Probleme, fehlende Tuningeinstellungen oder sogar schlecht durchdachte Anwendungen zurückzuführen sind.
Einige Unternehmen waren anwesend und berichteten von Ihren positiven Erfahrungen bei, Einsatz von PostgreSQL und der Migration von anderen RDBMS.
Es ist immer wieder eine Freude viele bekannte Gesichter zu treffen und sich über den neuesten „IT Tratsch“ auszutauschen.
Wer uns auf einer Konferenz entdeckt, darf übrigens gerne Hallo sagen, wir beißen nicht! 😉 Wir haben auch Steckbrief-Bilder zum einprägen!
Hier noch ein paar Vortrags-Empfehlungen:

The PostgreSQL name and logo are trademarks of The PostgreSQL Community Association of Canada. (source)

Weekly Snap: LinuxTag, Puppet for Corosync & Psycopg2

weekly snap13 – 17 May offered tips on environment monitoring and working with PostgreSQL, a new Puppet-Corosync tool and photo editor as well as an upcoming event.
Eva gave us the heads-up on on LinuxTag in Berlin from 22 – 25 May, where we will be exhibiting and presenting on Icinga, OpenNebula and Puppet.
Lennart then shared his Puppet module for Corosync that enables resource cloning, standard setting and binding to nodes with rule-based distribution, while Georg introduced three hardware solutions for remote environmental monitoring.
Lastly, Eric showed how to make bulk inserts in PosgreSQL with Python’s Psycopg2, and Achim recommended Hugin to stitch multiple photos into a panorama shot.

PostgreSQL bulk inserts mit Python

Wer oft viele Daten in seine PostgreSQL Datenbank schreibt, dem möchte ich den COPY-Befehl ans Herz legen. Damit können Daten zwischen Dateien und Tabellen kopiert werden. Mit Psycopg2, „dem“ PostgreSQL-Datenbankadapter für Python, sieht das dann ungefähr so aus:

import psycopg2
from cStringIO import StringIO
from itertools import imap
rows = [
    # Wert Spalte A, Wert Spalte B
    [1, 1],
    [2, 2],
    [3, None]
    # ...
]
buff = StringIO()
for row in rows:
    # \t ist standardmäßig der Spaltentrenner und join erwartet string
    print >>buff, "\t".join(imap(str, row))
# Nicht vergessen 😉
buff.seek(0)
with psycopg2.connect('...') as conn:
    with conn.cursor() as cursor:
        # None als NULL senden
        cursor.copy_from(buff, 'Tabelle', null='None')

Dass das ganze echt schnell ist, muss mir an dieser Stelle einfach geglaubt werden ;-).

Eric Lippmann
Eric Lippmann
CTO

Eric kam während seines ersten Lehrjahres zu NETWAYS und hat seine Ausbildung bereits 2011 sehr erfolgreich abgeschlossen. Seit Beginn arbeitet er in der Softwareentwicklung und dort an den unterschiedlichen NETWAYS Open Source Lösungen, insbesondere inGraph und im Icinga Team an Icinga Web. Darüber hinaus zeichnet er für viele Kundenentwicklungen in der Finanz- und Automobilbranche verantwortlich.