SlideShare ist ein Scribd-Unternehmen logo
Offline Arbeiten
(wie im letzten Jahrtausend)
         rails-konferenz.de 2007

         Jens-Christian Fischer
         http://blog.invisible.ch
Notizen einer Reise
„The Internet is a series of tubes“
                    – Ted Stevens
Das Internet wiegt
    ca. 60 Gramm




http://adamant.typepad.com/seitz/2006/10/weighing_the_we.html

Empfohlen für Sie

Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter

Secure Scripting SIG Security Köln Dienstag, 16. Oktober 2012 Wo hin nur mit den Passwörtern in Oracle Scripten? Passwörter "verstecken" Datenbank Skripte vor Manipulationen schützen

oracle
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
inovex puppet
German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als Code
linuxperldevops
Offline Arbeiten
Offline Arbeiten
Offline Arbeiten
Offline Arbeiten

Empfohlen für Sie

DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS

ZFS Empfehlungen ZPOOL Online Replication Oracle DB Cloning SPARC DAX

zfssolarisldoms
Homebrew
HomebrewHomebrew
Homebrew

Homebrew ist ein alternativer Paketmanager für Mac OS X. Vortrag wurde am 24.11.2009 an der Heinrich-Heine-Universität Düsseldorf im Rahmen der Rails User Group Düsseldorf von Hussein Morsy gehalten

linuxmacunix
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data

Short German introduction into Oracle Data Pump, Export and Import the data of an Oracle database

oracleoracle data pump
Offline Arbeiten
Offline Arbeiten
Offline Arbeiten
Offline Arbeiten

Empfohlen für Sie

Unser Weg zum Frankenstack
Unser Weg zum FrankenstackUnser Weg zum Frankenstack
Unser Weg zum Frankenstack

OpenStack User Story

user experienceopenstack
IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)

Presentation about how to install IBMs chat & awareness services for the included Notes license - known as Sametime limited use. Mobile support for limited use will be added with future release of sametime V10 (end of 2018)

ibmsametimeibm websphere
Inside HTTP: Webdebugging mit FIddler
Inside HTTP: Webdebugging mit FIddlerInside HTTP: Webdebugging mit FIddler
Inside HTTP: Webdebugging mit FIddler

Slides meines Vortrags am 05.12.2013 bei der .NET Usergroup Göttingen http://dotnetgoettingen.de/?p=584

Offline Arbeiten
Offline Arbeiten
Offline Arbeiten
Web No Web

Empfohlen für Sie

OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...

Dieser Workshop ist in erster Linie für Konferenzteilnehmer gedacht, die sich für Plugin-Programmierung interessieren. Der Workshop zeigt auf, welche überwachenswerten Daten und Parameter es auf einem NetApp-Filer gibt und wie die Zugänge zu diesen Daten (Telnet, HTTP, SNMP, SSH, XML/Webservices, Data ONTAP APIs) sind. Ingo Lantschner wird eine theoretische Einführung und Demonstration an Hand des NetApp-Simulators präsentieren und mit den Teilnehmern ein Demo-Plugin auf Basis der o.g. Erkenntnisse entwickeln, anschließend erfolgt der Upload des Plugins auf Nagios-Exchange.

osmcopen sourcemonitoring
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching

Die Folien zum Vortrag "Performance durch Caching (Teil 2)" von Fabrizio Branca auf der Meet Magento #5 2011 in Leipzig

 
von AOE
cachingcachevarnish
Docker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebugDocker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebug

Vortrag auf dem TYPO3 Meetup 3 am 13.11.2017 bei sitegeist über Docker Umgebungen für TYPO3 zu Präsentationszwecken und als Entwicklungsumgebung mit xdebug.

typo3dockerxdebug
Web No Web
Offline Szenarios

Flugzeug, Bahn, Auto
Beim Kunden (Firewalls)
In der Wüste
...
Lösung 0.1
Offline Arbeiten

Empfohlen für Sie

Agorum Core Installation Netzlaufwerke
Agorum Core Installation NetzlaufwerkeAgorum Core Installation Netzlaufwerke
Agorum Core Installation Netzlaufwerke
Website Performance
Website PerformanceWebsite Performance
Website Performance

Presentation about website performance and optimized Javascript loading prodecures. The slides are in german.

javascriptapahce2website
Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations

The current target architecture of IKB's credit and loan management is based on Oracle ADF and SOA and of course the database. But how can you protect in this time your Oracle Forms & Reports longtime investments, can you support their Development Lifecycle by Automation? Many supporting technologies from the Java environment, such as branching models, automated build and deploy procedures or code review were established with the Oracle technologies and in the course of the regulatory process. But there is still a large part of the Oracle Forms & Reports that have grown over 25 years and have not yet been replaced. Actually, we hoped that we would no longer need a version higher than 11g. Forms & Reports had been running very stably for years. A bug brought the migration to 12c back into focus to further run supported versions. The regulatory environment did the rest to revise the current processes and, where possible, to automate them. So how do supporting technologies and automation fit in here? I will show you a selection of these processes from IKB's development and operations life cycle: * Installation of application server * Regular patching * Packaging of the local development environment * Requirements documentation * Branching * Development * Code Review * Merge * Deployment * Traceability for Regulatory Purposes The following tools are used, among others * Jenkins * Scripting with Bash and Powershell * Git * Bitbucket * JIRA * FormsAPI Master

conferencesdoagforms
Lösung 1.0
Lösung 1.0
  1986
Lösung 1.0
  1986
Lösung 1.0
   1986




Lotus Notes 1.0

Empfohlen für Sie

Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
puppet vagrant
Ruby on Rails SS09 04
Ruby on Rails SS09 04Ruby on Rails SS09 04
Ruby on Rails SS09 04
rubyrailsinformationswissenschaft
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security

Wenn der größte Teil der Logik in JavaScript stattfindet, dann findet auch der größere Teil der Sicherheitsrisiken dort sein Zuhause. Und auch Angreifer finden mit JavaScript eine interessante neue Spielwiese, denn die Sprache selbst und auch Ihre Heimat in Browser und Node.js bringen neue Probleme. Genau da setzt der Vortrag an: die verblüffenden Unterschiede von JavaScript zu anderen Sprachen, wenn es um Security geht. Die Risiken und auch die Besonderheiten von Browsern und anderen JavaScript-Engines wie Node.js. Die Security-Implikationen von JavaScript-Frameworks bis hin zu speziellen Problemen wie mXSS, ReDOS und HTML5-Security.

securityjavascriptnodejs
Replikation
Replikation
Redundanz ist gut
Redundanz ist gut
• keine Relationen

Empfohlen für Sie

Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-AppsAber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps

HTML5 ist langsam, oder? Nein, in der Tat zeigt sich die grundlegende Geschwindigkeit von Cross-Plattform-HTML5-Anwendungen heutzutage in einem sehr positiven Licht. Es gibt aber doch ein paar Fallstricke, in denen sich der Entwickler schnell verfängt, wenn er nicht auf ein paar Punkte achtet. Der Vortrag geht zuerst auf die Vorgehensweise der Performancemessung ein. Anschließend werden die Top Performance-Tipps gezeigt, um nochmal einen ordentlichen Schub an Power herausholen zu können. Lassen Sie uns Gas geben!

javascriptbest practicestipps
Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007

Rails Internationalisierung

PHP Sucks?!
PHP Sucks?!PHP Sucks?!
PHP Sucks?!
phpsoftware developmentsoftware engineering
Redundanz ist gut
• keine Relationen
• keine „richtige“ Datenbank
Redundanz ist gut
• keine Relationen
• keine „richtige“ Datenbank
• free-form „Dokumente“
Redundanz ist gut
• keine Relationen
• keine „richtige“ Datenbank
• free-form „Dokumente“
• skaliert nicht
Redundanz ist gut
• keine Relationen
• keine „richtige“ Datenbank
• free-form „Dokumente“
• skaliert nicht

Empfohlen für Sie

Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen

Es gibt sie doch noch: Projekte die man auf der grünen Wiese starten darf - incl. Infrastruktur. Nur AWS als Cloud Provider ist gesetzt. In dieser Session gebe ich nach den ersten Wochen Einblicke und Lessons Learned, wie wir vom Zustand eines weißen Blatt Papiers auf ein Account- und Infrastruktur-Setup gekommen sind, mit dem wir zumindest mal sofort loslegen können ohne die üblichen „Abkürzungen“ bei Qualität und Featureumfang zu gehen. Ein wesentlicher Teil davon ist das Tooling von gruntwork.io, welches in diesem Kontext kurz vorgestellt wird. [Disclaimer: Wir sind auch nur normale Kunden mit einer gruntworks-Subscription ohne weitere Connections dorthin – diese Session wird also explizit keine gruntwork.io Werbeveranstaltung, auch wenn sich das inhaltlich nicht 100%ig vermeiden lässt]

awsgruntworksarchitecture
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust

Slides for a talk presented at betterCode(Rust) 2021

rustmicroservicesframeworks
SignalR
SignalRSignalR
SignalR

Slides from my talk about the Microsoft SignalR framework.

microsoftrealtimesignalr
Redundanz ist gut
• keine Relationen
• keine „richtige“ Datenbank
• free-form „Dokumente“
• skaliert nicht

• aber repliziert! (prä Internet)
Laptop Benutzer




               Telefon
                netz




    Server 2



                            Server 1




 beliebige Topologien
beliebig viele Repliken
Offline Arbeiten
Offline Arbeiten

Empfohlen für Sie

Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!

Auch nach mehr als 20 Jahren ist Jakarta EE (ehemals Java EE) DER Standard, wenn es um die Entwicklung Java-basierter Enterprise-Computing-Lösungen geht. Das gilt zumindest immer dann, wenn die Anwendung als Monolith in einem Application-Server deployt werden soll. Wie aber steht es mit einer Anwendung, die aus einer Vielzahl autark laufender Microservices besteht? Und wie gut schlägt sich Jakarta EE in der Cloud, in der geringer Speicherbedarf und schnelle Startzeiten gefragt sind? Die Session zeigt, wie es Jakarta EE geschafft hat, mit der Zeit zu gehen und so mit Hilfe von Nebenprojekten wie Eclipse MicroProfile den Anforderungen moderner Cloud-Native-Anwendungen gerecht zu werden. Ein Ausblick das Zusammenspiel mit GraalVM und Quarkus zeigt, das Jakarta EE dabei auch in extrem verteilten Cloud-Szenarien, aka Serverless, eine gute Figur macht.

jakarta eemicroprofilequarkus
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen

Das "Simple Build Tool" - Vergleich, Einstieg, Anpassung und Plug-ins

sbtbuildscala
Lösung nach DHH




http://www.37signals.com/svn/posts/347-youre-not-on-a-
       fucking-plane-and-if-you-are-it-doesnt-matter
Lösung nach DHH




http://www.37signals.com/svn/posts/347-youre-not-on-a-
       fucking-plane-and-if-you-are-it-doesnt-matter
Lösung nach DHH


   f*** you
http://www.37signals.com/svn/posts/347-youre-not-on-a-
       fucking-plane-and-if-you-are-it-doesnt-matter
Realität

Empfohlen für Sie

Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams

Mein Vortrag auf den XPDays am 07.11. 2019 in Filderstadt zum Thema Chaos Engineering.

software-komplexitätdark deptgray failure
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver Lösungen

Wie baut man einen Server-Cluster zum Betrieb einer hochverfügbaren Ruby on Rails-Anwendung. Themen: Load Balancing, Storage, NFS, iSCSI Phusion Passenger, Wahl des Rechenzentrums, ...

rails hosting cluster cloud railshoster avarteq en
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack

Wie baut man ein privates Amazon AWS mit Open Source? In diesem Vortag wird die Realisierung einer privaten Cloud vom Konzept bis hin zum Produktivsystem vorgestellt. Amazon hat mit AWS diese Idee als Public Cloud für die breite Öffentlichkeit zugänglich gemacht. Es gibt jedoch gute Gründe eine eigene, private Cloud zu bauen. Diese Gründe können Sicherheitsbedenken und rechtliche Kriterien sein. Dr. Lukas Pustina und Daniel Schneller von der codecentric AG haben für das Startup CenterDevice eine private Cloud realisiert. In diesem Vortrag werden konkret Konzepte, Entscheidungen und Probleme erläutert. Dabei wird auch die ein oder andere Anekdote aus dem täglichen Wahnsinn der Cloud Administration nicht fehlen. Anhand spezifischer Anforderungen werden die eingesetzten Komponenten Ubuntu Linux, Ansible, Ceph und OpenStack eingeführt. Slides unseres Talks auf der DevOps Conference 2015 in Berlin.

openstackclouddevops
Realität
Realität
Offline Lösungen

• Adobe Integrated Runtime (AIR)
• Google Gears
• Joyent Slingshot
AIR

Empfohlen für Sie

C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers

session held at EntwicklerCamp 2017

ibmnotesdomino
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code

Vortrag auf den Kieler Linuxtagen 2013

linuxconfiguration managementdevops
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und Ausblick

Eine Präsentation, welche Michael Schmid anlässlich eines Treffen der Drupal UserGroup Switzerland gehalten hat. Es geht darum, was Drupal 7 nach aktuellem Stand alles enthalten wird, was sich ändert, wo sich neue Möglichkeiten bieten, etc.

drupal
AIR

 Flash standalone
AIR

 Flash standalone
       Flash!
AIR

  Flash standalone
        Flash!
Offline Möglichkeiten
AIR

  Flash standalone
        Flash!
Offline Möglichkeiten
  (roll your own)

Empfohlen für Sie

C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners

Presentation of a session held on 10-Mar-2010 at EntwicklerCamp 2010, Gelsenkirchen, Germany.

ec2010entwicklercamp 2010
Beyond HTML Internet Briefing
Beyond HTML Internet BriefingBeyond HTML Internet Briefing
Beyond HTML Internet Briefing

Früher war alles besser - sowieso! Konnte man vor 20 Jahren alleine mit HTML einen Webauftritt gestalten, hat sich die Anzahl der Technologien, die eine Webentwicklerin beherrschen muss, ... Vortrag am Internet Briefing in Zürich, 4.12.2012

htmlcsstools
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrBeyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr

Früher war alles besser - sowieso! Konnte man vor 20 Jahren alleine mit HTML einen Webauftritt gestalten, hat sich die Anzahl der Technologien, die eine Webentwicklerin beherrschen muss, vervielfacht. Was ist wichtig, was unwichtig? In diesem Vortrag beleuchtet Jens-Christian den aktuellen Zoo von Technologien, und zeigt auf, wie sich diese Vielfalt sinnvoll bändigen lässt. HTML(5), CSS(3), JavaScript, CoffeeScript, JavaScript Frameworks (jQuery, Prototype, Moo, Dojo, Ext, ...), JavaScript Microframeworks (Backbone, Ember, Flatiron), Templatingsprachen, Hilfsmittel zur Gestaltung von CSS (SASS, SCSS), Responsive Design, Browsererkennung, Caching, Performancetweaks, Testing und vieles mehr wird thematisiert.

htmlframeworkshaml
Google Gears
Offline Arbeiten
Offline Arbeiten
Offline Arbeiten

Empfohlen für Sie

Architektur der kleinen Bausteine
Architektur der kleinen BausteineArchitektur der kleinen Bausteine
Architektur der kleinen Bausteine

Betrachtungen zur Architektur von Software Systemen.

soaprestservice-oriented architecture
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk

What strategies can you take to bring a web application to a mobile device? Six steps from pure HTML/CSS all the way to almost native applications.

titaniumjquery mobilesencha
Mobino at Webmondy Frankfurt, Mai 2011
Mobino at Webmondy Frankfurt, Mai 2011Mobino at Webmondy Frankfurt, Mai 2011
Mobino at Webmondy Frankfurt, Mai 2011

Introduction to Mobino, a mobile payment service. Held at WebMonday Frankfurt, Mai 2011

mobino"mobile payment"
The Rails Way?
Slingshot

• Lokaler Applikationsserver (mongrel)
• Datenbank (SQLite)
• Applikation mit Webbbrowser
  (Mac OS X, Windows)
• Desktop Integration (Drag & Drop)
Demo


legacy Rails Applikation
Demo

                  en
                b
legacy Rails Applikation
             ho
          sc
       er
      v

Empfohlen für Sie

Testing distributed, complex web applications
Testing distributed, complex web applicationsTesting distributed, complex web applications
Testing distributed, complex web applications

As applications grow from single Rails applications to complex systems with multiple, interacting applications & web services, testing becomes more and more difficult. While we can test each application independently, we need to be able to test the full stack. This presentation shows methods, tools and tipps & tricks from testing such a complex application.

railswayconrailstesting
SOLID Ruby, SOLID Rails
SOLID Ruby, SOLID RailsSOLID Ruby, SOLID Rails
SOLID Ruby, SOLID Rails

Presentation I gave with MMahlberg at RailsWayCon 2010 about Uncle Bobs SOLID principles for software design

railswayconrailssolid
Ruby Coding Dojo
Ruby Coding DojoRuby Coding Dojo
Ruby Coding Dojo

This document discusses coding dojos and katas. It explains that katas are choreographed coding exercises used to practice skills through repetition. Coding dojos are places where developers practice katas in pairs and groups using a randori style. This document provides an example kata involving opening 100 doors with multiple monkeys and demonstrates the kata being practiced in a coding dojo.

railswayconkatarwc10
Implementation
hic sunt dracones
App
svn co http://svn.joyent.com/slingshot/osx
To-Do Liste
• Datenbank anpassen
• SyncController
• Sync Up / Sync Down
• Haare ausreissen
• HTTP Authentication
• Drag & Drop
• Packaging

Empfohlen für Sie

Datenbank
Alle synchronisierten Tabellen müssen
created_at und updated_at Spalten enthalten


Ich bin mir nicht sicher, ob das eine gute Idee
ist...


Timezone...
Offline Arbeiten
SyncController

$ ruby script/plugin install ... slingshot_plugin
$ ruby script/generate sync_controller
routes

map.with_options(:controller =>
                  'slingshot_sync') do |sync|
    sync.up   'sync/up', :action => 'up'
    sync.down 'sync/down', :action => 'down'
    sync.log 'sync/log', :action => 'log'
end

Empfohlen für Sie

Sync Controller




auch in slingshot_task.rake in vendor/plugins...!
Sync Controller


                    Tasc




auch in slingshot_task.rake in vendor/plugins...!
Down Sync Testen
Down Sync Testen
Arwen:~/dev/rtime jcf$ ruby script/server -p 3030
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:3030
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3030

Empfohlen für Sie

Down Sync Testen
Arwen:~/dev/rtime jcf$ ruby script/server -p 3030
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://0.0.0.0:3030
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3030


Arwen:~/dev/rtime-s/VM jcf$ ./bin/sync_down.sh jcf 123456 localhost:3030
(in /Users/jcf/dev/rtime-s/VM/trunk)
Syncing downward
/Users/jcf/dev/rtime-s/VM/trunk/config/..
offline mode is
http://jcf:123456@localhost:3030/sync
response.body <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<SlingshotDown>
  <CurrentMigration>2</CurrentMigration>
  <SyncTime>Wed Jun 20 20:27:26 UTC 2007</SyncTime>
  <ValidIDBlock>customers,1
projects,1
tasks,1
users,1
Lokal bearbeiten
Arwen:~/dev/rtime-s/VM/trunk jcf$ ruby script/server
    Slingsho
               t


                   Server
Up Sync Testen
Arwen:~/dev/rtime-s/VM jcf$ ./bin/sync_up.sh jcf 123456 localhost:3030
(in /Users/jcf/dev/rtime-s/VM/trunk)
** Invoke joyent_slingshot:sync_up (first_time)
** Execute joyent_slingshot:sync_up
Syncing upward
/Users/jcf/dev/rtime-s/VM/trunk/config/..
offline mode is
#<Tasc:0x2482320>
<SlingshotUp>
<CreatedRecords>
<tascs>
<tasc>
  <billable type=quot;booleanquot;>true</billable>
  <created-at type=quot;datetimequot;>2007-06-21T08:16:44Z</created-at>
  <description>blubber</description>
Offline Arbeiten

Empfohlen für Sie

Quiz!

• Was passiert, wenn Änderungen sowohl in
  der lokalen Kopie und auf dem Server
  gemacht werden?
• Was passiert, wenn neue Einträge lokal und
  auf dem Server gemacht werden?
Replikationskonflikt
Replikationskonflikt
id

Empfohlen für Sie

42
Offline Arbeiten
e9638f8c-200c-11dc-
 a6c3-0016cb8a850e
UUID statt ID

   $ sudo gem install uuidtools
   app/helpers/uuidhelper.rb




http://codesnipers.com/?q=node/143&title=Using-UUID/GUID-as-Primary-Key-in-Rails

Empfohlen für Sie

DB Adapter hacking
DB Adapter hacking
DB Setup
DB Setup

Empfohlen für Sie

DB Setup
DB Setup
Model
Slingshot Hacking
    lib/slingshot.rb

Empfohlen für Sie

Slingshot Hacking
    lib/slingshot.rb
Offline Arbeiten
Offline Arbeiten
Offline Arbeiten

Empfohlen für Sie

Der Weg ist das Ziel
Gotcha?
== AddSlinghotColumns: migrating
==============================================
-- add_column(:customers, :created_at, :datetime)
rake aborted!
SQLite3::SQLException: near quot;ADDquot;: syntax error: ALTER
TABLE customers ADD quot;created_atquot; datetime




   unterschiedliche Version von SQLite3 auf der
 Entwicklungsmaschine und im Slingshot Verzeichnis

                $ source jenv.sh
Gotcha 2

• Beim synchronisieren in die lokale DB wird
  AR.save aufgerufen
• Aufpassen auf Validierungen, before_create,
  before_save etc...
Gotcha 3

Empfohlen für Sie

Gotcha 3
Gotcha 3
Gotcha 4


ActiveRecord::Base.default_timezone = :utc
Gut

Empfohlen für Sie

Gut
      es funktioniert
Gut
      es funktioniert
       (irgendwann)
Gut
         es funktioniert
           (irgendwann)
  Windows & Mac Version
Gut
         es funktioniert
           (irgendwann)
  Windows & Mac Version
            OpenSource

Empfohlen für Sie

Gut
         es funktioniert
           (irgendwann)
  Windows & Mac Version
            OpenSource
           (irgendwann)
Schlecht
Schlecht



    Applikation ist 100MB gross
Schlecht



    Applikation ist 100MB gross
                         (noch)

Empfohlen für Sie

Schlecht



    Applikation ist 100MB gross
                          (noch)
         Sehr primitives Syncing
Schlecht



     Applikation ist 100MB gross
                           (noch)
          Sehr primitives Syncing
  keine Auflösung von Konflikten
Schlecht



     Applikation ist 100MB gross
                           (noch)
          Sehr primitives Syncing
  keine Auflösung von Konflikten
   kein erkennen von Konflikten
Vorwärts in die Vergangenheit

Empfohlen für Sie

Vorwärts in die Vergangenheit




verteilte Datenhaltung und Abgleich sind keine
             trivialen Probleme...
Vorwärts in die Vergangenheit




verteilte Datenhaltung und Abgleich sind keine
             trivialen Probleme...
    vor allem in relationalen Datenbanken
Vorwärts in die Vergangenheit




verteilte Datenhaltung und Abgleich sind keine
             trivialen Probleme...
    vor allem in relationalen Datenbanken
Einsatzgebiete (heute)

Empfohlen für Sie

Einsatzgebiete (heute)

Single User Anwendungen (ToDo Liste)
Einsatzgebiete (heute)

Single User Anwendungen (ToDo Liste)
      strikte Trennung der generierten /
    bearbeiteten Daten (Zeiterfassung)
Einsatzgebiete (heute)

Single User Anwendungen (ToDo Liste)
      strikte Trennung der generierten /
     bearbeiteten Daten (Zeiterfassung)
File Upload / Download (Drag & Drop)
Einsatzgebiete (morgen)

Empfohlen für Sie

Einsatzgebiete (morgen)

 Beliebige Web 1.0, 1.5 und Web
        2.0 (beta) Anwendungen
Einsatzgebiete (morgen)

 Beliebige Web 1.0, 1.5 und Web
        2.0 (beta) Anwendungen


       Überall, Immer, Jederzeit
Ressourcen

http://developer.joyent.net
http://invisible.ch/projects/rtime/branches/slingshot
http://blog.invisible.ch
jcf@invisible.ch
Photo Credits
•   road: http://flickr.com/photos/glennharper/49536169/

•   Karte: http://www.maphist.nl/ill/glareanus.jpg

•   Beach: http://flickr.com/photos/bryce_edwards/522900051/

•   angel: http://flickr.com/photos/jesst7/396824760/

•   bike: http://flickr.com/photos/vrogy/514733529/

•   devil: http://flickr.com/photos/annia316/312666478/

•   pipes, philosophers stone, bangkor library, bowl, cat cabling, alp-pc: from flickr with
    cc licenses, urls lost in crash - please contact me for proper credits

•   book: iStockPhoto

•   Lotus Notes: IBM Corp.

Empfohlen für Sie

Offline Arbeiten

Weitere ähnliche Inhalte

Was ist angesagt?

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
Mayflower GmbH
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
NETWAYS
 
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Novakenstein
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
Gunther Pippèrr
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
inovex GmbH
 
German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als Code
Jan Gehring
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
JomaSoft
 
Homebrew
HomebrewHomebrew
Homebrew
Hussein Morsy
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Gunther Pippèrr
 
Unser Weg zum Frankenstack
Unser Weg zum FrankenstackUnser Weg zum Frankenstack
Unser Weg zum Frankenstack
Sascha Vogt
 
IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)
Novakenstein
 
Inside HTTP: Webdebugging mit FIddler
Inside HTTP: Webdebugging mit FIddlerInside HTTP: Webdebugging mit FIddler
Inside HTTP: Webdebugging mit FIddler
Max Nowack
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
NETWAYS
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
AOE
 
Docker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebugDocker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebug
Alexander Bohndorf
 
Agorum Core Installation Netzlaufwerke
Agorum Core Installation NetzlaufwerkeAgorum Core Installation Netzlaufwerke
Agorum Core Installation Netzlaufwerke
guest41eb8bd
 
Website Performance
Website PerformanceWebsite Performance
Website Performance
skyfyre
 

Was ist angesagt? (17)

HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
 
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)Admincamp 2016 - Securing IBM Collaboration with TLS (German)
Admincamp 2016 - Securing IBM Collaboration with TLS (German)
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
Grundlagen puppet
Grundlagen puppetGrundlagen puppet
Grundlagen puppet
 
German Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als CodeGerman Perl Workshop 2015 - Infrastruktur als Code
German Perl Workshop 2015 - Infrastruktur als Code
 
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFSDOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
DOAG2018 / Oracle DB erfolgreich betreiben auf SPARC/LDoms/Solaris/ZFS
 
Homebrew
HomebrewHomebrew
Homebrew
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
 
Unser Weg zum Frankenstack
Unser Weg zum FrankenstackUnser Weg zum Frankenstack
Unser Weg zum Frankenstack
 
IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)IBM Sametime 9.0.1 "basic" (aka. limited use)
IBM Sametime 9.0.1 "basic" (aka. limited use)
 
Inside HTTP: Webdebugging mit FIddler
Inside HTTP: Webdebugging mit FIddlerInside HTTP: Webdebugging mit FIddler
Inside HTTP: Webdebugging mit FIddler
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Performance durch Caching
Performance durch CachingPerformance durch Caching
Performance durch Caching
 
Docker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebugDocker Entwicklungsumgebung für TYPO3 mit xdebug
Docker Entwicklungsumgebung für TYPO3 mit xdebug
 
Agorum Core Installation Netzlaufwerke
Agorum Core Installation NetzlaufwerkeAgorum Core Installation Netzlaufwerke
Agorum Core Installation Netzlaufwerke
 
Website Performance
Website PerformanceWebsite Performance
Website Performance
 

Ähnlich wie Offline Arbeiten

Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
Torsten Kleiber
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
s0enke
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
Mayflower GmbH
 
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-AppsAber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Gregor Biswanger
 
Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007
jan_mindmatters
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
André Goliath
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
Jens Siebert
 
SignalR
SignalRSignalR
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
OPEN KNOWLEDGE GmbH
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen
johofer
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
Ramon Anger
 
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver Lösungen
Avarteq
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
Daniel Schneller
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
Ulrich Krause
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
Jan Gehring
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und Ausblick
Amazee Labs
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
Ulrich Krause
 

Ähnlich wie Offline Arbeiten (20)

Forms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and OperationsForms and Reports 12c - Processes and Automation in Development and Operations
Forms and Reports 12c - Processes and Automation in Development and Operations
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Ruby on Rails SS09 04
Ruby on Rails SS09 04Ruby on Rails SS09 04
Ruby on Rails SS09 04
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-AppsAber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
Aber schnell! Top HTML5 Performance Tipps für Hybrid- und Web-Apps
 
Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007Rails i18n - Railskonferenz 2007
Rails i18n - Railskonferenz 2007
 
PHP Sucks?!
PHP Sucks?!PHP Sucks?!
PHP Sucks?!
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
Microservices mit Rust
Microservices mit RustMicroservices mit Rust
Microservices mit Rust
 
SignalR
SignalRSignalR
SignalR
 
Hdc2012 cordova-präsi
Hdc2012 cordova-präsiHdc2012 cordova-präsi
Hdc2012 cordova-präsi
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
Einfacher bauen
Einfacher bauenEinfacher bauen
Einfacher bauen
 
Chaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps TeamsChaos Kata Fitnesstraining für DevOps Teams
Chaos Kata Fitnesstraining für DevOps Teams
 
Mehrserver Lösungen
Mehrserver LösungenMehrserver Lösungen
Mehrserver Lösungen
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Drupal 7 Einblick und Ausblick
Drupal 7 Einblick und AusblickDrupal 7 Einblick und Ausblick
Drupal 7 Einblick und Ausblick
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 

Mehr von Jens-Christian Fischer

Beyond HTML Internet Briefing
Beyond HTML Internet BriefingBeyond HTML Internet Briefing
Beyond HTML Internet Briefing
Jens-Christian Fischer
 
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrBeyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Jens-Christian Fischer
 
Architektur der kleinen Bausteine
Architektur der kleinen BausteineArchitektur der kleinen Bausteine
Architektur der kleinen Bausteine
Jens-Christian Fischer
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
Jens-Christian Fischer
 
Mobino at Webmondy Frankfurt, Mai 2011
Mobino at Webmondy Frankfurt, Mai 2011Mobino at Webmondy Frankfurt, Mai 2011
Mobino at Webmondy Frankfurt, Mai 2011
Jens-Christian Fischer
 
Testing distributed, complex web applications
Testing distributed, complex web applicationsTesting distributed, complex web applications
Testing distributed, complex web applications
Jens-Christian Fischer
 
SOLID Ruby, SOLID Rails
SOLID Ruby, SOLID RailsSOLID Ruby, SOLID Rails
SOLID Ruby, SOLID Rails
Jens-Christian Fischer
 
Ruby Coding Dojo
Ruby Coding DojoRuby Coding Dojo
Ruby Coding Dojo
Jens-Christian Fischer
 

Mehr von Jens-Christian Fischer (8)

Beyond HTML Internet Briefing
Beyond HTML Internet BriefingBeyond HTML Internet Briefing
Beyond HTML Internet Briefing
 
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehrBeyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
Beyond HTML - Scriptsprachen, Frameworks, Templatesprachen und vieles mehr
 
Architektur der kleinen Bausteine
Architektur der kleinen BausteineArchitektur der kleinen Bausteine
Architektur der kleinen Bausteine
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Mobino at Webmondy Frankfurt, Mai 2011
Mobino at Webmondy Frankfurt, Mai 2011Mobino at Webmondy Frankfurt, Mai 2011
Mobino at Webmondy Frankfurt, Mai 2011
 
Testing distributed, complex web applications
Testing distributed, complex web applicationsTesting distributed, complex web applications
Testing distributed, complex web applications
 
SOLID Ruby, SOLID Rails
SOLID Ruby, SOLID RailsSOLID Ruby, SOLID Rails
SOLID Ruby, SOLID Rails
 
Ruby Coding Dojo
Ruby Coding DojoRuby Coding Dojo
Ruby Coding Dojo
 

Offline Arbeiten