Skip to content

Instantly share code, notes, and snippets.

View askdkc's full-sized avatar
:octocat:

askdkc

:octocat:
  • Japan
View GitHub Profile
@askdkc
askdkc / a_road_to_common_lisp_jp.md
Last active May 30, 2024 05:15 — forked from y2q-actionman/a_road_to_common_lisp_jp.md
A Road to Common Lisp 翻訳

この文章は、 Steve Losh 氏の記事 "A Road to Common Lisp" の翻訳です。

原文はこちらです: http://stevelosh.com/blog/2018/08/a-road-to-common-lisp/


A Road to Common Lisp (Common Lisp への道)

これまで、「最近のCommon Lispをどう学ぶとよいでしょう?」と助言を求めるメールをたくさん受け取ってきました。そこで私は、これまでメールやソーシャルメディアに投稿した全てのアドバイスを書き下すことにしました。これが誰かに有益ならば幸いです。

@askdkc
askdkc / deb12laravel-setup.sh
Created November 29, 2023 03:42
Laravel Dev Env Setup Script for Debian 12
# PHP
sudo apt -y -V install wget curl php php8.2-fpm php8.2-cli php8.2-dev php8.2-pgsql \
php8.2-sqlite3 php8.2-gd php8.2-curl php8.2-imap php8.2-mysql \
php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath php8.2-soap \
php8.2-intl php8.2-readline php8.2-gmp php8.2-redis php8.2-memcached \
php8.2-msgpack php8.2-igbinary
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>homebrew.mxcl.php</string>
<key>LimitLoadToSessionType</key>
<array>
@askdkc
askdkc / debian12-pgroonga-dev.sh
Last active July 22, 2023 05:45
PGroonga Build Environment setup for Debian 12 Bookworm
sudo apt-get -V -y install wget tar build-essential zlib1g-dev liblzo2-dev libmsgpack-dev libevent-dev libmecab-dev libreadline-dev
sudo apt update
sudo apt install -y -V ca-certificates lsb-release wget
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
wget https://packages.groonga.org/debian/groonga-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./groonga-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt update
sudo apt install -y -V groonga libgroonga-dev groonga-tokenizer-mecab groonga-token-filter-stem groonga-munin-plugins groonga-normalizer-mysql
@askdkc
askdkc / ubuntu22-pgroonga-dev.sh
Last active July 22, 2023 05:46
PGroonga Builld Environment Setup for Ubuntu 22
sudo apt-get -V -y install wget tar build-essential zlib1g-dev liblzo2-dev libmsgpack-dev libevent-dev libmecab-dev libreadline-dev
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y universe
sudo add-apt-repository -y ppa:groonga/ppa
sudo apt-get update
sudo apt-get -y install groonga
sudo apt-get -y install libgroonga-dev groonga-tokenizer-mecab groonga-token-filter-stem groonga-munin-plugins groonga-normalizer-mysql
@askdkc
askdkc / pgroonga_synonyms_example.md
Last active May 16, 2025 02:48
PGroongaを使って表記揺れ検索に対応させる方法

表記揺れ検索を実現するためのPGroongaの機能

例えば「斉藤」や「高橋」といった複数ある漢字の表記揺れを事前に辞書登録しておくことで、表記揺れ検索に対応できる(強敵:渡邊とかもいるね)

-- 必要な拡張機能追加
CREATE EXTENSION IF NOT EXISTS pgroonga;

-- ここで表記揺れ対応させる文字を登録するテーブルを作るよ
CREATE TABLE synonyms (

ひらがな、カタカナ、ローマ字検索実施用インデックス作成テスト

テーブル作成

CREATE EXTENSION IF NOT EXISTS pgroonga;

CREATE TABLE memos (
  id integer,
  title text,

DB作成

createdb dougigo
psql dougigo

SQL実行

CREATE EXTENSION pgroonga;
CREATE TABLE names (
name varchar(255)
);
create extension pgroonga;
create index pgroonga_name_index on names using pgroonga (name);
insert into names values ('山田さん');
insert into names values ('横山さん');
@askdkc
askdkc / pgroonga_setup_ubuntu.sh
Last active October 30, 2023 00:20
Set Up PGroonga Ver 16 on Ubuntu 22
sudo apt install -y software-properties-common
sudo add-apt-repository -y universe
sudo add-apt-repository -y ppa:groonga/ppa
sudo apt install -y wget lsb-release
wget https://packages.groonga.org/ubuntu/groonga-apt-source-latest-$(lsb_release --codename --short).deb
sudo apt install -y -V ./groonga-apt-source-latest-$(lsb_release --codename --short).deb
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --no-default-keyring --keyring /usr/share/keyrings/pdgd-keyring.gpg --import -
echo "deb [signed-by=/usr/share/keyrings/pdgd-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list