Posts

RxJS: Accessing a previous value further down the pipe chain

Image
  Often we want to access a value from a previous operator in RxJS, but that value is no longer available. Let me illustrate the problem with an example: We have a users email in our code From the email we want to get a user object We then want to find all the products that this user has shown interest for We then want to see if our user is a premium member, if so we want to return the products with discounted prices getUser(email).pipe( mergeMap(user => getProducts(user.interests)), map(products => { // The line below will fail, the user is undefined if (user.isPremiumMember) { return discountPrices(products); } else { return products; } }) ); As you can see above, we want to access the user object both in the “mergeMap” and in the following “map”. But the user object is no longer available in the “map”. So what can we do? I will present 4 solutions to this problem Solution 1 and 2 will behave a bit  d ifferently from solution 3 and 4. ...
Image
  What is digital transformation? Digital transformation is the integration of digital technology into all areas of a business, fundamentally changing how you operate and deliver value to customers. It's also a cultural change that requires organizations to continually challenge the status quo, experiment, and get comfortable with failure. What is digital transformation? Why does digital transformation matter? How has the COVID-19 pandemic changed digital transformation? What does a digital transformation framework look like? What role does culture play in digital transformation? What drives digital transformation? What are the key trends in digital transformation in 2020? How can I measure ROI on digital transformation? How can I get started on digital transformation? Where can I learn more? Digital transformation is imperative for all businesses, from the small to the enterprise. That message comes through loud and clear from seemingly every keynote, panel discussion, article, or...

Pros and Cons of using Xcode Server for iOS Continuous Integration

Image
Continuous Integration  a.k.a. CI is an integral part of iOS development process which gives early feedback when something breaks during application development. In an agile application development, producing working app is not only writing good code but also setting up infrastructure to deliver it continuously. The process of Continuous Integration and automating the build can help to achieve continuous delivery. There are various continuous integration tools available in the market which can be used in the iOS team. The CI server solution can be self hosted or cloud. You can get whole list of CI servers  here  with recommendations. In the iOS development we have few challenging options while selecting self hosted CI server Xcode Server Jenkins TeamCity If you are looking for cloud solutions then there are some promising services like TravisCI CircleCI BuddyBuild Bitrise GreenhouseCI There are multiple tools so challenge is which one to choose and evalu...