Using Apache Kafka for Asynchronous Communication in Microservices

  • In this post, we’ll look at how to set up an Apache Kafka instance, create a user service to publish data to topics, and build a notification service to consume data from those topics.
  • One of the required configuration options for the Kafka service is , which tells Kafka where to find the Zookeeper instance.
  • To publish data to a Kafka topic, we are going to create a user service that provides two endpoints: – – We use the NPM package to create a producer that connects to Kafka from our node app: – – We create a new promise object that resolves to a…
  • This is used in our function, which publishes data to a Kafka topic partition: – – To consume data from our Kafka topic, we are going to create a notification service that listens for data coming from our topics and sends an email with either a verification code or success…
  • Our two-factor authentication app demonstrates the communication pattern between only two microservices using Apache Kafka (there are other systems like RabbitMQ, ZeroMQ), but by decoupling communication between those services, we add flexibility for the future.

if you’re considering microservices, you have to give serious thought to how the different services will communicate. In this post, we’ll look at how to set up an Apache Kafka instance, create a user service to publish data to topics, and build a notification service to consume data from those topics.
Continue reading “Using Apache Kafka for Asynchronous Communication in Microservices”

React.js Overview via Alex Azarov  #webdev

React.js Overview via Alex Azarov  #webdev

  • Comparing React.js with Angular or other MVC frameworks makes no sense since React is just a representation.
  • Thus, a = b + c, and A will always depend on the values of B an C. – – React constantly works with the DOM, re-rendering it when conditions change (the part of the DOM that is changed by React.js is called a component).
  • Prior to React, such a practice would have seriously affected the application’s performance, but the developers of React.js approached this problem quite radically: they completely rewrote the DOM in JavaScript.
  • An important feature of React.js is the use of JSX.
  • There exist other extensions for React.js, however, considering the “weight” of the framework, their use should be minimized.

A discussion of the React.js web development framework, the pros and cons of this development tool, and who would be best suited using React in their projects.
Continue reading “React.js Overview via Alex Azarov  #webdev”

Getting Started With React Programming

Getting Started With #ReactProgramming by @KumarPraveen179 cc @CsharpCorner  #Reactjs

  • You should know the basic concepts of JavaScript like – – – Basically, it is a JavaScript library for building user interfaces.
  • We can say that it’s a new type of JS library, offering a new approach to build/update a View.
  • It creates a virtual DOM to track the changes when the application state is updated and uses the virtual DOM to update only those parts of a page which have been changed.
  • It was first deployed on Facebook’s Newsfeed in 2011 and after that, on – – Where To Use React – – As we discussed above, it’s a JavaScript library so, it is possible to use React everywhere where JavaScript code can be executed.
  • In the upcoming article, I will explain more about virtual DOM using programming example along with the graphical view.

React is a JavaScript library for building user interfaces. It is developed by Facebook to facilitate the building with the interactive, stateful and reusable UI components.
Continue reading “Getting Started With React Programming”

Query Components with Apollo – Kureev Alexey – Medium

  • After Apollo takes care of fetching and mapping props to query parameters, query component uses “function-as-a-child” approach to expose a child-independent API with injected data.Comparing to the standard approach were you add a graphql wrapper to your higher-order components, query components have a set of advantages:Testability.
  • Query Components abstracts out your data management layer so you can focus on business logic and change underlying implementation if needed.Once a Query Component is defined, it can be used as an any other component in your application:A nice side effect of decoupling higher-order components into Query Components is minimizing…
  • If the data management layer grows, it won’t affect presenter components unless they have to reflect new data properties.Mutations with Query ComponentsMutations are not that straightforward as queries.
  • For example:Therefore, you can use this component in a similar way:So the concept is the same: Query Component receives a bunch of props that are later on used as parameters for the mutation query.Testing Query Components like a Pro 😎How to test Query Components?When it comes to testing, Apollo-based components have…
  • In other words, we check if given data.x complies to the shape of the mock that was passed to the fake client during initialization.And the last, but not least: query component should call a children function with the data, pulled from Apollo.

A couple of months ago, we started to use Apollo Client (+React Native) at Werkspot. From the very beginning, Apollo overwhelmed us by the simplicity and flexibility it provides. It inspired us to…
Continue reading “Query Components with Apollo – Kureev Alexey – Medium”

How to Style React Components with styled-component

  • With components, it has started to make more sense to include styling inline within a component like so:source: www.styled-components.comWhy Inline Styling?You may be thinking to yourself, isn’t inline styling bad practice?
  • In the case of components though, inline styling has many advantages over vanilla CSS styling.
  • Acording to Radium’s website (another tool for inline styling) the benefits of using inline styling with components are:Scoped styles without selectors (styles are on component itself)Avoids specificity conflicts (two style definitions for one element)Source order independence (doesn’t rely on the order files are imported)Dead code elimination (no unused classes as in CSS)Highly expressive (easier to read JSX)Original using styled-components— cool.
  • extend“ syntax.Styling with styled-componentsResulting WebpageFinishing UpInline styling of components is a powerful option to consider when building out user interfaces with React.
  • There is a lot more that styled-components is capable of and I recommend looking through there tutorials and guides to get a better understanding of how awesome inline styling of your components can be!

Traditional styling of websites relies on having an external stylesheet with CSS. This tradition has been challenged with the advent of React and component based UI design. With components, it has…
Continue reading “How to Style React Components with styled-component”

Redux middleware logging basics – Ben Garrison – Medium

Redux middleware logging basics  #beer #javascript #middleware #redux #react #reactjs

  • Wouldn’t it be great to be able to go back and look at the exact state of the application at the time of the crash and even the actions that led up to the crash?
  • You would have to spread these things all over your application to catch your store at different phases of change.
  • When you are working on larger apps however, there are advantages to having a single definition point.
  • Let’s see how that may look:You can see above that we have combined 3 middleware:Our new custom loggerRedux Thunk for handling asynch callsRouterMiddleware that captures and redirects actions to your historyYou can combine middleware and they have no need to know about the ‘ware that proceeds or follows them.
  • The moment between the Action and the Reducer is a critical exchange and using middleware to cleanly log state can improve the overall quality of your app.

I have written previously about REDUX and some of its features, if you are interested in a more general introduction, please check out the post below. Implementing this FLUX-style architecture has…
Continue reading “Redux middleware logging basics – Ben Garrison – Medium”

Isomorphic Javascript — Javascript all the things

  • With the creation of node.js and increasing popularity of single page javascript applications, it’s only natural to want to javascript all the things.
  • Using a single language on the client and server allows for many advantages in today’s world, but there are also some pitfalls that need to be considered.
  • In this talk we will cover:

    • What is isomorphic JavaScript

    • What does server side render of JS look like

    • How is it possible to use the same language and frameworks in client and server side code

    • What benefits can be gained by using a common language and framework.

  • Join us as Jarrod Zywein shows us how to JavaScript ALL THE THINGS.

Iso-who-now? Iso-what-what?
With the creation of node.js and increasing popularity of single page javascript applications, it’s only natural to want to jav
Continue reading “Isomorphic Javascript — Javascript all the things”

Introduction – Developing a native mobile app with React-Native and Typescript – Medium

Introduction  #typescript #javascript #react #reactnative

  • We decided on developing a mobile app with react-native just because the idea of developing a native mobile app with javascript felt very exciting.We also thought of using Typescript with React because we feel it not only just brings type-safety to the javascript code but in-fact brings all the advantages of object-oriented programming allowing us to think javascript code in terms of some well-established design patterns and standards that help us design highly scalable code.
  • The goodies it brings — abstract and concrete classes, types, interface, enums are hard to resist.As we started on the development of the app, I thought it would be a good idea to put our learnings here in a series as it not only will help us document our tasks but would also help other react-native learners and developers.In this series, we will document step-by-step each task that we work on during the development of this app, right from the initial project set-up to its final implementation and release to the app store.What app we are going to developThe app we would be developing would be a simple photo albums app, where user can create an album and add photos to its from his/her mobile.Tech-stack to be usedUI using react-native + TypescriptStorage — Azure DocumentDBREST API using node.js, Azure DocumentDB Node APIAuthentication — oAuth (Facebook and Google)Targeted platformsIn its first version, we are planning to target only Android platform simply because couple of us in the team don’t own a Mac Book and apple doesn’t allow to develop iOS apps from any other operating system.Github RepoOur LimitationsWe are all learners of react/react-native, also this being a side project that we all will work on in our spare time, we are anticipating the project to go on a bit slow pace.Functional Testing — we don’t have a QE Automation expert in our team yet, so for most of its part Functional testing would be manual3.
  • Environment — for the UI app, we will use emulators on our local system to test our code.
  • Being a mobile app, it would be released to Android Playstore and thus we don’t need to maintain any servers for the UI app4.
  • So stay tuned, more stories to come soonInterested in joining us in this wonderful journey?we’ll be glad to have you in our team, pls email to us at iw2dev@gmail.com with a little bit about yourself

Couple of weeks back, I and some of my friends, started on a side/hobby project to learn reactJS. We decided on developing a mobile app with react-native just because the idea of developing a native…
Continue reading “Introduction – Developing a native mobile app with React-Native and Typescript – Medium”

You Might Not Need React – Hacker Noon

You Might Not Need React  #Reactjs #JavaScript

  • You have the limited developers team with their skills and limited time for work.
  • People around want us to use the newest technologies available to us, right after they have been created.
  • We leave off working on our projects not written with React / ES6 / Webpack (or name another new technology) just because it’s not cool that they were written not with it.
  • New technology is not always a good thing.
  • I don’t mean that we don’t have to move on and bring new technologies into the development of our products.

“If you are a front-end developer and you still don’t use React in your projects, you might be a bad front-end developer. You don’t use ES6 either, do you? Too bad for you then. Maybe Webpack? No…
Continue reading “You Might Not Need React – Hacker Noon”

React Native Take-off: Getting to know technology & peers

pretty cool logo for the react-native user group … meeting tonight

  • If you want to help me out, let me know what your interests are and if you have worked with React Native before.
  • Overview of the state of the art, getting hands on with React Native, getting to know your peers and building teams
  • Then you can participate in a open end hands-on coding session, where we will start coding with React Native and you will have the opportunity to get to know the other attendees.
  • React Native Take-off: Getting to know technology & peers
  • App developers tired of writing two apps for iOS + Android and mobile website approaches like Cordova getting hands-on with React Native.

Overview of the state of the art, getting hands on with React Native, getting to know your peers and building teams
19:00 Pizza (sponsored by our host)
At 19:30 pm I will give a short intro to React N
Continue reading “React Native Take-off: Getting to know technology & peers”