Elasticsearch 先輩との戯れ日記(セットアップなどなど)

この記事何?

お仕事で Elasticsearch 先輩を使うことになったので、そのお戯れの記録

今回調べたものなど

まず Elasticsearch でどんなことができるかを調べるために、公式のチュートリアルとここ載ってる記事を読み漁った。

環境準備

公式さんから最新版(5.4)を Download してきた。 Kibana も合わせてローカルで準備しておく(戯れ用)

Download Elasticsearch Free • Get Started Now | Elastic Download Kibana Free • Get Started Now | Elastic

日本語全文検索用のプラグインである analysis-kuromoji を入れてみる。

# /Users/pokotyamu/Downloads/elasticsearch-5.4.2
$ bin/elasticsearch-plugin install analysis-kuromoji
-> Downloading analysis-kuromoji from elastic
[=================================================] 100%
-> Installed analysis-kuromoji

curl で叩いて、 plugin が入っていることを確認。

$ curl -X GET 'http://localhost:9200/_nodes/plugins?pretty'
{
  "_nodes" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0
  },
  "cluster_name" : "elasticsearch",
  "nodes" : {
    "tfQ1ZsOzQ9CYZtA0jXw2ww" : {
      "name" : "tfQ1ZsO",
      "transport_address" : "127.0.0.1:9300",
      "host" : "127.0.0.1",
      "ip" : "127.0.0.1",
      "version" : "5.4.2",
      "build_hash" : "929b078",
      "roles" : [
        "master",
        "data",
        "ingest"
      ],
      "plugins" : [
        {
          "name" : "analysis-kuromoji",
          "version" : "5.4.2",
          "description" : "The Japanese (kuromoji) Analysis plugin integrates Lucene kuromoji analysis module into elasticsearch.",
          "classname" : "org.elasticsearch.plugin.analysis.kuromoji.AnalysisKuromojiPlugin",
          "has_native_controller" : false
        }
      ],
     ...
}

基本コマンド

起動は以下で行う。終了は Ctrl-C-d オプションでバックグラウンド起動可能。

# /Users/pokotyamu/Downloads/elasticsearch-5.4.2
$ bin/elasticsearch

ポートはデフォルトで 9200番が使われるみたい。 crul で叩いてみて、次のように出たらOK

$ curl localhost:9200
{
  "name" : "tfQ1ZsO",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "Y2-U0XlwSxWX771QXbIN0w",
  "version" : {
    "number" : "5.4.2",
    "build_hash" : "929b078",
    "build_date" : "2017-06-15T02:29:28.122Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.1"
  },
  "tagline" : "You Know, for Search"
}

データ投入してみる

マッピング定義

MySQL Elasticsearch
database index
schema mapping
table type
record document

だいたいこんな感じの対応をしている。 マッピングの定義はこんな感じ↓

{
    "mappings": {
        "sample": {
            "properties": {
                "name": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "coord": {
                    "type": "geo_point"
                },
                "description": {
                    "type": "string",
                    "analyzer": "kuromoji"
                }
            }
        }
    }
}

sample の部分が type の名前になっている。 これを landmark という index に突っ込むためには PUT で書き換えれる。

# curl -X PUT http://localhost:9200/<Index Name>
$ curl -X PUT http://localhost:9200/landmark --data-binary @mapping.json
$ curl -s -X GET http://localhost:9200/landmark | jq .
{
  "landmark": {
    "aliases": {},
    "mappings": {
      "sample": {
        "properties": {
          "coord": {
            "type": "geo_point"
          },
          "description": {
            "type": "text",
            "analyzer": "kuromoji"
          },
          "name": {
            "type": "keyword"
          }
        }
      }
    },
    "settings": {
      "index": {
        "creation_date": "1498037230489",
        "number_of_shards": "5",
        "number_of_replicas": "1",
        "uuid": "9tFY4-F5S-KTyVEAa40DCg",
        "version": {
          "created": "5040299"
        },
        "provided_name": "landmark"
      }
    }
  }
}

ちなみに、このマッピング定義をしないでも、登録はできるらしい。 その時は Elasticsearch 側がよしなに値から型定義をしてくれるとか。凄い。

データ投入

今回は Bulk API でデータ投入してみる。 Bulk だと一回のリクエストで一気にデータを突っ込めるみたい。

{ "index" : {} }
{ "name": "スカイツリー", "coord": { "lat": "35.710063", "lon": "139.8107"}, "description": "東京スカイツリー(とうきょうスカイツリー、英: TOKYO SKYTREE)は東京都墨田区押上一丁目にある電波塔(送信所)である。"}
{ "index" : {} }
{ "name": "BLUE NOTE TOKYO", "coord": { "lat": "35.661198", "lon": "139.716207"}, "description": "N.Y.の「Blue Note」を本店に持つジャズクラブとして、南青山にオープンしたブルーノート東京。ジャズをはじめとする多様な音楽ジャンルのトップアーティストたちが、連夜渾身のプレイを繰り広げている。"}
{ "index" : {} }
{ "name": "東京タワー", "coord": { "lat": "35.65858", "lon": "139.745433"}, "description": "東京タワー(とうきょうタワー、英: Tokyo Tower)は、東京都港区芝公園にある総合電波塔とその愛称である。正式名称は日本電波塔(にっぽんでんぱとう)。"}
# curl -X POST http://localhost:9200/<Index Name>/<Type Name>/_bulk --data-binary @landmark.json
$ curl -X POST http://localhost:9200/landmark/sample/_bulk --data-binary @landmark.json
{
    "errors": false, 
    "items": [
        {
            "index": {
                "_id": "AVzJ-slvXdDNsyfvvuMV", 
                "_index": "landmark", 
                "_shards": {
                    "failed": 0, 
                    "successful": 1, 
                    "total": 2
                }, 
                "_type": "sample", 
                "_version": 1, 
                "created": true, 
                "result": "created", 
                "status": 201
            }
        }, 
        {
            "index": {
                "_id": "AVzJ-slwXdDNsyfvvuMW", 
                "_index": "landmark", 
                "_shards": {
                    "failed": 0, 
                    "successful": 1, 
                    "total": 2
                }, 
                "_type": "sample", 
                "_version": 1, 
                "created": true, 
                "result": "created", 
                "status": 201
            }
        }, 
        {
            "index": {
                "_id": "AVzJ-slwXdDNsyfvvuMX", 
                "_index": "landmark", 
                "_shards": {
                    "failed": 0, 
                    "successful": 1, 
                    "total": 2
                }, 
                "_type": "sample", 
                "_version": 1, 
                "created": true, 
                "result": "created", 
                "status": 201
            }
        }
    ], 
    "took": 286
}

検索

最後に検索。検索も json で query を作って実行する。 メソッドは GET を使用。 検索に使えるのは、調べ中。。。 AND 検索はもちろん、数値の比較とか範囲指定とかもできるみたい。

$ curl -s -X GET http://localhost:9200/landmark/sample/_search -d '{"query":{"match":{"description":"ジャズ"}}}' | jq .
{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 1,
    "max_score": 0.928525,
    "hits": [
      {
        "_index": "landmark",
        "_type": "sample",
        "_id": "AVzJ-slwXdDNsyfvvuMW",
        "_score": 0.928525,
        "_source": {
          "name": "BLUE NOTE TOKYO",
          "coord": {
            "lat": "35.661198",
            "lon": "139.716207"
          },
          "description": "N.Y.の「Blue Note」を本店に持つジャズクラブとして、南青山にオープンしたブルーノート東京。ジャズをはじめとする多様な音楽ジャンルのトップアーティストたちが、連夜渾身のプレイを繰り広げている。"
        }
      }
    ]
  }
}

まとめ

ひとまず、ローカルで立ち上げる→データを突っ込む→検索するの流れは試せてた。 次はどーやったら、がつっとデータ突っ込めるかを調べてみる。

社会人2年目もチェスト!!!

ついに社会人1年目終了。

東京の生活には全然慣れませんが、健康体でいれたので、 病欠による休みはゼロでした! (5分ぐらいの遅刻1回)

ただ、オリジン弁当とズブズブの関係なので、体重は7キロぐらい太りました。適正体重まであとちょっとですw


1年目は、技術力が高い先輩や同期に圧倒されつつも、ちょっとずつ自分の出来ることが増えていくのを感じれることができました。

自分の中で、学びたかったスクラムの知識を整理できたのも非常に身になりました!

pokotyamu.hatenablog.com

ただ、プログラミングスキルに関しては、まだまだ発展途上… 結局 Rails しか満足に勉強できてないし…(その Rails もまだまだ修行中)


今の会社では、自分のエンジニアとしてのキャリアパスに対して、色々挑戦させていただいたり、サポートしてくれる環境が整っているので、それに応えれるように準備してこうな!

この一年は自分のプログラミングスキルを一から見直す。

そのための勉強をするときのコストはなるべく惜しまないようにしていきたいと考えていて、2年目の初日、 Mac Book Pro の 2016年モデル買いました。

f:id:pokotyamu:20170403003051p:plain

2年目もチェスト!!!!!(宗りんおかえり!!!!!!)

新卒が真面目にアジャイル勉強してみた

社内勉強会で、アジャイルについて発表してみたので、こちらにも残しておきます!!!

当日資料はこちら↓↓

やってみた感想

きっかけは、なぜスクラムしているの?

資料の中にも書いていますが、自分が今回アジャイルについて勉強を始めたきっかけは、1番新しくチームメンバーとして入った方の「なぜスクラムしているの?その利点は何?」という発言でした。

実際に開発メンバーとして仕事をしている上で、何も知らない中スクラムを実施していることに違和感があったので、今回社内勉強会という機会を利用して、自分で勉強して、発表することにしました。

結果として、今のチームとしてここは良い点悪い点が言えて、そこから改善案も考えれるようになりました。

新卒が開発手法について口を出す

チームの中でも1番年下になりやすい新卒だからこそ見える世界もあると思います。 ただ、意見を1番いいにくいのも新卒な気がします(経験の問題や会社の風土だからという感じに流される)。

だからこそ、意見を言うための確かな知識を勉強して、経験じゃない根拠を持って話すことが出来れば、雰囲気に押し流されない意見を言えるようになるのではないか?とやってみて感じました。

アジャイル守破離の心構え

「これが正解」「こうやるもの」というわけではなく「何を目的にしていてこういうやり方が進められている」を知るのが「守」かな

これは、発表を終えたあと頂いた弊社 CTO からの感想です。

これも先程述べたように、原理原則を知った上で行動や意見をする必要があるという気づきにつながりました。

勉強会に対するモチベーション

準備期間が長く取れる場合ほど、途中で別のことしたくなったりなどあるかと。

今回はそれ対策で、途中途中で発表内容に使う本のまとめやセミナーのまとめを社内 Qiita やこのブログにまとめることで承認欲求を満たしつつ準備するというので乗り切りましたw

何かしらのリアクションやご意見を頂きつつ勉強することで、自分の見えてない見方や考えを途中の段階でも知れるきっかけになります! これは意外とよかったです。

pokotyamu.hatenablog.com

pokotyamu.hatenablog.com

※内容がネタバレ的になっちゃう系の場合はこそこそ頑張りましょう!

まとめ

スライドメインなので、さらっと終わりますが、今までチームとしてのやり方しかしらず、アジャイルスクラムを研修や独学で知識を付けてない方はぜひ一度勉強することをおすすめします!!!!

LEGOスクラムに参加した!(レゴ編)

この記事なに?

12/14(木) に行われたLEGOスクラムのレポートです!

イベントの詳細についてはこちら↓

waicrew.doorkeeper.jp

座学編はこちら↓

pokotyamu.hatenablog.com

今回は実際のワークでもあるレゴ編です!

ユーザーストーリーを作る

各チームが1つの家族で、家族が希望する街に引っ越すという形でワークが始まりました。

私が担当したのは私立女子校に通う JK の娘↓

f:id:pokotyamu:20161214131920j:plain

要求(ユーザーストーリー)はこのテンプレートにそって書いていきます。

(役割や立場)として、
(機能や性能)が欲しい。
それは(理由や目的)のためだ。

f:id:pokotyamu:20161214135450j:plain

うん!実に最近の JK っぽいですね()

ここでポイントとなるのが、3行目で、3行目の理由や目的を解決するための手段として、2行目があるので、できるだけ3行目を具体的に書くことが大事になってきます!

もちろん、別な手段(2行目)で解決出来ることが開発側からあれば、そちらを提案できるようにしておくのが、顧客にも求められます。

プランニングポーカー

それぞれのユーザーストーリーがまとまったら、プランニングポーカーを使って、見積もりをしていきます。

あくまで絶対評価ではなく、相対評価で、作業の見積もりを行うやり方です。

写真は、10個の都道府県の人口を 1,2, 3, 5, 8 に分けるワークを行っています。 基準として与えられたのが、福岡が5、長野が2という情報だけです。

f:id:pokotyamu:20161214133326j:plain

絶対評価だと、難しいですが、相対評価になることで、見積もりの精度を上げることができます。

ただし、このやり方は声の大きい人の意見が通りやすいので、ファシリテートが大事そうに感じました。

いよいよ LEGO

ここまで終わったら、実際に LEGO を使ってまちづくりです。 今回のスプリントでやることを決める(2分) →作る(7分)→顧客が評価する→振り返り この流れで3スプリント分行いました。

f:id:pokotyamu:20161214143157j:plain

f:id:pokotyamu:20161214165811j:plain

成果

最初は獲得したベロシティは0pt だったのですが、最後は9pt 分獲得することができました。

その要因としては、

  • チームとして、最終成果物の認識を合わせることが大事
  • 作業の分担を決めた
  • 全員で1つの作業に取り掛かった
  • PO に質問を最初にまとめておこなった
  • 時間管理を行った

このような点が考えられます。

2つ目に挙げた作業分担ですが、正直これに関しては、スクラムというやり方的には真っ当ではなかったのですが、3スプリントで成果をだすことを目標にしたので、固定化しました。

もっと期間がながければ、役割を何度かシャッフルして、得意な分野に対して、サインアップしていくやり方が正しい気がします。今回はスキルなどもわからない点が多かったためにこのような形をとりました。

また、最後の時間管理については、あと何分だから、ここは諦めるなどの決定をチームで行ったことで、ミニマムな建造物を作る方にシフトしてたのもベロシティがあがった要因だと思います。

これは、品質の悪いものをとどけるという意味ではなく、成果が0よりは、何かしらの形あるものに対してフィードバックをもらって開発を進めたほうがよいという判断をチームで行ったために、このようになりました。

結果として、アジャイルな開発に沿った形で開発を行えた気がします。

難しかった点

  • 他のチームの PO を捕まえて仕様を確認する必要が度々発生したのですが、やはり PO は忙しいので、個別でいくのではなく、まとめて質問する必要があると感じました
  • 成果物のイメージが固まっていないと、各々の方向に向かって開発を進めてしまって、結果何もできないという未来がまっていた
  • カンバンに対する意識を7分間の中に入れ込むのは少し難しい
    • もっと時間のある期間であれば問題なさそう

感想

2つの記事に分けてまとめていきましたが、率直に参加して良かったと思っています。

体型的に知識を入れることができた点もありますが、実際のワークを通して、アジャイルな考え方が整理された気がします。 また、スクラム開発を行うのであれば、チームメンバーは最低限の知識として、このぐらいは経験じゃなく本や研修として学んでおくほうがよいと感じました。

もうしばらく、スクラムアジャイルについて勉強を深めていきたいと思います!!!! f:id:pokotyamu:20161214170602j:plain

LEGOスクラムに参加した!(座学編)

この記事なに?

12/14(木) に行われたLEGOスクラムのレポートです!

イベントの詳細についてはこちら↓

waicrew.doorkeeper.jp

参加の理由としては、「今のチームでやってる手法がちゃんとアジャイルのレールに乗っているか?」「体系的に一回知識を入れてる一貫として、先輩におすすめされたから」

といった感じでした。

チーム決めでは、スクラムについて詳しい順に並んでくださいということで、まさかのプロジェクトでやってる方が私しかおらず、参加者の中で1番詳しい人となりましたw

この記事では座学で学んだ部分についてまとめます。

ちなみに、メモは会社の slack で垂れ流ししてました。

f:id:pokotyamu:20161215114442p:plain

アジャイル is 何? スクラム is 何?

まずは、なんでもかんでもアジャイルを適用すればいいのか? いわゆる銀の弾丸なのか?という話です。

大前提アジャイルに定義はない!!

あえてあげるとすれば、態度概念

スクラムやカンバンといった方法論を身につけることで、アジャイルが習得されるでいいということです。

では、スクラムとは何なのか?

スクラム=複雑で変化の激しい問題に対応するためのフレームワーク。可能な限り価値の高いプロダクトを生産的かつ創造的に届けるためのもの。

複雑で変化の激しいとはどんな状況なのか?

何を作ればいいか・どうやって作ればいいかが中途半端なものをここでは、複雑(Complex)なものとして定義します。

例えば、夏休みの宿題のようなものは、スクラムに向いていません。

なぜなら、何をするかも、どうやるかも明確で、各教科を1つずつ終わらせていけば全ての作業が完了するようなものだからです。特に変化が発生する要素がないので、別の方法を適用する方がよいらしい。

セミナーの中では WBS*1 に切ることが出来るものということも仰っていました。

また、漠然としすぎていてもそれはそれで問題だそうで、「世界を良くするものを作る」という、何を作ればいいか・どうやって作ればいいかが難しすぎる(Anarchy)な問題に関してもスクラムを適用することはできません。

これを達成するには、デスマーチしかないとのこと。

これらの真ん中の作業の時にスクラムが有効な手段となりうるそうです。

アジャイル開発は、オブジェクト指向開発を人間に当てはめたもの

オブジェクト指向形のプログラミング言語の特徴として、クラスに生えてるメソッドはどのインスタンスでも同じような振る舞いを行うというものがあります。

その考え方をプロダクトマネージメントにも応用しようと考えたのがアジャイルなチームの始まりで

  • 1つ1つのタスクが誰がどの作業をやれる状態となっている
    • アサインではなく、サインアップ
  • 機能横断型なメンバーでチームを構成する

1つ1つのタスクが誰がどの作業をやれる状態となっている

これは、タスクの粒度や共通認識のレベルの話で、全員が同じ規模感や認識を持つことが重要ということです。

そして、1つ1つのタスクに対して、誰かから当てはめられるのではなく、手が空いた人から「これやります!」というのが大事になっています。

確かに、うちのプロジェクトでもサインアップは意識されている気がする

機能横断型

機能横断型とは、自分の領域を絞らずに全部出来る(しようとする)ゼネラリストのような人が集まった集団が求められるということです。

例えば、「自分はバックエンドだけしかするつもりありません」という人より、「デザインもできますし、インフラもできます」というような感じです。

今まで、スクラムは一手法として捉えていたので、オブジェクト指向を人間に当てはめたものという表現は納得感のあるものでした。

一回で完成品を作ろうとするのは無理

半年がかりで、どかっとした機能を作るのではなく、雪だるまのようにちょっとずつやれることを増やしていく考え方でプロジェクトを進めます。

  1. 最小の単位で作ってみる
  2. 製品とプロセスの振り返りを行うこと

特にどのようにこれらを作っていったか?というプロセスまで振り返りができるようにすることで、個人としてではなく、チームとしての成長を狙っています。

座学の中では最高に美味しい焼きそばの作り方というテーマでワークが行われました。

ラグビー型のチームへ

複雑で変化の激しい領域に対応するならば、継続的にちょっとずつ前に進める変化に強いチーム作りを意識しなければならない。

f:id:pokotyamu:20161217134846g:plain

引用:The New New Product Development Game

type A のようなリレー形式のように、引き継ぎ引き継ぎで作業をするのではなく、同じチームで継続的に少しずつ進んでいく type C のようなラグビー型のチームのほうが早く進めることができるという調査。

このラグビー型チームにしていくためには、決まったパターンがあるので一回それに当てはめてみてトライアンドエラーで進めていくことが大事そうに感じました。

基本的に【プロダクトオーナーxスクラムマスターx開発チーム】の構図

ここでいう開発チームは、実際にコードを書く人だけでなく、テスターやデザイナーも含まれるそうです。

そして、プロダクトオーナーは「何を作るかの責任者」であるため、必ずしも技術に長けている必要はない。 顧客からの要求をスキニングしたり、製品の価値として、どこまで求めるかの意思決定を行う。

スクラムマスターは「どうやって作るかの責任者」であるため、そのチームの中で一番技術に長けている人がなるべき。

チーム内で発生したバックログに全く関係のない雑務(例えば会議の調整)もスクラムマスターが行うべきだそうです。

その理由としては、チームとして目標を達成できることが一番なため、個人のスキルを高めるために余裕のある人が「技術的に一番余裕がある人」である点。 また、他の人に目を配る余裕がある点や、何をやっているかが(技術的に)わかる点も1番スキルの高い人がやるべき要因です。

そしてなにより、技術に長けている= Complex な問題を解決する力が強いわけではないということも前提としてあります。

まとめ

ここまで、アジャイルの方法論の一つであるスクラムについて書いてきましたが、最後にまとめると。

  • スクラムは適度に複雑(Complex) な問題を解決する方法で簡単すぎても漠然としすぎてもいけない。
  • なんども繰り返してチームとして問題解決を行える力を付ける
    • そこでは必ずプロダクトとプロセス両方の振り返りを行う

この座学のなかではあまり触れられていなかったのですが、お客さんがアジャイルに積極的かどうか?という点も実際の仕事においてはかなり重要になっていくそうで、お客さんの理解を得る方法については、アジャイルサムライに、確実に動くものを毎週届けることで、少しずつ信頼を得ていくというのが大事という風に書いてありました。

あと、ここや本に書いてあることはあくまでもテンプレートなので、最終的な形は自分たちでカスタマイズして作っていくことが大事になってくるのかなと思いました。

最初から、アジャイルな気持ちで〜と言っても何をすれば?となってしまうので、初めは型にハマって、次第にカスタムしていくというのかな。

特に Web 業界だと、週に1回のリリース頻度だとちょっと遅すぎるので、そこらへんのバランスも必要になってきたりしそうです。

というのが座学の感想です。

後半のレゴ編に続きます

pokotyamu.hatenablog.com

*1:Work Breakdown Structure:作業分解構成図

HHKB を掃除した話 #HHKB20th

この記事はfeedforce Advent Calender 2016 の16日目の記事です!

www.adventar.org

昨日は同じチームの UX デザイナーよーさんが書いてくれました。

medium.com

この人、結局君の名は。何回行ったんだろう...7~8回?


みなさん、そろそろ大掃除の時期ですね!

お部屋のお片づけは順調でしょうか?

私は進捗ゼロです!!!!!!!

そんな私がまず取り掛かる場所。 そうキーボードですね!←

というわけで、今日は、私の愛機の HHKB を掃除した話をお届けします!

そもそも HHKB って?

↑こちらが今使っている Happy Hacking Keyboard Professional 2です。

矢印キーがないのでとても省スペースである点。 ストロークが深く、打鍵するとコトコトという非常に心地よい音がするのが特徴です。

さらに、無刻印にすることにより、集中力が研ぎ澄まされるという効果もあります(個人差あり)

なお、かなり癖が強いため、慣れるまでに時間がかかるのが難点です。

いわば小柄な体系で、最初はツンだけどそれでもアタックし続けることで、やっとデれてくれるような手のかかる女のk...(ry

HHKB の魅力については、こちらの記事がおすすめです!!

www.mikinote.com

そんな HHKB を掃除開始

f:id:pokotyamu:20161210194846j:plain

準備するものとしては、

があれば十分な気がします キートップ抜きは、ヨドバシなど電気屋さんで買うとよいかと!

まずは、汚れを確認。

f:id:pokotyamu:20161210194523j:plain

埃がだいぶ溜まってる....

キートップを外していきましょう!

こんな感じでズバズバ抜いていきます!

抜いたら 無くさないように洗濯ネット に入れましょう!

f:id:pokotyamu:20161210195013j:plain

全部抜き終わった写真がこちら↓

f:id:pokotyamu:20161210200807j:plain

あぁ...きちゃない...

スペースキーの部分にバネがついているので、無くさないように注意です!

キートップを洗う

今回は、普通の中性洗剤を使いました。

f:id:pokotyamu:20161210202931j:plain

それをタオルで拭いて、乾かします!

f:id:pokotyamu:20161210203555j:plain

乾くのを待ってる間に、本体のお掃除

こちらには、どこのご家庭にもある精密ピンセットを使いました!

f:id:pokotyamu:20161210202409j:plain

普通ならエアー缶を買って、風でシャーっとしたほうが早いと思います

いざ!キートップの装着

掃除始める前の僕「無刻印やから、キーの配列考えなくていいから楽勝やんけ〜」

パチパチ....パチパチ....パチパチ....

f:id:pokotyamu:20161210212752j:plain

パチパチ....パチパチ....パチパチ....パチパチ....パチパチ....パチパチ....おわった!!!!!!

f:id:pokotyamu:20161210215216j:plain

以上にて、この記事を....

あれ?いつもと感触が違う???????

f:id:pokotyamu:20161210211947j:plain

( ゚д゚) ・・・ (つд⊂)ゴシゴシ (;゚д゚) ・・・ (つд⊂)ゴシゴシゴシ ( ゚д゚)

微妙に高さが違うんですね()

特に左側2つ(´;ω;`)

f:id:pokotyamu:20161214185255j:plain

この後、違和感あるとこ付けては外しを繰り返して 完成しました!!!

f:id:pokotyamu:20161210215226j:plain

高級なキーボードはちゃんと手の形に合うように、湾曲しているそうなので、列ごとで洗濯ネットに入れとくと良いかも知れません!φ(..)

みなさんも、年越しの大掃除リストにキーボードを加えましょう!!!


明日は、新卒同期の有給消化率ナンバーワン tsub 氏です!!!

追記

会社のはてブコメントから、公式さんが教えてくれなかったことを教えてくれた!!!!!!!

突撃!隣のキーボード - Feedforce Developer Blog

HHKB無刻印洗濯は考えなしにはじめると紹介記事のごとくハマるんですけど、キートップ裏に書いてある記号で何のキーかわかったりします。

2017/11/15 20:52

f:id:pokotyamu:20171116102711j:plain f:id:pokotyamu:20171116102712j:plain

下から A→B→C... って振られている感じみたいです! 数字は横の並び順かな?どっちが1番なんだろうw

あなただけの登山ルートがそこにはある『山頂をめざせ』:ボドゲ紹介

この記事何?

この記事は、 2016年ボドゲ紹介02 Advent Calendarの7日目です。

www.adventar.org

参加を決めてから気づきましたが、ボドゲ紹介01 の7日目は弊社のボドゲ部部長 @kano_e さんが書いていますので、そちらもどうぞ

www.evernote.com

今日紹介するゲームは、お気に入りなサイコロゲー「山頂をめざせ」です!

Gipfelstürmer: AMIGO - Familienspiel

Gipfelstürmer: AMIGO - Familienspiel

まずは簡単にルールから

まずはじめに、1人5匹のヤギとプレートを一枚ずつ持ちます。

このヤギさんを山頂に進めるのがゲームの目的です!

この5匹のヤギを山の麓に並べてゲームスタート! f:id:pokotyamu:20161203221143j:plain

ターンが回ってくると、サイコロを5個振って各看板に書いてある目をクリアーできれば一歩前に進めます。 サイコロは振り直したいものだけキープして、振り直しは2回まで振り直せます。

例えばこの写真は、3と6のツーペアが揃っているので、 f:id:pokotyamu:20161202224817j:plain f:id:pokotyamu:20161202224826j:plain

このツーペアの看板が進めるという感じでズンズンヤギさんを進めていきましょう!

自分のヤギさんを押し上げちゃえ

山頂までのルートにはヤギさんが止まる枠があるのですが、それには上限が決まっています。 小さい枠はみんなで1匹、大きい枠は個人で2匹までです。 じゃあ、それ以上は進めないのか?

f:id:pokotyamu:20161203223344j:plain

ここがこのゲームの醍醐味! 自分のヤギを押し上げちゃう事ができるんです!!

f:id:pokotyamu:20161203223334j:plain

上に行けば行くほど、看板の賽の目が難しくなるので、 このようになるべく道に続けるようにヤギを配置して、上に上に押し上げていくのがこの山頂をめざせの醍醐味です!!

相手を押しのけちゃえ

ゲームの中盤になると進む先に他の人のヤギがいる。。。という状況になります

f:id:pokotyamu:20161202225510j:plain

その場合どうするか。。。。

f:id:pokotyamu:20161203224450j:plain

f:id:pokotyamu:20161202225521j:plain

邪魔な敵は押しのけていくのです!!!

上手くいけば、一番下まで突き落とすことができます!!

終了条件

こうして、ヤギさんを押し上げたり、敵を押しのけたりして、一番先に山頂に2匹のヤギさんを山頂に登らせたら勝ちです!!

f:id:pokotyamu:20161202231405j:plain

あなたは白色ヤギさんや黄色ヤギさんみたいに準備万端に用意する派? [f:id:pokotyamu:20161202231042j:plain

それとも、緑色ヤギさんみたいに5つのぞろ目を気合いで出す派? f:id:pokotyamu:20161202231058j:plain

  • どのルートを進ませるかという戦略
  • 自分の力で出す目をコントロールする力

両方がバランス良く必要な、山頂をめざせいかかでしょうかo(・ω・´o) この日は着々とヤギさん並べてる間に6の5個ゾロ出されて負けましたw

おわりに

毎週水曜 19:30~ 弊社ボドゲ部活動中です! ほぼ毎週ゲストさんもいらっしゃっていますので、お時間ありましたらぜひ湯島まで〜

ff-boardgame.herokuapp.com

明日はowl_8 - Adventar の今年遊んだボドゲ です!