Saturday, April 6, 2019

Today we continue discussing the best practice from storage engineering:

680) There is a lot in common between installer packages on any other desktop platform and the containerization deployment operators.

681) The setup of service accounts is part of the operator actions for deployment and it remains one of the core requirements for the deployment of the product.

682) The dependencies of the software deployment may include such things as identity provider. The identity provider facilitates the registrations of service accounts

683) Identity providers issue token for accounts and these can be interpreted for user and roles

684) Identity providers do not mandate the use of one protocol such as Oauth or JWT and it is easy to switch from one to the other with http requests.

685) The accounts can be made suitable for use with any Identity provider.
686) Storage products keep a journal with the data which helps with data collection.

687) Storage products also keep a ledger for the accesses to the data.
688) Storage products keep their indexes for their data so that it can be looked up faster.

689) Storage products use the journal, ledger and index to maintain data but they are eventually just collections of serialized data structures and they do not look very different at the lower levels.

690) Storage products do have to honor user organizations which means data has to be copied as many times as user indicates.

#codingexercise
Given two arrays A1[] and A2[] of size N and M respectively. The task is to sort A1 in such a way that the relative order among the elements will be same as those in A2. For the elements not present in A2, append them at last in sorted order. It is also given that the number of elements in A2[] are smaller than or equal to number of elements in A1[] and A2[] has all distinct elements.

    public class RelativeComparator {
       
        private Integer[] A2;
        public RelativeComparator(Integer[] A2) {
            this.A2 = A2;
        }

        public int compareTo(Integer a1, Integer a2, Integer[] A2) {
            int indexA = first(A2, a1);
            int indexB = first(A2, a2);
            if (indexA != -1 && indexB != -1) {
                return indexA - indexB;
            } else if (indexA != -1) {
                return -1;
            } else if (indexB != -1) {
                return -1;
            } else {
                return (a1 - a2);
            }
        }
    }
    int first(Integer[]A2, Integer key) {
        for (int index = 0; index < A2.length; index++) {
            if (A2[index] == key){
                return index;
            }
        }
        return -1;
    }
    public void sortA1ByA2(int[] A1, int[] A2) {
        java.util.Arrays.sort(A1, new RelativeComparator<Integer>(A2));
    }


No comments:

Post a Comment