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

PPTX
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
PPTX
Journey To The Front End World - Part3 - The Machine
PPTX
Our Battle Against Technical Debt
PPTX
How to make WordPress your friend
PPTX
EndLess Possibilities With Wordpress
PDF
How to use WordPress
PPTX
Blibli.com Technology Team
PPT
Why Blogs Are Better
Php Indonesia x Bliblidotcom - Architecting Scalable CSS
Journey To The Front End World - Part3 - The Machine
Our Battle Against Technical Debt
How to make WordPress your friend
EndLess Possibilities With Wordpress
How to use WordPress
Blibli.com Technology Team
Why Blogs Are Better

What's hot (20)

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

Viewers also liked (20)

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

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

PDF
15 Experts on the Art of JavaScript Programming
PDF
Y U NO JS?
PDF
Java script core
PPTX
04-JS.pptx
PPTX
04-JS.pptx
PPTX
04-JS.pptx
PPTX
Unit 3-Javascript.pptx
PDF
Javascript tutorial basic for starter
PDF
Js basics
PPT
Javascript
PPTX
Introduction to react js
PPT
Java Script
PDF
Java Script
PPT
JavaScript ppt for introduction of javascripta
PPT
introduction to javascript concepts .ppt
PDF
Special Edition Using Javascript Mcfedries
PDF
Special Edition Using Javascript Mcfedries
PPT
The best way to learn java script
PPT
Presentation JavaScript Introduction Data Types Variables Control Structure
PDF
Ch3- Java Script.pdf
15 Experts on the Art of JavaScript Programming
Y U NO JS?
Java script core
04-JS.pptx
04-JS.pptx
04-JS.pptx
Unit 3-Javascript.pptx
Javascript tutorial basic for starter
Js basics
Javascript
Introduction to react js
Java Script
Java Script
JavaScript ppt for introduction of javascripta
introduction to javascript concepts .ppt
Special Edition Using Javascript Mcfedries
Special Edition Using Javascript Mcfedries
The best way to learn java script
Presentation JavaScript Introduction Data Types Variables Control Structure
Ch3- Java Script.pdf

More from Irfan Maulana (15)

PPTX
Modern Web - an Introduction
PDF
Unit Testing for Frontend Code at Blibli.com
PPTX
Programmer In Startup Era
PPTX
Bliblidotcom - Evolusi Frontend Development di Bliblidotcom
PPTX
Bliblidotcom - Tech In Asia PDC 2017 Takeaway
PPTX
Bliblidotcom - AMP And PWA
PPTX
Angular - The Return of The King
PPTX
How to Become Rockstar Programmer
PPTX
Bliblidotcom - AngularJS Introduction
PPTX
PHP Indonesia - Understanding UI UX from Developer Side
PPTX
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
PPTX
Create Rest API in Nodejs
PPTX
Irfan Maulana - Career Journey
PPTX
Sencha ExtJs Learning Part 2 - MVC And MVVM Architecture in ExtJs [ENGLISH]
PPTX
Sencha ExtJs Learning Part 1 - Layout And Container in Sencha ExtJs - By Irfa...
Modern Web - an Introduction
Unit Testing for Frontend Code at Blibli.com
Programmer In Startup Era
Bliblidotcom - Evolusi Frontend Development di Bliblidotcom
Bliblidotcom - Tech In Asia PDC 2017 Takeaway
Bliblidotcom - AMP And PWA
Angular - The Return of The King
How to Become Rockstar Programmer
Bliblidotcom - AngularJS Introduction
PHP Indonesia - Understanding UI UX from Developer Side
[Blibli Brown Bag] Nodejs - The Other Side of Javascript
Create Rest API in Nodejs
Irfan Maulana - Career Journey
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...

Recently uploaded (20)

PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
cuic standard and advanced reporting.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
KodekX | Application Modernization Development
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Review of recent advances in non-invasive hemoglobin estimation
cuic standard and advanced reporting.pdf
NewMind AI Weekly Chronicles - August'25 Week I
KodekX | Application Modernization Development
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
Building Integrated photovoltaic BIPV_UPV.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf

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