サイト内検索

2017/04/21(金)APIStudy#7 API設計のベストプラクティスを考える勉強会 #apistudy

APIStudy03.jpg

勉強の内容的に難度が高かったわりに、なんだかんだで理解できたのがすごい、と感心しました!

APIグループの野村屋ごろう(@official_nomura)です。
最近WebAPIの道に邁進してます、私ですが実はAPIって?という話からちゃんと理解していないど素人感を本日、ぶちまけて一から学ばせていただく感じのノリで参加していました。
明日、APItoreのもくもく会があるので、こちらに持っていこうと思います。

本日の勉強会

APIStudy#7 API設計のベストプラクティスを考える勉強会

本日の議題

対象者

今日話を聞いてみて公式の通り以外に思いつかなかったんで、そのままいただきます
・APIを開発/提供しているエンジニア
・APIを開発/利用しているエンジニア
・プリセールスSE
・技術に興味のある営業

会場の雰囲気がヤバい

  • 今日の学びを吸い上げて可視化する仕組み
    • ホワイトボードを使った学び・カンバンシステム
窓絵の通りなんですが、あんなんなってます。

ごあいさつ

API小ネタ:LODとは?

Linked Open Data
LODチャレンジJapanやってますよ!

LT:eMark+API ヴァリューズさん(厚地さま)

→DataSpiderの人があいさつ

ITxマーケティング

  • モニタのWEB行動ログを用いた分析
  • Tableau提供
  • Webサービス提供
→コンサルが入って色々やる感じ

APIの話をしていきます。

eMark+について

[(access failed) https://www.valuesccg.com/service/]
デモ

これいいな!
リサーチャーとしては欲しいサービス。
内部的な話
フロント←→サーバの内部処理としてAPIを使用。
開発を分離したかったのでこうやった。RESTではない。
技術要件
  • Zendeskは運用サポートでいいですよ
  • 開発速度を意識したためFWに頼らない設計に
  • 面倒を見なければならない場所を少なくしたかった
APIが増えて面倒に……
APIメタ情報管理はどうするべきか?
→APIに適したFWを考えるべきか。

ビッグデータへのアプローチ(検索・抽出)
オンラインとオンバッチ(処理を渡して定期的に監視する)
データ抽出APIについてクエスチョン
  • 抽出リクエストAPIと結果取得APIを分けるか?
  • サービス提供を考えるとRESTであるべき?
  • 開発の配置はフロント/サーバーではなく機能ベースであるべき?

APIの一斉テストをしてみた

YouTubeDataAPIの注目度が高い!

最近カエルイラスト多いな……

APIのテスト

  • 通信(200を返すか)
  • ELBのスティッキーセッション機能

Jasmine/Frisby(.js)を使う

  • JSベースでテストを書ける
  • レスポンスタイムやHTTPステータスコードなど色々できる
  • 性能改善(API側レスポンスの監視)
導入
node入れておく
インストールルートに行く
npm install frisby
npm -g jasmine-node
使ってみた感じ
APIStudy01.jpg
APIStudy02.jpg


すげぇ!めっちゃ簡単じゃないですか!

気になったこと

.最近こういう書き方流行ってんのかな……
xmlでテストログが出るので見やすいね!

テストフレームワークを考えてみる

やっぱりSeleniumが出てくるよなぁ。
API設計のベストプラクティスを考える、という観点では色々と悩ましいところではあったかなと。

筆者注

APIの学習会としてはいきなりハイレベルな話から入ってきてます。
API自体には最近関心が上がってきたものと言っても、かなりえげつない内容にまで落とし込められていて、第七回?まで重ねてきた重みを感じました。
かなり設計について苦心されているところが感じられるのが非常に共感。ベストプラクティスってなんでしょうかねぇ。
使っている側としては、APIってそういうもんだと思って使ってきているので、こういう話が見えるのは面白いです。
APIに求めること
そもそもユーザーがAPIに対してどういう事を求めているのか、分かりにくいというところがあります。
恐らく私が今抱えている疑問というのは、非エンジニアの方は絶対ぶつかるだろうし、エンジニアでもぶつかって勉強して解決していく事になるだろうというのは想像に難くないです。
こういう「なんかわかった気になる」概念や存在は早いうちに明るみに出して定義してしまいたいですね。
私も今はこの辺りが不明瞭で解説出来ないです。
そもそもノンプログラミングでAPIを使う方法について言及しているので、こんな裏側の話を気にしないとダメな作りのAPIはイケてない、としか言えないんですね……。

ベストプラクティスのディスカッション

APIStudy04.jpg

Swaggerを使う?

別でPrizm(プロキシサーバー)を入れるとブラウザーAPI連携を吐き出してくれる
StopLight.io(WebMethod)

楽に使えるAPI

古い時代はSOAP+XML(基幹システムが対応していないため)というような設計をしていた事があった。
Nodeレッド
Meshとか使えればNbedとかでもうちょいアプローチしやすいはず

Swaggerhub+IFTTTとかで使うようにするのは?
→これ提案してみよう!

SDK自動生成

ヒューマンリーダブル or マシンリーダブル
curl -v あたりで送ってもらえれば開発しやすくなるよ!

これ見れれば早いですよね?

APIStudy03.jpg

2017/04/20(木)#connpass 忘年会LT大会in #ヒカラボ

connpass.PNG


お疲れ様です、野村です。
こちら、#connpass 忘年会LT大会in #ヒカラボの続きの記事になります。
そっちとは別のコンテンツですが、一応続き物です、という事でひとつ。

ヤバいネタが飛び出してるので、かなり厳重にフィルタさせてもらってます。
お察しください。

ヒカラボLT大会@渋谷レバレジーズ(レバテック)

いつもの
今日はconnpassからの参戦でした。イベント豊富

対象者

  • 勉強会好き
  • ヒカラボ好き
  • 雑学好き
好きな人、あつまれ~!

本日の議題

こうはん

取れたところからサクッと。
相変わらず無編集でお届けします。

ニフティクラウドmBaaSでランキング

にゃーん、お疲れ様です。

mBaaSの概要

  • mongoDBのKVS
  • RESTAPI
  • JavaScriptのSDKとかも

類似サービス

  • Google Firebase
  • Amazon DynamoDB

ドキュメントがクソい

やっぱり大事な話だよね、ドキュメント

昔にWindowsを作ろうとした話

NetBSDユーザーの方でした。
Windowsと親和性高いのでは?
→やってみた。

まずWindowsの話。
DLLお化けがWindows。気持ち悪い組み合わせをアレコレしてる(実態)
libc.soとかkernel32.dllとか。この辺は攻撃されやすいところだよね。
syscallとか
ここで閃いた
EXEはDLLを呼ぶだけなので、DLL作ればいけんじゃね?
→やってみた
  • EXEでELFを動かす
  • Id.soを読むようにカーネルを改造
    • この時点で変態
  • コンパイルを通すようごにょごにょ、ちゃんと見ないとわかんないわコレ
  • DLLを作ろう!
  • Hello Worldやるまで氏ぬ。これは氏ぬ。
  • WindowsAPIを作るところまで。死ぬこれは死ぬ。
雑感
この人変態だ

某CTFにて古めかしい問題(Retrospective)を出題した話

いつもの
ご協力
  • YAMAHAのいいアンプの引き取りどーぞ
雑感
メモリレジスタ書き換えるとかそういう話ではない
SHA1だとか、そんな変態コード見て分かるかwww
言ってる事は何となく理解できるが把握してないよ~

これ何の話だっけ?
#ssmjp

プログラミング五七五を思い出す

初音ミクで学ぶセキュリティの話

まさかの嫁紹介。クソワロ

初心者マークもミクミクしい。
リンリンしてる。
原発とセキュリティ → セキュリティ要件なし
炉心融解かな?
  • Tcl/Tk
    スクリプト言語/GUIのツールキットらしい。
  • オレオレDB
    階層型DB。SQLなんてない→Fortrun。いつの時代だよ……
医療系のシステム → セキュリティ要件なし
こういうシステムでもハックされる事は考慮しておくべき。
(時間足りず)
雑感
セキュリティの人。スライドはまとも。発表もまとも。
この人、結構すごい。ふざけてるけどすごい。

こんなに簡単、クラッキング!

発表は奥山歩さん!いつもお世話になってます。
(ヤバい)
(ヤバい)
(ヤバい)
(アカン)

(アカン)
これだけは絶対に!
  • Yahoo!知恵袋とか
  • デフォルトパスワードとか
  • 脆弱性放置とか
(アカン)
(ヤバい)
(ヤバい)
悪用厳禁です
本スライドや発表は公開しない、やらないように。
雑感
悪用厳禁!
ここでの情報は私の検閲を入れてますので、大体非公開としました。

感謝状をもらった!

(写真は意図的にぼかしました。具体的には撮影直前ぐらいに指でぐりぐり)
(社名他は非公開とします)

インシデント報告で感謝状もらいました。
事例
  • Webサイト改竄
    • ExploitKitへの誘導
    • ランサムウェア
  • 標準型攻撃
    • 水飲み場
    • SPFの話
どうやって見つけたの?
  • セキュリティアプライアンスのアラート
  • ログ目視
  • 自発
表彰された!
  • 本社社長に会えた!
  • 感謝状もらった人だよね?
とかもろもろ
世界平和のためにインシデント報告を!
これなかなか出来ないな、素直にすごい。
雑感
今日はセキュリティ屋さん多いな

OSINTのCTFに参加・主催

ラスベガスのカンファレンス
CTFの話
MAMORIOアプリで反応チェック
なんだろう、すごくアナログ
雑感
今日覚えた:CTF
早すぎて手が回らん。諦めた。
後でスライド紹介します。

面白いわコレ

ノリとその場の勢いでPoCを作った話

脆弱性の検証コード:PoC
Joomia(CMS)
これに脆弱性があった!
ssmjpのslack内でも相当ヤバい!
GIGAZINEでも取り上げられた!
ルータに入って強制アップデートしてセキュリティを強化して去っていく、というイケてるPoC(動画)
てってってータイム
LTで動画打ち出したのはこれがはじめて?で最後?
流れ変わったな
攻撃(最新版アップデート)で草生える
雑感
セキュリティハックしてセキュリティアップデートをしてあげるPoCマジPoC

個人向け

ヤバいの書いたやつ
ヒカリエ忘年会のヤバいネタ

前半戦へ戻ります

#connpass 忘年会LT大会in #ヒカラボ

2017/04/20(木)勉強会ネタ:人工知能時代の音楽制作への招待~Google Magenta 解説&体験ハンズオン

音楽AI.PNG

いつまでたっても音楽関連の才能を開花させられない野村ごろう(@official_nomura)です。
音楽関連の話は色々と縁があったんですが、ほとんどが失敗しているというか次につながらんのですよね。
とりあえず聞いているうちは分かった気になるんですけど、その後に続かないのでは習得できたうちに入らないので。

とはいえ、そこで諦めたら試合終了ですよ。
今回も諦めずに音楽やろう!

と思ったんですが、ハンズオンには参加できなかったのでエア参加する事にします。

ごあんない

この記事の勉強会

人工知能時代の音楽制作への招待 - Google Magenta 解説&体験ハンズオン -

対象者

  • なんでもAI教
  • 人工知能の可能性を模索している人
  • 人工知能+音楽でテンションが上がる人
  • 変わった事をやってみたい人

公式:対象者

  • 音楽への機械学習の適用に興味がある方
  • 音楽制作に携わっており、近年よく話題にされるAIが音楽制作にどのように活用できるかに興味がある方
  • 事前準備(後述)を勉強会当日までに実施し、事前準備したノートPCを当日持参できる方
引用です。

今回の記事は「どうしても行きたかったけど行けなかった」イベントです。

実際のレビューはハッシュタグ「#techcircleja」を私と一緒に追いかけていきましょう。
と言っても、エアハンズオンをやるだけです。

環境構築

今回は各自PCをお持ち込みいただき、そのPC上でハンズオンをしていただくことを想定しております。当日のハンズオンをスムーズに進めるため、事前に以下の準備をお願いします。

MagentaとSessionするためのStepByStep
もし不明点があれば連絡先、もしくは、当日お早めにご来場いただき、お問い合わせください。当日はスタッフメンバーもおりますのでお気軽に質問しながら進めていただければと思います。
ということで、事前準備からじっくり進めていきましょう。
この辺はハンズオンの前なのできっと出来るはず。

githubからcloneします。

(この記事はまだ書いてるです)

ハンズオン系はこの辺、大変です……
OK キャンセル 確認 その他