دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: 1 نویسندگان: Dominik Picheta سری: ISBN (شابک) : 1617293431, 9781617293436 ناشر: Manning Publications سال نشر: 2017 تعداد صفحات: 324 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 13 مگابایت
کلمات کلیدی مربوط به کتاب نیم در عمل: برنامه نویسی، برنامه های کاربردی وب، برنامه نویسی تابعی، برنامه نویسی موازی، برنامه نویسی شی گرا، Nim، فرابرنامه نویسی، مدیریت بسته ها
در صورت تبدیل فایل کتاب Nim in Action به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب نیم در عمل نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Nim یک زبان چند پارادایم است که گزینههای سفارشیسازی قدرتمندی را با قابلیت کامپایل برای همه چیز از C تا جاوا اسکریپت ارائه میکند. در Nim in Action می آموزید که چگونه Nim از نظر سبک و عملکرد با زبان های دیگر مقایسه می شود، بر ساختار و نحو آن تسلط پیدا می کنید و ویژگی های منحصر به فرد را کشف می کنید. درباره فناوری Nim یک زبان برنامه نویسی چند پارادایم است که گزینه های سفارشی سازی قدرتمندی را با قابلیت کامپایل برای همه چیز از C تا جاوا اسکریپت ارائه می دهد. می توان از آن در هر پروژه ای استفاده کرد و نشان می دهد که لازم نیست عملکرد را فدای بیانی کنید! درباره کتاب Nim in Action راهنمای شما برای توسعه اپلیکیشن در Nim است. می آموزید که Nim چگونه از نظر سبک و عملکرد با زبان های دیگر مقایسه می کند، بر ساختار و نحو آن تسلط پیدا می کند و ویژگی های منحصر به فرد را کشف می کند. با قدم زدن دقیق در یک کلون توییتر و دیگر نمونههای دنیای واقعی، خواهید دید که چگونه Nim میتواند هر روز استفاده شود و در عین حال نحوه مقابله با همزمانی، بستهبندی برنامههای تکمیل شده و رابط با زبانهای دیگر را نیز یاد بگیرید. با بهترین شیوه ها و مثال های غنی در این کتاب، می توانید از امروز شروع به استفاده از Nim کنید. چه چیزی در داخل است • ویژگی های زبان و پیاده سازی • مدیر بسته زیرک • ورودی/خروجی ناهمزمان • رابط با C و جاوا اسکریپت • فرابرنامه ریزی درباره خواننده برای توسعه دهندگانی که با زبان های اصلی مانند جاوا، پایتون، سی پلاس پلاس یا سی شارپ راحت هستند. درباره نویسنده Dominik Picheta یکی از توسعه دهندگان اصلی Nim و نویسنده مدیر بسته Nimble است.
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. 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.
contents preface acknowledgments about this book Who should read this book How the book is organized Code conventions and downloads Book forum about the author about the cover illustration Part 1 The basics of Nim 1 Why Nim? 1.1 What is Nim? 1.1.1 Use cases 1.1.2 Core features 1.1.3 How does Nim work? 1.2 Nim’s benefits and shortcomings 1.2.1 Benefits 1.2.2 Areas where Nim still needs to improve 1.3 Summary 2 Getting started 2.1 Nim syntax 2.1.1 Keywords 2.1.2 Indentation 2.1.3 Comments 2.2 Nim basics 2.2.1 Basic types 2.2.2 Defining variables and other storage 2.2.3 Procedure definitions 2.3 Collection types 2.3.1 Arrays 2.3.2 Sequences 2.3.3 Sets 2.4 Control flow 2.5 Exception handling 2.6 User-defined types 2.6.1 Objects 2.6.2 Tuples 2.6.3 Enums 2.7 Summary Part 2 Nim in practice 3 Writing a chat application 3.1 The architecture of a chat application 3.1.1 What will the finished application look like? 3.2 Starting the project 3.3 Retrieving input in the client component 3.3.1 Retrieving command-line parameters supplied by the user 3.3.2 Reading data from the standard input stream 3.3.3 Using spawn to avoid blocking input/output 3.4 Implementing the protocol 3.4.1 Modules 3.4.2 Parsing JSON 3.4.3 Generating JSON 3.5 Transferring data using sockets 3.5.1 What is a socket? 3.5.2 Asynchronous input/output 3.5.3 Transferring data asynchronously 3.6 Summary 4 A tour through the standard library 4.1 A closer look at modules 4.1.1 Namespacing 4.2 Overview of the standard library 4.2.1 Pure modules 4.2.2 Impure modules 4.2.3 Wrappers 4.2.4 Online documentation 4.3 The core modules 4.4 Data structures and algorithms 4.4.1 The tables module 4.4.2 The sets module 4.4.3 The algorithms 4.4.4 Other modules 4.5 Interfacing with the operating system 4.5.1 Working with the filesystem 4.5.2 Executing an external process 4.5.3 Other operating system services 4.6 Understanding and manipulating data 4.6.1 Parsing command-line arguments 4.7 Networking and the internet 4.8 Summary 5 Package management 5.1 The Nim package manager 5.2 Installing Nimble 5.3 The nimble command-line tool 5.4 What is a Nimble package? 5.5 Installing Nimble packages 5.5.1 Using the install command 5.5.2 How does the install command work? 5.6 Creating a Nimble package 5.6.1 Choosing a name 5.6.2 A Nimble package’s directory layout 5.6.3 Writing the .nimble file and sorting out dependencies 5.7 Publishing Nimble packages 5.8 Developing a Nimble package 5.8.1 Giving version numbers meaning 5.8.2 Storing different versions of a single package 5.9 Summary 6 Parallelism 6.1 Concurrency vs. parallelism 6.2 Using threads in Nim 6.2.1 The threads module and GC safety 6.2.2 Using thread pools 6.2.3 Exceptions in threads 6.3 Parsing data 6.3.1 Understanding the Wikipedia page-counts format 6.3.2 Parsing the Wikipedia page-counts format 6.3.3 Processing each line of a file efficiently 6.4 Parallelizing a parser 6.4.1 Measuring the execution time of sequential_counts 6.4.2 Parallelizing sequential_counts 6.4.3 Type definitions and the parse procedure 6.4.4 The parseChunk procedure 6.4.5 The parallel readPageCounts procedure 6.4.6 The execution time of parallel_counts 6.5 Dealing with race conditions 6.5.1 Using guards and locks to prevent race conditions 6.5.2 Using channels so threads can send and receive messages 6.6 Summary 7 Building a Twitter clone 7.1 Architecture of a web application 7.1.1 Routing in microframeworks 7.1.2 The architecture of Tweeter 7.2 Starting the project 7.3 Storing data in a database 7.3.1 Setting up the types 7.3.2 Setting up the database 7.3.3 Storing and retrieving data 7.3.4 Testing the database 7.4 Developing the web application’s view 7.4.1 Developing the user view 7.4.2 Developing the general view 7.5 Developing the controller 7.5.1 Implementing the /login route 7.5.2 Extending the / route 7.5.3 Implementing the /createMessage route 7.5.4 Implementing the user route 7.5.5 Adding the Follow button 7.5.6 Implementing the /follow route 7.6 Deploying the web application 7.6.1 Configuring Jester 7.6.2 Setting up a reverse proxy 7.7 Summary Part 3 Advanced concepts 8 Interfacing with other languages 8.1 Nim’s foreign function interface 8.1.1 Static vs. dynamic linking 8.1.2 Wrapping C procedures 8.1.3 Type compatibility 8.1.4 Wrapping C types 8.2 Wrapping an external C library 8.2.1 Downloading the library 8.2.2 Creating a wrapper for the SDL library 8.2.3 Dynamic linking 8.2.4 Wrapping the types 8.2.5 Wrapping the procedures 8.2.6 Using the SDL wrapper 8.3 The JavaScript backend 8.3.1 Wrapping the canvas element 8.3.2 Using the Canvas wrapper 8.4 Summary 9 Metaprogramming 9.1 Generics 9.1.1 Generic procedures 9.1.2 Generics in type definitions 9.1.3 Constraining generics 9.1.4 Concepts 9.2 Templates 9.2.1 Passing a code block to a template 9.2.2 Parameter substitution in templates 9.2.3 Template hygiene 9.3 Macros 9.3.1 Compile-time function execution 9.3.2 Abstract syntax trees 9.3.3 Macro definition 9.3.4 Arguments in macros 9.4 Creating a configuration DSL 9.4.1 Starting the configurator project 9.4.2 Generating the object type 9.4.3 Generating the constructor procedure 9.4.4 Generating the load procedure 9.4.5 Testing the configurator 9.5 Summary Appendix A Getting help A.1 Real-time communication A.2 Forum A.3 Other communication methods Appendix B Installing Nim B.1 Installing the Nim compiler B.1.1 Getting up-to-date installation info B.1.2 Building from source B.2 Installing the Aporia IDE B.3 Testing your new development environment B.4 Troubleshooting B.4.1 Nim command not found B.4.2 Nim and C compiler disagree on target architecture B.4.3 Could not load DLL index Symbols Numerics A B C D E F G H I J K L M N O P Q R S T U V W X Y