Andrzej Krzywda from Arkency talking about all things software, including but not limited to Ruby, JS, OOP, DDD, CQRS, AI, business, sales, marketing
In this audio, we talk about the limitations of CRUD in representing the DB in the code. As an alternative, another approach is suggested - representing business in the code.
Later we talk about the reusability of business modules and how the low-code approach can fit here.
Arkency Ecommerce repo: https://github.com/RailsEventStore/cqrs-es-sample-with-res
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
When your application is event-driven or uses event sourcing, the feature of audit logs is almost for free.
Check, how I'm adding this feature in the Arkency Ecommerce app
https://github.com/RailsEventStore/cqrs-es-sample-with-res
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Slides: https://www.slideshare.net/andrzejkrzywda/event-driven-without-microservices
Example of modulith code: https://github.com/RailsEventStore/cqrs-es-sample-with-res
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
See the codebase here: https://github.com/RailsEventStore/cqrs-es-sample-with-res
Learn more about event-driven architectures: http://railsarchitects.com
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Check out our Book β‘ https://products.arkency.com/blogging/
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Wondering how to make the most of working from your home office? Looking for ways to optimize work organization in the present situation? Check out the video below for my review of βRemote Mob Programming, a book which offers interesting insights on remote work and the rules which should help us to squeeze as much as possible out of it.
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
The concept of B2D is that we're not treating developers as Consumers nor Businesses that much. We treat them as Developers.
This has an impact on the planned work on the CRM. The CRM will probably be more like DRM or DevCRM.
In the first spikes/explorations I will focus on modelling Arkency business processes, but the goal is to extract reusable domains, which can be applied in other projects too.
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Check out our Book β‘ https://products.arkency.com/async-remote/
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Hi everyone!
In this recording you can find:
β‘ code comments
β‘ commit messages
β‘ README files
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Hi everyone!
In this recording you can find:
β‘ Product Lines
β‘ Serialisation
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Hi everyone!
In this recording you can find:
β‘ full-stack developers vs specialised devs
β‘ JavaScript vs Ruby
β‘ Product Lines
β‘ Frontend as a client or as a variant
β‘ Opal Rb
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Hello everyone!
If you have ever wondered what makes a good rails architect and what skills and competences are required for the job, this video is for you. With another rails conference round the corner, I thought it would be a good idea to reflect on what it takes to become a competent rails architect and what challenges are facing the community today. Join me for another refreshing walk in the woods as I am sharing my perspective on this topic and discuss why it might not be the best idea to stay in the βrails bubbleβ. Plus, I am talking about the numerous events accompanying the upcoming WrocΕaw conference.
Join here: https://railsarchitects.com/
I would love to hear your opinions so feel free to leave a comment below!
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
β‘ Rails Architect MasterClass. Start on January 1, 2020.: https://arkency.com/masterclass/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
Find more:
β‘ Andrzej Krzywda on Twitter: https://twitter.com/andrzejkrzywda
β‘ Andrzej Krzywda on Instagram: https://www.instagram.com/andrzejkrzywda/
β‘ Rails Architect MasterClass. Start on January 1, 2020.: https://arkency.com/masterclass/
π Domain-Driven Rails: https://blog.arkency.com/domain-driven-rails/
π Fearless Refactoring: Rails Controllers https://rails-refactoring.com/
π Frontend-friendly Rails: https://blog.arkency.com/frontend-friendly-rails/
π React.js by Example: https://reactkungfu.com/react-by-example/
π Rails Meets React.js: https://blog.arkency.com/rails-react/
π Asnyc Remote: https://blog.arkency.com/async-remote/
π Responsible Rails: Trustworthy Developers: https://blog.arkency.com/responsible-rails/
π Blogging for Busy Programmers: https://blog.arkency.com/blogging/
β‘ Arkency Website: https://arkency.com/
β‘ Arkency Blog: https://blog.arkency.com/
β‘ Arkency on Twitter: https://twitter.com/arkency
β‘ Arkency on Facebook: https://www.facebook.com/arkency.com
β‘ Arkency on LinkedIn: https://www.linkedin.com/company/arkency/
As Arkency we're active on several social media platforms, we also post on our blog, publish a podcast, record videos on YouTube and much more. In this video, I'm sharing some of the lessons learnt so far.
This is a beginning of a new series: Social Media for Busy Programmers.
This audio is part of the Rails Architect Masterclass. Next edition (3rd) starts at 01.01.2020.
Register here - http://arkency.com/masterclass/ and join the growing number of Rails Architects (over100 students already in the first 2 editions).
Before fixing your code, fix your process! - read the βAsync Remoteβ book.
http://blog.arkency.com/async-remote/
Andrzej Krzywda and Artem Sarkisov talk about:
the world of code editors
the challenges of delivering to the Ruby community
the JetBrainsβ team
B2D
and much more!
25-26 May 2017, the Rails/DDD workshop in Lviv - http://blog.arkency.com/ddd-training/
Pivorak - https://pivorak.com
In this episode you'll learn a bit about the current state of art with AI and playing computer games.
The blogpost I'm talking about: http://blog.arkency.com/2017/02/how-to-unit-test-classes-which-depend-on-rails-models/
Link to my book about blogging: http://blog.arkency.com/blogging/
Sometimes it's hard to decide which way to go in the project.
2 techniques which help here:
You can hard-delete an object, you can also use a boolean flag "deleted", you can use a datetime field called "deleted_at". You can also have a record per each deletion. Finally, you can just use events.
What's best?
Collective Ownership + Small Stories + Single Backlog + Take the first task from the top
Those techniques help you achieve the milestone in the project, where you're able to work on any part of any system.
Integration tests bring more value if you're planning a bigger architecture refactoring. However, if you're mostly happy with the architecture, then unit tests will give you more benefits.
When is a good moment not to change an existing code but instead write a new module/class and replace it, in the spirit of immutability?
One person working remotely forces the whole company to follow remote techniques, in order to be efficient.
Often developers are waiting for the mythical Domain Expert to ask questions. What if most of the questions can be answered by google?
We're often asked for estimates, but the business is not always specific what is the actual need. Do they care about the calendar deadline or do they care about the budget now?
We try to find the perfect tool which would fit both, the developers and the project managers? What if this is a non-perfect approach? What if we go with two different tools?