Mein Vortrag auf der EnterJS 2015 über Sicherheit in Node.js Applikationen. Es werden verschiedene Angriffsvektoren vorgestellt und wie man ihnen begegnen kann.
Mein Vortrag auf der EnterJS 2015 über Sicherheit in Node.js Applikationen. Es werden verschiedene Angriffsvektoren vorgestellt und wie man ihnen begegnen kann.
Este documento presenta un proyecto para aumentar la cultura organizacional y contable de los comerciantes informales en el barrio Venecia en Bogotá. El proyecto analizará la situación actual de los vendedores, capacitará a 38 vendedores sobre temas empresariales y contables, e implementará herramientas para mejorar el desarrollo de sus negocios. El proyecto se llevará a cabo con apoyo de la alcaldía local y busca generar oportunidades económicas a través de enseñar conceptos
Este documento presenta una introducción a las presentaciones de Sylvette E. Rivera, quien crea fotomontajes y música con el objetivo de transmitir un mensaje de paz, amor y alegría. Se indica que las presentaciones solo deben usarse con fines recreativos y no deben modificarse. También incluye sus direcciones de correo electrónico para obtener más información sobre sus presentaciones personales.
Este documento trata sobre los trastornos alimenticios más comunes como la anorexia, la bulimia y la obesidad. Explica sus síntomas y efectos en la salud. También proporciona estrategias para prevenir problemas alimenticios como aprender sobre nutrición balanceada, establecer hábitos alimenticios regulares y buscar ayuda profesional si es necesario.
Las matemáticas son una ciencia que ha sido utilizada por civilizaciones antiguas como los egipcios y griegos. A lo largo de la historia, las matemáticas se han desarrollado para responder preguntas y resolver problemas, lo que ha dado lugar a diferentes ramas matemáticas. Las ecuaciones sirven para comprender conceptos matemáticos y resolver problemas de la vida cotidiana.
Este documento presenta un cuadernillo de actividades para el desarrollo de habilidades matemáticas para segundo grado de secundaria. El cuadernillo fue desarrollado por la Secretaría de Educación de Guanajuato y está dividido en cinco bloques que cubren diferentes temas matemáticos. El objetivo del cuadernillo es fortalecer las habilidades matemáticas de los estudiantes a través de actividades de repaso y autoevaluaciones.
La técnica de acceso directo a memoria (DMA) permite que el controlador del dispositivo se encargue de la transferencia de datos entre la memoria y los periféricos sin necesidad de intervención de la CPU. Esto incrementa la concurrencia entre la CPU y la E/I. El DMA permite la transferencia directa de información entre la memoria y los periféricos de forma independiente al procesador.
Este documento presenta varias soluciones tecnológicas propuestas para situaciones problemáticas en condiciones de incertidumbre donde la información es incompleta. Se discuten soluciones como mantener ventanas abiertas o usar ventiladores para enfriar un aula con aire acondicionado averiado, y usar la tecnología para ayudar a personas con discapacidades a realizar actividades. También se definen términos como "incertidumbre" y se explica cómo buscar e indagar información en Internet de manera efectiva.
Este documento trata sobre el ser humano como ser cultural. Define cultura de manera amplia como las creencias, conductas, lenguaje y forma de vida de un grupo. Explica que la cultura humana es diversa entre sociedades y varía en valores y normas. Argumenta que el ser humano se distingue de otros animales por su capacidad de construir el futuro a través de la cultura en lugar de depender estrictamente de la biología. Concluye que el ser humano es un ser social y cultural por naturaleza.
Este documento discute el uso de Internet y las redes sociales. Explica que actualmente el 34.3% de la población mundial usa Internet, y destaca algunas claves para usarlo como generar diálogo y contenido viral. También cubre temas como el marketing de contenidos, engagement, influencia, crecimiento y herramientas para la viralización de contenido como infografías. Finalmente, enfatiza que lo más importante es enfocarse primero en el usuario y la funcionalidad sobre la estética.
Este documento presenta las fechas clave y procedimientos para las convenciones y elecciones internas del Partido Liberal Colombiano, incluyendo convenciones locales y municipales el 20 de octubre, convenciones departamentales del 2 al 3 de noviembre, y la Sexta Convención Nacional Liberal el 1 de diciembre. También enumera el número de delegados que cada departamento elegirá para la convención nacional, basado en el número de afiliados.
El documento presenta un modelo del proceso de comunicación que incluye un emisor, mensaje, canal, receptor y efectos. Explica que la comunicación es un proceso continuo que involucra habilidades lingüísticas, actitudes, conocimiento sociocultural y puede ser interpersonal o colectiva.
Este documento define las TIC y describe algunas herramientas TIC comunes como el foro, el chat, el correo electrónico y los blogs. Explica que las TIC procesan, almacenan y presentan información de varias formas y han evolucionado a través del tiempo. También describe las características y usos de cada herramienta TIC mencionada.
El documento describe el rol del tutor virtual en la educación a distancia. El tutor debe crear foros para la integración de los estudiantes, responder dudas, mantener comunicación, comunicar expectativas del curso, monitorear el progreso de los estudiantes, proveer orientación, publicar el cronograma, evaluar el trabajo individual y grupal, y realizar el cierre del curso comunicando resultados. El rol del tutor es fundamental para personalizar la educación a distancia a través de su apoyo sistemático y orientación, estimulando y ayudando a los estudiant
Este documento describe varios deportes extremos como el paracaidismo, la escalada, el canopy y el freestyle. Define los deportes extremos como aquellos que implican cierto grado de peligro debido a las condiciones difíciles o extremas en las que se practican. Explica brevemente algunas de las actividades, incluidos los riesgos asociados y los orígenes históricos de algunas disciplinas.
Este documento aprueba nuevas normas y orientaciones para la organización, implementación y funcionamiento de los Municipios Escolares en las instituciones educativas del Perú. Establece lineamientos para que los Municipios Escolares promuevan la participación democrática de los estudiantes y el desarrollo de valores. Asigna roles como normar, coordinar y apoyar la implementación de los Municipios Escolares a entidades educativas a nivel nacional, regional y local. Describe la organización y funciones de la Directiva y el Concejo del Municipio Escolar.
Este documento presenta un proyecto para aumentar la cultura organizacional y contable de los comerciantes informales en el barrio Venecia en Bogotá. El proyecto analizará la situación actual de los vendedores, capacitará a 38 vendedores sobre temas empresariales y contables, e implementará herramientas para mejorar el desarrollo de sus negocios. El proyecto se llevará a cabo con apoyo de la alcaldía local y busca generar oportunidades económicas a través de enseñar conceptos
Este documento presenta una introducción a las presentaciones de Sylvette E. Rivera, quien crea fotomontajes y música con el objetivo de transmitir un mensaje de paz, amor y alegría. Se indica que las presentaciones solo deben usarse con fines recreativos y no deben modificarse. También incluye sus direcciones de correo electrónico para obtener más información sobre sus presentaciones personales.
Este documento trata sobre los trastornos alimenticios más comunes como la anorexia, la bulimia y la obesidad. Explica sus síntomas y efectos en la salud. También proporciona estrategias para prevenir problemas alimenticios como aprender sobre nutrición balanceada, establecer hábitos alimenticios regulares y buscar ayuda profesional si es necesario.
Las matemáticas son una ciencia que ha sido utilizada por civilizaciones antiguas como los egipcios y griegos. A lo largo de la historia, las matemáticas se han desarrollado para responder preguntas y resolver problemas, lo que ha dado lugar a diferentes ramas matemáticas. Las ecuaciones sirven para comprender conceptos matemáticos y resolver problemas de la vida cotidiana.
Este documento presenta un cuadernillo de actividades para el desarrollo de habilidades matemáticas para segundo grado de secundaria. El cuadernillo fue desarrollado por la Secretaría de Educación de Guanajuato y está dividido en cinco bloques que cubren diferentes temas matemáticos. El objetivo del cuadernillo es fortalecer las habilidades matemáticas de los estudiantes a través de actividades de repaso y autoevaluaciones.
La técnica de acceso directo a memoria (DMA) permite que el controlador del dispositivo se encargue de la transferencia de datos entre la memoria y los periféricos sin necesidad de intervención de la CPU. Esto incrementa la concurrencia entre la CPU y la E/I. El DMA permite la transferencia directa de información entre la memoria y los periféricos de forma independiente al procesador.
Este documento presenta varias soluciones tecnológicas propuestas para situaciones problemáticas en condiciones de incertidumbre donde la información es incompleta. Se discuten soluciones como mantener ventanas abiertas o usar ventiladores para enfriar un aula con aire acondicionado averiado, y usar la tecnología para ayudar a personas con discapacidades a realizar actividades. También se definen términos como "incertidumbre" y se explica cómo buscar e indagar información en Internet de manera efectiva.
Este documento trata sobre el ser humano como ser cultural. Define cultura de manera amplia como las creencias, conductas, lenguaje y forma de vida de un grupo. Explica que la cultura humana es diversa entre sociedades y varía en valores y normas. Argumenta que el ser humano se distingue de otros animales por su capacidad de construir el futuro a través de la cultura en lugar de depender estrictamente de la biología. Concluye que el ser humano es un ser social y cultural por naturaleza.
Este documento discute el uso de Internet y las redes sociales. Explica que actualmente el 34.3% de la población mundial usa Internet, y destaca algunas claves para usarlo como generar diálogo y contenido viral. También cubre temas como el marketing de contenidos, engagement, influencia, crecimiento y herramientas para la viralización de contenido como infografías. Finalmente, enfatiza que lo más importante es enfocarse primero en el usuario y la funcionalidad sobre la estética.
Este documento presenta las fechas clave y procedimientos para las convenciones y elecciones internas del Partido Liberal Colombiano, incluyendo convenciones locales y municipales el 20 de octubre, convenciones departamentales del 2 al 3 de noviembre, y la Sexta Convención Nacional Liberal el 1 de diciembre. También enumera el número de delegados que cada departamento elegirá para la convención nacional, basado en el número de afiliados.
El documento presenta un modelo del proceso de comunicación que incluye un emisor, mensaje, canal, receptor y efectos. Explica que la comunicación es un proceso continuo que involucra habilidades lingüísticas, actitudes, conocimiento sociocultural y puede ser interpersonal o colectiva.
Este documento define las TIC y describe algunas herramientas TIC comunes como el foro, el chat, el correo electrónico y los blogs. Explica que las TIC procesan, almacenan y presentan información de varias formas y han evolucionado a través del tiempo. También describe las características y usos de cada herramienta TIC mencionada.
El documento describe el rol del tutor virtual en la educación a distancia. El tutor debe crear foros para la integración de los estudiantes, responder dudas, mantener comunicación, comunicar expectativas del curso, monitorear el progreso de los estudiantes, proveer orientación, publicar el cronograma, evaluar el trabajo individual y grupal, y realizar el cierre del curso comunicando resultados. El rol del tutor es fundamental para personalizar la educación a distancia a través de su apoyo sistemático y orientación, estimulando y ayudando a los estudiant
Este documento describe varios deportes extremos como el paracaidismo, la escalada, el canopy y el freestyle. Define los deportes extremos como aquellos que implican cierto grado de peligro debido a las condiciones difíciles o extremas en las que se practican. Explica brevemente algunas de las actividades, incluidos los riesgos asociados y los orígenes históricos de algunas disciplinas.
Este documento aprueba nuevas normas y orientaciones para la organización, implementación y funcionamiento de los Municipios Escolares en las instituciones educativas del Perú. Establece lineamientos para que los Municipios Escolares promuevan la participación democrática de los estudiantes y el desarrollo de valores. Asigna roles como normar, coordinar y apoyar la implementación de los Municipios Escolares a entidades educativas a nivel nacional, regional y local. Describe la organización y funciones de la Directiva y el Concejo del Municipio Escolar.
Websites, die stark frequentiert werden, sollten in jedem Augenblick optimale Ladezeiten für den Besucher aufweisen. Kommt PHP als objektorientierte Interpreter- Sprache zum Einsatz, muss besonderes Know How mitgebracht werden. Dieser Artikel gibt einen
Überblick über die Performance-Maßnahmen, -Methoden, -Produkten und -Werkzeugen in der PHP- rogrammierung.
In Dieser Präsentation zeige ich Euch wie Ihr mit ein paar Konfigurationseinstellungen noch etwas aus Eurem MySQL-Server herausholen könnt. Dabei gehe ich speziell auf das filesorting ein.
OSMC 2011 | Monitoring at large - die Welt ist nicht genug by Thomas GelfNETWAYS
Skalierbarkeit und Hochverfügbarkeit sind zwei Themen, bei denen Wunschvorstellung und Realität oft weit auseinanderdriften. Nagios und Icinga mitsamt einer ganzen Phalanx an Erweiterungen werden in diesem Vortrag unter die Lupe genommen. Dabei sollen mit Fokus auf genannte Themen deren Möglichkeiten, aber auch deren Grenzen aufgezeigt werden. Vorgestellt werden Szenarien mit und ohne Cluster-Software so wie auch Stolpersteine beim Einsatz selbiger. Unter die Lupe genommen werden Verursacher von Engpässen, System- und I/O-Last. Gezeigt wird dabei, welche Auswirkungen diese in großen Szenarien haben - und wie sich deren Einfluss verringern lässt.
Der Vortrag will nicht zuletzt auch einen Blick über den Tellerrand hinaus wagen, ein Denkanstoß für die weitere Entwicklung sein und auch der Frage nach der Realisierbarkeit von Umgebungen mit Millionen von Servicechecks nachgehen.
Dieser Workshop konzentriert sich auf WordPress-spezifische Möglichkeiten, und zeigt welche und wie wir bei der Blogwerk AG Performanceoptimierungen an unseren Blogs vorgenommen haben. Wichtige Themen dabei sind der Object-Cache mit verschiedenen Caching-Backends, Full-Site-Cachinglösungen, wie WP Super Cache und PHP-Optimierungen.
This presentation will show you how to use docker-compose in a practical example, discuss some alternative approaches and teach best practices (in german).
2. Wer?
● Mario Müller (@xenji / http://www.xenji.com)
● Works @trivago_com
● Likes: @mongodb, @go_nuts
● Andy Grunwald (@andygrunwald / http:
//andygrunwald.com)
● Works @wmdbsystems
● Likes: @blankomat, @devops_borat
3. Um was gehts?
● Speicherung von
○ (mehr oder weniger aufwendig)
berechneten Daten
○ großen Datenmengen
○ wiederkehrenden Daten
4. Layer
● Unter Verwendung von
○ Level 1 Caches
● z. B. XCache oder APC
○ Level 2 Caches
● Memcache, Redis, MongoDB
○ Anderer Caches
● Der Client (Browser, Rich-Client)
● HTTP Caches
5. Ziele
● Zum Erreichen von
○ schnelleren, bzw. garantierten
Antwortzeiten
○ geringerem, bzw. verteiltem
Rechenaufwand
○ geringerer Übertragungsmenge
6. Warum ist Caching denn so geil?
● Weil Rechnen teuer ist
● Weil RAM billig ist
● Weil gecach'te Architekturen besser
skalieren
+ Musketier Prinzip "Einer für alle", einer
Rechnet, alle haben etwas davon.
7. Wir betrachten heute drei Stufen des
Cachings.
st
ue
st
ue
eq
eq
R
st
R
m
ue
em
de
eq
rd
h
R
ac
Vo
Im
N
9. Varnish to the rescue!
Requests garnicht erst ankommen lassen...
10. Varnish ist ...
● ein Reverse Proxy Server
● ein HTTP Cache
● verdammt schnell
● Open-Source
● erprobt und bei vielen schon im Einsatz
● die einzige Open-Source Lösung für Edge
Side Includes (ESI)
Symfony2 unterstütz ESI und damit auch
Varnish von Haus aus. Varnish kann aber auch
allen anderen Web Applikationen helfen!
11. Varnish ggn. Apache
Requests: 1.000 - Concurrency: 1
- Apache: 9.97 Requests per Second (RAM:50% CPU:100%)
- Varnish:3003.98 Requests per Second (RAM:50%CPU:5%)
Requests: 1.000 - Concurrency: 10
- Apache: 10.60 Requests per Second (RAM:95% CPU:100%)
- Varnish: 6391.29 Requests per Second (RAM:50% CPU:10%)
Requests:10.000 - Concurrency: 100
- Apache: Absturz
- Varnish: 6179.76 Requests per Second (RAM:55% CPU:15%)
Quelle: http://www.slideshare.net/papst23/n3rd-4-speed
14. Cache - Types (Auszug)
● Query Result Cache
○ Speichert die reinen DB Ergbnisse von teueren Queries
○ Kann in der Applikation beliebig umher gereicht werden, da es
Rohdaten sind.
● pre-render Cache
○ Vorberechnete Werte, meist auf DB oder Webservice Ergebnissen
basierend
○ Kann meistens nur die direkt verbundene Business - Logik nutzen
● Output Cache
○ Fertiges HTML, JSON, XML, etc.
○ Gut um Last von Servern zu nehmen für Dinge die sich selten ändern
oder explizit neu berechnet werden können
15. Große Herausforderungen
● In welchen Cache Layer soll es?
● Wer oder was sagt an, dass ein Cache
invalide ist?
● Wann wird der Cache neu befüllt?
○ Erste Anfrage nach Invalidierung oder
○ beim Invalidieren oder
○ durch einen Cronjob?
● Wer muss wissen, dass die Daten gecached
sind? (Architektur - Frage)
16. Was macht man beim Backend
Caching ?
● Beten, dass alles so wieder raus kommt, wie
man es rein gesteckt hat
(Problem von verteilten, konkurrierenden Caches)
● Alles was nur irgendwie geht vorberechnen
● Aufpassen,
○ dass das Cache Management nicht die
ursprüngliche Ersparnis aufbraucht
○ dass man auch ohne Cache weiter leben kann.
(Ausfallszenarien)
17. Was gibt es und was kann
man damit machen?
Cache stores
18. Von einer relationalen DB zu ..
● Memcached (Key / Value Store)
○ Level 2 Cache
○ Schnellste wo gibt (meistens)
○ Einfach zu implementieren
○ Reiner In-Memory Store (=> Server weg, Daten
weg)
● Redis
○ Level 2 Cache
○ Wahrscheinlich schneller als Memcached (?)
○ Einfach zu implementieren
○ Mächtiger als Memcached + persistent
19. Von einer relationalen DB zu ..
● MongoDB
○ Eigenständige, mächtige Document DB
○ Kann Level 2 sein oder vollständiger Ersatz
○ Performance abhängig vom Nutzungsszenario
Alle aufgelisteten Server können zusammen
mit einer bestehenden MySQL verwendet
werden, Einige können mehr Logik vertragen
als Andere.
25. HTTP Standard und der Rest
● Status Codes
● MIME types
● Expires headers
● ETag
● Minify und concat
● gzip
26. Status Codes
● 200 OK
● 204 No Content
● 301 Moved Permanently
● 304 Not Modified
● 404 Not Found
● More codes: https://github.com/joho/7XX-rfc
27. MIME types
● Bekannt aus Film und Fernsehen z.B. HTML
○ <form accept="" enctype="">
○ <script type="">
○ <style type="">
● Server und Client halten "defaults" vor
● Lösung: Vereinheitlichung (via AddType)
28. Expires headers
● Wann läuft eine Ressource ab?
● Grundlage: Standardisierte MIME types
● Far far away? Depends!
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
30. Das "böse böse " Entity tag
● Server / Client-Kommunikation
● Hash-Wert im HTTP-Header
● Problematisch bei mehreren Servern zur
Auslieferung von Assets (Inode)
● Problematisch bei IIS
○ Filetimestamp:ChangeNumber
● Lösung: Ausschalten ;)
33. Minify und concat
● Entfernen von "überflüssigen" Zeichen
● Zusammenfassen von Resourcen
● jQuery
○ 247KB, Uncompressed
○ 83KB, Compressed (Google Closure, ohne gzip)
○ 31Kb, Compressed (Google Closure, mit gzip)
● Google Closure Compiler
● YUI Compressor
● Apache mod_pagespeed
34. deflate & gzip
● Server packt die Daten zusammen
● Client entpackt die Daten
● Muss vom Client + Server unterstützt
werden
● Header
○ Accept-Encoding (Client)
○ Content-Encoding (Server)
● Wunderwaffe? Nein! Einsatz Depends!
35. Theorie hin oder her ... Testing?!
● Mozilla: about:cache
● Mozilla Addon: YSlow
● Chrome: Developer Tools
36. Weitere Themen ...
● Cache Manifest
● Local Storage
● SQLite im Browser
● Inline Bilder (base64)
● and many more ...
37. SQLite im Browser
● Kann Cache sein, kann auch mehr sein
● Übersetzungstexte für die Browser Locale
● Applikationseinstellungen bei
Individualisierung
● Der Zustand der Seite beim window.
onunload
● Asset Caching (CSS, JS)