Code Monkey home page Code Monkey logo

book-club's People

Contributors

sergioalvz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

book-club's Issues

DDD 101 — The 5-Minute Tour

DDD 101 — The 5-Minute Tour

Articles about DDD. It seems to be a good introduction to DDD concept

  • What is it?
    • A book 📚
    • An article 📄
    • Other
  • What topic or topics does it cover? (check out the topic:* related labels if you need some inspiration)
    • software-design
  • Link to:

Xtrem reading session 2019-01-14

📚Book proposals

@daviceitor: "Working with legacy code"
@SantiMA10: "Agile Technical Practices Distilled" (facilitator)
@fernandofreije: "Extreme programming"
RobertoM: "Head first designing patterns"

🤔 Retro

😱 One thing that surprised me:

@daviceitor: The extreme programming philosophy looks really nice, I would like to start to read it in the next weeks
@fernandofreije : It seems like all the books we have read have a lot of "good practices" in common, like they are all going in the same direction.
@SantiMA10: Everything is connected, I mean there are a lot of references between each book: same vocabulary(pair programming, TDD...), one book recommends another book, (Agile Technical Practices Distilled -> Working with legacy code)...

🤓 One thing that I learn:

@daviceitor: I should start to be more aware of the patterns on the development process and be more conscious about which pattern I'm applying and why.
@fernandofreije Revisiting old patterns that I already had forgotten. as @daviceitor said, we should be more aware of their existence.
@SantiMA10: Everything needs its time, a super interesting book may not be the one you have to read at that time.

😅 One thing that I would like to do differently:

@daviceitor: We should have some preparations before the bookclub in order to keep it shorter(the last session long about 1 and a half hour)
@fernandofreije: Just timings and finding a way to make books more available for remote guests.
@SantiMA10: As @daviceitor and @fernandofreije we need to improve timing and remote assistance.

Designing Data-Intensive Applications

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?

In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.

Mismatch: how inclusion shapes design

“Mismatch: how inclusion shapes design”- Kat Holmes

Sometimes designed objects reject their users: a computer mouse that doesn't work for left-handed people, for example, or a touchscreen payment system that only works for people who read English phrases, have 20/20 vision, and use a credit card. Something as simple as color choices can render a product unusable for millions. These mismatches are the building blocks of exclusion. In Mismatch, Kat Holmes describes how design can lead to exclusion, and how design can also remedy exclusion. Inclusive design methods―designing objects with rather than for excluded users―can create elegant solutions that work well and benefit all.

Holmes tells stories of pioneers of inclusive design, many of whom were drawn to work on inclusion because of their own experiences of exclusion. A gamer and designer who depends on voice recognition shows Holmes his "Wall of Exclusion," which displays dozens of game controllers that require two hands to operate; an architect shares her firsthand knowledge of how design can fail communities, gleaned from growing up in Detroit's housing projects; an astronomer who began to lose her eyesight adapts a technique called "sonification" so she can "listen" to the stars.

Designing for inclusion is not a feel-good sideline. Holmes shows how inclusion can be a source of innovation and growth, especially for digital technologies. It can be a catalyst for creativity and a boost for the bottom line as a customer base expands. And each time we remedy a mismatched interaction, we create an opportunity for more people to contribute to society in meaningful ways.

  • What is it?
    • A book 📚
    • An article 📄
    • Other
  • What topic or topics does it cover?
    • UX
    • Design
    • Accessibility
  • Link: https://mitpress.mit.edu/books/mismatch
  • The author is currently the UX Design Director @ Google

eXtreme Programming Explained

Extreme Programming Explained: Embrace Change, 2nd Edition (The XP Series)

Accountability. Transparency. Responsibility. These are not words that are often applied to software development.

In this completely revised introduction to Extreme Programming (XP), Kent Beck describes how to improve your software development by integrating these highly desirable concepts into your daily development process.

The first edition of Extreme Programming Explained is a classic. It won awards for its then-radical ideas for improving small-team development, such as having developers write automated tests for their own code and having the whole team plan weekly. Much has changed in five years. This completely rewritten second edition expands the scope of XP to teams of any size by suggesting a program of continuous improvement based on:

  • Five core values consistent with excellence in software development
  • Eleven principles for putting those values into action
  • Thirteen primary and eleven corollary practices to help you push development past its current business and technical limitations

Whether you have a small team that is already closely aligned with your customers or a large team in a gigantic or multinational organization, you will find in these pages a wealth of ideas to challenge, inspire, and encourage you and your team members to substantially improve your software development.

You will discover how to:

  • Involve the whole team—XP style
  • Increase technical collaboration through pair programming and continuous integration
  • Reduce defects through developer testing
  • Align business and technical decisions through weekly and quarterly planning
  • Improve teamwork by setting up an informative, shared workspace

You will also find many other concrete ideas for improvement, all based on a philosophy that emphasizes simultaneously increasing the humanity and effectiveness of software development.

Every team can improve. Every team can begin improving today. Improvement is possible—beyond what we can currently imagine. Extreme Programming Explained, Second Edition, offers ideas to fuel your improvement for years to come.

  • What is it?
    • A book 📚
    • An article 📄
    • Other
  • What topic or topics does it cover?
    • Economics of software development, cost of change.
    • Planning, development, design, testing and facilities strategies.
    • Implementing XP (adopting, retrofitting, lifecycle, roles, limits…)
  • Links:
  • Dave Thomas (The Pragmatic Programmer) says:

"This book is dynamite! It was revolutionary when it first appeared a few years ago, and this new edition is equally profound. For those who insist on cookbook checklists, there's an excellent chapter on 'primary practices, ' but I urge you to begin by truly contemplating the meaning of the opening sentence in the first chapter of Kent Beck's book: 'XP is about social change.' You should do whatever it takes to ensure that every IT professional and every IT manager--all the way up to the CIO--has a copy of Extreme Programming Explained on his or her desk."

Accelerate

Accelerate

The science of lean software and DevOps: building and scaling high performing technology organizations

Accelerate your organization to win in the marketplace.

How can we apply technology to drive business value? For years, we've been told that the performance of software delivery teams doesn't matter―that it can't provide a competitive advantage to our companies. Through four years of groundbreaking research to include data collected from the State of DevOps reports conducted with Puppet, Dr. Nicole Forsgren, Jez Humble, and Gene Kim set out to find a way to measure software delivery performance―and what drives it―using rigorous statistical methods. This book presents both the findings and the science behind that research, making the information accessible for readers to apply in their own organizations.

Readers will discover how to measure the performance of their teams, and what capabilities they should invest in to drive higher performance. This book is ideal for management at every level.

  • What is it?
    • A book 📚
    • An article 📄
    • Other
  • What topic or topics does it cover?
    • Software delivery (performance)
    • DevOps
    • Lean Software
    • Scaling high-performing technology organizations
  • Links:
  • Martin Fowler says: "2018 Software Book of the Year".

Inversion of Control Containers and the Dependency Injection pattern

Inversion of Control Containers and the Dependency Injection pattern

[...] In this article I dig into how this pattern works, under the more specific name of "Dependency Injection", and contrast it with the Service Locator alternative. The choice between them is less important than the principle of separating configuration from use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.