Exploring Lift
معرفی کتاب «Exploring Lift» نوشتهٔ Derek Chen-Becker, Marius Danciu and Tyler Weir، منتشرشده توسط نشر 2011 در سال 2011. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Exploring Lift» در دستهٔ بدون دستهبندی قرار دارد.
Contents......Page 3 List of Figures......Page 11 List of Listings......Page 13 I The Basics......Page 25 1.1 Why Lift?......Page 27 1.4 For More Information about Lift......Page 29 1.5 Your First Lift Application......Page 30 2 PocketChange......Page 35 2.1 Defining the Model......Page 36 2.2 Our First Template......Page 38 2.3 Writing Snippets......Page 39 2.4 A Little AJAX Spice......Page 43 2.5 Conclusion......Page 45 3.1 Entry into Lift......Page 47 3.2.1 Class Resolution......Page 48 3.4.3 LiftRules......Page 49 3.7 URL Rewriting......Page 50 3.8 Custom Dispatch Functions......Page 52 3.9 HTTP Redirects......Page 54 3.11 Session and Request State......Page 55 3.12 Conclusion......Page 58 4.1 Template XML......Page 59 4.1.2 Processing Template XML......Page 60 4.2.1 Determining the Content Element......Page 62 4.4 Views......Page 63 4.5 Tags......Page 65 4.5.5 comet......Page 66 4.5.7 embed......Page 67 4.5.17 surround......Page 68 4.6 Head and Tail Merge......Page 69 4.7 Binding......Page 70 5.1 The Snippet Tag......Page 71 5.2.1 Implicit Dispatch Via Reflection......Page 72 5.2.2 Explicit Dispatch......Page 74 5.3 Snippet Methods......Page 76 5.3.1 Binding Values in Snippets......Page 77 5.3.2 CSS Selector Transforms......Page 78 5.3.3 Stateless versus Stateful Snippets......Page 82 5.3.4 Eager Evaluation......Page 85 5.4.2 XHTML Attribute Pass-through......Page 86 6.1 Form Fundamentals......Page 89 6.3.1 checkbox......Page 91 6.3.3 link......Page 92 6.3.5 textarea......Page 93 6.3.8 radio......Page 94 6.3.10 selectObj......Page 95 6.4 File Uploads......Page 96 7.1 Basic SiteMap Definition......Page 99 7.1.3 Creating Menu Entries......Page 100 7.1.4 Nested Menus......Page 101 7.2.1 Hidden......Page 102 7.2.3 Using ......Page 103 7.3 Access Control......Page 104 7.4.1 The Template Parameter......Page 105 7.4.3 Title......Page 106 7.5.2 LocGroup......Page 107 7.6 Writing Your Own Loc......Page 108 7.6.2 Type Safe Parameters......Page 109 7.7 Conclusion......Page 111 8.1 Introduction to Mapper and MetaMapper......Page 113 8.1.2 Setting Up the Database Connection......Page 114 8.1.3 Constructing a Mapper-enabled Class......Page 115 8.1.4 Object Relationships......Page 117 8.1.6 Schema Mapping......Page 119 8.1.7 Persistence Operations on an Entity......Page 120 8.1.9 Comparison QueryParams......Page 122 8.1.10 Control QueryParams......Page 125 8.2.1 Display Generation......Page 126 8.2.2 Form Generation......Page 127 8.2.3 Validation......Page 128 8.2.5 Lifecycle Callbacks......Page 130 8.2.6 Base Field Types......Page 131 8.2.7 Defining Custom Field Types in Mapper......Page 133 8.2.8 ProtoUser and MegaProtoUser......Page 136 8.3.1 Using Multiple Databases......Page 137 8.3.3 SQL-based Queries......Page 139 8.5 Summary......Page 141 II Advanced Topics......Page 143 9.1 Architectural Overview......Page 145 9.2 The Request/Response Lifecycle......Page 147 9.3 Lift Function Mapping......Page 153 9.4.2 StreamingResponse......Page 154 9.4.3 Hierarchy......Page 155 9.4.4 RedirectWithState......Page 156 9.5 Session Management......Page 157 9.5.1 Lift garbage collection......Page 158 9.6 Miscellaneous Lift Features......Page 159 9.6.2 Passing Template Parameters to Snippets......Page 160 9.6.4 Processing Element Attributes......Page 161 9.7.4 Per-session DispatchPF functions......Page 162 9.7.8 Other functions......Page 163 9.9 HTTP Authentication......Page 164 9.9.2 Providing the Authentication Hook......Page 165 9.9.3 Role Hierarchies......Page 167 10.1 JavaScript high level abstractions......Page 169 10.1.1 JsCmd and JsExp overview......Page 170 10.1.2 JavaScript Abstraction Examples......Page 172 10.2 JQuery and other JavaScript frameworks......Page 173 10.3 XML and JavaScript......Page 174 10.4 JSON......Page 176 10.4.1 JSON forms......Page 177 10.5 JqSHtml object......Page 178 10.6 A recap......Page 179 11.1 What are AJAX and Comet, really?......Page 181 11.2 Using AJAX in Lift......Page 182 11.3 A more complex AJAX example......Page 183 11.4 AJAX Generators in Detail......Page 184 11.5 Comet and Lift......Page 185 11.5.1 Actors in Scala......Page 187 11.5.2 Building a Comet Application in Lift......Page 188 11.6 Coordinating Between Multiple Comet Clients......Page 190 11.7 Summary......Page 191 12 JPA Integration......Page 193 12.1 Introducing JPA......Page 194 12.1.2 Using the orm.xml descriptor......Page 195 12.1.3 Working with Attached and Detached Objects......Page 196 12.2 Obtaining a Per-Session EntityManager......Page 197 12.3 Handling Transactions......Page 198 12.4 ScalaEntityManager and ScalaQuery......Page 199 12.5.1 Persisting, Merging and Removing Entities......Page 200 12.5.2 Loading an Entity......Page 201 12.5.4 Using Queries Wisely......Page 202 12.5.6 The importance of flush() and Exceptions......Page 203 12.5.7 Validating Entities......Page 204 12.6 Supporting User Types......Page 205 12.7 Running the Application......Page 206 12.8 Summing Up......Page 207 13.1 OpenID Integration......Page 209 13.2 AMQP......Page 211 13.3 PayPal......Page 213 13.4 Facebook......Page 214 13.5 XMPP......Page 215 13.6 Lucene/Compass Integration......Page 217 14.1.1 TableSorter widget......Page 219 14.1.2 Calendar widgets......Page 220 14.1.3 RSS Feed widget......Page 224 14.1.5 TreeView widget......Page 225 14.1.6 Sparklines widget......Page 227 14.2 How to build a widget......Page 228 15.1.1 A Little Bit about HTTP......Page 231 15.2 A Simple API for PocketChange......Page 233 15.3 Adding REST Helper Methods to our Entities......Page 234 15.4 Multiple Approaches to REST Handling......Page 235 15.4.1 Using Custom Dispatch......Page 236 15.4.2 Using the RestHelper Trait......Page 237 15.5 Processing Expense PUTs......Page 240 15.6 The Request and Response Cycles for Our API......Page 243 15.7 Extending the API to Return Atom Feeds......Page 244 15.7.1 An Example Atom Request......Page 245 15.8 Conclusion......Page 246 III Appendices......Page 247 A.2 Lifecycles, Phases and Goals......Page 249 A.3 Repositories......Page 250 A.4 Plugins......Page 251 A.5.1 Adding a Dependency......Page 252 A.7 Project Layout......Page 253 B.1 Sending Messages......Page 255 B.2 Displaying Messages......Page 256 C.2 Box (or Scala's Option class on steroids)......Page 257 C.3 ActorPing......Page 260 C.5 CodeHelpers......Page 261 C.7 CSSHelpers......Page 262 C.8 BindHelpers......Page 263 C.13 NamedPartialFunctions......Page 264 C.15 TimeHelpers......Page 265 D.1 Localized Templates......Page 267 D.3 An Important Note on Resource Bundle Resolution......Page 268 D.4 Localized Strings in Scala Code......Page 269 D.6 Localized Strings in Templates......Page 270 D.7 Calculating Locale......Page 271 E.2 Basic Logging......Page 273 E.2.2 Obtaining a Logger......Page 274 E.2.3 Logging Methods......Page 275 E.3 Log Level Guards......Page 276 E.4 Logging Mapper Queries......Page 277 F.2 Sending Emails......Page 279 G.1 JPA Library Demo......Page 281 G.1.1 Author Entity......Page 282 G.1.2 orm.xml Mapping......Page 283 G.1.3 Enumv Trait......Page 284 G.1.4 EnumerationType......Page 285 G.1.5 JPA web.xml......Page 286 Index......Page 287
دانلود کتاب Exploring Lift