プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

Alibaba Cloud (aliyun) のObject Storage Service (OSS) にあるbucket内のオブジェクトをcliで確認する

Alibaba Cloud (以下aliyun) を使っている人なんてそうそういないでしょうが、私は仕事で使っていて、タイトルに書いたことが必要になるケースがこの前あったのでメモ代わりに記録。

aliyunにはObject Storage Service (以下OSS) というサービスがあります。AWSで言えばS3に相当するサービスです。

jp.alibabacloud.com

aliyunもAWSと同じようにコンソールだけでなくcliで各種サービスのステータスチェックなどができるようになっていて、大半のサービスはaliyuncliというものを使って調べることができます。

pypi.python.org

ただ、これを使ってOSS内にあるbucket内のオブジェクトを確認しようとしたら、以下の「ossutilというものを使え」というメッセージが出てきて、実際に使ったらオブジェクトを確認できたのでメモします。

github.com

ちなみにこの記事を書いていて調べたときに気づきましたが、githubにgolang勢のaliyun-cliがaliyunのgithubアカウントにあるのも気がつきました。もしかしたらこちらで他のサービスを含めて統一的に扱えるのかもしれません。

github.com

ossutilの使い方

リポジトリのREADMEを読めば分かることしか書けないですが、一応メモ。

  1. ossutil config を使って設定ファイルに設定を書く
  2. ossutil ls など定義されたサブコマンドを使用

1.はコマンド実行時に聞かれたことに答えれば、指定したパスに設定ファイルが書かれます。設定ファイルの内容は以下のような感じです。

language=EN
endpoint=oss-cn-hangzhou.aliyuncs.com
accessKeyID=<key id>
accessKeySecret=<secret id>

endpointの値に関してはこちらの公式ドキュメントを見て該当するものを書けば大丈夫なはずです。

後は以下のようにコマンドを実行すればオブジェクトを確認できました。

ossutil ls oss://<bucket name>/<path>

『Airbnb Story』を読み終わった

今年の抱負に「1年で12冊は本を読み、感想ブログを書く」というものを立てているので、今回はその2つ目の記事。前回はこちら。

takuan-osho.hatenablog.com

今回読んだ本は『Airbnb Story』。Airbnbの創業を描いた本です。

Airbnb Story 大胆なアイデアを生み、困難を乗り越え、超人気サービスをつくる方法

Airbnb Story 大胆なアイデアを生み、困難を乗り越え、超人気サービスをつくる方法

この本、個人的には読み手によって評価が大きく別れそうな本だと思いました。"民泊"というものに対する印象も人それぞれだろうというのが大きな理由です。

本で描かれているエピソードの中にもあるように、民泊というものを「新しいニーズを上手く捉えて形にした新しい動き」と見る人もいれば、「既存の業界に規制があるのは理由あってのことなのに、それを無視して利益を追求しているようにしか見えない」と見る人がいる中、民泊を中心に据えたAirbnbを(割合好意的に)紹介している本なので、読者が持つ民泊(とAirbnb)に対する心証と本の評価が連動してしまうように思いました。

ちなみに私は民泊に対しては多少否定寄りに見ることが多い人間です。ですが、そもそも民泊というものに対してそもそも知らないことが多かったのと、デザインの力がプロダクトの価値に反映されていると評判のAirbnbのことを知りたかったのでこの本を読み始めました。

読んで感じたこと

この『Airbnb Story』を最後まで読み通して感じたことは3つあります。

まず1つ目はなぜこの創業者たち3人は喧嘩別れをせずに済んだのかということです。普通だったらこの悪いバランスともいえる3人はどこかのタイミングで喧嘩別れや空中分解してもおかしくないはずなのに、このように現在に至るまで3人でAirbnbを運営しているというところが稀有なところではないかと思いました。

もしかしたら私が読み逃しているだけで、3人が喧嘩別れせずにすんだ理由は本を読めば合点がいくものだったのかもしれませんが、少なくとも初見ではそう思いました。

2つ目に感じたこととして挙げられるのは、この本では「ミレニアル世代がAirbnbを支えてきた大きな要因だ」ということを何回にもわたって書いているのですが、私自身がミレニアル世代*1なのに全くこういった感想を持たなかったので、こんなにも世代の中で差があるのかと感じたということです。

「ミレニアル世代、ミレニアル世代!」と何回もこの本の中で繰り返されていて「ミレニアル世代ってなんだよ!」と思いながら読んでました。

いやほんと、ミレニアル世代の人ってそんなに「画一的なブランドに不満を持ち、冒険心が旺盛で、デジタルだけのつながりに慣れている」(書籍内の表現ママ)んですかね?

3つ目に感じた感想として挙げられることとして、(寛容というわけではないのだろうが)失敗したエンジニアにも寛容でいるという社風がどうやってできたのかということです。

Gitlabのデータベースエンジニアの例みたいに、Airbnbも社が保有しているデータを全部削除してしまうようなエンジニアがいたそうだが、そのエンジニアに対して(少なくとも本の中での記述では)処罰みたいなものはしていないよだったので、どういった社風がそういったことを可能にしているのかには興味を持ちました。

まとめ

既に書いたように、人によって評価が大きく分かれそうな本なので、他の人が読んだときにどんな点が気になるのか、あるいはどうこの本を評価するのかといったことが知りたくなる、そんな本でした。

あと、職場の人と本の感想について話していて気づいたのですが、「創業者の成長物語」と捉えればとても真っ当で横道な映画向きの話だなと思ったので、映画化したら面白そうだし、もしそうなったら見てみたいと思いました。というか見たいですね。

*1:私は1984年生まれなのでミレニアル世代なはず。日本での定義とこの本での定義がずれていなければ。

『SQL書き方ドリル』の第3章の途中まで学び終えた

SQLを勉強中なので学習記録を残します。

takuan-osho.hatenablog.com

今は複数のテーブルの扱いを学ぶ第3章の途中まで学びました。

2章までとは違い、結構(私にとっては)複雑なSQLを考えないといけないので時間がかかっていて、まだ半分くらいまでしか終わってないです。

今のところ学んだ事項は以下の通り。

  • 副問い合わせ
  • INNER JOIN
  • OUTER JOIN

まだOUTER JOINのところは終わってないですね。 苦戦しているのはGROUP BYが混じってくるとちゃんとSQLが書けないということが分かったので、2章を復習しつつやっていきます。

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)

Udemyの講座でAdobe XDの基本的な使い方を覚えました

2018年の抱負の一つに「[UI|UX|Web]デザインを勉強して、自分でプロトタイプを作れるようにする」というものを立て、その最初の一歩として、以下のUdemyの講座を受講しているということを以前ブログ記事で書きました。

https://www.udemy.com/adobe_xd/

つい数日ほど前にこのUdemyの講座を全て修了したので、今回はその講座で学んだことについて書いていこうと思います。

ちなみにUdemyは頻繁に90%offなどキャンペーンをしている*1ので、消費者目線で言うならば安くなっているときに購入した方がいいです。

上記講座はAdobe creative cloudの1つであるAdobe XDの使い方を学べる講座です。Adobe XDとは公式サイトの謳い文句曰く、「Webサイトやモバイルアプリのデザイン、プロトタイプ作成、共有までを1つのアプリで実現する全く新しいUI/UXデザインツール」で、Adobe creative cloudで使えるツールの1つです。他に似たようなツールとしてはSketchやProttなどのツールがあげられると思います。以前インターネット上で読んだ記事の中でAdobe XDとSketchに関する比較記事を読んだことがあるので共有しておきます。

tech.recruit-mp.co.jp

何故この講座を選んだのか?

2018年の抱負の記事で書いたことと一部被りますが、以下の点があったのでこの構造を選びました。

  • もともとAdobe creative cloudに加入していたこと。
  • Adobe XDの使い方を「基本的なところから」体系的に学べる「日本語の」リソースが現状この講座しか見つからなかったこと。

特に後者の点が決定的な要因でした。

私と違い、普段からウェブデザインやデザインというもの自体に慣れ親しんでいる人ならば違うのでしょうが、2018/01/19現時点で私が探した限り、Adobe XDの細かい単発的な使い方を紹介する記事だったり動画は見つかるのですが、Adobe XDどころかPhotoshopやillustratorといったツールもほとんどまともに使ったことがないような私のような人間向けに「Adobe XDの基本的な使い方を」「日本語で」最初からまとまって教えてくれるリソースがこの講座以外に見つけられませんでした。

英語のリソースも含めるとこの講座以外にもあったのですが、普段慣れ親しんでいない分野のことを勉強し始めるのにあたり、母語ではない英語のリソースで勉強し始めると逆に時間がかかるということが今までの経験上よくあったので、今回は日本語のリソースから学ぶということを重視して選択しました。

この講座の良いところ・悪いところ

この講座の良かったところは以下の点です。

  • Adobe XDの基本的な知識がなくても基本的な使い方が学べるところ
  • 実際のプロトタイプ作成の手順の流れや負担デザイン業務をしている人のちょっとしたコツみたいなものが動画から学びとれること

先ほども書いたように、私はPhotoshopもillustratorも使ったことがほとんどないので最初から手取り足取り教えてあげるこの講座は助かりました。

加えて、書籍ではなく動画の講座だからこそ良かった点として挙げられることとして、普段デザインの仕事にしている人のちょっとした工夫やポイントが動画に現れているのが見てとれたことです。

この講座のよくなかったところ悪かったなと思えるところは以下の点です。

  • 私にとっては作業ペースが早かったので一々動画を止めて巻き戻さないといけなかったところ

講座自体の落ち度ではないのですが、何しろこういったツールを使うのはほぼ初めてだったため、基本的な使いなど学ぶところですら一々動画を止めたり巻き戻したにしてやっている動作一つ一つ確認しなければいけなかったため、結構時間がかかったのが大変でした。

まだ1/4も読めていないですが、それでも十分仕事に活かせているので原著の作者と翻訳者とラムダノートさんありがとう、という気持ちです。 前職でSSL証明書を取得する必要があったときにネットのリソースだけでSSL/TLS周りを勉強しましたが、知りたいことを探していても古かったりして本当に正しいのか逐一調べながらやっていたのに対して学べなかった経験からすると、SSL/TLSの勉強をしたかったらさっさとこの本を買って勉強した方が時間の節約になっていいと思いますね。

最近こんなことを勉強してます - プログラマ行進曲第二章

逆に言うと、講座自体の内容は特に私にとっては不満ポイントがほとんどなかったです。他の方のレビューを見る限り、音声レベルが統一されていない箇所があったり、一部聞き取りづらい箇所があったようですが、私は何度も動画を一時停止したり巻き戻したりしていた関係か、そういった感想は持ちませんでした。もしこの動画を受講しようという方がいましたら、最初からその点を意識して受講された方が良いかと思います。

講座を修了した感想

もうすでに感想を書いているような気もしますが、講座自体には非常に満足しました。

この講座を最後まで受講し、アプリのプロトタイプ作成の流れまで学んだことで、自分が作りたいアプリやウェブサイトがあったときのプロトタイプ作成の最初の一歩を踏み出せるようになったと思います。

今後機会を見つけて、Webサイトのプロトタイプ作成や自分のアプリのプロトタイプ作成にAdobe XDを利用して今回学んだことを活かしてみたいと思います。

*1:というか何故こんなに頻繁にキャンペーンしてるのか謎。定価で買うのがアホのように思えてくる位なので。

『SQL書き方ドリル』の第2章まで学び終えた

以前記事で触れたように、『改訂第3版 すらすらと手が動くようになる SQL書き方ドリル』を勉強中です。

takuan-osho.hatenablog.com

つい先日、やっと第2章である「ひとつのテーブルを扱う」まで学び終えました。

学んだ事項は以下の通りです。

  • SELECT
  • FROM
  • AS
  • WHERE
  • 演算子
  • 集合関数
  • CASE
  • GROUP BY
  • HAVING
  • ORDER BY
  • DISTINCT

恥ずかしながら正直な話、これらのことも理解し切れていなかったので、非常に勉強になりました。

第3章以降は結合など複数のテーブルを扱うことが学習範囲になってきて、より実践的な内容となるので早めに終わらせたいと思います。

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)

『Goならわかるシステムプログラミング』を勉強し始めました

表題の通りです。

Goならわかるシステムプログラミング

Goならわかるシステムプログラミング

以前から多少golangは触っていたのでほんの少しは分かるけど、インターフェースの扱いを含めて本格的な使用に耐えるほどの知識と運用能力は無かったことに加え、私自身がOSなど低レイヤーの知識が仕事上必要なのに不足していたのでどこかで勉強しなくてはいけないと感じていたことが重なったので、時間を見つけて少しずつ写経したり問題を解いたりしています。

今のところ大半が写経なのですが、どうせやるならgithub上にコードを残していつでも参照できるようにしたかったので、練習用リポジトリを作って学習の成果を残すようにしました。

github.com

まだ第3章の最後にある問題も解いていないという状況ですが、これまでと同じく時間を見つけながらボチボチ勉強していきたいと思います。

ただ、前回の記事で触れた「SQLの知識不足」の方がクリティカルなので、そちらを基本的に優先していくつもりです。

takuan-osho.hatenablog.com

まあ、何とかやっていきます。

はてなブログProにしてみた

気の迷いではてなブログProにしてしまった。

一応体験目的の無料期間が一ヶ月あるのでまだお金はかかってないけれど、それから後はお金がかかるので、これをいい機会にしてブログ更新を昨年よりも頻繁にしていきたいと思う。

せっかくProにしたので、さっそく広告を外した。きれいになってスッキリ!

だけど、そのうち「AmazonアソシエイトやGoogle Adwardsで一攫千金!」みたいな流れに下手に感化されて広告貼りつける道に堕ちることも十分にあるので、堕ちるなら堕ちるで邪悪な堕ち方はしないようにしたい。

それとデザインも自分で自由に設定できることと、今年はデザインの勉強もしているのを活かして、少しブログのデザインを改良していきたい気もしている。

はてなブログ Pro、しばらく有用かどうか体験してみる予定。