SQLite3 ランダムにソート
SQLite3でテーブルからランダムにソートされたデータを取得するには、ORDER BY句にランダムな値を使用することができます。
SELECT * FROM abc ORDER BY RANDOM();
このクエリは、テーブル “abc” のすべての行をランダムな順序で取得します。これで、ランダムにソートされたデータが取得できます。

人生のツール置き場も兼ねてます。備忘録なども…

SQLite3でテーブルからランダムにソートされたデータを取得するには、ORDER BY句にランダムな値を使用することができます。
SELECT * FROM abc ORDER BY RANDOM();
このクエリは、テーブル “abc” のすべての行をランダムな順序で取得します。これで、ランダムにソートされたデータが取得できます。


Puppeteerは、Node.jsで動作するヘッドレスChromeを操作するためのライブラリです。ヘッドレスChromeは、ブラウザのエンジンであるChromiumをバックエンドで動かし、プログラムからブラウザを制御できるようにします。
Puppeteerを使用すると、Webページのスクリーンショットを撮影したり、自動的にフォームを入力したり、DOM要素を操作したりすることができます。また、ページのスクレイピングやユニットテストなど、さまざまなタスクに使用することができます。
Puppeteerは、非常にシンプルで直感的なAPIを提供しており、使いやすいです。また、Chrome DevTools Protocolを使用しており、高度な操作やデバッグも可能です。
Puppeteerは、Node.jsのパッケージマネージャーであるnpmを使用してインストールすることができます。インストール後、Puppeteerのブラウザインスタンスを作成して、様々な操作を実行することができます。
例えば、以下のコードは、Puppeteerを使用してGoogleの検索結果のスクリーンショットを撮影する例です。
javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.type('input[name="q"]', 'Puppeteer');
await page.click('input[name="btnK"]');
await page.waitForNavigation();
await page.screenshot({ path: 'screenshot.png' });
await browser.close();
})();この例では、Puppeteerを使用してブラウザを起動し、Googleのトップページにアクセスし、検索ボックスに”Puppeteer”と入力し、検索ボタンをクリックして検索結果ページに移動し、スクリーンショットを撮影しています。
javascript
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.type('input[name="q"]', 'Puppeteer');
await page.click('input[name="btnK"]');
await page.waitForNavigation();
await page.screenshot({ path: 'screenshot.png' });
await browser.close();
})();Puppeteerは、Webスクレイピングやテストを自動化するための強力なツールであり、Node.jsにおけるブラウザ操作のためのデファクトスタンダードです。
参考ページ
https://gihyo.jp/article/2022/09/rapid-learning-puppeteer-01
「同義語を使って」というアプローチは、検索エンジン最適化(SEO)における重要な戦略です。この方法は、コンテンツをより自然にし、検索エンジンの理解を深めるのに役立ちます。
「同義語を使って」コンテンツを作成することで、読みやすさと興味が高まります。これにより、ユーザー体験が向上します。
「同義語を使って」様々な検索クエリに対応することで、検索結果の範囲が拡大します。
現代の検索エンジンが意味的な理解を重視していることを考慮すると、「同義語を使って」のアプローチは特に効果的です。
「同義語を使って」コンテンツを自然な流れで強化することが重要です。これにより、トピックがより明確に伝わります。
「同義語を使って」効果を最大化するには、キーワードとのバランスが重要です。
関連する同義語を選択することで、「同義語を使って」の戦略がさらに強化されます。
「同義語を使って」コンテンツを最適化することで、SEO効果を高めることができます。これにより、検索エンジンのランキングが向上し、ウェブサイトへのトラフィックが増加する可能性があります。また、より自然なコンテンツはユーザーにとっても魅力的です。
Google ChromeをUbuntuにインストールするには、以下の手順に従ってください。
最初に、ターミナルを開いて以下のコマンドを実行して、Googleの公式リポジトリをシステムに追加します。
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
echo "deb [signed-by=/usr/share/keyrings/google-chrome.gpg arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
これにより、Googleの公式リポジトリがシステムに追加されます。
次に、新しいリポジトリ情報をシステムに反映させるためにAPTリポジトリを更新します。
sudo apt update
最後に、Google Chromeをインストールします。
sudo apt install google-chrome-stable
これらの手順を完了すると、Google ChromeがUbuntuシステムにインストールされます。ブラウザを起動するには、アプリケーションメニューから「Google Chrome」を探して起動するか、ターミナルで google-chrome コマンドを実行します。
参考:
Ubuntu に、PHPの環境をインストール方法
複数のバージョンをインストールして、alternativesで切り替えられるようにします。
sudo add-apt-repository ppa:ondrej/php
のコマンドを実行します。
Press [ENTER] to continue or Ctrl-c to cancel adding it.
と表示されたら、Enterキーを押します。
sudo apt update
ここでは、本ページ執筆時点で最新の、8.0をインストールします。
sudo apt install -y php8.0
他に、複数バージョンの切り替えを確認するため、本ページ執筆時点で有効な、7.3、7.4もインストールします。
sudo apt install -y php7.3
sudo apt install -y php7.4
sudo apt search php8.0-*
を実行すると、
libapache2-mod-php8.0/focal 8.0.10-1+ubuntu20.04.1+deb.sury.org+1 amd64
server-side, HTML-embedded scripting language (Apache 2 module)
libphp8.0-embed/focal 8.0.10-1+ubuntu20.04.1+deb.sury.org+1 amd64
HTML-embedded scripting language (Embedded SAPI library)
php8.0/focal 8.0.10-1+ubuntu20.04.1+deb.sury.org+1 all
server-side, HTML-embedded scripting language (metapackage)
php8.0-amqp/focal 1.10.2-8+ubuntu20.04.1+deb.sury.org+1 amd64
AMQP extension for PHP
php8.0-apcu/focal 5.1.20+4.0.11-1+ubuntu20.04.1+deb.sury.org+1 amd64
APC User Cache for PHP
php8.0-ast/focal 1.0.14-1+ubuntu20.04.1+deb.sury.org+1 amd64
AST extension for PHP 7
・
・
・
のように、インストール可能なモジュールが表示されるので、必要なモジュールをインストールする。
例:MySQLを使う場合
sudo apt install -y php8.0-mysql
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.3 100
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 110
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.0 120
sudo update-alternatives --config php
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/php8.0 120 auto mode
1 /usr/bin/php7.3 100 manual mode
2 /usr/bin/php7.4 110 manual mode
* 3 /usr/bin/php8.0 120 manual mode
Press <enter> to keep the current choice[*], or type selection number:
のように表示されるので、Selectionの番号を入れてEnterキーを押すと、そのバージョンが有効になります。
※上記はPHP 8.0が有効になっている状態です。
php -v
PHP 8.0.10 (cli) (built: Aug 26 2021 15:50:07) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.10, Copyright (c) Zend Technologies
with Zend OPcache v8.0.10, Copyright (c), by Zend Technologies
のように、選択したバージョンになっていればOKです。
7.4を有効にする場合:
sudo update-alternatives --set php /usr/bin/php7.4
php -v
PHP 7.4.23 (cli) (built: Aug 26 2021 15:51:37) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.23, Copyright (c), by Zend Technologies
のように、選択したバージョンになっていればOKです。
WSL2 Ubuntu 20.04にPHPを入れ、XDebugを有効にしてデバッグしたので、備忘録のため、その手順をまとめます。
※phpX.X-xdebug(PHP8.0の場合、php8.0-xdebug)をaptでインストールします。
apt install -y php8.0-xdebug
次に、xdebugの設定ファイルを編集します。
php8.0の場合:/etc/php/8.0/mods-available/xdebug.ini
まず、
zend_extension=xdebug.so
の設定をコメントアウトします。
; zend_extension=xdebug.so
次に、末尾に下記を追加します。
zend_extension="/usr/lib/php/20200930/xdebug.so"
xdebug.log=/tmp/xdebug.log
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_port=9003
xdebug.remote_enable = 1
xdebug.remote_connect_back = 1
xdebug.remote_autostart = 1
なお、zend_extensionのパスはバージョンによって異なるので、xdebug.soのファイルを検索して、絶対パスを設定します。