かあちゃんエンジニアの気まぐれ開発メモ

フリーランス15年から足を洗ったかあちゃんエンジニアの技術メモ

Zapierを使ってバルスを発火させるw

Zapierって何?

クラウドサービスって色々あって、APIも進化すごいいきおいで進化してて。
たくさんアプリが安く使えるけど、やっぱり使い慣れたものから、なかなかお引越しできないじゃないですか、ひとって。
Googleドライブさんも便利だし、チャットワークみんな使っているから、Slackって何よ?という人たちと、どうチーム体制組むの?とかね。

で、そうなると。美味しいとこ取りするツールってあったらいいよね。と思ってたんです。
エアコンのリモコンなくなっちゃうと、買ってくる汎用リモコンみたいなイメージです。

主婦的には、西友は肉が安いけど、野菜はしょぼいから買わないし。
でも成城石井は特別なときの、お客様にしか出すもの買わないし。
日用品ならドラッグストアなんだけど、これ全部買い物回っていたら、昔の商店街と一緒じゃん!
どっかで、まとめて注文できないの?ってことなんです。(主婦だから)

Zapierって、その汎用リモコンみたいなやつで。
クラウドをおまとめで、ノーコーディングで使える、超絶便利なものなんですよ。

Zapier(ザピエル)とは?非エンジニアでもルーチン作業を自動化できるツールの使い方を解説|ferret

ぽちっとしたら全部消せるとか

最近、身内が深刻な事故にあってしまったのですが。ふと、最近流行りの、終活ってIT的にも必要よね、と感じました。

たとえば、縁遠くなってしまったけど、もしものときは、あの人に絶対お礼いいたいよなぁ、とか。いきなりThe ENDになったときに、もぉ、そりゃ後悔するだろうと思って。

それとか、なくなると個人の銀行口座って凍結になって、手続きとか大変なんです。
そうなる前に、家族の口座に全額振り込んでおきたいとか。
墓まで持っていきたい過去の画像データとか、家族には内緒にしておきたい恥ずかしいデータとか。
ボタンぽちっとしたら、そういうのガーッと一気にやってくれるやつ。あったらいいなって思ってて、、、、

バルス

が、Zapierさんは実現できそうだとわかっちゃったんです。

ポチッとは、事後は自分でできないので。そこだけは、信頼できる誰かに頼んで。LINE発火でもいいし、チャットワークでもいいし。
バルスを唱えてもらうと………

あー、これちょっとずつ準備しとこ。
まぁ、もちろん、Testはしちゃだめですwww

【歓迎】PTAのママたち、IT親和度の格差

学校系のITガラパゴス文化

子どもが小学校に通うようになり、IT親和度って学校の方針や家庭によって、大きなバラツキがあるとわかってきた。
私立の学校だと、メールや掲示板での告知があるらしい。
うちの子らが通う小学校は、わら半紙(昭和www)にプリントされた連絡がさみだれに届く仕組み。というのは、学校だより(全校単位のやつ、副校長が発行)、学年だより(学年主任の先生が発行するやつ)、クラスだより(担任の先生が発行)と、レイヤーに分かれて連絡がくる。年間行事や月間スケジュールもしかり。ばらばら、プリントがきて、母ちゃんもう管理しきれない。もぉー、早くIT化すすまんかいな、と思っている。未だに、わら半紙に刷られた写真は、解像度が低すぎて何が写ってるのか、目を細めながら見るような始末。

PTAの保護者も差がある

いろんな家庭が集まる公立の小学校なので、ITリテラシーに差があるのはしょうがない。ガラケーの人もいるし、LINEってなんですか?のお家もある。ただ、PTA委員の運営には連携が必要なので、お電話でしかコミュニケーションが取れないご家庭とはかなり労力を費やすのよよねぇ。もちろん、批判じゃない。
あなたはあなたでよい、わたしもわたしでよい。

でも、今日学校の共有ノートパソコンについて、連絡のメールが来てて。
「マイケロソフト系のソフトウェアと、パワポも使えます。プリンタードライバーもインストール済みで、プリントもできます。」
だそうで!!!

マイケロ

ただのミスタイプですよね、ええ、わかっています。
でもさ、クソワロタ!!!!

だからITはもっと人に寄り添わないと

エンドユーザ様さまがたは、そういう感覚なんで。エンジニアは、その感覚から乖離してはいけないんだと思った。
社内のエンジニアだけコミュニケーションとっていたら、いいものはできないって。ほんと。

マイクラJava版のランチャーをCentOSに入れたった

ランチャーのインストール

ランチャーのインストールはこちらが大変参考になった、感謝!!

minecraft.server-memo.net

子どもらにCentOSマシンをプレゼントしたはいいが、minecraft初心者にはいくつもの壁があるんやなぁ。。
ソースのダウンロード、コンパイル、make installとか。これ、まともに使えるようにするのに、どんだけ手間なんじゃ。

日本語化

ランチャーのメニューから、option > language で日本語を選べばOK。
ちなみに「Unicodeフォントを強制する」をオンにすると、がたがたしていたフォントがとても見やすくなる。

f:id:tarcoizy:20190829115309p:plain
言語設定の画面

までは、よかった。
設定をいじっていて、何をさわったか忘れたけど、ランチャーを起動するとクラッシュして動作しなくなった。。。

ランチャークラッシュの原因

イクラって設定ファイルとか、ここにあるらしい。
/home/[ユーザ名]/.minecraft

ログを見てみた、こんなエラー出てた。

[Info: 2019-08-29 00:21:50.299667530: GameCallbacks.cpp(138)] Launcher/launcher (main) Info 
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre/bin/java: symbol lookup error: /tmp/eeba-9563-1746-3ba6/libfliteWrapper.so: undefined symbol: register_cmu_us_kal16

これをヒントにネット探すと、ここにそれらしき原因が。え?バグ?
[MC-117125] Narrator still crashes on linux, flite installed - Jira

まぁ、そういえばナレーターの設定いじった、うんうん。

/home/[ユーザ名]/.minecraft/option.txt
を、開いてみる。設定らしきデータがゴソッと見えて、わかりやすい。

narrator:1

の1を0に変えて更新。

無事起動となりました!よかったほ!

f:id:tarcoizy:20190829115339p:plain
ようこそminecraftワールドへ!

私が使ったIDEいろいろと感想など

ってまぁ、自分で使ったことがあるやつだけの、所感ってことで。

NetBeans

懐かしめのやつ。
PHPを書くときはこれ使ってた。CakePHPの保守案件や、Wordperssのプラグインカスタマイズしたり…。3年くらいはお世話になったかな?

f:id:tarcoizy:20190718115239p:plain

f:id:tarcoizy:20190718115648p:plain
画面

ヽ( ´¬`)ノ よかったとこ
UIがすっきりしていて、とっつきやすかった。もともと、JavaEclipseを長く使ってたので、メニューの多さが煩雑感たっぷりなのに比べて、シンプルで必要な機能はしっかりあるといったところ。

(・ε・) うーんなとこ
細かいのだけど、エディタがMacだと2本指で上下スクロールするのだけど、なぜか横スクロールが敏感に反応して、先頭が見切れる事象多発。これは困った!それと、まだ、Dockerの理解が浅いころで、ローカルデバッグのステップ実行がどうしてもできなくて苦しみ、結局ログ出力させるロジックごりごり書いて乗り切った、熱い思い出が(遠い目)。Dockerのコンテナ内で使うxdebugのポートと、Netbeans側の設定があっていなかったのかなぁ。設定難しくて、あきらめちゃった。
それと最初は軽快に動作していたのだが、いつのまにかリモートソースチェッカー???だかなんだか、スクリーニングみたいな機能が走って、起動が遅くなって使い物にならずphpstormに乗り換えた。

Eclipse

Javaでは王道なんじゃないかな?大規模プロジェクトの現場で使ってたから、ユーザ数は相当多いような気がする。

f:id:tarcoizy:20190718120733p:plain

f:id:tarcoizy:20190718120803p:plain

ヽ( ´¬`)ノ よかったとこ
フレームワークに特化したプラグインやエディターなどアドオンが多くていっぱい出てるし、いろんな言語に対応しているのねー。Java, PHP, Python, Rubyとか、ほんとこれ1つでいい感じ。機能が盛りだくさん。Javaデバッグもらくらくで、ステップ実行が難しい設定なしにすんなり行えた。ほんとエンジニアを甘やかしてくれる。ありがたすぎてスキルがつかないw 便利機能にラッピングされ、中の仕組みが理解できないw あと、UIをダークモードにすると、プロっぽくて好き(ミーハー)

(・ε・) うーんなとこ
メリットの裏返しなのだけど、機能が多すぎて戸惑うし、使わない余分なものがたくさん入っているので重たい。バージョンが変わって進化していくので、他のエンジニアと環境のすり合わせが難しい。私はいつも新しいのが使いたいのだw

Android Studio

Androidアプリに特化したIDEですかね。アプリ開発に携わったときに、ちょこっとだけ触った。
f:id:tarcoizy:20190718122243p:plain
f:id:tarcoizy:20190718122300p:plain

ヽ( ´¬`)ノ よかったとこ
スマホエミュレーターがついてるのだけど、こいつがお役立ち!本来の使い方じゃないけどw Webサイト作ったときにレスポンシブや、バージョンによって画面崩れが起こらないか確認するのに多用させていただきました。実機用意しきれないからね。コード書くよりまぁ、テスト用。

(・ε・) うーんなとこ
まぁエミュレータとか使うから仕方ないけど、重たいわけ。こいつのせいでMacBook Proを買うしかなくなった。

PHPStorm

f:id:tarcoizy:20190718123700p:plain
f:id:tarcoizy:20190718123717p:plain

PHP言語専用の統合開発環境です。そそ、お金で解決ね。有料で1年で10,000円くらいだったかな?Adobeのソフトに比べれば優しいんですけど。というより、IDEって作るのすごい大変でしょ?高機能だし。これがタダで使える方がおかしいんですよ。善意でこんなの開発できないでしょ。

ヽ( ´¬`)ノ よかったとこ
PHPのステップデバッグができたわーい!!!Dockerも統合されていますし、どのサイトみてもやっぱJetBrainさんのIDEいいよねーって書いてある通り。まだ使いこなせてないけどw 使い方ドキュメントも日本語のあるし。インターフェースがEclipseと似てるかな?Eclipseユーザなら違和感なく入れる感じ。

(・ε・) うーんなとこ
有料なとこくらいかな、まぁ必要経費ってことで。

Pycharm

これもJetBrans社の秀逸IDEシリーズ。Python言語用です。

f:id:tarcoizy:20190718134917p:plain
f:id:tarcoizy:20190718134943p:plain

ヽ( ´¬`)ノ よかったとこ
使い始めたばっかりでよくわかってないけど、Djangoというフレームワーク使っているけど、IDEに統合されていて環境づくりはがぜん楽になっているのだと思う。でフロント側はvue.jsを使うことにした案件だったけど、これもプラグインを入れてコーディングが楽になっている。webpackも初めて扱ったけど、ちゃんとできたいみたい。デバックもブレークポイントで止まって、ステップ単位に実行できた、スムーズ!

(・ε・) うーんなとこ
わかるほど使い込んでいないけど、やっぱり便利過ぎるってのもね。pythonもvueもゴリゴリテキストエディターで書いて、仕組みを理解するのもいいのかな?とは思います。時間が許してくれないけど。

以上、言語などバラバラですが。
私の場合、どのIDEも使いこなすまでにはそれなりに時間がかかるのですが、新しい機能を発掘したときなんか、うれすぃーってなります。仕事の大切な道具ではありますので、開発者の方に感謝、感謝\(^o^)/
しかし、ふと。こういうのプラグイン開発者の方とか、どうやってマネタイズしているんだろか…と思う。謎。

CentOS7:コマンドでwifiにつなぐ

CentOSインストールしたらまずやること

子ども用PCにCentOSを入れたんだけど、起動したら黒いコンソールじゃないの。ま、当たり前か。
このコンソールにドキワクしちゃう偏っている母ちゃんですが、GUIにしてあげないと子どもが使えないので仕方なしにGNOME Desktop入れるとする。
スマホテザリングでも良かったんだけど、勉強だしコマンドラインwifiつなぐ方法を覚えるとする。これできなくて1年間くらいubuntuと戦ったことあったんだよなぁ。。。いつできたんだろ、こんな素敵コマンド。

超かんたんコマンドでいける

1.wifi機器のリストを確認しまぁ〜っす

$ nmcli dev wifi list

ダラダラ~っとwifi機器が出力されますね。こんな画面で。

f:id:tarcoizy:20190716121041p:plain
wifi機器の一覧


2.

$ nmcli d wifi connect [SSID] password [password]

[SSID]はつなぎたいwifi機器で、1.で出力されたSSIDを入力。パスワードはwifiにつなぐときのパスワードですね。
はいこれで接続OK!

余談

nmcliコマンドをsudoして実行したら、こんなメッセージが!!!!!

「あたなはシステム管理者から通常の講習をうけたはずです。
これは通常、以下の3点に要約されます:

#1) 他人のプライバシーを尊重すること。
#2) タイプする前に考えること。
#3) 大いなる力には大いなる責任が伴うこと。」

[sudo] xxxのパスワード:_____

f:id:tarcoizy:20190716120808p:plain
ビビったメッセージ!

って出て。え?え? なにこれ、見たことないし、なんか怖っ!!パスワード抜かれる?
もしかした、やばいプログラムyum install しちゃった??と、タイプする指先から血の気が引いた。

で、落ち着いてからネット徘徊すると、どうやらlinuxにはよくある伝統的な警告文らしくて。ほっ=3
それによく読んでみると、linuxサーバを触る上ではこころに刻まねばならない、格言であった。

ありがたやありがたや。

Dockerでwordpress:5.2.2-php7.3を使ってみた

ローカル環境で動作確認のため、wordpressmysqlphpmyadminが動くdocker-compose.ymlを白髪10本くらい増やした末にできた。

dockerは理解するの、すごく時間かかっちゃったなー。
wordpress:5.2.2のイメージ使ってつまづきポイントなど。

(1)httpd起動しない

docker-compose upしてアクセス。はいレスポンスなし!

$ docker exec -it [コンテナ名] bash

で、コンテナに入って確認したらサービスはhttpdって名前じゃないし、apache2だし。起動してないし。
もー!自動起動にしといてよってことで。サービス立ち上げるコマンド打ったら動いた。

container$ service apache2 start

サービスのコマンドはOSによって、いろいろ違くて戸惑う。
このイメージはLinuxKitっていうコンテナ用にカスタマイズされたOSだそうで。サービス自動起動のコマンドなどからubuntuベースなのかな?という感触。

(2)自動起動にしたいけども!

これもコマンドの違いでつまづく。
PHP - docker run をした時点でapache2を起動状態にする方法はありますか?|teratail

この方も書かれていますが、

CMD ["/usr/sbin/apache2", "-D", "FOREGROUND"]

これだと、ubuntu系は動かないのね。

CMD ["apachectl", "-D", "FOREGROUND"]

こっちにして、しかも環境変数とか入れないとダメだった。
参考:あざーっす!!
qiita.com

せっかく動くようになったから、スケルトンにしてgitに上げよかな。

古いノートPCにLinux入れて子供用にした件

きっかけ


うちにはWinXPが入ってたようなふっるーいノートPCがうじゃうじゃいました。

長女が小学校の授業でパソコンを使うようなこともあるらしく、
そろそろ用意してあげたいなーと思いたち、
長女はCentOS7を入れ、次女にはpuppy Linuxを入れてw

材料

Lenovo idea-pad S10-2 1台 (WindowsXPが入ってたやつ) → CPUのアーキテクチャが32bitなんでもうPuppy Linuxくらいしか動かないのでw
Lenovo Think Pad X201 (Windows7が入ってたやつ)→ 私がサブマシンとして使ってたけど、熱暴走気味だった。CentOS7入れて長女用に。

インストール用USBは、私のメインマシンMac Book Pro でさくさく作成。


手順

私がやったのは、ダウンロードサイトからisoファイルを入手。
USBメモリに起動用で書き込んで、古いノートPCをUSBから起動してインストールするって方法。

つまづきポイントは、ブータブルUSBで書き込むってところだった。
こちらを参考にさせていただき、作業。
tacatakatca.hatenablog.com


【3.BootableUSBに仕上げる】のステップで、unmountDisk してもlistするとdisk出てくるし。。Finder上は、指したUSBメモリは表示されないんだけど。まぁ、でもこれは無視で大丈夫みたいだった。

それとちょっと混乱したのが、

 $ hdiutil convert -format UDRW -o 
/path/to/which/you/want/.img 
/path/to/the/iso/file/of/linux/live/or/minumul/file/.iso

で、パスがなにやらご丁寧に長いのですが。これやるとUSBメモリの中に、xxx.iso → xxx.img.dmgっていうファイルが作成されるのです。なので、これをブータブルUSBに書き込むってことなのだと思うんですが。コマンドについての理解が甘いのですが、ブータブルUSBに仕上げるのにxxx.img.dmgがメモリ内にあるのが、違和感があって。
というわけで、xxx.img.dmgは一旦ローカルにコピーしてきてから、ローカルのターミナルでそのディレクトリにいって

$ sudo dd if=centos.img.dmg of=/dev/disk2 bs=1m

したら、できちゃったというわけ。インストールできたし、結果オーライ。

工夫

過去に、Linux系OSを入るといつも抱えていた「Wifiつながらん問題」。これ、スマホのUSBテザリングで解決。便利な世の中になった。
スマホとノートPCをUSBで接続。スマホ側はUSBテザリングONに。Linux側は

$ ls /sys/class/net
$ dhcpcd [device name]

で、yum install もさくさく!!

めでたし

これで娘らには、自分用PCができたというわけ。めでたしめでたし。

centos-note
長女用CentOSノート


puppy-note
次女用puppy ノートPC