SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
INTRO TO SERVER SIDE PROGRAMMING
Lesson Three
Friday, September 13, 13
Recap - What Have We Found?
Literals
boolean - True/False
integer
float - decimal numbers
string - text
array - ordered key/value pairs
object - literal within class
Null - no value
Friday, September 13, 13
Recap Continued
Operators
Arithmetic - $newvalue = $oldvalue + 1;
Assignment - $newervalue = 10;
Comparison - $newvalue != $oldvalue;
String Operators
var_dump('foo' . 'bar');
$a = 'foo'; a .= 'bar';
var_dump($a);
Friday, September 13, 13
Order of Operations
PHP (and most languages) follows Operator
Precedence rules
These allow for unambiguous statements
Parentheses can be used to override default
Operator Precedence or to add visual clarity
$taxable_income = $wages + $earnings - $deductions;
$taxable_income = $wages + ( $earnings - $deductions );
Friday, September 13, 13
Programming Blocks
Blocks are sections of code grouped together
Blocks consist of declarations and statements
PHP organizes statements into blocks with { }
Conventions dictate indentation for readability
{$foo=$bar+$bat;echo $foo;}
{
$foo = $bar + $bat;
echo $foo;
}
Friday, September 13, 13
Coding Conventions
A set of guidelines for a specific programming
language of recommended styles, practices &
methods for each aspect of a program
Covers things like file organization, indentation,
comments, declarations, statements, white space,
naming conventions, practices & principles
This improves the readability of code and makes
software maintenance easier.
Conventions enforced by humans, not compilers
Friday, September 13, 13
Ease of Reading/Ease of Use
$UP=6;DN=19;$x=0;
while(++$x<=24){echo "hour $x: "; if($x>+$UP&&$X<+$DN);
echo "sun is up"; else echo "sun is down": echo "n"; }
define( 'SUNRISE', 6 );
define( 'SUNSET', 19 );
$hours = range( 1, 24);
foreach ( $hours as $hour ) {
// ternary operation
$up_or_down = ( (
$hour >= SUNRISE and
$hour <= SUNSET
) ? 'up' : 'down' );
echo "hour {$hour}: ",
"sun is {$up_or_down}",
"n";
}
Friday, September 13, 13
ASSIGNMENT 3.1
Good Code, Bad Code
Friday, September 13, 13
Good Code, Bad Code
Log in to Github, then into Cloud9 Using Github
Look through your forked projects for a block
(~100) lines of code that are either very hard or
very easy to read based on the coding style
Copy & paste into a file named assignment-4.1.md
Make a list with your partner of ways that the code
style could be improved in each of your examples
Save files to share with the class. Push to Github?
(https://help.github.com/articles/create-a-repo)
Friday, September 13, 13
Git and Github - Here to Help
Git is your robot friend that remembers what you
tell it to remember, and only that
This robot recognizes when things have changed
It knows how to remember, just not when
Git can tell you what changed and when, you use
comments to tell it (and yourself) why
If you ask nicely (-h or --help) the robot will help
This robot is well organized and can track
branches of changed code
Friday, September 13, 13
Basic git Commands
git branch - what branches are there & which am I on?
git status - what files have I changed or created?
git add (files) - consider this stuff for remembering
git commit (files) - I really want you to remember what I've
considered via git add
git push [remote [branch] ] - tell the robot named
"remote" (default is "origin") about my changes in
"branch" (default is "master")
git fetch [remote] - ask the robot named "remote" for changes or
branches that you don't know about yet
git merge [branch] - attempt to combine changes in "branch"
Friday, September 13, 13
ASSIGNMENT 3.2
fetch and merge
Friday, September 13, 13
Let's Merge Again
In Cloud 9:
git remote add upstream 
https://github.com/vc-dig1108-fall-2013/assignments.git
git fetch upstream
git merge upstream/master
Open the file named "homework-4.1.md"
Add your name to bottom of the file and save
Commit the file & push to your Github acct. (hint: "origin")
https://help.github.com/articles/create-a-repo
https://help.github.com/articles/fork-a-repo
Friday, September 13, 13

Mais conteúdo relacionado

Mais procurados

basic shell_programs
 basic shell_programs basic shell_programs
basic shell_programs
madhugvskr
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
Sway Wang
 
"A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!...
"A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!..."A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!...
"A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!...
akaptur
 
Mouse programming in c
Mouse programming in cMouse programming in c
Mouse programming in c
gkgaur1987
 

Mais procurados (19)

Linux shell script-1
Linux shell script-1Linux shell script-1
Linux shell script-1
 
Functuon
FunctuonFunctuon
Functuon
 
The most exciting features of PHP 7.1
The most exciting features of PHP 7.1The most exciting features of PHP 7.1
The most exciting features of PHP 7.1
 
Linux class 15 26 oct 2021
Linux class 15   26 oct 2021Linux class 15   26 oct 2021
Linux class 15 26 oct 2021
 
basic shell_programs
 basic shell_programs basic shell_programs
basic shell_programs
 
Vim Hacks
Vim HacksVim Hacks
Vim Hacks
 
Diving into HHVM Extensions (php[tek] 2016)
Diving into HHVM Extensions (php[tek] 2016)Diving into HHVM Extensions (php[tek] 2016)
Diving into HHVM Extensions (php[tek] 2016)
 
Introduction to Perl
Introduction to PerlIntroduction to Perl
Introduction to Perl
 
CODING WITH PYTHON PART 1
CODING WITH PYTHON PART 1CODING WITH PYTHON PART 1
CODING WITH PYTHON PART 1
 
"A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!...
"A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!..."A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!...
"A 1,500 line (!!) switch statement powers your Python!" - Allison Kaptur, !!...
 
Let's golang
Let's golangLet's golang
Let's golang
 
Functional perl
Functional perlFunctional perl
Functional perl
 
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPythonByterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
Byterun, a Python bytecode interpreter - Allison Kaptur at NYCPython
 
次世代PHPフレームワーク Symfony2
次世代PHPフレームワーク Symfony2次世代PHPフレームワーク Symfony2
次世代PHPフレームワーク Symfony2
 
symfony & jQuery (PUG)
symfony & jQuery (PUG)symfony & jQuery (PUG)
symfony & jQuery (PUG)
 
PHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP LimogesPHP in 2018 - Q4 - AFUP Limoges
PHP in 2018 - Q4 - AFUP Limoges
 
Formatted Console I/O Operations in C++
Formatted Console I/O Operations in C++Formatted Console I/O Operations in C++
Formatted Console I/O Operations in C++
 
Mouse programming in c
Mouse programming in cMouse programming in c
Mouse programming in c
 
Code Generation in PHP - PHPConf 2015
Code Generation in PHP - PHPConf 2015Code Generation in PHP - PHPConf 2015
Code Generation in PHP - PHPConf 2015
 

Destaque (9)

DIG1108 Lesson 5
DIG1108 Lesson 5DIG1108 Lesson 5
DIG1108 Lesson 5
 
Spanish verbs friends
Spanish verbs friendsSpanish verbs friends
Spanish verbs friends
 
DIG1108 Lesson 4
DIG1108 Lesson 4DIG1108 Lesson 4
DIG1108 Lesson 4
 
DIG1108 Lesson 6
DIG1108 Lesson 6DIG1108 Lesson 6
DIG1108 Lesson 6
 
Live virtual machine migration based on future prediction of resource require...
Live virtual machine migration based on future prediction of resource require...Live virtual machine migration based on future prediction of resource require...
Live virtual machine migration based on future prediction of resource require...
 
Dig1108C Lesson 2
Dig1108C Lesson 2Dig1108C Lesson 2
Dig1108C Lesson 2
 
DIG1108 Lesson 8
DIG1108 Lesson 8DIG1108 Lesson 8
DIG1108 Lesson 8
 
Dig1108 c lesson1
Dig1108 c lesson1Dig1108 c lesson1
Dig1108 c lesson1
 
Separata protoracionalismo
Separata protoracionalismoSeparata protoracionalismo
Separata protoracionalismo
 

Semelhante a Dig1108 Lesson 3

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
 

Semelhante a Dig1108 Lesson 3 (20)

Maintaining your own branch of Drupal core
Maintaining your own branch of Drupal coreMaintaining your own branch of Drupal core
Maintaining your own branch of Drupal core
 
Empezando con Twig
Empezando con TwigEmpezando con Twig
Empezando con Twig
 
07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards07 Introduction to PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
 
Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)Good Evils In Perl (Yapc Asia)
Good Evils In Perl (Yapc Asia)
 
The promise of asynchronous php
The promise of asynchronous phpThe promise of asynchronous php
The promise of asynchronous php
 
The promise of asynchronous php
The promise of asynchronous phpThe promise of asynchronous php
The promise of asynchronous php
 
Objects, Testing, and Responsibility
Objects, Testing, and ResponsibilityObjects, Testing, and Responsibility
Objects, Testing, and Responsibility
 
jQuery Performance Rules
jQuery Performance RulesjQuery Performance Rules
jQuery Performance Rules
 
Unittests für Dummies
Unittests für DummiesUnittests für Dummies
Unittests für Dummies
 
Smarter Interfaces with jQuery (and Drupal)
Smarter Interfaces with jQuery (and Drupal)Smarter Interfaces with jQuery (and Drupal)
Smarter Interfaces with jQuery (and Drupal)
 
Modern Perl
Modern PerlModern Perl
Modern Perl
 
Fewd week5 slides
Fewd week5 slidesFewd week5 slides
Fewd week5 slides
 
Advanced Perl Techniques
Advanced Perl TechniquesAdvanced Perl Techniques
Advanced Perl Techniques
 
Simple Ways To Be A Better Programmer (OSCON 2007)
Simple Ways To Be A Better Programmer (OSCON 2007)Simple Ways To Be A Better Programmer (OSCON 2007)
Simple Ways To Be A Better Programmer (OSCON 2007)
 
Symfony console: build awesome command line scripts with ease
Symfony console: build awesome command line scripts with easeSymfony console: build awesome command line scripts with ease
Symfony console: build awesome command line scripts with ease
 
Functional Pearls 4 (YAPC::EU::2009 remix)
Functional Pearls 4 (YAPC::EU::2009 remix)Functional Pearls 4 (YAPC::EU::2009 remix)
Functional Pearls 4 (YAPC::EU::2009 remix)
 
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
 
Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5Go OO! - Real-life Design Patterns in PHP 5
Go OO! - Real-life Design Patterns in PHP 5
 
Groovy for Java Developers
Groovy for Java DevelopersGroovy for Java Developers
Groovy for Java Developers
 
PHP: The easiest language to learn.
PHP: The easiest language to learn.PHP: The easiest language to learn.
PHP: The easiest language to learn.
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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
 
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]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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Dig1108 Lesson 3

  • 1. INTRO TO SERVER SIDE PROGRAMMING Lesson Three Friday, September 13, 13
  • 2. Recap - What Have We Found? Literals boolean - True/False integer float - decimal numbers string - text array - ordered key/value pairs object - literal within class Null - no value Friday, September 13, 13
  • 3. Recap Continued Operators Arithmetic - $newvalue = $oldvalue + 1; Assignment - $newervalue = 10; Comparison - $newvalue != $oldvalue; String Operators var_dump('foo' . 'bar'); $a = 'foo'; a .= 'bar'; var_dump($a); Friday, September 13, 13
  • 4. Order of Operations PHP (and most languages) follows Operator Precedence rules These allow for unambiguous statements Parentheses can be used to override default Operator Precedence or to add visual clarity $taxable_income = $wages + $earnings - $deductions; $taxable_income = $wages + ( $earnings - $deductions ); Friday, September 13, 13
  • 5. Programming Blocks Blocks are sections of code grouped together Blocks consist of declarations and statements PHP organizes statements into blocks with { } Conventions dictate indentation for readability {$foo=$bar+$bat;echo $foo;} { $foo = $bar + $bat; echo $foo; } Friday, September 13, 13
  • 6. Coding Conventions A set of guidelines for a specific programming language of recommended styles, practices & methods for each aspect of a program Covers things like file organization, indentation, comments, declarations, statements, white space, naming conventions, practices & principles This improves the readability of code and makes software maintenance easier. Conventions enforced by humans, not compilers Friday, September 13, 13
  • 7. Ease of Reading/Ease of Use $UP=6;DN=19;$x=0; while(++$x<=24){echo "hour $x: "; if($x>+$UP&&$X<+$DN); echo "sun is up"; else echo "sun is down": echo "n"; } define( 'SUNRISE', 6 ); define( 'SUNSET', 19 ); $hours = range( 1, 24); foreach ( $hours as $hour ) { // ternary operation $up_or_down = ( ( $hour >= SUNRISE and $hour <= SUNSET ) ? 'up' : 'down' ); echo "hour {$hour}: ", "sun is {$up_or_down}", "n"; } Friday, September 13, 13
  • 8. ASSIGNMENT 3.1 Good Code, Bad Code Friday, September 13, 13
  • 9. Good Code, Bad Code Log in to Github, then into Cloud9 Using Github Look through your forked projects for a block (~100) lines of code that are either very hard or very easy to read based on the coding style Copy & paste into a file named assignment-4.1.md Make a list with your partner of ways that the code style could be improved in each of your examples Save files to share with the class. Push to Github? (https://help.github.com/articles/create-a-repo) Friday, September 13, 13
  • 10. Git and Github - Here to Help Git is your robot friend that remembers what you tell it to remember, and only that This robot recognizes when things have changed It knows how to remember, just not when Git can tell you what changed and when, you use comments to tell it (and yourself) why If you ask nicely (-h or --help) the robot will help This robot is well organized and can track branches of changed code Friday, September 13, 13
  • 11. Basic git Commands git branch - what branches are there & which am I on? git status - what files have I changed or created? git add (files) - consider this stuff for remembering git commit (files) - I really want you to remember what I've considered via git add git push [remote [branch] ] - tell the robot named "remote" (default is "origin") about my changes in "branch" (default is "master") git fetch [remote] - ask the robot named "remote" for changes or branches that you don't know about yet git merge [branch] - attempt to combine changes in "branch" Friday, September 13, 13
  • 12. ASSIGNMENT 3.2 fetch and merge Friday, September 13, 13
  • 13. Let's Merge Again In Cloud 9: git remote add upstream https://github.com/vc-dig1108-fall-2013/assignments.git git fetch upstream git merge upstream/master Open the file named "homework-4.1.md" Add your name to bottom of the file and save Commit the file & push to your Github acct. (hint: "origin") https://help.github.com/articles/create-a-repo https://help.github.com/articles/fork-a-repo Friday, September 13, 13