Files
lab_server/notes.md
mdecker62 8026902872 1
2026-02-16 09:43:29 -05:00

38 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Project Server Notes
## Checkpoint 1
1. Lots of software today connects to remote servers, and can't work offline.
What are some advantages of using a program or an app which uses a remote
server? What are some advantages of using a program or an app which is
completely local?
Programs that use remote servers have some simple advantages. You can open your work from almost any device as long as you have internet, and the app updates itself without you having to do anything. Its also easier to work with other people at the same time, and your files are usually saved online in case your device breaks. On the other hand, programs that are fully on your computer have their own strengths. They work even when theres no internet, often feel quicker, and keep your files directly on your device. They also arent affected if a companys system goes down and usually dont require monthly payments. Overall, online apps focus on convenience and sharing, while local programs focus on reliability and independence.
2. You just ran a server on your own computer, and connected to it as a client
on the same computer. In what other situations might it be useful to run a
server on your computer, where you're the only client, on the same computer?
Running a server on your own computer, even if youre the only one using it, can still be really useful. For example, if youre building a website or an app, you might run it on your computer first to see how it works before putting it online. It also lets you practice how programs connect and share information without needing internet access. Some games and programs are built in a way where they act like theres a server and a client, even if both are on the same device. This setup can also keep things more private since everything stays on your computer. Overall, its a helpful way to test, experiment, and learn without depending on outside systems.
## Checkpoint 2
3. Choose a program (Steam), web app (Google Docs), or app (Weather) that you use
frequently. You can't observe the calls this program is making to its server
(unless you have fancy tools), but you can infer some of the calls based on the
program's behavior. Describe a few routes which you think may exist for your
chosen program's backend server.
Ill choose Steam since I use it a lot. Even though we cant see what its sending to its servers, we can guess based on what it does. When you log in, Steam probably sends a message to check your username and password. When you open your library, it likely asks the server for a list of all the games you own. If you click on the store, it probably requests information about featured games or details about a specific game youre looking at. When you download or update a game, Steam must be asking the server to send the game files to your computer. It also likely checks the server to see which of your friends are online. Even though all of this happens in the background, the way Steam updates and loads information shows that its constantly talking to its server to make everything work.
4. In your own words, what is an exception? When might it be useful to handle an
exception? When is it better not to handle an exception, and instead let the
program crash?
An exception is when something unexpected goes wrong while a program is running. Its like the program hitting a problem it didnt plan for, such as getting the wrong kind of input or not being able to find something it needs.Its helpful to handle an exception when the problem is small and the program can recover. For example, if someone types the wrong thing, the program can show a message and let them try again instead of shutting down. This makes the program feel smoother and easier to use.But sometimes its better to let the program crash. If something is seriously wrong, letting it stop can make the issue clear instead of hiding it. That way, the problem can be fixed properly instead of causing bigger issues later.