SlideShare uma empresa Scribd logo
1 de 55
Baixar para ler offline
Portable PHP
“All for one, one for all.”
Alexandre Dumas
Anatol Belski
PHP Specialist
November 2015
Interoperable PHP
Anatol Belski
@weltling
ab@php.net
#php.pecl@efnet
#winphp-dev@freenode
PHP 7.0 release manager
PHP core developer
OSS guy
Interoperable PHP
OSTC
• PHP
• Hyper-V
• Azure
• Samba
• Docker
Interoperable PHP
Interoperability
Hardware
Architecture
OS
Program
Interoperable PHP
A cross-platform program is …
- Hardware
- OS
- Architecture
- …
independent and can run under various
constellations.
Interoperable PHP
Topics
• Filesystem
• Time API
• Performance
• 32- vs 64-bit
• Thread safety
• Beyond
Interoperable PHP
Brief UNIX/Windows diff
UNIX/Linux
• gcc
• many libs
• processes
• C99
• Ext*, reiserFS, HFS, etc.
• UNIX permissions
Windows
• vc++
• core API + OSS libs
• threads
• C99 starting with VC12
• NTFS, FAT
• ACLs
Filesystem
Interoperable PHP
File permissions
UNIX/Linux
• chmod +x file
• chmod -r file
• chmod ugo-r file
• chmod +r file
• no equivalent
• no equivalent
• chmod +t somedir
Windows
• no equivalent
• icacls file /deny nick:(R)
• no equivalent
• icacls file /grant nick:(R)
• icacls file /grant nick:(GR,GW)
• icacls file /inheritance:e
• no equivalent
Interoperable PHP
File/process permissions
• UNIX/Linux
• chmod(), chown(), etc.
• process permissions are handled same way as file ones
• Windows
• icacls
• impersonation
• Unmapped UNIX users built-in SID mapping
Interoperable PHP
Access time
• ext3, ext4 and others
• noatime,nodiratime in /etc/fstab
• NTFS
• fsutil behavior query DisableLastAccess
• fsutil behavior set DisebleLastAccess 0
Interoperable PHP
NTFS streams
C:tmp> echo hello > foo.txt
C:tmp>echo world > foo.txt:bar.txt
C:tmp>dir /r foo.txt
Volume in drive C is SYSTEM
Volume Serial Number is AE0A-76BD
Directory of C:tmp
08/31/2015 11:50 PM 8 foo.txt
8 foo.txt:bar.txt:$DATA
1 File(s) 8 bytes
0 Dir(s) 59,944,050,688 bytes free
Interoperable PHP
PHP FS snippet 1
<?php
var_dump(file_exists("/"));
// Windows
bool(true)
//Linux
bool(true)
Interoperable PHP
PHP FS snippet 2
<?php
var_dump(dirname('/windows/system', 2));
// Windows
string(1) "“
//Linux
string(1) “/"
Interoperable PHP
PHP FS snippet 3
<?php
$f = fopen("file.txt", "w");
var_dump(unlink("file.txt"));
// Windows
Warning: unlink(file.txt): Permission denied in Command line code on line 1
bool(false)
//Linux
bool(true)
Interoperable PHP
PHP FS snippet 4
<?php
var_dump(fopen("some/directory", "r"));
// Windows
Warning: fopen(some/directory): failed to open stream: Permission denied in
Command line code on line 1
bool(false)
//Linux
resource(5) of type (stream)
Interoperable PHP
Some PHP FS functions
• readdir()
• glob()
• symlink()
• relapath()
• temp dir
• PHP extension paths
Time APIs
Interoperable PHP
System time APIs
• TSC
• RDTSC
• RDTSCP
• PM clock
• HPET timer
• POSIX clock
• WIN8+
Interoperable PHP
gettimeofday()
• UNIX/Linux
• us resolution + dependency on userspace tools
• Windows
• Win8+ with resolution <1us
Interoperable PHP
Time examples in PHP
• microtime() != microtime()
• uniqid() is based on usleep()
• usleep()
• timeout handling
Interoperable PHP
Timeout handling
<?php
set_time_limit(3);
/* do some work */
$until = microtime(true) + 2;
while($until > microtime(true));
sleep(1);
/* do some work */
$until = microtime(true) + 1;
while($until > microtime(true));
cho “reached here”;
PHP Performance
Interoperable PHP
PHP opcode caches
• Opcache
• WinCache
• APC
• APCu
Interoperable PHP
Performance PHP way
• QB extension
• Zephir
• Recki-ct
• Memcache, etc.
• Write good PHP 
Interoperable PHP
Performance compiler way
• PGO (VC++)
• LTO/FDO (gcc)
• Assembler
• Compiler intrinsics
Interoperable PHP
PGO
Instrument
• Produce an instrumented build
Train
• Run training scenarios
Optimize
• Produce optimized build using the training data
Interoperable PHP
PGO commands
• configure –enable-pgi
• nmake
• x64Releasephp.exe run-training-script.php
• nmake clean
• configure –enable-pgo
• nmake
Interoperable PHP
FDO commands
• make clean
• make prof-gen
• sapi/cli/php run-training-script.php
• make prof-clean
• make prof-use
64-bit
Interoperable PHP
Do you think this works?
$x = str_repeat("x", PHP_INT_MAX);
Interoperable PHP
64- vs 32-bit in PHP
64-bit
• In general slower
• 9.22337204 × 109 GB
RAM addressable
• 64-bit integers
• LFS
• 64-bit string length
32-bit
• In general faster
• Less than 2 GB RAM
addressable
• 32-bit integers
• 32-bit file operations
• 32-bit string length
Interoperable PHP
Types in PHP7
• zend_long for integers
• zend_ulong for numeric hashes
• size_t for string length
• zend_off_t for file offsets
• zend_stat_t for file status information
• See UPGRADING for more info
Interoperable PHP
64-bit affecting some functions
• stat()
• lstat()
• filesize()
• substr()
• ftell()
• fseek()
Treads vs. Processes
Interoperable PHP
Process
Program
code
OS
Processor
core #n
Interoperable PHP
Threads
Thread #3
Thread
#1
Thread
#2
Interoperable PHP
Process/Thread
Process single
threaded
stack
text
data
heap
Process multi
threaded
stack
stack
text
data
heap
Thread 1
Thread 2
Interoperable PHP
Treads vs processes
• Thread locking
• Shared memory
• security
• performance
Thread 1
Thread 2
static __thread int i = 0;
static int j = 0;
void
start_thread(void *dummy)
{
char hello[6];
char *world;
memcpy(hello, "hello", 5);
world = malloc(sizeof(char) * 5);
memcpy(world, "world", 5);
i++;
}
int main(int argc, char **argv)
{
pthread_t t0, t1;
rc = pthread_create(&t0, NULL,
start_thread, NULL);
rc = pthread_create(&t1, NULL,
start_thread, NULL);
return 0;
}
Interoperable PHP
PHP SAPIs
• Apache (worker, prefork, winnt)
• CGI/FastCGI/FPM (NGINX, IIS, Apache, etc.)
• Embed
• Many unsupported SAPIs removed in PHP7
Interoperable PHP
Apache mpm_prefork
Master
Child 1
Child 2
Child n
Interoperable PHP
Apache mpm_worker
Master
Child 1
Child 2
Child n
v
Thread 1
Thread 2
Thread n
v
v
Thread 1
Thread 2
Thread n
v
v
v
Thread 1
Thread 2
Thread n
v
v
v
v
Interoperable PHP
Apache mpm_winnt
v
Master Child
Thread 1
Thread 2
Thread n
v
vv
Interoperable PHP
void ***tsrm_ls in PHP 5
Interoperable PHP
TS layer in PHP 7
• Global thread specific pointer per binary unit
• Optional special setup to cache TS resource
• No additional tsrm_ls arguments in functions
Interoperable PHP
TLS
● __thread qualifier is not a standard
● __declspec(thread) is not a standard
● thread_local is C++11 standard (not in PHP)
● pthread_setspecific, TlsSetValue, etc.
Interoperable PHP
TLS types in PHP 7
TSRM/TSRM.h
#ifdef TSRM_WIN32
# define TSRM_TLS __declspec(thread)
#else
# define TSRM_TLS __thread
#endif
Zend/zend_types.h
#ifdef ZTS
#define ZEND_TLS static TSRM_TLS
#define ZEND_EXT_TLS TSRM_TLS
#else
#define ZEND_TLS static
#define ZEND_EXT_TLS
#endif
Interoperable PHP
TS or NTS with PHP?
TS
• Less RAM consuming
• Faster startup
• Less library
compatibility
• More complexity
• Slower processing
NTS
• More RAM consuming
• Slower startup
• More library
compatibility
• Less complexity
• Faster processing
Interoperable PHP
Some PHP core functions
• mt_rand()
• fork()
• chroot()
• setlocale()/localeconv()
• symlink()/link()
• fputcsv()
• mail()
• getenv()/putenv()
Interoperable PHP
C APIs implementations in PHP
snprintf sprintf spprintf strlcat strlcpy
glob sscanf strnatcmp strtod
gettimeofday usleep nanosleep
select opendir readdir rewinddir
flock socketpair syslog openlog
closelog ...
Questions?
Thanks for your
attention!
Interoperable PHP
Links
• https://msdn.microsoft.com/en-us/library/e7k32f4k.aspx
• http://blogs.msdn.com/b/vcblog/archive/2013/05/06/speeding-up-php-performance-for-your-application-using-profile-guided-optimization-
pgo.aspx
• https://msdn.microsoft.com/en-us/library/windows/desktop/aa364404%28v=vs.85%29.aspx
• https://wiki.php.net/rfc/removal_of_dead_sapis
• https://wiki.php.net/rfc/remove_deprecated_functionality_in_php7
• https://wiki.php.net/rfc/native-tls
• https://wiki.php.net/rfc/size_t_and_int64_next

Mais conteúdo relacionado

Mais procurados

Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )Андрей Вандакуров
 
How to create/improve OSS products and its community
How to create/improve OSS products and its communityHow to create/improve OSS products and its community
How to create/improve OSS products and its communitySATOSHI TAGOMORI
 
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedEngage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedPaul Withers
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreBaris Ceviz
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreSwaminathan Vetri
 
.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchestercitizenmatt
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnetRick van den Bosch
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET CoreMarco Parenzan
 
NWJS. Web on desktop
NWJS. Web on desktopNWJS. Web on desktop
NWJS. Web on desktopAigars Zeiza
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
 
What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0Jon Galloway
 
Continuous Delivery on a Modern Web Stack
Continuous Delivery on a Modern Web StackContinuous Delivery on a Modern Web Stack
Continuous Delivery on a Modern Web StackLuke Crouch
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorRoberto Luis Bisbé
 

Mais procurados (20)

Net core
Net coreNet core
Net core
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )Opensourceman ( url for slides with animations https://goo.gl/R638tW )
Opensourceman ( url for slides with animations https://goo.gl/R638tW )
 
How to create/improve OSS products and its community
How to create/improve OSS products and its communityHow to create/improve OSS products and its community
How to create/improve OSS products and its community
 
Dot Net Core
Dot Net CoreDot Net Core
Dot Net Core
 
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedEngage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-Red
 
Nodejs basics
Nodejs basicsNodejs basics
Nodejs basics
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
Cross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet coreCross platform dotnet development using dotnet core
Cross platform dotnet development using dotnet core
 
.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester.NET Core Blimey! Windows Platform User Group, Manchester
.NET Core Blimey! Windows Platform User Group, Manchester
 
.Net Core
.Net Core.Net Core
.Net Core
 
.Net Core
.Net Core.Net Core
.Net Core
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 
Introduction to .NET Core
Introduction to .NET CoreIntroduction to .NET Core
Introduction to .NET Core
 
NWJS. Web on desktop
NWJS. Web on desktopNWJS. Web on desktop
NWJS. Web on desktop
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)
 
What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0What's New in ASP.NET Core 2.0
What's New in ASP.NET Core 2.0
 
Careerdays dev ops
Careerdays   dev opsCareerdays   dev ops
Careerdays dev ops
 
Continuous Delivery on a Modern Web Stack
Continuous Delivery on a Modern Web StackContinuous Delivery on a Modern Web Stack
Continuous Delivery on a Modern Web Stack
 
Comunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exteriorComunicando nuestras apps con el mundo exterior
Comunicando nuestras apps con el mundo exterior
 

Semelhante a Portable PHP

Interoperable PHP
Interoperable PHPInteroperable PHP
Interoperable PHPweltling
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architectureElizabeth Smith
 
TAKING PHP SERIOUSLY - Keith Adams
TAKING PHP SERIOUSLY - Keith AdamsTAKING PHP SERIOUSLY - Keith Adams
TAKING PHP SERIOUSLY - Keith AdamsHermes Alves
 
Php training100%placement-in-mumbai
Php training100%placement-in-mumbaiPhp training100%placement-in-mumbai
Php training100%placement-in-mumbaivibrantuser
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumBen Ramsey
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101Rami Sayar
 
Cutting Back Processing Time
Cutting Back Processing TimeCutting Back Processing Time
Cutting Back Processing TimeHenrique Moody
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilitiesDefconRussia
 
Ingesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmedIngesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmedwhoschek
 
Hogy jussunk ki lezárt hálózatokból?
Hogy jussunk ki lezárt hálózatokból?Hogy jussunk ki lezárt hálózatokból?
Hogy jussunk ki lezárt hálózatokból?hackersuli
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.jsorkaplan
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami SayarFITC
 

Semelhante a Portable PHP (20)

Interoperable PHP
Interoperable PHPInteroperable PHP
Interoperable PHP
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
 
posix.pdf
posix.pdfposix.pdf
posix.pdf
 
Php
PhpPhp
Php
 
PHP ITCS 323
PHP ITCS 323PHP ITCS 323
PHP ITCS 323
 
TAKING PHP SERIOUSLY - Keith Adams
TAKING PHP SERIOUSLY - Keith AdamsTAKING PHP SERIOUSLY - Keith Adams
TAKING PHP SERIOUSLY - Keith Adams
 
Golang
GolangGolang
Golang
 
Golang
GolangGolang
Golang
 
Php training100%placement-in-mumbai
Php training100%placement-in-mumbaiPhp training100%placement-in-mumbai
Php training100%placement-in-mumbai
 
Desktop Apps with PHP and Titanium
Desktop Apps with PHP and TitaniumDesktop Apps with PHP and Titanium
Desktop Apps with PHP and Titanium
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
Cutting Back Processing Time
Cutting Back Processing TimeCutting Back Processing Time
Cutting Back Processing Time
 
PHP MySQL Workshop - facehook
PHP MySQL Workshop - facehookPHP MySQL Workshop - facehook
PHP MySQL Workshop - facehook
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
 
Next .NET and C#
Next .NET and C#Next .NET and C#
Next .NET and C#
 
Ingesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmedIngesting hdfs intosolrusingsparktrimmed
Ingesting hdfs intosolrusingsparktrimmed
 
Hogy jussunk ki lezárt hálózatokból?
Hogy jussunk ki lezárt hálózatokból?Hogy jussunk ki lezárt hálózatokból?
Hogy jussunk ki lezárt hálózatokból?
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
Powering up on PowerShell - BSides Greenville 2019
Powering up on PowerShell  - BSides Greenville 2019Powering up on PowerShell  - BSides Greenville 2019
Powering up on PowerShell - BSides Greenville 2019
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami Sayar
 

Último

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Portable PHP