diff options
Diffstat (limited to 'iadocs/critc_development.tex')
-rw-r--r-- | iadocs/critc_development.tex | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/iadocs/critc_development.tex b/iadocs/critc_development.tex index e69de29..eaa9e4c 100644 --- a/iadocs/critc_development.tex +++ b/iadocs/critc_development.tex @@ -0,0 +1,84 @@ +\input{header.inc} + +\title{Criterion C: Development} + +\begin{document} +\maketitle + +% Remember to demonstrate algorithmic thinking. + +\section{Structure and justification} + +\section{Algorithmic thinking} + +\section{Development techniques} + +\section{Existing tools} + +The following tools, libraries, and other materials were used in the +development of this product. + +\begin{itemize} + \item The \href{https://go.dev}{Go programming language}'s + \href{https://go.dev/ref/spec}{specification} was referred to, + especially for documentation on how channel operations work; + its GC toolchain (the most widely-used reference + implementation) is used as the compiler during development and + production; its standard library is used extensively in the + program. + + \item \href{https://gobyexample.com}{Go by Example} was referred to for + documentation on command-line flags and contexts. + + \item \href{https://developer.mozilla.org/en-US/}{MDN Web Docs} was + used as my primary source of JavaScript documentation. + + \item \href{https://godocs.io}{A hosted fork of gddo} was used as my + primary source of Go documentation, along with using the + \texttt{go doc} command as part of the GC toolchain. + + \item \href{https://git.sr.ht/~emersion/go-scfg}{scfg} + written by \href{https://emersion.fr}{Simon Ser} is used to + parse configuration files. + + \item \href{https://github.com/MicahParks/keyfunc}{keyfunc} + written by \href{https://micahparks.com/}{Micah Parks} is used + to update the JSON Web Key Set to validate JSON Web Tokens for + user authentication. + + \item \href{https://github.com/coder/websocket}{websocket} maintained + by \href{https://coder.com/}{coder} is used for bi-directional + communication. + + \item A minimal variant of the + \href{https://www.rfc-editor.org/rfc/rfc1459#section-2.3}{RFC1459 + IRC message format} is used as the message format in + client-server communication. + + \item \href{https://github.com/golang-jwt/jwt}{golang-jwt} is used to + parse and validate JSON Web Tokens for user authentication. + + \item \href{https://github.com/google/uuid}{uuid} by Google is used to + generate + \href{https://www.rfc-editor.org/rfc/rfc9562.html}{UUIDs} + during testing. + + \item \href{https://github.com/jackc/pgx}{pgx} by + \href{https://jackchristensen.com/}{Jack Christensen} is used + to establish a connection with the PostgreSQL database backend. + + \item \href{https://www.postgresql.org/}{PostgreSQL} is used as a + database backend. + + \item \href{https://golangci-lint.run/}{golangci-lint} is used as a + linter to detect programming errors. + + \item \href{https://neovim.io/}{neovim} is used as a text editor; its + LSP client was used to connect to + \href{https://pkg.go.dev/golang.org/x/tools/gopls}{gopls} for + error detection and documentation provision while editing code. + +\end{itemize} + + +\end{document} |