This is my list of things that I need to learn. The condition for considering something learned on this list is having either a project or a writeup that can be referenced.
- notation - Extended Backus-Naur Form (EBNF)
- source code representation
- characters
- letters and digits
- lexical elements
- comments
- tokens
- semicolons
- identifiers
- keywords
- operators and punctuation
- integer literals
- floating-point literals
- imaginary literals
- rune literals
- string literals
- constants
- variables
- types
- method sets
- boolean types
- numeric types
- string types
- array types
- slice types
- struct types
- pointer types
- function types
- interface types
- map types
- channel types
- properties of types and values
- type identity
- assignability
- representability
- blocks
- declarations and scope
- label scopes
- blank identifiers
- exported identifiers
- uniqueness of identifiers
- iota
- type declarations
- short variable declarations
- function declarations
- method declarations
- expressions
- operands
- qualified indentifiers
- composite literals
- function literals
- primary expressions
- selectors
- method expressions
- method values
- index expressions
- slice expressions
- type assertions
- calls
- passing arguments to ... parameters
- operators
- arithmetic operators
- comparison operators
- logical operators
- address operators
- recieve operator
- conversions
- constant expressions
- order of evaluatoin
- statements
- terminating statements
- empty statements
- labeled statements
- expression statements
- send statements
- incDec statements
- assignments
- if statements
- switch statements
- for statements
- go statements
- select statements
- return statements
- break statements
- continue statements
- goto statements
- fallthrough statements
- defer statements
- built-in functions
- close
- length and capacity
- allocation
- making slices, maps and channels
- appending to and copying slices
- deletion of map elements
- manipulating complex numbers
- handling panics
- bootstrapping
- packages
- source file organization
- package clause
- import declarations
- an example package
- program initialization and execution
- the zero value
- package initialization
- program execution
- errors
- run-time panics
- system considerations
- package unsafe
- size and alignment guarantees
- modules - mandatory as of 1.16
- text/template
- design patterns
- wildcards (globbing)
-
ln
-
type
-
which
-
man
-
apropos
-
info
-
whatis
-
alias
-
cat
-
sort
-
uniq
-
grep
-
wc
-
head
-
tail
-
tee
- shell expansion
- hotkeys
-
history
-
id
-
chmod
-
umask
-
su
-
sudo
-
chown
-
ps
-
top
-
jobs
-
bg
-
fg
-
kill
-
killall
-
shutdown
-
select
-
dd
-
lsof
-
who
-
find
-
xxd
-
df
-
lsblk
-
mount
-
sed
-
merge
-
rebase
-
tag
-
format-patch
-
request-pull
-
send-email
-
stash
-
grep
-
bisect
-
clone --bare
-
restore
-
notes
-
mergetool
-
worktree
- pointers
- strings
- structs
- unions
- bitfields
- dynamic memory
- linking
- system calls && processes
- sockets && networking
- threads
- allegro library
- footguns
- algebra
- geometry
- linear algebra
- statistics
-
vimtutor
- Lesson 1
- Lesson 2
- Lesson 3
- Lesson 4
- Lesson 5
- Lesson 6
- Lesson 7
- magic wands
- configure to screen keybinds
- commands
- clients && sessions
- widows && panes
- key bindings
- options
- hooks
- names && titles
- status line
- buffers
- control mode
- environment
- files
- escape characters
- tcp forwarding
- x11 forwarding
- verifying host keys
- environment
- files
- url
- options
- files
- environment
- proxy protocol prefixes
- exit codes
-
commit
-
context
-
diff
-
events
-
exec
-
export
-
history
-
import
-
info
-
inspect
-
network