1.2. Nim’s benefits and shortcomings
Chapter 3. Writing a chat application
3.1. The architecture of a chat application
3.3. Retrieving input in the client component
3.3.1. Retrieving command-line parameters supplied by the user
3.4. Implementing the protocol
3.5. Transferring data using sockets
Chapter 4. A tour through the standard library
4.2. Overview of the standard library
4.4. Data structures and algorithms
4.5. Interfacing with the operating system
4.5.1. Working with the filesystem
4.6. Understanding and manipulating data
5.3. The nimble command-line tool
5.4. What is a Nimble package?
5.5. Installing Nimble packages
5.6. Creating a Nimble package
5.6.2. A Nimble package’s directory layout
5.6.3. Writing the .nimble file and sorting out dependencies
5.7. Publishing Nimble packages
5.8. Developing a Nimble package
6.1. Concurrency vs. parallelism
6.3.1. Understanding the Wikipedia page-counts format
6.4.1. Measuring the execution time of sequential_counts
6.4.2. Parallelizing sequential_counts
6.4.3. Type definitions and the parse procedure
6.4.4. The parseChunk procedure
6.5. Dealing with race conditions
6.5.1. Using guards and locks to prevent race conditions
6.5.2. Using channels so threads can send and receive messages
Chapter 7. Building a Twitter clone
7.1. Architecture of a web application
7.3. Storing data in a database
7.3.2. Setting up the database
7.4. Developing the web application’s view
7.5. Developing the controller
7.5.1. Implementing the /login route
7.5.3. Implementing the /createMessage route
7.5.4. Implementing the user route
7.6. Deploying the web application
Chapter 8. Interfacing with other languages
8.1. Nim’s foreign function interface
8.2. Wrapping an external C library
8.2.1. Downloading the library
8.2.2. Creating a wrapper for the SDL library
9.2.1. Passing a code block to a template
9.4. Creating a configuration DSL
9.4.1. Starting the configurator project
9.4.2. Generating the object type
9.4.3. Generating the constructor procedure
B.1. Installing the Nim compiler
B.2. Installing the Aporia IDE
B.3. Testing your new development environment
3.144.110.155