Download Full Stack JavaScript: Learn Backbone.js, Node.js, and MongoDB - Second Edition Azat Mardan ebook All Chapters PDF
Download Full Stack JavaScript: Learn Backbone.js, Node.js, and MongoDB - Second Edition Azat Mardan ebook All Chapters PDF
com
https://ebookmeta.com/product/full-stack-javascript-learn-
backbone-js-node-js-and-mongodb-second-edition-azat-mardan/
OR CLICK HERE
DOWLOAD NOW
https://ebookmeta.com/product/full-stack-javascript-1st-edition-azat-
mardan/
ebookmeta.com
https://ebookmeta.com/product/alpha-bear-1st-edition-bianca-d-arc/
ebookmeta.com
Strange Code Esoteric Languages That Make Programming Fun
Again 1st Edition Ronald T. Kneusel
https://ebookmeta.com/product/strange-code-esoteric-languages-that-
make-programming-fun-again-1st-edition-ronald-t-kneusel/
ebookmeta.com
https://ebookmeta.com/product/ms-700-managing-microsoft-teams-exam-
guide-second-edition-peter-rising/
ebookmeta.com
https://ebookmeta.com/product/wonky-inn-03-0-weird-wedding-at-wonky-
inn-1st-edition-jeannie-wycherley/
ebookmeta.com
https://ebookmeta.com/product/university-success-oral-communication-
advanced-student-book-with-myenglishlab-1st-edition-cavage/
ebookmeta.com
Wild Oat Milk Accidentally Breedy With Benefits Spice in
the Mountains Book 3 1st Edition Elena Dawne
https://ebookmeta.com/product/wild-oat-milk-accidentally-breedy-with-
benefits-spice-in-the-mountains-book-3-1st-edition-elena-dawne/
ebookmeta.com
Full Stack
JavaScript
Learn Backbone.js,
Node.js, and MongoDB
—
Second Edition
—
Azat Mardan
Full Stack JavaScript
Learn Backbone.js,
Node.js, and MongoDB
Second Edition
Azat Mardan
Full Stack JavaScript: Learn Backbone.js, Node.js, and MongoDB
Azat Mardan
San Francisco, California, USA
v
Table of Contents
Chapter 2: Setup���������������������������������������������������������������������������������39
Local Setup���������������������������������������������������������������������������������������������������������40
Development Folder��������������������������������������������������������������������������������������40
Browsers�������������������������������������������������������������������������������������������������������42
IDEs and Text Editors�������������������������������������������������������������������������������������43
Version Control Systems��������������������������������������������������������������������������������45
Local HTTP Servers���������������������������������������������������������������������������������������������46
Database: MongoDB��������������������������������������������������������������������������������������47
Required Components�����������������������������������������������������������������������������������52
Node.js Installation����������������������������������������������������������������������������������������52
Browser JavaScript Libraries������������������������������������������������������������������������54
Less App��������������������������������������������������������������������������������������������������������55
Cloud Setup���������������������������������������������������������������������������������������������������������55
SSH Keys�������������������������������������������������������������������������������������������������������55
GitHub�����������������������������������������������������������������������������������������������������������������58
Microsoft Azure���������������������������������������������������������������������������������������������������59
Heroku����������������������������������������������������������������������������������������������������������������61
Summary������������������������������������������������������������������������������������������������������������63
vi
Table of Contents
jQuery Functions�������������������������������������������������������������������������������������������������72
Bootstrap������������������������������������������������������������������������������������������������������������74
Less���������������������������������������������������������������������������������������������������������������������79
Less Variables������������������������������������������������������������������������������������������������79
Less Mix-ins��������������������������������������������������������������������������������������������������80
Less Operations���������������������������������������������������������������������������������������������82
An Example Using a Third-Party API (OpenWeatherMap) and jQuery������������������84
Parse�������������������������������������������������������������������������������������������������������������������96
Message Board with Parse Overview���������������������������������������������������������������107
Message Board with Parse: REST API and jQuery Version��������������������������109
Pushing to GitHub����������������������������������������������������������������������������������������119
Deployment to Microsoft Azure�������������������������������������������������������������������������121
Deployment of Weather App to Heroku�������������������������������������������������������������122
Updating and Deleting Messages���������������������������������������������������������������������125
Summary����������������������������������������������������������������������������������������������������������126
vii
Table of Contents
Chapter 9: Conclusion�����������������������������������������������������������������������289
Index�������������������������������������������������������������������������������������������������295
ix
About the Author
Azat Mardan has over 18 years of experience
in web, mobile, and software development.
With a Bachelor’s degree in Informatics and
a Master of Science degree in Information
Systems Technology, Azat possesses deep
academic knowledge as well as extensive
practical experience. Azat is an experienced
software engineer, author, and educator. He
has published 16 books and counting.
Currently, Azat works as a Software
Engineering Leader at Indeed.com, the number one job search site. Before
Azat worked as a Technology Fellow at Capital One Financial Corporation,
a top 10 USA bank. Even before that, Azat was a Team Lead at DocuSign,
where his team rebuilt 50 million user products (DocuSign web app) using
the tech stack of Node.js, Express.js, Backbone.js, CoffeeScript, Jade, Stylus,
and Redis.
Recently, he worked as a senior engineer at the curated social media
news aggregator web site, Storify.com (now part of Adobe), which
is used by BBC, NBC, CNN, the White House, and others. Storify runs
everything on Node.js unlike other companies. It’s the maintainer of the
open source library jade browser.
Before that, Azat worked as a CTO/Cofounder at Gizmo—an enterprise
cloud platform for mobile marketing campaigns, and has undertaken the
prestigious 500 Startups business accelerator program.
xi
About the Author
xii
Acknowledgments
I would like to thank the team of early Node contributors bringing
JavaScript to the servers. Without them, the full stack JavaScript
development wouldn’t be possible.
Thank you to the supporters of my Kickstarter campaign to write the
second edition of this book and do so in the open on GitHub. Without
you I probably would have not worked on this release so hard and maybe
not worked at all. You are AWESOME because you made this new edition
a reality and not only that but you have made this edition and previous
edition available on GitHub for the entire world to read and learn Node
which is the greatest technology for building web applications ever.
In particular, very great many thanks to individual Kickstarter
supporters (who will soon get the signed print books and other rewards or
maybe already have them): Matthew Amacker, Jordan Horiuchi, Tim Chen,
Alexey Bushnev, Aleksey Maksimov, Maurice van Cooten, Ryan, Ng Yao
Min, Kommana Karteek, Elias Yousef, Arhuman, Javier Armendariz, Dave
Anderson, Edithson Abelard. You guys are brilliant!
I cannot not mention the biggest supporter DevelopIntelligence,
which is one of the best if not the best tech training companies in the world
(http://www.developintelligence.com). So if you need to train your
software engineers in… anything! Then email them. Seriously, Develop
Intelligence has been around for 10+ years, and they have great teachers
with great technical classes. I was one of their instructors so I know. :)
I’m grateful to my copy and content editors at Apress, specifically to
James Markham, Louise Corrigan, Teresa Horton, and Karen Jameson.
They accomplished an amazing feat by bringing this book to life in a span
of a few weeks.
xiii
Acknowledgments
xiv
Preface
I’m writing this as I’m sitting at the San Francisco airport waiting for
my flight to Portland, Oregon, for the biggest Node.js conference. I’ll be
speaking there about Node.js. It’s scary and funny at the same time to
think that I started to learn Node only three years ago. Yes, I remember
how I decided that the best way to learn is to teach others. For this reason I
started teaching my first Node classes and writing this book. The book was
mostly for me, so I could remember how to push Heroku or how to create
Node servers that talk to MongoDB. It was called Rapid Prototyping with
JS back then. Three years sped away; I published a few more Node books
as well as released several Node apps in production; and in 2014, Apress
approached me wanting to publish an updated edition under a new title.
I can't believe this is the second editon of the book. It's 2018 and a lot of
thing changes. I am glad for the evolution of JavaScript and innovation in
the Node.js space.
The main reason I bet my time and energy on JavaScript and Node
in the first place is that I felt both intuitively and logically the potential of
the full stack JavaScript. The one language to rule the whole stack across
all the layers. Logically I understood the code reuse, expressiveness, and
performance advantages of Node.js and the ever-increasing importance
of front-end development with MVC-like frameworks such as Backbone.
Intuitively, I just freaking fell in love with JavaScript both on the browser
and on the server.
Yes, I used JavaScript for many years but it was more pain than fun.
Not anymore. I was able to get a sense of what’s going on at the front end
while at the same time getting all the power and flexibility on the server.
My brain started to think 5, maybe 10 times faster than before because I
xv
Preface
started to remember all the obscure methods from Array or String objects.
I stopped having Mozilla Developer Network or Google open next to my
code editor. And what a relief when you don’t need to wait for the compiler
each time that you want to test something really quickly.
The airline crew announced my boarding. I need to get on the plane,
but I hope this easy, beginner-friendly manual will open the world of
full stack JavaScript and cloud computing. Jump on board this amazing
technology with me.
xvi
Introduction
The kind of programming that C provides will probably
remain similar absolutely or slowly decline in usage, but rela-
tively, JavaScript or its variants, or XML, will continue to
become more central.
— Dennis Ritchie
xvii
Introduction
The best way to learn is to do, right? Therefore, I used the approach
of small, simple examples (that is, quick start guides) to expose myself to
the new cool tech. After I was done with the basic apps, I needed some
references and organization. I started to write this manual mostly for
myself, so I could understand the concepts better and refer to the samples
later. Then StartupMonthly and I taught a few two-day intensive classes
on the same subject—helping experienced developers to jump-start
their careers with only-one-language development, that is, JavaScript.
The manual we used was updated and iterated many times based on the
feedback received. The end result is this book.
xviii
Introduction
I’m sure I’ve missed a few points, but you got the idea. Whatever the
drawbacks of ES5 (the language most of us know as JavaScript) are, they
were fixed in ES6/ES2015 and newer versions. The future for JavaScript is
so bright we all will have to code with sunglasses on.
What to Expect
Full Stack JavaScript readers should expect a collection of quick start
guides, tutorials, and suggestions (for example, Git workflow). There is a lot
of coding and not much theory. All the theory we cover is directly related
to some of the practical aspects and is essential for better understanding of
technologies and specific approaches to dealing with them (for example,
JSONP and cross-domain calls).
In addition to coding examples, the book covers virtually all setup and
deployment step by step.
You’ll learn on the examples of the Message Board application
starting with front-end components. There are a few versions of these
applications, but by the end of the book we’ll put the front end and back
end together and deploy to the production environment. The Message
Board application contains all of the necessary components typical for a
basic web app, and building it will give you enough confidence to continue
developing on your own, apply for a job/promotion, or build a startup!
xix
Introduction
xx
Introduction
Prerequisites
I recommend the following prerequisites to get the full advantage of the
examples and materials covered in this book:
xxi
Introduction
xxii
Introduction
E xamples
All of the source code for examples used in this book is available in the
book itself for the most part, as well as at the book’s Apress.com product
page (www.apress.com/9781484237175) and in a public GitHub
repository (https://github.com/azat-co/fullstack-javascript).
You can also download files as a ZIP archive or use Git to pull them. More
xxiii
Introduction
on how to install and use Git will be covered later in the book. The source
code files, folder structure, and deployment files should work locally and/
or remotely on PaaS solutions—that is, Windows Azure and Heroku—with
minor or no modifications.
Source code that is in the book is technically limited by the platform
to the width of about 70 characters. I tried my best to preserve the best
JavaScript and HTML formatting styles, but from time to time you might
see backslashes (\). There is nothing wrong with the code. Backslashes are
line escape characters, and if you copy-paste the code into the editor, the
example should work just fine. Please note that code in GitHub and in the
book might differ in formatting.
Last, let me (and others) know if you spot any bugs, by submitting
an issue to GitHub! Please, don’t send me bug reports in an e-mail,
because posting to a public forum like GH Issue will help others, prevent
duplicates, and keep everything organized.
N
otation
This is what source code blocks look like:
Terminal commands have a similar look but start with a dollar sign:
xxiv
Introduction
Terms
For the purposes of this book, we’re using some terms interchangeably.
Depending on the context, they might not mean exactly the same thing.
For example, function = method = call, attribute = property = member =
key, value = variable, object = hash = class, list = array, framework = library
= module.
Additionally, “full stack” is listed as “fullstack” within code snippets.
xxv
PART I
Quick Start
CHAPTER 1
Basics
I think everyone should learn how to program a computer,
because it teaches you how to think. I view computer science
as a liberal art, something everyone should learn to do.
—Steve Jobs
Front-End Definitions
Front end is a term for browser applications. A browser is called a client
because in networking we use client-server communication. Users interact
with a client to make requests to a server, which sends back responses.
Thus frontend refers to browser or client applications. A client can be a
mobile application as well.
Very rarely in some conversations (by some rather old-school Java
architects), “front end” is used to define server applications. This is very
confusing. The only excuse I can make for this usage is that these server
apps are facing the browser requests first rather than some other server
applications. Or, depending on the context, these server applications act as
static web servers to the browser application. To have everything clear and
precise, for this book we assume that when we mention front end it is the
browser applications and their code.
Front-end development, or front-end web development, implies
the usage of various technologies. Each of them individually is not too
complex, but the sheer number of them makes beginners timid. For
example, technologies used include Cascading Style Sheets (CSS),
Hypertext Markup Language (HTML), Extensible Markup Language
(XML), JavaScript (JS), JavaScript Object Notation (JSON), Uniform
Resource Identifier (URI), Hypertext Transfer Protocol (HTTP), Secure
Sockets Layer (SSL), Transport Layer Security (TLS), Transmission Control
Protocol/Internet Protocol (TCP/IP), Internet Relay Chat (IRC), Remote
Procedure Call (RPC), GraphQL, ES, and many other technologies (my
next books will be called Swimming in Acronym Soup).
In addition to the low-level technologies, there are numerous
frameworks, tools, and libraries; for example, React, jQuery, Backbone.js,
Angular.js, Webpack, Grunt, and so on. Please don’t confuse front-end
frameworks with back-end frameworks: The front-end frameworks run on
the browser whereas the back-end ones run on the server.
4
Chapter 1 Basics
Now you know what a job that has the title of front-end developer
entails. The great payback to mastering this hodgepodge is the ability to
express your creativity by building beautiful and useful apps.
Before we start building, let’s cover a bird’s-eye view of the web request
cycle.
5
Chapter 1 Basics
Mobile applications act in the same manner as regular web sites, only
instead of a browser there is a native app. Mobile apps (native or HTML5) are
just another type of client. Other minor differences between mobile and web
include data transfer limitation due to carrier bandwidth, smaller screens,
and the more efficient use of local storage. Most likely you, my reader, are
a web developer aspiring to use your web chops in mobile. With JavaScript
and HTML5 it’s possible, so it’s worth covering mobile development closer.
Mobile Development
Is mobile going to overtake web and desktop platforms? Maybe, but it’s
around 2020 and the web traffic is still around 50%. Moreover, the mobile
development development field is still somewhat hard and slow compared
to the web one. That’s good if you are a native mobile developer, but most of
6
Chapter 1 Basics
us are not. There’s a bigger gap in talent compared to web. The gap is closing.
With React Native, you can write once in JavaScript and reuse code on iOS and
Android. You can build Windows and macOS desktop apps with JavaScript
using Electron. There are other approaches to mobile and desktop that
leverage JavaScript as well.
These are the approaches to mobile development, each with its own
advantages and disadvantages:
7
Exploring the Variety of Random
Documents with Different Content
VIJFDE HOOFDSTUK
EEN BRIEF VAN HUIS
Liefste Lina!
Wel mijn kind, wat waren wij gelukkig toen wij heden morgen de
tijding ontvingen van uw goede aankomst in Oost-Indië! Richard is
den ganschen dag zóo wild geweest van vreugde dat er geen huis
met hem te houden was, Ella Salvita was te opgewonden om te
ontbijten, zelfs om mij suiker in mijn thee te geven, nu ik beken je
ronduit dat ik het niet bemerkt had vóor dat zij zelve het zag, en mij
lachend verweet dat ik even ongeduldig en zenuwachtig was als zij!
Je oude poes begreep niets van de consternatie, maar Bijoux scheen
je ganschen brief met ons te lezen, en deelde in de vreugde alsof hij
tot de familie behoorde. Mietje alleen kwam vrij nuchter uit den
hoek met haar: »Och! heetje! Is de juffer nou in dat verre land! Wel,
wel, ’t is wat te zeggen!” En dan beweren de geleerden dat Mietje
meer ziel heeft dan Bijoux. ’t Is mogelijk, maar ik geloof het niet. En
indien het zóo is, welnu dan acht ik er den hond des te hooger om,
daar hij beter gebruik van de zijne maakt dan zij van de hare.
Zij zag mij aan, met haar groote dankbare oogen en schudde
weemoedig het hoofd, terwijl zij zacht en ferm zeide: »Neen,
ritmeester, gij hebt kinderen, voor wie gij den heiligen moedernaam
zuiver en onbevlekt bewaren moet.…. Een actrice vernedert de
kinderen die haar »moeder” noemen, verlaagt h e m die onder zijn
naam de minachting tracht te verbergen, die aan den hare
verbonden is.… Spreek nooit meer van een huwelijk. Laat mij bij u
blijven en gelukkig zijn en bekommer u niet verder over een leven
dat, God geve het, niet lang meer duren zal.”
Zij glimlachte, en verliet de kamer met een kalmte die ieder ander
dan mij, had doen denken dat zij ongevoelig was.
Ik oogde haar na toen zij den gang doorging, den trap op, in hare
kamer.… en toen alles stil was, volgde ik haar.
Toen zij gelezen had, gaf zij mij met bevende hand den brief terug.
Wanneer gij deze letteren ontvangt, zal Ella mijne vrouw zijn, en dan
mijn kind zult gij een moeder hebben, op wie gij trotsch kunt
wezen.….….
[Inhoud]
ZESDE HOOFDSTUK
LOUISE VAN AMERONGEN
Het was in het midden van den goeden moesson. De zon wierp hare
stralen loodrecht op de huizen, waarvan de daken gloeiden en de
witgekalkte muren verblindend schitterden, terwijl de jalousieën
zorgvuldig gesloten waren en niemand zich meer in de galerijen
bevond. Ook de straten waren bijna geheel verlaten, slechts nu en
dan deed zich nog het rateltje van den K l o n t o n g 1 hooren, of het
gekraak van het bamboezen juk van den k o e l i 2 die, gebogen
onder zijn zwaren last, zijn weg vervolgen moest, terwijl alles rust en
uitputting ademde. Zelfs de vrouwen in de w a r o n g s 3 sliepen bij
hare n a s s i e 4 of k w e e - k w e e , 5 en de wisselaarsters op de
hoeken der straten hadden slechts eenige duiten vóor [45]zich liggen
om des te rustiger onder den half gescheurden p a j o n g 6 op de
kleine gevlochten t i k a r 7 te kunnen voortdommelen, gedurende de
weinige uren dat de groote warmte alles, tot zelfs het geld, bijna
vergeten deed.
In den tuin, vóor een smaakvolle villa aan den Bodjongschen weg
loopt een jonge slavin, in haar kort wit baadjoe en rood geruiten
sarong, die met een gouden band om het middel wordt
vastgehouden, onophoudelijk van het eene bloembed naar het
andere. Zij knipt de schoonste knoppen af, plukt de geurigste rozen,
maar schudt nog steeds ontevreden het hoofd, alsof zij hetgeen zij
zocht, niet vinden kon. Eindelijk keert zij schoorvoetend naar huis
terug.
»Wat zal Nonna 8 boos zijn. Geen enkele witte roos van daag!” denkt
zij bij zichzelve en nauw hoorbaar sluipt zij een groote kamer
binnen, waar zij de bloemen in een blauw glazen kommetje op een
smaakvolle toilettafel plaatst.
»Hoe laat Alima?” roept een zachte stem uit het [46]groote ledikant,
waarvan de dunne neteldoeksche gordijnen langzaam door een fijn
wit handje op zijde worden geschoven.
»Bij vieren! gauw de thee! Mijn hemel! Hoe kom ik nog klaar! Gooi
de jalousieën open! Roep Rosa! Kap mij! Raap mijn boek op! Geef
mijn kousen! Laat zien de bloemen! Gauw! Gauw! Ik heb haast!
Rosa! Rosa!”
Alima raapte dood bedaard, eerst het boek op, dat hare jeugdige
meesteres in haar drift uit bed had laten vallen, schoof toen een
grooten rotangstoel voor den toiletspiegel en opende eindelijk de
jalousieën, om daarna achtereenvolgens alle verdere bevelen ten
uitvoer te brengen, terwijl Louise van Amerongen met haar boek op
den grooten stoel neerviel en Eugène Sue’s »Orgueil” half liggend
vervolgde, zooals zij die een uur te voren half slapend begonnen
was.
Louise was nauwelijks vijftien jaar oud, maar zij was groot voor haar
leeftijd en geheel ontwikkeld; daarbij was zij schoon met haar
fluweel zwarte oogen, haar golvend haar en hare schitterend witte
tanden, haar slanke leest en haar kleine welgevormde handen en
voeten. Ook was er iets vreemds, iets aantrekkelijks in hare bevallige
ronde bewegingen, in haar statigen langzamen gang, terwijl haar
fiere houding, gevoegd bij haar zachte welluidende stem, aan haar
geheele persoon iets boeiends en meesleepends gaven.
En het hart?—Het hart was goed en sloeg voor al wat groot en edel
is. Ook het hoofd was goed, maar ’t was niet goed bestuurd
geworden, en hierdoor werd dáar waar het scherpe oordeel van het
k i n d tekort schoot, helaas! maar al te dikwijls de koude rede van
den »gedésillusionneerden” mensch geloofd.
Alima kwam eindelijk terug met een kopje koude thee en een paar
schoteltjes kwee-kwee. Rosa, een meisje van een jaar of dertien,
volgde haar, plaatste zich zwijgend tegen den muur en wachtte.
»Nonna Van den Berg zal tegen half zes te paard hier zijn.”
»Goed.”
Rosa maakte een zestal breede vlechten van het weelderige, zwarte
haar en schikte ze in sierlijke lussen om het fraaie kopje harer
meesteres.
»Zij zal volgen met papa en met Willem Nieland, dien wij juist tegen
kwamen toen wij het hek uit reden.” En hij zag haar aan alsof hij
voor haar antwoord vreesde.
»Wij zullen hen te gemoet gaan,” sprak het meisje spotachtig. Henri
boog zwijgend en reikte haar de hand tot opstijgen.
Wat was de jonge lachende Louise schoon, toen hare donkere oogen
van hoop en leven schitterden en hare slanke buigzame gestalte zoo
sierlijk uitkwam op den fieren Arabischen Isabel die, trotsch op zijn
schoonen last, het edel hoofd nog hooger ophief en in vollen galop
het hek uitvloog.
»Maar … Kom, antwoord mij eens wat duidelijker … Zeg mij, bid ik
u …”
»Éens Henri, maar éens vooral, hoor! Ik houd niet van herhalen, dat
weet gij. Gij wilt weten of ik u lief heb, niet waar?”
»En toch …”
»Maar Louise!”
»Ik denk aan geen toekomst en ik verlang niets. Niets dan vrij te
blijven en mijn rechten op mij zelve te behouden.”
»Altijd?”
»Oude jonge juffrouw!” riep het meisje als verschrikt, en zij lachte
zóo hartelijk dat Henri onwillekeurig met haar mede deed. »Neen,
neen, dat nooit!”
»Wat dan?”
»Niets.”
»Gij hebt gelijk. Gij zijt jong en gelukkig! Geniet! Geniet zoo lang het
u mogelijk zal zijn; blijf vroolijk en onbezorgd voortleven in de
weelde en in de liefde die u omringen en droom u een toekomst zóo
schoon en zóo heerlijk als uw fantastische verbeelding ze u slechts
voor kan spiegelen.”
»En in de werkelijkheid?”
»Zult gij mogelijk een beter man gelukkig kunnen maken, een edeler
mensch uw liefde kunnen schenken dan ik ben.”
Chineesche marschkramer. ↑
1
Lastdrager. ↑
2
Een klein dak van bladeren op vier bamboezen stijltjes. ↑
3
Gekookte rijst; ongekookte noemt men b r a s , en in de halmen heet
4
zij paddie. ↑
Snoeperijen, gebak. ↑
5
Groote e n - c a s van bladeren of geolied papier. ↑
6
Matje. ↑
7
Juffrouw. ↑
8
Jonge mijnheer. ↑
9
[Inhoud]
ZEVENDE HOOFDSTUK
EEN BAL
In de dagen der verpachting telde Samarang de meeste feesten. De
resident, de kolonel, nog een paar hooggeplaatste personen en
eenige rijke partikulieren waren er op gesteld de vreemde residenten
beleefdheden te bewijzen en hadden dus reeds van te voren met
elkander overlegd, over welke dagen ieder van hen te beschikken
zou hebben.
Wat was zij schoon toen zij ’t open rijtuig uitsprong en het helder
licht der dammers haar vriendelijk gelaat bescheen! Toen het vol
orkest haar met de groote trom aan ’t hoofd, begroette, en zij
lachend haar net geganteerde hand aan Albert van den Hove reikte,
om op zijn arm geleund de lange galerijen van het residentiegebouw
te doorloopen, eerst haar opwachting bij de gastvrouw te maken en
vervolgens haar plaats in te nemen aan het lagere einde der zaal,
waar zij terstond door een aantal heeren omringd werd, die elkander
verdrongen voor een [53]dans, een lach, een blik van de »Roos van
Samarang”.
Wat was zij schoon toen ze eindelijk drong door den dichten drom
van aanbidders die haar den weg versperde, en licht en vlug de wals
begon, welke zij volhield, van den eenen danser naar den anderen
overgaande, tot dat de muziek verstomd was en het laatste paar van
vermoeidheid uitgeput tot staan was gekomen.
Zij wist het niet; maar het kon haar ook niet schelen. Zij die gewoon
was opgemerkt te worden, zag niet meer dat zij nageoogd,
bewonderd en benijd werd. Het wufte kind van het oogenblik bleef
koud voor de lofuitingen der wereld, terwijl haar hart schier
hoorbaar klopte en haar oogen schitterden van geluk bij het denken
aan een tweede wals!
»Al zou het dan ook enkel voor de variatie wezen.” [54]
»Een quadrille is toch niet vermoeiend, die kunt gij even goed mee
doen als …”
»Maar Louise!”
»Neen.”
»Op mij?”
»Ja.”
»Mij? O! mij niets. Mij kunt gij niets doen! Maar mijn vriendin hebt
gij beleedigd en dat vergeef ik u niet licht.”
»Hoor eens Willem, zij mag zoo leelijk zijn als gij wilt, dat kan ze niet
helpen, het arme schaap, maar ze is goed en dat is genoeg.”
»Maar dat is niet genoeg voor mij, om voor mijn plezier met haar te
dansen.”
»Dat behoeft ook niet, dans maar, en ik zal u niet vragen of gij het
voor uw plezier gedaan hebt.”
»Goed.”
»Goed.”
»Neen.”
»Hm.”
»Gij zult toch wel met mij willen spreken, hoop ik?”
»Neen.”
»Waar?.… Het is de Roos van Samarang, geloof ik! Juist zij is het!
Welke tinka (caprice) is dat nu weer?”
»Haar gevraagd? Wel, wel resident, nu toont gij dat gij vreemdeling
zijt! Kent gij Louise van Amerongen nog niet?”
»Is zij Louise van Amerongen? De kleine coquette die alle luitenants
het hoofd op hol brengt?—Een aardig kopje! Ik zou mij waarachtig
weleens aan haar willen laten voorstellen.”
»Ja, maar is het niet wat gek, hè? een resident … Dàt zal haar
geheel ongenaakbaar maken.”
»Ta, ta, ta, wat al gebluf! Kom maar mee, van dien kant hebt gij
niets te vreezen.”
Louise boog even, bood de heeren een stoel aan, en zweeg, den
resident vragend aanziende, om hem te kennen te geven dat hij aan
het woord was.—Dit is een gewoonte, vrij algemeen op Java, waar
een dame bijna nooit het eerst het woord tot een heer zal richten.
»Wat hebt gij daar een lief toiletje aan, juffrouw Van Amerongen.”
»Ja?”
»Ik heb zooveel over u hooren spreken,” begon hij weder, »dat ik
mijnheer Vrede terstond verzocht heb mij aan u te presenteeren,
maar gij zijt den ganschen avond [57]zóo geëntoureerd geweest, dat
wij geen gelegenheid vinden konden om tot u door te dringen.”
»Woont gij reeds lang in dat prachtige huis aan den Bodjongschen
weg, juffrouw Van Amerongen?”
»Ik? O, dol!”
»Dezen keer—ja.”
»Bij preferen … bij verkiezing natuurlijk, want …”
»Ja, resident.”
Zóo spraken zij nog eenige minuten, tot dat de quadrille geëindigd
was. Toen werd Louise weder van alle kanten door bewonderaars
omringd, terwijl de resident met zijn vriend naar zijn speeltafeltje
terugkeerde en, recht voldaan over zich zelven, een lange
redevoering hield over de domheid, nietigheid en kleingeestigheid
der vrouwen: »Zij zijn toch allen gelijk, of men er éen ziet of
honderd, er zit nooit iets bij.”
En wat antwoordde Louise, toen haar cavalier haar half lachend, half
verwijtend vroeg, »hoe de ongehuwde resident haar bevallen was?”
[58]
»Och, goed!”
»Waarom?”
»Omdat gij het zóo niet zeggen zoudt, indien gij het meendet.”
»Maar wat wilt gij dan dat ik antwoorden zal, wanneer gij mij naar
iemand vraagt dien ik zoo even voor het eerst gezien heb?”
»Omdat men een heer eenige malen met andere heeren ongestoord
moet hebben hooren spreken, om te weten of er wat bij zit of niet;
met ons dames zijn alle heeren dom.”
»Ja juffrouw.”
»Goed.”
O, vrouwen! zoo gij wist hoe gij uzelve benadeelt door al dat
noodeloos geschimp, door dat geringschatten van al wat uw sfeer te
boven gaat! Zoo gij wist hoe bespottelijk gij uw eigen nietigheid
tentoonstelt, door de meerderheid van anderen onzinnig te
ontkennen, gij zoudt zwijgen, geloof ik, al ware het ook slechts uit
eigenbelang … Maar neen, gij zoudt niets, zoolang gij uw arme ziel
niet gereinigd hadt van de duizende, kleine, lage hartstochten die in
o n k u n d e hun oorsprong hebben en als égoïsme, haat en afgunst
het leven verpesten van uzelve zoowel, als van de onschuldige
wezens die het ongeluk hebben van door u opgemerkt te worden.
[60]
[Inhoud]
ACHTSTE HOOFDSTUK
HET BEZOEK VAN DEN RESIDENT
Den dag na het bal was Louise weder alleen in haar kamer. Ditmaal
sliep zij niet; zij lag in een dun wit morgengewaad op een rustbank
uitgestrekt en speelde met de donkere lokken die langs haar
schouders golfden en in dikke krullen tot op den vloer neder hingen.
Hare oogen staarden gedachteloos en haar lippen waren stijf op
elkander geperst, terwijl haar boek nog ongeopend naast haar lag.
Plotseling sprong zij uit hare half droomende, half wakende houding
op, een koortsachtige flikkering schitterde in haar somber oog en
een diepe zucht ontsnapte den geprangden boezem.
»Is het zoo goed, nonna?” vroeg de jonge slavin, toen het
weelderige haar gevlochten en opgemaakt was. »Vindt nonna de
bloemen frisch genoeg?”
»Hm—m.”
Eindelijk sloeg het elf uur en ging de resident naar huis. Ieder kreeg
een handje, Louise alleen werd met een stijve buiging afgescheept.
»Niet beleefd!” fluisterde zij Marie lachend in het oor, [62]terwijl zij
het hoofd van hem afwendde en zich, zonder verder over hem te
spreken, ter ruste begaf, tevreden over hare opzettelijke
onverschilligheid en hoogst voldaan over de halve onbeleefdheid van
den resident.
En waarom?
Zij wist het niet. Zij kon zich geen rekenschap geven van het vreemd
gevoel waarmede zij te worstelen had, telkens wanneer zij zijn naam
slechts hoorde. Toch had zij eigenlijk niets tegen den resident, en
kon zij geen enkele reden vinden om hem minder genegen te wezen
dan iederen anderen vreemdeling, met wien de omstandigheden
haar in kennis brachten.
»Ik ben bang voor dien man!” dacht zij bij zichzelve, en hoewel zij
zich moeite gaf hem te vergeten of haar kinderachtigen afkeer van
hem te overwinnen, toch was haar laatste gedachte telkens weder:
[Inhoud]
NEGENDE HOOFDSTUK
DE HUWELIJKSAANVRAAG
»Is nonna Louise t’huis?” vroeg Marie van den Berg, den volgenden
morgen reeds om half negen uit haar palankijn 1 stappende.
»Goed. Gij kunt heengaan, Drono. Mijnheer Van Amerongen zal mij
van avond wel naar huis laten brengen.”
Drono reed weg en Marie begaf zich naar Louise’s kamer, waar zij
haar vriendin met loshangend haar, op een matje op den vloer vond
zitten, bezig met een kleinen zwarten aap in de kleeren harer pop te
steken.
»Wat doe je daar?” vroeg zij lachend. »Ja, kassian! Arm Keesje!
Wacht, ik zal je helpen, hier, hier is een speld.”
»Dank je. Och, Marie, je neemt niet kwalijk dat ik niet opsta.…”
»Ik kom bij je zitten. Wel mijn goed best Keesje! Hoe gaat het? Wat
ziet hij er uit, het stumpertje. Hier is zijn kleedje. Gedécolleteerd nog
al! En wat een mager, zwart, ruig halsje, zal daar uitkomen!”
»O! Wat is Keesje nu mooi! Ja, kassian! Wat houdt [64]hij zich stil!
Wat is hij deftig! Wat loopt hij trotsch! Net de vrouw van Pieter
Papelaya! hè?”
»Ja, ja, precies Kakamia Papelaya! maar toch zóo leelijk niet!”
En Kees kreeg op elke wang een zoen en een pisang 2 tot belooning.
De meisjes hadden dolle pret, en nauwlijks was de pisang op, of zij
grepen Keesje ieder bij een poot en begonnen een wandeling door
de achtergalerij.
»Wel zóo gaat het goed!” riep Marie, verrukt over de twee
achterwielen, die nog vastzaten en ronddraaiden. »Als gij ons nu een
kussen kunt geven, dan zult gij Keesje eens deftig in zijn equipage
zien zitten.”