スベリミナル効果

技術的なことを書こうと思ってたけど何でも書くことにします


通常用

ふざけ用
何でもコメントください。誤り指摘コメントなどには「コメン(ゴメン)」ト誤ります(1スベリ)
ダジャレ好きの方はこちらにどうぞ(更新してないけど)→スベリブログ2.0

データベース学習の第0歩 ~すぐ試せるようにする~

データベースを勉強しなくてはいけない感じです。前職では基本的に既存のDBを使うか多少テーブルが増える程度だったし、オンプレの機器の中で大したデータ量も持たないDBだったので、負荷的な側面とかほぼ考えることが無かったわけです。


さーて、じゃあデータベースの何をどうやって勉強しようか、みたいなところは様々な側面があるのでここでは語らないとして、とにかく試してみたいときに試せるようにしたいじゃないですか。しかも、汎用的にしたいなと、色んなパターン試したいと。でも、毎回SQLコマンド叩くのもめんどい… ということで、現状の結論がコレでした。



mysqllib.sh (名前が適当なことに対する文句は受け付けておりません)

#!/bin/bash
. userpass.txt
database=testdb

do_init() {
    if which dnf > /dev/null ; then
        sudo dnf install mysql
    elif which apt-get > /dev/null ; then
        sudo apt-get install mysql-server
    fi
}
do_start() {
    sudo service mysql restart
    sudo mysql -u $USER -p$PASS -e "CREATE DATABASE IF NOT EXISTS $database"
}

_exec_sql() {
    sudo mysql -u $USER -p$PASS $database -e "$(set -f; echo $@)"
}

show_tables() {
    _exec_sql "show tables;"
}

case "$1" in
    init|i) do_init ;; # initial setup
    start) do_start ;; # start mysql server
    show) show_tables ;; # show tables
    sql) shift; _exec_sql "$@" ;; # exec sql
    create|create_sample) create_sample_table ;; # create sample tables
    t|test|test_sample) test_sample_query ;; # exec test query for sample tables
    clean|clean_sample) clean_sample_table ;; # clean sample tables
    *)  set +x
        echo "Usage: $0 {mode} [options]"
        echo "  mode:"
        # Usageの表示: 'xxx)  ${method} ;; ' をパースして出力するだけ
        sed -n -E "s/^[ \t]*([\|0-9a-z_-]+)\) *[a-z0-9 \$_\;-]+ *[^ ]* ;; *#* *(.*)/    \1 \t ... \2/p" ${BASH_SOURCE[0]}
        exit 1
        ;;
esac


余計な処理もありますが… WSLのUbuntu20.02で動いてると思います。一応userpass.txtにパスワードを逃している。適当に設定すれば不要になるでしょう。

USER=root
PASS=hogehoge


とりあえず実行してみる。

$ ./myssqllib.sh init
$ ./myssqllib.sh start
$ なんやかんやDB作ったり
$ ./myssqllib.sh show
+--------------------------+
| Tables_in_testdb         |
+--------------------------+
| TestIntKey               |
| TestVarcharKey           |
| 商品別出荷実績           |
| 当月商品出荷実績         |
| 月末商品在庫             |
+--------------------------+

こんな感じで動くわけですね。で、ミソは定義だけして使ってない関数です。例えば、DBのPKをIntじゃなくてvarcharで作ると、それがインデクスになり、インデクスがcharだとIntよりSELECTが遅くなるらしいよ、みたいな話を聞いたとするわけです。初心者の僕は分からないからとりあえず調べるわけです。

use-the-index-luke.com

なるほどインデクスの仕組みはそうなってるのか、じゃあvarcharでも変わらんやないのかと。

www.it-swarm.jp.net

変わらないみたいですね(試してる人もいるし)。

yakst.com

でも、インデクスのデータが大きくなるっていうのはあるみたいですね。とか。でもほら、一応試してみようぜとなったとするじゃないですか。で、さっきのmysqllib.shを使うとこんな感じに作れるんですね。


BigData.sh (糞ネーミング)

#!/bin/bash -xe
create_sample_table() {
    _exec_sql "
CREATE TABLE TestIntKey (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100)
);
CREATE TABLE TestVarcharKey (
    id VARCHAR(100) PRIMARY KEY,
    name VARCHAR(100)
);"
_insert_data
}

_insert_data() {
    set +x
    n=0
    for i in {1..1000}; do
        sql=""
        for j in {1..100}; do
            n=$(($n+1))
            name=${n}_abcdefghijklmnopqlstuvwxyz01234567890
            sql=$sql"INSERT INTO TestIntKey (name) VALUES ('$name');INSERT INTO TestVarcharKey VALUES ('$name','$name');"
        done
        #echo _exec_sql $sql
        _exec_sql $sql
    done
}

test_sample_query() {
    name=9999_abcdefghijklmnopqlstuvwxyz01234567890
    time _exec_sql "select * from test_int_key where id=9999;"
    time _exec_sql "select * from test_varchar_key where id='$name';"
}

clean_sample_table() {
    _exec_sql "DROP TABLE TestIntKey, TestVarcharKey;"
}

. mysqllib.sh


実行してみると。

$ ./BigData.sh create #だいぶ待つよ
$ ./BigData.sh test
+------+--------------------------------------------+
| id   | name                                       |
+------+--------------------------------------------+
| 9999 | 9999_abcdefghijklmnopqlstuvwxyz01234567890 |
+------+--------------------------------------------+

real    0m0.007s
user    0m0.004s
sys     0m0.002s
+--------------------------------------------+--------------------------------------------+
| id                                         | name                                       |
+--------------------------------------------+--------------------------------------------+
| 9999_abcdefghijklmnopqlstuvwxyz01234567890 | 9999_abcdefghijklmnopqlstuvwxyz01234567890 |
+--------------------------------------------+--------------------------------------------+

real    0m0.006s
user    0m0.006s
sys     0m0.000s

./BigData.sh clean # すぐ消せる、createミスっててもすぐやり直せる


なるほど、よくわからんね(わからんのかい!)。分からんけど、まあ10万程度のこのレベルじゃなんの差も無さそうと。せっかくだから、テーブルの容量も見てみましょうか。show で show tablesをしてたけど、そこにテーブルサイズ取得するsqlも加えておこう、便利そうだし。

参考: MySQLでDBとテーブルのサイズを確認するSQL - Qiita


show_tables() {
    _exec_sql "show tables;"
    _exec_sql " SELECT
    table_name, engine, table_rows AS tbl_rows,
    avg_row_length AS rlen,
    floor((data_length+index_length)/1024/1024) AS allmb,
    floor((data_length)/1024/1024) AS dmb,
    floor((index_length)/1024/1024) AS imb
    FROM information_schema.tables WHERE table_schema=database()
    ORDER BY (data_length+index_length) DESC;"
}
$ myssqllib.sh show
(略)
+--------------------------+--------+----------+------+-------+------+------+
| TABLE_NAME               | ENGINE | tbl_rows | rlen | allmb | dmb  | imb  |
+--------------------------+--------+----------+------+-------+------+------+
| TestVarcharKey           | InnoDB |    96654 |  223 |    20 |   20 |    0 |
| TestIntKey               | InnoDB |    99740 |   79 |     7 |    7 |    0 |
| 当月商品出荷実績         | InnoDB |        6 | 2730 |     0 |    0 |    0 |
| 月末商品在庫             | InnoDB |        5 | 3276 |     0 |    0 |    0 |
| 商品別出荷実績           | NULL   |     NULL | NULL |  NULL | NULL | NULL |
+--------------------------+--------+----------+------+-------+------+------+


ふむう?確かに、データ量的には2倍くらいになるはずだが、インデックスされる分含めて3倍になってるっぽいですね(合ってるのかな…)

ただ、tbl_rowsは同じ値になるはずなんだけどな…一応確認してみよう、というときにもmysqllib.shを使えるんですね。

$ ./mysqllib.sh sql "select count(*) from TestVarcharKey;"
+----------+
| count(*) |
+----------+
|   100000 |
+----------+
$ ./mysqllib.sh sql "select count(*) from TestIntKey;"
+----------+
| count(*) |
+----------+
|   100000 |
+----------+

(※アスタリスク展開されないようにダブルクオートで囲んでね。中身では展開無理やり回避してますが…駄目なケースもあるかもね…)


合ってるやん。なんやねんそのtbl_rowsは?とか調べるとまた新しい知識が…

blog.d-shimizu.io

なんだよデータベース、色々ありすぎてもうお腹いっぱいだよ!



とまあこんな調子で、じゃあ次はちょっとデータベーススペシャリストの問題解いてみようかなあ、平成29年の午前IIの10問目、書いてみねーと分からんわこんなん!みたいときも、myssqllib.shを使うと

#!/bin/bash -xe

create_sample_table() {
    _exec_sql "
CREATE TABLE 月末商品在庫 (
    商品コード VARCHAR(100) PRIMARY KEY,
    商品名 VARCHAR(10),
    在庫数 int
);
CREATE TABLE 当月商品出荷実績 (
    商品コード VARCHAR(100),
    商品出荷日 date,
    出荷数 int
);
CREATE VIEW 商品別出荷実績 (商品コード, 出荷実績数, 月末在庫数)
    AS SELECT 月末商品在庫.商品コード, SUM(出荷数), 在庫数
    FROM 月末商品在庫 LEFT OUTER JOIN 当月商品出荷実績 ON 月末商品在庫.商品コード = 当月商品出荷実績.商品コード
    GROUP BY 月末商品在庫.商品コード, 在庫数;

INSERT INTO 月末商品在庫 VALUES ('S001', 'A', 100);
INSERT INTO 月末商品在庫 VALUES ('S002', 'B', 250);
INSERT INTO 月末商品在庫 VALUES ('S003', 'C', 300);
INSERT INTO 月末商品在庫 VALUES ('S004', 'D', 450);
INSERT INTO 月末商品在庫 VALUES ('S005', 'E', 200);
INSERT INTO 当月商品出荷実績 VALUES ('S001', '2017-03-01', 50);
INSERT INTO 当月商品出荷実績 VALUES ('S003', '2017-03-05', 150);
INSERT INTO 当月商品出荷実績 VALUES ('S001', '2017-03-10', 100);
INSERT INTO 当月商品出荷実績 VALUES ('S005', '2017-03-15', 100);
INSERT INTO 当月商品出荷実績 VALUES ('S005', '2017-03-20', 250);
INSERT INTO 当月商品出荷実績 VALUES ('S003', '2017-03-25', 150);
"
}
test_sample_query() {
    _exec_sql "SELECT SUM(月末在庫数) AS 出荷商品在庫合計 FROM 商品別出荷実績 WHERE 出荷実績数 <= 300;"
}
clean_sample_table() {
    _exec_sql "DROP TABLE 月末商品在庫, 当月商品出荷実績; DROP VIEW 商品別出荷実績;"
}

. mysqllib.sh


これだけで動き確かめたりできるわけですね。いや、写経は要りますが、間違えたとか後でもう一回確認したいとかスクリプトにしておくとなんだかんだ便利なのでね。これで今後はSQLのことだけに集中できるってもんです。いやー、我ながらこれは便利やなー。




あれ?私がこれからメインで使うのって、SQLServerだったような… orz

オープンセミナー2020@岡山 が想像以上に刺さってきた! #oso2020

oso.connpass.com


知る人ぞ知るオープンセミナー岡山、今回はオンライン開催でした。関東民の私ですが、以前に参加したのはもう2017年でした…そんな経ってたのか… 当時、内容もさることながら、名物とされる懇親会がすごく印象的でまた行きたいと思ってたのですが、なんだかんだ都合が合わなかったんですよね。で、今回は、良くも悪くもオンラインということで参加することができました!


で、今回のテーマが 【エンジニアリング x ○○】(えんじにありんぐ かける なんか)ということで、すごく面白そうと思ってました。


ただ、面白そうではあるものの、自分とはさほど直接関係しない別の話として刺激がもらえるかなくらいに考えていたのですが、期待値を超えて色々刺さってきて、個人的に凄く良かったです!


これはもうブログちゃんと書かねえと、ということで、聴かせていただいた発表内容についてつらつら書かせていただければと思います。例のごとくTwitter貼りまくりでお届けいたします。アーカイブ動画は一部見られます。

エンジニアリング×家業

家業である酒屋さんの跡継ぎとして、エンジニアリングを上手く使って成長させていくお話。マジ、これ、非常に面白かったです。現時点でアーカイブ出てないんですが… やはり裏話が沢山ありすぎたせいなのかな… お話面白くて大体呟いてたから貼っときます。(切ったほうが良さそうなところは切りつつ…)


商売の考え方とか、エンジニアリングの使い方とか、失敗に関する考え方とか、全てが新鮮で面白かったです。こういうふうにエンジニアリング力使いたい。

これから始めるデータ活用

はてなのMackerelチームのCREという目線から、データ活用がいかに必要でそれをいかに構築していくか、ということを事実も交えながらガッツリ聴けるお話でした。


このあたりから、最近ちょっと自分が調べてたこととリンクしだして、妄想が捗ってきてしまいました。


まだ動画見返してないっすw 聴けてなかったなあというところはあるものの、色々得るものがありました。そして、TLも見つつ色々考えてたらあのそーだいさんからアドバイスをいただける場面も・・・


そして、最近までSQLをガッツリ触ることがあまり無かったため、知ってはいたものの買ってなかったそーだい本をこのタイミングで買うというね。


これはこれで貴重なやりとりさせていただけたかなと(話を聞け)

フォーク、ナイフ、ものづくり

エンジニアリング×エンジニアリングと裏をかいた銘を打ち、知らない分野に興味はあるけど手を出しにくそうにしている人に対して、技術に立ち向かう方法論を自信の体験整理から提案する、という、ぐっと惹きつけられるお話。技術の一般的性質、というかなり大局的な視点のお話は、なるほどな~とならざるを得なかったなあと。具体例で一気に理解が進む感じもあり、なんか流れが巧妙だなと感じました。


ただ、とりあえず内容がつよいw そういう意味ではこういう↓感想もありました。


発表のあとのやり取りの中で、娯楽の誘惑に負けないためには?みたいなお話があったのですが、そこで「ゼルダの伝説 ブレス オブ ザ ワイルドすごくやりたい時期があったけど、一週間集中してやりこんで終わりにした」というお話があり、別次元だなと思いました。


あれ面白すぎて何ヶ月やってたことか…

SUZURIを支える"モノづくり"の心

そのタイトルの通り、SUZURIの中の人による、サービスの技術的なお話とキャリアパスに対する考え方などのお話でした。

suzuri.jp


SUZURI、知ってはいたけど使ったことが無かったのですが、細部への技術的なこだわりを知って使ってみたくなりました。画像合成だけ取っても細かい話が色々あるんだなあと勉強になりましたね。


特に後半の想いの部分はエモくて良かったです。コードだけ気にしてると忘れがちになることもあり… そうだよなあと改めて想いました。


今後の展望(まったく非公式ですが)で出てきた、VR技術には期待したいですねー。リアルに触れられる日がくるのかなあ。。。

医療現場で働くシステム担当者として伝えたいこと

エンジニアリング×医療、ということで。ITが詳しくない医療関係者の人とITを橋渡しする医療情報技師、という立場でシステムを担当する中での、仕事のしかただったり、注意点だったり、期待通りのものをうまく作るためのお話でした。


「完成したシステムが欲しかったもんと違う」というお話を受け、ちょっとノリでツイートしたら真っ向からしかられた感じになるという流れ。そう、まさにこういう「ノーコード流行ってるから」的な技術選定じゃなくて、やりたいことを明確にした上でそれに合ったものを選んでいかないと駄目、という戒めをいきなり受けるというw 台本かよ。



ほんとこれ、という感じのお話がたくさんあり、うなずきつつも、自分がやってるかもな…と不安になることもあり、色々考えさせられました。急にまじめになったり。


本当に開発部署に貼っとくべき戒めが沢山出てきました。技術だけをおっかけるのではなく、まさに、エンジニアリング×○○の○○を見ないと駄目なんだぞ、というお手本のような発表でした。学びふかい。

エンジニアリング x US 海外とのコラボレーション

海外組織で働くというお話ですが、その中でもリモート前提の働き方においてドキュメントを大量に書くことの偉大さが全面に伝わってくるお話。正直、前職から今の職場にかけて、ドキュメントはあったほうが絶対によいとは思うのだけれど、コストとメリットのバランスでちょっと悩んでいた私にはぶっ刺さる内容でした。ツイートを追うだけでもそのあたりの揺れが観測できますなw


で、お悩み相談室か!というくらい図々しく質問を投げさせていただき、全部答えていただけた、まじでありがたし。


Q. オンボーディングの資料が大量にあるというお話でしたが、特に会社が変化しているフェーズだと、資料の内容も日々変える必要が出たりすると思うのですが、そのあたりのメンテナンスなどはどのような感じで行われているのでしょうか?例えば、新しく入ってきた人が気づいたら修正、なのか、ドキュメント管理役割の人がなんとなくいる、など、なにか特徴があったりするものでしょうか?


Q. スミマセン、続けてになってしまいますが、"Writing saves time"にはすごく同意なのですが、大量にやりすぎると上記のメンテコストだったり、誰しもに通じるように書くことはかなり難しい…みたいな面もあったりして、私も書きすぎることをややためらったりしてます。そのあたりを上手く回すコツというか、工夫みたいなものがあったらぜひ教えてほしいです。


結論:ドキュメント書いていこうぜ!


とは強く思いつつも「医療現場で働くシステム担当者として伝えたいこと」であった通り、思いつきだけみたいな形で「とにかくドキュメント書きましょう」だけ言っても、ドキュメント文化が無いところだとやはり抵抗感や、結局誰も読まない、みたいなことにもなりかねないわけで。そのあたりは周りの理解を得るために目的を示すとか、小さく広げていくとか、色々考えなければ急には無理だよなーなどとも考えつつ… この2つのお話が連続したあたりで、やはり物事簡単ではないなあと感じてみたりして、まあ色々考えましたね、まだ考えてる。

終わりに

どうでしょうね、このいつにもなく真面目な感想たち。ダジャレを挟むスキが無かったですよ。それくらい面白く学びがあったセミナーでした。想像以上でしたぜ… オンラインでもなんかわりとワイガヤ感があった気がしたのはセッションが一本だからなのかなあとも思いました。


あとね、司会の方がいらっしゃって、発表は録画だったわけですが、終わったあとに発表者の方とやりとりがあって、あれが結構良かったですね。その中で自然にQAも拾ってくれる感じで、なんかすごくよかったです(語彙力)


この会社の方みたいです(サイトは空っぽのようだ・・・) こういうとこもよかったです。



でまあ、繰り返しになるんですけど、開催ありがとうございました。良い時間をすごせました。



ただまあ、やっぱり岡山行きたい気持ちもあり、選べる世の中に戻っていってほしいものですね。ここの懇親会は凄いので、現地開催になったら是非皆さん行ってみてください。私も、岡山に行けるようになって、おもてなしを受けたときには絶対こう言いたいと思ってます。





あー、そんな、おかやまいなく!つってね(真面目に書きすぎてどこにも挟めなかった1スベリ)

July Tech Festa 2021 winter ~年二回開催万歳~ #JTF2021w

あれ?もう前回から半年経った???という感じながら、July Tech Festa 2021 winter 聴かせていただきました。


今回も、早速オンラインの恩恵を受けさせていただきましたw



腰痛も、寒いせいか微妙に嫌な雰囲気が出てるので、座りっぱなしにならずにすむオンラインはありがたい限りでした。


今回も生で聴いたセッションの感想などをザッと書かせていただこうかなと思います。

G1 リモートワーク時代の心理的安全性のつくりかた

冒頭から、私語厳禁ならぬ、私語最大化でインタラクティブにやりましょうというセッション、非常に面白かったです。アンケートやあるあるも多かったので、ついつい色々呟いてしまいましたね。



なんとなくツイートだけで伝わります?心理的安全性について、聴講者の状況も交えながら解説していただく感じで、いい感じのTipsなどもあり、すごく勉強になりました。その後、ブレイクアウトルームでもちょっとお話させていただきましたが、知らずに質問してしまって後から恥ずかしかったです…



早速ポチッてちょっと読んでましたが、今日の発表の内容はおそらくこの本をギュッと凝縮した感じだったので、後でこちらも読んでおこうと思います。

E2. IT監視とは何か 監視エンジニアのスキルと成長

ちょっと聞き始めが出遅れましたが。監視の考え方、あるべき姿が凄くまとまってたなあと。ただ、今も昔もアンチパターンの方に落ちていってる感じがしてますね…


目指すべきところはその通りだとは思うのですが、なかなかコストかけてやれない状況がどうしてもあるのかなと。



組織的に考えないとなという。今回の内容はそういう面を説明するのに凄く役立つものだったかなと。

B3. Cloud Nativeなエンジニアのオススメツールや最新情報を英語で1年追いかけ続けてみた

ただただ、すごいなあと。ブログも拝見しましたが、つよい。


ここまでできないにしても、メーリングリストっていうのは視野に入ってなかったなあと。意外とあるんですよね、ML。もはやマシンラーニングだと思われがちなMLですけども。技術情報取得は、通常記事とTwitterPodCastが軸になってますが、MLも選択肢だなあと思いました。英語は… 分からんけど…

A4. もっとも簡単なKubernetes構築 on Raspberry pi

k8sはインフラエンジニアの嗜み感がすごいからつい聴いてしまった。今の所、使うところに至ってないんですが、ちょっとでも触れてみようと思ったら、今回みたいな構成がちょうどいいんだろうなと思いました。


資料にはデプロイの仕方からエラー対応まで記載されていたので、やるときは思い出して参照したいです。ただ、おそらくこのへんの動きは早いから、私が触る頃には全然別物になってる可能性がありそうですが…

B5. 縁の下の力持ち「バイナリ・リポジトリマネージャー」による開発・運用の効率化

(1スベリ) ノルマ達成



そう、前職でもrpmとか、glibc依存のバイナリとかどう管理するかは結構グチャってたんですよね。あるあるだなあという感じでした。バイナリ・リポジトリマネージャーとして動くものとしては、Gitのプラグインとかもあった気がしますが、どういう選択肢があるのかなあというところも聴きたかった点ですかね(自分で調べえや

E6. なぜ「Infrastructure as Code」が必要なのか

ちょっと途中とぎれとぎれになってしまいましたが。AWS CloudFormationのノウハウが沢山詰まってたと思います。実は、転職したてで今のインフラどういう管理体制になってるかまだ分からんのですよね。活かせるかもしれない。


管理するならYAMLですよねー。コメント書きたいならYAMLを得ない(誰かがどっかで言ってた気がする2スベリ)

おわりに

簡単でしたが。様々な経験をした人たちが語る様々な話(推しテク)って単純に面白いし、その同じ状況に直面したときにピンと来やすいんですよね。短い時間の中で、ギュッと色んな話を聞けて、今回も楽しかったです。放送も終始安定してましたし、TwitterYouTubeのコメントもしっかり拾ってもらえるし、まさになんの問題もないインフラの素晴らしさが実現されていましたねw スタッフのみなさま、登壇者の皆様、毎度のことながらありがとうございました!!

ブレイクアウトルームについて

もう少し時間がほしいかなーと思ったところはあります。15分でもちょい短いかなあと(これは寝坊でZoomの準備ができてなかったせいもありますが…)。10分の間隔だと、トイレ行ってちょっと何かやったら次始まっちゃうー、という感じになりがちで。とはいえ、沢山時間とっても誰も入ってこない場合もあるし、難しいところだろうなあと思います。現実でもセッション後に長く話し込んでしまうときもありますしね。(自分も結局最初のセッションしか入れなかった(入らなかった)ので何も言う資格あまりないんですけども…) この辺は、某セッションじゃないですが、まさに試行錯誤していくことが求められる時代ですね。(まとまってるようで丸投げ)

行動分析学マネジメント ~人と組織を変える方法論~ は一回読んでみていいんじゃないかしら


読みました。ってか、この本、何きっかけで買ったか忘れてましたが、遡ってみると、Internet WeekパネルディスカッションのQAで出てきた本でした。リモートワークでの育成を考えるにあたり、行動分析学などを取り入れて、どうすれば期待行動を取ってもらえるかを考えているというお話をされていて、行動分析学について知りたいならまず読んでみるといい本として紹介されてました。そのときは「ふーん」くらいの感想でしかありませんでしたが(スミマセン)、この本を読んである程度の理解を得ると「もっと詳細教えてほしかった!」って気持ちになりました。

どんな本か

多分、行動分析学ってどんなに分かりやすく解説しても、ピンと来ない部分があるんだろうなあと思うんですよね。例えば、この本でまず出てくる「好子(行動の直後に出現すると行動を増やす刺激や出来事)」というものがありますが、検索すると以下のサイト様が最上位に出てきました。


「好子と嫌子」があなたの行動を決める | やる気に頼らない習慣マネジメント相談所


非常に分かりやすく書いてくれてるのですが、ピンと来ますかね…?この本を読む前だと、イマイチだったかもなあという気がします。この本では、架空の会社における架空のエピソードで、まず分かりやすい具体例を紹介して、その後で解説を挟んでいくというスタイルになっています。これがかなり分かりやすく読みやすいんですね。各章ごとの分量も多くないので、サラッと読めて、わりと理解できてるような気がします(たぶん、おそらく。。。)。まず読んでみるには確かにもってこいだと思いました。

で、行動分析学使えるの?

わからん(爆。当然、本のエピソードとしては行動分析学でうまく問題が解決する運びになるわけですが、サラッとしたエピソードなので「そううまくはいかんやろ」と感じる部分もあります。でも、そのままマネしてみて上手く行く場面もありそうだなと思う所もありました。まず、医学モデルの考え方を変える必要があるというのはその通りかなと。


医学モデルとは「行動の問題の原因はその人の心の中にある」という考え方で、"体内にウイルスがいるから発熱する"というように、"ちゃんと仕事をしないのはやる気がないから"、"コミュニケーションが下手なのは内向的な性格だから"、みたいにレッテル貼っちゃう感じのものを指すと。一方の行動分析学では「行動は、行動直後の結果によって制御される」という考え方で、誰しも行動後の結果が良くなければ(嫌子が現れれば)行動しなくなるし、結果が良ければ(好子が現れれば)行動するようになる、といった感じ。いやこの辺は本とか上のサイト様読んだほうがいいw ともかく、「アイツはダメだ」でマネジメント放棄するのは違うぞ、っていう考え方なのは間違いなくて、それをいかに論理的にやってくかが説明されているわけです。


現実的には、仕事の詳細プロセスを把握し、問題行動を見極めて、どういう行動を強化するか選択し、どういう好子をどういうタイミングで与えるか考えて実践する、という各工程はそれなりに難しいだろうなと。そもそも仕事の詳細プロセス把握してないマネジメントも多いのでそこかr... (rya でも、この考え方を知っておくのは非常に有用なんじゃないかと思いました。


あとは、自分の習慣をなんとかしたいときに「自分を褒める(自分に好子を与える)」ということをいかに上手くやるか、っていうことを考えるのも良さそうかと。正直、このあたり、結構苦手なところなので行動分析学的に考えてみると面白いかもしれません。

おわりに

あかん、なんか普通に面白味のない感想書いてしまいました。とりあえずみんな一回は読んでみていいんじゃない?と思える本でした。


非常にどうでもいいんですが、この架空の会社の人たち、行動分析学を教えてくれるサカモトさんに、みんなして教えを貰いに来るんですよね。サカモトさんは嫌な顔ひとつせず、笑顔で相談にのると。



この会社の人、みんなして講師好子請うし!と思いました。(うるせーよ1、2スベリ)



プログラミングする身としては、コード分析学をまずしっかりやらないとな…(それただの静的解析ツールでは?3スベリ)

2020振り返り

昨年同様やっておきます。

Twitter軸の振り返り

私の住処であるTwitterのツイートをtwilogで見ながら、めぼしいことを月別に箇条書きしていこうコーナーです。セキュリティ的な話題とか、テック系の話題とか、聴いたカンファレンスとか。これが時間かかるんだわさ(やめればいいのに)

1月

  • ゴーン had Gone
  • 富士ゼロックス消滅決定
  • 一週間動けなくなるレベルの腰痛またやってしまう (後述)
  • 腰痛で動けなくなたので鬼滅の刃全巻買って一気読みする
  • 香川県のネット・ゲーム依存症対策条例にざわつく
  • なんとか腰痛を乗り越え、北の大地でJANOG45参加
  • JANOG45の帰りの便に乗るタイミングで千歳空港で武漢からのCOVID-19感染者が出てちょっとビビる

2月

  • Twitterの非公開リストが他人から見えてしまう問題
  • Azure結構つらい
  • Coinhive事件、逆転有罪に界隈ざわつく
  • Security-JAWS初参加(まだギリ現地開催)
  • 深刻なマスク不足、トイレットペーパー買い占めなど
  • 確定申告延長、テレワーク企業増えるなど、結構ざわつき出す

3月

  • オンラインになってたのでおじさんなのに、ぷち技育祭を聴く、ちょまど氏フォロー
  • 高輪ゲートウェイ稼働、色々ある
  • 98~100日目のワニだけ読む
  • Qiitaが読んだ記事のデータ出して炎上
  • ここにきて、ミルクボーイ・かまいたち・ぺこぱにハマりだす(たぶんこの頃にM-1見た)

4月

5月

  • ホワイトリスト/ブラックリストなどが差別的な用語とされ各所が変更し始める(4月?)
  • 5/4 緊急事態宣言延長、5/14 39県で緊急事態宣言解除、5/25 全国で解除
  • #sailormoonredraw ブーム
  • バーチャル渋谷での #渋谷攻殻 NIGHT
  • 雇用助成金サイトで、同じタイミングで申請した人に同じIDが割り振られる問題
  • 某旧弊社、緊急事態宣言終了に伴い、翌日から全員出社強制を発動し、ワイ激しくブチ切れて辞める決意
  • Zoom セキュリティ改善した5.0未満は5/31以降接続不可に(偉い)
  • トレンドマイクロAppleとMSからBANを喰らう
  • ブルーインパルス飛ぶ
  • NURO光のルータセキュリティやばい件で一部ざわつく -> Qiitaが不適切な記事認定してさらにざわつく(これは6月)

6月

7月

8月

9月

  • ドコモ口座の不正出金
  • ゆうちょ銀行でも不正出金
  • Zerologon(CVE-2020-1472) でざわつく
  • BSいきものがかり DIGITALFES2020、よかったけどやや通常の音楽番組との違いはどこになるのか感は残った
  • #せきぐちあいみVR個展、NeosVRなどでVR改めてしゅごいと感じるなど
  • GCP,AWS,Azure,Appleで障害が相次ぐ
  • 会社辞めた

10月

  • 東証が取引停止でざわざわ、会見に対しては称賛の声も
  • Docomoでもシステム障害
  • OculusQuest2、前評判はすごく良かったのにFacebookアカウント必須化+何故かBAN喰らう人も見られ残念な感じに
  • 人生初の二郎を食す、ミニでいい
  • NTTデータ テクノロジーカンファレンス、NTT Com Digital Forum 日程被ってたけど両方聴く
  • CODE for Japan Summit 2020聴く
  • マリオカートAR、技術がすごい、たのしい
  • ハローワーク行く
  • 無職だと申し込めないセミナーが結構あってつらい
  • バーチャル渋谷 au 5G ハロウィーンフェス、システムトラブルで延期…VRイベントはリプレイしてほしいと思うなど
  • Security-JAWS 第19回、CODE BLUE聴く
  • 転職活動は継続、募集要項たくさん見た

11月

  • CROSS2020聴く
  • AppleのM1チップがすごいらしいという発表があり、わりと本当だった
  • TwitterがFleet機能公開、どうです皆さん?
  • 内定受諾、開放
  • PS5発売したらしいけど誰も買えない
  • ハコスコストアのVRツアーセミナー聞いてInsta360 ONE X2注文してしまう
  • Peatixで大規模な不正アクセス発覚、パスワードもdehashされて流出…
  • 霞ヶ関でパスワードzip廃止、PPAPと混同されてる感と代替案無い感じ…
  • Internet Week聴く、マイクロハードニングも初体験
  • GoToトラベルしてみる
  • ソフトバンク強すぎ、巨人弱すぎ
  • 評判に釣られてサクナヒメ始めるも、想像以上に面白くボリューミーだった

12月

  • AWS re:Invent聴いてる感じを出していく
  • セールスフォースがSlackを買収
  • ドコモ新料金プラン「ahamo」が良さげ、一方auはバカにされる
  • 今更ながら初めてのメルカリ、意外と売れることに驚く
  • ソフトウェアテスト自動化カンファレンス聴く
  • PayPayにも不正アクセス
  • Kyashが年利1%だけど銀行じゃないよ的な発表して引っ込める
  • 素人だけどXR Kaigi聴く、VR会場よかった
  • Red HatCentOS Stream一本化発表
  • とある診断員とSecurity-JAWS#02 に参加して学びが大きかった
  • IIJ Technical NIGHT vol.9聴く
  • Googleに生殺与奪権を握られてることを実感する障害
  • 勝負の3週間に破れ(?)、GoTo中止
  • バーチャルマーケットのワールドの広さ、作りこみ具合に驚愕する
  • 転職先に合わせて引越し先を探す・引っ越すでかなり大変やった
  • セールスフォースの設定不備で予期せぬデータが見れてしまう問題
  • FireEyeというかSolarWindsのデカイ問題が日本ではあまり報道されない
  • 腰痛が結構嫌な状態になるが、なんとか踏みとどまった感

疲れた…

振り返ってみて

転職・引越

個人的には、2020年はこれが一番デカイ。Twitter見かえしても仕事面の愚痴が半端なかったし、業務と直接関係ない学びを得ようとしている感もすごかったw こういう言い方はあれですけど、COVID-19にも背中を押されたところはあったかと。今年引っ張ったら多分結構ヤバかった気がするので、踏ん切りついてよかったと思います。

昨年も書いてたしね...

同じ会社同じ仕事で11年目なんですが、2019年ほど不満が多かった年は無かったんじゃないかなと。組織とか制度とか上層部とか、ほぼ不満しか無かった。なんか、どんどん駄目組織になってる気がしてならない。やっぱり潮時かな…(ずっと言ってる気もするけど)

これについてはエントリ書いたし、こんなもんでいいか。

COVID-19

世界的にこんなに騒いだ年は無いんだろうと思います。が、TL見てて改めて思うのは、あくまで私にとって、良い影響の方が多かったと言わざるをえない、ぶっちゃけね。ご苦労されている方には本当に申し訳ないと思うのですが、仕事柄あまり影響されない所もあるし、オンライン大好きだし、独り身で在宅どんとこいだし、インドア派だし、引き篭もるの好きだし。そういう人間向きの生活スタイルやツール、働き方、みたいなものが一気に加速したのは間違いなく、そういう意味で良かった面の方が大きかった部分もあります。

ただ、もちろん、また緊急事態宣言が発令されそうな状況でそんなことも言ってられないわけで… 多くの人にとっては風邪レベルとは言え、やはり感染力がインフルの比ではないので、医療現場のためにも全員が抑え込む行動をとるしか無いと思うのですが、できることは少なくて歯がゆいところ… 自分は電車乗らなくていいように職場徒歩圏内に引越したところですが、誰もがそう簡単にできることじゃないですしね… ワクチンに期待しかない。2021年も引き続きの覚悟は必要かなと。

腰痛

2019振り返りのこれがフリでしかなかった。

やべーっす。今年は歩けなくなることが無いようにしたいんですが、これを書いている今現在結構痛みがヤバくなってきており…

1月にいきなり動けないレベルの腰痛になり… ただ、うまく一週間程度で復帰できたのは2年前より良かったかなと(一週間も普通の腰痛と比べたら長いけど)その後、予防としてジムに行ってプールで運動などしてみたものの、COVID-19もあり続かず… ただ、つかの間のテレワーク中は調子が良かったので、やはり座りっぱなしを抑えて、スタンディングデスク環境で働けることが良い気もします。年間では、やはり寒い時期に一番おかしくなるので、今の時期に油断せず、特に転職直後に働けなくなるのは避けたいところです… そこだけが不安…

セキュリティこわい

2019時点で情報漏洩当たり前になりすぎ感はありましたが、2020年も相変わらずって感じでした。そして標的型ランサムが日本でも増えてきて、インターネッツが非常にヤバいところに来てるんじゃないかと思ってます。アメリカではありますが、SolarWindsの件では非常に高度な攻撃を受けたという話もあり、どんどん高度化していく攻撃手法に対抗できる人材が足りなさすぎるのでは… 日本企業の機密情報、すでにガッツリいかれてる可能性もあるんじゃ…


このへんのことは、インターネッツ使う上ではある程度理解しておくべきなので、趣味的ながら、もっと踏み込んでいけるようにしたいなとは思ってます。

英語

マジで受ける度にTOEICの点数が下がる… まるで成長していない… セキュリティに英語は必要なので、これもじわりと伸ばしたい

2021年

フワっと、お気持ちを書いておく。

  • 転職先で頑張る
  • セキュリティもう少し頑張りたい、ひいては英語苦手感減らしたい
  • 腰痛なんとかしたいけど具体的な頑張りかたが分からなくなってるので何とかしたい

COVID-19、転職含め、自分的にも色々見えてない新しい年なので、過去最高の臨機応変で頑張りたいと思ってます。行きあたりばったりとも言う。



年末に「今年はどうでしたか?」って聞かれたときに、



「全体的にウッシ!って感じでした」と言いたい(1スベリ)



そんな感じで今年もゆるくやってきますので、もし暇があれば、よろしくお願いいたします。