Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Some Modern Tools for Developers
Search
landish
April 16, 2015
Programming
150
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
200
Markdown
landish
0
180
Introduction to Ionic Framework
landish
0
140
PHPUnit
landish
0
120
Introduction to GIT
landish
0
83
Other Decks in Programming
See All in Programming
新卒PdEのリアル
ryu1013
1
360
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
210
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
170
20260828_品質と開発生産性を両立させる、AI時代のE2Eテストの考え方
magicpod
0
140
Laravelのアプリケーションをどこにデプロイするか #ツナギメオフライン.9
akase244
0
110
Flow は今どうなっているか
mizdra
PRO
0
900
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
420
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
100
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
810
リアルな遅延を測る仕様
kota_yata
1
140
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
高専、大学編入、そして未踏へ〜プロダクト開発とキャリアの歩み - Technical College, University Transfer, and On to “Mitou” / My Journey in Product Development and Career
pkmiya
0
130
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
530
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
720
So, you think you're a good person
axbom
PRO
2
2.1k
Building Applications with DynamoDB
mza
96
7.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
320
New Earth Scene 8
popppiees
3
2.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
810
Making Projects Easy
brettharned
120
6.7k
RailsConf 2023
tenderlove
30
1.5k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
230
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