Posts

Showing posts with the label General

LLM- Large Language Models

Image
Large Language Models(LLMs)  have generated much hype in recent months (see Figure 1). The demand has led to the ongoing development of websites and solutions that leverage language models.  ChatGPT   set the record for the fastest-growing user base in January 2023, proving that language models are here to stay. This is also shown by the fact that Bard, Google’s answer to ChatGPT, was introduced in February 2023. Language models are also opening new possibilities for businesses, as they can: Automate process Save time and money Drive personalization Increase accuracy in tasks Yet, large language models are a new development in computer science. Because of this, business leaders may not be up-to-date on such models. We wrote this article to inform curious business leaders in large language models: Definition Examples Use cases Training Benefits Challenges   What is a large language model? Large language models (LLMs) are  foundation models that utilize ...

Usage of websites?

 The primary purpose for some websites is simply to present, share, or display some information or content online.  primary purposes are To Sell  : The primary purpose of any ecommerce website is likely sales: the website exists to sell products or services online. Success in achieving this primary purpose will require clear communication of the value users will realize by making a purchase, as well as a user-friendly checkout and payment process. to generate leads :the purpose of the website is to attract qualified leads and allow them to submit their information to the business, who will then follow-up with a sales call.         To Inform  : Many of the internet’s largest websites are driven by the primary purpose of informing or educating users. Most news-focused media organization’s websites call into this category. To Entertain : Many more popular websites exist to entertain their users. Video streaming websites, both paid and free ...

Architecture styles

  As an architect you design for the present, with an awareness of the past, for a future which is essentially unknown An architectural style is a set of principles and a n architecture style is a family of architectures that share certain characteristics. For example, N-tier is a common architecture style. More recently, microservice architectures have started to gain favor. Architecture styles don't require the use of particular technologies, but some technologies are well-suited for certain architectures . An architectural style improves partitioning and promotes design reuse by providing solutions to frequently recurring problems.  Architectural styles provide several benefits. The most important of these benefits is that they provide a common language. Another benefit is that they provide a way to have a conversation that is technology-agnostic. This allows you to facilitate a higher level of conversation that is inclusive of patterns and principles, without getting into ...

Microsoft Cognitive Services

 Microsoft Cognitive Services is a set of APIs, SDKs, and services available to developers to make their applications more intelligent, engaging, and discoverable. Microsoft Cognitive Services expands on Microsoft’s evolving portfolio of Machine Learning APIs and enables the developers to easily add intelligent features – such as emotion and video detection, facial, speech, and vision recognition, speech and language understanding into our applications. We will be using Cognitive Service API to develop our Artificial Intelligent applications and to make easier. Cognitive Service API has 5 main categories and they are Vision Speech Language Knowledge Search Vision API: In Vision API, we have computer vision API for extracting actionable information from images, Face API to detect, identify, analyze, organize, and tag faces in photos, Content Moderator to Automate image, text, and video moderation, Emotion API Preview to personalize user experiences with emotion recognition an...

Architecture Tradeoff Analysis Method (ATAM)

 This Method is used to evaluate the quality attributes(such as performance, availability, and security) of software architectures.  ATAM is used to mitigate risks in software architectures in the early stages of the software development life cycle (SDLC). Participants in ATAM  The ATAM requires the participation of three groups as follows. The evaluation team  The evaluation team consists of the members who are external to the project. This team consists of 3-5 members who play their specific roles in the team. Project decision-makers   Project decision-makers have the power to speak for the development of the project and have the authority to mandate changes. Architecture stakeholders   Any individual, team, or organization who has an interest in the realization of the architecture and is somehow related to the architecture is a stakeholder of that architecture. Stakeholders include users, maintainers, performance engineers, testers, integrators, develope...

Scenario-based evaluation methods

 Scenario Based Architecture Analysis Method(SAAM), Scenario-based architecture evaluation is a specific kind of architecture review, which is based on the notion of a scenario. A scenario is a “short statement describing an interaction of one of the stakeholders with the system”. Each identified scenario is then checked to determine whether it is supported by a system’s architecture or not.  Well-known examples of scenario-based evaluation methods are ATAM and SAAM .  Scenario-based architecture analysis is typically performed as a one- or two-day workshop, where ideally all system stakeholders participate in the review. The workshop includes the explanation of the architecture, the identification of the most important scenarios, the analysis of the identified scenarios, and the presentation of the results. Like other review-based methods, scenario-based evaluation methods are a static and manual analysis approach

Software Architecture Evaluation

  Software architecture evaluation is an important activity in the software architecting process. The fundamental goal of architecture evaluation is to assess the potential of a proposed/chosen architecture to deliver a system capable of fulfilling required quality requirements and to identify any potential risks.  Researchers and practitioners have proposed a large number of architecture evaluation methods for which a classification and comparison framework has also been proposed. Most widely used architecture evaluation methods are scenario-based .  These methods are called scenario-based because scenarios are used to characterize the quality attributes required of a system. It is believed that scenario-based analysis is suitable for development-time quality attributes (such as maintainability and usability) rather than for run-time quality attributes (such as performance and scalability), which can be assessed using quantitative techniques such as simulation or mathe...

Keycloak

  Application security is becoming a more and more important topic on a day-to-day basis. Unauthorized access to protected data can potentially cost millions of dollars in the form of various financial penalties. Almost every application needs some reliable tool to manage its users’ identities and accesses.  There are a bunch of solutions on the market — both free and paid — that promise to provide such features. In this blog, I will try to present you one of these tools, which as you probably guess from the title, will be Keycloak.  What Is Keycloak? It is a  tool  for “Identity and Access Management”, as written on their project  page on GitHub . Additionally, Keycloak is an open-source tool currently licensed with Apache License 2.0. It is also an upstream project for Red Hat SSO, so if you are looking for something more enterprise-centered, you can check it.  The full list of supported platforms depends on which protocol you decide to use, currentl...

What is reverse proxy?

Image
  What is a reverse proxy? A reverse proxy is a server that sits in front of web servers and forwards client (e.g. web browser) requests to those web servers. Reverse proxies are typically implemented to help increase  security ,  performance , and reliability . In order to better understand how a reverse proxy works and the benefits it can provide, let’s first define what a proxy server is. What’s a proxy server? A forward proxy, often called a proxy, proxy server, or web proxy, is a server that sits in front of a group of client machines. When those computers make requests to sites and services on the Internet, the proxy server intercepts those requests and then communicates with web servers on behalf of those clients, like a middleman. For example, let’s name 3 computers involved in a typical forward proxy communication: A: This is a user’s home computer B: This is a forward proxy server C: This is a website’s origin server (where the website data is stored) In a stand...

Differences Between Rate Limiting & Throttling of Web Api

  When dealing with cloud APIs, there will typically be the concept of Throttling when API consumption moves beyond a specific limit. The particular model of throttling (leaky bucket, burstable, etc) is outside the scope of this post. For the purposes of this post, we will assume a simple, numeric rate limit (ie: x Api calls per second). The key concept is that the API is expensive either time, or compute and so there is a need to restrict the rate that the calls are made. Most developer code assumes that all APIs are free. Tight loops are common to operate code as fast as possible. Cloud APIs that distribute compute are not free and need special handling. Rate Limiting is a client side response to the maximum capacity of a channel. If a channel has capacity to consume requests at a given rate/sec then a client should be prepared to limit their request rate. A common response to avoid implementing rate limiting on the client is that the server should allow processing at the appropr...

How to setup Swagger UI for ASP.Net Web API

Setup Swagger UI for ASP.NET Web API with Swashbuckle Swashbuckle is an open source project for generating Swagger documents for Web APIs .  Swagger is an advance technique to represent RESTfull Web API. Swagger is working with an Application. You can configure Swagger inside your Application. Its very easy to use and integrate inside your API's Basic features to get going with Swashbuckle are Install Swashbuckle Overview of configuration code How to use API Keys Install Swashbuckle Swashbuckle is an open source repository built for both asp.net and asp.net core GitHub Repos: Swashbuckle -  https://github.com/domaindrivendev/Swashbuckle Swashbuckle.AspNetCore -  https://github.com/domaindrivendev/Swashbuckle.AspNetCore NuGet Repos: Swashbuckle -  https://www.nuget.org/packages/Swashbuckle Swashbuckle.AspNetCore -  https://www.nuget.org/packages/Swashbuckle.AspNetCore Don’t worry about downloading the github repo above, it is here just for your reference so you c...