Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Some Modern Tools for Developers
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
landish
April 16, 2015
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Some Modern Tools for Developers
landish
April 16, 2015
More Decks by landish
See All by landish
Anatomy Of The Web
landish
1
210
Markdown
landish
0
190
Introduction to Ionic Framework
landish
0
150
PHPUnit
landish
0
130
Introduction to GIT
landish
0
90
Other Decks in Programming
See All in Programming
AWS CDKを理解するために公式の定義を深掘って解説してみる / Understanding AWS CDK by Digging into Its Official Definition
akihisaikeda
3
280
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
150
GraphQL の onError と Nullability のこれから
quramy
0
210
Moscow Python Meetup №112. Как поселить ИИ агентов в event driven архитектуре
moscowdjango
PRO
0
110
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
290
느린 네트워크와 저사양 디바이스 사용자를 위한 웹뷰 로딩 시간 개선기
kmkim
1
210
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
小さなアプリを作って公開するまで
onozaty
0
140
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.7k
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building an army of robots
kneath
307
47k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
310
Google's AI Overviews - The New Search
badams
0
1.7k
sira's awesome portfolio website redesign presentation
elsirapls
0
500
Large-scale JavaScript Application Architecture
addyosmani
516
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Transcript
None
Node.js & Ruby & Terminal https://nodejs.org/ http://rubyinstaller.org/ Terminal your BFF
IDE WebStorm for Front-End Development PHPStorm = Webstorm + PHP
https://jetbrains.com/
WebStorm - PHPStorm Features • Best Code Intellisense • Built-in
Terminal • REST Service Tool • GIT Support • Emmet (Zen Coding) Support • PRE-Compilers Support (SASS, Coffee) • Modern Tools Support - Gulp, Bower, etc… • ...
WebStorm - PHPStorm Features List of Full Features https://jetbrains.com/webstorm/features/ https://jetbrains.com/phpstorm/features/
Course: Be Awesome in PHPStorm
Editor Sublime Text 2/3 - https://sublimetext.com Brackets - http://brackets.io/ Atom
- https://atom.io/
Local Server [WIN] WampServer - http://wampserver.com/ [MAC] MAMP PRO -
https://mamp.info/en/
WampServer PHP Extensions / Apache Modules - Enable / Disable
WampServer h Alias Name: my-custom-app Address: http://localhost/my-custom-app Alias Name: my-custom-app-2
Address: http://localhost/my-custom-app-2 Alias Name: my-custom-app-3 Address: http://localhost/my-custom-app-3
WampServer Online / Offline Mode http://YOUR_INTERNAL_IP/
WampServer PHP Built-in Server command: php -S localhost:PORT
GIT https://bitbucket.org/ http://sourcetreeapp.com/
None
GIT - SourceTree App http://sourcetreeapp.com/
GIT - SourceTree App Registration FREE: http://sourcetreeapp. com/register/
GIT - Bitbucket - Smart Commits JRA-34 #time 1w 2d
4h 30m JRA-34 #comment corrected indent issue JRA-090 #resolve Fixed this today …. <KEY> <COMMAND> <value> https://confluence.atlassian.com/display/FISHEYE/Using+smart+commits https://confluence.atlassian. com/display/Cloud/Processing+JIRA+issues+with+commit+messages
GIT Ignore .gitignore: .idea /node_modules /vendor .sass-cache
Forget to add to .gitignore? git rm --cached . git
add . git commit
Emmet (Zen Coding) http://emmet.io/ Cheat Sheet
SASS + Compass SASS = CSS PREProcessor Compass = SASS
Framework http://sass-lang.com/ http://compass-style.org/
SASS + Compass
SASS (Requires Ruby) Install Ruby - http://rubyinstaller.org/ Install SASS -
gem install sass Install Compass - gem install compass
SASS/Compass Features • Variables • Nesting • Partials • Mixins
(Functions) • Compass Helpers • ...
SASS Formats / Syntax File Extensions: *.scss and *.sass scss
= css + advanced css sass = clean, simple, bracketless (no {})
SASS Variables app.scss app.css
SASS Nesting
SASS Mixins
SASS Partials
Compass Sprites http://compass-style.org/help/tutorials/spriting/
Compass Demos Demo: Background Gradients Demo: CSS3 Transition Demo: Font
Face Example Demo: Box-shadow ...
Configuration (config.rb) https://gist.github.com/nathansmith/1179395
Watch and Compile command: compass compile # or command: compass
watch # start a new project command: compass init # clean compiled files command: compass clean
Resources - SASS / Compass http://sass-lang.com/ http://compass-style.org/ http://www.hongkiat.com/blog/getting-started-saas/ http://thesassway.com/intermediate/spriting-with-sass-and-compass http://teamtreehouse.com/library/compass-basics
Course: http://leveluptuts.com/tutorials/sass-tutorials Course: http://leveluptuts.com/tutorials/compass-tutorials
CoffeeScript & TypeScript http://coffeescript.org/ npm install -g coffee-script http://typescriptlang.org/ npm
install -g typescript Next Version of JS
CoffeeScript Classes & Inheritance
TypeScript Classes
TypeScript Inheritance
HTML PREProcessors http://haml.info/ http://jade-lang.com/
HAML
Jade
Source Maps & Workspace
Source Maps & Workspace • https://developer.chrome.com/devtools/docs/workspaces • http://www.sitepoint.com/using-source-maps-debug-sass-chrome/ • http://code.tutsplus.com/tutorials/working-with-less-and-the-chrome-
devtools--net-36636
JSBin http://jsbin.com/
NPM & package.json https://www.npmjs.com/
NPM Modules /node_modules add that folder .gitignore .idea /node_modules ...
Gulp.JS - Javascript Task Runner http://gulpjs.com/ npm install -g gulp
Gulp Features • Set-up a Node.js Server • Concatenate Files
• Minify Files • Precompile Assets (CSS, JS, HTML) • Extendable (by Plugins) • ...
Essential Gulp Plugins gulp-sass - Compile SASS to CSS gulp-compass
- Compile Compass to CSS gulp-uglify - Minify JS Files gulp-concat - Concatenate (Merge) Multiple files into one gulp-browser-sync - Synchronize browser with project ( http://browsersync.io/ ) … laravel/elixir - Laravel specific, but All-in-one gulp plugin. ... http://gulpjs.com/plugins/
gulpfile.js var gulp = require('gulp'); var concat = require('gulp-concat'); gulp.task('scripts',
function() { return gulp.src('src/*.js') .pipe(concat('app.js')) .pipe(gulp.dest('dist/js')); }); gulp.task('watch', function() { gulp.watch('src/*.js', ['scripts']); });
Gulp Resources • Getting Started With Gulp.js • Course: Learning
Gulp • http://gulpjs.com/ • https://github.com/laravel/elixir • http://laravel.com/docs/5.0/elixir • https://laracasts.com/index/elixir
Bower & Package Management http://bower.io/ npm install -g bower
Bower - List of Packages http://bower.io/search/ command: bower search [package]
bower search jquery
Bower - Install/Update Packages install command: bower install jquery install
and save: bower install jquery --save update command: bower update jquery uninstall command: bower uninstall jquery
Bower.json command: bower init bower.json
Bower Configuration - .bowerrc /bower_components ( default ) .bowerrc {
“directory” : “packages” } http://bower.io/docs/config/
Javascript Frameworks http://emberjs.com/ http://backbonejs.org/ https://angularjs.org/ http://knockoutjs.com/ https://facebook.github.io/react/
AngularJS • 2-way data binding • Filters • Directives -
Custom HTML snippets • 3rd-party libraries • … Showcases: https://builtwith.angularjs.org/ Best Practices: https://github.com/mgechev/angularjs-style-guide https://github.com/johnpapa/angular-styleguide
AngularJS Resources • https://egghead.io/ • http://ngmodules.org/ • angular free course
• https://thinkster.io/a-better-way-to-learn-angularjs/
AngularJS Directory Structure
Javascript Helpers http://underscorejs.org/
Underscore.js
lodash.js https://lodash.com/
Kendo UI http://www.telerik.com/kendo-ui
Kendo UI - Components • Grid • Chars • Editor
• Upload • Window • Tree View • Auto Compete • Date Picker • Multi Select • Buttons • Tabs • Sorting • Filtering • …. http://demos.telerik.com/kendo-ui/
Kendo UI - Grid
Kendo UI Grid
+ =
Kendo Grid - AngularJS
Kendo Grid AngularJS
Kendo UI - Resources http://www.pluralsight.com/courses/introduction-to-kendoui http://www.pluralsight.com/courses/kendo-ui-angularjs-from-scratch
HTML5 Mobile Applications https://mbookmakers.adjarabet.com/ Built with: jQuery Mobile Access: Safari/Browser
App Store / Google Play - NO
HTML5 Mobile Applications NO jQuery Use Vanilla JS, AngularJS ...
NO GIF Animations Use CSS Animations, GSAP Modular Approach Single Page Application
HTML5 Mobile Applications Mobile App Icon Generator Sencha Touch
Composer - PHP Package Management https://getcomposer.org/ Windows Installer https://packagist.org/
Composer - composer.json
Composer - Commands composer create-project laravel/laravel . composer require author/package-name
composer require-dev author/package-name composer install composer update composer dump-autoload -o vendor/autoload.php
Laravel - PHP Framework http://laravel.com/
Laravel - Installation composer create-project laravel/laravel Laravel installer: laravel new
app_name Artisan: php artisan serve # http://localhost:8000
Laravel - Routes /app/Http/routes.php http://laravel.com/docs/5.0/routing
Laravel - Controllers /app/Http/Controllers UserController.php
Laravel - REST Resource Controllers
Laravel - Database Queries
Laravel - Eloquent ORM ORM - Object Relational Mapping db
table: users (plural, lowercase) eloquent model: User.php (singular, capitalize)
Laravel - Eloquent ORM app/User.php
Laravel - Eloquent - CRUD Create Read Update Delete
Laravel - Eloquent - CRUD
Laravel - Eloquent - Where Clause
Laravel - Eloquent - Mass Assignment
Laravel - Eloquent - JSON/Array
Laravel - Eloquent - Relationships • One To One •
One To Many • Many To Many • Has Many Through • Polymorphic Relations • Many To Many Polymorphic Relations
Relationships - One to One
Relationships - One to Many
Relationships - Many to Many
Relationships - Has Many Through
Polymorphic Relations
Many To Many Polymorphic Relations
Laravel - Eloquent - Eager Loading X
Laravel - Eloquent - Eager Loading V
Laravel - Model Events • creating • created • updating
• updated • saving • saved • deleting • deleted • restoring • restored
Laravel - Authentication
Laravel - Views
Laravel - Blade Template
Laravel - Blade Template
Laravel - Blade Template
Laravel - Localization
Laravel - Localization
Laravel - Localization
Laravel - Artisan CLI
Laravel - Artisan CLI
Laravel - Migrations database/migrations/XXXXXXXX_create_users_table.php
Laravel - Migrations
Laravel - Migrations
Laravel Database Seeding
Laravel - Resources Documentation Laravel 5 From Scratch What's New
in Laravel 5.0