- Click me
- Create an account
- Post in #general your current favorite song
What's important?
- Frontend
- HTML
- CSS
- Bulma
- Vuetify
- Bootstrap
- Sass
- BEM
- JavaScript
- ES6
- arrow functions
- destructuring
- async/await
- promises
- ES6
- Ruby on Rails
- React
- Redux
- Vue
- Vuex
- Angular
- php (Wordpress)
- Backend
- Node/Express
- Mongo
- SQL
- Postgres
- APIs (restful)
- Google maps
- Yelp
- Authentication
- Oauth
- cookies/tokens
- .NET
- Cloud
- Azure
- AWS
- DigitalOcean
- Firebase
- Heroku
- Other languages
- C++
- C#
- Java
- Assembly
- Python
- Matlab
- Lisp
- F#
- Ruby
- OCamel
- Haskell
- Soft skills
- UI/UX
- Sketch
- InVision
- XD
- Photoshop
- Illustrator
- Gimp
- Whiteboarding, storyboards (user stories)
- Agile, SCRUM vs Waterfall
- Interviewing
- Testing, TDD
- Mocha
- Jest
- JUnit
- Selenium
- Integration tests
- Unit tests
- UI/UX
- Developer tools
- Notepad++
- Brackets
- Chrome dev tools
- VS Code
- Git
- GitKraken
- Github Desktop
- Sublime
- Gitlab
- CI/CD
- Jenkins
- Vagrant
- CircleCI
- Travis
- Virtual Box
- Linux
Core
Exposure
Tangential
Pair up (but not with someone at your table!) & discuss. Some questions to consider:
- What is the importance of URLs in our current version of the web?
- Do you think they are flawed? How so?
- What are some of the pitfalls of using URLs? Benefits?
- What could we use in place of URLs?
- Consider Google's (and Chrome's) place as the gatekeepers of the web. As the article mentions, they're able to propose radical new standards and then "throw Google's weight around to motivate everyone to adopt the practice." Do you think this is a positive use of their power, or could it lead to potential abuse?
- Going off of the above question: what is the role of corporations on the web? What should their role be?
Or: How the Heck Do I Have Access to the Entirety of Human Knowledge at Near Instantaneous Speeds?
Computers connected to the web are either clients or servers (some are both).
Clients request information; servers, well, serve it up. Servers are also connected directly to the internet, whereas clients are connected via an internet service provider (ISP). That's why you have to pay Time Warner or Verizon or whichever monopoly exists in your area to access the internet.
So how exactly does data flow through the internet?
Let's compare the internet to the shipping network used to transport physical goods all across the world. In our physical example, we have trucks used to carry the goods, distribution centers, destinations where we want the goods to go, and roads for the trucks to travel on. The web has a similar set of infastructure that make up the entire system:
- Wires, WIFI, and Satellite transmissions are the roads that carry all of our data around the world.
- Assets including code files such as HTML, CSS, and JavaScript, as well as images, video, music, etc. These are the goods of our shipping network. The entire reason the internet exists is to transport these assets to anyone connected to the network.
- Servers store the assets and serve them up to any who requests them. These are the distribution centers.
- Clients are the ones who request assets. In our analogy this is your home, the end goal for all of our goods.
- TCP, otherwise known as Transmission Control Protocol, defines how applications can create channels of communication across a network and manages how a message is assembled into smaller packets. This is similar to the way containers, roads, and trucks are all standardized so that anyone coming onto the network for the first time can immediately interact with it.
- IP, otherwise known as Internet Protocol, defines how to address and route each packet to make sure it reaches the right destination. This is like the address of the buildings in our network. Every device on the network has a unique IP address.
- DNS, otherwise known as Domain Name System, is how devices translate human-readable domain names to computer-readable IP addresses. DNS is akin to the yellow pages (or Google maps) where I can look up a building's address via the company name.
- HTTP, or the HyperText Transfer Protocol, is the application protocol that defines how devices speak to each other and send/request assets. Like TCP, this standardizes a method of communication so any new device can immediately communicate with everyone on the network. In our analogy, HTTP is like the English you would use to verbally order goods.
My stack:
- Backend:
- registar and nameservers
- run
whois talentpathla.com
to see my info
- run
- Filezilla for File Transfer Protocol
- Frontend: HTML
- ssh & nano for file manipulation
Topics
- Browser security, including
- HTTPS
- SSL/TSL
- CORS
- XSS attacks
- DNS spoofing
- Web protocols, including
- HTTP
- Websockets
- FTP
- IMAP/POP3/SMTP
- SSL
- SSH
- UDP
- Web servers, including
- Apache
- Nginx
- Node
- pros/cons, usage
- Browser wars, including
- Chromium
- IE is dead??
- Opera
- Firefox
- Brave
- DNS
- associates names to corresponding address
- TTL
- cache
- DNS recursor-> root nameserver -> TLD nameserver -> authoritative nameserver (Google domains, Godaddy)
- DNS records
- HTTP (HyperText Transfer Protocol)
- TCP (Transmission Control Protocol): "defines how applications can create channels of communication across a network" and "manages how a message is assembled into smaller packets"
- IP (Internet Protocol): "defines how to address and route each packet to make sure it reaches the right destination"
- Layers
- Application layer: provides applications with standardized data exchange including: HTTP, FTP, POP3, SMTP. It's what the web browser uses
- Transport layer: maintains communications across the network (TCP), chops things up into packages
- Network layer: connects networks
- ping, ipconfig/ifconfig
- TLDs
- SSL/TLS & HTTPS (certs)
- Security
- CORS and XORS
- DNS spoofing
- Cookies/tokens
Example:
- Digital Ocean droplet
- Google domains registar
- DO DNS
- whois command
- Filezilla FTP
- ssh & nano for file manipulation