AWS Summitの感想を一か月たった今書いてみました~

はじめに

学校で学んだことを一切忘れてしまった時に、
なお残っているもの、それこそ教育だ

アルベルト・アインシュタインさんが残した言葉ですね~

なぜ、この引用を引っ張ってきたといいますと…

1か月前に渡し、AWSのイベントに参加したのですが
当時メモに残していたことはあっても、
ブログにまとめたりとか全くしてませんでした~

なら、今残っている情報がcacaponにとっての有用な情報では?と思い、
今更感が強いですが、AWSのイベントに参加した時に思ったことを
まとめたいと思います~

AWS Summit とは?

AWSさんが主催で行ったイベントです~
2019年は 6 月 12 日 (水) 〜14 日 (金)の三日間をかけて開催しました~

場所は幕張メッセですね~
cacaponがこちらにお邪魔するのは、
nintendo スペースワールド
ポケモン金銀の体験版をやった以来かもしれません(笑

基本的にはAWSのサービスを使った講演が主体だったみたいですけど、
各会社様のブースなどもあってでっかいイベントでした~

なんで参加したの?

cacaponが参加した理由は、これまでIT関係の大きなイベントに
参加したことがなかったからです~

社長からおすすめされて、折角だから行こうかなと思い、
参加することにしました~

一日目の感想 

基調講演について

最初の予定では、基調講演として、AWSさんの社長の話を聞いた後、
AWSの各サービスの説明を受けるって感じで進める予定でした~

実際に会場についてみると、どこで受付すればいいのかわからず右往左往…
やっと受け付け終わったと思ったら、基調講演の席は満席だから、
パブリックビューイング的な会場に移動してくださいとまた右往左往…

基調講演も10分くらい過ぎたところから聞き始めました~

聴いた感想は、ビジョンがでっかいなぁというのと、
力強い話し方だなぁというのと、
横文字よく使うなぁという感じでした~

サービス自体は、なんかもう、何でもできるぜ!って感じでした~

初心者向けAWSのサービスの講演会…だけど

基調講演が終わった後は、AWSのベーシックな話だったのですが、
残念ながらcacaponの興味アンテナには引っかからず、
途中で抜け出してしまいました~

無線のトランシーバーみたいなもので、講演内容は聴けたので、
休憩所みたいなところでゴロゴロしながら聞いてました~
内容は覚えていませんが…

あ、無料のマッサージ機は気持ちよかったですよ♪

会社ブースで製品紹介♪

そんな感じでゴロゴロした後は、講演はもういいかなと思い、
各会社ブースを回る感じにしました。

呼び込み方はアレですね…

  1. きれいなお姉さまが声を掛けにきます~
  2. cacaponの入場バーコードをピッととられます~
  3. 記念品やチラシを渡されます~

いやあ、手慣れてますなぁ~
ホントはピッとやられるのは嫌だったんですけど、
そうしないと話聞けなさそうだし、流されました~

cacaponはAWSのサービスを使っているわけでもないし、
IT業界もそこまで経験値は高くないので、
「何も知らないから、会社様のサービスが
どんなものなのか教えてくれませんか?」
という感じで聞いて回りました~

ほとんどAWSのサービスを使ったサービスでしたので、
前提知識がないと分からないものも多かったです~
これはcacaponの勉強不足ですね~

後、面白いなって思ったのは、呼び込みはきれいなお姉さまなのですが、
喋るのは1社除いて全てお兄様さま、おじ様が説明するって感じでした♪
詳しい方にお任せする?って感じだったのですかね?
分かりやすさは会社によってまちまちでしたが…

さて、肝心の話の内容ですが…これもぼやーっとしています。
講演で疲れていたのもあってか、馬耳東風モードのcacaponでした~

印象に残っているのはSUSEですかね?
SUSELinuxディストリビューション
丁度探していたのもあったので、ちょっと食いつきました♪
処理が速いんですって。
ただ、無料お試し期間があるものの、有料ですし、
普通のノートPCのOSとして使うのは違うかなと思い、
家では使ってません~ いつかサーバーに目覚めた時に考えるのかな?

あ、攻撃遮断君のボールペンめっちゃ書きやすいです♪
家族に大好評です~大切に使ってます~

一日目まとめ

ここまでまとめてみましたけど、勉強内容はすっからかんですね…
普段からAWSのサービスを使ってたらもっと違ったのかもしれませんが、
使ってないから、不便さ・便利さが伝わりにくくて、
サービスの魅力がcacaponには届かなかったのかなと振り返って思います~

そういう人に、これいいですよ!って思わせるには
どうしたらよいんでしょうかね?

サービスの内容は入っていませんが、
どちらかというと、どうやって人を呼び込んでいるのかとか
そっちの方にcacaponのアンテナが向いてたみたいです~

二日目の感想

…疲れが出たので寝込んでました。

三日目の感想

回れなかった企業ブース回り♪

一日目で結構回ったんですけど、まだ回ってないところもあったので、
一日目に引き続き企業ブース回りをしてました。

でも、このあたりの記憶もあやふやですね~

最後の締めはFGOのサーバー負荷対策の話♪

企業ブース回りが終わった後は、最後に講演会の予約をしていたので、
聴きに行きました~

cacaponはFGOってやったことないんですけど、
その運営会社さんのサーバー負荷を解消するためのお話でした♪

元々、○周年記念ガチャかなんかで
アクセス過多からのサーバー負荷がかかりすぎてしまって、
データのインデックス付けがつけられなくなって、
サーバーの反応速度が遅くなった、ということがあったらしいです~

それを解消するために、垂直型から水平型のデータ構造に変えたとのことですが、
その対策をした後は、テストとしては反応が遅くなったアクセスの2倍以上でも、 平常に動けるレベルになったそうです~
構造変えるだけで強度が違うってすごいですね♪

ところどころ、歯抜けですけど、3日の中では一番印象に残っているのが、
こちらのお話でした。

元々、ゲームが好きっていうのもあるかもしれませんが、
実際にこういうことが起きて、こんな問題になって、
こういう工夫をしたらうまく行った♪
という話って、結構すんなり入る気はします~

終わりに

さて、cacaponに残ってたものはというと… 総じて、勉強内容が入っていないのがいただけないのですが、
それ以外の面で為になったことはあったかなぁと振り返って思いました~

特に、どんな風に呼び込んで自分のサービスを
如何に興味を持たせようとする、企業ブースは面白かったですね~

FGOの時みたいに、cacaponのアンテナがビビっとくる講演会なら
もっと聞いてみたいですけど…難しそうです~

vba マクロから別のマクロを開くやり方です♪

こんばんは~cacaponです♪
最近、仕事でVBAを行うことになったのですが、
久々に扱ったのでだいぶ忘れていました~

 

 今日は、そんなVBAに関する備忘録として、
マクロから別のマクロを実行する方法をまとめていきたいと思います~

 

これをやる経緯は?

今回仕事で作っているマクロが数がいっぱいでありまして~
マクロ毎に似通った処理も多くありました~

それだったら、

・処理を行うマクロ

・処理を呼び出すマクロ

 

という感じで別々にすれば、管理しやすくなるかな?
と思ったのです~ 

何個かやり方があるのでまとめていきますね~


① 同じモジュールの中にある場合

同じモジュールの中にあるときは簡単です♪

Call <マクロ名>

呼び出すことができます♪

 

test というマクロを作っているのでしたら、

Call test

で呼び出せますよ~

 

② 同じファイルにあるが違うモジュールの場合

この場合も、まだ簡単です~

Call <モジュール名>.<macro名>

で呼び出せます~

 

hogeモジュールのtest2マクロを呼び出したいのだったら、

Call hoge.test2

ですね~

 

③ 違うファイルのマクロを呼び出す場合

今回これを多用したのですが、
これがちょっとめんどくさかったです~

この場合はCallではなくApprication.Run を使います~

Application.Run " '<マクロのパス>'!<マクロ名>"

という感じです~

ファイルパスは絶対パスになります~

なので、C:\dir\macro.xlsm にあるtest3マクロを
別のマクロを呼び出したい場合は、

Application.Run " 'C:\dir\macro'!test3

という感じですね♪拡張子はつけないのでご注意を~

因みに、何がめんどくさいかというと、
パスの設定ですね~

cacaponの作ったものは、一つ上の階層に処理を行うマクロを置いたので、
MACRO_PATH = Left(ThisWorkBook.Path, InStrRev(.Path, "\") - 1) & "\処理マクロ"

みたいな感じで、設定してました~

ややこしやです~

注意点

自分で行う場合は、これで大丈夫なんですけど、
他の人にマクロを渡した場合は、
「むむ、怪しいマクロめ!」と無効にされちゃうらしいです~

その為には、デジタル署名をしたり、証明書?を発行したり
必要みたいなのですが、まだ調べ中なので
調べ終わったらこちらのブログに記載したいと思います~

 

終わりに

今日は、マクロからマクロを開くやり方でした~
これで、処理を共有することで、
修正箇所を減らしたりとかもできて便利になりました♪

パッケージ化みたいな感じですかね?

暫くVBAは使いそうなので、もっとできるようになりたいです~

 

「考える」を考える

こんばんは、cacaponです~
6月までは毎日更新頑張ってたのですが、
ネタ切れと毎日更新が辛くなってきたため更新できませんでした~

今月は、週1回ペースで更新していこうと思いますので、 よろしくお願いします~


今日のお題は?

「考える」事を考えていきたいと思います~
なぜ、そんなお題かというと、問題を考えるとき、
分からないで止まってしまうことが多いからです~

本当は、自分が納得するまで考え抜きたいのですが、
そこまで到達できないことが多いので、
この際、考え方を見直してみようと思ったのがきっかけになります~

それでは、考えていきましょう~
少し長くなるかもしれませんが、お付き合いいただければ幸いです♪


最初は簡単な具体例から♪

具体例を見てみるともしかしたらヒントがあるかもしれません…
という訳で具体例を考えてみましょう~
何が良いですかね?

…そうだ、「今日の晩御飯」について考えてみることにしましょう♪

今日の晩御飯は何にしようかな?と考えた時、
「カレーにしよう!」とか
「コロッケを食べよう!」とか
思いつくかと思います~

これで、「今日の晩御飯はカレー!」と決めましたら、
今度はカレーの材料買ってきたり、料理したりになるかと思います~

はたまた、外のカレー屋さんで食べる、
というのも選択肢の一つかもしれませんね♪

その後は実食! ご馳走様まで行ったら、その後片付け…
と、どんどん繋がって止まんなさそうなので
いったんここで止めちゃいましょうか~


今日の晩御飯とカレーの関係は?

最初に戻りますね~
「今日の晩御飯」という考えに対して
「カレー」が思いついてますが…この関係は何なのでしょうか?

「カレー」は「今日の晩御飯」に対しての答えになるかなと思います~
となると、「今日の晩御飯」は「カレー」に対する問題となるでしょうか?

ですが、「今日の晩御飯」だと問題としてはモヤっとしている気がします~
それは、「今日の晩御飯が何なの?」がはっきりしていないからだと思うのです~

なので、ここははっきりさせちゃいましょう~
「今日の晩御飯が決まっていない」にしましょうか。

そうすると、「今日の晩御飯が決まっていない」問題に対して、
「今日はカレーにする」という答えを出している、
と、すっきりした関係が見えてきそうです。

この後も「カレーを食べるためにどうするか」という問題に対して、
「料理する」・「外で食べる」という答えを出しています~


ということはつまり?

具体例(二例しかありませんが)を見たところ、
ある問題に対して、何らかの答えを出す」というのが、
考える」ということなのでしょうか?

cacaponとしては↑を考える、ということにしたいと思います~

考えるがはっきりしたことですので、
cacaponが良くぶつかる「考える」にまつわる
問題について考えてみたいと思います~


問題① 答えが分からないとき、どうしよう…

考えても答えが分からない時って皆さんはどうしていますか?

cacaponは良くあります、分からなくて云々唸って、
結局分からずじまいで放置ってものも結構あります~

例えば、cacaponはパズルが好きなのですが、
解けない問題は多いです~

その時の解決法は何個かあります~

①「裏面の答えを見る事」 (答えを見る・調べる)

…パズルだと最悪な手法だと思います~
ただ、答えがあるものでネットを見れば解決できる問題でしたら、
調べて答えを見つけるというのは解決法の一つではあるのかなとは思います~

ただ、他の人の答えを使っているだけなので、
考えるとはちょっと違った分野になる気はします~
あと、「裏面の答えが見つからない(存在しない)」時には使えないので、
他の解決法は必ず用意するべきでしょう~

②とりあえずやってみる事

パズルで意外とあるのが、問題が分からないパターンです。
問題は書いてあるけど、文章だけ読んでも良く分からない場合は、
自分の腑に落ちるまで動かしたり、ペンで書いたりすると良いかと思います~
書いてく内に「こういう問題なんだ!」と分かれば、
おそらく考える一歩目は踏み出せる気はします~

③前提となる原理原則をしっかり分かるようにする

パズルだと前提がはっきりしていることが多いですけど、
問題によっては先に分かってないとこの問題も分からない…
という問題もあります~

例えば、「ユーグリッド原論」は、前提が「5つの公準と5つの公理」になります。 これを知っていないと、問題を解けません~

ユーグリッド原論は最初に書いてあって優しさがあふれていますが、
数学の証明だと、「証明したことを使って別の問題を証明」
ということがいっぱいです。
そんな時は前の証明を知っていないと今の問題が分からなくなります~

そして、日常の問題もそんな前提が隠れていて
パッと見分からないことが多いかと思います~
そんな問題とぶつかった時はどうしましょう?

そんな時は、素直に前提として何があるのか?
何が分からないとこの問題が解けないのか?
というのを調べる必要があるかと思います~

一歩下がってもう一度その前提の問題が分かるか考えてみましょう~
それも分からなければ一歩下がる…
分かるところから始めれば、いつかはその問題も分かるはずです♪

もっと他にも解決法はありそうですけど、
cacaponが思いつくのはこのくらいでした~


問題② 我慢できずに途中で諦めちゃう…

これ、何回か転職したあたりから、
自分の中で顕著になったなぁという問題なのですが、
自分の中では「考える筋力」が無くなったからだと思っています。

私の場合、本は大好きでよく読みますが、 その本に対して何か考えるかというと… 「ほーなるほど」で止まってしまっていることが多いのです。

そこで満足しちゃっているわけですね。

先日、たまたまソクラテスと馬鹿な人とは何が違うのだろうという
疑問がわきまして、久々にじっくり考えたのですが、
今の私だと1時間ほど考えて答えが出ずに終わってしまいました…

こちらの問題に関しては自分なりの解決策は出来ていません。
まさに、「これについて考える」べき問題かなと思っています。

とりあえずやってみる事としては、
・日常生活から疑問を探してみる。
・少し考えたら分かりやすそうな問題を考えてみる。

という感じで、やってみようと思います。
一歩目が踏み出せるといいなぁ~


終わりに

普段500文字くらいで押さえてたのですが、
気の向くまま書いてみようと思ったら、
思ったより筆が進んでしまってびっくりしました(笑)

私の「考える」について考える。いかがでしたでしょうか?
参考にするなり、反面教師にするなりして、
少しでも皆様の「考える」について考えるきっかけの一助になったら幸いです♪

それではまたいつかお会いしましょう~

pythonの自作パッケージをもっと自由に使いたいのです~

今日の記事はどんな人向け?

pythonで作った自作モジュールを
ローカル環境で色んなところで使いたい方向けです~


自作モジュールをどこでも使いたい!

pythonのパッケージって便利ですよね~
私もそこら中でpipしてimportしながらプログラミングしているわけですが、
あるとき思ったのですよ…

自分で作ったパッケージってimport出来ないのかな?

今までcacaponは後で使いそうな機能は
こんな感じで分けてたんですけど

capopack1
|-__init__.py
|-moduleA.py
|-moduleB.py
etc...
自分の階層にあるパッケージはこれでよいのですが、
それ以外で使いたいとき、パッケージ化の仕方が分からなかったので、
使うところにコピーしてそこからimportしていくっていう
前時代でも使っていたかどうかわからないやり方でやっていたのです~

しかし、これはめんどくさい…
ミスも出そう...
ディレクトリのデータ量もでかくなる…これはまずい!
という訳で、何か方法がないかなと調べたところ…

なんと、pythonistaならご用達であろうpip コマンドで
自作パッケージを使えるようにできるみたいです!

本当はPyPIにアップロードして誰でも使えるようにっていうのも
出来るようなのですが、cacaponは今の所ローカルで使えれば満足なので、
今回は、自作パッケージをローカル環境ならどこでも使える方法
書いていきたいと思います~


pipで使えるパッケージを準備するのです!

まずは、元になるパッケージを作らないとですね~
使うディレクトリにそのパッケージがあるのでしたら
パッケージの中に__init__.pyを置いて、

from XX import OO

ってやれば使えますけど、pipを使ったパッケージの場合は
もう一手間いるみたいなんです。

それは、パッケージの構造を見ると分かるかと思います~

|- パッケージ名
|   |-__init__.py
|   --モジュール名.py
-- setup.py

大体同じですけど、setup.pyというのがありますね~
ココがポイントになります~
setup.pyはpipのメタ情報を記載するファイルになりまして、
ここの記載を元に、pipがパッケージを登録してくれます。

setup.pyのファイルはこんな感じでつくりました~
(参考リンクを元に、cacaponがローカルで使う必要最低限まで減らしました~)

import setuptools
setuptools.setup( name="capopacks", # これがパッケージ名になります~ version="0.0.1", packages=['capopacks'], # moduleが入っているパッケージを選択してください~ )

ここまで出来たら、あとは登録して使うだけですよ~


パッケージを登録して使ってみましょ♪

では、登録してみましょう~

作ったパッケージのsetup.pyがある階層まで行き、
下記コマンドを打ちます。
pip install .

以下のように出たら成功です~

Processing c:\users\cacapon\desktop\workspace\capopacks
Installing collected packages: capopacks
  Running setup.py install for capopacks ... done
Successfully installed capopacks-0.0.1

ここまでできれば、他のパッケージと同じように
どこからでも使えるようになります♪

from capopacks.XXX import OOO みたいな形で使っていきましょう♪


パッケージを更新したい!そんな時は??

しかし、使っている内に、新しい機能増やしたい!
ということもあるかと思います~

そんな時もpip install .をすれば、更新してくれるようです~
ただ、このままだと分からなくなるので、
setup.pyのversionは毎回上げるようにしましょう~

(自動で上げたりとかはできないのかな…要調査です~)


もうこの自作パッケージいらないかな…そんな時は?

いらなくなったパッケージは pip uninstall <パッケージ名>
で削除できるのですが、これは自作パッケージでも同じです~

不要になったらアンインストールしちゃいましょう~


いかがでしたでしょうか?
今回のやり方でcacaponはより自由な開発方法が分かった気がします~
今はローカルで満足してますが、
いつかcacaponがこれはみんなに使ってほしいというパッケージが出来たら
PyPIに公開したりして、使ってもらいたいですね♪

参考リンク

setup.pyの書き方を参考にしました~
packaging.python.org

ビーズアートにチャレンジしました!

今日、地元の地域交流会で、「ビーズアート体験会」というのがありました〜

 

参加は出来なかったのですが、興味はありまして…

資料は借りる事が出来たのでこれを元にチャレンジしたいと思います♪

 

使った材料はこんな感じです〜

f:id:cacapon:20190623234844j:image

ビーズって言っても何種類もありまして、

4mmビーズというのをメインで使います〜

その他に丸小ビーズや

てぐす(釣で使う糸)、

後は飾りつけ用のビーズを使ってきます〜

 

では、早速やってきましょ〜

てぐすにビーズを通して、

交差したり、近くのビーズに通したりして

形を作っていきます〜


f:id:cacapon:20190623235531j:image

 

これが途中のやつです〜

まだ何かは分からないですね〜

 

ある程度出来たらパタンと

半分にたたんだりして

立体的に作っていきます〜


f:id:cacapon:20190623235539j:image

 

これが、8割形完成したやつです〜

もう分かるかな?

 

飾りつけ用のビーズも付けたりして…

最後に余ったてぐすを切れば…

f:id:cacapon:20190623235536j:image

完成♪プチバッグになります〜

 

資料って言ってたのが右のプリントですね〜

材料から完成までの手順書が書いてあります〜

 

…え?載せて大丈夫なのかって?

 

実はこの作者、cacaponのお母さんなのです〜

今回のビーズアート体験会の講師が母で、その時使った資料と材料を使わせてもらいました〜

 

本人からは好きな形で写真載せていいよと許可頂いたので今回のブログに限り載せています〜

…あ、無断転載はダメですよ!

 

でも、初心者が一から完成まで作る事が出来る資料を作れるって身内ながらほんと凄いなぁと思います〜

cacaponも、初心者が見ても分かりやすいツールの使い方とか、作った物の説明とか出来るようになりたいですね♪

 

 

 

さて、実際作ってみての感想ですが、

前半はムラがあったのですが、

後半はすごい集中出来たな〜と思います♪

 

普段の仕事でも、これくらい集中出来たら

成果も上がりそうですね〜

安らぎの大地を延々と掛けてたのが

良かったのかな?

今度仕事でも試してみようかと思います〜

 

因みに、後で完成品を見せたら

「形にはなってるけど、所々パーツが足りない部分があったりしてちょっと違う」と言われちゃいました…

 

一エンジニアとして仕様書通りに作れないってまずいなぁ…と若干ショックなcacaponなのでした。

 

ヘビーローテーション中のcacaponです♪ やっぱBGMっていいですね~

私、結構ゲームのBGMが好きで、
自転車こいでたら、初代や金銀のポケモンの自転車のBGMを口ずさんでたり

散歩してる時も、RPGの戦闘曲とか口ずさんでたりすることがあるんですよね~

そんな中、最近お気に入りなのが
Sa・Ga2秘宝伝説の「安らぎの大地」ですね

 

主人公の最初の村で流れる曲なのですが、
のどかさと温かさとやさしさがあふれているBGMで
すごい好きなんです~

という訳で、さっきからずっとcacapon's phoneでループ中です~
気持ちが和みます~

ところで皆さんは、何かをするとき、音楽は聴くでしょうか?
cacaponはどちらかというと聴く派です~

なんか、音楽聞いた方が調子が上がりやすいんですよ~

でも、何でも好きな曲を聴いているわけではなく、
リラックスする時は村の音楽、
やる気出すときは戦闘曲、みたいに
使い分けはしてます~


心の調子がうまく調整できない時なんかは、
その時々に合ったBGMを聞いてみるのも良いかもしれません~

最近調子でないなぁという方は、日頃の生活に
BGMを取り入れてみてはいかがでしょうか?

後悔した時って何でこんな気持ちになるのでしょう?

休みの日だとありがちなのかもしれませんが、

何かをとりあえずやってて

終わった時に

「あ〜 何でこんな事してるんだろ?」って

後悔する事ってありませんかね?

 

今日のcacaponは

まさしくそんな感じだったのですが、

これって何で起きるのでしょうか?

 

私なりに考えてみたのですが、

無意識下で求めてる事と

実際の行動にズレた時に起こるのかな?

と考えました〜

 

多分ですが、心の奥ではこれをやりたい!

あれをやりたいというのがあるのですが、

惰性で行動したり、

我慢して行動したりすると

そこにズレが出てしまいます。

 

そういう場合に終わった後の

アウトプットとして、

心が「これじゃない」って信号を

気持ちとして出してくるのかな〜

と思いました〜

 

では、どうやったらやりたい事が分かるのかな?

まずは、ヒントとして出してくれる自分の気持ちに敏感になるのが良いかな?と思いました。

 

私はやってませんが、座禅や瞑想なんかも無意識にアクセス出来て分かるかも知れません。

 

もしかしたら夢に出てくるかも…それだと寝るって言うのもありかもしれません。

 

これで自分の気持ちが知れると良いのですが…