SlideShare a Scribd company logo
HOW I LEARN
JAVASCRIPT FROM
BASIC
SHARE JAVASCRIPT LEARNING EXPERIENCE
BY IRFAN MAULANA
copyright © 2016 irfan maulana for jakartajs
About me
• Name : Irfan Maulana
• Work at Blibli.com as Software Development
Engineer
• Has been code Javascript for at least 3 years
copyright © 2016 irfan maulana for jakartajs
Intro
• Are you developer before ?
• Are you new with Javascript ?
• Are you developer that want learn Javascript ?
copyright © 2016 irfan maulana for jakartajs
Getting know JS
JavaScript is a high-level, dynamic, untyped,
and interpreted programming language.
(https://en.wikipedia.org/wiki/JavaScript)
copyright © 2016 irfan maulana for jakartajs
JS popularity
Source : http://stackoverflow.com
copyright © 2016 irfan maulana for jakartajs
Reason to love JS
• Its Free and (NO) need engine
• Simple and Easy to learn
• Lightweight and Fast to code
• Front & Back side coverage
• Third party library
• Growth community and docs
copyright © 2016 irfan maulana for jakartajs
My stairway to JS
• I am Java Developer
• Spent all time in Java environment
• Project idle - helping frontend with JS
Framework
• Learning in hard way for getting know
JS
• At least 2 years until very familiar with
JS
• Quit job, and get new job by JS
experience
copyright © 2016 irfan maulana for jakartajs
Why I learn JS ?
• Job responsibility, push me hard
learn
• I wanna be a “rockstar” when
doing my job
• JS is more young than Java
• I see big opportunity in JS
• Java developer with JS ability is
better
copyright © 2016 irfan maulana for jakartajs
How I learn JS from Java ?
• It’s more easy If you have write some
code before
• I don’t think about variable types for first
• I don’t need to create protected, private
or public
• I start with define all my function globally
• I don’t need to think object oriented for
first
• Same with Java, just different syntax
(learn syntax)
• Learn back with javascript OOP
copyright © 2016 irfan maulana for jakartajs
JS Nightmare
• There is no a good standard
for code convention in JS.
• It’s hard to read JS structure.
• Too much free role, like
same initialization, unsafe
type, free passing.
• Some browser support
limitation
copyright © 2016 irfan maulana for jakartajs
My some little error
• Have no consistency in naming
file, structure, function,
variable
• Using == instead ===
• Not initialize variable with its
type
• Do logic without checking its
undefined or null
• Create global anonymous
function in un-relevant file
• Create un-reusable function
with almost same function
• Have not debug it
copyright © 2016 irfan maulana for jakartajs
“Whatever your programming
language,
Good algorithms are always better
than super computers”
copyright © 2016 irfan maulana for jakartajs
Here some of our problem in learning new
programming language…
copyright © 2016 irfan maulana for jakartajs
#1 Not enough time
We don’t give time (and
sometimes the
motivation) to learn.
Good motivation will
lead you to spent more
time in learning.
copyright © 2016 irfan maulana for jakartajs
#2 Give up
We always give up too
soon, without wanna
know if we can do it with
some little hard work in
the beginning.
All great people in your
environment is start with
hard work and hard
learning to be like now.
copyright © 2016 irfan maulana for jakartajs
#3 Forgetting
We forget too quickly
about what we learn.
Repetitive learn if you
feel weak in
remembering anything.
copyright © 2016 irfan maulana for jakartajs
#4 Same Mistake
Do some mistakes
in leaning are
normal,
but when make
same repetitive
mistake, this is a
serious problem.
copyright © 2016 irfan maulana for jakartajs
#5 Lazy to refer
We are too lazy to
refer what we learn
into primary
sources that will
make us having
more good insight
copyright © 2016 irfan maulana for jakartajs
#6 Don’t Practice
We sometime like to read
about technical concept,
tutorial or sample of
others work.
But thinking that we can
understand anything
without doing, practice,
or make some sample is a
wrong way.
copyright © 2016 irfan maulana for jakartajs
My Cheat Sheet
• Read code regularly with rhythm
• Run through it everyday
• When found a problem, try to
solved it, loop trial and error
• Google it, see stackoverflow, ask
your close friend or mentor
• Put in note when you found a
diamond
• Focus in one problem at the time
• Share with other
• Never stop learning
• Don’t practice to hard
copyright © 2016 irfan maulana for jakartajs
You Must Try in JS
• Learn Javascript basic (datatype,
function, loop, flow, etc)
• Get online courses
• Create your own code and learn to
debug
• Build something!
• Learning some library or framework
• Fix your knowledge for best practice
and high performance code
• Power up your skill
copyright © 2016 irfan maulana for jakartajs
Here some of my weapons…
copyright © 2016 irfan maulana for jakartajs
Learn basic concept,
syntax, and best practice
• Javascript For Cats :
- learn a very basic of javascript code for fresh
programmer
• You Don’t Know JS
- learn concept, syntax and best practice of
javascript
• JS Style Guide
- Javascript code convention
- standard to a good code
copyright © 2016 irfan maulana for jakartajs
Javascript for Cats
copyright © 2016 irfan maulana for jakartajs
You Don’t Know JS
copyright © 2016 irfan maulana for jakartajs
JS Style Guide
copyright © 2016 irfan maulana for jakartajs
Stackoverflow
• Forum Q&A for getting know problem solving from
other people that face the same problem.
• If you not found anything, you can make some
question.
• Usually You will get the answer in days.
copyright © 2016 irfan maulana for jakartajs
Stackoverflow
copyright © 2016 irfan maulana for jakartajs
Facebook Group
• You can free to ask in public forum about some
problem here even in bahasa.
• Fact, there are many a good developer that will
help you if your question is relevant.
• Don’t ever post un-relevant question here.
• You can found the answer just in minute.
copyright © 2016 irfan maulana for jakartajs
Facebook Group
copyright © 2016 irfan maulana for jakartajs
Toolkit
• Sublime or Jetbrain WebStorm (Javascript IDE)
• Firebug or Chrome Developer Console
• Angular Inspector, Sencha App Inspector
• JSON and XML formatter
• Postman
• Mobile and Tablet simulator
• Github
• Google Keep
copyright © 2016 irfan maulana for jakartajs
“It’s never been easy to learn something
new, but there are no hard things to do
when you think you can do then you do
with your best”
copyright © 2016 irfan maulana for jakartajs
If I can, You can
copyright © 2016 irfan maulana for jakartajs
Q & A
• Feel free to ask
copyright © 2016 irfan maulana for jakartajs
Source Article
• https://sivers.org/learn-js
• http://blog.learntoprogram.tv/five-resons-javascript-important-
programming-language-learn/
• http://www.jackkinsella.ie/2011/12/05/janki-method.html
• http://stackoverflow.com/research/developer-survey-2015#tech-super
• https://github.com/getify/You-Dont-Know-JS
• http://jsforcats.com/
• https://github.com/feross/standard/
copyright © 2016 irfan maulana for jakartajs
Contact Me
• Email : mazipanneh@gmail.com
• Github : /mazipan
• Linkedin : /in/irfanmaulanamazipan
• Facebook : /mazipanneh
• Twitter : @Maz_Ipan
copyright © 2016 irfan maulana for jakartajs
THANK YOU
copyright © 2016 irfan maulana for jakartajs

More Related Content

What's hot

Child Themes and CSS in WordPress
Child Themes and CSS in WordPressChild Themes and CSS in WordPress
Child Themes and CSS in WordPressMatthew Vaccaro
 
WP 101 - Local Development - Themes and Plugins
WP 101 - Local Development - Themes and PluginsWP 101 - Local Development - Themes and Plugins
WP 101 - Local Development - Themes and PluginsJoe Querin
 
Word press workshop powerpoint
Word press workshop   powerpointWord press workshop   powerpoint
Word press workshop powerpointerezwe
 
WP 101 - WordPress Basics
WP 101 - WordPress BasicsWP 101 - WordPress Basics
WP 101 - WordPress BasicsJoe Querin
 
11 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014WordPressBrisbane
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Pluginssuperann
 
A SUSTAINABLE WEB FRONTEND
A SUSTAINABLE WEB FRONTENDA SUSTAINABLE WEB FRONTEND
A SUSTAINABLE WEB FRONTENDSogoOhta
 
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
 
WordPress Theme Basics
WordPress Theme BasicsWordPress Theme Basics
WordPress Theme BasicsJen Jamar
 
Tech Stack Ideas
Tech Stack IdeasTech Stack Ideas
Tech Stack Ideasnsclark
 
Use Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comUse Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comOlivier Karfis
 
11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks11 Live Node.js CMS Frameworks
11 Live Node.js CMS FrameworksiScripts
 
WP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post TypesWP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post TypesJoe Querin
 
Understanding Content Management Services
Understanding Content Management ServicesUnderstanding Content Management Services
Understanding Content Management Services360ideas
 
WP101 - Themes and Plugins
WP101 - Themes and PluginsWP101 - Themes and Plugins
WP101 - Themes and PluginsJoe Querin
 

What's hot (20)

Child Themes and CSS in WordPress
Child Themes and CSS in WordPressChild Themes and CSS in WordPress
Child Themes and CSS in WordPress
 
WP 101 - Local Development - Themes and Plugins
WP 101 - Local Development - Themes and PluginsWP 101 - Local Development - Themes and Plugins
WP 101 - Local Development - Themes and Plugins
 
Introduction to Web development
Introduction to Web developmentIntroduction to Web development
Introduction to Web development
 
Word press workshop powerpoint
Word press workshop   powerpointWord press workshop   powerpoint
Word press workshop powerpoint
 
WP 101 - WordPress Basics
WP 101 - WordPress BasicsWP 101 - WordPress Basics
WP 101 - WordPress Basics
 
11 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 201411 Amazing things I Learnt At Word Camp Sydney 2014
11 Amazing things I Learnt At Word Camp Sydney 2014
 
LESS is MOAR
LESS is MOARLESS is MOAR
LESS is MOAR
 
WordPress Themes and Plugins
WordPress Themes and PluginsWordPress Themes and Plugins
WordPress Themes and Plugins
 
A SUSTAINABLE WEB FRONTEND
A SUSTAINABLE WEB FRONTENDA SUSTAINABLE WEB FRONTEND
A SUSTAINABLE WEB FRONTEND
 
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014
 
WordPress Theme Basics
WordPress Theme BasicsWordPress Theme Basics
WordPress Theme Basics
 
Tech Stack Ideas
Tech Stack IdeasTech Stack Ideas
Tech Stack Ideas
 
Jump to Joomla - Barcamp Nashville 2010
Jump to Joomla - Barcamp Nashville 2010Jump to Joomla - Barcamp Nashville 2010
Jump to Joomla - Barcamp Nashville 2010
 
Use Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.comUse Case: integrating a complex e-commerce site - Frenchtoday.com
Use Case: integrating a complex e-commerce site - Frenchtoday.com
 
Top reasons to design your website in word press | thoughtfulminds
Top reasons to design your website in word press | thoughtfulmindsTop reasons to design your website in word press | thoughtfulminds
Top reasons to design your website in word press | thoughtfulminds
 
HTML/CSS for WordPress
HTML/CSS for WordPressHTML/CSS for WordPress
HTML/CSS for WordPress
 
11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks11 Live Node.js CMS Frameworks
11 Live Node.js CMS Frameworks
 
WP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post TypesWP 101 - Custom Fields & Post Types
WP 101 - Custom Fields & Post Types
 
Understanding Content Management Services
Understanding Content Management ServicesUnderstanding Content Management Services
Understanding Content Management Services
 
WP101 - Themes and Plugins
WP101 - Themes and PluginsWP101 - Themes and Plugins
WP101 - Themes and Plugins
 

Viewers also liked

Journey To The Front End World - Part1 - The Skeleton
Journey To The Front End World - Part1 - The SkeletonJourney To The Front End World - Part1 - The Skeleton
Journey To The Front End World - Part1 - The SkeletonIrfan Maulana
 
Bliblidotcom - Reintroduction BEM CSS
Bliblidotcom - Reintroduction BEM CSSBliblidotcom - Reintroduction BEM CSS
Bliblidotcom - Reintroduction BEM CSSIrfan Maulana
 
Journey To The Front End World - Part2 - The Cosmetic
Journey To The Front End World - Part2 - The  CosmeticJourney To The Front End World - Part2 - The  Cosmetic
Journey To The Front End World - Part2 - The CosmeticIrfan Maulana
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentIrfan Maulana
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An IntroductionManvendra Singh
 
Bliblidotcom - SASS Introduction
Bliblidotcom - SASS IntroductionBliblidotcom - SASS Introduction
Bliblidotcom - SASS IntroductionIrfan Maulana
 
Six reasons to learn JavaScript
Six reasons to learn JavaScriptSix reasons to learn JavaScript
Six reasons to learn JavaScriptOtto Kekäläinen
 
Basic Javascript
Basic JavascriptBasic Javascript
Basic JavascriptBunlong Van
 
Javascript basic course
Javascript basic courseJavascript basic course
Javascript basic courseTran Khoa
 
Lesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comLesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comifnu bima
 
超基本網站分析,數據會說話(網路版)
超基本網站分析,數據會說話(網路版)超基本網站分析,數據會說話(網路版)
超基本網站分析,數據會說話(網路版)Wanju Wang
 
Defining classes-and-objects-1.0
Defining classes-and-objects-1.0Defining classes-and-objects-1.0
Defining classes-and-objects-1.0BG Java EE Course
 
Leveraging Social Media Tools
Leveraging Social Media ToolsLeveraging Social Media Tools
Leveraging Social Media ToolsSage Island
 
Digitalisaatio ja valtioneuvosto
Digitalisaatio ja valtioneuvostoDigitalisaatio ja valtioneuvosto
Digitalisaatio ja valtioneuvostoJyrki Kasvi
 
حملة عمر بلدك
حملة عمر بلدكحملة عمر بلدك
حملة عمر بلدكAlaa Wahba
 
日本語テスト 空白あり
日本語テスト 空白あり日本語テスト 空白あり
日本語テスト 空白ありjt_test
 

Viewers also liked (20)

Journey To The Front End World - Part1 - The Skeleton
Journey To The Front End World - Part1 - The SkeletonJourney To The Front End World - Part1 - The Skeleton
Journey To The Front End World - Part1 - The Skeleton
 
Bliblidotcom - Reintroduction BEM CSS
Bliblidotcom - Reintroduction BEM CSSBliblidotcom - Reintroduction BEM CSS
Bliblidotcom - Reintroduction BEM CSS
 
Journey To The Front End World - Part2 - The Cosmetic
Journey To The Front End World - Part2 - The  CosmeticJourney To The Front End World - Part2 - The  Cosmetic
Journey To The Front End World - Part2 - The Cosmetic
 
PHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web DevelopmentPHP Indonesia - Nodejs Web Development
PHP Indonesia - Nodejs Web Development
 
JavaScript - An Introduction
JavaScript - An IntroductionJavaScript - An Introduction
JavaScript - An Introduction
 
Bliblidotcom - SASS Introduction
Bliblidotcom - SASS IntroductionBliblidotcom - SASS Introduction
Bliblidotcom - SASS Introduction
 
Six reasons to learn JavaScript
Six reasons to learn JavaScriptSix reasons to learn JavaScript
Six reasons to learn JavaScript
 
Basic Javascript
Basic JavascriptBasic Javascript
Basic Javascript
 
Javascript basic course
Javascript basic courseJavascript basic course
Javascript basic course
 
Lesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.comLesson learned in developing UI and mobile apps blibli.com
Lesson learned in developing UI and mobile apps blibli.com
 
超基本網站分析,數據會說話(網路版)
超基本網站分析,數據會說話(網路版)超基本網站分析,數據會說話(網路版)
超基本網站分析,數據會說話(網路版)
 
Defining classes-and-objects-1.0
Defining classes-and-objects-1.0Defining classes-and-objects-1.0
Defining classes-and-objects-1.0
 
Estudiante virtual exioso
Estudiante virtual exiosoEstudiante virtual exioso
Estudiante virtual exioso
 
Leveraging Social Media Tools
Leveraging Social Media ToolsLeveraging Social Media Tools
Leveraging Social Media Tools
 
Digitalisaatio ja valtioneuvosto
Digitalisaatio ja valtioneuvostoDigitalisaatio ja valtioneuvosto
Digitalisaatio ja valtioneuvosto
 
حملة عمر بلدك
حملة عمر بلدكحملة عمر بلدك
حملة عمر بلدك
 
日本語テスト 空白あり
日本語テスト 空白あり日本語テスト 空白あり
日本語テスト 空白あり
 
Espirometría
EspirometríaEspirometría
Espirometría
 
書籍市場の現状
書籍市場の現状書籍市場の現状
書籍市場の現状
 
About the-course
About the-courseAbout the-course
About the-course
 

Similar to JakartaJS - How I Learn Javascript From Basic

Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Christian Heilmann
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyondimoneytech
 
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7Elisha Tan
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colomboSagara Gunathunga
 
Untangling - fall2017 - week 7
Untangling - fall2017 - week 7Untangling - fall2017 - week 7
Untangling - fall2017 - week 7Derek Jacoby
 
WordPress102 - WordCamp Milwaukee 2015
WordPress102 - WordCamp Milwaukee 2015WordPress102 - WordCamp Milwaukee 2015
WordPress102 - WordCamp Milwaukee 2015Shanta Nathwani
 
OpenMRS: Getting involved
OpenMRS: Getting involvedOpenMRS: Getting involved
OpenMRS: Getting involvedharshadura
 
FP adoption at REA
FP adoption at REAFP adoption at REA
FP adoption at REAkenbot
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interviewEric Brooke
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Adrian Roselli
 
How I switched to automation testing?
How I switched to automation testing?How I switched to automation testing?
How I switched to automation testing?Sudha Nadchal
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScriptNoam Kfir
 
Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015AboutYouGmbH
 
More XP-rience
More XP-rienceMore XP-rience
More XP-rienceESUG
 
WordPress 102 at WordCamp Minneapolis
WordPress 102  at WordCamp MinneapolisWordPress 102  at WordCamp Minneapolis
WordPress 102 at WordCamp MinneapolisShanta Nathwani
 
NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1Bert Jan Schrijver
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Start coding with no experience!
Start coding with no experience!Start coding with no experience!
Start coding with no experience!sprabul
 

Similar to JakartaJS - How I Learn Javascript From Basic (20)

Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Haltech WordPress102
Haltech  WordPress102Haltech  WordPress102
Haltech WordPress102
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
Java assignment help
Java assignment helpJava assignment help
Java assignment help
 
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
hey I founded a tech startup...OH SHIT I CAN'T CODE. #barcampsg7
 
Apache contribution-bar camp-colombo
Apache contribution-bar camp-colomboApache contribution-bar camp-colombo
Apache contribution-bar camp-colombo
 
Untangling - fall2017 - week 7
Untangling - fall2017 - week 7Untangling - fall2017 - week 7
Untangling - fall2017 - week 7
 
WordPress102 - WordCamp Milwaukee 2015
WordPress102 - WordCamp Milwaukee 2015WordPress102 - WordCamp Milwaukee 2015
WordPress102 - WordCamp Milwaukee 2015
 
OpenMRS: Getting involved
OpenMRS: Getting involvedOpenMRS: Getting involved
OpenMRS: Getting involved
 
FP adoption at REA
FP adoption at REAFP adoption at REA
FP adoption at REA
 
Surviving the technical interview
Surviving the technical interviewSurviving the technical interview
Surviving the technical interview
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018
 
How I switched to automation testing?
How I switched to automation testing?How I switched to automation testing?
How I switched to automation testing?
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
 
Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015Noam Kfir - There is no Java Script - code.talks 2015
Noam Kfir - There is no Java Script - code.talks 2015
 
More XP-rience
More XP-rienceMore XP-rience
More XP-rience
 
WordPress 102 at WordCamp Minneapolis
WordPress 102  at WordCamp MinneapolisWordPress 102  at WordCamp Minneapolis
WordPress 102 at WordCamp Minneapolis
 
NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1NLJUG speaker academy 2022 - session 1
NLJUG speaker academy 2022 - session 1
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Start coding with no experience!
Start coding with no experience!Start coding with no experience!
Start coding with no experience!
 

More from Irfan Maulana

Modern Web - an Introduction
Modern Web - an IntroductionModern Web - an Introduction
Modern Web - an IntroductionIrfan Maulana
 
Unit Testing for Frontend Code at Blibli.com
Unit Testing for Frontend Code at Blibli.comUnit Testing for Frontend Code at Blibli.com
Unit Testing for Frontend Code at Blibli.comIrfan Maulana
 
Programmer In Startup Era
Programmer In Startup EraProgrammer In Startup Era
Programmer In Startup EraIrfan Maulana
 
Bliblidotcom - Evolusi Frontend Development di Bliblidotcom
Bliblidotcom - Evolusi Frontend Development di BliblidotcomBliblidotcom - Evolusi Frontend Development di Bliblidotcom
Bliblidotcom - Evolusi Frontend Development di BliblidotcomIrfan Maulana
 
Bliblidotcom - Tech In Asia PDC 2017 Takeaway
Bliblidotcom - Tech In Asia PDC 2017 TakeawayBliblidotcom - Tech In Asia PDC 2017 Takeaway
Bliblidotcom - Tech In Asia PDC 2017 TakeawayIrfan Maulana
 
Bliblidotcom - AMP And PWA
Bliblidotcom - AMP And PWABliblidotcom - AMP And PWA
Bliblidotcom - AMP And PWAIrfan Maulana
 
Angular - The Return of The King
Angular - The Return of The KingAngular - The Return of The King
Angular - The Return of The KingIrfan Maulana
 
How to Become Rockstar Programmer
How to Become Rockstar ProgrammerHow to Become Rockstar Programmer
How to Become Rockstar ProgrammerIrfan Maulana
 
Bliblidotcom - AngularJS Introduction
Bliblidotcom - AngularJS IntroductionBliblidotcom - AngularJS Introduction
Bliblidotcom - AngularJS IntroductionIrfan Maulana
 
PHP Indonesia - Understanding UI UX from Developer Side
PHP Indonesia - Understanding UI UX from Developer SidePHP Indonesia - Understanding UI UX from Developer Side
PHP Indonesia - Understanding UI UX from Developer SideIrfan Maulana
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of JavascriptIrfan Maulana
 
Create Rest API in Nodejs
Create Rest API in Nodejs Create Rest API in Nodejs
Create Rest API in Nodejs Irfan Maulana
 
Irfan Maulana - Career Journey
Irfan Maulana - Career JourneyIrfan Maulana - Career Journey
Irfan Maulana - Career JourneyIrfan Maulana
 
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]Irfan Maulana
 
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...Irfan Maulana
 

More from Irfan Maulana (15)

Modern Web - an Introduction
Modern Web - an IntroductionModern Web - an Introduction
Modern Web - an Introduction
 
Unit Testing for Frontend Code at Blibli.com
Unit Testing for Frontend Code at Blibli.comUnit Testing for Frontend Code at Blibli.com
Unit Testing for Frontend Code at Blibli.com
 
Programmer In Startup Era
Programmer In Startup EraProgrammer In Startup Era
Programmer In Startup Era
 
Bliblidotcom - Evolusi Frontend Development di Bliblidotcom
Bliblidotcom - Evolusi Frontend Development di BliblidotcomBliblidotcom - Evolusi Frontend Development di Bliblidotcom
Bliblidotcom - Evolusi Frontend Development di Bliblidotcom
 
Bliblidotcom - Tech In Asia PDC 2017 Takeaway
Bliblidotcom - Tech In Asia PDC 2017 TakeawayBliblidotcom - Tech In Asia PDC 2017 Takeaway
Bliblidotcom - Tech In Asia PDC 2017 Takeaway
 
Bliblidotcom - AMP And PWA
Bliblidotcom - AMP And PWABliblidotcom - AMP And PWA
Bliblidotcom - AMP And PWA
 
Angular - The Return of The King
Angular - The Return of The KingAngular - The Return of The King
Angular - The Return of The King
 
How to Become Rockstar Programmer
How to Become Rockstar ProgrammerHow to Become Rockstar Programmer
How to Become Rockstar Programmer
 
Bliblidotcom - AngularJS Introduction
Bliblidotcom - AngularJS IntroductionBliblidotcom - AngularJS Introduction
Bliblidotcom - AngularJS Introduction
 
PHP Indonesia - Understanding UI UX from Developer Side
PHP Indonesia - Understanding UI UX from Developer SidePHP Indonesia - Understanding UI UX from Developer Side
PHP Indonesia - Understanding UI UX from Developer Side
 
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript[Blibli Brown Bag] Nodejs - The Other Side of Javascript
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
 
Create Rest API in Nodejs
Create Rest API in Nodejs Create Rest API in Nodejs
Create Rest API in Nodejs
 
Irfan Maulana - Career Journey
Irfan Maulana - Career JourneyIrfan Maulana - Career Journey
Irfan Maulana - Career Journey
 
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]
 
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...
 

Recently uploaded

Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutesconfluent
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKUXDXConf
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyUXDXConf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.Boni Yeamin
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineUXDXConf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 

Recently uploaded (20)

Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Motion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in TechnologyMotion for AI: Creating Empathy in Technology
Motion for AI: Creating Empathy in Technology
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.Enterprise Security Monitoring, And Log Management.
Enterprise Security Monitoring, And Log Management.
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at Priceline
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 

JakartaJS - How I Learn Javascript From Basic

  • 1. HOW I LEARN JAVASCRIPT FROM BASIC SHARE JAVASCRIPT LEARNING EXPERIENCE BY IRFAN MAULANA copyright © 2016 irfan maulana for jakartajs
  • 2. About me • Name : Irfan Maulana • Work at Blibli.com as Software Development Engineer • Has been code Javascript for at least 3 years copyright © 2016 irfan maulana for jakartajs
  • 3. Intro • Are you developer before ? • Are you new with Javascript ? • Are you developer that want learn Javascript ? copyright © 2016 irfan maulana for jakartajs
  • 4. Getting know JS JavaScript is a high-level, dynamic, untyped, and interpreted programming language. (https://en.wikipedia.org/wiki/JavaScript) copyright © 2016 irfan maulana for jakartajs
  • 5. JS popularity Source : http://stackoverflow.com copyright © 2016 irfan maulana for jakartajs
  • 6. Reason to love JS • Its Free and (NO) need engine • Simple and Easy to learn • Lightweight and Fast to code • Front & Back side coverage • Third party library • Growth community and docs copyright © 2016 irfan maulana for jakartajs
  • 7. My stairway to JS • I am Java Developer • Spent all time in Java environment • Project idle - helping frontend with JS Framework • Learning in hard way for getting know JS • At least 2 years until very familiar with JS • Quit job, and get new job by JS experience copyright © 2016 irfan maulana for jakartajs
  • 8. Why I learn JS ? • Job responsibility, push me hard learn • I wanna be a “rockstar” when doing my job • JS is more young than Java • I see big opportunity in JS • Java developer with JS ability is better copyright © 2016 irfan maulana for jakartajs
  • 9. How I learn JS from Java ? • It’s more easy If you have write some code before • I don’t think about variable types for first • I don’t need to create protected, private or public • I start with define all my function globally • I don’t need to think object oriented for first • Same with Java, just different syntax (learn syntax) • Learn back with javascript OOP copyright © 2016 irfan maulana for jakartajs
  • 10. JS Nightmare • There is no a good standard for code convention in JS. • It’s hard to read JS structure. • Too much free role, like same initialization, unsafe type, free passing. • Some browser support limitation copyright © 2016 irfan maulana for jakartajs
  • 11. My some little error • Have no consistency in naming file, structure, function, variable • Using == instead === • Not initialize variable with its type • Do logic without checking its undefined or null • Create global anonymous function in un-relevant file • Create un-reusable function with almost same function • Have not debug it copyright © 2016 irfan maulana for jakartajs
  • 12. “Whatever your programming language, Good algorithms are always better than super computers” copyright © 2016 irfan maulana for jakartajs
  • 13. Here some of our problem in learning new programming language… copyright © 2016 irfan maulana for jakartajs
  • 14. #1 Not enough time We don’t give time (and sometimes the motivation) to learn. Good motivation will lead you to spent more time in learning. copyright © 2016 irfan maulana for jakartajs
  • 15. #2 Give up We always give up too soon, without wanna know if we can do it with some little hard work in the beginning. All great people in your environment is start with hard work and hard learning to be like now. copyright © 2016 irfan maulana for jakartajs
  • 16. #3 Forgetting We forget too quickly about what we learn. Repetitive learn if you feel weak in remembering anything. copyright © 2016 irfan maulana for jakartajs
  • 17. #4 Same Mistake Do some mistakes in leaning are normal, but when make same repetitive mistake, this is a serious problem. copyright © 2016 irfan maulana for jakartajs
  • 18. #5 Lazy to refer We are too lazy to refer what we learn into primary sources that will make us having more good insight copyright © 2016 irfan maulana for jakartajs
  • 19. #6 Don’t Practice We sometime like to read about technical concept, tutorial or sample of others work. But thinking that we can understand anything without doing, practice, or make some sample is a wrong way. copyright © 2016 irfan maulana for jakartajs
  • 20. My Cheat Sheet • Read code regularly with rhythm • Run through it everyday • When found a problem, try to solved it, loop trial and error • Google it, see stackoverflow, ask your close friend or mentor • Put in note when you found a diamond • Focus in one problem at the time • Share with other • Never stop learning • Don’t practice to hard copyright © 2016 irfan maulana for jakartajs
  • 21. You Must Try in JS • Learn Javascript basic (datatype, function, loop, flow, etc) • Get online courses • Create your own code and learn to debug • Build something! • Learning some library or framework • Fix your knowledge for best practice and high performance code • Power up your skill copyright © 2016 irfan maulana for jakartajs
  • 22. Here some of my weapons… copyright © 2016 irfan maulana for jakartajs
  • 23. Learn basic concept, syntax, and best practice • Javascript For Cats : - learn a very basic of javascript code for fresh programmer • You Don’t Know JS - learn concept, syntax and best practice of javascript • JS Style Guide - Javascript code convention - standard to a good code copyright © 2016 irfan maulana for jakartajs
  • 24. Javascript for Cats copyright © 2016 irfan maulana for jakartajs
  • 25. You Don’t Know JS copyright © 2016 irfan maulana for jakartajs
  • 26. JS Style Guide copyright © 2016 irfan maulana for jakartajs
  • 27. Stackoverflow • Forum Q&A for getting know problem solving from other people that face the same problem. • If you not found anything, you can make some question. • Usually You will get the answer in days. copyright © 2016 irfan maulana for jakartajs
  • 28. Stackoverflow copyright © 2016 irfan maulana for jakartajs
  • 29. Facebook Group • You can free to ask in public forum about some problem here even in bahasa. • Fact, there are many a good developer that will help you if your question is relevant. • Don’t ever post un-relevant question here. • You can found the answer just in minute. copyright © 2016 irfan maulana for jakartajs
  • 30. Facebook Group copyright © 2016 irfan maulana for jakartajs
  • 31. Toolkit • Sublime or Jetbrain WebStorm (Javascript IDE) • Firebug or Chrome Developer Console • Angular Inspector, Sencha App Inspector • JSON and XML formatter • Postman • Mobile and Tablet simulator • Github • Google Keep copyright © 2016 irfan maulana for jakartajs
  • 32. “It’s never been easy to learn something new, but there are no hard things to do when you think you can do then you do with your best” copyright © 2016 irfan maulana for jakartajs
  • 33. If I can, You can copyright © 2016 irfan maulana for jakartajs
  • 34. Q & A • Feel free to ask copyright © 2016 irfan maulana for jakartajs
  • 35. Source Article • https://sivers.org/learn-js • http://blog.learntoprogram.tv/five-resons-javascript-important- programming-language-learn/ • http://www.jackkinsella.ie/2011/12/05/janki-method.html • http://stackoverflow.com/research/developer-survey-2015#tech-super • https://github.com/getify/You-Dont-Know-JS • http://jsforcats.com/ • https://github.com/feross/standard/ copyright © 2016 irfan maulana for jakartajs
  • 36. Contact Me • Email : mazipanneh@gmail.com • Github : /mazipan • Linkedin : /in/irfanmaulanamazipan • Facebook : /mazipanneh • Twitter : @Maz_Ipan copyright © 2016 irfan maulana for jakartajs
  • 37. THANK YOU copyright © 2016 irfan maulana for jakartajs