Index
A
- Apache Cassandra database
- accessing / Accessing the Apache Cassandra database
- asynchronous I/O
- benefits / Benefits of asynchronous I/O
- combining, with threads and fibers / Combining threads, fibers, and asynchronous I/O
- authentication
- adding / Adding authentication
B
- basic authentication
- about / Authenticating the user
- using / Using basic authentication
- Binary JSON (BSON)
- about / Serializing D to JSON and back
- Bitbucket
- blocks
- used, for integrating languages / Integrating other languages with blocks and filters
C
- CalDAV
- about / Adding WebDAV services
- Cassandra
- Cassandra Query Language (CQL)
- certification authority (CA)
- collection
- about / Document databases
- community projects
- WebDAV services, adding / Adding WebDAV services
- custom blog, executing / Running your own blog
- IRC, chatting with / Chatting with IRC
- Internet of Things, coding / Coding for the Internet of Things
- news, serving / Serving news
- Apache Cassandra database, accessing / Accessing the Apache Cassandra database
- condition variables
- about / Using a thread
- CouchDB
- accessing / Accessing CouchDB
- URL / Installing CouchDB
- installing / Installing CouchDB
- REST interface, testing / Testing the REST interface
- API, URL / Testing the REST interface
- NoteStore service, implementing / Implementing the NoteStore service
- Cross-site scripting (XSS)
- custom blog
- executing / Running your own blog
D
- D
- serializing, to JavaScript Object Notation (JSON) / Serializing D to JSON and back
- data
- persisting, with MongoDB / Persisting data with MongoDB
- database
- selecting / Choosing the right database technology, Making a choice
- relational database / Relational databases
- key-value store / A key-value store
- document database / Document databases
- DAV Explorer
- URL / Adding WebDAV services
- D code
- adding, to templates / Adding D code to your template
- D compiler
- installing / Installing the D compiler and the DUB package manager
- DMD / Installing the D compiler and the DUB package manager
- GDC / Installing the D compiler and the DUB package manager
- LDC / Installing the D compiler and the DUB package manager
- installing, on Ubuntu / Ubuntu and Debian
- installing, on Debian / Ubuntu and Debian
- installing, on Fedora / Fedora
- installing, on OS X / OS X
- installing, on Windows / Windows
- building, from source / Building from source
- environment, verifying / Verifying your environment
- Debian
- D compiler, installing / Ubuntu and Debian
- deimos project type
- D forum
- URL / Serving news
- Diet template
- creating / Creating your first template
- HTML page, turning into / Turning the HTML page into a Diet template
- inheritance, adding / Adding inheritance
- includes, using / Using includes
- languages, integrating with blocks and filters / Integrating other languages with blocks and filters
- Diet templates
- about / Creating your first template
- digest authentication
- about / Authenticating the user
- using / Using digest authentication
- DMD compiler
- URL / Installing the D compiler and the DUB package manager
- reference link / Building from source
- document database
- about / Document databases
- advantage / Document databases
- MongoDB, using / Using the MongoDB document database
- Don't Repeat Yourself (DRY)
- about / Benefits of using templates
- driver
- porting / Porting an existing driver
- source, modifying / An alternative solution for the existing drivers
- dub.sdl file
- about / Using DUB to set up the project structure
- fields / Using DUB to set up the project structure
- reference link / Using DUB to set up the project structure
- DUB package manager
- installing / Installing the D compiler and the DUB package manager
- used, for setting up project structure / Using DUB to set up the project structure
- dub registry
- project, publishing / Publishing your project in the DUB registry
- URL / Publishing your project in the DUB registry, Useful community projects
E
- @errorDisplay annotation
- error messages, displaying / Displaying error messages with @errorDisplay
- Eliza chat bot
- URL / Chatting with IRC
- Erlang
- about / Accessing CouchDB
- error messages
- displaying, with @errorDisplay / Displaying error messages with @errorDisplay
- error page
- displaying / Displaying an error page
- event methods
- onConnAck() / Coding for the Internet of Things
- onPingResp() / Coding for the Internet of Things
- onPubAck() / Coding for the Internet of Things
- onPubRec() / Coding for the Internet of Things
- onPubRel() / Coding for the Internet of Things
- onPubComp() / Coding for the Internet of Things
- onPublish() / Coding for the Internet of Things
- onSubAck() / Coding for the Internet of Things
- onUnsubAck() / Coding for the Internet of Things
F
- Fedora
- fiber-based task
- performing / Performing background work
- executing / Running a fiber-based task
- fibers
- about / What is a fiber?
- combining, with threads and asynchronous I/O / Combining threads, fibers, and asynchronous I/O
- files
- uploading / Uploading files
- filters
- used, for integrating languages / Integrating other languages with blocks and filters
- javascript filter / Integrating other languages with blocks and filters
- css filter / Integrating other languages with blocks and filters
- markdown filter / Integrating other languages with blocks and filters
- htmlescape filter / Integrating other languages with blocks and filters
- form-based authentication
- about / Authenticating the user
- using / Form-based authentication
- TLS/SSL, enabling / Enabling TLS/SSL with your application
- future
- about / Using a thread
G
- GDC compiler
- GitHub
- GitLab
- GTK+
- GUI event loop
- and vibe.d / The GUI event loop and vibe.d
- GUI toolkits
- integrating with / Integrating with other GUI toolkits
H
- Homebrew package manager
- URL / OS X
- HTML page
- turning, into Diet template / Turning the HTML page into a Diet template
- HTTP methods
- about / Naming the handler functions
I
- iCalendar
- about / Adding WebDAV services
- includes
- using, for Diet template / Using includes
- inheritance
- adding, to Diet template / Adding inheritance
- Internet of Things
- coding / Coding for the Internet of Things
- IRC
- chatting with / Chatting with IRC
- IRCConnection class
- connected() method / Chatting with IRC
- signed_on() method / Chatting with IRC
- disconnected() method / Chatting with IRC
- notice() method / Chatting with IRC
- privmsg() method / Chatting with IRC
- user_joined() method / Chatting with IRC
- user_left() method / Chatting with IRC
- user_quit() method / Chatting with IRC
- user_kicked() method / Chatting with IRC
- user_renamed() method / Chatting with IRC
- unknown_command() method / Chatting with IRC
- unknown_numeric() method / Chatting with IRC
J
- Jade templates
- JavaScript Object Notation (JSON)
- about / Document databases, Serializing D to JSON and back
- D, serializing / Serializing D to JSON and back
K
- KDE
- key-value store
- about / A key-value store
- Redis, using / Using the Redis key-value store
- keyspace
- keywords, D
L
- LDC compiler
- libasync library
- libcurl
- about / Building from source
- URL / Building from source
- libevent
- Lightning
- about / Adding WebDAV services
M
- main() function
- coding / Coding your own main function
- Mandelbrot set
- about / Using a thread
- URL / Using a thread
- Markdown
- MongoDB
- used, as document database / Using the MongoDB document database
- URL / Installing MongoDB
- installing / Installing MongoDB
- data, persisting with / Persisting data with MongoDB
- Mosquitto
- Multipurpose Internet Mail Extensions (MIME)
- about / Serving static files
- mutexes
- about / Using a thread
- MySQL
- used, as relational database / Using the MySQL relational database
- URL / Installing MySQL
- installing / Installing MySQL
- using, with vibe.d / Using MySQL with vibe.d
N
- news
- serving / Serving news
- note application
- about / Introducing the note application
- template, creating / Creating a template with a simple form
- static files, serving / Serving static files
- session data, storing / Storing session data
- user, authenticating / Authenticating the user
- error page, displaying / Displaying an error page
- files, uploading / Uploading files
- Redis, accessing / Accessing Redis from the note application
- note application, conversion
- about / Converting the note application
- handler functions, naming / Naming the handler functions
- form field values, passing / Passing values of form fields
- sessions, creating / Creating sessions and session variables
- session variables, creating / Creating sessions and session variables
- application, creating / Putting everything together
- NoteStore service
- implementing / Implementing the NoteStore service
- Null Object Pattern
- about / Storing session data
O
- object
- about / Serializing D to JSON and back
- OpenSSL
- OS X
- D compiler, installing / OS X
P
- Portable Operating System Interface (POSIX)
- about / Building from source
- programming model, vibe.d
- about / The programming model of vibe.d
- fibers / What is a fiber?
- asynchronous I/O, benefits / Benefits of asynchronous I/O
Q
- Quality of Service (QoS)
R
- RabbitMQ
- Redis
- used, as key-value store / Using the Redis key-value store
- reference link / Using the Redis key-value store
- installing / Installing Redis
- URL / Installing Redis
- installer, URL / Installing Redis
- accessing, from note application / Accessing Redis from the note application
- relational database
- about / Relational databases
- advantage / Relational databases
- disadvantages / Relational databases
- MySQL, using / Using the MySQL relational database
- Remote Procedure Call (RPC)
- REST API
- tailoring / Tailoring the generated REST API
- generated path, modifying / Changing the generated path
- parameters, passing / Passing parameters
- REST interface
- testing / Testing the REST interface
- REST service
- using / Creating and using a REST service, Using a service
- creating / Creating and using a REST service
- providing / Providing a service
- route matching
- about / A closer look at route matching
- routes
- initializing / Taking advantage of unique D features
- associating, with handler functions / Taking advantage of unique D features
S
- Simple Declarative Language (SDLang)
- Simple Object Access Protocol (SOAP)
- source tarball, DUB
- URL / Fedora
- SQL injection
- static files
- serving / Serving static files
- Structured Query Language (SQL)
- about / Relational databases
- Subversion version control system
- about / Adding WebDAV services
T
- templates
- benefits / Benefits of using templates
- basic syntax rules / Turning the HTML page into a Diet template
- common tasks, solving / Solving common tasks
- document type, configuring / Configuring the document type
- comments, adding / Comments in a template
- tags, adding / More about tags
- website, localizing / Localizing your website
- D code, adding / Adding D code to your template
- threads
- combining, with fibers and asynchronous I/O / Combining threads, fibers, and asynchronous I/O
- using / Using a thread
- TLS/SSL
- enabling / Enabling TLS/SSL with your application
U
- Ubuntu
- D compiler, installing / Ubuntu and Debian
- Uniform Resource Locator (URL)
- user authentication
- implementing / Authenticating the user
- basic authentication / Authenticating the user
- digest authentication / Authenticating the user
- form-based authentication / Authenticating the user
- basic authentication, using / Using basic authentication
- digest authentication, using / Using digest authentication
- form-based authentication, using / Form-based authentication
- user input
- validating / Validating user input
- error messages, displaying with @errorDisplay / Displaying error messages with @errorDisplay
- validation, refining / Refining the validation
- user mode threads
- about / What is a fiber?
V
- vibe.d
- MySQL, using / Using MySQL with vibe.d
- programming model / The programming model of vibe.d
- and GUI event loop / The GUI event loop and vibe.d
- blog, URL / Running your own blog
- vibe.d API
W
- Web-based Distributed Authoring and Versioning (WebDAV)
- about / Adding WebDAV services
- web application
- creating / Creating your first web application
- project structure, setting up with DUB package manager / Using DUB to set up the project structure
- template, creating / Creating your first template
- web content
- localizing / Localizing the web content
- WebDAV services
- adding / Adding WebDAV services
- Web Service Description Language (WSDL)
- Wget
- about / Coding your own main function
- Win32 GUI application
- creating / Creating a Win32 GUI application
- Windows
- D compiler, installing / Windows
- World Wide Web (WWW)
- principles, defining / Defining the principles of the World Wide Web
X
- X11 GUI application
- creating / Creating an X11 GUI application