2017

JavaScript на примерах - А. П. Никольский

2017
русский

  Эта книга является превосходным учебным пособием для изучения языка программирования JavaScript на примерах. Изложение ведется последовательно: от написания первой программы до создания полноценных проектов — интерактивных элементов (типа слайдера, диалоговых окон) интернет-магазина, лендинговой страницы и прочего. По ходу даются все необходимые пояснения и комментарии. 
 Книга написана простым и доступным языком. Лучший выбор для результативного изучения JavaScript!

Go to >

Управление продуктом в Scrum - Роман Пихлер

2017
русский

 Ядро каждой успешной команды agile-разработки – дальновидный, мотивированный и наделенный большими полномочиями владелец продукта, способный быть не просто менеджером, а членом scrum-команды, готовым к тесному и постоянному сотрудничеству.

 Роман Пихлер, один из ведущих экспертов по Scrum и agile-управлению продуктом, в своей книге рассматривает все компоненты этой роли, необходимые, чтобы привести компанию к великолепным результатам.

 Его книга о том, в чем заключается роль владельца продукта, с какими типичными сложностями и подводными камнями он сталкивается в своей работе, как их преодолеть, а также чем agile-управление продуктом, основанное на Scrum, отличается от традиционных подходов и как эффективно применять scrum-техники на практике.

 На русском языке публикуется впервые.

Go to >

Коучинг Agile-команд - Лисса Адкинс

2017
русский

 Основополагающая книга для перехода на agile. Посвящена тому, как правильно обучить свою команду новым методам и принципам.

 Эта книга о построении высокопроизводительных agile-команд, о том, как помогать командам становиться выдающимися и создавать продукты, которыми они будут гордиться.

Из книги вы узнаете:

  • О том, кто такой agile-коуч и почему существует agile-коучинг;

  • О том, как отказаться от командно-административной формы работы и стать учителем в первую очередь для самого себя;

  • Какие роли есть у agile-коуча;

  • Как создать обстановку, в которой успешно работают самоорганизующиеся команды;

  • Как фасилитировать переговоры, встречи, agile-сессии;

  • Как разрешать конфликты;

  • И многое другое.

 Эта книга будет особенно полезна для вас, если:

  • Вы уже имеете опыт работы в качестве Scrum-мастера, коуча экстремального программирования (ХР) или руководителя agile-команд и, по судя по всему, вы не увидели желаемого результата, или результат был, но вы чувствуете, что здесь есть что-то большее.

  • Ваши команды внедряют agile-практики и делают все правильно, но не получают максимально возможных результатов, которые вы предполагали.

  • Вы работаете сразу с несколькими agile-командами, потому что ваш руководитель думает, что должен загружать вас работой максимально, а вы не знаете, как доказать ему, что он не прав.

  • Вы не уверены в том, что роль agile-коуча подходит именно вам, и хотите получить реальную картину прежде, чем погрузиться в эту деятельность.

Для кого эта книга

 Для скрам-мастеров, agile-коучей и руководителей проектов.

Go to >

Канбан. Альтернативный путь в Agile - Дэвид Андерсон

2017
русский

 Подробное руководство по канбану от человека с 30-летним опытом, впервые применившего этот метод в разработке ПО.

 Дэвид Андерсон, внедрявший метод канбана в нескольких компаниях и постоянно его улучшавший, рассказывает, как эффективно вводить идеи бережливого производства в технологические разработки и IT-операции — с минимальным сопротивлением изменениям и при этом сохраняя оптимальный для всех вовлеченных в работу сотрудников темп.

 Канбан быстро выявляет проблемы, которые сказываются на производительности, и заставляет команду сосредоточиться на их разрешении, чтобы сохранять постоянный поток работы. Делая наглядными проблемы качества и процесса, канбан дает возможность оценить влияние дефектов, ограничений, вариативности и экономических расходов на поток работы и пропускную способность сотрудников.

 Простое ограничение незаконченных заданий посредством канбана приводит к повышению качества работы и ее производительности. Сочетание оптимизации потока работы и повышенного качества помогает сократить время выполнения и повышает предсказуемость и вероятность выполнения работы в срок. Установив регулярные каденции релиза и постоянное следование расписанию, канбан помогает создать доверительные отношения с клиентами и другими участниками потока создания ценностей — другими отделами, поставщиками и зависящими от вас партнерами.

 Доказано, что канбан повышает удовлетворенность пользователя благодаря регулярным, надежным и высококачественным релизам ценных программ. Также доказано, что он улучшает производительность, качество и сокращает время выработки. Есть свидетельства того, что канбан может стать катализатором для возникновения более гибкой организации благодаря эволюционным культурным изменениям.

 Эта книга отвечает на вопросы:

  • · Что такое канбан?
  • · Зачем он нужен вашей компании?
  • · Как его внедрить?
  • · Как распознать возможности для улучшений в бизнесе — и что с ними делать?

Для кого эта книга

 Для менеджеров и руководителей IT-компаний.

Go to >

Scratch для детей. Самоучитель по программированию - Мажед Маржи

2017
русский

 Книга мне понравилась. Информация подана системно. Определения и объяснения четкие. Единственное, считаю, что Scratch лучше всего подходит для совсем юных программистов, а восьмилетке такая книга окажется «не по зубам». Поэтому думаю, что это материал скорее для родителей, которые хотят научить своих детей программированию, готовы участвовать в процессе, но не знают как объяснить и с чего начать. Ну и для тех «выросших из начальной школы», кто программировать не умеет, серьезно заниматься этим не собирается, но хочет в него «поиграть».

 Теперь от плюсов перейдем к жирному минусу. Не могу я понять, зачем русифицировать язык программирования. Программирование изначально «англоязычно», а правильные привычки нужно вырабатывать «с пеленок». Визуальная среда как нельзя более способствует пониманию незнакомых иностранных слов и стимулирует на изучение языка. Поэтому мы используем англоязычную версию Scratch и тренируемся в «обратном переводе» скриптов.

Go to >

MicroPython for the Internet of Things - Charles A. Bell

2017
english

 Quickly learn to program for microcontrollers and IoT devices without a lot of study and expense. MicroPython and controllers that support it eliminate the need for programming in a C-like language, making the creation of IoT applications and devices easier and more accessible than ever.


 MicroPython for the Internet of Things is ideal for readers new to electronics and the world of IoT. Specific examples are provided covering a range of supported devices, sensors, and MicroPython boards such as Pycom’s WiPy modules and MicroPython’s pyboard. Never has programming for microcontrollers been easier.


 The book takes a practical and hands-on approach without a lot of detours into the depths of theory. The book:

  • Shows a faster and easier way to program microcontrollers and IoT devices
  • Teaches MicroPython, a variant of one of the most widely used scripting languages
  • Is friendly and accessible to those new to electronics, with fun example projects
Go to >

Go Systems Programming - Mihalis Tsoukalos

2017
english

 Go is the new systems programming language for Linux and Unix systems. It is also the language in which some of the most prominent cloud-level systems have been written, such as Docker. Where C programmers used to rule, Go programmers are in demand to write highly optimized systems programming code.

 Created by some of the original designers of C and Unix, Go expands the systems programmers toolkit and adds a mature, clear programming language. Traditional system applications become easier to write since pointers are not relevant and garbage collection has taken away the most problematic area for low-level systems code: memory management.

 This book opens up the world of high-performance Unix system applications to the beginning Go programmer. It does not get stuck on single systems or even system types, but tries to expand the original teachings from Unix system level programming to all types of servers, the cloud, and the web.

What you will learn

  • Explore the Go language from the standpoint of a developer conversant with Unix, Linux, and so on
  • Understand Goroutines, the lightweight threads used for systems and concurrent applications
  • Learn how to translate Unix and Linux systems code in C to Golang code
  • How to write fast and lightweight server code
  • Dive into concurrency with Go
  • Write low-level networking code

About the Author

 Mihalis Tsoukalos is a Unix administrator, programmer, DBA, and mathematician, who enjoys writing technical books and articles and learning new things. He has written more than 250 technical articles for many magazines including Sys Admin, MacTech, Linux User and Developer, USENIX ;login:, Linux Format, and Linux Journal. His research interests include databases, operating systems, Statistics, and machine learning.

 He is also the technical editor for MongoDB in Action, Second Edition, published by Manning.

Go to >

Легкий способ выучить Python - Зед А. Шоу

2017
русский

 Эта простая книга предназначена для обучения вас программированию с нуля. Хотя ее название* звучит как «трудный способ выучить Python», на самом деле это не так. Слово «трудный» используется потому, что в книге применена техника обучения, называемая инструкцией. Инструкции заключаются в созданных мной упражнениях, следующих одно за другим, они закрепляют навыки программирования благодаря повторению. Этот метод обучения весьма эффективен для новичков, которым необходимо приобрести базовые навыки, прежде чем приступить к освоению более сложных тем. Такой метод обучения, кстати, используется в разных сферах, от боевых искусств и музыки до элементарной математики и обучения чтению.

 Эта книга заложит основу и укрепит ваши навыки программирования на Python с использованием техник практики и запоминания, позволяя постепенно продвигаться к решению все более сложных задач. К концу книги вы приобретете знания, необходимые для изучения более сложных тем программирования. Я бы сказал, что моя книга дает вам «черный пояс программиста». Это значит, что прочитав ее, вы приобретете навыки, достаточные для начала программирования.

 Если вы будете усердно, не торопясь, работать, то выучите Python.

Go to >

1С:Программирование для начинающих - Максим Григорьевич Радченко

2017
1C
русский

 Книга адресована читателям, которые совсем не знают программирования, но хотят научиться создавать собственные программы в системе «1С:Предприятие 8». Она подойдет и школьникам 12–16 лет, и взрослым, которые хотели бы научиться «программировать в 1С».

 В книге рассматривается практический пример создания простого прикладного решения. Он позволяет освоить базовые понятия и базовые приемы программирования, научиться использовать среду разработки (конфигуратор), овладеть встроенным языком и языком запросов, познакомиться с устройством базы данных, приобрести навыки отладки прикладных решений.

 Книга содержит большое количество рисунков и примеров кода на встроенном языке, снабженных подробными комментариями. Кроме этого, после многих ключевых разделов даются задания для самостоятельной работы, ответы на эти задания содержатся в конце книги.

 Для создания демонстрационных примеров использована учебная версия платформы 8.3.8.1933. Для самостоятельного выполнения этих примеров требуется доступ к Интернету, чтобы скачать (бесплатно) учебную версию платформы и демонстрационные конфигурации.

Go to >

Writing an Interpreter in Go - Thorsten Ball

2017
english

 In this book we will create a programming language together. We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey programming language.

 Step by step. From tokens to output. All code shown and included. Fully tested.

Buy this book to learn:

  • How to build an interpreter for a C-like programming language from scratch
  • What a lexer, a parser and an Abstract Syntax Tree (AST) are and how to build your own
  • What closures are and how and why they work
  • What the Pratt parsing technique and a recursive descent parser is
  • What others talk about when they talk about built-in data structures
  • What REPL stands for and how to build one

Why this book?

 This is the book I wanted to have a year ago. This is the book I couldn't find. I wrote this book for you and me. So why should you buy it? What's different about it, compared to other interpreter or compiler literature?

  • Working code is the focus. Code is not just found in the appendix. Code is the main focus of this book.
  • It's small! It has around 200 pages of which a great deal are readable, syntax-highlighted, working code.
  • The code presented in the book is easy to understand, easy to extend, easy to maintain.
  • No 3rd party libraries! You're not left wondering: "But how does tool X do that?" We won't use a tool X. We only use the Go standard library and write everything ourselves.
  • Tests! The interpreter we build in the book is fully tested! Sometimes in TDD style, sometimes with the tests written after. You can easily run the tests to experiment with the interpreter and make changes.

This book is for you if you...

  • learn by building, love to look under the hood
  • love programming and to program for the sake of learning and joy!
  • are interested in how your favorite, interpreted programming language works
  • never took a compiler course in college
  • want to get started with interpreters or compilers…
  • ... but don't want to work through a theory-heavy, 800 pages, 4 pounds compiler book as a beginner
  • kept screaming "show me the code!" when reading about interpreters and compilers
  • always wanted to say: "Holy shit, I built a programming language!"
Go to >

Angular. From Theory To Practice - Asim Hussain

2017
english

After reading this book, you are going to be able to:

  • Understand the latest features of ES6 JavaScript and TypeScript.
  • Build an Angular application from scratch using TypeScript and the Angular command-line interface.
  • Write code using the paradigm of reactive programming with RxJS and Observables.
  • Know how to Unit Test Angular using Jasmine, Karma and the Angular Test Bed


 The first chapter in the course is a quickstart where you dive straight into writing your first Angular application. We use the web editor plunker so you can get started writing code ASAP.

 In this quickstart, you'll get a 50,000-foot view of the major features of Angular.

 Then chapter by chapter we go much deeper into each of these features. I'll cover the theory for that feature, using StackBlitz as much as possible so you can try out the code yourself in a browser.

 You are going to learn all about:

  • Typescript & ES6 Javascript.
  • Components & Binding
  • Directives
  • Dependency Injection & Services
  • Angular Modules & Bootstrapping your Angular application.
  • SPAs & Routing
  • Angular CLI
  • Forms
  • Reactive Programming with RXJs
  • HTTP
  • Unit Testing

The ideal student is an existing web developer, with some JavaScript knowledge that wants to add Angular to their skill set. Or perhaps you are an existing Angular 1 developer who wants to level up to Angular 2+.

 You do need to be comfortable with at least the ES5 version of JavaScript. We'll be using a UI framework called Twitter bootstrap throughout the course but you still must know HTML and some CSS.

Go to >

HTML and CSS. Learn The Fundamentals In 7 days - Micheal Knapp

2017
english

 If you are new to programming, you will have no problem reading and grasping what is written in this book. This book contains detailed information on what HTML and CSS are. It clearly explains what these two languages are all about, how they started, when they were developed, and what their purposes are. More importantly, it discusses the elements involved in both languages.

 The elements of the two languages are discussed, starting from the fundamentals to the advanced. The most practical topics are covered to help you start coding right away. In fact, you can practice coding as you read the book. The purpose of this book is to help you understand and know more about Web design and development using HTML and CSS. It is specially designed with a beginner like you in mind.

Go to >

Ruby. Объектно-ориентированное проектирование - Сэнди Метц

2017
русский

Мировой бестселлер по программированию на языке Ruby. Книга уже стала классической — с ювелирной точностью она описывает огранку профессионального кода на Ruby. Внимательно изучив это незаменимое руководство, вы сможете:

 

  • Понять, как писать на Ruby качественный код в духе ООП
  • Решать, что должно входить в состав класса Ruby
  • Не допускать тесной связи между объектами в тех случаях, когда требуется разграничить функциональность
  • Определять гибкие интерфейсы между объектами
  • Освоить утиную типизацию
  • Эффективно задействовать наследование, композицию и полиморфизм
  • Разрабатывать экономные тесты
  • Доводить до совершенства любой legacy-код Ruby
Go to >

Head-First Python. 2 Ed - Paul Barry

2017
english

 Want to learn the Python language without slogging your way through how-to manuals? With Head First Python, you’ll quickly grasp Python’s fundamentals, working with the built-in data structures and functions. Then you’ll move on to building your very own webapp, exploring database management, exception handling, and data wrangling. If you’re intrigued by what you can do with context managers, decorators, comprehensions, and generators, it’s all here. This second edition is a complete learning experience that will help you become a bonafide Python programmer in no time.

Why does this book look so different?

 Based on the latest research in cognitive science and learning theory, Head First Pythonuses a visually rich format to engage your mind, rather than a text-heavy approach that puts you to sleep. Why waste your time struggling with new concepts? This multi-sensory learning experience is designed for the way your brain really works.

Go to >

Разработка геоприложений на языке Python. 3 изд - Эрик Вестра

2017
русский

 Написание геопространственных программ предполагает решение таких задач, как группирование данных по географическому положению, хранение и анализ больших массивов информации, выполнение сложных расчетов и построение красочных интерактивных карт.

 Книга предоставляет обзор главных геопространственных понятий, источников геоданных и наборов инструментов для геообработки. Рассмотрены приемы хранения и доступа к пространственным данным. Показано создание собственного интерфейса со скользящей картой в рамках веб-приложения. Подробно описано создание редактора геоданных на основе географического модуля GeoDjango для веб-платформы Django.

 Издание адресовано опытным разработчикам на языке Python, которые хотели бы освоить концепции геопрограммирования, методы получения и работы с геоданными, решать пространственные задачи и конструировать сложные картографические приложения.

Go to >

Concurrency in Go - Katherine Cox-Buday

2017
english

 Concurrency can be notoriously difficult to get right, but fortunately, the Go open source programming language makes working with concurrency tractable and even easy. If you're a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems.

 Author Katherine Cox-Buday takes you step-by-step through the process. You'll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems. Learn the skills and tooling you need to confidently write and implement concurrent systems of any size.

  • Understand how Go addresses fundamental problems that make concurrency difficult to do correctly
  • Learn the key differences between concurrency and parallelism
  • Dig into the syntax of Go's memory synchronization primitives
  • Form patterns with these primitives to write maintainable concurrent code
  • Compose patterns into a series of practices that enable you to write large, distributed systems that scale
  • Learn the sophistication behind goroutines and how Go's runtime stitches everything together
Go to >

React Quickly - Azat Mardan

2017
english

 React Quickly is for anyone who wants to learn React.js fast. This hands-on book teaches you the concepts you need with lots of examples, tutorials, and a large main project that gets built throughout the book.

 Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

 Successful user interfaces need to be visually interesting, fast, and flowing. The React.js JavaScript library supercharges view-heavy web applications by improving data flow between UI components. React sites update visual elements efficiently and smoothly, minimizing page reloads. React is developer friendly, with a strong ecosystem to support the dev process along the full application stack. And because it's all JavaScript, React is instantly familiar.

About the Book

 React Quickly is the tutorial for web developers who want to get started fast with React.js. Following carefully chosen and clearly explained examples, you'll learn React development using your existing JavaScript and web dev skills. You'll explore a host of different projects as you learn about web components, forms, and data.

What's Inside

  • Master React fundamentals
  • Build full web apps with data and routing
  • Test components
  • Optimize React apps

About the Reader

 This book is for developers comfortable building web applications with JavaScript.

Go to >

Javascript и jQuery. Интерактивная веб-разработка - Джон Дакетт

2017
русский

 Эта книга – самый простой и интересный способ изучить JavaScript и jQuery. Независимо от стоящей перед вами задачи: спроектировать и разработать веб-сайт с нуля или получить больше контроля над уже существующим сайтом, эта книга поможет вам создать привлекательный, дружелюбный к пользователю веб-контент.

 Простой визуальный способ подачи информации с понятными примерами и небольшим фрагментом кода знакомит с новой темой на каждой странице.

 Вы найдете практические советы о том, как организовать и спроектировать страницы вашего сайта и после прочтения книги сможете разработать свой веб-сайт профессионального вида и удобный в использовании.

Go to >

Шаблоны проектирования Node.js - Лучано Маммино, Марио Каскиаро

2017
русский

 Воспользуйтесь самыми мощными компонентами и шаблонами платформы Node.js для создания масштабируемых модульных приложений!

 Node.js - популярная программная платформа, позволяющая легко и просто создавать масштабируемые серверные приложения на языке JavaScript. Она дает возможность писать эффективный и надежный код на единственном языке, с непревзойденным уровнем пригодности к повторному использованию, используя при этом полный стек технологий.

 В книге описаны асинхронная, однопоточная архитектура платформы, а также шаблоны асинхронного управления потоком выполнения и потоками данных. Рассмотрен подробный список реализаций распространенных, а также некоторых уникальных шаблонов проектирования в Node.js.

 В конце книги предложено детальное обсуждение более продвинутых идей, таких как «универсальный JavaScript» и масштабируемость. А в заключение перечислены основные идеи Node.js, которые пригодятся для создания приложений уровня предприятия.

Go to >

Секреты Javascript ниндзя. 2 изд - Беэр Бибо, Иосип Марас

2017
русский

 Язык JavaScript быстро становится универсальным для разработки различных типов приложений, будь то для веб, облака, настольных систем или мобильных устройств. Стать профессиональным разработчиком приложений на JavaScript — означает, что нужно приобрести ряд эффективных навыков, которые могут пригодиться во всех этих предметных областях. Во втором издании данной книги на многих практических примерах ясно демонстрируется каждое основное понятие или методика. Это издание было полностью переработано с целью показать, как овладеть такими понятиями JavaScript, как функции, замыкания, объекты, прототипы и обещания (обязательства). В нем рассматриваются и такие понятия, как модель DOM, события и таймеры, а также нормы передовой практики программирования, в том числе тестирование и разработка кросс-браузерного кода. И все это подается с позиции опытных практикующих специалистов по JavaScript, которыми являются авторы книги.

Основные темы книги

  • Написание более эффективного кода с помощью функций, объектов и замыканий
  • Преодоление скрытых препятствий, которые таит в себе разработка веб-приложений на JavaScript
  • Применение регулярных выражений для написания лаконичного кода, предназначенного для обработки текста
  • Управление асинхронным кодом с помощью обещаний
  • Рассмотрение языковых средств, внедренных в стандарты ES6 и ES7 языка JavaScript

 Для чтения этой книги совсем не обязательно быть профессиональным программистом на JavaScript. Нужно лишь иметь желание стать им. И если вы готовы стать мастером своего дела, то книга окажет вам в этом всяческую помощь.

Go to >

Pro RESTful APIs: Design, Build and Integrate with REST, JSON, XML and JAX-RS - Sanjay Patni

 Discover the RESTful technologies, including REST, JSON, XML, JAX-RS web services, SOAP and more, for building today's microservices, big data applications, and web service applications.  This book is based on a course the Oracle-based author is teaching for UC Santa Cruz Silicon Valley which covers architecture, design best practices and coding labs.

 Pro RESTful APIs: Design gives you all the fundamentals from the top down: from the top (architecture) through the middle (design) to the bottom (coding).  This book is a must have for any microservices or web services developer building applications and services.  

What You'll Learn

  • Discover the key RESTful APIs, including REST, JSON, XML, JAX, SOAP and more
  • Use these for web services and data exchange, especially in today's big data context Harness XML, JSON, REST, and JAX-RS in examples and case studies
  • Apply best practices to your solutions’ architecture 

Who This Book Is For

 Experienced web programmers and developers.

Go to >

Изучаем JavaScript. 3 изд - Этан Браун

2017
русский

 Сейчас самое время изучить JavaScript. После выхода последней спецификации JavaScript — ECMAScript 6.0 (ES6) — научиться создавать высококачественные приложения на этом языке стало проще, чем когда-либо ранее. Эта книга знакомит программистов (любителей и профессионалов) со спецификацией ES6 наряду с некоторыми связанными с ней инструментальными средствами и методиками на сугубо практической основе. Этан Браун, автор книги Web Development with Node and Express, излагает не только простые и понятные темы (переменные, ветвление потока, массивы), но и более сложные концепции, такие как функциональное и асинхронное программирование. Вы узнаете, как создавать мощные и эффективные веб-приложения для работы на клиенте или сервере Node.js.

Go to >

Practical Concurrent Haskell - Marius Mihailescu, Stefania Loredana Nita

2017
english

  Learn to use the APIs and frameworks for parallel and concurrent applications in Haskell. This book will show you how to exploit multicore processors with the help of parallelism in order to increase the performance of your applications.

 Practical Concurrent Haskell teaches you how concurrency enables you to write programs using threads for multiple interactions. After accomplishing this, you will be ready to make your move into application development and portability with applications in cloud computing and big data. You'll use MapReduce and other, similar big data tools as part of your Haskell big data applications development.

What You'll Learn

  • Program with Haskell
  • Harness concurrency to Haskell
  • Apply Haskell to big data and cloud computing applications
  • Use Haskell concurrency design patterns in big data
  • Accomplish iterative data processing on big data using Haskell
  • Use MapReduce and work with Haskell on large clusters
Go to >

RxSwift: Reactive Programming with Swift - Florent Pillet, Junior Bontognali, Marin Todorov, Scott Gardner

2017
english

 This book is for iOS developers who already feel comfortable with iOS and Swift, and want to dive deep into development with RxSwift.

 If you’re a complete beginner to iOS, we suggest you first read through the latest edition of the iOS Apprentice. That will give you a solid foundation of building iOS apps with Swift from the ground up but you might still need to learn more about intermediate level iOS development before you can work through all chapters in this book.

 If you know the basics of iOS development but are new to Swift, we suggest you read through Swift Apprentice first, which goes through the features of Swift using playgrounds to teach the language.

Go to >
1 2 3