Macで スタンドアローンでswfファイルを再生する

結論から言うと、普通にadobeのサイトから落としても、スタンドアローン版はインストールされない。

get.adobe.com

 

下記のデバッグダウンロードから、

Download the Flash Player projector

を選択して別途インストールすればいけました。

www.adobe.com

 

小一時間悩んだので。。。

BacklogとJenkinsおじさんをくっつけたくて・・・

BacklogのGitにpushした時に、自動的にテストサイトに反映させたくて、

webhookを使ってみました。

 

そのために、

1. Jenkins1.5系だったので、2系最新にアップデート

2. Generic WebHook Triggerプラグインを追加

3. BacklogのGitにpushしてテスト

 

してみました。

 

まず、1でアップデートがうまくいかず四苦八苦。

結果Jenkins2だと、AJPサポートが廃止されたようで、

/etc/sysconfig/jenkinsを変更したり、

不要な起動オプションを削除したり、

cacheファイルを削除したりといろいろ試行錯誤してようやくJenkins2にアップデート

 

最初、下記のプラグインでjenkinsを叩こうと思ったが、tokenは設定下にも関わらずうまく動かず認証エラーがでて断念。

Authentication required
<!--
You are authenticated as: anonymous
Groups that you are in:Permission you need to have (but didn't): hudson.model.Hudson.Read
... which is implied by: hudson.security.Permission.GenericRead
... which is implied by: hudson.model.Hudson.Administer
--></body></html>

https://wiki.jenkins.io/display/JENKINS/Build+Token+Root+Plugin

 

そこで Generic WebHook Trigger を使ってみたところ、あっさり通った。

 

f:id:go_nash:20190425150955p:plain

ジョブの設定画面

ビルドトリガの設定で、Generic Webhook TriggerにチェックをいれTokenを指定するだけです。

 

私の場合、すでにsshを設定してあったので、

テストサーバにJenkinsからsshログインしてpull checkoutする形をとりました。

 

次に、Backlogのgitに変更をPUSHするだけ.

あとはJenkinsサーバにIP制限をかけていたので、許可をするだけです。

backlog.com

 

以上!

アプリ作成編 〜Google G SUITE appmakerを使ってみた 〜

社内のインベントリ情報の検索ツールを作ってみた。

CRUDツールである。

 

おおまかな手順は下記の通り

  • GCP上で、データソースとなるSQLインスタンスを作成
  • G Suiteの管理画面で、Google Cloud SQL インスタンスの設定を行う
  • インスタンスにappmaker からアクセスできるようにGCPのAIMでCloud SQL 管理者として、appmaker-maestro@appspot.gserviceaccount.com を追加
  • appmakerでアプリを作成し、データ→モデルを作成→Google Cloud SQL を選択
  • 初期データがあれば左上にあるIMPORT DATA FROM SHEET からデータを投入(モデル作るときにインポートできるようにしてくれればいいのに!)
  • ページ・UIを作成
  • デプロイ

 

あとは、触りながら、下記のアクションの方法を参照にしながら作れば

なんとか形になるはずです。

Google App Maker ー デフォルトアクションの一覧 - Qiita

 

 

ちょっとしたTIPSなど

 

1. SQLインスタンスGCPに作成する時は、us-central1 で作成すべし

良かれと思って、日本のリージョンに作ったけど、us-central1に作れと怒られましたw

 

2. プレビューとデプロイは別データ

初期データなどをインポートするときにわかることですが、previewとデプロイには別々にデータを投入する必要があります。

 

3. 共通する処理はSCRIPTSに書け

例えばデータを検索するロジックなどは、client script(javascript)を書き

検索ボタンのonClickイベント時にCustom Action で指定して発火させます。

function useQueryBuilder() {
var text = app.pages.index.descendants.FilterText.value;
if (text === null) {
app.datasources.account.query.where ='';
} else {
app.datasources.account.query.where = '(target contains :Value) or (login contains :Value) or (note contains :Value)';
app.datasources.account.query.parameters.Value = text;
}
app.datasources.account.load();
}

 

4. ちゃんと権限設定しよう 

appmaker  のアプリに対する権限設定がわかりづらいので理解の足しになれば。

go-nash.hatenablog.com

 

 

権限設定編 〜Google G SUITE appmakerを使ってみた 〜

共有ディスクをNASから、Google Drive に移行したのに合わせて

社内用ツールをapp maker を使って作ってみたお話です。

 

以前は、アプリケーションフレームワークのscaffoldを使って、簡単なCRUDアプリを作ってましたが、

サーバーとして使ってたPC壊れるし、VM取り出したり、再セットアップするの疲れるし、ということで、せっかく使えるようになったGoogle appmaker を使ってみることにしました。

 

使ってみた感想としては、

英語なのと、UIというか権限の仕組みがちょっとわかりづらい。

というか、自動で保存されたり、SAVEボタンを押さないと保存されなかったり、

UIが統一されておらずそれも混乱の元になっていたりします。

 

使うにあたって行なった設定は下記

 

https://appmaker.google.com

で新規にアプリを作成後アプリのアクセス権限を設定します

 

1. ロール作成

右上にある歯車アイコンをクリック

APP SETTING→Security → User's accountを選択→Roles →組織用のロールを追加

※この時点で組織用のロール名は好きにつけて追加すればいいだけ。

f:id:go_nash:20190306120739p:plain

appmaker role

2. ごにょごにょアプリを作成

この辺りは後でアプリ作成編で解説

 

3. デプロイを行う。

右上にある歯車アイコンをクリック

DEPLOYMENTS→PUBLISH NEW DEPLOYMENTS→Users with role access: XXXX

XXXXに1で作成したロールが表示されているはず。

 

そこに、Google のユーザや、グループを追加すると、そのデプロイへのアクセス権限が得られるというわけ。

f:id:go_nash:20190306121131p:plain

deploy members

 

ここで1点注意点がありました。

会社だとグループで管理するのが便利ですが、どうやらグループを入れ子で持つグループは対応していないようです。

例えば、everyone@example.com グループがあったとして、

everyone の中に、system@, directors@, designers@ といった子グループが入っている場合、everyoneを指定しまうと、アクセス権限を持てませんでした。

 

ただ、直接ユーザを含んだグループだと権限がちゃんと振られたので一安心。

 

appmakerはデプロイ毎に権限を管理する仕組みのようです。

 

 

 

macbook pro をmojave にアップグレードしたらバッテリーの減りが早いし、ファンが回り続ける

対処したこと。

 

- SMCリセット

support.apple.com

 

でも多分これが原因ではなさそうだった。

 

- configd と internet sharing

アクティビティモニターをみると、

configdというプロセスが80%以上CPUを食っていた。

その下にinternet sharing のプロセスがありそれも、20-30%と

なんで?というぐらいCPUを消費していた。

そこで、インターネット共有をオフにしてみた。

インターネット共有をオフ

mojave-internet-sharing

 

 

- 結果

ファンが静かになりました!

おそらくバッテリーの減りスピードも改善されていることでしょう・・・

 

- 参考ページ

discussions.apple.com

 

「共有しました」「共有してください」というけれども。

ウェブ業界で働いていていつも思うのが、共有して欲しい、共有しましたよ。という表現がほんとよく使われているなぁということ。

 

結論からいうと、共有という言葉は私にとっては、あくまでもFYI (For Your Information) であって、仕事のやり取りで使うべきでないワードなんじゃなかろうかと考えています。

 

なぜかというと、「共有という言葉にはアクションが含まれないから」です。

 

もちろん勘のいい人なら、情報を共有するだけで、勝手にアクションに移してくれる優秀な方もいるでしょう。

でも、仕事であれば、共有するといったからにはそこには何かしらの意図というものがあるはずです。

 

それこそ、

 

「次の仕事に活かしてね」

なのか、

「モックを作っといてね」

なのか、

「見積もり用意しといてね」

なのか

 

どうやら私のような人間はレッドリストに載らないまでも、

保全対象ぐらいにはなって欲しいと願う次第です。

ちょっとでも共感してくれる人がいればいいなぁ

 

仕事の基本エッセンシャルノート 良い判断ができる人

仕事の基本エッセンシャルノート 良い判断ができる人

 

 

 

Google reCAPTCHA ver3 を試す

 

Fire HD 10 タブレット (10インチHDディスプレイ) 32GB

Fire HD 10 タブレット (10インチHDディスプレイ) 32GB

 

 

Google reCAPTCHA ver3とは何か?

reCAPTCHA v3 returns a score for each request without user friction. The score is based on interactions with your site and enables you to take an appropriate action for your site

公式サイトには、ユーザに画像をポチポチ選択したり、文字を正しく読むことを強いたりせずに、リクエストに対する「スコア」を返す仕組みで、

スコアは、サイト上のページとのインターアクションに基づいており、そのスコアを用いて自分のサイトで適切なアクションが取れることを可能にしてくれる。

 

とある。

 

要するに、何かユーザに操作を強制せずに、機械的にボットか人かをGoogleが判断してくれて、その判断スコアを返してくれるものである。

いままでは、人間でもうまく画像認識や文字認識ができないと次のステップに進めない、という状況が起こりがちだった。

ver3のスコアを利用することで、ユーザへ何か作業をお願いすることなしに、ボットか、そうでないかのスコアを返してくれて、サイトの特性に合わせて、スコアが0.7以上は人間と判断、とかサイトの所有者が自由に設計が可能になる。

また、機械学習の結果スコアは変動し、例えばテスト環境と、本番環境でのスコアが異なることもある。

 

では本題。

実装に必要なものは、ブラウザ側でのJS実装と、サーバサイドでのスコア確認である。

フォーム送信でreCAPTCHAver3を利用した場合のサンプルを載せておく。

 

reCAPTCHAver3 test