دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Gautam Rege
سری:
ISBN (شابک) : 9781849515023
ناشر: Packt Publishing
سال نشر: 2012
تعداد صفحات: 332
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 5 مگابایت
در صورت تبدیل فایل کتاب Ruby and MongoDB Web Development به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب Ruby و MongoDB توسعه وب نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
دستورالعمل های گام به گام و مثال های عملی برای ایجاد برنامه های کاربردی وب با Ruby و MongoDB. آموزش طراحی مدل شی به روش NoSQL. اشیاء را در Ruby ایجاد کنید و آنها را به MongoDB نقشه برداری کنید. درباره Mongoid و MongoMapper برای نگاشت اشیاء Ruby به اسناد MongoDB بیاموزید. مجموعه داده های بزرگ را با MapReduce پردازش کنید. نمایه های جغرافیایی فضایی یا نمایه های دوبعدی ایجاد کنید.
Step-by-step instructions and practical examples to creating web applications with Ruby and MongoDB. Learn to design the object model in a NoSQL way. Create objects in Ruby and map them to MongoDB. Learn about Mongoid and MongoMapper for mapping Ruby objects to MongoDB documents. Process large datasets with MapReduce. Create geo-spatial indexes or 2D indexes.
Cover......Page 1
Copyright......Page 3
Credits......Page 4
About the Author......Page 5
Acknowledgement......Page 6
About the Reviewers......Page 7
www.PacktPub.com......Page 8
Table of Contents......Page 10
Preface......Page 20
Chapter 1: Installing MongoDB and Ruby......Page 30
Using RVM on Linux or Mac OS......Page 31
The RVM games......Page 35
Using rbenv for installing Ruby......Page 36
Installing MongoDB......Page 37
Starting MongoDB......Page 38
Understanding JavaScript Object Notation (JSON)......Page 40
Saving information......Page 41
Retrieving information......Page 42
Exporting information using mongoexport......Page 43
Managing backup and restore using mongodump and mongorestore......Page 44
Saving large files using mongofiles......Page 45
Installing Rails/Sinatra......Page 47
Summary......Page 48
Chapter 2: Diving Deep into MongoDB......Page 50
Time for action – creating our first document......Page 51
NoSQL scores over SQL databases......Page 52
Using MongoDB embedded documents......Page 53
Time for action – embedding reviews and votes......Page 54
Using MongoDB document relationships......Page 55
Time for action – creating document relations......Page 56
Comparing MongoDB versus SQL syntax......Page 57
Building the map function......Page 59
Building the reduce function......Page 60
Time for action – writing the reduce function to process emitted information......Page 61
Time for action – creating the project......Page 62
Why do we need the Bundler......Page 63
Time for action – start your engines......Page 64
Setting up Mongoid......Page 65
Time for action – configuring Mongoid......Page 66
Time for action – planning the object schema......Page 67
Time for action – putting it all together......Page 71
Understanding many-to-many relationships in MongoDB......Page 75
Time for action – adding reviews to books......Page 76
Choosing whether to embed or not to embed......Page 77
Time for action – embedding Lease and Purchase models......Page 78
Working with Map/Reduce......Page 79
Time for action – writing the map function to calculate ratings......Page 82
Using Map/Reduce together......Page 83
Time for action – working with Map/Reduce using Ruby......Page 84
Summary......Page 87
Chapter 3: MongoDB Internals......Page 88
Understanding Binary JSON......Page 89
Documents and collections......Page 90
JavaScript and MongoDB......Page 91
Ensuring write consistency or \"read your writes\"......Page 92
Global write lock......Page 93
Implementing optimistic locking in MongoDB......Page 94
Time for action – implementing optimistic locking......Page 95
Why are there no joins in MongoDB?......Page 96
Summary......Page 98
Searching by fields in a document......Page 100
Time for action – searching by a string value......Page 101
Time for action – fetching only for specific fields......Page 103
Time for action – skipping documents and limiting our search results......Page 105
Writing conditional queries......Page 106
Writing threshold queries with $gt, $lt, $ne, $lte, and $gte......Page 107
Checking presence using $exists......Page 108
Time for action – searching inside reviews......Page 109
Searching inside arrays using $in and $nin......Page 110
Searching inside hashes......Page 111
Searching with regular expressions......Page 112
Time for action – using regular expression searches......Page 113
Summary......Page 116
Why do we need Ruby DataMappers......Page 118
The mongo-ruby-driver......Page 119
Time for action – using mongo gem......Page 120
The Ruby DataMappers for MongoDB......Page 122
Configuring MongoMapper......Page 123
Time for action – configuring MongoMapper......Page 124
Time for action – setting up Mongoid......Page 126
Defining fields using MongoMapper......Page 129
Time for action – creating and updating objects......Page 130
Using find method......Page 131
Executing conditional queries using where......Page 132
Time for action – fetching using the where criterion......Page 133
Revisiting limit, skip, and offset......Page 134
Using MongoMapper......Page 135
Using Mongoid......Page 136
MongoMapper......Page 137
Mongoid......Page 138
Accessing many-to-many relations using Mongoid......Page 139
The one-to-one relation......Page 140
Using Mongoid......Page 141
Time for action – adding book details......Page 142
Implementing polymorphic relations the correct way......Page 143
Time for action – managing the driver entities......Page 144
Time for action – creating vehicles using basic polymorphism......Page 148
Choosing SCI or basic polymorphism......Page 151
Using embedded objects......Page 152
Using Mongoid......Page 153
Reverse embedded relations in Mongoid......Page 156
Time for action – using embeds_one without specifying embedded_in......Page 157
Time for action – using embeds_many without specifying embedded_in......Page 158
Understanding embedded polymorphism......Page 159
Time for action – adding licenses to drivers......Page 160
Time for action – insuring drivers......Page 161
Choosing whether to embed or to associate documents......Page 163
Mongoid or MongoMapper – the verdict......Page 164
Summary......Page 165
Developing a web application with Mongoid......Page 166
Time for action – setting up a Rails project......Page 167
Setting up Sinatra......Page 168
Time for action – using Sinatra professionally......Page 170
Understanding Rack......Page 175
Defining attributes in models......Page 176
Indexing attributes......Page 177
Geospatial indexing......Page 178
Time for action – adding dynamic fields......Page 179
Time for action – localizing fields......Page 181
Using arrays and hashes in models......Page 183
Common options for all relations......Page 184
Relation-specific options......Page 185
:as option......Page 186
:order option......Page 187
Options for has_and_belongs_to_many......Page 188
:inverse_of option......Page 189
Time for action – configuring the many-to-many relation......Page 190
Time for action – setting up the following and followers relationship......Page 191
Time for action – setting up cyclic relations......Page 194
Options for embedded_in......Page 195
:name option......Page 196
Time for action – changing models......Page 197
Mixing in Mongoid modules......Page 198
Time for action – getting paranoid......Page 199
Time for action – including a version......Page 201
Summary......Page 204
Chapter 7: Achieving High Performance on Your Ruby Application with MongoDB......Page 206
Time for action – enabling profiling for MongoDB......Page 207
Time for action – explaining a query......Page 209
Time for action – using covered indexes......Page 212
Other MongoDB performance tuning techniques......Page 215
Web server response time......Page 216
Load the server using httperf......Page 217
Monitoring server performance......Page 218
Indexing fields......Page 221
Performance of the memory-mapped storage engine......Page 222
Increasing performance of Mongoid using bson_ext gem......Page 223
Redis server......Page 224
Summary......Page 225
Chapter 8: Rack, Sinatra, Rails, and MongoDB – Making Use of them All......Page 226
Setting up the project......Page 227
Time for action – modeling the Author class......Page 229
Time for action – writing the Book, Category and Address models......Page 230
Time for action – modeling the Order class......Page 231
Understanding Rails routes......Page 232
Time for action – configuring routes......Page 233
Understanding the Rails architecture......Page 234
Processing a Rails request......Page 235
Coding the Controllers and the Views......Page 236
Time for action – writing the AuthorsController......Page 237
Solving the N+1 query problem using the includes method......Page 238
Relating models without persisting them......Page 239
Time for action – designing the layout......Page 242
Understanding the Rails asset pipeline......Page 249
Time for action – listing authors......Page 250
Time for action – adding new authors and books......Page 253
Time for action – setting up Sinatra and Rack......Page 259
Testing and automation using RSpec......Page 262
Time for action – installing RSpec......Page 263
Time for action – sporking it......Page 265
Documenting code using YARD......Page 266
Summary......Page 269
Chapter 9: Going Everywhere – Geospatial Indexing with MongoDB......Page 270
What is geolocation......Page 271
Converting geolocation to geocoded coordinates......Page 272
Identifying the exact geolocation......Page 273
Time for action – geocoding the Address model......Page 274
Time for action – saving geolocation coordinates......Page 276
Time for action – using geocoder for storing coordinates......Page 277
Time for action – finding nearby addresses......Page 279
Time for action – firing near queries in Mongoid......Page 281
Differences between $near and $geoNear......Page 282
Summary......Page 283
Chapter 10: Scaling MongoDB......Page 284
Time for action – setting up the master/slave replication......Page 285
Using replica sets......Page 290
Time for action – implementing replica sets......Page 291
Adding members to the replica set......Page 296
Time for action – configuring replica sets for Sodibee......Page 297
Implementing sharding......Page 302
Time for action – setting up the shards......Page 303
Time for action – starting the config server......Page 304
Time for action – setting up mongos......Page 305
Testing shared replication......Page 307
Implementing Map/Reduce......Page 308
Time for action – planning the Map/Reduce functionality......Page 309
Time for action – Map/Reduce via the mongo console......Page 310
Time for action – Map/Reduce via Ruby......Page 312
Time for action – iterating Ruby objects......Page 314
Summary......Page 317
Pop Quiz Answers......Page 318
Index......Page 320