ウニ’s blog

勉強した結果を書いていきます

Python3で簡単なwebサービスを作る(20)

最大のタスクだった、TOP画像をどうしようかという日だった。 エンジニアの他にデザイナは絶対必要だ…。ものすごい時間かかった。 これは、エンジニアとデザイナのマッチングサービスが必要。(もうあるかも)散々悩んだ末・・・・・・結局いらすとやじゃね…

DUO3.0本をやる(1)

変数名に使う英単語ボロボロなので、語彙力を高めるために11/9に購入。DUO 3.0作者: 鈴木陽一出版社/メーカー: アイシーピー発売日: 2000/03メディア: 単行本購入: 197人 クリック: 3,012回この商品を含むブログ (725件) を見るAmazonのレビューに以下があっ…

Python3で簡単なwebサービスを作る(19)

サイトの細かいコンテンツをゴリゴリ書いたり、Djangoのtemplateを部品化したり。 うれしかったのは、tamplateのurlリゾルバがエラーで動かなかった奴がついに動いたこと。 pdbでトレースしまくってようやく使い方がわかった。しんどかった。あとはもう細か…

Python3で簡単なwebサービスを作る(18)

細かい気になる点が無限に出てきてるよ。終わらねえ! デザイン部分作り込んだのと、そいつを開発サーバー環境に取り込んだ。結合は自分のスキルでは解決不可能なハマりが出るかもしれないので、かなりドキドキした。 結局いろいろ修正はしたが、なんとか開…

【twitter】ツイートするボタンの内容を動的に設定する

ajaxで非同期に取り出した結果を反映させたtwitterボタンを作りたい。 静的なツイート内容だと、公式のボタンジェネレータで簡単に作れるんだけど、動的にツイート内容を変えようとするといきなり難しい!調べた所、Twitter DeveloperにFactory Functionsっ…

Python3で簡単なwebサービスを作る(17)

サーバーサイドの細かいtodo潰しと、POSTmethodのajax化。 メインページ以外のページもほそぼそと作り始めた。top100の会話率表など。 CSSの鬼門は超えたので、ようやくいろいろと他に手を出せるようになったのがありがたい。ajaxはサーバーサイドでわけわか…

【Django】Djangoでの異常検出結果をslackに通知する

連携用のモジュールはいくつかあるが、django-channelsモジュールで非常に簡単に実現できたのでメモる。 下の画像はtestCaseで異常系を動かし、Slackに異常通知が行っているかを試した結果。ちゃんと通知来てる!うれしい。 ここ1週間ぐらいCSSが思い通りに…

Python3で簡単なwebサービスを作る(16)

進捗が悪すぎる。苦しいなあ。フォントのレスポンシブ対応でものすごくハマってしまった。 やっと崩れ難いレスポンシブデザインのやりかたがわかってきた。ような、まだ全然わからないような。ハン先生のコメント部分を考えるのは楽しいな。 今のところ良い…

Python3で簡単なwebサービスを作る(15)

CSS怖いCSSつらい。キャラクタ+吹き出し表現がどうしても難しい。 難問だ・・・。条件を整理してteratailで聞いてみようかな。

PCからスマートフォンレイアウトの確認

レスポンシブサイトの表示確認 ChromeでF12押下。ディベロッパーツールを表示。 携帯電話アイコンがあるので、そこをクリックするとスマフォサイズの表示確認ができる。 参考 blog.codecamp.jp まとめ Chrome便利すぎる。 ディベロッパーツールの使い方よく…

Python3で簡単なwebサービスを作る(14)

CSSは沼!エンジニアが気楽に突っ込んで良い世界じゃなかった・・・! カッコイイテンプレートを改造するだけでいいやと思って、コードを見たら全然知らないNode.jsだとかless?だとが始まってて、にわか知識では全くカスタムできる気がしない。しょうがない…

Effective Python本をやる(5)--終了

とりあえず、読み終わったけど理解しきれてるとは思えない。 折を見て何度も見直そう。難しかったジェネレーターとコルーチンのところは時間を掛けて読んだけど まだyieldの使い方があんまわかってないなー。 とりあえずメモリバカ食いしそうな処理のときに…

【Python3】Djangoの開発用サーバーをスマフォから動作確認する

settings.pyのDebug=Trueの場合は、localhost以外のアクセスを弾くらしい。Settings | Django documentation | Django When DEBUG is True and ALLOWED_HOSTS is empty, the host is validated against ['localhost', '127.0.0.1', '[::1]']. 手順 スマフォ…

Python3で簡単なwebサービスを作る(13)

テスト完了。 model,view,urls,formに対してテスト作成した。一部除いてPassした。んで沼感あるCSSはコピペですまそうとしたけど、 生半可なコピペ(下図の壊滅的なBootStrap感)を延々と手直ししてグダグタ時間食うより 基礎講座やって、内容抑えたほうが結…

Python3で簡単なwebサービスを作る(12)

モデルのテストケース完了。Viewのテストケース今日中に作る。 とりあずpassだらけじゃねーか! 頑張ろう。終わらなかった! urlopenのmockがうまく動かなくてものすごくハマってしまった。明日頑張ろう。 その他 まだ無線Lan死んだのでレッツノート破棄する…

Python3で簡単なwebサービスを作る(11)

進捗ほぼなし。teratailの回答眺めたぐらい。 レッツノートの無線ドライバの異常直してほぼ1日潰れた。いやー、消えて欲しいわ。 次ハード異常出たら諦めてmac買おう。でも、新型mac評判あんまりだし、コスパ悪く感じるので全くうきうきした気分にならない…

【Python3】djangoでのpdb

pyCharm community版だとDjangoのデバッグがうまく出来ないので やり方を調べました。 pdbを使う デバッグしたいところにコードを仕込む def foo_func(): my_value = 10 import pdb pdb.set_trace() 該当箇所に処理が来たら、shellが起動するので、デバッグ…

Python3で簡単なwebサービスを作る(10)

う、とうとう(10)になってしまった。今日は通信量計測方法調べてて相当時間食った。 トランザクションについてteratailで回答いただいた。まだ噛み砕けてないので、適用方法を検討して返答しよう。teratail.com テストコードだるけど、今日はせめて1個書こ…

Python3で簡単なwebサービスを作る(9)

ひたすらリファクタリング。異常系は結構終わった。 あとは息抜きにwebサービスのfavicon.icoを作った。会話の「」となろう小説の n と ncodeのnを掛けた感じ。 今更だがnを大文字にしとけばよかったな・・・。 背景が白の場合だと緑の四角が浮いてる感じ見…

Python3で簡単なwebサービスを作る(8)

異常系ばっか書いてる。仕様が不明瞭なところを明確化した。 あとは監視用のメタテーブルとトランザクション。 テスト・・・・は頑張って書きたいけど、億劫だ。androidのABC 2016はすごい刺激になった。 はやいところ切りをつけて、TensorFlowを試してみた…

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造本をやる(1)

休み日。銭湯行った。あとはPython3組み込みデータ構造についてちょっとだけ整理した。 データ構造について基本的な知識しかないので、 プログラミングコンテスト攻略のためのアルゴリズムとデータ構造本を読むことにした。プログラミングコンテスト攻略のた…

Python3で簡単なwebサービスを作る(7)

テスト全然書いてないけど、正常系はとりあえず動いた。 エラーハンドリング頑張って月曜でデプロイ&公開してとりあえず終えたい。あとは友人と勉強会に出席して、その後の飲み会で作ってるもの見せあったりした。 友人の構想5年アプリには完敗したw ああ…

Effective Python本をやる(4)

6章終わり。競技プログラミング時に組み込みデータ構造を割り付けることが多いので、特性をまとめたい。 明日やろう。5章も予習。コルーチン全然わかんねえ。即興で使える気もしない以前に理解できてない。 とにかく、ライフゲーム写経しよう。やること詰ま…

Effective Python本をやる(3)

7章読んだ。パッケージ公開する時に見直そう。 Djangoでモジュールエラー出まくったので早速動的importとかを試したが、 原因がぜんぜん違うので役に立つタイミングじゃなかった。いよいよwindows + pyCharm嫌になってきた。ウブンツ祭り行くしか・・・。Eff…

Python3で簡単なwebサービスを作る(6)

フレームワークきらいです。 なんか1個進める毎に謎エラー出る最悪な1日だった。 結局vertualenv環境が別なプロジェクトのヤツになってたというオチ。 そりゃモジュール無いってエラー出るわな。ハァ・・・ 新しい技術導入時はこういうことになる、って気持…

Effective Python本をやる(2)

全然難しい! 読み進められないのでなるべく平易なところから読んでます。8章終わり。7章途中。Effective Python ―Pythonプログラムを改良する59項目作者: Brett Slatkin,石本敦夫,黒川利明出版社/メーカー: オライリージャパン発売日: 2016/01/23メディア: …

Python3で簡単なwebサービスを作る(5)

うううう。Postのリダイレクトがうまく行かず終わった1日。 なんか基本的なこと見落としてるんだろうな・・・・。Django公式のチュートリアルは一応最後までやった。 pythonGirlsJpと似た内容だったけど、Django初学者なんで何度でも基本やりますよ。ええ。 …

Python3で簡単なwebサービスを作る(4)

Django+Herokuがおまじないばっかりだったので、一度PythonGirlsJPを整理した。 差し当たり必要なサイトの構成を考えるのにcontributeがどんなものがあるか知る必要がある。 Django公式のチュートリアルを進めながら、構成を考えていこう。2章まで進めた。 …

GitHubにツールを公開する(3)--終了

Qiitaに記事を投稿した。qiita.com 感想 主コード部分より、GitHub用に体裁整えたり、記事書く方が労力かかった・・・。 サクサクッと良記事上げてる人は尊敬するよ、ホント。 しばらくはツール上げたくない!もうしばらくは。

Effective Python本をやる(1)

2章まで終わった。 なんとなくページ数が少ないので気楽だ。その分ちょっと割り高感もあるけど・・。Effective Python ―Pythonプログラムを改良する59項目作者: Brett Slatkin,石本敦夫,黒川利明出版社/メーカー: オライリージャパン発売日: 2016/01/23メデ…

Python3で簡単なwebサービスを作る(3)

ひたすらDjangogirls日本版を写経。写経苦痛すぎる。謎エラーに対応できない。 こういうフレームワーク初心者が途中で折れないような勇気づけがほしいわ。 一応最後まで行った。謎エラーでるところのコード修正版はpullrequest出しておいた。 せめてやった感…

【Python3】小数の桁数を数える

一撃でfloatから小数の桁数を取り出せるmethodがあるかと思ったけど、無かった。 練習サイトの問題ぐらいにしか需要がないためかな。for文で悲しく数えてたけど、文字列に変換してやるとよいと聞いたのでやってみました。 f = 1.123456789 f_str = str(f) do…

Python3で簡単なwebサービスを作る(2)

引き続きDjango girlsで教習中。 Herokuへのお試しDeployまで行った。おまじない多すぎてそろそろ限界っす。 参考サイト qiita.comwww.gitbook.com 感想 (windowsだと) pyCharm無料版のみで単独で完結出来ないので、コマンドラインとの連携が必要。 今までPy…

Python3で簡単なwebサービスを作成する(1)

なろうディベロッパーのAPIが面白かったので、webサービスと連携させよう。 Python3とDBの練習になるだろう。 構成 Python3 + Heroku + Django + postgreSQL今んとこ思いついている構成。 詰まったら見直す。 未検証領域 Python3以外未知! 以下の順で動作検…

【非電源ゲーム】漫画ジャケ買いバトルのルール作った

地元でやってる年末のボドゲ会がマンネリ化してきたので、久々に自作ゲームを作った。 漫画ジャケ買いバトル 知られてないマンガで、面白いやつ見つけた人が勝つルール。 基本ルール それぞれマンガを買って、全員で回し読みする。 1冊読み終わったら、某社…

GitHubにツールを公開する(2)

細かい修正してても全然進まないので、GitHubにとりあえず上げた。 github.com やったこと GitHubに上げた ignore失敗してゴミファイル上げたり消したり コード修正 テストデータのフォーマット異常をちょっとだけexceptでキャッチできるように テストデータ…

【Python3】namedtupleの使いみち

namedtuple使いなよって入門Python3に書いてあったけど、いまいち使いどころが・・・。 調べたけど、基本的にはmethod無しでよいobjectを簡単につくれる、という使い方が良いようだ。 Classを使う方法 class User(): def __init__(self,name,age,isInu): sel…

【Python3】なろう小説APIサンプルプログラムのPython版

なろうディベロッパーのphpサンプルコードをPython3で書きました。 Python3版 import json from urllib.request import urlopen import gzip #sample get #refer to: http://dev.syosetu.com/man/sample01/ #APIのURL(パラメーターを指定してください) url =…

【Python3】文字列を\uを含む文字列に変換する。元に戻す。

jsonデータを展開したら\uを含む文字列が出てくる。 \uはunicodeの表現だということは分かるんだが、そもそも文字列がどういう状態になっているのかイマイチ分からない。 そこでPython3上でどんな扱いなのか調査した。結果は以下。 \uを含む文字列とは 文字…

PythonによるWebスクレイピング本をやる(2)

2章から最後まで予習した。なんか思ってた本と違った。 ❌ 延々とscrapyについて説明する本 ⭕ スクレイピングをすることにまつわる幅広い知識が書かれている本関係する技術を広く解説してあるが、それぞれはあまり深くない。 本質的なハマりを避けられるよう…

Python言語によるプログラミングイントロダクション本をやる(2)

2章終わった。練習問題はやってない。 計算複雑性の話がちょっと出た。2章から怖い。途中で絶対脱落する気配あり。Python言語によるプログラミングイントロダクション: 世界標準MIT教科書作者: ジョン・V.グッターグ,John V. Guttag,久保幹雄出版社/メーカー…

GitHubにツールを公開する(1)

つらい。README.md書くのがすごくつらい。そんな1日だった。 ツールの基本動作部分は割りとあっさり出来た。 しかし、他人に使ってもらえるように細部の体裁に仕上げるぞ! と、思ってからがものすごく時間かかってて、もうなんだか嫌になってきた・・・。 …

Pythonによるwebスクレイピング本をやる(1)

1章終わり。めちゃめちゃ簡単にウニズblogのデータ取得し、htmlの要素を取り出せた。 何この楽。 javaだと眠くなるコード散々書かされて、何も得るものがなく終わってたと思う。 いやあ、これは楽しそうだ!張り切って頑張ろう。PythonによるWebスクレイピン…

Python言語によるプログラミングイントロダクション本をやる(1)

コンピューター概論系の本を読んでおきたかったので、Pythonつながりで購入。Python言語によるプログラミングイントロダクション: 世界標準MIT教科書作者: ジョン・V.グッターグ,John V. Guttag,久保幹雄出版社/メーカー: 近代科学社発売日: 2014/12/29メデ…

入門Python3本をやる(11)--終了

11章と付録C終わり。練習問題もやった。ネットワーク系の練習問題が実行するのがつらい。 気持ちが乗らず、時間がかなりかかった。最終的に11章までマインドマップ風でキーワードをまとめた。 感想 読み終わってPythonに入門できたかというと、まだ全然出…

入門Python本をやる(10)

11章と付録Cを予習。重い・・・。 ある意味この本の集大成な章が11章なので明日腰をすえて取り組みたい。 知らない用語がとても多かったが、Qiitaやはてなで見たことある単語のものも多い。 11章はマインドマップ風でまとめておきたい。入門 Python 3作者: B…

【Python3】コクのあるnumpy.randomをプロット

togetterの「乱数にコクを出す」記事が面白かったので、matplotlibの練習がてらプロットしてみました。 togetterで色々突っ込む人がやたら詳しくて勉強になります。 原理としては、randの平均を取ると中心極限定理で正規分布に近づくとのこと。「コクの有る…

入門Python3本をやる(9)

9,10章終わり。練習問題もやった。 BottleとFlaskによる簡単なサーバー、クライアント実験はほんとに気軽に出来て楽しい。 djangoってキーワードをよく見かけていたけど、PythonのDBが使えるフレームワークのようだ。 スクレイピングにも軽く触れていた。本…

【Python3】辞書の値からキーを探す

パッと出てこないのでメモしておきます。 my_dic = {} for i in range(10): my_dic[str(i)] = i #dictionary から値が8のキーを探す / list内包表記 out = [ k for k,v in my_dic.items() if v == 8][0] print(out) # 8 カッコつけた表現ではなく、発想に無…

【Python3】2次元リストの初期化はヤバイ

2次元リストの初期化は以下のようにやること。1千万人ぐらい同じこと書いてそうですが。正常コード my_list = [[0 for i in range(2)] for j in range(2)] my_list[0][1] = 1 print(my_list) # [[0, 1], [0, 0]]