下载频道  >  红眼睛阿义的资源
  • painless_vim.pdf

    Painless Vim is written by a professional developer who tried to learn vim a number of times before it finally stuck. I kept falling into the same cycle: I'd read a wide a array of books, online tutorials, print-outs, go through all their steps, and in the end get almost nowhere. Then I'd quietly go back to my editor of choice until next time I decided to try it out. It wasn't until I started abusing the patience of a fellow developer who was a few months ahead of me on the vim learning curve that I came to finally understand how much power vim actually has to offer. He didn't try to tell me that I had to do everything "the vim way" or even that I had to give up my favorite editor. Instead he quietly and kindly gave me pointers that I could understand, advice I could appreciate, and encouragement to keep trying. With his help I was surprised how quickly I got comfortable with vim, and how much faster I've been ever since. And now I want to pass that kind of learning along. Painless Vim starts with the understanding that you're an intelligent, busy person who has to get actual work done along with learning a new text editor. This book is designed to help you get comfortable with vim incrementally, without demanding that you toss your mouse out the window and disable all the keyboard shortcuts you've learned over the years. The goal is to introduce you to the 20% of vim that you'll use most often first, and give you pointers to the 80% you'll use less often when you're ready to explore. Painless Vim is also designed to be short, easy to read, and inexpensive, so you can learn quickly and painlessly if vim is for you, without slogging through 500 pages or shelling out a ton of money just to go back to your editor of choice. I think you'll like this book, and I think that before too long you'll find that using vim is actually fun and that learning it was, well, painless.

    2020-04-07
    6
  • painless_git.pdf

    Git is the lingua franca of team-based software development. And with good reason. Git is powerful, flexible, well-built, and battle hardened. It can also be just a bit daunting. Merge conflicts pop up and litter your code with random rows of equal signs and angle brackets. You get great advice about rebasing instead of merging, which is a good idea except for those times where it's a bad idea. Stray too far into the weeds and you start hearing about "reflog" which sounds like "hitting someone again". that's no way to live. Which is why I'm here. I've been teaching teams how to use git for about five years now, and trust me, I've seen every mess a team can get into with git. Painless Git is a distillation of all the best git advice I've found over the years, helping you not only start using git, but start using it well. Once you've got a solid understanding of the basics of git, I'll help you build the confidence you need to find your way out of messes without resorting to the old "delete your working directory and start over" technique. The Painless series is designed around developers who have a lot to do. I take it as read that you're intelligent and don't want to spend your time reading tech books. Painless Git is designed to be short, easy to read, and inexpensive, so you can learn how to manage distributed development quickly and get to work. I think you'll like this book and before too long you'll find that using git is actually fun, and learning it was, well, painless.

    2020-04-07
    10
  • Apress.Cplusplus17.Standard.Library.Quick.Reference.1484249224.pdf

    This quick reference is a condensed guide to the essential data structures, algorithms, and functions provided by the C++17 Standard Library. It does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge or programming experience. Even the most experienced C++ programmer will learn a thing or two from it and find it a useful memory-aid. It is hard to remember all the possibilities, details, and intricacies of the vast and growing Standard Library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with practical tips and well-chosen, clarifying examples. This new edition is updated to include all Standard Library changes in C++17, including the new vocabulary types std::string_view, any, optional, and variant; parallel algorithms; the file system library; specialized mathematical functions; and more. What You Will Learn Gain the essentials that the C++ Standard Library has to offer Use containers to efficiently store and retrieve your data Inspect and manipulate your data with algorithms See how lambda expressions allow for elegant use of algorithms Discover what the standard string class provides and how to use it Write localized applications Work with file and stream-based I/O Prevent memory leaks with smart pointers Write safe and efficient multi-threaded code using the threading libraries Who This Book Is For All C++ programmers, irrespective of their proficiency with the language or the Standard Library. A secondary audience is developers who are new to C++, but not new to programming, and who want to learn more about the C++ Standard Library in a quick, condensed manner.

    2019-07-31
    6
  • Packt.Hands-On.GUI.Application.Development.in.Go.1789138418.epub

    Go is often compared to C++ when it comes to low-level programming and implementations that require faster processing, such as Graphical User Interfaces (GUIs). In fact, many claim that Go is superior to C++ in terms of its concurrency and ease of use. Most graphical application toolkits, though, are still written using C or C++, and so they don't enjoy the benefits of using a modern programming language such as Go. This guide to programming GUIs with Go 1.11 explores the various toolkits available, including UI, Walk, Shiny, and Fyne. The book compares the vision behind each project to help you pick the right approach for your project. Each framework is described in detail, outlining how you can build performant applications that users will love. To aid you further in creating applications using these emerging technologies, you'll be able to easily refer to code samples and screenshots featured in the book. In addition to toolkit-specific discussions, you'll cover more complex topics, such as how to structure growing graphical applications, and how cross-platform applications can integrate with each desktop operating system to create a seamless user experience. By delving into techniques and best practices for organizing and scaling Go-based graphical applications, you'll also glimpse Go's impressive concurrency system. In the concluding chapters, you'll discover how to distribute to the main desktop marketplaces and distribution channels. By the end of this book, you'll be a confident GUI developer who can use the Go language to boost the performance of your applications.

    2019-07-31
    26
  • AW.The.Pragmatic.Programmer.2nd.Edition.0135957052.epub 程序员修炼之道第二版

    “One of the most significant books in my life.” —Obie Fernandez, Author, The Rails Way “Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours.” —Mike Cohn, Author of Succeeding with Agile, Agile Estimating and Planning, and User Stories Applied “. . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come.” —Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks “. . . lightning does strike twice, and this book is proof.” —VM (Vicky) Brasseur, Director of Open Source Strategy, Juniper Networks The Pragmatic Programmer is one of those rare tech books you’ll read, re-read, and read again over the years. Whether you’re new to the field or an experienced practitioner, you’ll come away with fresh insights each and every time. Dave Thomas and Andy Hunt wrote the first edition of this influential book in 1999 to help their clients create better software and rediscover the joy of coding. These lessons have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories. Now, twenty years later, this new edition re-examines what it means to be a modern programmer. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you’ll learn how to: Fight software rot Learn continuously Avoid the trap of duplicating knowledge Write flexible, dynamic, and adaptable code Harness the power of basic tools Avoid programming by coincidence Learn real requirements Solve the underlying problems of concurrent code Guard against security vulnerabilities Build teams of Pragmatic Programmers Take responsibility for your work and career Test ruthlessly and effectively, including property-based testing Implement the Pragmatic Starter Kit Delight your users Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You’ll become a Pragmatic Programmer. Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

    2019-07-31
    48
  • Go Design Patterns for Real-World Projects.epub

    Go: Design Patterns for Real-World Projects What You Will Learn: Install and configure the Go development environment to quickly get started with your first program Use the basic elements of the language including source code structure, variables, constants, and control flow primitives Get to know all the basic syntax and tools you need to start coding in Go Create unique instances that cannot be duplicated within a program Build quirky and fun projects from scratch while exploring patterns, practices, and techniques, as well as a range of different technologies Create websites and data services capable of massive scaling using Go’s net/http package, Explore RESTful patterns as well as low-latency WebSocket APIs Interact with a variety of remote web services to consume capabilities, ranging from authentication and authorization to a fully functioning thesaurus

    2019-07-28
    5
  • Go Design Patterns for Real-World Projects

    Go: Design Patterns for Real-World Projects What You Will Learn: Install and configure the Go development environment to quickly get started with your first program Use the basic elements of the language including source code structure, variables, constants, and control flow primitives Get to know all the basic syntax and tools you need to start coding in Go Create unique instances that cannot be duplicated within a program Build quirky and fun projects from scratch while exploring patterns, practices, and techniques, as well as a range of different technologies Create websites and data services capable of massive scaling using Go’s net/http package, Explore RESTful patterns as well as low-latency WebSocket APIs Interact with a variety of remote web services to consume capabilities, ranging from authentication and authorization to a fully functioning thesaurus

    2019-07-28
    6
  • The Busy Coders Guide to Android Development最终版2019

    The Table of Contents Each bullet shown below represents a chapter. Use the search field in the nav bar to search all of the CommonsWare books to see what they hold! Key Android Concepts Choosing Your Development Toolchain Tutorial #1 - Installing the Tools Android and Projects Tutorial #2 - Creating a Stub Project Getting Around Android Studio Contents of Android Projects Introducing Gradle and the Manifest Tutorial #3 - Manifest Changes Some Words About Resources Icons Tutorial #4 - Adjusting Our Resources The Theory of Widgets The Android User Interface Basic Widgets Debugging Your App The Classic Container Classes Other Common Widgets and Containers Tutorial #5 - Creating a Layout GUI Building, Continued AdapterViews and Adapters The WebView Widget Defining and Using Styles Dependencies Tutorial #6 - Adding a Library Introducing ConstraintLayout RecyclerView The Action Bar Vector Drawables Tutorial #7 - Setting Up the Action Bar Android’s Process Model Activities and Their Lifecycles Tutorial #8 - Setting Up An Activity The Tactics of Fragments Tutorial #9 - Starting Our Fragments Swiping with ViewPager Tutorial #10 - Rigging Up a ViewPager Resource Sets and Configurations Material Design Basics Dealing with Threads Requesting Permissions Assets, Files, and Data Parsing Tutorial #11 - Adding Simple Content Tutorial #12 - Displaying the Book Using Preferences Tutorial #13 - Using Some Preferences SQLite Databases Tutorial #14 - Saving Notes Internet Access Intents, Intent Filters Broadcasts and Broadcast Receivers Tutorial #15 - Sharing Your Notes Services and the Command Pattern Tutorial #16 - Updating the Book Tutorial #17 - Supporting Large Screens Backwards Compatibility Strategies and Tactics System Services Google Play Services Getting Help Working with Library Modules Gradle and Tasks Gradle Build Variants Manifest Merger Rules Signing Your App Distribution Writing a Gradle Plugin Code Generation Advanced Gradle for Android Tips Testing with JUnit4 Testing with Espresso Testing with UI Automator Measuring Test Coverage Unit Testing MonkeyRunner and the Test Monkey Java 8 Lambda Expressions Rx Basics Notifications Advanced Notifications Multi-Window Support Advanced ConstraintLayout GridLayout Dialogs and DialogFragments Advanced ListViews Action Modes Other Advanced Action Bar Techniques Toolbar AppCompat: The Official Action Bar Backport The Android Design Support Library Advanced RecyclerView Advanced Uses of WebView The Input Method Framework Fonts and Text Rich Text Animators Legacy Animations Custom Drawables Mapping with Maps V2 Crafting Your Own Views Advanced Preferences Custom Dialogs and Preferences Progress Indicators More Fun with Pagers Focus Management and Accessibility Miscellaneous UI Tricks Event Bus Alternatives Tasks The Assist API (“Now On Tap”) The Autofill API The Data Binding Framework Drag and Drop Keyboard and Mouse Input Viewing PDFs Home Screen App Widgets Adapter-Based App Widgets Publishing Slices Hosting Slices Advanced Permissions Restricted Profiles and UserManager Device Authentication Keys and the Keystore Miscellaneous Security Techniques Content Provider Theory Content Provider Implementation Patterns The Loader Framework The ContactsContract and CallLog Providers The CalendarContract Provider The MediaStore Provider Consuming Documents Providing Documents Encrypted Storage Packaging and Distributing Data Advanced Database Techniques Data Backup SSL NetCipher Miscellaneous Network Topics Audio Playback Audio Recording Video Playback Using the Camera via 3rd-Party Apps Working Directly with the Camera Media Routes Supporting External Displays Google Cast and Chromecast The “Ten-Foot UI” Putting the TVs All Together: Decktastic Creating a MediaRouteProvider The Media Projection APIs AlarmManager and the Scheduled Service Pattern PowerManager and WakeLocks JobScheduler Accessing Location-Based Services The Fused Location Provider Working with the Clipboard Telephony Working With SMS NFC Device Administration Basic Use of Sensors Printing and Document Generation Basic Bluetooth RFCOMM Dealing with Different Hardware Writing and Using Parcelables Responding to URLs App Shortcuts PackageManager Tricks Remote Services and the Binding Pattern Advanced Manifest Tips Miscellaneous Integration Tips Android Studio Editors and Dialogs Advanced Emulator Capabilities Lint and the Support Annotations Inspecting Layouts Screenshots and Screencasts ADB Tips and Tricks Stetho Issues with Speed Finding CPU Bottlenecks Focus On: NDK Improving CPU Performance in Java Finding and Eliminating Jank Issues with Bandwidth Focus On: TrafficStats Measuring Bandwidth Consumption Being Smarter About Bandwidth Issues with Application Heap Finding Memory Leaks Issues with System RAM Issues with Battery Life Power Measurement Options Sources of Power Drain Addressing Application Size Issues Crash Reporting Using ACRA In-App Diagnostics Anti-Patterns Widget Catalog: AdapterViewFlipper Widget Catalog: CalendarView Widget Catalog: DatePicker Widget Catalog: ExpandableListView Widget Catalog: SeekBar Widget Catalog: SlidingPaneLayout Widget Catalog: StackView Widget Catalog: TabHost and TabWidget Widget Catalog: TimePicker Widget Catalog: ViewFlipper Device Catalog: Chrome and Chrome OS Device Catalog: BlackBerry Device Catalog: Android TV Device Catalog: Amazon Fire TV and Fire TV Stick Device Catalog: Samsung DeX Appendix A: CWAC Libraries Appendix B: Android 8.0 Appendix C: Android 9.0 Appendix D: Community Theater and the Appinars

    2019-03-22
    9
  • The Busy Coder's Guide to Android Development V8.12

    What’s New in Version 8.12? For those of you who have read previous editions of this book, here are some of the highlights of what is new in the prose in Version 8.12. This update: • Adds more to the Android P coverage, including: ◦ A dedicated chapter on publising slices ◦ BiometricPrompt (as the replacement for FingerprintDialog, which itself replaces the now-deprecated FingerprintManager) ◦ AppComponentFactory ◦ WebView tracing ◦ New salvos in “the War on Background Processing” • Updates much of the book to cover Android Studio 3.1 • Added material on the 1.1 release of ConstraintLayout, including groups, barriers, percentage constraints, and circular constraints • Rewrote the fragments chapter to focus on the fragments backport • Updated most remaining samples to use the fragments backport, for those that were not doing so already • Converted some samples that were using ListView to use RecyclerView, and moved the RecyclerView chapter to be earlier in the book • Added some material on the Chrome OS emulator • Moved the material on SlidingPaneLayout to the Widget Catalog • Made minor improvements to the chapters on Espresso, unit testing, and Ui Automator • Retired the chapter on dynamic code, the chapter on Android Things, the chapter on SlidingDrawer (from the Widget Catalog), and the chapter on l PREFACE large screen strategies, as well as some other specific sample apps and their corresponding sections) • Fixes a variety of errata and other miscellaneous bugs

    2018-06-16
    6
  • ios多线程编程指南

    线程是单个应用中可以并发执行多个代码路径的多种技术之一。虽然更新的技术如操作对象(Operation objects)和Grand Central Dispatch(GCD),提供一个更加现代化和高效率的基础设施来实现多核并发,但是Mac OS X和iOS也提供一套接口来创建和管理线程。 本文档介绍了Mac OS X上面的可用线程包,并且演示如何使用它们。本文档还描述了在你的应用中多线程代码同步的相关技术。

    2014-04-14
    10
  • 分享达人

    成功上传6个资源即可获取
关注 私信 TA的资源