DiffusionGemma+Unsloth Desktop でとんでもない速度で生成された。
YouTube 概要欄には詳細が張れないため qiita をお借りします。
環境
ハードウェア
intel Core-i7 12700F
DDR5 64GiB
nVidia GeForce RTX 4090
OS/ソフトウェアプロダクト
Windows 11 Pro(2026/09/02 付 Windows Update すべて)
Unsloth Desktop
DiffusionGemma
プロンプト1
以下の仕様を満たすシンプルなJavaのユーティリティクラスを書いてください。
[要件]
- クラス名: StringUtils
- メソッド名: isPalindrome
- 引数: String text
- 戻り値: boolean
- 処理内容:
1. 引数が null または空文字の場合は false を返す。
2. 大文字小文字やスペース、句読点を無視して、前後どちらから読んでも同じ文字列(回文)であるかを判定する。
3. 標準ライブラリのメソッドをうまく組み合わせて簡潔に記述する。
余計な解説は省き、Javaのコードブロックのみを出力してください。
結果
public class StringUtils {
public static boolean isPalindrome(String text) {
if (text == null || text.isEmpty()) {
return false;
}
String normalized = text.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
return normalized.equals(new StringBuilder(normalized).reverse().toString());
}
}
プロンプト2
以下の条件を満たす HTML と CSS を生成してください。
● index.html と style.css の 2 ファイル構成で完結すること
● YouTube 映えする視覚効果(アニメーション、動き、グラデーション)を含めること
● JavaScript は使わず、CSS のみでアニメーションを実現すること
● 外部 CDN や外部フォントを使わないこと
● コードはそのまま保存すればブラウザで即表示できること
● HTML と CSS を分けて出力すること(2つのコードブロック)
● 余計な説明は書かない
出力形式:
1. index.html のコード
2. style.css のコード
結果
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Visual CSS Showcase</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="animation-container">
<div class="circle circle1"></div>
<div class="circle circle2"></div>
<div class="circle circle3"></div>
<div class="circle circle4"></div>
</div>
<div class="card">
<h1 class="animated-text">VISUAL MAGIC</h1>
<p class="subtitle">CSS Only Animation Experience</p>
<div class="button">
<span></span>
</div>
</div>
</body>
</html>
style.css
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
background: #050505;
overflow: hidden;
font-family: sans-serif;
}
.animation-container {
position: absolute;
width: 100%;
height: 100%;
z-index: 0;
}
.circle {
position: absolute;
border-radius: 50%;
filter: blur(80px);
opacity: 0.6;
}
.circle1 {
width: 300px;
height: 300px;
background: linear-gradient(45deg, #ff0080, #ff8c00);
top: -10%;
left: -5%;
animation: move1 10s infinite alternate;
}
.circle2 {
width: 400px;
height: 400px;
background: linear-gradient(45deg, #00d2ff, #3a7bd5);
bottom: -15%;
right: -10%;
animation: move2 12s infinite reverse;
}
.circle3 {
width: 250px;
height: 250px;
background: linear-gradient(45deg, #8e2de2, #4a00ab);
top: 50%;
left: 30%;
animation: move3 15s infinite linear;
}
.circle4 {
width: 150px;
height: 150px;
background: #ffffff;
top: 10%;
right: 20%;
opacity: 0.3;
animation: move4 8s infinite alternate;
}
@keyframes move1 {
from { transform: translate(0, 0) rotate(0deg); }
to { transform: translate(100px, 150px) rotate(90deg); }
}
@keyframes move2 {
from { transform: translate(0, 0) scale(1); }
to { transform: translate(-150px, -100px) scale(1.2); }
}
@keyframes move3 {
from { transform: translate(0, 0) rotate(0deg); }
to { transform: translate(50px, -200px) rotate(360deg); }
}
@keyframes move4 {
from { transform: translateY(0); }
to { transform: translateY(-500px); }
}
.card {
position: relative;
z-index: 1;
padding: 50px 60px;
background: rgba(255, 255, 255, 0.05);
backdrop-filter: blur(15px);
border: 1px solid rgba(255, 255, 255, 0.1);
border-radius: 20px;
text-align: center;
box-shadow: 0 25px 45px rgba(0, 0, 0, 0.5);
}
.animated-text {
font-size: 4rem;
font-weight: 900;
letter-spacing: 5px;
background: linear-gradient(90deg, #fff, #ff0080, #00d2ff, #fff);
background-size: 200%;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
animation: gradientText 5s linear infinite;
}
.subtitle {
color: #fff;
margin-top: 10px;
letter-spacing: 2px;
opacity: 0.8;
}
.button {
margin-top: 30px;
padding: 15px 40px;
position: relative;
background: transparent;
border: 1px solid #fff;
color: #fff;
cursor: pointer;
overflow: hidden;
transition: 0.3s;
font-weight: bold;
}
.button:hover {
color: #000;
}
.button span {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: #fff;
z-index: -1;
transition: 0.4s;
}
.button:hover span {
left: 0;
}
@keyframes gradientText {
0% { background-position: 0% 50%; }
100% { background-position: 200% 50%; }
}