chatwork api危なくね?
技術ネタ。
※セキュリティの知識がほとんどないけど偉そうに書くよ!
chatworks api
http://developer.chatwork.com/ja/authenticate.html
いろいろいじってみた。簡単。
危なくね?①
HTTPリクエストヘッダに X-ChatWorkTokenと言うキーをセットして取得したtokenをvalueへ。
認証完了。
これブルートフォースアタックくらったらどうなんの?
記憶上だとtokenが結構短かった気がする。まぁ対策してんだろうけど。
危なくね②
roomidが連番(だった気がする)
適当な数字で大体該当。っかこれkeyじゃね?
http://developer.chatwork.com/ja/endpoint_rooms.html
危なくね③
重要
APIトークンは有効期限がなく、機能にフルアクセスが可能なものになっています。第三者へ開示しないよう取り扱いには十分ご注意ください。また、APIトークンはURLのクエリストリングではなく必ずHTTPリクエストヘッダで送信するようにしてください。
アカン
危なくね?④
ユーザー数が多い。
ここにも書いてあるけど10万社導入(すげぇ)。100〜500万ユーザーぐらいいそう。
http://blog-ja.chatwork.com/2016/06/cwblog_16.html?m=1
多ければその分のtoken、roomidとか発行されてるから大丈夫なんか?
ドキュメントの拡張子がhtml
mvc使ってない?ベタがき?
感想
slackで良くね?
1円も掛けずにたった4時間でWEBサービスを作ってみた
タイトルの通り「1円も掛けずにたった4時間でWEBサービスを作ってみた」です。
作ったWEBサービスはこれです。
picpicとは?
ちょっと探しずらいCDのジャケットを視覚的に検索してダウンロードできるサービスです。
Google画像検索などジャケットを探せるサービスはあるのですが、画像を選ぶ手間があります。その選ぶ手間を削減するためにもパッと見で選べる良さが「picpic」にはあります。
なぜ作ったか
- 自分のポートフォリオが少ない。。
- デザインがいかしてるサイトを作りたい。
- お金ないけどなにか作って公開したい。
などなどいろいろありますが、自分の作品を世の中に出したいと言う自己満的な要素が一番強いのかもしれません。
本当に4時間で出来たの?
本当に出来ました。開発からサーバー作ってアナリティクスの設定まで4時間で出来ました。「WEBサービスを作ってみた」系の記事は多いですが、それらのサービスに比べ「picpic」は限りなく手抜きをして作っているのでここまでのスピードで出すことが出来ました。※頭の中で考えている時間は省きます。
僕の技量
27歳 男
社会人5年目のエンジニア
いろいろやってますが、サーバサイドエンジニアが本職です。
利用した技術やリソース
Bootstrap
JQuery
xdomain
LOGO MAKER
制作のタイムスケジュール
9/9 23:30 bootstrap選定
9/9 23:50~25:00 開発
9/10 11:00~12:00 開発(微修正)、
9/10 12:15~12:30 ロゴデザイン、ロゴ制作
9/10 13:00~14:00 サーバ構築、デプロイ、アナリティクス、googleインデックス送信
良かったこと
名前、デザインなどのこだわりどころに時間をかけない
デザインはBootStrapを使い、ほんの少しいじったぐらい。こだわりどころの名前とデザインは嫁と一緒に考えて即決めた。
動いた時点でデプロイ
ローティングとかサイズを選んでダウンロードとかさせたかったけど、後回し。とりあえず、使える段階まで持って来ればOKという気持ちでやった。
1円もかかってない
xdomainはマジ優秀。htmlサーバーなら1Tまで無料でJSは動くから簡単なサービスは無料で作れる。しかも、登録したらすぐに使えるので非常に便利ですね。※xdomainのまわしものじゃないよ!
サイトが閉鎖する心配がほぼない
たぶん無料レンタルサーバーはやめないと思うんだ。いきなりやめますはxdomain的にも結構なリスクだし。「WEBサービス作ってみた」系はレンタルサーバの解約で閉鎖してることが多いからそこは安心かな?代替えは必ずあるから復活出来るし!
悪かったこと
詰まったところは後回し
デプロイしたらアクセス権かなんかでSNSロゴが404になったけど放置して違う対処した。原因はわからないけど解決できそうな気がするから調べたほうが良かったかも
誰でも4時間で出来るの?
僕はJquery、htmlの知識がある程度あったのですべてを4時間で出来ましたが、知識ない人だと1週間ぐらい見ておいたほうが良いかもしれません。ただ、僕もスキル的には普通だと思っているので、臆することなく「作りたい!」って気持ちがあったら作ってほしいと思います。
WEBサービスを作りたいと思ってる人へ
「WEBサービスを作ってみた」系の記事を見ると超人的な感じがしてモチベーションが下がる人が多いと思いますが、htmlだけでもWEBサービスは作れます(しかも無料で。僕もサーバーサイドを含めたサービスを作りたいという気持ちはめちゃくちゃありますが、やることが多すぎでいつの間にかモチベーションが下がることが多いです。まずは簡単に出来るものを作ってみてサイトの運用をやってみることが大事だと思います(アナリティクスやサイトの宣伝など)。結局は外部からの刺激で自分のモチベーションは上がるので、そこからサイトの改善など、出来ることを増やしていくのが一番サービスを立ち上げやすい流れだと思います。あれ出来ない、これできないでなにもしないのは良くないので、出来ることから世の中に発信していきましょう(サービス立ち上げても宣伝しない限り人はまったく来ないから恥ずかしがらずに!)
会社サボってITunesAPiをいじった話
技術ネタ。
会社サボって(38℃あって体怠い)久しぶりにプログラムしたよ!
5年前に作った「ITunEsTool」ってのがあってGoogle Image Search APIがサービス終了になったんでずっと放置してた。
tekitoumemo.hatenablog.com
画像取得系のAPIはほとんど規制かかって実装してもすぐボツりそうだなぁと思って一生放置しようと思ったらITunesAPiというものがあったので実装してみた。
https://itunes.apple.com/search?lang=ja_jp&entry=music&media=music&country=JP&term={検索キーワード}&limit=100
コード
// serchWordは検索キーワード // NugetにてRestSharpってのを使ってる var client = new RestClient(string.Format("https://itunes.apple.com/search?lang=ja_jp&entry=music&media=music&country=JP&term={0}", serchWord)); var request = new RestRequest(Method.GET); request.AddHeader("cache-control", "no-cache"); IRestResponse response = client.Execute(request);
レスポンスに「artworkUrl」ってのがあるんだけど100×100の画像で小さすぎるので以下で対処。
リクエスト
https://itunes.apple.com/search?lang=ja_jp&entry=music&media=music&country=JP&term=purpose&limit=1
レスポンス
{ "resultCount": 1, "results": [ { "artistId": 320569549, "artistName": "ジャスティン・ビーバー", "artistViewUrl": "https://itunes.apple.com/jp/artist/%E3%82%B8%E3%83%A3%E3%82%B9%E3%83%86%E3%82%A3%E3%83%B3-%E3%83%93%E3%83%BC%E3%83%90%E3%83%BC/id320569549?uo=4", "artworkUrl100": "http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/100x100bb.jpg", "artworkUrl30": "http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/30x30bb.jpg", "artworkUrl60": "http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/60x60bb.jpg", "collectionCensoredName": "Purpose", "collectionExplicitness": "notExplicit", "collectionId": 1049381490, "collectionName": "Purpose", "collectionPrice": 1200.0, "collectionViewUrl": "https://itunes.apple.com/jp/album/purpose/id1049381490?i=1049382087&uo=4", "country": "JPN", "currency": "JPY", "discCount": 1, "discNumber": 1, "isStreamable": true, "kind": "song", "previewUrl": "https://audio-ssl.itunes.apple.com/apple-assets-us-std-000001/AudioPreview122/v4/75/86/68/75866889-34af-0608-33f0-7b66c1975d79/mzaf_790555538368794394.plus.aac.p.m4a", "primaryGenreName": "ポップ", "releaseDate": "2015-11-13T08:00:00Z", "trackCensoredName": "Purpose", "trackCount": 21, "trackExplicitness": "notExplicit", "trackId": 1049382087, "trackName": "Purpose", "trackNumber": 13, "trackPrice": 250.0, "trackTimeMillis": 210151, "trackViewUrl": "https://itunes.apple.com/jp/album/purpose/id1049381490?i=1049382087&uo=4", "wrapperType": "track" } ] }
http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/100x100bb.jpg ↓ http://is3.mzstatic.com/image/thumb/Music6/v4/ff/27/0e/ff270e68-6d4a-d0f9-29be-df64038f4255/source/500x500bb.jpg
あんま調べてないけど1500×1500までなら取得できそう。
そんなこんなでサイト復活。サイトの掲載依頼と昔載せてくれた雑誌に営業メールして終了(意外に返信率が高くてびっくり)。実績的なの送ったら以外にいい感じだったわ。
■ダウンロード数
5000ダウンロード
■掲載サイト:
・Vector
・窓の杜
・フリーソフト100
・オールフリーソフト
・フリーソフトナヴィ
■掲載雑誌
・Mr.PC
・iP!(アイピー)
こんなんやってっから風邪が治らんのだな。。
まぁ、ソースコードとかクソ過ぎて見てもいられなかったけど久しぶりにやるのはいいと思いました。
買ってよかったもの(車編)
まずはこれを見て欲しい。
車を買った。すごくやすいやつ。20万円 - MidoriMemo
マジで車欲しいと思ったらすぐかったほうがいい。普通は壊れんから。
で、買ってよかったものと言うよりは買ったものの紹介。
シュワラスター洗車シャンプー
シュアラスター 洗車シャンプー [ノーコンパウンド] カーシャンプー1000 SurLuster S-30
- 出版社/メーカー: Surluster(シュアラスター)
- 発売日: 2011/07/12
- メディア: Automotive
- 購入: 3人 クリック: 281回
- この商品を含むブログを見る
ウォッシャー液
古河薬品工業(KYK) ウインドウォッシャーエクセレント 2L
- 出版社/メーカー: 古河薬品工業
- メディア: Automotive
- この商品を含むブログを見る
ゼロウォーター
シュアラスター コーティング剤 [親水] ゼロウォーターバリューパック 280ml×2本 SurLuster S-85
- 出版社/メーカー: Surluster(シュアラスター)
- 発売日: 2014/03/01
- メディア: Automotive
- この商品を含むブログを見る
スポンジ
シュアラスター ウォッシングスポンジ [キズ防止 2層構造] SurLuster S-70
- 出版社/メーカー: Surluster(シュアラスター)
- 発売日: 2011/07/12
- メディア: Automotive
- 購入: 3人 クリック: 4回
- この商品を含むブログ (1件) を見る
鉄粉取り粘土
シュアラスター ネンドクリーナーソフト [鉄粉除去 ザラツキ除去 ノーコンパウンド] SurLuster S-83
- 出版社/メーカー: Surluster(シュアラスター)
- 発売日: 2011/11/16
- メディア: Automotive
- クリック: 1回
- この商品を含むブログを見る
スマートミスト
シーシーアイ(CCI) スマートミスト ボディコーティング 撥水タイプ 180ml W-118
- 出版社/メーカー: シーシーアイ
- 発売日: 2013/03/01
- メディア: Automotive
- この商品を含むブログを見る
樹脂系パーツ復活剤
カーメイト 脱脂剤 コーティング剤 黒樹脂復活 10ml C24
- 出版社/メーカー: カーメイト(CARMATE)
- 発売日: 2008/10/06
- メディア: Automotive
- クリック: 1回
- この商品を含むブログを見る
静音計画(風切り音防止するやつ)
エーモン 静音計画 風切り音防止テープ ドア2枚分 約4.3m 2650
- 出版社/メーカー: エーモン(amon)
- 発売日: 2011/08/09
- メディア: Automotive
- この商品を含むブログを見る
静音計画(風切り音防止するやつ)
エーモン 静音計画 風切り音防止モール ドア用 ドア2枚分(約2.1m) 2652
- 出版社/メーカー: エーモン(amon)
- 発売日: 2011/08/09
- メディア: Automotive
- クリック: 1回
- この商品を含むブログ (1件) を見る
車載ホルダー
Zeuste 車載ホルダー エアコン吹き出し口取り付け 横幅調節可 360度回転可(ブラック+Grey)
- 出版社/メーカー: Zeuste
- メディア: エレクトロニクス
- この商品を含むブログを見る
エアコンフィルター
デンソー(DENSO)カーエアコン用フィルター クリーンエアフィルター DCC1009 (014535-0910)※必ず車種別適合をご確認下さい
- 出版社/メーカー: デンソー(DENSO)
- メディア: Automotive
- クリック: 2回
- この商品を含むブログを見る
アームレスト
Cool Thing スズキ スイフト ZC ZD 新型スイフト アームレスト コンソールボックス 小物入れ 多機能
- 出版社/メーカー: G.T.O.
- メディア:
- この商品を含むブログを見る
auxケーブル
ECLIPSE イクリプス KW-1207 AUX/Non-FADER/VIDEO OUT/VTR IN 用拡張配線コード KW-1207
- 出版社/メーカー: イクリプス(ECLIPSE)
- 発売日: 2011/11/16
- メディア: Automotive
- この商品を含むブログを見る
マフラーカッター
TSS マフラー カッター オーバル タイプ シングル 跳ね上げ スラッシュ チタン風 下向き対応
- 出版社/メーカー: TSS
- メディア:
- この商品を含むブログを見る
【selenium】seleniumを導入する上で重要なこと
今更感がするが、運用して学んだことがあるので書いてく。参考になれば。
「selenium導入しよっかなーよくわからねぇけど」って人向け
くっそシンプルなパターンを作る
必要最低限のパターンを作る。いろんなパターンを考えない。絶対カオスになるので正常パターンだけ実装する。
分割してモジュールを作成
タイミングとかで成功率が変わるので一回で全部をやろうとしない。描画待てるよ!とかいろいろ意見があると思うが、何も知らない人に開発させる前提で考えてほしい。あとサイトの癖もあるからねー
ecサイトだったら
- 商品選択→カートに入れる
- カートから注文
みたいな感じで分割する。
seleniumのことを好きにならない
始めは結構面白いのよselenium。なんでも出来るって言ってもおかしくないぐらい機能が豊富。作っていくと、いろんなパターンを考えがちでカオス化するのは目に見えてるので「コーディングがめんどくせーから手っ取り早く終わらせよう」ぐらいの気持ちが大事。
スリープは入れるな!
seleniumのwaitなら許す。普通のスリープ入れるな!
elementとelementsどっちかに統一しよう
メソッド名が似てるからねー。可読性悪い気がする。
例外パターンもシレッと回避しろ!
特定のパターンは無理にif分回避するのでなく、要素がかなかったら処理しないとかに統一しよう。
// aタグが存在する場合のみクリックする var tags = webDriver.FindElements(By.TagName("a")) if(tags.Count() != 0) { // クリック }
c#ですみません。結構ここが決めてかなぁ?
サイトが変わって保守が大変になったら全部捨てろ!
強引すぎて申し訳ないが、これクソ大事。まぁこれを避けるために分割すればいいんだけど。プログラムもそうだよね。
テストエンジニアとかいれば話は別だけど、普通のエンジニアが開発しつつテストコード書いてくって感じで運用するならこの程度でいいと思う。っかこうやればよかったと後悔。
買ってよかったモノを紹介
リアルフォース
- 出版社/メーカー: 東プレ
- 発売日: 2006/02/25
- メディア: Personal Computers
- 購入: 14人 クリック: 732回
- この商品を含むブログ (62件) を見る
カルティエの財布
これじゃないけど。良いもの持ってるって思えるから小物の物欲クソ無くなる。ホント財布とかくだらん買い物だな、原チャ買えんぞビルケン
[ビルケンシュトック] サンダル ギゼ ビルコフロー043731ホワイトEU 36(23cm)
- 出版社/メーカー: BIRKENSTOCK(ビルケンシュトック)
- メディア: Shoes
- この商品を含むブログを見る
ダイニングテーブル
LOWYA (ロウヤ) テーブル チェア ダイニングテーブル ダイニングセット コンパクト 5点セット 幅110 4人掛け ウォルナット おしゃれ 新生活
- 出版社/メーカー: VEGA CORPORATION
- メディア:
- この商品を含むブログを見る
名刺入れ
カルティエ高すぎてね。。カード入れとして使ってるけど名刺入れの代用出来て最高。名刺入れ単体とかいらね。テレビ
オリオン 32V型 ハイビジョン 液晶 テレビ NHC-321B 1波(地上デジタル) ブルーライトガード搭載 ブラック
- 出版社/メーカー: オリオン電機
- メディア: エレクトロニクス
- この商品を含むブログを見る
ケトル偽物
- 出版社/メーカー: ドリテック(dretec)
- 発売日: 2013/04/25
- メディア: ホーム&キッチン
- この商品を含むブログを見る
ウォークマン
SONY ウォークマン A20シリーズ 16GB ハイレゾ音源対応 2015年モデル シナバーレッド NW-A25 RM
- 出版社/メーカー: ソニー
- 発売日: 2015/10/10
- メディア: エレクトロニクス
- この商品を含むブログを見る
iMac mini
APPLE Mac mini (2.6GHz Dual Core i5/8GB/1TB/Intel Iris) MGEN2J/A
- 出版社/メーカー: アップル
- 発売日: 2014/10/21
- メディア: Personal Computers
- この商品を含むブログ (2件) を見る
ノートパッド
1.5万ぐらいで買った。全然良くないけど、おもちゃと思えば結構遊べる。セミダブルベット
LOWYA (ロウヤ) 脚付きマットレス ベッド 脚長 脚高 15cm 一体型 伸縮 耐久生地 ボンネルコイル セミダブル ブラック おしゃれ 新生活
- 出版社/メーカー: VEGA CORPORATION
- メディア:
- この商品を含むブログを見る
ソファ
- 出版社/メーカー: アイリスプラザ
- メディア: ホーム&キッチン
- この商品を含むブログを見る
レターオープナー
コクヨ レターオープナー ペーパーナイフ 連続伝票用 フラットタイプ HA-302
- 出版社/メーカー: コクヨ(KOKUYO)
- メディア: オフィス用品
- 購入: 8人 クリック: 15回
- この商品を含むブログ (1件) を見る
ゴミ箱
アスベル Rジョイント分別ダストボックス3個セット (33L・33L・27L)
- 出版社/メーカー: アスベル
- メディア: ホーム&キッチン
- クリック: 1回
- この商品を含むブログを見る
スポンジ
- 出版社/メーカー: ダスキン
- メディア: ヘルスケア&ケア用品
- この商品を含むブログを見る
カビキラー
- 出版社/メーカー: ジョンソン
- メディア: ヘルスケア&ケア用品
- 購入: 1人 クリック: 2回
- この商品を含むブログ (3件) を見る
不潔感がないのは超重要。ピンク色の風呂場の人必見。
アイスノン
- 出版社/メーカー: 白元アース
- メディア: ヘルスケア&ケア用品
- 購入: 13人 クリック: 32回
- この商品を含むブログ (26件) を見る
電動ドリル
高儀 EARTH MAN AC100V ドリル&ドライバー DDR-120
- 出版社/メーカー: 高儀
- メディア: Tools & Hardware
- この商品を含むブログを見る
高級イヤホン
SHURE イヤホン SEシリーズ SE215 カナル型 高遮音性 Special Edition トランススルーセントブルー SE215SPE-A 【国内正規品】
- 出版社/メーカー: Shure Incorporated
- 発売日: 2012/11/28
- メディア: エレクトロニクス
- クリック: 4回
- この商品を含むブログ (24件) を見る
シェーバー
【Amazon.co.jp限定】パナソニック ラムダッシュ メンズシェーバー 3枚刃 お風呂剃り可 黒 ES-AST2A-K [フラストレーションフリーパッケージ (FFP)]
- 出版社/メーカー: パナソニック(Panasonic)
- 発売日: 2014/07/01
- メディア: ホーム&キッチン
- この商品を含むブログを見る
それが僕には楽しかったから
それがぼくには楽しかったから 全世界を巻き込んだリナックス革命の真実 (小プロ・ブックス)
- 作者: リーナストーバルズ,デビッドダイヤモンド,風見潤,中島洋
- 出版社/メーカー: 小学館プロダクション
- 発売日: 2001/05/10
- メディア: 単行本
- 購入: 20人 クリック: 282回
- この商品を含むブログ (141件) を見る
ワイヤレススピーカー
Creative D100 ワイヤレス スピーカー ブラック Bluetooth SP-D100
- 出版社/メーカー: クリエイティブ・メディア
- 発売日: 2010/06/26
- メディア: エレクトロニクス
- 購入: 4人 クリック: 28回
- この商品を含むブログ (1件) を見る
【angular4+.NET Core】一瞬でSPAを作る
技術ネタ。
わかりにくいから他のサイト推奨。リンクは載っける。
angularの環境作るのだるくない?c#とどう連携すんの?って調べてたら一瞬でSPAテンプレート出来たのでメモ。
SPAプロジェクトの作成
SPA関連のテンプレート(.NET Core)をダウンロード
dotnet new --install Microsoft.AspNetCore. SpaTemplates::*
まじで.NETCore優秀杉
作成するプロジェクトのディレクトリに移動
cd {対象のディレクトリ}
angularプロジェクトを作成
dotnet new angular
.NETCoreきも
npmのパッケージをダウンロード
npm install
プロジェクトのビルド
webpack
webpackでビルドが通らない( webpackのconfigファイルがない場合)
webpack --config webpack.config.vendor.js
ここからvisual studioで取得してくれるので、不要
Nugetパッケージを取得
dotnet restore
これだけ。.NETすごくね?
【参考】
ASP.NET CoreでAngularをする下準備
http://blog.okazuki.jp/entry/ 2017/03/05/091710
.NET Core command-line interface (CLI) tools
https://docs.microsoft.com/en- us/dotnet/core/tools/dotnet- restore
Windows環境でangular-cliを使えるようにする
http://qiita.com/elphe/items/ 8e73d4118b26a6971c3b
http://beachside.hatenablog. com/entry/2017/02/25/150306