```
struct TrieTree {
int count = 0; unordered_map<char, TrieTree> child;
};
int CountByTrieTree(const vector<string>& S) {
int ans = 0;
TrieTree root;
for (const auto& s : S) {
TrieTree* tree = &root;
for (char c : s) {
if (!tree->child.contains(c)) {
tree->child.emplace(c, TrieTree{0, {}});
}
auto& child = tree->child[c];
ans += child.count;
child.count++;
tree = &
<button
hx-post="/api/v1/title"
hx-on:htmx:before-request="emptyDiv('#titles_container')"
hx-on:htmx:after-request="doSomething()"
type="button"
class="btn btn-primary"
>
Generate Title
</button>
# 思考材料
* GPT-4o はかなり有用
* Dify を使うと GPTs 的なものがかなり簡単に作れる
* Dify の便利な点は、ナレッジの追加がしやすい、処理の流れを作りやすい
* Dify の問題点は1アプリにつき入力は最初の1回しか出来ないこと(ただし入力項目は複数作れる)、チャットボットでのやり取りみたいなことをやるならアプリが複数必要そう
* Dify はローカル環境を作れる点も便利
* Dify の商用利用は可能そうだが一部条件があるようなので注意
* GPT-4o を使うと回答に縛りを設けやすい(例えば、質問内容に対して A か B のみで回答してくださいなど)
* 上記の仕組みを使えば Dify での質問分離器を活用しやすい
* チャットボットを作り、自社のプロダクト情報をナレッジとして与えて、質問者の要望に応じて適切なプロダクトを案内するなどの使い方が出来そう
# 参考記事
[Dify.AIが実務に耐えられるか試してみた](https://note.com/brave_quince241/n/nb1935bc339df)
function Get-DistinguishedNameParent {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
[string]$distinguishedName
)
begin {}
process {
foreach ($Item In $distinguishedName) {
$ParentOctets = $Item.Replace('\,', 'R3S3RV3D4R3PLAC3').Split(',') | Select-Object -Skip 1
$ParentRaw = $ParentOctets -join ','
$ParentRaw.Rep
cd <multipass>
apt install devscripts equivs
mk-build-deps -s sudo -i
cd <multipass>
git submodule update --init --recursive
mkdir build
cd build
cmake ../
make
sudo apt update
sudo apt install libgl1 libpng16-16 libqt6core6 libqt6gui6 \
libqt6network6 libqt6widgets6 libxml2 libvirt0 dnsmasq-base \
dnsmasq-utils qemu-system-x86 qemu-utils libslang2 iproute2 \
iptables iputils-ping libatm1 libxtables12 xterm
sudo <multipass>/build/bin/multipassd &
mkdir -p ~/.local/share/multipass/
<!-- MouseTracker.vue -->
<script setup>
import { ref, onMounted, onUnmounted } from 'vue'
const x = ref(0)
const y = ref(0)
const update = e => {
x.value = e.pageX
y.value = e.pageY
}
onMounted(() => window.addEventListener('mousemove', update))
onUnmounted(() => window.removeEventListener('mousemove', update))
</script>
<template>
<slot :x="x" :y="y"/>
</template>
<!-- Usage: -->
<template>
<MouseTracker v-slot="{ x, y }">
Mouse is at: {{ x }}, {{ y }}
</MouseTracker>
</templ
class MyClass {
constructor(value){
this.property = value;
}
getProperty(){
return this.property;
}
setProperty(newValue){
this.property = newValue;
}
}
class MySecondClass extends MyClass {
constructor(value){
super(value);
this.secondProperty = 0;
}
getFunction() {
return this.secondProperty;
}
}
const testClass = new MyClass("test");
testClass.getProperty();
testClass.setProperty("test2");
testClass.getFunction();
<!-- https://www.patterns.dev/vue/data-provider -->
<!-- Provider.vue -->
<template>
<slot :data="data" :loading="loading"></slot>
</template>
<script setup>
import { ref, reactive } from "vue";
const API_ENDPOINT_URL = "https://official-joke-api.appspot.com/random_joke";
const data = reactive({
setup: null,
punchline: null,
});
const loading = ref(false);
const fetchJoke = async () => {
loading.value = true;
const response = await fetch(API_ENDPOINT_URL);
function getFlagEmoji(countryCode) {
return countryCode.toUpperCase().replace(/./g, char =>
String.fromCodePoint(127397 + char.charCodeAt())
);
}
const getMaximumGold = (grid) => {
const rows = grid.length; // Number of rows in the grid
const cols = grid[0].length; // Number of columns in the grid
let maxGold = 0; // Variable to store the maximum gold collected
// Function to traverse the grid from a given cell
const traverse = (row, col) => {
// If the cell is out of bounds or has no gold, return 0
if (row < 0 || col < 0 || row >= rows || col >= cols || !grid[row][col]) {
return 0;
function Get-DirectoryHash {
[CmdletBinding()]
param(
[System.IO.DirectoryInfo]
$Path
,
[switch]
$IncludeName
)
begin {
function Get-StringHash {
[CmdletBinding()]
PARAM(
[Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
[AllowNull()]
[AllowEmptyString()]
[String]$St
.wrapper {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 10px;
}
.box {
background-color: #20262e;
color: #fff;
border-radius: 3px;
padding: 20px;
font-size: 14px;
}
git add .
git commit --amend
git push origin HEAD:refs/for/master -f
# Clever Cloud DB
mysql -h <db_name>-mysql.services.clever-cloud.com -P <db_port> -u <db_user> -p <db_name> < YOUR_BACKUP_FILE.sql
# Local Docker DB
mysql --host=<db_host> --port=<db_port> --user=<db_user> --password=<db_pwd> --database=<db_name> < YOUR_BACKUP_FILE.sql
# Hacer que una función retorne un json público
Si estamos haciendo una API, puede ser que queramos retornar un JSON. Para ello haremos una función normal, en QUID, solo tendremos en cuenta estas cosas:
* **Agregar la función al "Espacio Exportación"** (config_app.php en espacios/exportacion)
* Establecer el header del **Content-type** de la respuesta JSON:
```php
header('Content-Type: application/json');
```
* Tener en cuenta que la función quizás puede retornar **códigos de error**, esto se
<form id="headerHomeForm" action="<?php echo get_post_type_archive_link('barca'); ?>" method="post">
<div class="container-fluid container-xxl">
<div class="row">
<div class="col-12 col-lg-10 mx-auto">
<div class="row gx-3 gy-3 gy-lg-0 formWrapper">
<div class="col-12 col-lg-3 col-xxl-4 position-relative">
<label for="porto_text" class="w-100">
<input name="porto" id="porto" type="hidden">
<input name="porto_text" aut