ボディをつくります。
今回は回転軸をつくるので、同じ太さの凸凹を作っておきます。
新しいコンポネントをつくります
オブジェクトを選択
コンポネント化した物体と物体の接合部をある
接合部を設定すると、アニメーションしながら勝手にくっついてくれます
ジョイントを編集
数値をいじると、アレコレできます。
bottleで外部サービスにPOSTする
情けないミスを繰り返してしまったせいで長くなっちゃいましたが。
実際のところ
requestsライブラリをつかいます。
この例では、"/api/func"にアクセスするとIFTTTに投稿するようになっています。
一通りのプロセスが終わると、返ってきたステータスコード*1をよこしてきます。
#!/usr/bin/env python # -*- coding:utf-8 -*- from bottle import route, get, run, default_app, request, template import requests @get('/api/func') def api_func(): data = {"value1": "abc", "value2": "def", "value3": "ghi"} headers = {'Content-Type': "application/json"} url = 'https://maker.ifttt.com/trigger/{{YOUR_APPNAME}}/with/key/{{YOUR_KEY}}' response = requests.post(url, json=data, headers=headers) return template("Post Request status_code is {{statusval}}", statusval=response.status_code) if __name__ == '__main__': # コマンドから"python3 index.py"で起動した場合 run(host='localhost', port=8080) else: # uWSGIから起動した場合 application = default_app()
*1:上手く行けば200
pythonの環境変数をみる
import sys sys.path #>>> ['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/home/ubuntu/.local/lib/python2.7/site-packages', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages']
Pipで入れてる筈のパッケージで"ImportError: No module named …"とか言われたら
Pipで入れてる筈のパッケージで"ImportError: No module named …"とか言われたら、
内部的にパスが通ってない可能性があります。
実際のところ
場当たり的対処 or 何らかの事情で環境変数を参照出来ない場合
当該パッケージのinstallコマンド。
当然先に入っている旨のメッセージが来ますが、ここでパスが分かります。
$ pip install requests Requirement already satisfied: requests in /home/ubuntu/.local/lib/python2.7/site-packages
このパスを使ってるスクリプト内で参照させます。
import sys sys.path.append('/home/ubuntu/.local/lib/python2.7/site-packages')
それでもダメならsudo で入れ直し
$ sudo -H pip install requests
PythonスクリプトからIFTTTのWebhookに投稿する
今回はPythonをつかって、IFTTTのWebhook*1に
しくみを知りたい方はこちら
shuzo-kino.hateblo.jp
ブラウザからポチポチやりたい方はこちら
shuzo-kino.hateblo.jp
実際のところ
貴方のキーはYOURKEY、アプリ名はYOURAPPという想定でいきます。
requestsライブラリを導入して、こんな感じで。
import requests data = {"value1": "abc", "value2": "def", "value3": "ghi"} headers = {'Content-Type': "application/json"} url = 'https://maker.ifttt.com/trigger/YOURAPP/with/key/YOURKEY' response = requests.post(url, json=data, headers=headers) print response.status_code
実行するとこんなふうにステータスコードを返します。
$ python sample.py 200
*1:Makerチャンネルから改名
【読書メモ】競争しない競争戦略
経営の本です。
「消耗戦から脱する3つの選択」という副題にもある通り、
ポジショニングをちゃんとやりましょうって本です。
まず、業界にはリーダー企業というものが存在する前提で議論が進みます。
リーダー企業というモノはライバル企業に対し同質化、属領化を強いる傾向があると著者は考えています。
その上で、リーダー企業と対峙するための3つの選択肢が挙げられています。
- ニッチ戦略
- 不協和戦略
- 協調戦略
いかに自社の立ち位置を持ち、相手主導で同質化されないようにするか、というお話が進んでいきます。
ニッチ戦略
これは割りと有名。
強力な武器と確かな市場を抑える事で生き残りを図る方法。
具体例として10個ほど。
- 技術
- (販売)チャンネル
- 特殊(用途)
- 空間
- 時間
- ボリューム
- 残存
- 限定
- カスタマイズ
- 切り替え
ただし、これに固執しすぎると市場が細ってしまう懸念もあると。
この問題については
ニッチは複数持つことができる点、
極めれば新市場の開拓にも使えるという事例も紹介されています。
不協和戦略
これは結構珍しい視点のような気がします。
業界構造を利用して、相手に同質化されない為の手法です。
中々胸糞というか、ある種破壊者めいた振る舞いですね。
リーダーの強みを弱みとしてしまう事で同質化を阻止する4つの事例が出てきます。
- 企業資産の負債化
- 市場資産の負債化
- 論理の自縛化
- 事業の共喰い化
協調戦略
リーダー企業の同質化につきあいつつ、主導権はあくまで自分が握るという方法。
自社無しにはバリューチェーンを構築できないようにしたり。
BottleでCookieを使う
何かと便利なCookieもBottleで活用可能です。