A big shout out to my employer, Descartes, for allowing me to attend Codemash this year.
It has been a great experience so far. What’s been interesting is how much the conference is ‘blockchain’ focused. I doubt there was even one session on it last year, but I wasn’t here so can’t confirm that. I had a nascent understanding of blockchain, but definitely have a much firmer grasp now.
I tried to focus my attendance on sessions that would assist me in my current work. Since I work on web applications and services, micro and other, all on .net platforms I tried to focus on those. I did sneak in a blockchain course or two as well.
Here’s a list of my notes from each class I attended:
- The Real Deal
Presenter : Michael Meadows
- Angular is now on version 5.2!
- Angular plus websockets, plus reactive js extensions make for event driven ui, even when events on server.
- He likes Angular and typescript, doesn’t care about reactjs
- Angular works really well with reactive extensions (observables)
- Why socket.io
- UX Patterns/Anti-Patterns
- Users don’t want to wait minutes for UI to update when waiting for response from long running process
- Polling to know if something changes
- Can crush your server if have a lot of usage
- Save Button?
- Pattern because used to update a whole file when posting
- Optimistic Concurrency
- Good Patterns
- Broadcast changes from the server
- What is happening on the server in socket.io
- Three different ways to send events
- get users socket and emil
- goes to just one client or to all sockets
- Data Streaming
- Event streaming
- A client can add an item and tell web socket to emit the item
- Server then emits the item to all other sockets
- Bubbling event from client to server and back to client
- Namespaces allow the limiting of what clients get emitted events when client says to emit an event
- Room versus namespace
- Chat may be the namespace the room is the actual chat we are in.
- Record Locks
- Can emit events from server when a record is locked and unlocked allowing clients to disable updating when record is locked and to know to update when lock released and to allow client to update again.
- Soft Locks
- Command Query Response Segragation
- Treat transactions and views separately