Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
CS133 Lab Diary Adam Jones / 1802249 Home Lab 1 Lab 2 Lab 3 Lab 4 Lab 5 Lab 6 Lab 7 CS133 Lab Diary Name: Adam Jones ID: 1802249 Labs UNIX Essentials Web Standards and VCS Linux Processes and Scripting Advanced Scripting and Regular Expressions Scripting Exercise LaTeX LaTeX Exercise Review and reflections Strong points For scripting labs, I added a list of commands to allow me to quickly lookup my own definitions for commands. This helps in two ways; writing this out forces me to properly understand the command, and also later on I can refer back to this material. While of course I can always use man , my lab diary is written in my own words so I'm more likely to understand it easily. In the exercises, I've listed out the commands I used in full which provides a good set of examples on how to use those commands. I have also given examples in a lot of the command entries too. I've used links where appropriate to make it easier to understand what I'm referring to. In some cases, there are links to the actual code I wrote for the lab. I've tried to keep the webpage style clean and simple to make it easy to read and navigate. The webpages works on mobile. All the webpages pass w3c validation. I've primarily used bulleted lists to make the content short and the point. I used a lot of tags (\texttt in LaTeX) to demarquate what is code and what is normal text. This makes it easier to read. Weak points and how to address them Some of the style was inconsistent between webpages. I addressed this by pulling out all the styles into a single CSS document which they all refer to. The writing style was inconsistent between weeks (e.g. when to use inline code style, when to capitalise certain words, in which cases were full stops are at the end of bullets). I addressed this by setting rules, and then went back through and updated my lab diary. The lists of commands were broken up over several labs. I addressed this by adding the list of all commands to the homepage. There was no way to know what the different labs were without viewing them. I addressed this by having a list including their titles on the homepage. Some of the content is duplicated (e.g. commands are copied to the homepage, or the navbar). This means if updates need to be made they have to be made over multiple places. It also just adds extra work coping them over. To address this would require significant changes, and probably the use of a content management system (CMS). The exercise labs (lab 5 and lab 7) are pretty sparse, and are basically just a list of tasks that had to be done. However, I do not see a good way to address this without just padding them out with useless 'filler'. How my understanding of CS133's technical material relates to other material in the degree course CS133 gave me technical grounding in using the DCS computer systems which of course helps me when I have to use them. For example, during the CS132 (Computer Organisation and Architecture) or CS140 (Computer Security) labs or when using Joshua to test my CS118 (Programming for Computer Scientists) submission works on DCS machines. CS133's LaTeX teaching will help me write up nice looking reports. This was already useful for CS132 (Computer Organisation and Architecture) but I'm sure will be useful for my future years at university. CS133 teaches Bash scripting, which I'm sure will be useful in the future, especially if I go into a field like DevOps. I already knew RegEx, however CS133 gave me an opportunity to practice it. It's extremely useful for tonnes of things, including just doing things more efficiently outside of computer science (e.g. advanced find and replace tools). Command list cp: Copy a file. Requires two arguments, source and destination. Example: cp ~/public_html/index.html ./index.html chmod: Change permissions of a file or folder. Example: chmod -r a+rx ~/public_html mkdir: Make a directory. Example: mkdir newDirectoryName touch: Create a file. Example: mkdir newFileName.ext echo: Return a string (usually printed somwhere). Useful for returning feedback to the user via the terminal, or for piping into other programs/files. Example: echo "Shouting into the void" > /dev/null ssh: Remote login (Secure SHell). Example: ssh u1802249@joshua.dcs.warwick.ac.uk unzip: Unzip a zip file. Example: unzip Downloads/archive.zip git init: Initialise a git repo in the current folder. Example: git init git config: Change git settings. Examples: git config --global user.email "name@domain.com" git config --global user.name "domdomegg" git add: Stage changes in git. Examples: git add file.txt git add . git commit: Commit changes in git. Examples: git commit git commit -m "Fix file.txt" git commit -m "Update everything" -a ps: List the current running processes, snapshot. Example: ps top: List the current running processes, live. Example: top &: Run in background. Example: atom & grep: Get lines with a certain substring. Examples: grep substring < file.txt ps | grep atom kill: Kill a process by process ID. Example: kill 28245 pkill: Kill a process by process name. Example: pkill atom xkill: Kill a process by clicking its window. Example: xkill chmod: Change permissions. Example: chmod +x myscript.sh javac: Compile .java to .class. Example: javac Loop.java java: Run java .class program. Example: java Loop sleep: Wait for a given period of time (default units are seconds). Example: sleep 10 sleep 5m echo: Output a string. Example: echo "Hello world!" expr: Evaluate a mathematical expression. NB: Need to escape * in bash as otherwise it will match all the files in a directory. Example: expr 4 + 5 expr 4 \* 5 - 2 head: List the first 10 lines of a file. Example: ps -aux | head sed: Stream editor, for performing edits on streams e.g. substitution. Examples: sed 's/.* \(.*$\)/Incorrect permissions: \1/' wc: Count words/lines. Examples: wc -l