markdownパーサをgithubで公開した
以前やろうとしたc++製markdownパーサのgithubでの公開、ようやくできた。前回はvagrantの環境作成で止まったが、結局ubuntu 12.04を無理やり使うのはやめて14.04のvmを新たに作った。
公開するのにサイト名とかいろいろハードコーティングだったのを設定ファイルに追い出す修正をするだけで、すごい時間がかかってしまった。まだ他にも気になる点はいろいろあるけど、直してると2015年終わっちゃうので、とりあえず公開した。
Related posts
vagrantでdjangoでユーザ認証
ユーザ認証して、認証後のユーザ利用まで動作できたのでまとめる。 できたけど、フレームワークが提供してくれてるがいろいろ面倒くさい。 djangoって結構自前で作る部分が多いかと思うので、フレームワークがやってくれるのか、そこは自前なの?!、とかが分からなくてしんどかった。 Djangoのユーザ認証まとめ | c-bata web とはいえユーザ認証する部分は上記サイトをまるまる参考にさせていただきました。 せいぜいurls.pyの書き方が違うくらい。 ユーザ認証を別のアプリケーションから利用するところが今回の記事のメインなんだけど、モデルを起こすところも、c-bata webさんの記事を参考にさせてもらいました。しかし、差分だけ書くと作業の流れがわかりにくいので丸々書く。 アプリケーションをこさえる。todoを残すだけのアプリ。 $ python manage.py startapp todo setting.pyのINSTALLED_APPSにtodoを追加。 +++ b/django_auth/settings.py @@ -38,6 +38,7 @@ INSTALLED_APPS = ( ‘django.contrib.messages’, ‘django.contrib.staticfiles’, ‘account’, + ‘todo’, ) urls.pyにルーティングを追加。 +++ b/django_auth/urls.py @@ -23,5 +23,6 @@ urlpatterns = [ url(r’^logout/$’, ‘django.contrib.auth.views.logout’, {‘template_name’: ‘account/logout.html’}), url(r’^account/’, include(‘account.urls’, namespace=’account’)), + url(r’^todo/’, include(‘todo.urls’)), ] モデルを定義。外部キーとしてdjangoのUserモデルを指定。 admin.py。 todo/urls.pyはフレームワーク生成ではなく、自分で作成。表示のみ。更新はadminからやる。 views.py。何をこんなにimportしなきゃいかんのか分かってないけど、やる。しょうがない。まだdjangoはチュートリアルと、これしか作ってないし。 テンプレートの追加。ディレクトリ構成が気持ち悪いけど、他の書き方がよく分からない。 % mkdir -p todo/templates/todo/ % touch todo/templates/todo/index.html あとはDBを更新すれば出来上がり。 % python manage.py makemigrations % python manage.py migrate 出来上がったのはこれ。ログイン後にhttp://127.0.0.1:8080/todoとかでアクセスすれば、adminで追加したメモがUser毎に表示されるハズ。 https://github.com/vottie/django_auth 苦労したのはtodoのviews.pyでどうやればUserを利用できるか、だった。 結果Userモデルをimportしてあげることで解決できた。 もう1点はListViewでどうやればログインしたUserがGETできるかだったが、ドキュメントをしらみつぶしに読んでいったらUserはRequestオブジェクトに入っていることが分かって、ListViewのselfはrequestオブジェクトを含むことが分かって解決した。 最後に今回の環境は以下。 vagrant ubuntu14.04 python 3.4.3(pyevn) django 1.8
- Author: vottie
- Category: コンピュータ
- Tags: authentication, django, python
pythonその4 環境周りとdjangoインストール
ファイルの先頭行に何を書くのか? 直接実行したい時は以下を書くと良い。 具体的には直接実行しないクラスを書いたファイルには不要。 デフォルトエンコーディングは書いておいた方が良さそう。 rubyでのrbenvみたいなのは? わたしゃさくらのvpsにubuntu 14.04.02 LTSを入れて学習中。 なのですが、既に以下の状態。ここから実行環境の切り替えとかできるんだろうか… rubyのrbenvみたいなのは、direnvかpyenvらしい。virtualenvはその前みたい。誰かその辺の歴史みたいなのとかまとめてくれんかな。direnvはpythonもrubyもまとめて面倒みまっせ的なものみたいだけど、既にrbenvは導入済だし、今回はpyenvでやってみることにする。他の人のやり方を見つつ、以前にrbenv入れたのをhistoryで推測しながら以下を実行した。 なお、参考にさせていただいたのは以下でございます m(. .)m Ubuntu 12.04でpyenvを利用して速攻でPython3.4 + Nginx + uWSGI + FlaskなWebアプリケーション実行環境を作る (Qiita) Ubuntuにpyenvを用いてpythn環境を構築しました。(たくのこWeb) /usr/binにインストールされているpythonは置いといて、version 3.4.3をインストール。インストール前にdjangoとversionの整合性は確認した。インストールにはそこそこ時間かかる。何やらWARNINGが出てるが、気にしないったら気にしない。 rubyでいうところのgem(パッケージ管理)はpipだそうだ。pipは実行環境を先ほどインストールした3.4.3に切り替えたら入ってた。なのでdjangoをインストール。公式にある通りコマンド打ってみる。
markdownパーサを作った
ブログとは別のかたちで、今まで書いたメモをネットに載せたく、でもWikiだとメジャーなのはphp製なので中身が分からなかったり、ネット上で書くのがなんとなくおっくうだったり、最近fcgiの勉強したけど、使い道がなかったり、他の人と変わったことがして見たかったりで、fcgiで動くc++製のmarkdownパーサを書いてみた。 notes wikiを書くのはおっくうだけど、結局ローカルに持ってるノートもmarkdown形式に書き直す必要があったり…でも、そこはkobitoで書いて、サーバにアップロードしようかと思っている。
Trackbacks and Pingbacks on this post
No trackbacks.
- TrackBack URL
Comments on this post