SlideShare uma empresa Scribd logo
1 de 76
Baixar para ler offline
Achievingconsistency
inlarge CSSprojects
@andr3
FullStackLX#2
Dec. 7th '2016
http://meet.andr3.net

me@andr3.net
OH HAI!
CONSISTENCY

CONSISTENCY

inlargeCSSprojects
consistent

(adj.) /kənˈsɪst(ə)nt/
acting or done in the same
way over time, especially so
as to be fair or accurate.
👀💻
code visuals
👀💻
code visuals
Maintainability

Predictability

Stability
👀💻
code visuals
Maintainability

Predictability

Stability
Usability

Branding

Personality
SharedResponsibility
👀💻
code visuals
CSSStats


http://cssstats.com

Gulp/Grunt (with PostCSS)
How can we measure?
How can we measure?How can we measure?
2016
2014Fixed layout.

Using SCSS.

Before redesign with consistency in mind.
Responsive/fixed layout (progressive redesign).

Using SCSS.

After redesign.

A lot more components, content, pages, etc.

From Fixed to Responsive (medium.com) ➡
seedrs.com
seedrs.com
cssstats.com
cssstats.com
How can we measure?How can we measure?
2016
2014
How can we measure?How can we measure?
43%
22%
31%
29%
29%
40%
57%
46%
8%
34% 55%
28%
2016
2014
How can we measure?How can we measure?
2016
2014
How?
1.TypographicScale
Robert Bringhurst
Don’tcompose
withoutascale
Robert Bringhurst
Don’tcompose
withoutascale
In the sixteenth century, a series of
common sizes developed among
European typographers, and the
series survived with little change
and few additions for 400 years. […]
Use the old familiar scale,
or use new scales of your
own devising, but limit
yourself, at first, to a
modest set of distinct and
related intervals.”



—

in The Elements of Typographic Style

by Robert Bringhurst
$type-scale-base: 1rem;
$type-scale-adjustments: (
extra-small: -0.25,
small: -0.125,
normal: 0,
medium: 0.125,
large: 0.5,
huge: 1,
extra-huge: 2,
extra-extra-huge: 3,
);
_config.scss
// Usually*:
// 12px
// 14px
// 16px
// 18px
// 24px
// 32px
// 48px
// 64px
@function type-scale($size) {
@if map-has-key($type-scale-adjustments, $size) {
$adjust: map-get($type-scale-adjustments, $size);
$actual-size: $type-scale-base + $adjust;
@return $actual-size;
} @else {
@return $type-scale-base;
}
}
_typography-mixins.scss
font-size: type-scale(extra-small);
font-size: type-scale(small);
font-size: type-scale(normal);
font-size: type-scale(medium);
…


// If you want, create a mixin for easier use: 

// @include type-scale(large);
Howtouseit:
font-size: type-scale(extra-small);
font-size: type-scale(small);
font-size: type-scale(normal);
font-size: type-scale(medium);
…


// If you want, create a mixin for easier use: 

// @include type-scale(large);
Howtouseit:
padding-top: type-scale(large);
2.Verticalspacing scale
before
after
before
after
margin
margin
before
after
margin
margin
padding
padding
$vertical-space-values: (
extra-small: 0.5,
small: 1,
medium: 1.5,
large: 2.5,
huge: 4,
extra-huge: 6
);
_config.scss
// In rems. Usually*:
// 8px
// 16px
// 24px
// 40px
// 64px
// 96px
@function vertical-space($space) {
$space-value: map-get($vertical-space-values, $space);
@return #{$space-value}rem;
}



@mixin before-padding($space) {
padding-top: vertical-space($space);
}

@mixin before-margin($space) {
margin-top: vertical-space($space);

}
_typography-mixins.scss
.example {
@include before-padding(small);
@include after-padding(small);
@include before-margin(large);
@include after-margin(large);
}



// For convenience, create mixins like: 

// @include before-and-after-padding(small);
// @include before-and-after-margin(large);
Howtouseit:
3.Container paddings(horizontal)
small screens large screens
$container-paddings: (
small: 1,
medium: 2,
large: 3
);
_config.scss
// in multiples
// of gutters
@function container-padding($size) {
$multiplier: 1;
@if map-has-key($container-paddings, $size) {
$multiplier: map-get($container-paddings, $size);
}
@return $multiplier * gutter();
}
_grid-mixins.scss
@function container-padding($size) {
$multiplier: 1;
@if map-has-key($container-paddings, $size) {
$multiplier: map-get($container-paddings, $size);
}
@return $multiplier * gutter();
}
_grid-mixins.scss
varies depending

on the context

(small/large).
@mixin container-padding($size) {
$value: container-padding($size);
padding-left: $value;
padding-right: $value;
}
_grid-mixins.scss
.example {
@include container-paddings(small);
}
Howtouseit:
.another {
padding: vertical-spacing(huge) container-paddings(small);
}
Semi-manualchecks via bookmarklet
4.Colorpaletteswithalpha
Name your colors.
$color1
$primary-color
$color-red
http://chir.ag/projects/name-that-color/#4AA6FF
http://vmi.u7.xsl.pt
http://sipapp.io/
http://vmi.ud.xsl.pt
$palette: (
"celery-green": (
x-light: #e5f1d5,
light: #cce4ac,
mid-light: #b2d683,
base: #99c95a,
mid-dark: #7fbb30,
dark: #6fa32b,
x-dark: #5c8723
),
"dodger-blue": (
x-light: #e8f4ff,
light: #d1e8ff,
_colors.scss
@function color($hue, $tone: "base") {
$color: rgba(204, 255, 0, 0.2);

@if map-has-key($palette, $hue) {
$palette-color: map-get($palette, $hue);
@if map-has-key($palette-color, $tone) {
$color: map-get($palette-color, $tone);
}
}
@return $color;
}
_colors.scss
.example {
color: color(celery-green, x-dark);
}
Howtouseit:
$alpha-palette: (
"black": #000,
"white": #fff,
"corn-yellow": #edb800,
"sky-blue": #1d8fff
);
_colors.scss
$alpha-levels: (
"0": 0,
"10": 0.1,
"20": 0.2,
"40": 0.4,
"60": 0.6,
"80": 0.8,
"100": 1
);
@function alpha-color($hue, $alpha: "100") {
$color: rgba(204, 255, 0, 0.2);
@if map-has-key($alpha-palette, $hue) {
$palette-color: map-get($alpha-palette, $hue);
@if map-has-key($alpha-levels, $alpha) {
$color: rgba($palette-color, map-get($alpha-levels, $alpha));
}
}
@return $color;
}
_colors.scss
.example {
color: alpha-color(black, 80);
}
Howtouseit:
5.Namingconvention
2016
2014
.section {
.header {
.logo a {
…
}
.image {
…
}
}
…
}
Before
.Component {
…
}
.Component-logo {
…
}
.Component-coverImage {
…
}
After
BEM
SUIT
block element modifier
.block
.block__element
.block__element--modifier
.Component
.Component-subComponent
.Component--modifier

.is-transientState

.u-tilityClasses
BEM
SUIT style… for ui… tools… you know.
block element modifier
.block
.block__element
.block__element--modifier
.Component
.Component-subComponent
.Component--modifier

.is-transientState

.u-tilityClasses
Whichisbest?
Itdepends.

But use one that lowers specificity.
This next one should go
without saying but…
6.LintyourSCSS/less/css
That’sprettymuchit,
lintit.Noexcuses.
That’sprettymuchit,
lintit.Noexcuses.
Exceptions must be

followed by a reason.
// scss-lint:disable NestingDepth
// Reason: This rule depends on the
// state of the previous item. No way
// to minimize depth here.
CONSISTENCY

inlargeCSSprojects
In conclusion...
“We shape our buildings
and afterward our
buildings shape us."

—

Winston Churchill
We become what we
behold. First we
shape our tools,
thereafter they
shape us.



—

Marshall McLuhan
"SHAPEY0’SELVES."
BeforeIgo...
THANKYOU
Achievingconsistency
inlarge CSSprojects
@andr3
FullStackLX#2
Dec. 7th '2016
http://meet.andr3.net

me@andr3.net
http://talks.andr3.net/2016/consistency.pdf
cbna
http://codepen.io/andr3pt/pen/pNVVdG
Lalezar, SuperClarendon & Fira Code

Mais conteúdo relacionado

Destaque

Apresentação Grão Torrado
Apresentação Grão TorradoApresentação Grão Torrado
Apresentação Grão TorradoMiguel Monteiro
 
Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)Pedro Moura
 
Business Model Canvas at Fim de semana de empreendedorismo AEFEUP
Business Model Canvas at Fim de semana de empreendedorismo AEFEUPBusiness Model Canvas at Fim de semana de empreendedorismo AEFEUP
Business Model Canvas at Fim de semana de empreendedorismo AEFEUPRafael Pires
 
Pt precisa saber sobre FI
Pt precisa saber sobre FIPt precisa saber sobre FI
Pt precisa saber sobre FIMário Valente
 
TEDxMatosinhos - À Bolina
TEDxMatosinhos - À BolinaTEDxMatosinhos - À Bolina
TEDxMatosinhos - À BolinaLast2ticket
 
Funding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approachFunding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approachTomé Duarte
 
Novas Regras Domínios .PT 2014 - DNS.PT
Novas Regras Domínios .PT 2014 - DNS.PTNovas Regras Domínios .PT 2014 - DNS.PT
Novas Regras Domínios .PT 2014 - DNS.PTTeotonio Leiras
 
Talk ja ye-nuno_freitas_1set2012
Talk ja ye-nuno_freitas_1set2012Talk ja ye-nuno_freitas_1set2012
Talk ja ye-nuno_freitas_1set2012Nuno Freitas
 
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)Manuel de Sousa
 
Launching tech products
Launching tech productsLaunching tech products
Launching tech productsSérgio Santos
 
EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim António Nogueira da Costa
 
LawRD(PortuguêS)
LawRD(PortuguêS)LawRD(PortuguêS)
LawRD(PortuguêS)Luís Vaz
 
Pitch Like a Boss
Pitch Like a BossPitch Like a Boss
Pitch Like a BossInês Silva
 

Destaque (19)

Beta start @ beside
Beta start @ besideBeta start @ beside
Beta start @ beside
 
Apresentação Grão Torrado
Apresentação Grão TorradoApresentação Grão Torrado
Apresentação Grão Torrado
 
Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)Delivering presentations - dicas de apresentação (not!)
Delivering presentations - dicas de apresentação (not!)
 
Business Model Canvas at Fim de semana de empreendedorismo AEFEUP
Business Model Canvas at Fim de semana de empreendedorismo AEFEUPBusiness Model Canvas at Fim de semana de empreendedorismo AEFEUP
Business Model Canvas at Fim de semana de empreendedorismo AEFEUP
 
Prosolvers CH
Prosolvers CHProsolvers CH
Prosolvers CH
 
Pt precisa saber sobre FI
Pt precisa saber sobre FIPt precisa saber sobre FI
Pt precisa saber sobre FI
 
TEDxMatosinhos - À Bolina
TEDxMatosinhos - À BolinaTEDxMatosinhos - À Bolina
TEDxMatosinhos - À Bolina
 
Funding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approachFunding ideas in a globally connected world – a social approach
Funding ideas in a globally connected world – a social approach
 
Novas Regras Domínios .PT 2014 - DNS.PT
Novas Regras Domínios .PT 2014 - DNS.PTNovas Regras Domínios .PT 2014 - DNS.PT
Novas Regras Domínios .PT 2014 - DNS.PT
 
RéSumé
RéSuméRéSumé
RéSumé
 
Talk ja ye-nuno_freitas_1set2012
Talk ja ye-nuno_freitas_1set2012Talk ja ye-nuno_freitas_1set2012
Talk ja ye-nuno_freitas_1set2012
 
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
Como produzir um artigo de referencia para a wikipedia (manuel de sousa)
 
Launching tech products
Launching tech productsLaunching tech products
Launching tech products
 
EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim EFConsulting Empresas Familiares 30 anos Cenfim
EFConsulting Empresas Familiares 30 anos Cenfim
 
Pensar Digital
Pensar DigitalPensar Digital
Pensar Digital
 
Easypay generica en
Easypay generica enEasypay generica en
Easypay generica en
 
LawRD(PortuguêS)
LawRD(PortuguêS)LawRD(PortuguêS)
LawRD(PortuguêS)
 
Pitch Like a Boss
Pitch Like a BossPitch Like a Boss
Pitch Like a Boss
 
Prompt en
Prompt enPrompt en
Prompt en
 

Semelhante a Achieving consistency in large CSS projects — FullStackLX #2

SASS is more than LESS
SASS is more than LESSSASS is more than LESS
SASS is more than LESSItai Koren
 
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}Eric Carlisle
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockMarco Pinheiro
 
Responsive with SASS and compass
Responsive with SASS and compassResponsive with SASS and compass
Responsive with SASS and compassDavid Malinowicz
 
Bridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the GuardianBridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the GuardianKaelig Deloumeau-Prigent
 
Dallas Drupal Days 2012 - Introduction to less sass-compass
Dallas Drupal Days 2012  - Introduction to less sass-compassDallas Drupal Days 2012  - Introduction to less sass-compass
Dallas Drupal Days 2012 - Introduction to less sass-compassChris Lee
 
Advanced Technology for Web Application Design
Advanced Technology for Web Application DesignAdvanced Technology for Web Application Design
Advanced Technology for Web Application DesignBryce Kerley
 
Bringing sexy back to CSS: SASS/SCSS, LESS and Compass
Bringing sexy back to CSS: SASS/SCSS, LESS and CompassBringing sexy back to CSS: SASS/SCSS, LESS and Compass
Bringing sexy back to CSS: SASS/SCSS, LESS and CompassClaudina Sarahe
 
SCSS Implementation
SCSS ImplementationSCSS Implementation
SCSS ImplementationAmey Parab
 
Hardboiled Front End Development — Found.ation
Hardboiled Front End Development — Found.ationHardboiled Front End Development — Found.ation
Hardboiled Front End Development — Found.ationSpiros Martzoukos
 
CSS Workflow. Pre & Post
CSS Workflow. Pre & PostCSS Workflow. Pre & Post
CSS Workflow. Pre & PostAnton Dosov
 
Scss talk CSS Meetup
Scss talk CSS Meetup Scss talk CSS Meetup
Scss talk CSS Meetup Caleb Yang
 
How Sass Can Simplify Responsive Design
How Sass Can Simplify Responsive DesignHow Sass Can Simplify Responsive Design
How Sass Can Simplify Responsive Designalanhogan
 
Less(CSS Pre Processor) Introduction
Less(CSS Pre Processor) IntroductionLess(CSS Pre Processor) Introduction
Less(CSS Pre Processor) Introductionrushi7567
 

Semelhante a Achieving consistency in large CSS projects — FullStackLX #2 (20)

SASS is more than LESS
SASS is more than LESSSASS is more than LESS
SASS is more than LESS
 
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
The New UI - Staying Strong with Flexbox, SASS, and {{Mustache.js}}
 
SASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, GreensockSASS, Compass, Gulp, Greensock
SASS, Compass, Gulp, Greensock
 
Houdini - What lies ahead
Houdini - What lies aheadHoudini - What lies ahead
Houdini - What lies ahead
 
Responsive with SASS and compass
Responsive with SASS and compassResponsive with SASS and compass
Responsive with SASS and compass
 
Bridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the GuardianBridging the gap between designers and developers at the Guardian
Bridging the gap between designers and developers at the Guardian
 
Dallas Drupal Days 2012 - Introduction to less sass-compass
Dallas Drupal Days 2012  - Introduction to less sass-compassDallas Drupal Days 2012  - Introduction to less sass-compass
Dallas Drupal Days 2012 - Introduction to less sass-compass
 
Advanced Technology for Web Application Design
Advanced Technology for Web Application DesignAdvanced Technology for Web Application Design
Advanced Technology for Web Application Design
 
Bringing sexy back to CSS: SASS/SCSS, LESS and Compass
Bringing sexy back to CSS: SASS/SCSS, LESS and CompassBringing sexy back to CSS: SASS/SCSS, LESS and Compass
Bringing sexy back to CSS: SASS/SCSS, LESS and Compass
 
SCSS Implementation
SCSS ImplementationSCSS Implementation
SCSS Implementation
 
Hardboiled Front End Development — Found.ation
Hardboiled Front End Development — Found.ationHardboiled Front End Development — Found.ation
Hardboiled Front End Development — Found.ation
 
CSS Workflow. Pre & Post
CSS Workflow. Pre & PostCSS Workflow. Pre & Post
CSS Workflow. Pre & Post
 
Theming and Sass
Theming and SassTheming and Sass
Theming and Sass
 
Scss talk CSS Meetup
Scss talk CSS Meetup Scss talk CSS Meetup
Scss talk CSS Meetup
 
Accelerated Stylesheets
Accelerated StylesheetsAccelerated Stylesheets
Accelerated Stylesheets
 
How Sass Can Simplify Responsive Design
How Sass Can Simplify Responsive DesignHow Sass Can Simplify Responsive Design
How Sass Can Simplify Responsive Design
 
PostCss
PostCssPostCss
PostCss
 
UNIT 3.ppt
UNIT 3.pptUNIT 3.ppt
UNIT 3.ppt
 
CSS Extenders
CSS ExtendersCSS Extenders
CSS Extenders
 
Less(CSS Pre Processor) Introduction
Less(CSS Pre Processor) IntroductionLess(CSS Pre Processor) Introduction
Less(CSS Pre Processor) Introduction
 

Mais de André Luís

Designers & Developers
Designers & DevelopersDesigners & Developers
Designers & DevelopersAndré Luís
 
Responsive Web Design: Uma História das Trincheiras (sapo.pt)
Responsive Web Design: Uma História das Trincheiras (sapo.pt)Responsive Web Design: Uma História das Trincheiras (sapo.pt)
Responsive Web Design: Uma História das Trincheiras (sapo.pt)André Luís
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTAndré Luís
 
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivasDr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivasAndré Luís
 
We're not designing posters, here!
We're not designing posters, here!We're not designing posters, here!
We're not designing posters, here!André Luís
 
Dr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licensesDr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licensesAndré Luís
 
HTML5 - A nova era da Web
HTML5 - A nova era da WebHTML5 - A nova era da Web
HTML5 - A nova era da WebAndré Luís
 
Microformatos - 2009 - Juntando as Peças do Puzzle
Microformatos - 2009 - Juntando as Peças do PuzzleMicroformatos - 2009 - Juntando as Peças do Puzzle
Microformatos - 2009 - Juntando as Peças do PuzzleAndré Luís
 
Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done RightAndré Luís
 
Microformatos - juntando as peças do puzzle
Microformatos - juntando as peças do puzzleMicroformatos - juntando as peças do puzzle
Microformatos - juntando as peças do puzzleAndré Luís
 
Microformatos - pequenas peças do puzzle
Microformatos - pequenas peças do puzzleMicroformatos - pequenas peças do puzzle
Microformatos - pequenas peças do puzzleAndré Luís
 

Mais de André Luís (11)

Designers & Developers
Designers & DevelopersDesigners & Developers
Designers & Developers
 
Responsive Web Design: Uma História das Trincheiras (sapo.pt)
Responsive Web Design: Uma História das Trincheiras (sapo.pt)Responsive Web Design: Uma História das Trincheiras (sapo.pt)
Responsive Web Design: Uma História das Trincheiras (sapo.pt)
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
 
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivasDr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
Dr. © ou como eu deixei de me preocupar e passei a adorar licenças permissivas
 
We're not designing posters, here!
We're not designing posters, here!We're not designing posters, here!
We're not designing posters, here!
 
Dr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licensesDr. © - How I learned to stop worrying and love fair-use licenses
Dr. © - How I learned to stop worrying and love fair-use licenses
 
HTML5 - A nova era da Web
HTML5 - A nova era da WebHTML5 - A nova era da Web
HTML5 - A nova era da Web
 
Microformatos - 2009 - Juntando as Peças do Puzzle
Microformatos - 2009 - Juntando as Peças do PuzzleMicroformatos - 2009 - Juntando as Peças do Puzzle
Microformatos - 2009 - Juntando as Peças do Puzzle
 
Javascript, Done Right
Javascript, Done RightJavascript, Done Right
Javascript, Done Right
 
Microformatos - juntando as peças do puzzle
Microformatos - juntando as peças do puzzleMicroformatos - juntando as peças do puzzle
Microformatos - juntando as peças do puzzle
 
Microformatos - pequenas peças do puzzle
Microformatos - pequenas peças do puzzleMicroformatos - pequenas peças do puzzle
Microformatos - pequenas peças do puzzle
 

Último

VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceDelhi Call girls
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)Damian Radcliffe
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Delhi Call girls
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...SofiyaSharma5
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirtrahman018755
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of indiaimessage0108
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 

Último (20)

VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)How is AI changing journalism? (v. April 2024)
How is AI changing journalism? (v. April 2024)
 
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
Best VIP Call Girls Noida Sector 75 Call Me: 8448380779
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔️☆9289244007✔️☆ Female E...
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SERVICE
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya ShirtChallengers I Told Ya Shirt
Challengers I Told Ya ShirtChallengers I Told Ya Shirt
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
Gram Darshan PPT cyber rural in villages of india
Gram Darshan PPT cyber rural  in villages of indiaGram Darshan PPT cyber rural  in villages of india
Gram Darshan PPT cyber rural in villages of india
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 

Achieving consistency in large CSS projects — FullStackLX #2