SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
Twig
http://twig.sensiolabs.org/
Monday, September 16, 13
“The flexible, fast, and
secure template engine
for PHP”
Monday, September 16, 13
Requerimientos
Monday, September 16, 13
Requerimientos
PHP >= 5.2.4
Monday, September 16, 13
Características
Monday, September 16, 13
Características
• Conciso
• Template
Oriented Sintax
• Completo
• Fácil de aprender
• Extensible
• Probado
• Documentado
• Seguro
• Mensajes de error
descriptivos
• Rápido
Monday, September 16, 13
Conciso
Monday, September 16, 13
Conciso
<?php echo $variable ?>
<?= $variable ?>
<?php echo htmlspeciachars($variable) ?>
<?php echo strtolower($variable) ?>
Monday, September 16, 13
<?php echo $variable ?>
<?= $variable ?>
{{ variable }}
<?php echo htmlspeciachars($variable) ?>
{{ variable|escape }}
{{ variable|e }}
<?php echo strtolower($variable) ?>
{{ variable|lower }}
Conciso
Monday, September 16, 13
Template Oriented
Sintax
Monday, September 16, 13
Template Oriented
Sintax
if (0 == count($items)) {
echo “No se han encontrado items.”
}
foreach ($items as $item) {
echo “*” . $item;
}
Monday, September 16, 13
Template Oriented
Sintax
if (0 == count($items)) {
echo “No se han encontrado items.”
}
foreach ($items as $item) {
echo “*” . $item
}
{% for item in items %}
* {{ item.name }}
{% else %}
No se han encontrado items.
{% endfor %}
Monday, September 16, 13
Completo
Monday, September 16, 13
Completo
• Herencia múltiple
• Bloques
• Escape automático
• Inclusión
Monday, September 16, 13
Fácil de aprender
Monday, September 16, 13
Seguro
Monday, September 16, 13
Seguro
{% autoescape true %}
{{ var }}
{{ var|raw }} {# escape inhabilitado #}
{{ var|escape }} {# escape simple #}
{% endautoescape %}
{{ include('page.html', sandboxed = true) }}
Monday, September 16, 13
Mensajes de error
descriptivos
Monday, September 16, 13
Rápido
Monday, September 16, 13
Sintaxis
Monday, September 16, 13
Sintaxis
Tags
{% block %}{% endblock %}
{% for item in items %}{% endfor %}
{% if condicion %}{% endif %}
{% include “template.html” %}
Monday, September 16, 13
Sintaxis
Filtros
{{ variable|filtro }}
{{ variable|filtro(true) }}
{{ variable|filtro(“texto”) }}
Monday, September 16, 13
Sintaxis
Funciones
{{ function(variable) }}
{{ function(variable, true) }}
{{ function(variable, “texto”) }}
Monday, September 16, 13
Sintaxis
Tests
{% if variable is numero %}
...
{% endif %}
{% if variable is numero(...) %}
...
{% endif %}
Monday, September 16, 13
Sintaxis
Herencia
<!DOCTYPE html>
<html>
<head>
{% block head %}
<link rel="stylesheet" href="style.css" />
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">
{% block footer %}
&copy; Copyright 2011 by <a href="http://domain.invalid/">you</a>.
{% endblock %}
</div>
</body>
</html>
Monday, September 16, 13
Sintaxis
Herencia
<!DOCTYPE html>
<html>
<head>
{% block head %}
<link rel="stylesheet" href="style.css" />
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">
{% block footer %}
&copy; Copyright 2011 by <a href="http://domain.invalid/">you</a>.
{% endblock %}
</div>
</body>
</html>
{% extends "base.html" %}
{% block title %}Index{% endblock %}
{% block content %}
<h1>Index</h1>
<p class="important">
Welcome to my awesome homepage.
</p>
{% endblock %}
Monday, September 16, 13
¿Como funciona?
Monday, September 16, 13
¿Como funciona?
1.Carga
1.Lexer
2.Parseo
3.Conversión
2.Evaluación
Monday, September 16, 13
Twig vs. PHP
Monday, September 16, 13
Twig vs. PHP
for - foreach
{% for number in 1..10 %}
* {{ number }}
{% endfor %}
{% for item in items %}
* {{ item.name }}
{% endfor %}
Monday, September 16, 13
Twig vs. PHP
for - foreach
{% for item in items %}
{{ loop.index }} {{ item.name }}
{% endfor %}
loop.index
loop.first
loop.length
loop.revindex
loop.last
loop.parent
Monday, September 16, 13
Twig vs. PHP
if
{% if condicion %}
Si
{% elseif condicion2 %}
Puede ser...
{% else %}
No
{% endif %}
Monday, September 16, 13
Twig vs. PHP
include - require
{% include “template.html” %}
{% include “template.html” with {“foo”: “bar”} %}
{% include “template.html” only %}
{% include “template.html” ignore missing %}
{% include [“template.html”, “template2.html”] %}
Monday, September 16, 13
Twig vs. PHP
function
{% macro saludo(nombre, apellido) %}
<div>Hola {{ nombre }} {{ apellido }}</div>
{% endmacro %}
Monday, September 16, 13
Twig vs. PHP
function
{% macro saludo(nombre, apellido) %}
<div>Hola {{ nombre }} {{ apellido }}</div>
{% endmacro %}
{% import "macros.html" as macros %}
Monday, September 16, 13
Twig vs. PHP
dump
{{ dump(variable) }}
{{ dump() }}
Monday, September 16, 13
Uso básico
Monday, September 16, 13
Uso básico
Environment
$twig = new Twig_Environment($loader, $options);
Monday, September 16, 13
Uso básico
Environment
$twig = new Twig_Environment($loader, $options);
$template = $twig->loadTemplate(“tpl.html”);
$twig->render(“tpl.html”, array(“var” => true));
Monday, September 16, 13
Uso básico
Environment
$twig = new Twig_Environment($loader, array(
“debug” => false,
“charset” => “utf-8”,
“base_template_class” => “Twig_Template”,
“cache” => “/path/to/cache”,
“auto_reload” => false,
“strict_variables” => false,
“autoescape” => true,
“optimizations” => -1
));
Monday, September 16, 13
Uso básico
Loaders
$loader = new Twig_Loader_Filesystem($dir);
$loader = new Twig_Loader_Filesystem(array(
$dir1, $dir2
));
$twig = new Twig_Environment($loader, $options);
Monday, September 16, 13
Uso básico
Loaders
$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader, $options);
$twig->render(“Hola {{ nombre }}”, array(
“nombre” => “Ismael”
));
Monday, September 16, 13
Uso básico
Loaders
$loader = new Twig_Loader_Array(array(
“template1.html” => “Hello {{ name }}”,
“template2.html” => “Hola {{ nombre }}”
));
$twig = new Twig_Environment($loader, $options);
Monday, September 16, 13
Extendiendo Twig
Monday, September 16, 13
Extendiendo Twig
Extensiones
Clases PHP o paquetes que agregan
funcionaliades al motor de templates.
Monday, September 16, 13
Extendiendo Twig
Extensiones
• Twig_Extension_Core:Agrega todas las funcionalidades principales de Twig
• Twig_Extension_Escaper:Agrega funcionalidades de escape de salida
• Twig_Extension_Sandbox: Habilita el modo sandbox
• Twig_Extension_Optimizer: Optimiza el Árbol abstracto de sintaxis
Monday, September 16, 13
$twig = new Twig_Environment($loader, $options);
$twig->addExtension(new Extension());
Extendiendo Twig
Extensiones
Monday, September 16, 13
class Mi_Extension extends Twig_Extension
{
function getFilters() {}
function getTests() {}
function getFunctions() {}
function getGlobals() {}
function getName() {}
}
Extendiendo Twig
Monday, September 16, 13
class Mi_Extension extends Twig_Extension
{
public function getFilters() {
return array(
new Twig_SimpleFilter(“json”, “json_encode”),
“metodo” => new Twig_Filter_Method($this, “miMetodo”)
);
}
public function miMetodo() {
// ...
}
}
Extendiendo Twig
Filtros
Monday, September 16, 13
class Mi_Extension extends Twig_Extension
{
public function getTests() {
return array(
“numero” => new Twig_Test_Method($this, “esNumero”)
);
}
public function esNumero($valor) {
return is_numeric($valor);
}
}
Extendiendo Twig
Tests
Monday, September 16, 13
class Mi_Extension extends Twig_Extension
{
public function getFunctions() {
return array(
new Twig_SimpleFunction(“dump”, “var_dump”),
“funcion” => new Twig_Function_Method($this, “miMetodo”)
);
}
public function miMetodo() {
// ...
}
}
Extendiendo Twig
Funciones
Monday, September 16, 13
class Mi_Extension extends Twig_Extension
{
public function getGlobals() {
return array(
“nombre” => “Ismael”,
“apellido” => “Ambrosi”
);
}
}
Extendiendo Twig
Globals
Monday, September 16, 13
¿Preguntas?
Monday, September 16, 13
¡Gracias!
Monday, September 16, 13

Weitere ähnliche Inhalte

Was ist angesagt?

PHP Without PHP—Confoo
PHP Without PHP—ConfooPHP Without PHP—Confoo
PHP Without PHP—Confooterry chay
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with librariesChristian Heilmann
 
JavaScript - Like a Box of Chocolates - jsDay
JavaScript - Like a Box of Chocolates - jsDayJavaScript - Like a Box of Chocolates - jsDay
JavaScript - Like a Box of Chocolates - jsDayRobert Nyman
 
Pourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMSPourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMSThomas Gasc
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
L10n introduction
L10n introductionL10n introduction
L10n introductiondynamis
 
Dig Deeper/Django C-notes
Dig Deeper/Django C-notesDig Deeper/Django C-notes
Dig Deeper/Django C-notesSean O'Connor
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricksambiescent
 
Statecharts - Controlling the behavior of complex systems
Statecharts - Controlling the behavior of complex systemsStatecharts - Controlling the behavior of complex systems
Statecharts - Controlling the behavior of complex systemsLuca Matteis
 
WordPress Third Party Authentication
WordPress Third Party AuthenticationWordPress Third Party Authentication
WordPress Third Party AuthenticationAaron Brazell
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!Balázs Tatár
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeFadi Nicolas Zahhar
 
Times they are a Changin'
Times they are a Changin'Times they are a Changin'
Times they are a Changin'Justin Avery
 
Dress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesDress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesLaurie M. Rauch
 

Was ist angesagt? (20)

jQuery: Events, Animation, Ajax
jQuery: Events, Animation, AjaxjQuery: Events, Animation, Ajax
jQuery: Events, Animation, Ajax
 
PHP Without PHP—Confoo
PHP Without PHP—ConfooPHP Without PHP—Confoo
PHP Without PHP—Confoo
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with libraries
 
YUI for your Hacks-IITB
YUI for your Hacks-IITBYUI for your Hacks-IITB
YUI for your Hacks-IITB
 
JavaScript - Like a Box of Chocolates - jsDay
JavaScript - Like a Box of Chocolates - jsDayJavaScript - Like a Box of Chocolates - jsDay
JavaScript - Like a Box of Chocolates - jsDay
 
Pourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMSPourquoi WordPress n’est pas un CMS
Pourquoi WordPress n’est pas un CMS
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
L10n introduction
L10n introductionL10n introduction
L10n introduction
 
Dig Deeper/Django C-notes
Dig Deeper/Django C-notesDig Deeper/Django C-notes
Dig Deeper/Django C-notes
 
Cheap frontend tricks
Cheap frontend tricksCheap frontend tricks
Cheap frontend tricks
 
Session handling in php
Session handling in phpSession handling in php
Session handling in php
 
Statecharts - Controlling the behavior of complex systems
Statecharts - Controlling the behavior of complex systemsStatecharts - Controlling the behavior of complex systems
Statecharts - Controlling the behavior of complex systems
 
WordPress Third Party Authentication
WordPress Third Party AuthenticationWordPress Third Party Authentication
WordPress Third Party Authentication
 
Web Security
Web SecurityWeb Security
Web Security
 
Let's write secure drupal code!
Let's write secure drupal code!Let's write secure drupal code!
Let's write secure drupal code!
 
18.register login
18.register login18.register login
18.register login
 
WordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a ThemeWordPress 15th Meetup - Build a Theme
WordPress 15th Meetup - Build a Theme
 
Canjs
CanjsCanjs
Canjs
 
Times they are a Changin'
Times they are a Changin'Times they are a Changin'
Times they are a Changin'
 
Dress Your WordPress with Child Themes
Dress Your WordPress with Child ThemesDress Your WordPress with Child Themes
Dress Your WordPress with Child Themes
 

Andere mochten auch

De Legacy à Symfony
De Legacy à SymfonyDe Legacy à Symfony
De Legacy à SymfonyAlayaCare
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokersGaetano Giunta
 
La Console Symfony
La Console Symfony La Console Symfony
La Console Symfony Imad ZAIRIG
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravelwajrcs
 
Symfony 2 : chapitre 2 - Les vues en Twig
Symfony 2 : chapitre 2 - Les vues en TwigSymfony 2 : chapitre 2 - Les vues en Twig
Symfony 2 : chapitre 2 - Les vues en TwigAbdelkader Rhouati
 

Andere mochten auch (6)

De Legacy à Symfony
De Legacy à SymfonyDe Legacy à Symfony
De Legacy à Symfony
 
Rabbits, indians and... Symfony meets queueing brokers
Rabbits, indians and...  Symfony meets queueing brokersRabbits, indians and...  Symfony meets queueing brokers
Rabbits, indians and... Symfony meets queueing brokers
 
Symfony forms
Symfony formsSymfony forms
Symfony forms
 
La Console Symfony
La Console Symfony La Console Symfony
La Console Symfony
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravel
 
Symfony 2 : chapitre 2 - Les vues en Twig
Symfony 2 : chapitre 2 - Les vues en TwigSymfony 2 : chapitre 2 - Les vues en Twig
Symfony 2 : chapitre 2 - Les vues en Twig
 

Ähnlich wie Empezando con Twig

Drupal 8 configuration system for coders and site builders - Drupalaton 2013
Drupal 8 configuration system for coders and site builders - Drupalaton 2013Drupal 8 configuration system for coders and site builders - Drupalaton 2013
Drupal 8 configuration system for coders and site builders - Drupalaton 2013swentel
 
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Anatoly Sharifulin
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Joao Lucas Santana
 
spring3.2 java config Servler3
spring3.2 java config Servler3spring3.2 java config Servler3
spring3.2 java config Servler3YongHyuk Lee
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformanceJonas De Smet
 
Great Developers Steal
Great Developers StealGreat Developers Steal
Great Developers StealBen Scofield
 
Introduction to Twig
Introduction to TwigIntroduction to Twig
Introduction to Twigmarkstory
 
Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3Kris Wallsmith
 
Auto-loading of Drupal CCK Nodes
Auto-loading of Drupal CCK NodesAuto-loading of Drupal CCK Nodes
Auto-loading of Drupal CCK Nodesnihiliad
 
PSGI and Plack from first principles
PSGI and Plack from first principlesPSGI and Plack from first principles
PSGI and Plack from first principlesPerl Careers
 
Building High Performance and Reliable Windows Phone 8 Apps
Building High Performance and Reliable Windows Phone 8 AppsBuilding High Performance and Reliable Windows Phone 8 Apps
Building High Performance and Reliable Windows Phone 8 AppsMichele Capra
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rulesnagarajhubli
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneRafael Felix da Silva
 
Silex: From nothing to an API
Silex: From nothing to an APISilex: From nothing to an API
Silex: From nothing to an APIchrisdkemper
 

Ähnlich wie Empezando con Twig (20)

Sprockets
SprocketsSprockets
Sprockets
 
Mojolicious
MojoliciousMojolicious
Mojolicious
 
Drupal 8 configuration system for coders and site builders - Drupalaton 2013
Drupal 8 configuration system for coders and site builders - Drupalaton 2013Drupal 8 configuration system for coders and site builders - Drupalaton 2013
Drupal 8 configuration system for coders and site builders - Drupalaton 2013
 
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
 
Keeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
 
Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)Desenvolvimento web com Ruby on Rails (parte 2)
Desenvolvimento web com Ruby on Rails (parte 2)
 
spring3.2 java config Servler3
spring3.2 java config Servler3spring3.2 java config Servler3
spring3.2 java config Servler3
 
jQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and PerformancejQuery: Tips, tricks and hints for better development and Performance
jQuery: Tips, tricks and hints for better development and Performance
 
Great Developers Steal
Great Developers StealGreat Developers Steal
Great Developers Steal
 
Introduction to Twig
Introduction to TwigIntroduction to Twig
Introduction to Twig
 
Dig1108 Lesson 3
Dig1108 Lesson 3Dig1108 Lesson 3
Dig1108 Lesson 3
 
Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3Introducing Assetic: Asset Management for PHP 5.3
Introducing Assetic: Asset Management for PHP 5.3
 
Auto-loading of Drupal CCK Nodes
Auto-loading of Drupal CCK NodesAuto-loading of Drupal CCK Nodes
Auto-loading of Drupal CCK Nodes
 
Mojolicious on Steroids
Mojolicious on SteroidsMojolicious on Steroids
Mojolicious on Steroids
 
PSGI and Plack from first principles
PSGI and Plack from first principlesPSGI and Plack from first principles
PSGI and Plack from first principles
 
Building High Performance and Reliable Windows Phone 8 Apps
Building High Performance and Reliable Windows Phone 8 AppsBuilding High Performance and Reliable Windows Phone 8 Apps
Building High Performance and Reliable Windows Phone 8 Apps
 
Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rules
 
Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com Backbone
 
Silex: From nothing to an API
Silex: From nothing to an APISilex: From nothing to an API
Silex: From nothing to an API
 

Kürzlich hochgeladen

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 

Kürzlich hochgeladen (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Empezando con Twig