プログラミング

Code4StartUp ~ UberEatsを作ろう ~ Djangoのデバッグ

Code4Startup 前回に続き、Registration機能の実装ですが、どうもデータが登録されません。 では、ということでデバッグ実行をしようと思ったのですが、これがまたうまく動きません。 そもそもサービス起動のために python manage.py runserver xxx.xxx.xxx.xxx:8000 を叩かなければいけないということですから、普通にRunボタンを使って実行することができないわけです。 では、と思って、New Terminalでコマンド実行用のウインドウを開いて、その中で上記のコマンドを叩こうとしましたが、cdコマンドが効いてくれないようです。 ではでは、 python foodtasker/manage.py runserver xxx.xxx.xxx.xxx:8000 とすると、 Traceback (most recent call last): File “foodtasker/manage.py”, line 17, in “Couldn’t import Django. Are you sure it’s installed and “ ImportError: Couldn’t import Django. Are you sure it’s installed and available on your PYTHONPATH environment variable? Did you forget to activate a virtual environment? となってしまいました。 なお、こちらのサイトでも、2017年12月3日現在、デバッグ実行ができないと判断されているようです。 むう。。。 とりあえずはやむを得ないので、こちらを参考に、コンソールに出力。いつの時代も安定のコンソール出力。 失敗の原因は色々で、objectsとobject(誤)とか、FalseとFALSE(誤)とか。 もう少しエディタの力で何とかならないものか・・・ Code4Startup ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 posted with カエレバ 斎藤 康毅 オライリージャパン 2016-09-24 売り上げランキング : 228

Code4StartUp ~ UberEatsを作ろう ~ Registration

Code4Startup Djangoで持っているUser管理の機構を利用する部分。 それ以外に内容的に特筆すべきところはないですが、いったんエラーを発生させて、コンソールに表示されているエラーを確認して、対処するという流れ。 Cloud9だと、コンソールウインドウを見ながらソースを書いているような画面構成で、ソースを保存した時点でエラーがあればエラーを表示してくれる。 これは非常に便利。 Code4Startup

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 posted with カエレバ 斎藤 康毅 オライリージャパン 2016-09-24 売り上げランキング : 231


Code4StartUp ~ UberEatsを作ろう ~ Sign In & Sign Out

Code4Startup 画面を横に並べて、動画見ながらコーディング、という形にすればよいのでしょうが、動画を見てから書こうとすると、しばしば間違いが。 ログインページのテンプレートファイルで {% load staticfiles %} を忘れずに。忘れるとinvalid block tag ‘static’というエラーが発生。 {% csrf_token %} というお約束。こういうの見ると萌える。 で、一通り書いてみましたが、 http://(公開アドレス):8000/restaurant/sign-in/ で何も表示されない。なんだろうと探ります。 あまりコーディング中の自動補完(clodu9のAce Editor)は正しくないのも、うーん(Visual Studioっ子なので)。 django.contrib.auth のauthが表示されなかったり、 auth_views.logoutは表示されるけど、auth_views.loginは表示されなかったり。 かなり手間取りましたが、実際は単なる記述ミス。 タグは自動補完が走り、例えば」を入力すると「」になってしまう罠。 ちなみに、url名は「sign-in」、テンプレート名は「sign_in.html」みたいなのは、一般ルールでしょうか? これもsign-inと書くべきところをsign_inと書いていたりしました(そういう補完候補が出る、というのもあるし)。 なんとかかんとか、ログイン認証の仕組みができました。先は長いぞ。 Code4Startup   ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 posted with カエレバ 斎藤 康毅 オライリージャパン 2016-09-24 売り上げランキング : 231

Code4StartUp ~ UberEatsを作ろう ~ Django環境続き

Djangoが動作する環境ができたら、アプリを作成していきます。 「python manage.py startapp foodtaskerapp」により foodtasker foodtaskerapp のディレクトリが並ぶ形になります。 ここから、行ったり来たりになりますが、 ・まずは、foodtaskerのsettings.pyのINSTALLED_APPSに追加 ・次に、foodtaskerappのviews.pyにhomeメソッド追加 ・次に、foodtaskerのurls.pyのurlpatternsに追加 ・次に、foodtaskerappにtemplateディレクトリを作成し、home.html作成 という形で作成していきます。 講義ビデオではatom+emmetのスニペットが快適そうに見えますが、まあ、そんなに使うものでもないと思うので、Cloud9のAceエディタの機能で進めます。最低限のスニペットはありますので。 いったん実行すると、「TemplateDoesNotExist」エラーが発生しましたが、単純に、 テンプレートフォルダ名は「template」ではなく「templates」ということでした。失礼。そして、 python manage.py migrate python manage.py createsuperuser により、管理画面が表示されます。 bootstrapも組み込んで(Bootstrap 4ではグリフアイコンをサポートしないため、「fonts」フォルダは削除されましたとのことなので、最新版を取得するとここはちょっと違います)、次はTask3です。 ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 posted with カエレバ 斎藤 康毅 オライリージャパン 2016-09-24 売り上げランキング : 303

Code4StartUp ~ UberEatsを作ろう ~ Python/Django環境

次は、Webアプリ側の環境で、Djangoです。 もう、これは、最初からCloud9で楽勝でしょう、と思っていたら甘かった・・・ AWS Cloud9とは  元々Cloud9を使用しており、開発環境をワンクリックで簡単に構築できることが売りだったので、それでよいやと思っていたわけです。 ただ、昨年AWSに統合されたバージョンがリリースされました。最初は旧版とAWS版並列で行くていくのかなと思っていたのですが、どうやら移行を促されるようなので、この機会にAWS版を使用することにしました。 (旧版は新規プロジェクト作成時は、こんな感じでテンプレートを選択できます。ボタンを押すだけで、すぐに開発環境ができあがり、ソースを書き始めることができます。)

 いざ使おうとすると、色々分かってきます。 まず、AWS Cloud9は、IDEとしては無償なのですが、環境とセットにはなっていません。 分かりにくいですが、他のサーバを使用してSSHで接続するか、AWSのEC2に乗せる必要があります。すなわち、環境自体は無償とは限らないということです。 EC2も12か月間は無償利用できるというのがアピールされていますが、1年後にどうするか悩むことになるのであれば、そこには頼りたくないなという気持ちがわきました。 選択肢として、たまたま最近さくらレンタルサーバを契約したので、それでもよいかと思ったのですが、それだと世間の人にとっては無償でもなんでもなくなりますし、そちらは今あまり壊したくないというのもありました。 そこで他の選択肢を探し、見つけたのがGCE(Google Compute Engine)でした。 GCE(Google Compute Engine)を使用する  GCEは、最初にOSやCPU等を選択して、まっさらのOS環境が提供される、という意味で、レンタルサーバとほぼ同様と考えてよいかと思います。 とはいえ最低限のものは入っていると予想して、設定を開始します。今回必要なのはPython3でDjangoを動かすことです。 ここで頭の中に持っておいた方が良いと思うことは、Cloud9(AWS)側の設定と、GCEの設定がある、ということです。そして、ほとんどの作業はGCE側の設定です。Cloud9の画面を見ていますが、それはGCEに接続して作業しているということです。  話がいったんAWS Cloud9に戻りますが、新規プロジェクト作成時に、ワンクリックで環境設定してくれる、という機能はなくなってしまいました。繰り返しますが、あくまでもIDEです。ですから、SSHで接続した後は、必要なインストール作業を行う必要があります。IDEの中にターミナル機能が統合されている等は旧版と同じですので、そこで以下の作業を行います。  まず、Cloud9側でPython3を選択します。けど、これは要はIDEの設定であり、環境の設定ではありません。 では、ということで、ここからCode4StartUpのビデオを見ながら環境を作っていこうと思います。 そしていきなり躓きます。「sudo apt-get install python3-venv」ができません。以下失敗なので、簡単に流しますが、python3.4-venvなら成功しますが、ビデオの後の方で3.5であることを確認されますので、やばい、3.5にあげないと、と思います。Cloud9の画面では「/usr/local/lib/python2.7/dist-packages:/usr/local/lib/python3.4/dist-packages:/usr/local/lib/python3.5/dist-packages」と書いてあるのに何でないのだ?と思っていたましたが、これはあくまでもIDEの設定です。環境は別です。 色々調べて、「sudo python -m pip install –upgrade pip」しようとしますが、ないと言われます。色々あって、3.5ではなく最新の3.6でよいやと思い「sudo add-apt-repository ppa:jonathonf/python-3.6」以下・・・(省略)でインストールします、しかし、「python3.6 –version」では3.6インストールが確認できますが、「python3 –version」ではまだ3.4を参照しています。 そこで、pyenvというものの存在に出会い、「curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash」でインストールしようとしますが、gitが入っていない、とのエラー。なんと!そこからですか! gitインストールしてから再度pyenvインストールして、それでも「pyenv install –list」で表示されないので「sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils」して、「pyenv install 3.


Code4StartUp ~ UberEatsを作ろう ~ Swift環境

Code4Startup こちらが本題の、UberEatsを作ろう(Create UberEats with Python/Django and Swift 3)。 まずは、環境構築から始まるのですが、Python、Heroku、Atomは使用するしないは良いとして、XcodeはWindows環境だとどうしようもない。 しかし、今の時代、色々な方法はあるようで、Swiftのためだけなら、Xcodeがなくても何とかなるっぽい。 ということで、環境作ってみました。 IBM Swift Sandboxはもう存在しない? まず、最初に、「IBM Swift Sandbox」というものが気になりましたが、現在はリンク切れです。 ただ、もう少し粘ってみると、IBM Cloud App Service というものに誘導されます。 こちらを登録すると、開発環境も使えるようになるのですが、その言語がSwiftになっています。 (いろいろなタイプが選べますが、一番左上の「プロジェクトの作成」を選ぶとswiftになるのです。)

けど、より簡単なのは、Swift Kituraを選択することのようです。

しかし、いずれにせよ、Swift Sandboxで企図されていたようなものではないようです。その場でソースを書いて実行するのであればよかったのですが、あくまでもローカルでソースを書くのであれば、ちょっと必要性が薄いかなと。 こちらは、いったん中断しておきます。 ローカルにSwift環境を構築 ですので、ローカルに環境を構築することにします。 基本的には、 https://qiita.com/akira_/items/e5550dbb571a20deb3c1 を参考にさせていただきました。 Windows Subsystem for Linux、知りませんでした。 途中再起動等入るのと、これを有効にした後に、Linuxパッケージを導入する、というところに注意です。

Windowsでこんな選択画面を表示する、ということ自体驚きですが、いかがでしょうか。 その後は、インストールされたUbuntuバージョンに合わせて、記述を調整しながら進めれば、環境構築完了し、Hello worldまでは行けました。 なお、元々Git Bashが入っていた環境ですので、バッティング等も気にならないでもないですが、とりあえずどちらも動いています。 (2018年10月)結局MAC購入 Code4StartUp ~ UberEatsを作ろう ~ iMac購入して続行 結局、iOSアプリ作ろうと思ったら買わざるを得ませんでした・・・  Code4Startup


Code4StartUp ~ Landing Pageを作ろう

ちょっと、Noteを使ってみたりもしており、こちらはご無沙汰になりました。 Noteのような厳しい制約の中で書くのもそれはそれでありだと思うのですが、ちょっと厳しすぎる感もあり。 しかも、有償化はそんな簡単な話ではないなと。 ただ、ちゃんと構造化した文書、というものは意識したいなと思います。 Code4StartUpを始めてみる  実は結構前に始まっているサービスですが、最近知り、今の私に非常にマッチした学習ができそうということで始めることにしました。 登録は無料なのですが、登録すると、時間限定で、プレミアムプロジェクトであるUBER EATSコースが、499ドルから99ドルになるとの表示。あざとい・・・と思いながらぽちりました。なぜならUBER EATSこそが、今回のきっかけだから。

Landing Page作成プロジェクト  しかし、最初は無料コースから。 無料コースとはいえ、Bootstrapでランディングページを作って公開するところまでやってみよう、というのはなかなかセンスが良いのではと思います。 そして、色々知らないサービスも勉強させてもらえました。 Start Bootstrap https://startbootstrap.com/ Bootstrapのデザインテンプレート。 日本人向けだとまたちょっと違うかなという気もしますが、今回は日本人向けではないので、そういう意味でも役に立ちます。 Font Awesome https://fontawesome.com/ 講義ビデオの中では、fontawesome.ioになっている。 そして、envelope-opeのページに記載されているリンクも、講義ビデオだとclass=”fa … だけど、現在のページだとclass”fas … 理由はFont Awesomeが4から5にアップグレードされているためでした。 ”fa fa-map-marker fa-stack-1x fa-inverse”でアイコンは変更されます。 Chromeの右クリックInspectは日本語版だと検証(Ctrl+Shift+I)。 講義の中で使われている記述”col-md-offset-3”が反応しない。→offset-md-3が正解。 理由はBootstrapが3から4にアップグレードされているため。 MailChimp https://mailchimp.com/ メール送信サービス 。昔DM送信で苦労した記憶が18年たっても忘れられない身としては、ありがたや。 Wufoo https://www.wufoo.com/ フォーム作成サービス。今どきはこんな風に実装するんですね。 githubデスクトップ なかなかgithubを導入しきれませんが、これはちょっと良いかも?後日導入記を書くことになりそう。 Bluehost 海外有料サーバはあまり調べたことがなかったですが、ここが主力っぽいですね。日本だとさくらの位置づけ。ただ、日本のサービスと違い、1ドメイン取得無料は大きいかも。 一通り見てみました。 後は、公開前のセキュリティチェック等があるとよいのではと思いました。 そして、UBER EATSコースに入っていきたいと思います。


データベーススペシャリスト試験

情報処理技術者試験、平成30年度春期試験は4月15日(日)に実施されます。 今回は、データベーススペシャリスト試験 (DB)を受験しようと思います。 前回PM合格しているので午前免除が使えないかと思ったら有効期間2年ということで、ギリギリアウトでした。 合格したのそんな前だっけ??という感じですが、2015年でした。 早速本を購入。(どちらかというと期限付きポイントの使い道を考えていたら思いついたという感じ) 下記2冊が売れ筋でしょうか。 平成30年度 データベーススペシャリスト合格教本 posted with カエレバ 金子 則彦 技術評論社 2017-09-14 Amazon 楽天市場 7net 情報処理教科書 データベーススペシャリスト 2018年版 posted with カエレバ 三好 康之 翔泳社 2017-09-12 Amazon 楽天市場 7net 本当は相性もあるので、実物見て決めたいところですが、付録が充実してそうなので合格教本の方にしてみました。KOBOなのでCDはないですけど、ダウンロードとかできるのでしょう。 で、ポチろうと思ったところで、そういえばと、下記を思い出します。

ということで、購入は今晩ですね。


ソース管理サービス

秋の情報処理試験も終わり、そろそろ切羽詰ってきている仕事にどっぷりはまらなければならないのですが、忙しい時ほど色々やりたくなるというのは、何なのでしょうか。 ひとつ考えていることを始めたらまたここに書くと思いますが、さてソース管理どうしよう。 以前使っていた、Origo https://www.programmers-office.ml/origo/ は静かに眠られたようです。 その頃主流だったCodeReposも同じでしょうか。 このようなサービスだけで食っていこうと思ったら難しいでしょうね。竿竹屋くらいのノリじゃないと。 現代だと、Githubが圧倒的主流でしょうか。これはしばらくいけそうな気がしますね。しかし、CodeReposも圧倒的だったような気はしますが・・・ 対抗馬は、だいぶメジャー度が低いように思いますが、Bitbucketがいいかもと思っています。 こちらは基本Mercurialのようですが、Gitも大丈夫の模様。 運営会社Atlassianは知りませんでしたが、JIRAの開発元だそう。さらにCloverとか懐かしい名前も見える。 懐かしいという感覚はちょっと寂しいですけど・・・ ということでおそらくBitbucket使って何かすると思います。

プログラミング教育

本日はこのようなイベントに参加。 http://catechkids-kickoff.peatix.com/ 休日にいそいそとイベントに出かけるのも久しぶりかな?? サーバーエージェントのグループ会社が子供向けの教育事業を行うにあたってのイベント。 登壇者はなかなか豪華? お一人目はScratchの本を出したりしている阿部さん。 Scratchとは何かは、こちら参照。 http://etoys.jp/scratch/scratch.html 実は行くまで知りませんでしたが、パンフレットを見てSqueakかな?と思えた自分にほっとしました。 最近出た2.0ではWebアプリになったそうです。開発環境がWebアプリ。すごい世界だ。 Raspberry Piも下記を知っていたので、ギリセーフ。 http://itpro.nikkeibp.co.jp/linux/raspi/ キーワードは、「ほかの人が喜んでくれるからやる」「パクリではなく、オリジナルをリスペクト」。 お二人目は、小飼弾さん。 天才とは自分で決めることではない。だから、誰に会いに行くかが大切。 教えてくれる人ではなくて、自分を天才だとして扱ってくれる人。 これは確かに同感のところがあって、勉強は自分でするものであって、教えてもらえることというのはごく限られている。 そう言う意味では、天才を教育しようとしている事業のイベントでこのような話が出る逆説的な面白さがありますね。 三人目はドリコム内藤さん。 大人的には、一番面白い。 FREEMIUMの世界を教育事業にまで持ってきた。そしてそれを、協力と競走で煽る。 結局ゲームですよね。大の大人がいつまでゲームをやり続けるんだろうという気はしてしまう。 学習ソフトって、まだまだ発展の余地ありですね。 その後、子供たちが登場し、いろいろインタビュー。 インタビュアーの灘高生はなかなかの強者ですね。私が学生時代にやった一番無謀なバイトは灘中生の家庭教師でしたが、本当にあそこの生徒はむちゃくちゃですね(良い意味で)。 中学生くんも負けてません。以前出たイベントの感想を聞かれて「自分も緊張するんだなと思いました」。 お兄さんは、いくつになっても、人前で話すのは緊張しますよ・・・ イベント後は、今回このイベントを紹介してくださったKさん、Hさんと昼飲み。のつもりが、夜まで。 この年になっても将来を考えられない自分に、本日も反省しきり・・・ 最後に、iPhoneアプリを作りたいHさんに、とっておきのアイデアを。 上記の学習ソフトの中で、語学学習、特にリスニング・発音学習ツールです。 以前こちらで紹介した、ABリピートツール。 https://www.programmers-office.ml/ab%e3%83%aa%e3%83%94%e3%83%bc%e3%83%88%e3%83%84%e3%83%bc%e3%83%ab%e3%80%80speater/ これは本当に素晴らしいのですが、あったら嬉しいのが、同時録音機能。 このツールでは、音声の切れ目を自動で判断して、かつ、その切れ目に空き時間を設定することができます。 例えば、1秒の切れ目を検出したら、そこで3秒待つようにすることができる。 なので、その3秒で自分で発音してみることができる。 これをまるごと録音できたら、お手本と自分の発音を比較できて良いと思うのです。 現状そのようなツールはないので、私の場合、このツールで覚えたあとに、カラオケツールで お手本に自分の声をかぶせて録音したりしていますが、かぶせてしまうとやはり両方を 比較して聞くということが難しいのですよね。 というわけでよろしくお願いしますm(_ _)m