IT業界の技術をメモ・情報公開できる
セキュリティ対応
・セキュリティヘッダ "HTTP Strict Transport Security (HSTS)" の設定 HSTSは、サイトがHTTPではなくHTTPSでしかアクセスできないようにブラウザに強制するヘッダーです。 ・セキュリティヘッダ "X-Frame-Options" の設定 外部サイトからフレーム呼び出しできないようにする ・X-Content-Type-Options: nosniff の設定 ブラウザが MIMEタイプを推測せず、サーバーから送信された Content-Type ヘッダーに厳密に従います。 ・バージョン情報の(x-powered-by)削除
mysql csvインポート
LOAD DATA INFILE '/path/to/your/example.csv' INTO TABLE users CHARACTER SET utf8mb4 -- 文字コード FIELDS TERMINATED BY ',' -- フィールドの区切り文字 ENCLOSED BY '"' -- フィールドが引用符で囲まれている場合 LINES TERMINATED BY '\n' -- 各行の区切り IGNORE 1 LINES -- ヘッダ行を無視 (id, name, age); -- 列の順番 ※mysq
css clamp
clamp() 関数を使うと、最小幅と最大幅の間で画像サイズを設定し、動的に幅を調整できます。 img { width: clamp(200px, 50%, 500px); height: auto; } clamp(200px, 50%, 500px); では、画像の幅が200pxから500pxの間で動的に変化し、画面幅の50%に基づいてサイズが調整されます。
php 置換 strtr($str, $array); 文字列長い順
$str = '東京都新宿区新宿3丁目'; $array = [ '新宿' => '<b>新宿</b>', '新宿区' => '<span>新宿区</span>', ]; echo strtr($str, $array); // '東京都<span>新宿区</span><b>新宿</b>3丁目'
php 機種依存文字変換対応
<?php // 機種依存文字と置換後の文字を対応させる配列 $dependency_chars = array( '㈱' => '(株)', '㈲' => '(有)', '㈹' => '(代)', '㊤' => '(上)', '㊥' => '(中)', '㊦' => '(下)', '㊧' => '(左)', '㊨' => '(右)', '㍾' => '明治', '㍽' => '大正', '㍼' => '昭和', '㍻' => '平成', '№' => 'No.
mysql CSV出力
・カラム名なし SELECT * FROM my_table INTO OUTFILE '/path/to/your/output.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; のSQLで出力できる・ ・カラム名も出力 # カラム名を取得してCSVに出力 mysql -u username -p -e "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'your_table_n
コンテナークエリー(@container)
コンテンツ幅で、cssの条件分岐を設定できる。 メディアクエリーのような使い方
htmx
動的な処理が、jsやバックエンドシステムを使用せすにできる
SVGファイル編集(色を変更したり背景を追加したりできる)サイト
https://iconscout.com/svg-editor
mysqlユーザ一覧、権限一覧
MySQLでユーザの一覧とその権限を確認するためのSQLクエリには、主に以下の2つがあります。 1. **ユーザ一覧を表示するクエリ:** ```sql SELECT User, Host FROM mysql.user; ``` このクエリは、`mysql.user` テーブルからユーザ名とホスト名を表示します。 2. **ユーザの権限を表示するクエリ:** ```sql SHOW GRANTS FOR 'username'@'host'; ``` ここで `'username'@'host'` は、権限を確認したい
変数名を動的に扱う方法(JS)
JavaScriptでは、このような操作をオブジェクトを使って実現することが一般的です。 ### 1. オブジェクトを使った動的な変数名の扱い オブジェクトを使うと、プロパティ名を動的に設定することができます。 #### 例:オブジェクトを使った動的プロパティ名 ```javascript let variableName = "dynamicKey"; let obj = {}; // オブジェクトのプロパティに変数の値を使用 obj[variableName] = "Hello, world!"; console.log(obj.dynamicKey)
バリアブルフォントのサブセット化とWOFF2化
physonをインストール パスの環境変数を指定!←大事! pyftsubset ./NotoSansJP-VariableFont_wght.ttf --text-file=subset.txt --layout-features="*" --flavor="woff2" --output-file="NotoSansJP-VariableFont_wght.woff2" を実行 ※以下のソフトでも出来るっぽい フォント編集ソフトのインストール バリアブルフォントを作成するためのフォント編集ソフトが必要です。以下のソフトウェアのいずれかを使用します: FontF
実行時間が長いsqlクエリ削除
select * from information_schema.PROCESSLIST order by TIME desc limit 0,1; kill 44972672;
css
CSSで変数を扱えるようになり、ネストや:is()疑似クラスや:has()疑似クラスやコンテナクエリ、そしてカスケードレイヤーなどの新機能がモダンブラウザのすべてにサポートされました。これらの機能がSassに代わるものなのかの紹介
HTMLでポップオーバー js必要なし
popover属性 <button popovertarget="Modal">表示する</button> <div popover id="Modal"> <!-- Modal --> </div>
mysqldump
@2# データベース $ mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME > OUTPUT_FILE_NAME @2# テーブル $ mysqldump -u USER_NAME -p -h HOST_NAME DB_NAME TABLE_NAME > OUTPUT_FILE_NAME @2# テーブルの定義とデータのダンプ $ mysqldump -u USER_NAME -p -h HOST_NAME -A -n > OUTPUT_FILE_NAME [オプション] mysqldump --skip-set-char
お役立ちサイト
・TLSの確認 https://www.digicert.com/help/ https://www.cdn77.com/tls-test ・SPFレコードチェッカー https://powerdmarc.com/ja/spf-record-lookup/
Postfixのdkim対応 dmark対応
【opendkimを利用しての対応】 ・epelレポジトリがなければインストール yum -y install epel-release ・opendkimパッケージの確認 yum search opendkim ・opendkimが確認できたら、詳細確認 yum info opendkim ・opendkimインストール yum -y install opendkim ・opendkimのインストール確認 yum list installed | grep opendkim ・キーペア保存用のフォルダ作成 mkdir /●●/●●/●●
ワードプレスよく使用するテンプレートタグ・関数一覧
https://gri-t.com/wordpress-loop-template-tags/ the_title(); タイトル取得して、出力 get_the_title(); タイトル取得のみ the_permalink() URL(パーマリンク)取得して、出力 get_permalink() URL(パーマリンク)取得のみ site_url() WordPress コアファイルが置かれているアドレス(URL)。 言い換えると、WordPress がインストールされている位置(場所)のアドレス。 管理画面「設定」→「一般設定」→「WordPre
ワードプレス 管理画面メニューカスタマイズ
https://www.sejuku.net/blog/69541 https://wp-doctor.jp/blog/2020/05/14/%E3%83%AF%E3%83%BC%E3%83%89%E3%83%97%E3%83%AC%E3%82%B9%E3%81%AE%E7%AE%A1%E7%90%86%E7%94%BB%E9%9D%A2%E3%81%AE%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%81%AE%E9%A0%86%E7%95%AA%E3%82%92%E5%85%A5%E3%82%8C/ functions.phpにコードを記載
マークダウン 書き方
# 見出しh1 ## 見出しh2 ### 見出しh3 #### 見出しh4 ##### 見出しh5 * テキスト * テキストテキスト<br>テキストテキストテキストテキストテキストテキストテキストテキストテキス * テキスト 1. テキスト 2. テキスト 3. テキスト 1行目 (←半角スペース2つ) 2行目 <br> <br> 3行目 例: `int i = 0` ```java:title int i = 0; //コード ``` [Qiita](http://qiita.com/)
SQL カンマ区切りをフィールごとに
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(カラム, ",", 1), ",", -1) AS カラム, SUBSTRING_INDEX(SUBSTRING_INDEX(カラム, ",", 2), ",", -1) AS カラム, SUBSTRING_INDEX(SUBSTRING_INDEX(カラム, ",", 3), ",", -1) AS カラム FROM テーブル https://qiita.com/qwe001/items/3f54a5d12702a8eb67d7 【更新】 update テーブル,(SELE
無料アイコン
https://fonts.google.com/icons?selected=Material+Icons https://coliss.com/articles/build-websites/operation/work/icon-explorer-with-searching-icones.html
android WebView アプリ開発
https://androiddevelopers.hatenablog.com/entry/2020/06/23/224900 activity_main.xml に下記は追加 import android.webkit.WebView; import android.webkit.WebViewClient;
ウェブアクセシビリティ
[重大対応] ・自動再生はさせない 音声を自動再生することや強制的に再生させることは避けましょう。また、自動再生する音声は3秒以内に収めましょう。自動再生が3秒以上続く場合は利用者が止められるようにする必要があります。 音声の流れるページや動画広告などで自動再生する場合は、一時停止またはミュートボタンをつける ・袋小路に陥らせない キーボード操作だけで利用しているときに、一度フォーカスしたら抜け出せないコンテンツを作らないようにしましょう。たとえばモーダルダイアログのようなフォーカスを制限するコンテンツで起きやすいです。 ダイアログ内にフォーカス可能な閉じるボタンを置くことで、
IPA
安全なウェブサイトの作り方 https://www.ipa.go.jp/security/vuln/websecurity/about.html
文字列削除
https://www.choge-blog.com/programming/javascriptstringremovespecificcharacter/#toc3 let result = text.replaceAll('l', ''); let result = text.replace(char, ''); もし、文字列から特定の文字を全て削除したい場合は、第1引数に正規表現「/char/g」(char=削除する文字)を指定します //char=削除する文字 let result = text.replace(/char/g, '');
PHP 文字切り出し 特定文字以降削除
$title = "これはテストです|ここから削除される文章"; $title = mb_substr( $title , 0 , mb_strpos($title, "|") ); echo $title; //出力結果:これはテストです https://blue-bear.jp/kb/php-%E7%89%B9%E5%AE%9A%E3%81%AE%E6%96%87%E5%AD%97%E4%BB%A5%E9%99%8D%E3%81%AE%E6%96%87%E5%AD%97%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B%E6%96%B9%E
メンテ画面 htaccess
https://webtan.impress.co.jp/e/2009/06/16/5880 ErrorDocument 503 /maintenance.html <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !=/maintenance.html RewriteCond %{REMOTE_ADDR} !=192.168.0.4 RewriteCond %{REMOTE_ADDR} !=192.168.0.5 RewriteRule ^.*$ - [R=5
ChatGPT AI component generator
コンポーネント自動作成 https://www.webcreatorbox.com/webinfo/chatgpt-ai-component-generator https://ai2ui.co/
update 他のテーブルのレコードの値で
update 〇〇〇,●●● set 〇〇〇.text = ●●●.text where 〇〇〇.id = ●●●.id
SSH アクセスログ確認
IP毎に件数順 grep -Eo "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" ssl_access_log | sort | uniq -c | sort -r | head -n 15 ファイル出力 >> access_log-result https://humo-life.net/memo/doku.php?id=%E3%82%B5%E3%83%BC%E3%83%90:linux:%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89:%E3%82%A2%E3%82%AF%E3%82%BB%E3%
日付
date php date('Y/m/d', strtotime('+7 day')); strtotime 2038年問題 利用しているOSが64ビットで、「PHP」自体が 64bit ビルドにすることで回避 DateTime型を使う #### 年 (Year) - **`Y`**: 4桁の西暦年 (例: 2024) - **`y`**: 2桁の西暦年 (例: 24) #### 月 (Month) - **`m`**: 2桁の月 (例: 09) - **`n`**: 先行するゼロなしの月 (例: 9) - **`M`**: 英語の省略された月名 (
mysql コピー
https://blog.katsubemakito.net/mysql/copy-table CREATE TABLE newtable LIKE oldtable; INSERT INTO newtable SELECT * FROM oldtable;