/**
* @param {number[]} nums
* @return {boolean}
*/
var isTrionic = function(nums) {
const n = nums.length;
// Need at least 4 elements to form inc → dec → inc
if (n < 4) return false;
let i = 0;
// -------------------------------
// Phase 1: strictly increasing
// -------------------------------
while (i + 1 < n && nums[i] < nums[i + 1]) {
i++;
}
// If we never increased or we stopped at the last element,
// we cannot form the required .claude
commands
code.review.md
"Perform an in-depth code review of our codebase - focus on security an logical bugs."add skills to
.claude
skills
subfolder (open naming)
SKILL.md (must be named like this)
Content:
---
name: name of the subfolder (must be the same)
description: ...
---
https://skills.sh/add subagents to
.claude
agents
agentName
Add specific information about what and when to use wenn executing promts in CLAUDE.md file.Use web search or context7 mcp to find relevant documentation for... > promt to read some specific documentationon top of the document add pointer to @SPECS.MD file. Also add some short description for the basic information about the app.
add note to "Keep your replies extremly concise and focus on conveying the key information. No unnecessary fluff, no long code snippets."We are bulding an app described in @SPEC.MD > this we point to a file in a promt
<better-auth-database-docs>
Use XML tags to wrap a certain pard of text in documentation
</better-auth-database-docs>claude init > initialise the project
claude -p "expalin this project" > hides the process and shows only result
/resume > shows previous sessions
claude -c > opens last session
claude --dangerously-skip-permissions > all permissions are granted, confirmation will not be assked again
/sandbox or docker sandbox run claude > will create a sandbox and limit claude access to computer outside of sandbox, important if using --dangeroulsy... settings
2x ESC btn clicks or /rewind rewinds the last changes# using pngquant package
https://github.com/kornelski/pngquant# git revert creates a new commit that undoes the changes from a specific commit. It doesn't remove commits from history or revert "until" a point.
# How git revert works:
# Creates a new commit that reverses the changes
# Doesn't delete or remove commits from history
# Works on specific commits, not ranges
# Important: Order matters
# Revert in reverse chronological order (newest first) to avoid conflicts:
git revert [commit hash].hoge {
display: inline;
line-height: 2.5;
background-color: rgba($color: #fff, $alpha: 0.8);
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
padding: 6px 10px;
}/**
* @param {number[]} nums
* @param {number} k
* @param {number} dist
* @return {number}
*/
var minimumCost = function(nums, k, dist) {
const n = nums.length;
const INF = Number.MAX_SAFE_INTEGER;
// If we only need 1 subarray, it's just the whole array starting at 0.
if (k === 1) return nums[0];
let sum = 0; // sum of values currently chosen (size = used.size, up to k-1)
let ans = INF;
const used = new Set(); // indices currently chosen as starts (k-https://svgomg.net/<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'navigation', // Name of the event
// Common event parameters
parameters: {
parameter1: 'todos los productos', // categoría padre
parameter2: 'corporal', // subcateogría
parameter3: 'higiene corporal' // sección
});
</script>```sql
CREATE TABLE users (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, -- 内部用(高速)
uuid BINARY(16) NOT NULL UNIQUE, -- 外部公開用
name VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_uuid (uuid)
);
-- 挿入
INSERT INTO users (uuid, name)
VALUES (UUID_TO_BIN(UUID(), 1), 'Taro');
```
### 使い分け
内部JOIN・FK: id (BIGINT)
APIレスポンス: uuid
URL: /users/{uuid}
ログ・デバッグ: id でも uuid でもどちらでも可### ブラウザが自動で実施するケース
- GET、POST、HEAD 以外のメソッド(PUT、DELETE など)
- カスタムヘッダーを含む(Authorization、X-Custom-Header など)
- Content-Type が application/json など
### 実行順序
1. ブラウザがOPTIONSメソッドでプリフライトリクエストを送る
2. サーバーが許可情報(許可するオリジン・メソッド・ヘッダー)を返す
3. ブラウザが許可情報を検証し、本番リクエストが許可されているか判断する
4. 許可されていれば、ブラウザが本番リクエストを送る
5. サーバーがリクエストを処理する
6. サーバーがレスポンスを返す
7. ブラウザがレスポンスを受け取り、JavaScriptに結果が返る
### 送信側の構成要素
```javascript
const response = await fetch('http://localhost:8080/api/users', {
method: 'OPTIONS', // プリフライトは必ずOPTIONSメ