$(function() {
$(".date").attr("type","date");
var current = formatCurr(new Date());
const myDate = Temporal.PlainDate.from(current);
const newDate = myDate.add({ days: 92 });
var expiry = newDate.toString();
//console.log(current + " / " + expiry);
$(".date").attr("min", current);
$(".date").attr("max", expiry);
function formatCurr(date) {
return [
date.getFullYear(),
padTo2Digits(date.getMonth() + 1/**
* @param {number[]} nums
* @return {number}
*/
var maxAlternatingSum = function(nums) {
const n = nums.length;
const plusCount = Math.ceil(n / 2);
// Sort by square value so the biggest squares can go in '+' positions.
nums.sort((a, b) => a * a - b * b);
let score = 0;
for (let i = 0; i < n; i++) {
const square = nums[i] * nums[i];
// Smaller squares go to '-' positions, largest plusCount squares go to '+' positions.
if (i < n - plusCounpsql -U db_username -d db_name
SELECT pg_size_pretty(pg_database_size(current_database())) AS database_size;
div.outer {
background: hotpink;
width: 400px;
margin: 30px;
border-radius: 30px;
padding-block: 12px;
}
div.inner {
max-height: 276px;
overflow-y: auto;
margin: 10px;
padding: 1rem;
}
div.inner::-webkit-scrollbar {
width: 10px;
}
div.inner::-webkit-scrollbar-track {
background: transparent;
margin-block: 20px;
}
div.inner::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, .7);
border-radius: 100vw;
}
/* Not Chr/**
* @param {number[]} nums
* @param {number} k
* @return {number}
*/
var maxSum = function(nums, k) {
const MOD = 1000000007n; // Use BigInt because squares can exceed safe integer range
// bitCount[b] = how many numbers in nums have bit b set
const bitCount = new Array(30).fill(0);
// Step 1: Count the set bits at each position across all numbers
for (const num of nums) {
for (let b = 0; b < 30; b++) {
// (num >> b) & 1 checks if bit b is set
Create a CSV exporter with BOM
JetBrains has published an official workaround specifically for this problem.
YouTrack
1. Open the Database tool window in PyCharm.
2. Open a table and locate the Data Extractors dropdown.
3. Choose Go to Scripts Directory (or open the extractor configuration).
4. Make a copy of the built-in scripted CSV Groovy extractor.
5. Rename the copy to CSV UTF-8 BOM.
6. Add this line at the very beginning of the script:
OUT.append('\uFEF)
Source: https://chatgpt.# Valkey Tips and Tricks
## Access data in a docker container
1. Access the cli utility: `valkey-cli -a <password>` or for more security `VALKEYCLI_AUTH="$(cat /opt/bitnami/valkey/secrets/valkey-password)" valkey-cli`
2. Access the data, example `GET key` or `HGETALL key`. Use the `Valkey Essential Queries Cheat Sheet` below.
## Sentinel
* Find who is the current master: `VALKEYCLI_AUTH="$(cat /opt/bitnami/valkey/secrets/valkey-password)" valkey-cli -p 26379 SENTINEL get-master-addr-by-name $goal 請你負責完成這個任務。
【任務目標】
請完成:{你真正想完成的最終任務}
【完成標準】
只有在以下條件全部成立時,才算真正完成:
1. {可驗證結果 1}
2. {可驗證結果 2}
3. {可驗證結果 3}
【硬性限制】
執行期間必須遵守:
1. 不得 {禁止事項 1}
2. 必須 {限制事項 2}
3. 只可使用 {允許範圍}
4. 若涉及高風險操作,先採用保守方案並保留可回退路徑
【執行方式】
你要自主規劃所需步驟,逐步執行,不要把問題丟回給我,除非你真的被阻塞。
每完成一個重要階段,都要自行檢查目前結果是否更接近完成標準。
如果發現錯誤、衝突或效果不佳,先自己修正,再繼續推進。
優先選擇改動最小、風險最低、最容易驗證的路徑。
不要為了看起來完成而跳過驗證。
【驗證要求】
你每次宣稱完成前,必須明確驗證:
1. {驗證方法 1}
2. {驗證方法 2}
3. {驗證方法 3}
【失敗處理】
如果某條路徑失敗,先嘗試替代方案。
如果仍無法完成,請清楚回報:
1. 卡在哪裡
2. 你已嘗試過什# PHP.ini
## Disable functions in php.ini
`disable_functions = exec,system,passthru,shell_exec,proc_open,proc_close,popen,escapeshellcmd,escapeshellarg,show_source,readfile,parse_ini_file,ini_alter,dl`
## Other config in php.ini (production mode)
- don't show a version of PHP \
`expose_php = Off`
- lock access for a project's folders<sup>*</sup> \
`open_basedir = /var/www/myapp:/usr/share/php:/tmp`
- other directives
```ini
log_errors = On
error_log = /var/log/php-errors.log
/**
* @param {number[]} nums
* @return {number}
*/
var sumOfSquares = function(nums) {
const n = nums.length;
let sum = 0;
// Check every 1-indexed position
for (let i = 1; i <= n; i++) {
// A position is special if it divides n
if (n % i === 0) {
// Convert from 1-indexed position to 0-indexed array index
const value = nums[i - 1];
// Add the square of the special element
sum += value * value;
}
}
/**
* @param {number[]} nums1
* @param {number[]} nums2
* @param {number} k1
* @param {number} k2
* @return {number}
*/
var minSumSquareDiff = function(nums1, nums2, k1, k2) {
const k = k1 + k2;
const diff = [];
let totalDiff = 0;
// Build the array of absolute differences.
for (let i = 0; i < nums1.length; i++) {
const d = Math.abs(nums1[i] - nums2[i]);
diff.push(d);
totalDiff += d;
}
// If we have enough operations to remove every di# Welcome to Cacher
We're delighted you've chosen Cacher to be your snippet organizer! Whether you're a solo developer or a member of your team, Cacher is here to help you organize and use snippets more efficiently.
Our users create snippets to:
- Remember project-specific algorithms
- Create cheatsheets for useful libraries
- Share knowledge with colleagues
Take a few minutes to look over our **Getting Started** snippets. To view more detailed information on features, you can visit [Cacher /**
* @param {string} s
* @return {number}
*/
var minInsertions = function(s) {
let insertions = 0; // number of insertions we've made
let need = 0; // number of ')' still needed
for (const ch of s) {
if (ch === '(') {
// Every '(' needs two ')'
need += 2;
// If need is odd, we have a lone ')'
// that should be paired into '))'
if (need % 2 === 1) {
insertions++; // insert one ')'
-- 1. Zápis pomocí EXISTS
SELECT o.*
FROM `order` o
WHERE EXISTS (
SELECT 1
FROM `user` u
WHERE u.id = o.user_id
AND u.country_code = o.country_code -- Druhá podmínka
AND u.is_active = 1 -- Třetí podmínka
);
-- 2. Zápis pomocí IN
SELECT o.*
FROM `order` o
WHERE (o.user_id, o.country_code) IN (
SELECT u.id, u.country_code
FROM `user` u
WHERE u.is_active = 1
);## # Ducat Protocol
[Ducat Protocol](https://www.ducatprotocol.com/) is a bitcoin-native credit and stablecoin protocol built on Bitcoin L1. Users lock BTC in UTXO vaults via tapscript and borrow a dollar-pegged stablecoin without lenders or custodians.
Website: [https://www.ducatprotocol.com/](https://www.ducatprotocol.com/)
/**
* @param {string} s
* @return {string}
*/
var removeOuterParentheses = function(s) {
let result = [];
let depth = 0; // Tracks the current nesting level of parentheses
for (let i = 0; i < s.length; i++) {
let char = s[i];
if (char === '(') {
// If depth > 0, this '(' is inside the primitive string (not the outermost)
if (depth > 0) {
result.push(char);
}
depth++; // Increase depth aft