Skip to content

Instantly share code, notes, and snippets.

View vernetto's full-sized avatar

Pierluigi Vernetto vernetto

View GitHub Profile
CREATE OR REPLACE VIEW kkkdb._overview_links_and_url_parts("Link Id", "Link Key", "Comment", "Dynamic URL") AS
SELECT
link.id AS "Link Id",
link.link_key AS "Link Key",
link.comment AS "Comment",
string_agg(concat('[', url_part.id, '] ', link_2_url_rel."order", ' - ', '[', part_type.id, ' ', part_type.source, ' -> ', part_type.purpose, ']', ' ', url_part.source_name, ' -> ', url_part.target_name, ' = ', url_part.value, ' ', value_converters_agg, '[required = ', link_2_url_rel.required, ']'), chr(10) ORDER BY link_2_url_rel."order") AS "Dynamic URL"
FROM
kkkdb.kkk_t_link link
JOIN kkkdb.kkk_t_link_url_part_relation link_2_url_rel ON link.id = link_2_url_rel.link_id
JOIN kkkdb.kkk_t_url_part url_part ON url_part.id = link_2_url_rel.url_part_id
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
@JacksonXmlRootElement(localName = "links")
public class Links {
@JacksonXmlElementWrapper(useWrapping = false)
private List<Link> link;
// getters and setters
}
To: info@tmrsa.ch
Objet : Proposition d’amélioration du service de bus entre Aosta et Martigny
Madame, Monsieur,
Je me permets de vous écrire en tant que [votre profession ou statut, par exemple : résident de la Vallée d'Aoste], pour vous soumettre une proposition concernant le service de bus que vous assurez entre Aosta et Martigny.
Ayant constaté et vécu l'importance de la liaison entre ces deux villes, notamment pour les Valdôtains travaillant en Suisse, je souhaite attirer votre attention sur une opportunité d'amélioration significative de ce service. Il s'agit de l'introduction de trajets supplémentaires adaptés aux besoins spécifiques de ces travailleurs.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class CSVProcessor {
public static void main(String[] args) {
String filePath = "path/to/your/csvfile.csv"; // Replace with your file path
processCSV(filePath);
}
using spring boot and java 17, what is the simplest way to create a basic web application, with a main page where I enter a search parameter and, with a click of a button, I execute a Java function and return a result web page?
ChatGPT
Creating a basic web application with Spring Boot and Java 17 that includes a main page with a search function is quite straightforward. Here's a simple guide on how to set it up:
1. Set Up Your Project
Use Spring Initializr: Go to Spring Initializr to generate a basic Spring Boot project. Choose Maven/Gradle as your build tool, Java as the language, and specify Java 17 as the version.
Dependencies: Add spring-boot-starter-web for web application development.
Generate and Open: Generate the project and open it in your preferred IDE (like IntelliJ IDEA or Eclipse).
I need Java 17 code to query an Excel file, finding in a "Client_Home" tab a row which contains a given search string in a column identified by a title "Description" at row 2
ChatGPT
To query an Excel file in Java, particularly to find a row in a specific tab ('Client_Home') where a column ('Description') contains a given search string, you can use the Apache POI library. This library provides APIs for Microsoft Office formats, including Excel.
Here is a sample code snippet that demonstrates how you can achieve this in Java 17:
Include Apache POI Dependency: First, include the necessary Apache POI dependencies in your project. If you are using Maven, add the following to your pom.xml:
xml
in Spring Framework is there a way to throttle HTTP requests from a specific user?
ChatGPT
Yes, in the Spring Framework, you can throttle HTTP requests from a specific user using various techniques. One of the popular ways is to use Spring Cloud Gateway, but for simple applications, you might not need such a sophisticated solution. Here's a breakdown of some methods:
Spring Cloud Gateway Ratelimiter: If you're using Spring Cloud Gateway, there's built-in support for request rate limiting using Redis. You can create route-specific rate limiters and key the rate limit by user or other request attributes.
Spring Security with a custom filter: If you're using Spring Security, you can add a custom filter that checks the number of requests from a user within a specific time frame.
Third-party libraries: Libraries like Bucket4j or Resilience4j offer rate limiting and can be integrated into Spring applications.
Here are some potential improvements to the provided code:
Descriptive Naming: Improve the method and variable names to be more descriptive, making the code more self-explanatory.
Reduce Nesting: The deep nesting in the lambda within the forEachExisting can be simplified for better readability.
Method Decomposition: Breaking down the lambda function can help improve readability and maintainability.
Let's apply these improvements:
const { execSync } = require('child_process');
const versionPrefix = 'v23.11.03'; // Replace this with your desired prefix
try {
const latestTag = execSync(`git describe --tags --abbrev=0 --match "${versionPrefix}.[0-9]*" 2>/dev/null || true`, { encoding: 'utf-8' });
console.log('Latest tag:', latestTag.trim());
} catch (error) {
// Handle the error here if needed
console.error('Error:', error.message);
in Postgresql I have created a table "create table pippo (id integer not null, target_name text, source_name text, value text , part_type_id integer not null, value_acc integer UNIQUE (target_name , source_name , value , part_type_id , value_acc ) but POSTGRESQL allows insert of multiple records with same value of (target_name , source_name , value , part_type_id , value_acc)
ChatGPT
The problem you're experiencing is because of a syntax misunderstanding. The constraint you've created is not doing what you think it's doing.
In your table creation statement:
sql
Copy code
CREATE TABLE pippo (