SlideShare ist ein Scribd-Unternehmen logo
1 von 103
Downloaden Sie, um offline zu lesen
JAK NIE ZOSTAĆ
„PROGRAMISTĄ” PHP?

 DOBRE I ZŁE PRAKTYKI
O MNIE


Radosław Benkel - singles
PHP - 2007
SQL - 2007
JavaScript -2008
Projekty: DELIRIUM, GENOSIS, inne
PHP

CZYM JEST PHP?
PHP

   CZYM JEST PHP?

DYNAMICZNIE TYPOWANYM,
   OBIEKTOWYM,
 SKRYPTOWYM JĘZYKIEM
     PROGRAMOWANIA
JAKA JEST NAJWIĘKSZA
WADA A JEDNOCZEŚNIE
     ZALETA PHP?
<?PHP
HTTP://WWW.FLICKR.COM/PHOTOS/HATM/3448824312/ BY HATM
WYŚWIETLANIE BŁĘDÓW
WYŚWIETLANIE BŁĘDÓW
WYŚWIETLANIE BŁĘDÓW

          error_reporting = E_ALL | E_STRICT
php.ini   display_errors = On
WYŚWIETLANIE BŁĘDÓW

          error_reporting = E_ALL | E_STRICT
php.ini   display_errors = On



          <?php
 *.php    error_reporting(E_ALL | E_STRICT)
          ini_set('display_errors', 'On')
WYŚWIETLANIE BŁĘDÓW

            error_reporting = E_ALL | E_STRICT
 php.ini    display_errors = On



            <?php
  *.php     error_reporting(E_ALL | E_STRICT)
            ini_set('display_errors', 'On')



            php_flag display_errors on
.htaccess   php_value error_reporting 32767
WYŚWIETLANIE BŁĘDÓW




     @
INNE DYREKTYWY PHP.INI
INNE DYREKTYWY PHP.INI


register_globals = Off
INNE DYREKTYWY PHP.INI

http://www.example.com/find.php?title=Foo


<?php

//register_globals = On
$title // 'Foo'
$_GET['title'] // 'Foo'

//register_globals = Off
$title // undefined
$_GET['title'] // 'Foo'
INNE DYREKTYWY PHP.INI


register_globals = Off


magic_quotes_gpc = Off
INNE DYREKTYWY PHP.INI


register_globals = Off


magic_quotes_gpc = Off


magic_quotes_runtime = Off
GET, POST [, PUT, DELETE]
GET, POST [,PUT, DELETE]

HTTP://WWW.ONET.TV/JUSTIN-BIEBER-TRAFI-NA-ODWYK,
9025126,1,KLIP.HTML#




                     $_GET

HTTP://EXAMPLE.COM/INDEX.PHP?ID=123&TITLE=FOO
FILTROWANIE WEJŚCIA I
      WYJŚĆIA
FILTROWANIE WEJŚCIA I WYJŚCIA
                      WEJŚCIE:
<?php
$search_html = filter_input(
   INPUT_GET,
   'foo',
   FILTER_SANITIZE_SPECIAL_CHARS
);


                      WYJŚCIE:

<?php echo htmlspecialchars($foo, ENT_NOQUOTES);
A CO Z SQL?
PDO
(PHP DATA OBJECTS)
PDO

<?php

//PDO
try {
    $db = new PDO('mysql:host=hostname:dbname=some',
                  'username', 'password',
                  array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF-8');

} catch (PDOException $e) {
    die($e->getMessage());
}

$query = 'SELECT * FROM my_table WHERE cat_id = :id AND title = :title';

$stmt = $db->prepare($query);
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->bindValue(':title', $myTitle, PDO::PARAM_STR, 12);
$stmt->execute();

while($row = $stmt->fetch(PDO::FETCH_OBJ)) {
    // ..
}
GLOBAL TO ZŁO!
GLOBAL TO ZŁO!


       "JEŚLI DZIECKO TWE,
         UŻYWA GLOBALA,
         TO WIEDZ, ŻE COŚ
         SIĘ Z NIM DZIEJE"
PARAMETRY FUNKCJI A
    REFERENCJA
PARAMETRY FUNKCJI A
                REFERENCJA

<?php

function change($a, $o)
{
    $a['foo'] = 2;
    $o->bar = 2;
}

$arr = array('foo' => 1);
$obj = new stdClass();
$obj->$bar = 1;

change($arr, $obj);

echo $arr['foo']; //displays 1
echo $obj->bar; //displays 2
INCLUDE/REQUIRE(_ONCE)
AUTOLOADING
AUTOLOADING



<?php
function __autoload($name)
{
    if (file_exists($name . '.php')) {
        require_once($name. '.php');
    }
}

$a = new Foo(); //autoload file Foo.php from current directory
FOR => FOREACH
FOR => FOREACH
<?php

//DONT DO THAT!
for ($i = 0; $o < count($names); $i++) {
    $name['surname'] = mysql_query("SELECT surname FROM surnames WHERE name
'{$names[i]}'");
}

$names = array(
    'John' => 'Doe',
    'Chuck' => 'Norris'
);

foreach ($names as $lastName) {
    echo $lastName, "n";
}

foreach ($names as $firstName => $lastName) {
    echo $firstName . ':' . $lastName;
}
== VS ===
== VS ===

// "===" MEANS THAT THEY ARE IDENTICAL
// "==" MEANS THAT THEY ARE EQUAL
// "!=" MEANS THAT THEY AREN'T EQUAL.

          FALSE   NULL     ARRAY()   0     "0"   0X0   "0X0"   "000"   "0000"
FALSE     ===     ==       ==        ==    ==    ==    !=      !=      !=
NULL      ==      ===      ==        ==    !=    ==    !=      !=      !=
ARRAY()   ==      ==       ===       !=    !=    !=    !=      !=      !=
0         ==      ==       !=        ===   ==    ===   ==      ==      ==
"0"       ==      !=       !=        ==    ===   ==    ==      ==      ==
0X0       ==      ==       !=        ===   ==    ===   ==      ==      ==
"0X0"     !=      !=       !=        ==    ==    ==    ===     ==      ==
"000"     !=      !=       !=        ==    ==    ==    ==      ===     ==
"0000"    !=      !=       !=        ==    ==    ==    ==      ==      ===




     HTTP://STACKOVERFLOW.COM/QUESTIONS/80646/HOW-
       DO-THE-EQUALITY-DOUBLE-EQUALS-AND-IDENTITY-
                 TRIPLE-EQUALS-COMPARISO
OUTPUT BUFFERING
OUTPUT BUFFERING



Cannot add/modify header
information - headers
already sent by...
OUTPUT BUFFERING

          <?php
          ob_start();
*.php     //some code
          header('Location: http://e.com')
          ob_end_flush();


php.ini   output_buffering = On




UTF BOM                       UWAGA
EVAL IS EVIL
VARIABLE VARIABLES
VARIABLE VARIABLES

// variable variables
class Some
{
    public function foo()
    {
        return "Hello World";
    }
}

$foo = 'Hello World';
$bar = 'foo';

echo $$bar; //displays 'Hello World'

$obj = new Some();
echo $obj->$foo(); //displays Hello World

//much better!
call_user_func(array($obj, $foo));
call_user_func(array('Some', $foo));
STRINGI
STRINGI



JAKIE MAMY RODZAJE
     STRINGÓW?
STRINGI
STRINGI (W PHP;-)



  SINGLE QUOTED

  DOUBLE QUOTED

  HEREDOC

  NOWDOC (PHP 5.3)
STRINGI (W PHP;-)

<?php

$ex1 = 'Value of var foo is $foo';
$ex2 = "Value of var foo is $foo";
$ex3 = <<<HD
Value
of foo
is
$foo
HD;
$ex4 = <<<'ND'
Value of
foo
is $foo
'ND';

echo    $ex1   .   "n";   //   Value   of   var   foo   is   $foo
echo    $ex2   .   "n";   //   Value   of   var   foo   is   bar
echo    $ex3   .   "n";   //   Value   of   var   foo   is   bar
echo    $ex4   .   "n";   //   Value   of   var   foo   is   $foo
KODOWANIE ZNAKÓW
KODOWANIE ZNAKÓW
KODOWANIE ZNAKÓW



"ONE CHARSET TO
 RULE THEM ALL"
KODOWANIE ZNAKÓW




  UTF-8
  ALE.... MB_*
MAGIA W PHP
MAGIA W PHP



Przygody
Harrego
Pottera
MAGIA W PHP

__construct         __unset

__destruct          __sleep

__call              __wakeup

__callStatic        __toString

__get               __invoke

__set               __set_state

__isset             __clone
MAGIA W PHP
<?php

class Foo
{
    private $_properties = array(
        'foo' => 123,
        'bar' => 456
    );

    public function __get($var)
    {
        if (!array_key_exists($var, $this->_properties)) {
            return null;
        }
        return $this->_properties[$var];
    }

    public function __set($var, $value) {
        if (!array_key_exists($var, $this->_properties)) {
            throw new Exception('You cannot set that property');
        } else {
            $this->_properties[$var] = $value;
        }
    }
}

$obj = new Foo();
$obj->foo; //gives 123
$obj->nonExists; //throws Exception
MAGIA W PHP
RETURN
RETURN


<?php

function foo() {
    return 'Hello World';
}

function bar() {
    echo 'Hello World';
}

echo foo(); // Hello World   <- GOOD
bar();      // Hello World   <- BAD
XDEBUG
XDEBUG
APC, EACCLERATOR,
XCACHE, ZEND OPTIMIZER
JAKA WERSJA PHP?
PHP4
PHP4
PHP4
PHP 5.2.X
PHP4
PHP 5.2.X
PHP4
PHP 5.2.X
PHP 5.3.X
PHP4
PHP 5.2.X
PHP 5.3.X
PHP 5.3
PHP 5.3


PRZESTRZENIE NAZW

LAMBDAS/CLOSURES

LATE STATIC BINDING

__CALLSTATIC

GOTO

WYDAJNOŚĆ - DO 30% SZYBSZE
?>
VCS =
VERSION CONTROL
     SYSTEM
VCS




    HTTP://STACKOVERFLOW.COM/
QUESTIONS/132520/GOOD-EXCUSES-NOT-
      TO-USE-VERSION-CONTROL
IDE?
EDYTOR PROGRAMISTY?
     NOTATNIK?
WINDOWS + WEBDEV ?
NIE WYNAJDUJ KOŁA NA
       NOWO
FRAMEWORKI
FRAMEWORKI
FRAMEWORKI




   ALE
FRAMEWORKI




   ALE
FRAMEWORKI

MVC VS MVP
FRAMEWORKI

MVC VS MVP
MÓJ KOD NIE DZIAŁA!!!
MÓJ KOD NIE DZIAŁA!!!




while(!foundAnswer()) {
    checkManual();
}
MÓJ KOD NIE DZIAŁA!!!
MÓJ KOD NIE DZIAŁA!!!
JAK SIĘ UCZYĆ?
JAK SIĘ UCZYĆ?
JAK SIĘ UCZYĆ?




HTTP://PLANETA.PHP.PL/
JAK PISAĆ KOD?
JAK PISAĆ KOD?

  "PISZ KOD TAK,
   JAKBY OSOBA,
KTÓRA GO PO TOBIE
 PRZEJMIE, BYŁA
   UZBROJONYM
    PSYCHOPATĄ
 ZNAJĄCYM TWÓJ
      ADRES"
JAK PISAĆ KOD?
JAK PISAĆ KOD?




STYL KODOWANIA
ODPOWIEDNIE NARZĘDZIE
    DO ZADANIA
DZIĘKI!
PYTANIA?
 UWAGI?
RADOSŁAW BENKEL

       SINGLES

HTTP://BLOG.RBENKEL.ME

     @SINGLESPL

Weitere ähnliche Inhalte

Was ist angesagt?

Refactoring using Codeception
Refactoring using CodeceptionRefactoring using Codeception
Refactoring using CodeceptionJeroen van Dijk
 
Electrify your code with PHP Generators
Electrify your code with PHP GeneratorsElectrify your code with PHP Generators
Electrify your code with PHP GeneratorsMark Baker
 
Code obfuscation, php shells & more
Code obfuscation, php shells & moreCode obfuscation, php shells & more
Code obfuscation, php shells & moreMattias Geniar
 
8時間耐久CakePHP2 勉強会
8時間耐久CakePHP2 勉強会8時間耐久CakePHP2 勉強会
8時間耐久CakePHP2 勉強会Yusuke Ando
 
Advanced symfony Techniques
Advanced symfony TechniquesAdvanced symfony Techniques
Advanced symfony TechniquesKris Wallsmith
 
Looping the Loop with SPL Iterators
Looping the Loop with SPL IteratorsLooping the Loop with SPL Iterators
Looping the Loop with SPL IteratorsMark Baker
 
Top 10 php classic traps confoo
Top 10 php classic traps confooTop 10 php classic traps confoo
Top 10 php classic traps confooDamien Seguy
 
The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010Fabien Potencier
 
PHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くためにPHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くためにYuya Takeyama
 

Was ist angesagt? (20)

Php mysql
Php mysqlPhp mysql
Php mysql
 
Zero to SOLID
Zero to SOLIDZero to SOLID
Zero to SOLID
 
Perl6 grammars
Perl6 grammarsPerl6 grammars
Perl6 grammars
 
Symfony2 - OSIDays 2010
Symfony2 - OSIDays 2010Symfony2 - OSIDays 2010
Symfony2 - OSIDays 2010
 
Refactoring using Codeception
Refactoring using CodeceptionRefactoring using Codeception
Refactoring using Codeception
 
Electrify your code with PHP Generators
Electrify your code with PHP GeneratorsElectrify your code with PHP Generators
Electrify your code with PHP Generators
 
Code obfuscation, php shells & more
Code obfuscation, php shells & moreCode obfuscation, php shells & more
Code obfuscation, php shells & more
 
8時間耐久CakePHP2 勉強会
8時間耐久CakePHP2 勉強会8時間耐久CakePHP2 勉強会
8時間耐久CakePHP2 勉強会
 
PHP and MySQL
PHP and MySQLPHP and MySQL
PHP and MySQL
 
Advanced symfony Techniques
Advanced symfony TechniquesAdvanced symfony Techniques
Advanced symfony Techniques
 
Sorting arrays in PHP
Sorting arrays in PHPSorting arrays in PHP
Sorting arrays in PHP
 
Intermediate PHP
Intermediate PHPIntermediate PHP
Intermediate PHP
 
Data Types In PHP
Data Types In PHPData Types In PHP
Data Types In PHP
 
Looping the Loop with SPL Iterators
Looping the Loop with SPL IteratorsLooping the Loop with SPL Iterators
Looping the Loop with SPL Iterators
 
Top 10 php classic traps confoo
Top 10 php classic traps confooTop 10 php classic traps confoo
Top 10 php classic traps confoo
 
The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010The state of Symfony2 - SymfonyDay 2010
The state of Symfony2 - SymfonyDay 2010
 
PHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くためにPHPUnit でよりよくテストを書くために
PHPUnit でよりよくテストを書くために
 
PHP PPT FILE
PHP PPT FILEPHP PPT FILE
PHP PPT FILE
 
Perl 6 by example
Perl 6 by examplePerl 6 by example
Perl 6 by example
 
Lithium Best
Lithium Best Lithium Best
Lithium Best
 

Ähnlich wie [PL] Jak nie zostać "programistą" PHP?

Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHPBradley Holt
 
Introduction to PHP Lecture 1
Introduction to PHP Lecture 1Introduction to PHP Lecture 1
Introduction to PHP Lecture 1Ajay Khatri
 
PHP Tips for certification - OdW13
PHP Tips for certification - OdW13PHP Tips for certification - OdW13
PHP Tips for certification - OdW13julien pauli
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applicationselliando dias
 
Generating Power with Yield
Generating Power with YieldGenerating Power with Yield
Generating Power with YieldJason Myers
 
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboardsDenis Ristic
 
Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)Kang-min Liu
 
GettingStartedWithPHP
GettingStartedWithPHPGettingStartedWithPHP
GettingStartedWithPHPNat Weerawan
 
PHP Functions & Arrays
PHP Functions & ArraysPHP Functions & Arrays
PHP Functions & ArraysHenry Osborne
 
C A S Sample Php
C A S Sample PhpC A S Sample Php
C A S Sample PhpJH Lee
 
Node.js for PHP developers
Node.js for PHP developersNode.js for PHP developers
Node.js for PHP developersAndrew Eddie
 

Ähnlich wie [PL] Jak nie zostać "programistą" PHP? (20)

Introduction to PHP
Introduction to PHPIntroduction to PHP
Introduction to PHP
 
PHP 5.4
PHP 5.4PHP 5.4
PHP 5.4
 
Web 8 | Introduction to PHP
Web 8 | Introduction to PHPWeb 8 | Introduction to PHP
Web 8 | Introduction to PHP
 
Introduction to PHP Lecture 1
Introduction to PHP Lecture 1Introduction to PHP Lecture 1
Introduction to PHP Lecture 1
 
PHP Tips for certification - OdW13
PHP Tips for certification - OdW13PHP Tips for certification - OdW13
PHP Tips for certification - OdW13
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
PHP and Rich Internet Applications
PHP and Rich Internet ApplicationsPHP and Rich Internet Applications
PHP and Rich Internet Applications
 
PHP Basics
PHP BasicsPHP Basics
PHP Basics
 
Generating Power with Yield
Generating Power with YieldGenerating Power with Yield
Generating Power with Yield
 
Intro to PHP
Intro to PHPIntro to PHP
Intro to PHP
 
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
 
Php Lecture Notes
Php Lecture NotesPhp Lecture Notes
Php Lecture Notes
 
Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)
 
GettingStartedWithPHP
GettingStartedWithPHPGettingStartedWithPHP
GettingStartedWithPHP
 
PHP Functions & Arrays
PHP Functions & ArraysPHP Functions & Arrays
PHP Functions & Arrays
 
C A S Sample Php
C A S Sample PhpC A S Sample Php
C A S Sample Php
 
Perl Web Client
Perl Web ClientPerl Web Client
Perl Web Client
 
Blog Hacks 2011
Blog Hacks 2011Blog Hacks 2011
Blog Hacks 2011
 
Node.js for PHP developers
Node.js for PHP developersNode.js for PHP developers
Node.js for PHP developers
 
Php hacku
Php hackuPhp hacku
Php hacku
 

Kürzlich hochgeladen

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
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
 
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
 
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
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

Kürzlich hochgeladen (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
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
 
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
 
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
 
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
 
+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...
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.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
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

[PL] Jak nie zostać "programistą" PHP?