.htaccess redirect www to non www

<IfModule mod_rewrite.c>
  RewriteEngine On
  # without Cloudfare
  # RewriteCond %{SERVER_PORT} 80
  # RewriteRule ^(.*)$ https://xuxu.fr/$1 [R,L]
  
  # with Cloudfare
  RewriteBase /
  RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
  RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>

Linting in Databricks


{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "application/vnd.databricks.v1+cell": {
     "cellMetadata": {
      "byteLimit": 2048000,
      "rowLimit": 10000
     },
     "inputWidgets": {},
     "nuid": "dfabd244-e03e-4bf4-b06d-3cd72352c829",
     "showTitle": false,
     "title": ""
    }
   },
   "source": [
    "### Linting in Databricks\n",
    "\n",
    "- This notebook should make it more convenient to use Pylint when developing in the web UI of Databricks.\n",
  

TOC - 目次アンカー用ID付与

// =====================================================
// コンテンツエリア 目次 h2,h3 アンカー用ID付与
// =====================================================
document.addEventListener("DOMContentLoaded", () => {
	const singleBody = document.querySelector(".js-single-body");
	if (singleBody) {
		const targetHeading = singleBody.querySelectorAll("h2, h3");
		for (let i = 0; i < targetHeading.length; i++) {
			targetHeading[i].setAttribute("id", "heading-" + i);
		}
	}
});

cancel request

```

const controller = new AbortController();
const requests: InternalAxiosRequestConfig<any>[] = [];

const CancelToken = axios.CancelToken;
const source = CancelToken.source();

const axiosInterceptor = () => {
    axios.interceptors.request.use(function (config) {

            //console.log('Pending HTTP Request:', config.url, config.status);
        const needToCancelRequest = config.url.includes('stats')
        if (needToCancelRequest) {
            return {
                ...config,
   

-PySide2- 合わせ技2

# 標準ライブラリ #################################################################
from functools import partial
from pprint import pprint
from typing import Tuple, List

# サードパーティライブラリ #########################################################
# from maya import OpenMayaUI, cmds
from PySide2.QtWidgets import (QApplication, QComboBox, QGridLayout,
                               QMainWindow, QWidget, QHBoxLayout, QVBoxLayout,
                               QPushButton, QAction, QFrame, QLabel,

html loading="lazy" polyfill

document.addEventListener('DOMContentLoaded', function () {
  if ('loading' in HTMLImageElement.prototype) {
    const images = document.querySelectorAll('img[loading="lazy"]');
    images.forEach(img => {
      img.src = img.dataset.src;
    });
  } else {
    if (!('IntersectionObserver' in window)) {
      const images = document.querySelectorAll('img[loading="lazy"]');
      images.forEach(img => {
        img.src = img.dataset.src;
      });
    } else {
      const lazyImageObserver = new 

grid masonry 表示 pinterest風

<ul class="js_top_gallery">
      <li class="js_top_gallery_item"><a href="./images/top/gallery/gallery01.jpg"><img
            src="./images/top/gallery/gallery01.jpg" alt=""></a></li>
      <li class="js_top_gallery_item"><a href="./images/top/gallery/gallery02.jpg"><img
            src="./images/top/gallery/gallery02.jpg" alt=""></a></li>
</ul>

背景 下 三角

.bg_square {
  position: relative;
  background: #f6f2eb;
}

.bg_square::after {
  content: "";
  position: absolute;
  height: 7rem;
  width: 100%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #f6f2eb;
  left: 0;
  bottom: -7rem;
}

シェイプノードのみをペアレント

【MAYA】シェイプノードのみをペアレント
1:アウトライナ → ディスプレイ → □シェイプ にチェック
2:シェイプノード → トランスフォームノード の順番で選択
3:「parent -r -s」を実行

redshift_stored_procs

https://www.missioncloud.com/blog/get-started-with-amazon-redshift-stored-procedures

git_learn_in_general

https://www.youtube.com/watch?v=qKxytMuUiJA

Async (mark function as async??)

// https://stackoverflow.com/questions/44106907/when-to-mark-function-as-async

async function fnUsingAsync() {
    // Synchronously throw half of the time
    if (Math.random() < .5)
        throw new Error('synchronous error')

    // Return fulfilled/rejected promises half of the time
    return Math.random() < .5 ?
        Promise.resolve('success') :
        Promise.reject(new Error('asynchronous error');
}

function fnNotUsingAsync(x) {
    // Use the exact same body here tha

Production Data - FG Waterfall

SELECT
    postref,
    pr_codenum,
    pr_descrip,
    fi_origpostref,
    jo_closed,
    Brand,
    ROUND(SUM(quantity), 5) AS completed,
    Stage
FROM
    (
        SELECT
            dbo.dtfifo.fi_id AS id,
            RTRIM(dbo.dtfifo.fi_postref) AS postref,
            RTRIM(dbo.dtfifo.fi_action) AS action,
            RTRIM(dbo.dmprod.pr_codenum) AS pr_codenum,
            dbo.dmprod.pr_descrip,
            dbo.dtfifo.fi_quant AS quantity,
            'JJ-' + REPLACE(RT

Production Data - Relieve

SELECT
    postref,
    pr_codenum,
    pr_descrip,
    fi_userlot,
    fi_origpostref,
    Stage,
    ROUND(SUM(quantity), 5) AS relieved,
    MIN(Date) AS Date
FROM
    (
        SELECT
            dbo.dtfifo2.f2_id AS id,
            RTRIM(dbo.dtfifo2.f2_postref) AS postref,
            RTRIM(dbo.dtfifo2.f2_action) AS action,
            RTRIM(dbo.dmprod.pr_codenum) AS pr_codenum,
            dbo.dmprod.pr_descrip,
            dbo.dtfifo2.f2_oldquan - dbo.dtfifo2.f2_newquan A

flashcardzzz

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Question and Answer App</title>
<style>
  #question-container {
    text-align: center;
    margin-top: 50px;
  }
  #answer-container {
    display: none;
  }
</style>
</head>
<body>

<div id="question-container">
  <h1>Question:</h1>
  <p id="question"></p>
  <div id="answer-container">
    <h2>Answer:</h2>
    <p id="answer"></p>
  </div>
</div>

<script>

Reverse Prefix

/**
 * @param {string} word
 * @param {character} ch
 * @return {string}
 */
var reversePrefix = function(word, ch) {
    // Find the index of the first occurrence of 'ch' in 'word'
    var index = word.indexOf(ch);

    // If 'ch' is not in 'word', return 'word' as is
    if (index === -1) {
        return word;
    }

    // If 'ch' is in 'word', reverse the segment from index 0 to 'index' (inclusive)
    // Slice the segment from 'word', reverse it, and join it back into a string
    var reve