SlideShare a Scribd company logo
Creating a PHAR
for Greater Good!
http://bit.ly/1jnCGcu
● Software Architect at
Linio
● All around nerd
● Systems Administrator
for 7 years
● @aramonc in all the
places
About Me
like a Java JAR, but for PHP
PHp ARchive
Available since PHP 5.3
● Composer
● PHPUnit
● Magento
● Pear
● phpDox
● Phing
Used by ...
Common Uses ...
● Command Line Utilities
● Libraries
● Whole Applications
● Frameworks
● Creating Tar & Zip files
Composed of ...
● A Stub
● A manifest describing the contents
● The file contents
● A signature (optional, phar format only)
phar.readonly = Off
<?php
$baseDir = realpath(dirname(__DIR__));
$saveLoc = $baseDir . “/build/backup.phar”;
$alias = “backup”;
$flags = FileSystemIterator::CURRENT_AS_FILEINFO |
FileSystemIterator::KEY_AS_PATHNAME;
$phar = new Phar($saveLoc, $flags, $alias);
The Compiler Script
<?php
$phar->startBuffering();
$autoload = $baseDir . '/vendor/autoload.php';
$runner = $baseDir . '/bin/backup_runner.php';
$phar->addFile($autoload, '/vendor/autoload.php');
$phar->addFile($runner, '/bin/backups.php');
The Compiler Script
<?php
/** @var SPLFileInfo $file */
foreach($files as $file) {
$path = $file->getRealPath();
$path = str_replace($baseDir . ‘/’, '', $path);
$path = strtr($path, '', '/');
The Compiler Script
<?php
if($file->isDir()) {
$phar->addEmptyDir('/' . $path);
}
if($file->isFile() && !$file->isDir()) {
$phar->addFile($file->getRealPath(), $path);
}
}
The Compiler Script
<?php
$phar->buildFromDirectory($baseDir);
// OR
$phar->buildFromIterator($dirIterator);
The Compiler Script … an Alternative
<?php
$stub = file_get_contents($baseDir . '/bin/stub.php');
$phar->setStub($stub);
$phar->stopBuffering();
The Compiler Script
#!/usr/bin/env php
<?php
set_time_limit(3000);
Phar::mapPhar("backup");
require "phar://backup/bin/backups.php";
__HALT_COMPILER();
The Stub
$> php backup.phar
Using the PHAR
<?php
include 'phar://coollibrary.phar/internal/file.php';
header('Content-type: image/jpeg');
// phars can be accessed by full path or by alias
echo file_get_contents('phar:///fullpath/to/coollibrary.
phar/images/wow.jpg');
$> phar help-list
add compress delete extract help
help-list info list meta-del meta-get
meta-set pack sign stub-get
stub-set tree version
Debugging
Creating a Tar or Zip file
● Can be done with phar.readonly = 1
● Should not have a stub or alias
● Should use tar or zip extensions
<?php
$tar = new Phar($saveLoc, $flags, $alias, Phar::TAR);
$tar->compress(Phar::GZ)
$zip = new Phar($saveLoc, $flags, $alias, Phar::ZIP);
$zip->compress(Phar::BZ2)
Creating a Tar or Zip file
The box Project
● https://github.com/box-project/
● Framework for creating Phar files
● Lots of utility functions & classes for the
compiler script
● Not part of your project
● Box 3 has been in development for over a
year
A word on performance
● APC does not support PHAR
● Using the PHAR format is faster than Tar or
Zip
● Avoid compression if you’re going to use it
on the web
Resources
● PHP.net PHAR Manual
● Composer Compiler
● WebPhar Tutorial
● Working with .phar files
● Iterators in PHP - by Jake Smith @jakefolio
● Backup Project
Thank you!!

More Related Content

What's hot

File in c
File in cFile in c
File in c
Prabhu Govind
 
C programming file handling
C  programming file handlingC  programming file handling
C programming file handling
argusacademy
 
Sp ch05
Sp ch05Sp ch05
Apache Solr for TYPO3 Components & Review 2016
Apache Solr for TYPO3 Components & Review 2016Apache Solr for TYPO3 Components & Review 2016
Apache Solr for TYPO3 Components & Review 2016
timohund
 
File Management in C
File Management in CFile Management in C
File Management in C
Paurav Shah
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
timohund
 
File handling in 'C'
File handling in 'C'File handling in 'C'
File handling in 'C'
Gaurav Garg
 
Php File Operations
Php File OperationsPhp File Operations
Php File Operations
Jamshid Hashimi
 
File handling-c programming language
File handling-c programming languageFile handling-c programming language
File handling-c programming language
thirumalaikumar3
 
Vim and Python
Vim and PythonVim and Python
Vim and Python
majmcdonald
 
File handling in C
File handling in CFile handling in C
File handling in C
Kamal Acharya
 
File operations in c
File operations in cFile operations in c
File Management
File ManagementFile Management
File Management
Ravinder Kamboj
 
Drupal and Open shift (and php)
Drupal and Open shift (and php)Drupal and Open shift (and php)
Drupal and Open shift (and php)
Phase2
 
php file uploading
php file uploadingphp file uploading
php file uploading
Purushottam Kumar
 
File in C Programming
File in C ProgrammingFile in C Programming
File in C Programming
Sonya Akter Rupa
 
1file handling
1file handling1file handling
1file handling
Frijo Francis
 
File handling in C by Faixan
File handling in C by FaixanFile handling in C by Faixan
File handling in C by Faixan
ٖFaiXy :)
 
File handling in c
File handling in cFile handling in c
Files in c
Files in cFiles in c
Files in c
TanujaA3
 

What's hot (20)

File in c
File in cFile in c
File in c
 
C programming file handling
C  programming file handlingC  programming file handling
C programming file handling
 
Sp ch05
Sp ch05Sp ch05
Sp ch05
 
Apache Solr for TYPO3 Components & Review 2016
Apache Solr for TYPO3 Components & Review 2016Apache Solr for TYPO3 Components & Review 2016
Apache Solr for TYPO3 Components & Review 2016
 
File Management in C
File Management in CFile Management in C
File Management in C
 
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 coreTYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
TYPO3 8 is here - how we keep EXT:solr uptodate with the TYPO3 core
 
File handling in 'C'
File handling in 'C'File handling in 'C'
File handling in 'C'
 
Php File Operations
Php File OperationsPhp File Operations
Php File Operations
 
File handling-c programming language
File handling-c programming languageFile handling-c programming language
File handling-c programming language
 
Vim and Python
Vim and PythonVim and Python
Vim and Python
 
File handling in C
File handling in CFile handling in C
File handling in C
 
File operations in c
File operations in cFile operations in c
File operations in c
 
File Management
File ManagementFile Management
File Management
 
Drupal and Open shift (and php)
Drupal and Open shift (and php)Drupal and Open shift (and php)
Drupal and Open shift (and php)
 
php file uploading
php file uploadingphp file uploading
php file uploading
 
File in C Programming
File in C ProgrammingFile in C Programming
File in C Programming
 
1file handling
1file handling1file handling
1file handling
 
File handling in C by Faixan
File handling in C by FaixanFile handling in C by Faixan
File handling in C by Faixan
 
File handling in c
File handling in cFile handling in c
File handling in c
 
Files in c
Files in cFiles in c
Files in c
 

Viewers also liked

Phar, The PHP .exe Format
Phar, The PHP .exe FormatPhar, The PHP .exe Format
Phar, The PHP .exe Format
Helgi Þormar Þorbjörnsson
 
Introducción a los Archivos Phar en PHP
Introducción a los Archivos Phar en PHPIntroducción a los Archivos Phar en PHP
Introducción a los Archivos Phar en PHP
Yaismel Miranda
 
PHAR better Tools
PHAR better ToolsPHAR better Tools
PHAR better Tools
PHP in DD
 
Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo
Consorzio Ong Piemontesi COP
 
Conservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal DocliteConservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal Doclite
InfoCert S.p.A.
 
Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign
InfoCert S.p.A.
 
Fatturazione ElettronicaPA
Fatturazione ElettronicaPAFatturazione ElettronicaPA
Fatturazione ElettronicaPA
InfoCert S.p.A.
 
Smpp v3 4
Smpp v3 4Smpp v3 4
Smpp v3 4
Hung Nghiem
 
Contaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazioneContaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazione
InfoCert S.p.A.
 
The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0
Vassilis Pitsounis
 
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Leandro Agro'
 
WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.
Tim O'Reilly
 
Messaging Apps Overview
Messaging Apps OverviewMessaging Apps Overview
Messaging Apps Overview
JacksLabs
 
SMPP
SMPPSMPP
I processi di contrattualizzazione paperless
I processi di contrattualizzazione paperlessI processi di contrattualizzazione paperless
I processi di contrattualizzazione paperless
InfoCert S.p.A.
 
XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi
La Scuola Open Source
 
SMS-SMPP-Concepts
SMS-SMPP-ConceptsSMS-SMPP-Concepts
SMS-SMPP-Concepts
Duy Do Phan
 
Emotiv EPOC EEG Headset
Emotiv EPOC EEG HeadsetEmotiv EPOC EEG Headset
Emotiv EPOC EEG Headset
Ahmed Gad
 
What's the Future?
What's the Future?What's the Future?
What's the Future?
Tim O'Reilly
 
Quattro riflessioni sulla comunicazione contemporanea
Quattro riflessioni sulla comunicazione contemporaneaQuattro riflessioni sulla comunicazione contemporanea
Quattro riflessioni sulla comunicazione contemporanea
Proforma
 

Viewers also liked (20)

Phar, The PHP .exe Format
Phar, The PHP .exe FormatPhar, The PHP .exe Format
Phar, The PHP .exe Format
 
Introducción a los Archivos Phar en PHP
Introducción a los Archivos Phar en PHPIntroducción a los Archivos Phar en PHP
Introducción a los Archivos Phar en PHP
 
PHAR better Tools
PHAR better ToolsPHAR better Tools
PHAR better Tools
 
Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo Comunicare in rete per lo sviluppo
Comunicare in rete per lo sviluppo
 
Conservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal DocliteConservazione Sostitutiva Legal Doclite
Conservazione Sostitutiva Legal Doclite
 
Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign Premio innova s@lute2016 - InfoCert GeoSign
Premio innova s@lute2016 - InfoCert GeoSign
 
Fatturazione ElettronicaPA
Fatturazione ElettronicaPAFatturazione ElettronicaPA
Fatturazione ElettronicaPA
 
Smpp v3 4
Smpp v3 4Smpp v3 4
Smpp v3 4
 
Contaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazioneContaminazione della Digital transformation: dalla banca all'assicurazione
Contaminazione della Digital transformation: dalla banca all'assicurazione
 
The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0The Angular road from 1.x to 2.0
The Angular road from 1.x to 2.0
 
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
Connected Objects are Natural Born Storytellers (LECTURE @NABA, 2015 )
 
WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.WTF? Why The Future Is Up To Us.
WTF? Why The Future Is Up To Us.
 
Messaging Apps Overview
Messaging Apps OverviewMessaging Apps Overview
Messaging Apps Overview
 
SMPP
SMPPSMPP
SMPP
 
I processi di contrattualizzazione paperless
I processi di contrattualizzazione paperlessI processi di contrattualizzazione paperless
I processi di contrattualizzazione paperless
 
XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi XYZ – OUTPUT – Processi
XYZ – OUTPUT – Processi
 
SMS-SMPP-Concepts
SMS-SMPP-ConceptsSMS-SMPP-Concepts
SMS-SMPP-Concepts
 
Emotiv EPOC EEG Headset
Emotiv EPOC EEG HeadsetEmotiv EPOC EEG Headset
Emotiv EPOC EEG Headset
 
What's the Future?
What's the Future?What's the Future?
What's the Future?
 
Quattro riflessioni sulla comunicazione contemporanea
Quattro riflessioni sulla comunicazione contemporaneaQuattro riflessioni sulla comunicazione contemporanea
Quattro riflessioni sulla comunicazione contemporanea
 

Similar to Creating a phar

PyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MorePyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and More
Matt Harrison
 
Profiling with Xhprof
Profiling with XhprofProfiling with Xhprof
Profiling with Xhprof
Tim Massey
 
John's Top PECL Picks
John's Top PECL PicksJohn's Top PECL Picks
John's Top PECL Picks
John Coggeshall
 
Magento and Continuous Integration - Damian Luszczymak
Magento and Continuous Integration - Damian LuszczymakMagento and Continuous Integration - Damian Luszczymak
Magento and Continuous Integration - Damian Luszczymak
Meet Magento Spain
 
Writing and using php streams and sockets
Writing and using php streams and socketsWriting and using php streams and sockets
Writing and using php streams and sockets
Elizabeth Smith
 
Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12
N Masahiro
 
Key features PHP 5.3 - 5.6
Key features PHP 5.3 - 5.6Key features PHP 5.3 - 5.6
Key features PHP 5.3 - 5.6
Federico Damián Lozada Mosto
 
Drupal 7,8 Coder and PHPcodesniffer installation guide
Drupal 7,8 Coder and PHPcodesniffer installation guideDrupal 7,8 Coder and PHPcodesniffer installation guide
Drupal 7,8 Coder and PHPcodesniffer installation guide
Gaurav Agrawal
 
Introduction to Apache Pig
Introduction to Apache PigIntroduction to Apache Pig
Introduction to Apache Pig
Anshul Bhatnagar
 
Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501
Jinho Kim
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
Walter Ebert
 
PHP File Handling
PHP File Handling PHP File Handling
PHP File Handling
Degu8
 
Linux basic for CADD biologist
Linux basic for CADD biologistLinux basic for CADD biologist
Linux basic for CADD biologist
Ajay Murali
 
PHP Development Tools
PHP  Development ToolsPHP  Development Tools
PHP Development Tools
Antony Abramchenko
 
Secure Ftp Java Style Rev004
Secure Ftp  Java Style Rev004Secure Ftp  Java Style Rev004
Secure Ftp Java Style Rev004
Rich Helton
 
TYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase frameworkTYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase framework
Christian Trabold
 
Streams, sockets and filters oh my!
Streams, sockets and filters oh my!Streams, sockets and filters oh my!
Streams, sockets and filters oh my!
Elizabeth Smith
 
The beautyandthebeast phpbat2010
The beautyandthebeast phpbat2010The beautyandthebeast phpbat2010
The beautyandthebeast phpbat2010
Bastian Feder
 
On secure application of PHP wrappers
On secure application  of PHP wrappersOn secure application  of PHP wrappers
On secure application of PHP wrappers
Positive Hack Days
 
Commands documentaion
Commands documentaionCommands documentaion
Commands documentaion
TejalNijai
 

Similar to Creating a phar (20)

PyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and MorePyCon 2013 : Scripting to PyPi to GitHub and More
PyCon 2013 : Scripting to PyPi to GitHub and More
 
Profiling with Xhprof
Profiling with XhprofProfiling with Xhprof
Profiling with Xhprof
 
John's Top PECL Picks
John's Top PECL PicksJohn's Top PECL Picks
John's Top PECL Picks
 
Magento and Continuous Integration - Damian Luszczymak
Magento and Continuous Integration - Damian LuszczymakMagento and Continuous Integration - Damian Luszczymak
Magento and Continuous Integration - Damian Luszczymak
 
Writing and using php streams and sockets
Writing and using php streams and socketsWriting and using php streams and sockets
Writing and using php streams and sockets
 
Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12Dive into Fluentd plugin v0.12
Dive into Fluentd plugin v0.12
 
Key features PHP 5.3 - 5.6
Key features PHP 5.3 - 5.6Key features PHP 5.3 - 5.6
Key features PHP 5.3 - 5.6
 
Drupal 7,8 Coder and PHPcodesniffer installation guide
Drupal 7,8 Coder and PHPcodesniffer installation guideDrupal 7,8 Coder and PHPcodesniffer installation guide
Drupal 7,8 Coder and PHPcodesniffer installation guide
 
Introduction to Apache Pig
Introduction to Apache PigIntroduction to Apache Pig
Introduction to Apache Pig
 
Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501Tajo Seoul Meetup-201501
Tajo Seoul Meetup-201501
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
PHP File Handling
PHP File Handling PHP File Handling
PHP File Handling
 
Linux basic for CADD biologist
Linux basic for CADD biologistLinux basic for CADD biologist
Linux basic for CADD biologist
 
PHP Development Tools
PHP  Development ToolsPHP  Development Tools
PHP Development Tools
 
Secure Ftp Java Style Rev004
Secure Ftp  Java Style Rev004Secure Ftp  Java Style Rev004
Secure Ftp Java Style Rev004
 
TYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase frameworkTYPO3 Extension development using new Extbase framework
TYPO3 Extension development using new Extbase framework
 
Streams, sockets and filters oh my!
Streams, sockets and filters oh my!Streams, sockets and filters oh my!
Streams, sockets and filters oh my!
 
The beautyandthebeast phpbat2010
The beautyandthebeast phpbat2010The beautyandthebeast phpbat2010
The beautyandthebeast phpbat2010
 
On secure application of PHP wrappers
On secure application  of PHP wrappersOn secure application  of PHP wrappers
On secure application of PHP wrappers
 
Commands documentaion
Commands documentaionCommands documentaion
Commands documentaion
 

More from Adrian Cardenas

Iterators & generators: practical uses in memory management
Iterators & generators: practical uses in memory managementIterators & generators: practical uses in memory management
Iterators & generators: practical uses in memory management
Adrian Cardenas
 
Http/2 lightning
Http/2   lightningHttp/2   lightning
Http/2 lightning
Adrian Cardenas
 
Http/2
Http/2Http/2
First there was the command line
First there was the command lineFirst there was the command line
First there was the command line
Adrian Cardenas
 
Learning the command line
Learning the command lineLearning the command line
Learning the command line
Adrian Cardenas
 
Conquering the Command Line
Conquering the Command LineConquering the Command Line
Conquering the Command Line
Adrian Cardenas
 
Communicating on the web
Communicating on the webCommunicating on the web
Communicating on the web
Adrian Cardenas
 

More from Adrian Cardenas (7)

Iterators & generators: practical uses in memory management
Iterators & generators: practical uses in memory managementIterators & generators: practical uses in memory management
Iterators & generators: practical uses in memory management
 
Http/2 lightning
Http/2   lightningHttp/2   lightning
Http/2 lightning
 
Http/2
Http/2Http/2
Http/2
 
First there was the command line
First there was the command lineFirst there was the command line
First there was the command line
 
Learning the command line
Learning the command lineLearning the command line
Learning the command line
 
Conquering the Command Line
Conquering the Command LineConquering the Command Line
Conquering the Command Line
 
Communicating on the web
Communicating on the webCommunicating on the web
Communicating on the web
 

Recently uploaded

Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 

Recently uploaded (20)

Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 

Creating a phar