1623889020
As you are likely aware, Java EE has transitioned to Open Source governance in the Eclipse Foundation as Jakarta EE. MicroProfile has been moving forward as an independent initiative to optimize enterprise Java for microservices architectures. The Cloud Native for Java (CN4J) Alliance has recently been formed to promote better alignment between Jakarta EE and MicroProfile.
One of the key issues to sort out is how Jakarta EE can consume MicroProfile specifications (such as MicroProfile Configuration). There are several alternatives as to how this could be done. These alternatives were put into a survey for the community to weigh in. In addition to choosing the option respondents believe to be best, they were able to provide comments justifying their preferred alternative. The results of the survey are summarized here. The results have been shared with the CN4J community and key decision-makers.
#java #java ee #jakarta ee #microprofile #jakarta ee/microprofile alignment survey results! #microprofile alignment
1623889020
As you are likely aware, Java EE has transitioned to Open Source governance in the Eclipse Foundation as Jakarta EE. MicroProfile has been moving forward as an independent initiative to optimize enterprise Java for microservices architectures. The Cloud Native for Java (CN4J) Alliance has recently been formed to promote better alignment between Jakarta EE and MicroProfile.
One of the key issues to sort out is how Jakarta EE can consume MicroProfile specifications (such as MicroProfile Configuration). There are several alternatives as to how this could be done. These alternatives were put into a survey for the community to weigh in. In addition to choosing the option respondents believe to be best, they were able to provide comments justifying their preferred alternative. The results of the survey are summarized here. The results have been shared with the CN4J community and key decision-makers.
#java #java ee #jakarta ee #microprofile #jakarta ee/microprofile alignment survey results! #microprofile alignment
1659063683
Create a cocktail app where the user can search a cocktail of choice and the app displays the ingredients and instructions to make the cocktail. We use 'The Cocktail DB' API to fetch information required for our app.
Before we start coding let us take look at the project folder structure. We create a project folder called – ‘Cocktail App’. Inside this folder, we have three files. These files are index.html, style.css and script.js.
We start with the HTML code. First, copy the code below and paste it into your HTML document.
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Cocktail App</title>
<!-- Google Font -->
<link
href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap"
rel="stylesheet"
/>
<!-- Stylesheet -->
<link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
<div class="search-container">
<input
type="text"
placeholder="Type a cocktail name..."
id="user-inp"
value="margarita"
/>
<button id="search-btn">Search</button>
</div>
<div id="result"></div>
</div>
<!-- Script -->
<script src="script.js"></script>
</body>
</html>
Next, we style this app using CSS. For this copy, the code provided to you below and paste it into your stylesheet.
* {
padding: 0;
margin: 0;
box-sizing: border-box;
font-family: "Poppins", sans-serif;
}
body {
height: 100vh;
background: linear-gradient(#5372f0 50%, #000000 50%);
}
.container {
position: absolute;
transform: translate(-50%, -50%);
top: 50%;
left: 50%;
width: 90vw;
max-width: 37.5em;
background-color: #ffffff;
padding: 1.8em;
border-radius: 0.6em;
box-shadow: 0 1em 3em rgba(2, 9, 38, 0.25);
}
.search-container {
display: grid;
grid-template-columns: 9fr 3fr;
gap: 1em;
margin-bottom: 1.2em;
}
.search-container input {
font-size: 1em;
padding: 0.6em 0.3em;
border: none;
outline: none;
color: #1f194c;
border-bottom: 1.5px solid #1f194c;
}
.search-container input:focus {
border-color: #5372f0;
}
.search-container button {
font-size: 1em;
border-radius: 2em;
background-color: #5372f0;
border: none;
outline: none;
color: #ffffff;
cursor: pointer;
}
#result {
color: #575a7b;
line-height: 2em;
}
#result img {
display: block;
max-width: 12.5em;
margin: auto;
}
#result h2 {
font-size: 1.25em;
margin: 0.8em 0 1.6em 0;
text-align: center;
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.05em;
color: #1f194c;
position: relative;
}
#result h2:before {
content: "";
position: absolute;
width: 15%;
height: 3px;
background-color: #5372f0;
left: 42.5%;
bottom: -0.3em;
}
#result h3 {
font-size: 1.1em;
font-weight: 600;
margin-bottom: 0.2em;
color: #1f194c;
}
#result ul {
margin-bottom: 1em;
margin-left: 1.8em;
display: grid;
grid-template-columns: auto auto;
}
#result li {
margin-bottom: 0.3em;
}
#result p {
text-align: justify;
font-weight: 400;
font-size: 0.95em;
}
.msg {
text-align: center;
}
@media screen and (max-width: 600px) {
.container {
font-size: 14px;
}
}
Lastly, we implement the functionality using Javascript. Now copy the code below and paste it into your script file.
let result = document.getElementById("result");
let searchBtn = document.getElementById("search-btn");
let url = "https://thecocktaildb.com/api/json/v1/1/search.php?s=";
let getInfo = () => {
let userInp = document.getElementById("user-inp").value;
if (userInp.length == 0) {
result.innerHTML = `<h3 class="msg">The input field cannot be empty</h3>`;
} else {
fetch(url + userInp)
.then((response) => response.json())
.then((data) => {
document.getElementById("user-inp").value = "";
console.log(data);
console.log(data.drinks[0]);
let myDrink = data.drinks[0];
console.log(myDrink.strDrink);
console.log(myDrink.strDrinkThumb);
console.log(myDrink.strInstructions);
let count = 1;
let ingredients = [];
for (let i in myDrink) {
let ingredient = "";
let measure = "";
if (i.startsWith("strIngredient") && myDrink[i]) {
ingredient = myDrink[i];
if (myDrink[`strMeasure` + count]) {
measure = myDrink[`strMeasure` + count];
} else {
measure = "";
}
count += 1;
ingredients.push(`${measure} ${ingredient}`);
}
}
console.log(ingredients);
result.innerHTML = `
<img src=${myDrink.strDrinkThumb}>
<h2>${myDrink.strDrink}</h2>
<h3>Ingredients:</h3>
<ul class="ingredients"></ul>
<h3>Instructions:</h3>
<p>${myDrink.strInstructions}</p>
`;
let ingredientsCon = document.querySelector(".ingredients");
ingredients.forEach((item) => {
let listItem = document.createElement("li");
listItem.innerText = item;
ingredientsCon.appendChild(listItem);
});
})
.catch(() => {
result.innerHTML = `<h3 class="msg">Please enter a valid input</h3>`;
});
}
};
window.addEventListener("load", getInfo);
searchBtn.addEventListener("click", getInfo);
📁 Download Source Code: https://www.codingartistweb.com
#html #css #javascript
1623896700
Java EE has been transferred to the Eclipse Foundation and Jakarta EE 9.1 is behind us. The next step in the journey is Jakarta EE 10. This write-up outlines some possibilities for Jakarta EE 10 as well as how you can contribute.
There are many ways of contributing to Jakarta EE 10, depending on what your time and interest allow. You can always start simple and get more engaged over time.
#java #java ee #jakarta ee #jakarta ee 10 #guide to contributing to jakarta ee 10
1623059940
As you are likely aware, Java EE has transitioned to Open Source governance in the Eclipse Foundation as Jakarta EE. MicroProfile has been moving forward as an independent initiative to optimize enterprise Java for microservices architectures. The Cloud Native for Java (CN4J) Alliance has recently been formed to promote better alignment between Jakarta EE and MicroProfile.
One of the key issues to sort out is how Jakarta EE can consume MicroProfile specifications (such as MicroProfile Configuration). There are several alternatives as to how this could be done. The following is a brief analysis of the advantages and disadvantages of each approach, as discussed in the CN4J community thus far. At the end of the analysis, there is a survey you should weigh in on. In addition to choosing the option you believe to be best, it is very valuable to provide comments justifying your preferred alternative. The results of the survey will be shared with the CN4J community and key decision-makers.
#java #java ee #jakarta ee #microprofile
1623309913
Make sure you have installed the following software.
Go to the WildFly Download page, and make sure you are downloading the Jakarta EE 9 preview version.
Get the source codes from my github.
#jboss #java-ee #java #jakarta-ee #wildfly #deploying jakarta ee 9 applications to wildfly