Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Frontend Nanodegree Mobile Portfolio | 328 | a year ago | 41 | JavaScript | ||||||
Dev Portfolio Blog | 75 | 4 months ago | 10 | November 19, 2021 | 8 | mit | HTML | |||
Minimal theme for blog and portfolio | ||||||||||
Udportfolio | 59 | 7 years ago | 7 | JavaScript | ||||||
Roshankrsoni.github.io | 24 | 8 months ago | 1 | cc0-1.0 | HTML | |||||
ONLINE PORTFOLIO FOR DEVELOPERS | ||||||||||
Diogodmoreira.com | 5 | 3 days ago | mit | TypeScript | ||||||
Source files for my personal website 💻 | ||||||||||
Front End Optimization | 3 | 7 years ago | JavaScript | |||||||
This repository is for udacity's front end optimization project. | ||||||||||
Frontend Nanodegree Mobile Portfolio | 2 | 6 years ago | n,ull | JavaScript | ||||||
http://linesh.tw/frontend-nanodegree-mobile-portfolio/dist/index.html PageSpeed 测速: | ||||||||||
Website Optimization | 2 | 9 years ago | JavaScript | |||||||
Optimized a provided website to achieve 60FPS and achieve grades of 90 and above on Google PageSpeed Insights | ||||||||||
Portfolio | 2 | a month ago | 15 | HTML | ||||||
Dan Buda's Web Development Portfolio |
Your challenge, if you wish to accept it (and we sure hope you will), is to optimize this online portfolio for speed! In particular, optimize the critical rendering path and make this page render as quickly as possible by applying the techniques you've picked up in the Critical Rendering Path course.
To get started, check out the repository, inspect the code,
Some useful tips to help you get started:
$> cd /path/to/your-project-folder
$> python -m SimpleHTTPServer 8080
$> cd /path/to/your-project-folder
$> ngrok 8080
Profile, optimize, measure... and then lather, rinse, and repeat. Good luck!
The portfolio was built on Twitter's Bootstrap framework. All custom styles are in dist/css/portfolio.css
in the portfolio repo.
Feeling uninspired by the portfolio? Here's a list of cool portfolios I found after a few minutes of Googling.
Minifying
i. You will see that there is the build, dist, node_modules. ii. These all were created from the gulpifying process.
Main.Js 2. I removed the 200 small pizzas being looped through to a far smaller number - 30. There is no reason to loop through 200 times when the user never views anything more than 17-25 pizzas at any given time.
I changed every querySelector() to getElementById(), getElementsByTagName() or some variation of getElement..(). This is because it is a far faster method, and it surpasses querySelector() on almost every browser.
I cached: a. var randomPizzaC = document.getElementsByClassName("randomPizzaContainer"),length; in the changePizzaSizes function. b. var pizzasDiv = document.getElementById("randomPizzas"); in the changePizzaSizes function. c. movingPizzas1 = document.getElementById("movingPizzas1"); in the updatePositions()
The optimized folder is GulpFiles. Run that project and you will see all the optimizations...I hope! Hopefully it is all good.
Looked through the Piazza forums and saw this by Dallas Frank:
The largest impact you can have will be by looking at the javascript to see what unnecessarily work is being done. This is especially true for anything that is done every time in a loop even though it doesn't need to be redone every time. Cache objects as variable names before the loop and use them repeatedly instead of finding them every loop or recalculating numbers that won't be changing every loop. For example. you don't need to check the length of an array a thousand times if it is never changed after the page loads.
I believe you can get it within goal by doing nothing but working on the loops but you can get it quite a bit faster than the goal that if you feel inclined to. Just keep in mind the fps is not as measured by chrome's fps thing. It is measured by the console output they spit out based on the measurements in the project files.
If you want to go the extra mile, you will need to also reduce image sizes and try to check which methods are faster but do the exact same thing. For example, using getElementById() is faster than querySelector(). jsPerf is a good place to look for various speed methods for comparison (here is a relevant example).