『2030―2040年 日本の土地と住宅 』(野澤千絵)を読んだ
読んだのでざっくりまとめ。
地価高騰
ライフスタイルの変化で、交通の便のいい駅の徒歩圏内の需要が増え、地価が上昇。
結果として、土地が細分化したり、災害リスクの高い地域の人口が増えたりしている
将来的にそれらの土地が不良在庫化しかねない。
家が手に入りにくい
新築マンションの供給が減っている。都市化しきったことによる開発余地の減少による。
引きずられて中古マンション相場も上昇。
戸建ては空き家は多いものの、流通に回ってこない
加えて実需層の数は2025年がピーク。(とはいえ、これからどんどん減少する)
とはいえ、住宅の数はあるのだが、高すぎる住宅と、買いたくない住宅が積み上がっている状態で、在庫の質が、実需層とミスマッチになっており、欲しい住居が手にはいらない
再開発は高コスト化
再開発は地権者の利害関係の整理などで、土地の仕入れが高くなる
回収するために再開発の建物は高く大きくなっていく
利益を出すためにタワマンになる
結果的に値段も上がり、実需と乖離している。
感想
都市計画なき開発をした結果、未来への負債を積み上げている気がする。
結構、やばいんじゃないかなー。2050年とかになったら一部を除いて、東京でも地価はどんどん下がりそう。
Rubyで康煕部首・CJK部首補助を検出、置換する
Rubyで康煕部首・CJK部首補助を検出、置換するものをとりあえず作ってみた。
文字の変換表は、PythonでCJK部首/康熙部首を置換 - メモ が公開してくれているものを参考にした。
--
使い方はこんな感じ
require "./lib/string_ja.rb" using StringJa::Radical "埼玉埼⽟問題".codepoints # => [22524, 29577, 22524, 12127, 21839, 38988] "埼玉埼⽟問題".include_kangxi_radicals? # => true "埼玉埼⽟問題".tr_kangxi_radicals.codepoints # => [22524, 29577, 22524, 29577, 21839, 38988]
コード全体は以下*1。
# Stringクラスを日本語用に拡張するモジュール module StringJa # 部首を扱うモジュール module Radical # 康煕部首のCODEPOINT KANGXI_RADICALS_REGEX_PATTERN=/[\u2F00-\u2FDF]/ # CJK部首補助のCODEPOINT CJK_RADICALS_SUPPLEMENT_REGEX_PATTERN=/[\u2E80-\u2EFF]/ # 康煕部首のうち置換する文字の一覧 # via https://imabari.hateblo.jp/entry/2020/08/03/220407 # # CODE Pointsを確認したいときは、StringJa::Radical::KANGXI_RADICALS_PATTERN.each_char {|c| puts "#{c} : #{c.codepoints[0].to_s(16)}" } KANGXI_RADICALS_PATTERN="⼀⼁⼂⼃⼄⼅⼆⼇⼈⼉⼊⼋⼌⼍⼎⼏⼐⼑⼒⼓⼔⼕⼖⼗⼘⼙⼚⼛⼜⼝⼞⼟⼠⼡⼢⼣⼤⼥⼦⼧⼨⼩⼪⼫⼬⼭⼮⼯⼰⼱⼲⼳⼴⼵⼶⼷⼸⼹⼺⼻⼼⼽⼾⼿⽀⽁⽂⽃⽄⽅⽆⽇⽈⽉⽊⽋⽌⽍⽎⽏⽐⽑⽒⽓⽔⽕⽖⽗⽘⽙⽚⽛⽜⽝⽞⽟⽠⽡⽢⽣⽤⽥⽦⽧⽨⽩⽪⽫⽬⽭⽮⽯⽰⽱⽲⽳⽴⽵⽶⽷⽸⽹⽺⽻⽼⽽⽾⽿⾀⾁⾂⾃⾄⾅⾆⾇⾈⾉⾊⾋⾌⾍⾎⾏⾐⾑⾒⾓⾔⾕⾖⾗⾘⾙⾚⾛⾜⾝⾞⾟⾠⾡⾢⾣⾤⾥⾦⾧⾨⾩⾪⾫⾬⾭⾮⾯⾰⾱⾲⾳⾴⾵⾶⾷⾸⾹⾺⾻⾼⾽⾾⾿⿀⿁⿂⿃⿄⿅⿆⿇⿈⿉⿊⿋⿌⿍⿎⿏⿐⿑⿒⿓⿔⿕" # 康煕部首から置換可能な文字の一覧 # via https://imabari.hateblo.jp/entry/2020/08/03/220407 KANGXI_RADICALS_REPLACEMENT="一丨丶丿乙亅二亠人儿入八冂冖冫几凵刀力勹匕匚匸十卜卩厂厶又口囗土士夂夊夕大女子宀寸小尢尸屮山巛工己巾干幺广廴廾弋弓彐彡彳心戈戸手支攴文斗斤方无日曰月木欠止歹殳毋比毛氏气水火爪父爻爿片牙牛犬玄玉瓜瓦甘生用田疋疒癶白皮皿目矛矢石示禸禾穴立竹米糸缶网羊羽老而耒耳聿肉臣自至臼舌舛舟艮色艸虍虫血行衣襾見角言谷豆豕豸貝赤走足身車辛辰辵邑酉釆里金長門阜隶隹雨靑非面革韋韭音頁風飛食首香馬骨高髟鬥鬯鬲鬼魚鳥鹵鹿麥麻黃黍黒黹黽鼎鼓鼠鼻齊齒龍龜龠" # CJK部首補助のうち置換する文字の一覧 # via https://imabari.hateblo.jp/entry/2020/08/03/220407 CJK_RADICALS_SUPPLEMENT_PATTERN='⺃⺅⺉⺋⺎⺏⺐⺒⺓⺔⺖⺘⺙⺛⺟⺠⺡⺢⺣⺦⺨⺫⺬⺭⺱⺲⺹⺾⻁⻂⻃⻄⻍⻏⻑⻒⻖⻘⻟⻤⻨⻩⻫⻭⻯⻲' # CJK部首補助から置換可能な文字の一覧 # via https://imabari.hateblo.jp/entry/2020/08/03/220407 CJK_RADICALS_SUPPLEMENT_REPLACEMENT='乚亻刂㔾兀尣尢巳幺彑忄扌攵旡母民氵氺灬丬犭罒示礻罓罒耂艹虎衤覀西辶阝長镸阝青飠鬼麦黄斉歯竜亀' refine String do #文字列に康煕部首が含まれているか def include_kangxi_radicals? self.match?(KANGXI_RADICALS_REGEX_PATTERN) end #文字列に含まれる康煕部首を可能な限り漢字に置き換える def tr_kangxi_radicals self.tr(KANGXI_RADICALS_PATTERN, KANGXI_RADICALS_REPLACEMENT) end #文字列に含まれる康煕部首を可能な限り漢字に破壊的に置き換える def tr_kangxi_radicals! self.tr!(KANGXI_RADICALS_PATTERN, KANGXI_RADICALS_REPLACEMENT) end #文字列にCJK部首補助が含まれているか def include_cjk_radicals_supplement? self.match?(CJK_RADICALS_SUPPLEMENT_REGEX_PATTERN) end #文字列に含まれるCJK部首補助を可能な限り漢字に置き換える def tr_cjk_radicals_supplement self.tr(CJK_RADICALS_SUPPLEMENT_PATTERN, CJK_RADICALS_SUPPLEMENT_REPLACEMENT) end #文字列に含まれるCJK部首補助を可能な限り漢字に破壊的に置き換える def tr_cjk_radicals_supplement self.tr(CJK_RADICALS_SUPPLEMENT_PATTERN, CJK_RADICALS_SUPPLEMENT_REPLACEMENT) end end end end
ちょっと時間がないのでいったんここまでだが、時間ができたらテストを足してGemにしたい。
参考
- [ 康煕部首と CJK 部首補助の文字一覧 ] - Mr.XRAY
- 漢字のようで漢字でないUnicodeの「康熙部首」と「CJK部首補助」|TechRacho by BPS株式会社
- 見た目の変わらない文字化け―康煕部首とメイリオ - 日本インスティテューショナル・リサーチ協会 コラム
メモ
グリフとかcmapとか知らなかった。すごい雑にいうと
- グリフ: フォントにおける1文字の字形
- cmap: 文字コードとグリフの対応表
であって、 「康熙部首」と「CJK部首補助」が意図せず混入するのは、文字コードからグリフに変換した後、逆にグリフから文字コードに変換するときに別の文字コードに変換されることがあるからだそう。
プログラミングまとめ|みし|noteのフォントを読むシリーズも勉強になりそうだが、これはあとで。
またRubyのRefinementの仕組みも恥ずかしながら今回初めて知ったのでこれも勉強になった。
Known unknown risk
特に結論はないメモ
- いまさらながら、プロジェクト・シンエヴァンゲリオンを読んだ
- いくつか面白い事が書いてあったのでメモ
- 今回はknown unkown riskとunknown unkown risk (p)について
- known unkown riskとunknown unkown risk
- もともとよく知られた考え方だが、ラムズフェルドさんの発言で有名に重なった書かれた考え方
- https://data.wingarc.com/unknown-unknown-23097
- unknown unknown risk
- 「それが起きるまで起きると想像もできなかった問題」
- いわゆる完全な想定外のこと
- known unkown risk
- 本の中では、「具体的に「何」とはわからないが、このタイミングやこの局面では何かしらの問題が起き得ると予見できる」こととしている。
- そして、「事前に照準をあわせて具体的な準備をすることはできないが、何かが起こるだろうという警戒感をもつことができる」
- つまり具体的にはわからないが、備えることはできる類のリスクのこと
- もともとよく知られた考え方だが、ラムズフェルドさんの発言で有名に重なった書かれた考え方
- ソフトウェア/システム開発でもknown unkown riskをもう少し真面目に考えないといけないかも
WSL2(Ubuntu22.04)にDockerをインストールする
久々に開発環境を再構築している。昔よりだいぶ簡単になっている
Dockerのインストール
Install Docker Engine on Ubuntu | Docker Docsを参考に、以下のコマンドでDockerをインストールする
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
rootlessモードにする
uidmapを入れて
sudo apt-get install -y uidmap
rootlessモード用のスクリプトを実行する
dockerd-rootless-setuptool.sh install
あとは環境変数にDOCKER_HOST
を追加しておく
echo "#for rootless mode on docker" echo "export DOCKER_HOST=unix:///run/user/1000//docker.sock" >> ~/.bash_profile
以上
`WSL (2526) ERROR: UtilTranslatePathList:2866: Failed to translate XXXX` というエラーがでてWSL2が起動できないときは、` wsl --set-default `
事象
WSL2にUbuntu22.04をインストールしたあと、再起動したところ、以下のようなエラーがでて起動できなかった。
<3>WSL (2552) ERROR: UtilTranslatePathList:2866: Failed to translate C:\WINDOWS\system32 <3>WSL (2552) ERROR: UtilTranslatePathList:2866: Failed to translate C:\WINDOWS (Userのパスなど含まれるので略)
原因
よくわからない。
対策
以下を実行してWSL再起動
wsl --set-default {distro_name}
調査
とりあえずググると以下のような記事が見つかる
一応、wsl --list
を実行してみるが、ただしく既定のdistroは存在しているように見える
> wsl --list Linux 用 Windows サブシステム ディストリビューション: Ubuntu-22.04 (既定) Ubuntu
念のため再設定してみる
> wsl --set-default Ubuntu-22.04 この操作を正しく終了しました。 > wsl --list Linux 用 Windows サブシステム ディストリビューション: Ubuntu-22.04 (既定) Ubuntu
なぜか、上記を実行すると、正常に起動するようになった。
この辺のGithubでも議論はされている模様 <3>WSL (8) ERROR: CreateProcessParseCommon:782: Failed to translate \\wsl.localhost\westie\home\mwoodpatrick · Issue #9252 · microsoft/WSL
システムで使うコードについて
雑なメモ
コード設計
コード設計の指針としては以下のようなものがあるみたい
https://cio.go.jp/guides の 「コード(分類体系)導入実践ガイドブック」とか
https://brevis.exblog.jp/27630954/ のブログとも面白い 「品目コードNo.」の考え方・採り方もいいかもね。
コードのまとめ
- 政府CIOポータルに政府が持ってるコードの一覧があります https://cio.go.jp/codes
- 性別だけでも11個コードがあったりするけど...
個人的にまとめたコード
統一金融機関コード
全国銀行協会内の金融機関共同コード管理委員会が制定する、金融機関に付与された4桁のコードである。金融機関コード、銀行コード、全銀協コードとも呼ばれる via wikipedia https://ja.wikipedia.org/wiki/%E7%B5%B1%E4%B8%80%E9%87%91%E8%9E%8D%E6%A9%9F%E9%96%A2%E3%82%B3%E3%83%BC%E3%83%89
マスタは全銀協のサイトで購入できる https://www.jba-shuppancenter.jp/
サードバーティならBankCodeJP APIなどもあるhttps://bankcode-jp.com/
支店コード
金融機関の支店を表すコード。数字3ケタ。取得方法は統一金融機関コードに同じ。
郵便番号
郵便を送るためのおまかな地域と紐づいたコード。数字7桁。
郵便局がKEN_ALL.csv
https://www.post.japanpost.jp/zipcode/download.htmlを公開しているが、複数の地番https://qiita.com/nanasess/items/0f0aeaa1f72f599b9142がまとまっているので、パースするのは大変そう。
サードパーティのケンオールとか使うのがいいのではhttps://kenall.jp/
法人番号
都道府県
いろいろありますが、JIS X 0401都道府県コード とか、 https://ja.wikipedia.org/wiki/ISO_3166-2:JP あたりを使うのがよいでしょう。
地方公共団体
全国地方公共団体コードをつかえる。各種役所向けのコードもある
性別
https://ja.wikipedia.org/wiki/ISO_5218 に従っておくのがよいでしょう。このコードをシステムでどう扱うかは、 https://qiita.com/aoshirobo/items/32deb45cb8c8b87d65a4とか見ると良い。
EANコード
EANコード(イアンコード、European Article Number)は、商品識別コードおよびバーコード規格のひとつ。日本の規格は「JANコード」(Japanese Article Number)と呼ばれる。
https://ja.wikipedia.org/wiki/EAN%E3%82%B3%E3%83%BC%E3%83%89