Code4Startup
Task 8、9の辺りは、ひたすらページ作成のコーディングをしていきます。
こういうドリル的なこと:写経も必要。
すんなりいかないところとして、
modelの作成で
restaurant = models.ForeignKey(Restaurant, on_delete=models.CASCADE)
講義の中では、on_deleteは記載していませんが、必要と怒られます。
offsetの書き方は注意
https://www.programmers-office.ml/2018/04/03/code4startup-%ef%bd%9e-landing-page%e3%82%92%e4%bd%9c%e3%82%8d%e3%81%86/
Code4Startup
シェアリング・エコノミー ―Uber、Airbnbが変えた世界 宮崎 康二 日本経済新聞出版社 2015-07-23 売り上げランキング : 88013 by カエレバ
Code4StartUp ~ UberEatsを作ろう ~ Bootstrapの適用
以前もstaticの読み込みがうまくいっていなかったのですが、settings.pyを終始して戻して保存したら、style.cssを読んでくれたようです。まだ、完全に同じ見た目にはなっていませんが。もやもや・・・
Bootstrap4 講義はBootstrap3ベースになっていますが、最新のBootstrap4を使おうとすると、色々調べながら進める必要があります。
まず、jquery等の読み込みですが、講義で参照しているbasic templateは使用できないので、Introductionを見ると、そこにStarter templateがあります。
必要なJS読み込みは
となっています。
さらに、django-bootstrap3をインストールしていますが、ここはpip install django-bootstrap4にします。
シェアリング・エコノミー ―Uber、Airbnbが変えた世界 宮崎 康二 日本経済新聞出版社 2015-07-23 売り上げランキング : 28003 by カエレバ
Code4StartUp ~ UberEatsを作ろう ~ Bootstrapの適用
Code4Startup
以前もstaticの読み込みがうまくいっていなかったのですが、settings.pyを終始して戻して保存したら、style.cssを読んでくれたようです。まだ、完全に同じ見た目にはなっていませんが。もやもや・・・
Bootstrap4 講義はBootstrap3ベースになっていますが、最新のBootstrap4を使おうとすると、色々調べながら進める必要があります。
まず、jquery等の読み込みですが、講義で参照しているbasic templateは使用できないので、Introductionを見ると、そこにStarter templateがあります。
必要なJS読み込みは
となっています。
さらに、django-bootstrap3をインストールしていますが、ここはpip install django-bootstrap4にします。
スタイルの読み込みがちゃんとできていないので見た目はもやもやしますが、とりあえず進めます。
Code4Startup
シェアリング・エコノミー ―Uber、Airbnbが変えた世界 宮崎 康二 日本経済新聞出版社 2015-07-23 売り上げランキング : 28003 by カエレバ
シンガポール ダイジェスト3 2018年6月 スタートアップハブ
シンガポールダイジェストは今回が最後です。 (シンガポール ダイジェストその1はこちら、その2はこちら) BSジャパン 日経プラス10 イノベーションどう生み出す!?先進シンガポールの突破力 今回行く直前に、たまたまテレビ番組「BSジャパン 日経プラス10 イノベーションどう生み出す!?先進シンガポールの突破力」を観ました。 メモから抜粋すると ・スタートアップ支援企業(スタートアップハブ?) ・SPECTRUM https://www.spectrum.global/ ・thebridge https://thebridge-asb.com/ ・Plug-in@Blk71 NUSエンタープライズとの協業 ※シンガポール国立大学(National University of Singapore/NUS) https://www.worksight.jp/issues/538.html ・電動キックスクーターのシェアリングサービス「Telepod」 https://japan.cnet.com/article/35104102/ ・セントーサケーブルカーからの景色 などが、印象に残りました。 全部見てみたかったのですが、やはり1日では限界があり、SPECTRUMはビルの外観だけ、thebridgeとTelepodは見送りました。 SPECTRUM Bugis駅という比較的街中、ラッフルズホテルからもほど近く、良い立地のところに巨大な、そして特徴的な、きれいなビルが建っており、この中に入っているということです。
このビルだと、それなりの設備が期待できると思いますが、固定デスク一つ借りるようなプランで、600Sドルから。5万円ですか。 https://www.spectrum.global/memberships/ ただし、場所借りだけでなく、コンサルティング的なものも含まれるようです(経済情勢レポートとか、イベント参加とか)。 シンガポールでも色々あるわけですが、ちなみに東京と比較してみましょう。 東京のスタートアップハブ まず、スタートアップハブという名前を掲げて、SPECTRUMとも同様のサービスを提供していると思われる、Startup Hub Tokyo。 https://startuphub.tokyo/ 「Startup Hub Tokyoは東京都からの委託を受けて株式会社ツクリエが運営しています。」とあり、Webサイトも、東京都中小企業振興公社がやっているTOKYO創業ステーションのサイトに紐づけられています。TOKYO創業ステーションとしても、コンサルティング、セミナー開催、施設提供を行っていますが、その関係性は分かりにくい気がします。 それはさておき、内容としては、部屋貸しではなく作業スペース貸しのイメージでしょうか。会員制サービスですが、会費は基本無料という太っ腹。保育サービスもありますよ、とこの辺は何がStartup Hub Tokyoのサービスで、何がTOKYO創業ステーションのサービスなのかわかりにくい… と見てると、むしろ、TOKYO創業ステーションの方がSPECTRUMに近いか。こちらは、施設提供という面では、現時点で5カ所のオフィスの情報を提供し、補助を行ったりもしています。現在入居者募集中の白鬚西R&Dセンターというところを見ると、貸付料:毎月支払総額27,090円~95,131円とありますので、金額的にはデスク一つ5万円よりは割安なのかもしれません。 あるいは、レンタルオフィス、コワーキングスペースという切り口で探してみても、同様のサービスが見つかるかもしれません。 例えば、ビジネスエアポート。 スペース貸し、部屋貸し、両タイプありますが、例えばスペース貸しだとこんな感じ。 https://business-airport.net/share_work_place/ さらに言えば、Yahoo!のLODGEなんかも、目的は同等で、無料キャンペーン継続中です。 最初に5万円という基準を持って各所見てみると、割と東京で受けられるサービスもリーズナブルなのでは、と思えてきます。 その他の地域のスタートアップハブ 日本の各地のサービス 探してみると、こういったサービスに力を入れている自治体も多いようです。 一例として、宮崎市。 http://www.miyazaki-cci.or.jp/support/ 会員の種類によって期間が変わりますが、施設無償利用等できるとのこと。 http://www.miyazaki-cci.or.jp/support/news/2018/04/post-19.html カナダ 今回帰りの飛行機用に買った雑誌「Inc.」。 https://www.inc.com/ Webサイトのタイトルが「Small Business Ideas and Resources for Entrepreneurs」となっている通り、スタートアップ向け情報満載です。 そして、その中の記事で取り上げられているのが、カナダ。ニューヨークやサンフランシスコより安いよと。
シンガポール ダイジェスト2 2018年6月 五月天(メイデイ)コンサート
今回の主目的、五月天(メイデイ)コンサートについて (シンガポール ダイジェストその1はこちら) (2020年1月26日)最近このページを見に来てくれる人がいるのは、きっと8月のシンガポール公演が発表されたからですね。なのに、写真がちゃんと貼られておらず、悲しいことになっていました・・・。写真を貼りなおします。 実は、去年の北京鳥の巣、正月の登桃園の最終日も行っているのですが、追って書きたいと思います。 改めて、五月天(メイデイ)について Mayday – アミューズ オフィシャル ウェブサイト https://baike.baidu.com/item/%E4%BA%94%E6%9C%88%E5%A4%A9/17011(中国語説明) 日本語オフィシャルサイトでは「1999年のデビュー・タイミング」とありますが、1997年に前身のSo Bandから五月天という名前になっており、2017年には結成20周年イベントもやっています。 「2012年4月には、史上初となる北京国家体育場(鳥の巣)で2日連続公演を開催。20万枚のチケットを即日完売。」というあたりで、凄まじさを感じていただければ。 現在のワールドツアー「人生无限公司世界巡回演唱会」(英名:LIFE TOUR)は、今回のシンガポール回が89回目。2018年1月7日の回の時点で226万人が参加しているとのことです。 https://zh.wikipedia.org/wiki/%E4%BA%BA%E7%94%9F%E7%84%A1%E9%99%90%E5%85%AC%E5%8F%B8%E5%B7%A1%E8%BF%B4%E6%BC%94%E5%94%B1%E6%9C%83 シンガポール支社へ出勤! ツアー名の「人生无限公司」は「人生無限会社」を意味します。 直近のアルバム「自伝」に「人生有限公司」という曲があり、それをさらにちょっとひねっています。 Mayday (五月天) – 人生有限会社 / 人生有限公司 – KKBOX で、このコンサートが会社なので、コンサートに参加することを中国語で「上班」すなわち出勤と言います。アンコールの掛け声は「加班!」(残業!)です。 直近の5月19日、20日にも武道館でコンサートがありました。 http://www.mayday.jp/life2018/ こちらにも参加したわけですが、海外のバンドが日本で行うコンサートとしての武道館というのは十分ステータスがあると思うものの、本気を出した大規模のライブを見たいという気持ちが盛り上がり、シンガポールまで出張(遠征)することにしました。ちなみに、今回のシンガポール回には”无限放大版”(無限拡大版)という名前が付いており、最大規模のステージが見られるだろう、というのが決定打となりました。 会場は、シンガポールナショナルスタジアム。駅から気合が入っています。
川沿いで、マリーナベイサンズを望む、立地的にも美しい会場。
入場はバーコードスキャンで、長い行列ができるということもありませんでした。
中に入ると、「これが埋まるのか~」とこの時点で早くも感動を抑えられません。
4万人の観客だったそうです。 そして、巨大なスクリーン。これが見たくてシンガポールまで来たわけです。
オープニング前に前座さん(失礼!充分売り出し中の歌手です)が歌うのは、朝礼。朝礼に間に合わない人たちが結構いてびっくり。
コンサートは、ショートフィルムから始まり、随時そのストーリーをはさみながら進みます。 さらに、曲によって、映像演出が凝らされます。 一番見たかったのが、「成名在望」。 雰囲気はオフィシャルビデオでも見られます。 Mayday五月天 [ 成名在望 Almost Famous ] 現場無限Life版 Official Music Video これを生で見る、この人の海の中に自分がいる、それを体験したかったのですが、想像以上の迫力でした。 このビデオの映像だと、競技場を縦長に使っていますが、今回は横長に使っているので全体の幅が長いと思いますし、スクリーンの高さも大分高いと思います。 途中ゲストは、李宗盛。「僕のこと知ってる?」なんてトークしますが、超大物、かつ、五月天の父的存在。 さて、五月天のコンサートではファンは歌い放題に歌っているので、毎回声の限りで歌い続けます。 声も枯れたところで、最後の曲は、ファンと一緒にLaLaLaで終わるという流れです。 まず、本編終了が「人生海海」。アンコール前のいったん終了の儀式的なところが個人的には好きではなく、武道館の時にも、「アンコールは予定されているけど、まあ、いったん終了ね」という感じを受けていたのですが、今回はいったんきっかり終わらせる感じを受けました(気のせい?)。武道館の時にはあまり意識していなかったですが、この曲のスクリーン映像でスタッフロールが流れているのですね。ちゃんとした終了感があると、LaLaLaにも力が入ります。 アンコールに入ってから、「转眼」という曲では、メインストーリーの映画とは別に、この曲用のアニメーションフィルムが流れます。 ここでは、映像がメインで、本人たちは片隅で歌っているような形になるのですが、これも恐らく映画をこんな巨大なスクリーンで見ることはないだろうなという圧倒感がありますし、日本で見て分かっているストーリーなのですが、やはりしんみりさせる名曲ならではの名映像でした。
Code4StartUp ~ UberEatsを作ろう ~ Facebook認証
Code4Startup
続いて、oauthによるFacebook認証。
この辺の実践感がこの講座の良いところ。
https://developers.facebook.com/
スタートガイド→Facebook for Developersアカウントを作成するところから始めます。
画面構成は講義ビデオの時からは大分変っているようですが、何とか進められます。
で、django-rest-framework-social-oauth2==1.0.4をインストールすることになっているのですが、
ImportError: No module named ‘social_django’
となります。
↓
https://teratail.com/questions/115059
pip install social-auth-app-django
↓
ImportError: No module named ‘braces’
↓
pip install django-rest-framework-social-oauth2 -U
→django-rest-framework-social-oauth2==1.1.0
↓
OK
という感じで(分かりますか(^_^;;;))、結局最新バージョンでないとライブラリ間の構成が合わないという話。
requirements.txt の記述は
django-rest-framework-social-oauth2==1.0.4
のままだけど・・・
でうまくいったかと思いきや、アプリ画面を開くと
You may need to add ‘x.x.x.x’ to ALLOWED_HOSTS. のエラー。
settings.py
のALLOWED_HOSTS に追記すれば確かに起動するようになった。
https://www.deep-blog.jp/engineer/archives/4287
しかし、これまで書いていなかったのになぜ?ちょっと気持ち悪い。
Facebook認証の流れについては、
https://stackoverflow.com/questions/18995448/rails-api-authenticate-users-from-native-mobile-apps-using-username-password-or
と同じ内容の図がもう少しきれいに書かれていて、なるほど、と思いました。
そして、ブラウザ・サーバアプリ・Facebook間でのやり取りは、アプリを作る前に試しましょうということで、POSTMAN。
このJSON大流行のこのタイミングで、このツールをぶつけてくるところがなかなか(たまたま)。
python-social-auth のPipelineの説明は、ビデオ見てると行方不明になりますが、下記になります。
https://github.com/python-social-auth/social-docs/blob/master/docs/pipeline.rst
ちょっと、Facebook認証で情報を取り出せるようになるので、GDPRが気になるところ。
個人で試しているうちは気にしなくても良いかもしれませんが、早急に考えないといけないかと思っています。
Code4Startup
独学プログラマー Python言語の基本から仕事のやり方まで コーリー・アルソフ 日経BP社 2018-02-24 売り上げランキング : 204 by カエレバ
シンガポール ダイジェスト 2018年6月
先週行ってきたシンガポールについての記録を残しておきます。 両替 両替は、事前に都内「アクセスチケット」でやっておきました。 https://www.access-ticket.com/shop/detail/64 その時点で、東京駅前店100Sドル8104円。 秋葉原店の方がレート良かったですが、在庫がなかったので。 全ての店舗で外貨取り扱いがあるわけではない(池袋店ではありませんでした)のでご注意。 また、「インターバンク」も事前連絡制なので安心、かつ、レートもそこそこ良いです。 http://www.interbank.co.jp/ そうは言っても、現地の方が良いのではと思ったのですが、チャンギ空港では円買取が1.213なので100Sドルあたり8244円、チャイナタウンの両替店では5000円で60Sドルなので、100Sドルあたり8333円でした。 他の通貨のレートもよさそうだっでしたが、両替のためだけにウロチョロするのももったいないので、個人的なおすすめは、アクセスチケット秋葉原店に行って、在庫がなければインターバンクに電話、という感じかなと思います。 空港設備 最近、深夜出発が多かったのですが、今回はちょっと早めの時間だったので、自動化ゲートの登録をしました。 法務省:自動化ゲートの運用について(お知らせ) これとは別に、帰国側では、顔認証ゲートもスタートしています。 法務省:羽田空港における「顔認証ゲート」の導入について 下記ページによると、自動化ゲートの利用率が上がらないために導入されているよう。 http://business.nikkeibp.co.jp/atclh/NBO/mirakoto/design/2/t_vol22/ ちょっともやもやしますね。 また、出入国審査とは別に、その前に航空会社のパスポートチェックがあるため、事前にネットチェックインしていても、カウンターでの手続きが必要というのも、そこでちゃんとした搭乗券がもらえる安心感はあるのですが、若干すっきりしない感じはあります。 一方、シンガポール。出国時は、ネットチェックインしてあり、預け荷物がなければ、航空会社のカウンター手続きは不要でした。 また、出国審査も、人のいる方に並ぼうとすると、機械の方でどうぞと案内されました。で、パスポートスキャンして顔認証で終わり。 初めてだったので、あとはこの紙っぺらのバーコードで飛行機に乗るんだ、とちょっと不安でしたが、そういうものだと分かっていれば楽々ですね。 日本頑張れ。(というか、一部で始めているということは、安全面への配慮とかではなく、単純に遅れている、ということですよね。もやもや…) 食事(チキンライス) シンガポールと言えば、シンガポールチキンライス!思う存分、食べ比べてきました。 (1)空港フードコート
ローストタイプト、スチームタイプがありました。どちらも単品だと4.8Sドル。個人的には、色々なタレを楽しむスチームタイプがよりよかったです。卵トッピングは0.8Sドル。いずれも絶品と言ってよい美味しさでした。 到着直後と、帰国直前に食べたのですが、空港でこの値段で食べられるなら、街中では他の食べ物に集中する、という作戦も大いにありかと思います。 (2)大学食堂
いきなり、ライスではないのですがチキンライスとチキンヌードルを売っている大学の食堂。 空港から大学に直行して、すぐにチキンライスというのも芸がない、ということでヌードルにしてみました。レモンチキンヌードル。 3.5ドルです。お味は悪くないですが、安いと思って大学食堂を狙うならば、過度な期待はしない方が良いかな、という印象です。 (3)マックスウェルフードセンター こちらは有名店。行列が絶えないようですが、並んでもそんなに時間がかからないそうです。
有名店の二つくらい隣のお店。 お値段は失念・・・4Sドルくらいだったかと思います。 写真からこの柔らかさ伝わりますでしょうか。今回のベストチキンライスでした! 食事(その他) カヤトースト
喜園珈琲店のカヤトーストはふわふわ。本当においしかったです。 これとちょっと甘いコーヒーで25Sドル。朝、あまり時間ない中で無理やり予定を詰め込んだ形でしたが、行ってよかったと思います。 米蒸系のお菓子
こちらは、空港のフードコート入り口に出店していた売店にて。 ういろうとかのねっとり系のお菓子が好きなので、全種類食べたいと思いながら二つ購入。 案の定美味しかったです。 ホッケンミー&バクテー
こちらはセントーサ島ユニバーサルスタジオ前のマレーシアフードストリートにて。ホッケンミーって、2種類ありますかね。 写真からは伝わらないように思いますが、ホッケンミーは2人前ですか、というくらいの量。これにご飯はつらかったので、普段あまり残さないのですが、ごはん半分は、スタッフの方に美味しくいただいてもらいました… かき氷
マレーシアフードストリートもう一品、かき氷。 行く前から気になっていた、チェンドルというものが乗っています。緑色の物体です。 で、チェンドルかき氷の場合は、ココナッツミルクがかかるのが、定番のようですが、これが美味しい。日本でもやればよいのにと思います。 ただ、氷は普通のタイプ(チャイナタウン駅近の有名店だとふわふわタイプのようですが)で、頭がキンキンになりながら食べていました。
Code4StartUp ~ UberEatsを作ろう ~ heroku環境整備
Code4Startup
さて、herokuが動作するようになると、おもむろにGunicornをインストールします。
Gunicornとは何か http://gunicorn.org/
Gunicorn ‘Green Unicorn’ is a Python WSGI HTTP Server for UNIX.
Python製のWSGI サーバ
WSGI とは何か http://gihyo.jp/dev/feature/01/wsgi/0001
WSGIはJavaにおけるJava Servelet APIと同じように,WebサーバとWebアプリケーション間の汎用的なインターフェースを定義しています。
要するに、Djangoを動作させるための土台、と考えればよいでしょうか。
次にインストールするのが、WhiteNoise
WhiteNoiseとは何か https://pypi.org/project/whitenoise/
http://furodrive.com/2016/01/white_noisedjango/
WhiteNoiseとはWSGIアプリケーションのための静的ファイルを配信するのを簡単にしてくれるライブラリです。
少しの設定をするだけでAmazon S3やNginxに頼ることなく静的ファイルを配信できます。
本番サーバーで画像やcss等を参照できるようにするには色々と手順を踏まないといけなかったのですが、WhiteNoiseを使うとそのような手間が省けて大変便利です。
続いて、dj-database-url
dj-database-urlとは何か https://github.com/kennethreitz/dj-database-url
http://y0m0r.hateblo.jp/entry/20121130/1354290868
dj-database-urlを使うとdb接続文字列を環境変数DATABASE_URLから取得させることができます。
さらにpsycopg2 PythonのPostgreSQL用ドライバ
これで、herokuに乗せるわけですが、色々講義内で想定されているエラー以外に、想定外のエラーが。
could not determine PostgreSQL version from ‘10.4’
諸々のサイトを見るとpsycopg2のバージョンを上げろと。
http://initd.org/psycopg/docs/
こちらで表示されるのが、現時点で2.7.5なのでそうしてみます。
そうすると、こんな感じのエラー
Could not find a version that satisfies the requirement psycopg2==2.7.5 (from -r /tmp/build_f493d80720eb882b01a250f718f3b058/requirements.txt (line 6)) (from versions: 2.0.10, 2.0.11, 2.
Code4StartUp ~ UberEatsを作ろう ~ herokuへの道は続く
Code4Startup
前回からの続き
インストールされたということで、heroku loginしてみると、
Error: login is not a heroku command.
再インストールしなさいという情報があるので、
curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
しかし、エラー変わらず。
手当たり次第という感じですが、
wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh
変わらない。
https://teratail.com/questions/125977
に従ってみる。
npm uninstall -g heroku
これでもheroku –versionは出てくるが・・・
wget https://cli-assets.heroku.com/heroku-cli/channels/stable/heroku-cli-linux-x64.tar.gz -O heroku.tar.gz
tar -xvzf heroku.tar.gz
mkdir -p /usr/local/lib /usr/local/bin
sudo mv heroku-cli-v6.16.18-62346b1-linux-x64/ /usr/local/lib/heroku
↓実際に作成されたディレクトリ名に変更
sudo mv heroku-cli-v6.99.0-ec9edad-linux-x64/ /usr/local/lib/heroku
sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
失敗
ln: failed to create symbolic link ‘/usr/local/bin/heroku’: File exists
↓
sudo unlink /usr/local/bin/heroku
Code4StartUp ~ UberEatsを作ろう ~ herokuへの道
Code4Startup
講義ビデオは突然heroku loginから始まった。
しかし、cloud9ではherokuコマンドは効かない。
よって、インストールから。
http://www.lib-arc.com/entry/2018/04/15/234355
こちらでは、nodeは入っている前提。しかし、少なくとも私の環境には入っていない。
そこから。となると、こちらを参考。
https://qiita.com/beplocks661/items/8d840b6efcdcd14009bf
と思ったらnvm: command not found。
https://qiita.com/seibe/items/36cef7df85fe2cefa3ea
ここから。
sudo apt-get install -y nodejs npm
sudo npm cache clean
sudo npm install n -g
sudo n stable
node -v
v10.2.1
ここからやっとherokuインストール
npm install -g heroku-cli
インストールは始まったけど、エラー
・・・
npm ERR! Please try running this command again as root/Administrator.
・・・
sudo npm install -g heroku-cli
でOK
heroku -v
heroku-cli/7.0.9 linux-x64 node-v10.2.1
という感じでよいのでしょうか。
開発環境構築の基礎を学べます。
ん?cloud9って、こういうものでしたっけ??
Code4Startup