دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: 1 نویسندگان: Dominik Picheta سری: ISBN (شابک) : 9781617293436 ناشر: Manning Publications سال نشر: 2017 تعداد صفحات: 324 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 4 مگابایت
کلمات کلیدی مربوط به کتاب نیم در عمل: به او
در صورت تبدیل فایل کتاب Nim in Action به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب نیم در عمل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
خلاصه Nim یک زبان چند پارادایم است که گزینه های سفارشی سازی قدرتمندی را با قابلیت کامپایل کردن به همه چیز از C تا جاوا اسکریپت ارائه می دهد. در Nim in Action می آموزید که چگونه Nim از نظر سبک و عملکرد با زبان های دیگر مقایسه می شود، بر ساختار و نحو آن تسلط پیدا می کنید و ویژگی های منحصر به فرد را کشف می کنید. خرید کتاب چاپی شامل یک کتاب الکترونیکی رایگان در قالبهای PDF، Kindle و ePub از انتشارات منینگ است. درباره Technology Nim یک زبان برنامه نویسی چند پارادایم است که گزینه های سفارشی سازی قدرتمندی را با قابلیت کامپایل برای همه چیز از C تا جاوا اسکریپت ارائه می دهد. می توان از آن در هر پروژه ای استفاده کرد و نشان می دهد که لازم نیست عملکرد را فدای بیانی کنید! درباره کتاب Nim in Action راهنمای شما برای توسعه برنامه در Nim است. می آموزید که Nim چگونه از نظر سبک و عملکرد با زبان های دیگر مقایسه می کند، بر ساختار و نحو آن تسلط پیدا می کند و ویژگی های منحصر به فرد را کشف می کند. با قدم زدن دقیق در یک کلون توییتر و دیگر نمونههای دنیای واقعی، خواهید دید که چگونه Nim میتواند هر روز استفاده شود و در عین حال نحوه مقابله با همزمانی، بستهبندی برنامههای تکمیل شده و رابط با زبانهای دیگر را نیز یاد بگیرید. با بهترین شیوه ها و مثال های غنی در این کتاب، می توانید از امروز شروع به استفاده از Nim کنید. ویژگیها و پیادهسازی Inside Language مدیر بسته زیرک رابط ورودی/خروجی ناهمزمان با C و فرابرنامهنویسی جاوا اسکریپت درباره Reader برای توسعهدهندگانی که با زبانهای رایج مانند Java، Python، C++ یا C# آشنا هستند. درباره نویسنده Dominik Picheta یکی از توسعه دهندگان اصلی Nim و نویسنده مدیر بسته Nimble است. خلاصه قسمت 1 - مبانی NIM چرا نیم؟ شروع به کار قسمت 2 - NIM در عمل 3 نوشتن یک برنامه چت 4 گشت و گذار در کتابخانه استاندارد 5 مدیریت بسته 6 موازی سازی 7 ساختن یک کلون توییتر قسمت 3 - مفاهیم پیشرفته 8 ارتباط با زبان های دیگر 9 فرابرنامه نویسی
Summary Nim is a multi-paradigm language that offers powerful customization options with the ability to compile to everything from C to JavaScript. In Nim in Action you'll learn how Nim compares to other languages in style and performance, master its structure and syntax, and discover unique features. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Nim is a multi-paradigm programming language that offers powerful customization options with the ability to compile to everything from C to JavaScript. It can be used in any project and illustrates that you don't have to sacrifice performance for expressiveness! About the Book Nim in Action is your guide to application development in Nim. You'll learn how Nim compares to other languages in style and performance, master its structure and syntax, and discover unique features. By carefully walking through a Twitter clone and other real-world examples, you'll see just how Nim can be used every day while also learning how to tackle concurrency, package finished applications, and interface with other languages. With the best practices and rich examples in this book, you'll be able to start using Nim today. What's Inside Language features and implementation Nimble package manager Asynchronous I/O Interfacing with C and JavaScript Metaprogramming About the Reader For developers comfortable with mainstream languages like Java, Python, C++ or C#. About the Author Dominik Picheta is one of the principal developers of Nim and author of the Nimble package manager. Summary PART 1 -THE BASICS OF NIM Why Nim? Getting started PART 2 - NIM IN PRACTICE 3 Writing a chat application 4 A tour through the standard library 5 Package management 6 Parallelism 7 Building a Twitter clone PART 3 - ADVANCED CONCEPTS 8 Interfacing with other languages 9 Metaprogramming
contents......Page 7
preface......Page 13
acknowledgments......Page 14
Who should read this book......Page 16
How the book is organized......Page 17
Book forum......Page 18
about the author......Page 19
about the cover illustration......Page 20
Part 1 The basics of Nim......Page 21
1 Why Nim?......Page 23
1.1.1 Use cases......Page 24
1.1.2 Core features......Page 26
1.1.3 How does Nim work?......Page 31
1.2.1 Benefits......Page 32
1.3 Summary......Page 40
2.1 Nim syntax......Page 42
2.1.2 Indentation......Page 43
2.2.1 Basic types......Page 45
2.2.2 Defining variables and other storage......Page 50
2.2.3 Procedure definitions......Page 53
2.3.1 Arrays......Page 59
2.3.2 Sequences......Page 61
2.3.3 Sets......Page 62
2.4 Control flow......Page 63
2.5 Exception handling......Page 67
2.6.1 Objects......Page 69
2.6.2 Tuples......Page 70
2.6.3 Enums......Page 71
2.7 Summary......Page 73
Part 2 Nim in practice......Page 75
3 Writing a chat application......Page 77
3.1.1 What will the finished application look like?......Page 78
3.2 Starting the project......Page 81
3.3.1 Retrieving command-line parameters supplied by the user......Page 83
3.3.2 Reading data from the standard input stream......Page 86
3.3.3 Using spawn to avoid blocking input/output......Page 88
3.4 Implementing the protocol......Page 90
3.4.1 Modules......Page 91
3.4.2 Parsing JSON......Page 92
3.4.3 Generating JSON......Page 98
3.5 Transferring data using sockets......Page 99
3.5.1 What is a socket?......Page 102
3.5.2 Asynchronous input/output......Page 103
3.5.3 Transferring data asynchronously......Page 111
3.6 Summary......Page 120
4 A tour through the standard library......Page 121
4.1 A closer look at modules......Page 123
4.1.1 Namespacing......Page 125
4.2.1 Pure modules......Page 127
4.2.4 Online documentation......Page 128
4.3 The core modules......Page 130
4.4 Data structures and algorithms......Page 131
4.4.1 The tables module......Page 132
4.4.2 The sets module......Page 134
4.4.3 The algorithms......Page 135
4.5 Interfacing with the operating system......Page 137
4.5.1 Working with the filesystem......Page 138
4.5.2 Executing an external process......Page 140
4.6.1 Parsing command-line arguments......Page 142
4.7 Networking and the internet......Page 146
4.8 Summary......Page 147
5 Package management......Page 148
5.1 The Nim package manager......Page 149
5.2 Installing Nimble......Page 150
5.4 What is a Nimble package?......Page 151
5.5.1 Using the install command......Page 155
5.5.2 How does the install command work?......Page 156
5.6.1 Choosing a name......Page 159
5.6.2 A Nimble package’s directory layout......Page 160
5.6.3 Writing the .nimble file and sorting out dependencies......Page 161
5.7 Publishing Nimble packages......Page 165
5.8.2 Storing different versions of a single package......Page 167
5.9 Summary......Page 168
6 Parallelism......Page 170
6.1 Concurrency vs. parallelism......Page 171
6.2.1 The threads module and GC safety......Page 173
6.2.2 Using thread pools......Page 176
6.3 Parsing data......Page 179
6.3.1 Understanding the Wikipedia page-counts format......Page 180
6.3.2 Parsing the Wikipedia page-counts format......Page 181
6.3.3 Processing each line of a file efficiently......Page 184
6.4.2 Parallelizing sequential_counts......Page 188
6.4.3 Type definitions and the parse procedure......Page 189
6.4.4 The parseChunk procedure......Page 190
6.4.5 The parallel readPageCounts procedure......Page 191
6.4.6 The execution time of parallel_counts......Page 192
6.5 Dealing with race conditions......Page 193
6.5.1 Using guards and locks to prevent race conditions......Page 194
6.5.2 Using channels so threads can send and receive messages......Page 196
6.6 Summary......Page 199
7 Building a Twitter clone......Page 200
7.1 Architecture of a web application......Page 201
7.1.1 Routing in microframeworks......Page 203
7.1.2 The architecture of Tweeter......Page 205
7.2 Starting the project......Page 206
7.3 Storing data in a database......Page 209
7.3.1 Setting up the types......Page 210
7.3.2 Setting up the database......Page 212
7.3.3 Storing and retrieving data......Page 214
7.3.4 Testing the database......Page 218
7.4 Developing the web application’s view......Page 220
7.4.1 Developing the user view......Page 224
7.4.2 Developing the general view......Page 227
7.5 Developing the controller......Page 230
7.5.1 Implementing the /login route......Page 232
7.5.2 Extending the / route......Page 234
7.5.3 Implementing the /createMessage route......Page 235
7.5.4 Implementing the user route......Page 236
7.5.5 Adding the Follow button......Page 237
7.5.6 Implementing the /follow route......Page 238
7.6.2 Setting up a reverse proxy......Page 239
7.7 Summary......Page 241
Part 3 Advanced concepts......Page 243
8 Interfacing with other languages......Page 245
8.1 Nim’s foreign function interface......Page 246
8.1.1 Static vs. dynamic linking......Page 247
8.1.2 Wrapping C procedures......Page 248
8.1.4 Wrapping C types......Page 251
8.2 Wrapping an external C library......Page 254
8.2.2 Creating a wrapper for the SDL library......Page 255
8.2.3 Dynamic linking......Page 256
8.2.4 Wrapping the types......Page 257
8.2.5 Wrapping the procedures......Page 258
8.2.6 Using the SDL wrapper......Page 260
8.3 The JavaScript backend......Page 262
8.3.1 Wrapping the canvas element......Page 263
8.3.2 Using the Canvas wrapper......Page 266
8.4 Summary......Page 268
9 Metaprogramming......Page 269
9.1 Generics......Page 270
9.1.1 Generic procedures......Page 271
9.1.3 Constraining generics......Page 272
9.1.4 Concepts......Page 273
9.2 Templates......Page 274
9.2.1 Passing a code block to a template......Page 276
9.2.2 Parameter substitution in templates......Page 277
9.2.3 Template hygiene......Page 279
9.3 Macros......Page 280
9.3.1 Compile-time function execution......Page 281
9.3.2 Abstract syntax trees......Page 282
9.3.3 Macro definition......Page 285
9.3.4 Arguments in macros......Page 286
9.4 Creating a configuration DSL......Page 287
9.4.1 Starting the configurator project......Page 288
9.4.2 Generating the object type......Page 290
9.4.3 Generating the constructor procedure......Page 294
9.4.4 Generating the load procedure......Page 295
9.5 Summary......Page 298
A.1 Real-time communication......Page 300
A.3 Other communication methods......Page 301
B.1.1 Getting up-to-date installation info......Page 302
B.1.2 Building from source......Page 303
B.3 Testing your new development environment......Page 307
B.4.3 Could not load DLL......Page 309
A......Page 311
C......Page 312
D......Page 313
E......Page 314
I......Page 315
L......Page 316
N......Page 317
P......Page 318
R......Page 319
S......Page 320
U......Page 321
Y......Page 322