最近二つほどツールを作り、Webツール置き場に配置したので、そこで得た学びや、作る時に意識したことについても書いてゆく。
ENV Checker
まずENV Checkerを作った話。
端的に言うとCyberSyndrome : ENV Checker - 環境変数チェッカーのパクリである。但しJSがないと動かない。
違いとしてはCyberSyndrome側で見れる情報のうち、ユーザー環境に起因しない情報を大幅に削り、ユーザー環境をメインに出せるようにしているほか、IPv4とIPv6の表示にも対応している。
作りとしては必要な情報を返すAPIを3つ用意し、ページを表示したときにJSがそれぞれを叩きに行き、その結果を表示している。
Get Enviroment APIはIPアドレス以外の環境変数を返却するもので、Get IPv4 APIはIPv4アドレスとホスト名、Get IPv6 APIはIPv6アドレスを返すように作ってある。
なぜこの様な分け方にしたかというと、Get Enviroment APIはIPのバージョンを問わない情報しか返さないが、IPアドレスまで返すようにするとIPv4に付随する情報やIPv6アドレスを返すことになるため処理が煩雑になる。
これは実装としてはCGIの環境変数をそのまま返しているのでREMOTE_ADDRに:が含まれているかどうかを見てIPv4か、IPv6かを振り分ける処理が必要になるからだ。
一方でGet Enviroment APIが環境変数だけを返すことに専念できるのならば、IPv4に付随する情報はGet IPv4 APIを叩けば取れるし、IPv6はGet IPv6 APIを叩けば取れるため、分岐処理が不要になる。
これによって各APIは単一の責務だけを持つことになり、コードの複雑化を回避できるといった寸法だ。この程度のシンプルな実装に求めることではないし、現状では無価値ではあるのだが、常日頃から意識することで、より複雑なものを作る時にも生かせるだろうし、将来何か改修するときにも作りが単純なほうが理解しやすいと思うので、こうしている。
IPv4とIPv6のAPIをどう分けているかというと、これはDNSレベルで解決している。Get IPv4 APIのエンドポイントにはAレコードのみを、Get IPv6 APIのエンドポイントにはAAAAレコードのみを設定することで、クライアントが接続する際に使用するIPバージョンを強制している。
こうすることで、各APIは単純にREMOTE_ADDRをそのまま返すだけでよくなり、IPバージョンの判定ロジックを一切持たなくて済むのが利点だ。欠点としてはAPIの数が一つ増えるため、管理コストは増えているといえるだろう。しかし分岐ロジックというのは往々にしてバグを生む存在であり、ないに越したことはないと思い、こういう設計にした。
また画面の描画をJavaScriptにさせているのも、こういったいわゆる関心の分離の思想によるところが大きい。やろうと思えばIPアドレス以外はCGIで表示して、IPアドレスのところだけをJSで書き換えることも、当然できる。出来るのだが、責務を分けるにはデータを返すだけのエンドポイントと、それを受けてJSで書き換える手法のほうが、より責務がはっきりしていて、わかりやすいのでこうしている。疎結合ということでもある。
項目値をダブルクリック・タップすることで値をコピーできるようにしているのも、地味だがこだわりポイントだ。
余談だが、先日Value-DomainでcertbotのDNS Challengeをやるスクリプトを書き直したのは、このドメインにTLS証明書を付与したり、DDNSできるようにする目的があったのが大きい。
というのも、このENV Checkerの開発にはipv4.lycolia.infoとipv6.lycolia.infoというドメインが関係しており、私の自宅サーバーの環境はIPv4がコロコロ変わるためDDNSが必須だった。
私が利用しているDNSレジストラであるValue-DomainはDDNS用のエンドポイントがあるのだが、1回1ドメインしか更新できず、60秒に1度しか叩けないという制約があり、これを回避するためには、Value-DomainのDNS APIに対して、一回で複数ドメインのAレコードを書き換える必要があった。
また同時に、以前使っていた、TLS証明書更新ツールである、value-domain-dns-cert-register (vddcr)はNode.jsのアップデートなどに伴う頻繁なメンテナンスが必要だったり、動作検証不足があったり、様々な面倒ごとがあり、これ以上触りたくなかった。
そんなこんなの流れがあり、ENV Checkerを作る中でOpenWrtからValue-Domainに複数サブドメインのDDNSを行うツールを作ったり、新たなTLS証明書更新ツールを作り、その検証をしたりしたのだ。
QRコードジェネレーター
もう一つはQRコードジェネレーターを作った話。
QRコードジェネレーターなどググれば無数に出てくるわけだが、意外と読み取り可能な最小サイズかつ、それをSVGで出力できるものを見つけることができなかった。そこで作ることにした。
とはいえ、作ったのはフロントエンドだけで、QRコードの生成自体はqrcode-svgを使わせてもらっている。これはこのライブラリのデモサイトで、理想の要件のものが作れることが分かったからだ。
なぜデモサイトで使えるのに、わざわざ作ったかだが、まずこのデモサイトでは最小サイズのQRコードを簡単に得ることが困難だったほか、256px以下のサイズにすることが想定されていないように見えたからだ。少なくともUIをクリックしてDIMENSIONを256px未満にしようとしても出来なかった。
また、デモサイトはいつか消える可能性もあるし、ブックマークするのも面倒なので、自分でホスティング出来るなら、それをするに越したことはなかったというのもある。
これを作っている中で得た学びとしては、カラーパレットの入力UIがWeb標準で可能になっていたことだ。そこら中で見かけるし標準であるんちゃうか?と調べたらあったので採用した。こういう複雑なものは昔であれば恐らく何かしらのライブラリを使うか、気合で作る必要があったと思うが、全く世の中は便利になったものだ。
また、こちらの実装方法については、HTMLの標準機能でカラーパレットを使ったカラーコード入力UIを作る方法の記事で紹介している。
他にもQRコードの周りには余白が必要ということも知れた。QRコードの開発元であるデンソーウェーブでは余白の求め方の計算式が解説されている。仕様上は適切な余白がない場合、読み込めない可能性があるようだ。これは恐らく周囲の図形とQRコード本体を光学的に分けて認識させるために必要なのだと思う。
なお、今回作成したQRコードジェネレーターには余白の自動調整機能は実装していない。理由は単純でサイズを自由に変えられる仕様上、帳尻をつけるのが面倒だからだ。要は手抜きである。
ついでにWebツール置き場の保守性や解りやすさを少し上げたりした
Webツール置き場のドメイン配下は元々全てペラのHTMLで実装していたのだが、ページが増えるごとに共通部分のhead要素の管理が煩雑になっていた。そこで、PHPに置き換えることにした。
結果として、以下のように、head要素の中身を共通化することができた。
まぁやっていることとしては高校時代にPHPで静的HTMLの内容を共通化していたのと何ら変わらないので、何故今更そんなことを…という感じだが、元々は静的HTMLで済むものは静的HTMLのほうが表示速度が速くシンプルでよいよなという意図で、静的HTMLにしていたのだが、数が増えてくるとそうも言ってられないということで対応した形だ。こういうのは事前に考慮しすぎると、早すぎる共通化やKISSの法則的なリスクを孕むと思っていて、定期的に振り返り、都度対応するほうが良いと感じている。いや、この程度の内容でそこまで考える必要はないと思うが…w
<!DOCTYPE html>
<html lang="ja">
<head>
- <meta charset='utf-8'>
- <meta http-equiv='X-UA-Compatible' content='IE=edge'>
- <title>Slackのリマインダーコマンドを作るやつ</title>
- <meta name="referrer" content="no-referrer-when-downgrade"/>
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="author" content="Lycolia Rizzim">
- <meta property="og:image" content="https://tool.lycolia.info/slack-remider-creator/OGP.png">
- <meta property="og:site_name" content="Lycolia">
- <meta property="og:title" content="Slackのリマインダーコマンドを作るやつ">
- <meta property="og:description" content="必要事項を埋めることでSlackの/remindコマンドを生成するやつ">
- <meta property="og:type" content="website">
- <meta property="og:image" content="https://tool.lycolia.info/slack-remider-creator/OGP.png">
- <link rel="stylesheet" href="style.css">
- <script src="check.js"></script>
- <!-- Matomo -->
- <script>
- var _paq = window._paq = window._paq || [];
- /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
- _paq.push(['trackPageView']);
- _paq.push(['enableLinkTracking']);
- (function() {
- var u="https://analytics.lycolia.info/";
- _paq.push(['setTrackerUrl', u+'matomo.php']);
- _paq.push(['setSiteId', '3']);
- _paq.push(['enableHeartBeatTimer', 10]);
- var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
- g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
- })();
- </script>
- <!-- End Matomo Code -->
+<?php
+require_once('../template.php');
+
+renderCommonHead(
+ thumbnail: 'https://tool.lycolia.info/slack-remider-creator/OGP.png',
+ title: 'Slackのリマインダーコマンドを作るやつ',
+ description: '必要事項を埋めることでSlackの/remindコマンドを生成するやつ'
+);
+?>
</head>
template.phpの中身
関心ごとに関数を切り分け、呼び出される側は呼び出す側に依存するように設計することで、親が子の変更に引きずられないように保守性を意識した設計にしている。他にもほとんど固定値であるものについては運用を平易にする観点からOptional化して、初期値を設定している。
<?php
function buildMatomo() {
return <<<END
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.lycolia.info/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '3']);
_paq.push(['enableHeartBeatTimer', 10]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
END;
}
function buildCommonMeta(string $title, string $thumbnail) {
return <<<END
<meta charset='utf-8'>
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<title>$title</title>
<meta name="referrer" content="no-referrer-when-downgrade"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="author" content="Lycolia Rizzim">
<meta name="thumbnail" content="$thumbnail">
<link rel="icon" href="https://lycolia.info/assets/brands/lycolia-32x32.png" sizes="32x32">
<link rel="icon" href="https://lycolia.info/assets/brands/lycolia-192x192.png" sizes="192x192">
<link rel="apple-touch-icon" href="https://lycolia.info/assets/brands/lycolia-180x180.png">
END;
}
function buildOG(
?string $thumbnail,
?string $site_name,
?string $title,
?string $description,
?string $type
) {
$tags = " <meta property=\"og:type\" content=\"$type\">\n";
$tags .= " <meta property=\"og:site_name\" content=\"$site_name\">\n";
if ($thumbnail !== null) {
$tags .= " <meta property=\"og:image\" content=\"$thumbnail\">\n";
}
if ($title !== null) {
$tags .= " <meta property=\"og:title\" content=\"$title\">\n";
}
if ($description !== null) {
$tags .= " <meta property=\"og:description\" content=\"$description\">\n";
}
return $tags;
}
function renderCommonHead(
?string $thumbnail = 'https://lycolia.info/assets/brands/lycolia-OGP.png',
?string $site_name = 'Lycolia.info',
?string $title = null,
?string $description = null,
?string $type = 'website'
) {
$head = buildCommonMeta($title, $thumbnail);
$head .= buildOG(
thumbnail: $thumbnail,
site_name: $site_name,
title: $title,
description: $description,
type: $type
);
$head .= buildMatomo();
echo $head;
}
また他にも、ドメイン直下にあるページの構造を見直した。
具体的にはulとliでリストにしていた部分をdl dt ddに直し、各ツールの内容を少し解りやすくした。ただ余りにも見た目が殺風景すぎるので、liに戻してカードUIをはめ込むようにするかもしれない。
投稿日:
いい感じのオフィスチェアが欲しいや、ゲーミングチェアなどの調査をしてきたまとめで椅子探しをしていたが、いったん区切りがついたのそのことについて書く。端的に言うと椅子を修理する当てを見つけたので、修理することに掛けてみることにした。
現状の椅子と修理について
まず座面の状態は急速に劣化しており、椅子のフレームから脱落しかかるほどになっていた。これは単にここ最近変な座り方をしているせいなのだが、なってしまったものはどうしようもない。
しかしニトリではもう売ってないし、修理依頼は断られるし、どうしようもなかった。
そこでどうにかならないかと調べていたら、革製品の修理を専門とする革研究所 神戸店というお店を発見した。
椅子の修理実績もあったため、早速声をかけてみたところ最大五万程度で修理できるだろうという見積もりが出たので依頼してみることにした。
しかし、現在は先客で埋まっているので、現物確認と作業可否判断は来月以降という話になった。何はともあれ、いったんこの椅子を使い続けられそうな光明が見えたのはありがたい。
とはいえ、この状態の椅子を使い続けるのは難しく、現物確認までの間や修理中に使える椅子は必要だったので、追加で椅子探しをすることにした。
新たに見てきた椅子
前回、ゲーミングチェアなどの調査をしてきたまとめでゲーミングチェアは不適当だろうということになったので、オフィスチェアを見ることにした。
家具屋を探しつくしている中、どこに行けば椅子があるだろう?と考えた時に思い付いたのがホームセンターだ。
LIFELEX ラウンドキャスターチェア パドリア
コーナン 灘大石川店にて確認。
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 43-55cm | かなり座面を高くできる |
| 素材 | PUレザー | |
| あぐら | × | 座面が狭すぎる |
| 価格 | 4,378円 | 非常に安価 |
- 座り心地は悪くない
LIFELEX ゆったりレザー調チェア ニネヴェ
コーナン 灘大石川店にて確認。
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 44-54cm | かなり座面を高くできる |
| 素材 | PUレザー+塩化ビニル | |
| あぐら | ◎ | |
| 価格 | 16,280円 | やや高め |
- 見た目に反してクッションが硬く、尻が痛くなる
- 肘当てを跳ねあげることができ、胡坐をかくことに支障がなく、座高を上げたまま机の下に入れるのも容易
- 手前より奥のほうが低く、ややふんぞり返る形になるため、作業向きではない
LIFELEX アンティークチェア クラロスII
コーナン 魚崎店にて確認。
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 45-53cm | |
| 素材 | PUレザー | |
| あぐら | × | 肘当てが邪魔 |
| 価格 | 10,780円 |
- 座り心地が良い
最終的に買った椅子
最終的にはLIFELEX ゆったりレザー調チェア ニネヴェを買うことにした。
座り心地だけを見ればLIFELEX アンティークチェア クラロスIIが一番よく、価格も安いからこれにしたかったが、肘置きの高さが机と衝突する高さだったため、値は張るが肘当てを跳ね上げることができるため、こちらを購入した。
この椅子は16,280円とやや高いが、それでもニトリのOC520と比べれば安価で、椅子の修理中にさえ使えるなら問題ないと判断した。
背中が群れるし、尻は痛いし、イマイチだが、価格からすれば及第点だ。せめてニトリのOC115 PVCの座高がもう少し高ければこちらにしたかったのだが、仕方ない。
この記事では、ここ最近見つけた面白いサービスやホームページについて書いていく。
サービス編
なんでもメモ、デライト (Delite)
まず初めに紹介するのがなんでもメモ、デライト (Delite)だ。どことなくレトロな雰囲気が楽しいサービスだ。
「デライトは、なんでも記憶できる魔法のメモ帳です。」とあるサービスで、ぱっと見はマイクロブログ的になっているが、投稿はすべて公開され、メディアのアップロード添付はできず、文章だけを投稿するSNSだ(一応YoutubeのURLを展開して動画プレイヤーを出す機能はあるようだが…)
このサービスでは投稿は「輪郭」と呼ばれ、輪郭は、花のように1輪、2輪……と「輪」で数えるとある。トップページにも「3,117,820輪の記憶が描き出されています。」とあり、投稿を「輪」という単位で計数していることがわかる。
また輪郭にはタイトルと本文を付与でき、タイトルは「知名」といい、これはハッシュタグとして機能するようになっている。本文は「描写」と呼ばれている。投稿すると投稿番号が附番されるが、これも「知番」という名前になっており、独自の世界観が熟成されていることがわかる。他にも独特の要素が色々あるので、気になった人は是非、使い方を見てみてほしい。あと、デライトで使える独自のマークアップ言語、デラングの存在も、デライトの独自性や世界観を補強しており、面白い。
アカウント登録は利用者番号とパスワードのみで行うことができ、メールアドレスが不要であることも独特だ。要するに忘れたら戻れないが、同時にアカウントの価値に重きを置いていないことも伺える。初期のころのMisskeyもそうだったが、あちらはメールアドレスが今では必須に近い運用だろうから、今はそうでないと言える。
もしかするとデライトは輪郭に重きがあり、利用者については、あまり関心がないのかもしれない。使い方のページに投稿が削除できない代わりに忘れ去られるとあるように、その利用者もまた忘れ去られるのかもしれない。そう考えると、詩的で、哲学的でもある。
中身としては、はてなキーワードの現代版といった感じで、「知名」を「引き込み」という、RTやリブログに近い仕組みで引用し、新しい輪郭を作ることで輪郭同士を知名で連携し、全ての情報をハッシュタグでリレーしていくような感じの世界が広がっている。
Wikipediaで何かの記事を見て関連記事を眺めていくみたいなことが無限にできる感じだ。中身はそこまで濃くなく、全体的にはてなキーワード的だと思う。
つまりこれは懐かしい感じのUIや雰囲気の中に、やや中二病じみた世界観を生み出し、中身としてははてなキーワード的なマイクロブログだといえると思う。
ちゃんと広告が貼ってあったり、ダークモードも実装されているのは今風だと思うし、広告が少なく、そこまで邪魔でもないのは利用に際し、快適だと感じる。
rururu
rururuはソーシャルフィードリーダーだ。個人的にソーシャルフィードリーダーという概念をここで初めて知ったので新しい概念に感じている。
これは自分の購読しているフィードを公開したり、読んだ記事に足跡をつけたり、その痕跡を友達にも見せられるサービスだという。
アルゴリズムで作られたおすすめ投稿がタイムラインに並ぶ昨今のSNSへのカウンターとして、拡散を意図しないブログサービスや個人サイトなどでしずかに情報発信をする人が増えています。そこで便利なのがフィードリーダー。フィードリーダーは自分が登録したサイトの更新情報だけが流れてくるので、自動レコメンドに煩わされることなく個人発信の最新情報をキャッチできます。
サービスの説明には、このようにあり、こちらもデライト同様に中々独創的なサービスだと感じる。
実は私も過去に似たようなものを考えたことがあり、それが具現化されていたのもあり、非常に面白いサービスだと感じた。
現在はまだベータサービス中で、本格運用はされていないようだが、申請すればベータアカウントが登録されるらしい。
個人的にはrururuという楽しそうなサービス名や、肉球のアイコンが気に入っているし、このブログもフィード登録されている事についても、嬉しく思っている。
ピクリエ
ピクリエはオンライン同人誌即売会ができるサービスだ。ここまでに紹介した個人運営系のサービスとは毛色が違い、お金が発生するやつで、会社法人が運営しているサービスである。運営企業はなんとメガネの町、鯖江にあるらしい。
ただ会社の住所や運営形態を見る感じ、自営業者ではあるように思う。
システム自体は名古屋にある株式会社GMWという企業が開発したpictSQUAREというものを使用しているらしい。なんと特許をとっているらしく、ピクリエはこの特許利用を許諾されている唯一の例らしい。
中身としてはRPGツクール製ゲーム的な画面の中で即売会イベントを行い、サークル側は指定のブースに立ち、ユーザーは会場を巡回し、ブースを回覧していくといった感じの内容だ。ただ、即売会とは言うもののピクリエ自体には販売機能がないため、ブースではBOOTHや通販サイトなどのリンクを張り、ブース内ではやってきた同好者と話をしたり、サンプル本が見れるリンクを見せて読んでもらったり、というのが軸になるようだ。
費用としてはイベントの企画者がシステム利用料をピクリエに払うほか、ユーザー側もイベンターに対して支援金を払うことができるようで、これはエールと呼ばれ、支援金の一部(15%)はマージンとしてピクリエの収益となるそうだ。他にサークルから参加費を撮ることができるが、これは主催者に送金されるものらしい。恐らく主催者はサークルから集金したお金をシステム利用料に転嫁することが多いのだろう。
エールはあまり期待できないだろうから、ピクリエは基本的にイベントのシステム利用料を収益源としていることが伺える。24時間のイベントだと1サークル当たりのシステム利用料が550円だそうだ。
3月3日~3月29日では780サークルの参加が確認できたことから、単純計算ではピクリエとしては429,000円の収入があると思われる。結構渋い。ちなみに29イベントあり、サークル参加の平均は26.89サークルだった。
ホームページ編
neocitiesのホームページたち
特定のホームページを指すわけではないが、neocitiesのホームページ達はどことなく懐かしい。例えばGIFがキラキラしていたり、要素がいごいごしていたりするのは、インターネット黎明期の個人ホームページを想起させる。
実際の作りや雰囲気は当時と異なるものの、どこか懐かしい風景が見れるホームページが多いのが特徴的だ。
全てがすべてそうというわけでもないが、100%healthやneo's HEAVENWURLD ଘ(ˊ_ˋ)、caramelpuddinzなどはその一例といえるだろうし、英語圏のホームページでもWebリングや日本のアニメ的画像が用いられているのは興味深い。
I'M FANTASIZING ALL THE TIMEというホームページも英語圏のように見えるのだが、何故かD4DJの笹子・ジェニファー・由香を熱く推したページが存在している。結構マイナーな作品だと思うのに、一体どこで知ったのか謎である。海外でも配信はされてたらしい。
1990~2000年代の懐かしホームページとカオスのような空間を楽しみたい人にはneocitiesホームページ巡りはうってつけだ。気が付いたら時間が溶けていること間違いなしである。
ドギマギふんたぢ~
急にゆるいタイトルが出てきたが、ドギマギふんたぢ~というホームページでは、管理人のえのきのこさんが可愛らしいドット絵をはじめとしたイラストを展示されていて、非常に和む。
ホームページのタイトルがGIFでくるくるゆらゆらしていたり、全体的に手作り感というか、めちゃくちゃ手書きで手作りのデザインがとても素敵だ。
思えば、昔はこんな感じのゆるーい絵師さんのホームページをよく見ていた気がするし、怒涛のごとく流れ、消費してしまいがちなpixivやTwitterなどのSNSで絵を見るよりもゆったりと見れて、記憶に残りやすく、その分、感動もあるように感じる。
カウンターをクリックすると何やら胡散臭い所に繋がり、胡散臭さしかないのもいい。なんか埼玉の会社がやってるアクセスカウンターらしい。恐らく無料カウンターを多くのサイトに乗せてもらうことで被リンクを増やし、自社のSEOを上げようとしているのだろう。
ヤチヨの部屋 - Yachiyo's Room
ヤチヨって誰だよ!となるのが次に紹介する、ヤチヨの部屋 - Yachiyo's Roomだ。
恐ろしいことにタイムスタンプがすべて2003年で、お絵描き掲示板は動かないのに掲示板の風体をしてるし、タイムスタンプに対して絵柄が新しすぎるw
絵茶には定型文のチャットが流れ続ける中、自分も入力して流せるギミック付きで面白い。
絵茶はクレジットからして既存システムを使いまわしているようだが、ゲーム置き場には本格的なゲームもあり、ちゃんとプレイできる内容になっていて、ドット絵もかわいいのに、こちらにはクレジットがないのが驚きだ。
またフレームを使ってそうで、流石に使っていなかったり、ベースのHTMLが韓国語なのをブラウザの言語設定か何かを見て日本語表示になるようになっているのも面白い。
タイムスタンプの違和感や、取りされなかったハングルの痕跡など、全体的に嘘くさくて不気味なところはあるが、作りこみが素晴らしく、ぎゃらり~に至っては恐らく管理人氏のイラストだろうか?文字の部分は丁寧に各言語に直されているので、非常に素敵だ。特に「メンダコだよ…たぶん?」の可愛さや「シーラカンス!」の力強さ?が好きだ。
ちなみにこのホームページはフェイクが多いように感じるが、アクセスカウンターはどうも本物らしく、またWeb拍手もちゃんと書き込むことができて、これまた面白い。
作者は絶対面白い人だと思うので、一度どんな人なのかSNSか何かで見てみたいところである。それとWeb拍手にある以下の記述から推察するに、やちよさんが実際の人物だとしたら、多分一人で作ってなさそうな気もするので興味深い。
やちよ本人ではなくファンサイト制作者です
ところで結局やちよさんは誰なんだろうか…。
🌐Web 1.0 同盟
🌐Web 1.0 同盟は、なんと最新の技術で作られたWebリングである。ホームページにあるGoogle Formから申請すると登録することができる。
JSを貼り付けることでバナーを表示するのだが、どうやら参照するスクリプト内に登録ホームページの情報が列挙されていて、それを読み込むことで動いているようだ。github.ioのリソースだけで動かすことができ、この手のものにしてはバックエンドが不要というのがユニークだ。しかも実装技術にはOnionring.jsという海外製のものを使っているというのも面白い。Webリングって海外にもあるの!?でも、neocitiesにはあるからあるのかもしれない…?
バナーデザインもWeb1.0っぽく、ホームページのデザインもそれっぽいのがいい。実装や記法はモダンだが、見た目はレガシーというのに趣を感じる。
私も発見してすぐに申請を出し加盟しており、トップページにバナーを貼っている。
あとがき
しかし、デライトもrururuも、アクセス解析にあったリファラで存在を知ったのだが、こういう経験をするとMatomoを入れて本当に良かったと思える。何故なら私はGoogle Analyticsを使っていた時は、まともにデータを見ていなかったからだ。Matomoは常に私に発見と感動を与えてくれる。非常に素晴らしいアクセス解析だと感じる。
昨今は個人ホームページブームが復権してきているのか、こういったものが増えていて個人的にはとても楽しい。これぞインターネットって感じがする。そう、令和初頭のインターネットの在り方の一つなのかもしれない。
個人ホームページ周りの隆盛については、以前書いたミンゲイインターネットの紹介でも触れているし、この手の記事はBlueskyの例の記事を読んだ感想と、古今のインターネットへの想いや、古のサイト探究~駄文同盟のID上位100サイトを巡り、今までのネット人生や自サイトの過去を振り返ってみるでも触れている。
私にとって個人ホームページこそが全てのインターネットの始まりで、Webみたいなところがあるので、こういう風潮はとても良いと感じているし、昨今の中央集権型のインターネットよりは、個人ホームページや、雑多なサービスに分散された疎なインターネットのほうが、余計な諍いも減り、平和になるだろうとも思っている。
投稿日:
いい感じのオフィスチェアが欲しいの続きで、革張りの椅子がゲーミングチェアくらいしかなさそうなので、ゲーミングチェアの展示を回って調べてみようのコーナー。ゲーミングチェア以外も見ている。
座面高はコンベックスで測った実測値で、座面先端部の高さを見ている。
椅子ごとの比較
ニトリ ゲーミングチェア(GM702N)
ニトリ御影店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 43-51cm | |
| 素材 | PUレザー | 帝人製エアリー |
| あぐら | ランバーサポート外せばいけなくもない | |
| 価格 | 36,990円 | |
| 最安 | 同上 | |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | ✕ | 座面と本体の間に隙間がありゴミが溜まりそう。座面側面にファブリックあり |
- 蒸れない
ニトリ ゲーミングチェア(GM707C)
ニトリ御影店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 43-51cm | |
| 素材 | PUレザー | |
| あぐら | ランバーサポート外せばいけなくもない | |
| 価格 | 29,990円 | |
| 最安 | 同上 | |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | ✕ | 座面と本体の間に隙間がありゴミが溜まりそう。座面側面にファブリックあり |
- 座面が硬い
ニトリ ゲーミングチェア(GM707)
ニトリ御影店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 43-51cm | |
| 素材 | PUレザー | |
| あぐら | ランバーサポート外せばいけなくもない | |
| 価格 | 21,990円 | |
| 最安 | 同上 | |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | △ | 座面と本体の間に隙間がありゴミが溜まりそう |
- GM702NやGM707Cと異なり、側面もレザー
- 座面が硬い
noblechairs NBL-ICN-PU-BED-SGL
ヨドバシカメラ マルチメディア梅田で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 45-53cm | |
| 素材 | PUxPVCレザー | 耐久性が高いと謳っていた |
| あぐら | 問題なくかける | |
| 価格 | 82,280円 | |
| 最安 | 57,120円 | ヨドバシ通販 |
| ランバーサポート | ファブリック枕 | |
| 枕素材 | ファブリック | |
| 清掃性 | ◎ | 平らなので汚れが溜まりづらい |
- ランバーサポートがファブリックの枕
Andaseat GC-Kaiser4
ヨドバシカメラ マルチメディア梅田で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 47-54cm | |
| 素材 | ArteDiPelleエコレザー | 耐久性が高いと謳っていた |
| あぐら | かけるが、座面が短い | |
| 価格 | 99,980円 | |
| 最安 | 同上 | |
| ランバーサポート | 内臓 | |
| 枕素材 | ファブリック | |
| 清掃性 | ◎ | 平らなので汚れが溜まりづらい |
- ランバーサポートの作りが独特でゴミが溜まりやすそう
- これのせいで座面の奥行きが浅い
Andaseat GC-Kaiser3/REBL
ヨドバシカメラ マルチメディア梅田で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 43-50cm | |
| 素材 | PVCレザー | 耐久性が高いと謳っていた |
| あぐら | かけなくはない | |
| 価格 | 89,980円 | |
| 最安 | 同上 | |
| ランバーサポート | 内臓 | |
| 枕素材 | ファブリック | |
| 清掃性 | ◎ | 平らなので汚れが溜まりづらい |
- Phantom3 DuraXtraレザー GC-PHANTOM3という類似品が54,982円であるので調べる価値がある
- AKRacing Pro-Xよりは蒸れづらい
関家具 アイガー EVO
ヤマダデンキ Tecc LIFE SELECT 尼崎店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 40-50cm | |
| 素材 | PVCレザー | 耐久性が高いと謳っていた |
| あぐら | かけない | |
| 価格 | 45,320円 | |
| 最安 | 同上 | |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | ✕ | 座面と本体の間に隙間がありゴミが溜まりそう |
- 座面左右の張り出しが邪魔で窮屈
AKRacing Pro-X Gaming Chair Red
ソフマップ 神戸ハーバーランド店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 44-50cm | |
| 素材 | 高耐久PUレザー | 高温高湿試験で10年使用相当のテストにパスとのこと |
| あぐら | 肘当てがなければいける | |
| 価格 | 64,230円 | |
| 最安 | 57,791円 | Amazon |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | 〇 | 隙間に見える部分があるのがやや気になる |
- ゲーミングチェアの始祖的存在にして王道ブランドといえば、やはりここ
- 蒸れやすい
noblechairs EPIC NBL-PU-WHT-002
ソフマップ 神戸ハーバーランド店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 45-53cm | |
| 素材 | PUレザー | |
| あぐら | 肘当てがやや邪魔 | |
| 価格 | 71,400円 | |
| 最安 | 64,900円 | Amazon |
| ランバーサポート | ファブリック枕 | |
| 枕素材 | ファブリック | |
| 清掃性 | ◎ |
- 縫い目の部分が通気性に貢献しそうな気がするのはプラスポイント
COUGER Armor S Black
ソフマップ 神戸ハーバーランド店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 46-54cm | |
| 素材 | PVCレザー | |
| あぐら | 左右の張り出しが邪魔 | |
| 価格 | 43,350円 | |
| 最安 | 同上 | |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | ✕ | 座面と本体の間に隙間がありゴミが溜まりそう |
ニトリ OC115 PVC
ニトリ須磨店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 40-48cm | |
| 素材 | PVCレザー | |
| あぐら | 肘当てを外せばいける | |
| 価格 | 9,990円 | |
| 最安 | 同上 | |
| ランバーサポート | 椅子の形状がそうなっている | |
| 枕素材 | なし | |
| 清掃性 | 〇 | 座面と背もたれの隙間が気になる |
- 非常に安い
- 座面が硬く長時間座るのが厳しそうだった
AKRacing AKR-NITRO-BLUE/V2
ジョーシン 三宮1ばん館で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 44-51cm | |
| 素材 | 高耐久PUレザー | |
| あぐら | 左右の張り出しが邪魔 | |
| 価格 | 47,800円 | |
| 最安 | 47,790円 | Qoo10 Event |
| ランバーサポート | レザー枕 | |
| 枕素材 | レザー | |
| 清掃性 | 〇 | 隙間に見える部分があるのがやや気になる |
- 蒸れやすい
ニトリ OC520
ニトリ御影店で確認
| 項目 | 詳細 | 備考 |
|---|---|---|
| 座面高 | 45-53cm | |
| 素材 | 不明 | |
| あぐら | かける | |
| 価格 | 24,990円 | |
| 最安 | 同上 | |
| ランバーサポート | 椅子の形状がそうなっている | |
| 枕素材 | なし | |
| 清掃性 | ✕ | 構造物が多すぎる |
- あまり蒸れない
まとめ
| 項目 | Kaiser4 | Kaiser3 | EPIC | Pro-X | ICN | GC-PHANTOM3 | アイガー | NITRO | Armor S | GM702N | GM707C | OC520 | GM707 | OC115 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 座面高 | 47-54cm | 43-50cm | 45-53cm | 44-50cm | 45-53cm | 未確認 | 40-50cm | 44-51cm | 46-54cm | 43-51cm | 43-51cm | 45-53cm | 43-51cm | 40-48cm |
| 素材耐久性 | 〇 | 〇 | ✕ | ◎ | 〇 | 〇 | 〇 | ◎ | 〇 | △ | ✕ | 不明 | ✕ | 〇 |
| あぐら | △ | △ | △ | 〇 | ◎ | 未確認 | ✕ | ✕ | △ | △ | △ | 〇 | △ | 〇 |
| 最安 | 99,980円 | 89,980円 | 64,900円 | 57,791円 | 57,120円 | 54,982円 | 45,320円 | 47,790円 | 43,350円 | 36,990円 | 29,990円 | 24,990円 | 21,990円 | 9,990円 |
| ランバーサポート | 内臓 | 内臓 | ファブリック枕 | レザー枕 | ファブリック枕 | ファブリック枕 | レザー枕 | レザー枕 | レザー枕 | レザー枕 | レザー枕 | なし | レザー枕 | 内臓 |
| 枕素材 | ファブリック | ファブリック | ファブリック | レザー | ファブリック | ファブリック | レザー | レザー | レザー | レザー | レザー | なし | レザー | なし |
| 清掃性 | ◎ | ◎ | ◎ | 〇 | ◎ | ◎ | ✕ | 〇 | ✕ | ✕ | ✕ | ✕ | △ | 〇 |
AndaseatのGC-PHANTOM3がコスパが良く有望株な予感がしているので、GC-PHANTOM3の展示を見て調べたい感じだが、ランバーサポートがファブリックなのが蒸れ・汚れそうでどうにも難点だ。
そう考えると左右の張り出しが気になるものの、AKRacing Pro-X Gaming Chairはランバーサポートが革なので不安がない、となると、価格帯的にはnoblechairs NBL-ICN-PU-BED-SGLも選択肢に入ってくる。
というので、ひとまず、すぐに見れるnoblechairs NBL-ICN-PU-BED-SGLとAKRacing Pro-X Gaming Chairを座り比べてみたが、蒸れや、着座感がイマイチしっくりこない。
やはり求めているのはゲーミングチェアではなく、オフィスチェアな気がしてきたので、なかなか難しいところだ…。どうにか今の椅子を騙し騙し使う方向で考えたほうが、予算的にも建設的かもしれない。
投稿日:
今使っているチェアがだいぶヘタってきて、そろそろダメそうなので買い換えたいがディスコンになっていて困ってしまった…。
椅子に求めるもの
個人的に椅子に求めるものは次のようなものだ。
- 汚れに強く、清掃性が高い
- 加水分解しない
- 座面に程よいクッション性があり、硬さやツッパリ感がない
- 上で胡坐をかける
- 一番高い状態のまま机の下に入れられる
ファブリック vs メッシュ vs レザー
で、これを求めると選択肢としてはこの辺りだろう。
まずファブリック素材は汚れに弱く、清掃性も終わってる。家具屋の座面や、会社の椅子などは悲しいほど汚れているし、悪臭を放っていることさえある。あんなのは耐えられない。
次にメッシュチェアだが、こちらは突っ張っていて苦手だ。それと椅子の端っこ、太ももが乗る部分が硬くて痛い。アーロンチェアだろうがオカムラだろうが痛いものは痛い。
すると残るのは革張りになってくる。革張りの椅子は汚れが染み込まず、表面の汚れも落としやすい。また、座り心地はファブリック並みによく、親水性がないためクッションの中に湿気が溜まることがないのもメリットだ。
今の椅子
三年ほど使っていて、食べこぼしや飲みこぼし、血などの付着があったりもしたが、軽微なものはトイレクイックル、油汚れであっても食器洗い洗剤で擦れば綺麗になくなるので、汚した内容に対する状態はいい。
構造的には左右にパイプが張っていて、その間に革をハンモックのように張っている面白い構造だ。クッションと呼べるものはないが、革の伸縮によるクッション性がある。
しかし三年も使っていると革が伸びてダメになってくる。これは三代目なのだが、四代目はどうにも手に入りそうにない。
素材はニトリのNレザーで、そのためか加水分解など一切せず、非常に表面の状態はいいのが特徴だ。
更に肘置きがなく、机の下にそのまま入るのも便利だ。
ただ本来は肘置きで背もたれを固定する構造のため、肘置きがないと背もたれが前に折れてくるのが難点だ。この椅子は運搬の都合、背もたれを半分に折って小さくできるようになっているのだ。
これも初期のころは何もせずとも立っていたのだが、ついここ半年ほどで具合が悪くなってきている。
そこでガムテープで固定しているのだが、ガムテープだと緩んで機能しなくなることもあり、なんとも言えない。
背もたれが倒れているのは非常に腰によくないので、限界を感じる。
因みにこの椅子は製品としてはニトリのNシールドカルカというものだ。
次の椅子探しの旅
類似品を探して発見するリプロダクトというジャンル
ニトリ製品はOEMも多く、ニトリでディスコンになった後もホムセンなどで見かけることがあるので調べていたが、残念ながら同じものは見つからなかった。
ただ類似品はECサイト上に多くあり、調べていくうちにイームズ社の開発したアルミナムチェアのリプロダクトであることが分かった。リプロダクトというのは要は設計の権利が切れたもののコピー品のことである。
「イームズ アルミナムチェア リプロダクト」とかでググると山のように出てくる。ローバックならニトリビジネスにもオフィスチェア(EX338 GTS129 BK)として存在した。
オフィスチェア(EX338 GTS129 BK)を実際に買ってみたが、座面実測が44cmで今の椅子が50cmなので、6cmも低く、更に座面が後ろに倒れており、作業椅子としては使えそうになかった。いわゆるエグゼクティブチェアの類に近いと思うが、グランフロント大阪にあるニトリビジネスの展示などを見る限り、会議室での使用を想定してそうだった。
しかし、イームズ アルミナムチェア リプロダクトが、これほど人気のジャンルならニトリさんにもイームズ アルミナムチェア リプロダクトとしてもう一度出しなおしてほしいものである。
まぁないものは仕方がないので諦めるしかない。
家具屋巡礼
実際に座ってみないことには何とも言い難いので、実物を展示している店舗を探すことにした。
まずそんじょそこらの家具屋にはオフィスチェアがそもそも置いてない。これを置いている家具屋を探すだけで一苦労である。
ググって出てくるオシャレな家具屋には確実にない。置いてあるのはニトリ、IKEA、東京インテリア家具、大塚家具くらいだ。
ニトリに期待できる品がない以上、他をあたるしかないだろうと思って、まず訪問したのが新神戸のプラスカーサだったが、こちらにはハーマンミラーのアーロンチェアやセイルチェアしかなかった。
次に向かったポートアイランドのIKEAには革張りのオフィスチェアで求めるものがなく、ファブリックが多かったと思う。向かいの東京インテリア家具には何の期待もせずに向かったがハーマンミラーとオカムラのチェアはあったものの、そもそもハーマンミラーとオカムラに求める品がない私には意味がなかった。
最後に向かったのは大阪南港にある大塚家具のショールーム、IDC大塚家具大阪南港だ。
ここは非常に品ぞろえが多かったが、リプロダクト品の扱いはなかった。予約なしで訪問したが、ここでは店員からアドバイスを受けることができた。
一番近いのはオカムラのコンテッサセコンダの総革張りとのことだった。しかし本革で価格は70万円、コンテッサの売りは肘置きということで、「肘置きが不要ならそれだけの価値はなく、更に本革はガシガシ汚す用途では不向きという。価格的に無理なのもあり、撤退することにした。
ここまでの旅で分かったこととしては、革張りの椅子にはエグゼクティブチェア、要するに社長椅子が多く作業に不向きなものが多いということだった。そして作業椅子は代替ファブリックかメッシュである。
結局次の椅子をどうするか
ひとまず世の中の椅子はファブリックかメッシュが多く、革張りがあっても社長椅子では話にならないし、作業椅子でも価格が70万では話にならない。
そこで着眼したのがゲーミングチェアだ。ゲーミングチェアは革張りが多く、ゲームをしながら使うものなので飲み食いが想定されている。肘置きは高さ調整が効いたり、外せそうな見た目のものも多く見えるので、ここにならチャンスがないかということを思ったので、次はゲーミングチェアを見ていこうと思う。


































