2019.02.27 Wednesday
| カテゴリ:- |
スポンサーサイト
一定期間更新がないため広告を表示しています
| スポンサードリンク | - | - |
★
緑色さんの多目的ブログ みろりえいちぴー(旧) 引っ越し先 みろりHP: https://www.mrrhp.com ★ 2017.04.25 Tuesday
| カテゴリ:感想文 |
仁木英之『まほろばの王たち』
● まほろばってタイトルと緑色の表紙に惹かれて読んだ。まほろばってのは俺がガキのころ取り組んでいたプロジェクトの名前なのだよ。サマリと感想を書く。 ● 時は大化の改新。場所は朝廷。蘇我氏に滅ぼされた物部氏の生き残り、広足(ひろたり)ちゃんは料理が上手な女の子。料理が上手っていうけど、それがまた神懸った上手さなんだ。その料理の腕に目をつけた美しい験者、賀茂役小角(おづぬ)さんは彼女を弟子にとる。広足ちゃんとしては、師匠はめっちゃカッコイイ術師だし、山での神様たちに囲まれての生活は長閑で充実だし、とっても満足だ。 が、世間はというと中大兄皇子と中臣鎌足が蘇我氏を滅ぼし、各地に大道を敷き、野も山も統一しちまおうと動いており大わらわだ。山の民はそんなこと勝手に推し進められてはたまったもんじゃねーから、山と朝廷の確執は深まるばかり。そんな中、里には人食い鬼が出て、山には神喰いなるバケモンが出やがる。互いに「山の差し金だ!」「朝廷の差し金だ!」と一触即発の雰囲気になってしまう。 そこで立ち上がるは我らが小角師匠である。手始めに神喰いを待ち伏せて正体の見当をつけ、鬼の住処に入って人食い鬼の事情を調べ上げた。事の次第がわかったので朝廷へ行ってみると、賀茂の族長である大蔵さんが中大兄皇子をだまくらかして山と山の民に関する全権を頂戴しようとしているところだった。そう、この大蔵こそは鬼をだまくらかして人を食わせ、神を食って山と里の関係を悪化させ、ドサクサに紛れて力と権力を得ようとしていたクソ野郎なのである。小角師匠は神たちと共に大蔵を取り囲んで撃退した。 だけどぶっちゃけ全てが大蔵さんのせいってわけでもないだろう。そもそも山を手中に収めようなんて中大兄皇子と中臣鎌足が言い出したからこんなことになってるのだ。小角師匠はここぞとばかりに「今後山に手を出さないように」と申し出るが、皇子は「天の下にあるものはすべて国の一部だ」と話をきかねー。平行線のまま事件はとりあえず終結を迎えたとさ。 ● 気に入ったくだりを以下に。 広足ちゃんのお料理シーンが好き。
ストーリーとかキャラに思い入れはまったくできなかったが、文章がやさしくてとても読みやすかった。理解に躓くところが全然なかったね。村上春樹とは違ったやさしさ。まるっこい感じ。村上春樹の清潔な読みやすさとは違う。俺もこういう、文章における自身の色みたいなもんが欲しいところだぜ。 AMAZON2017.04.23 Sunday
| カテゴリ:プログラミング |
Python デコレータ奮闘記つづき
● 目次。 ● こないだのデコレータ奮闘記はおおむね無事閉幕したのだけれど、ひとつ疑問が残っていた。デコレータというロジックが登場する場面には汎用関数先行型とデコレータ先行型があるが(ネーミングは俺)、なんで後者にだけ@の省略記法があるんだろう? ってものだ(先回の一番最後に書いたやつ)。この件に自分なりの解決がつけられたので書く。
それはだな…
● ところで、だとすれば、デコレータは汎用性に富んだ書かれ方をすべきだろう。俺が先回から書いてたやつはまさにcall()の拡張にすぎなかったから、めっちゃ抽象度の低い作りだったよな。デコレータ自体に引数を取らせたり、可変長引数に対応したデコレータの書き方もついでに覚えておくぜ。 例として、関数をデコって返り値の文字数を数えるデコレータを作ってみる。ほんで、デコレータ自体にTrueを与えたらスペースも数えて、Falseを与えたらスペースはカウントしない、って作りにする。なんかねえ、デコレータ自体に引数を渡すには、デコレータをさらにネストして定義しないといけないらしいぜ。
● 疑念は的中し、@記法を使わず、デコレータに引数を渡したい場合は以下のようなデコレータ定義をしねーといけない。
● いやつまり、これはつまり、@使用のデコレータと@不使用のデコレータはてんで別物ってことになるよな!? 何が「省略記法」だ。省略じゃないよコレ。まるで別物だよ。つーわけで今回の奮闘の結論は以下。
おつかれさまでしたァ! 2017.04.22 Saturday
| カテゴリ:プログラミング |
Python python3でウェブサーバを作る(Bottleでリトライ)
● 一年前、pythonでウェブサーバを作ろうとしたことがあったんだけれど、道半ばで挫折した。確かcgiとかいう機能を使ったり、pyスクリプトとテンプレートを分けたり、中途半端に非同期処理を組み込んだりした挙句、日本語表示がうまくいかなくてイヤになってヤメちゃったんだよね。そのリトライをするぞ。あれから一年、趣味とはいえきちんとクラスを覚え、ちっちゃなものではあるがゲームを作り、Skype Botを作り、DialogFrameなんつー俺俺フレームワークまで作ったのだ。今ならばいける! かもしれない! というわけで「1日1python」のお時間です。今回は前回のhttp.serverではなく、Bottleモジュールを使ってウェブサーバを作る。 先回のhttp.serverをもう一度触り直してみたのだけれど、「pythonを使ってページを表示するにはどうしてもURLが/cgi-bin/になっちまう。もっと自由にURLを決めたい」「htmlテンプレートの中でpython側の変数とか処理をかけない」なんつー不満点があったのよな。でもBottleがすべて解決してくれた。 ● 目次。
0. とりあえずこれ書いとく
1. 一番シンプルなやつ
2. URLにワイルドカードを使う
3. テンプレートを使う python側がこう。テンプレート側へ変数を渡すにはこういう書き方をする。
viewsというディレクトリを作ってその中に置く。以下にpythonから受け取った変数の表示方法とかテンプレート内pythonスクリプトの書き方とかを記載する。
4. GETクエリを使う
5. POSTクエリを使う
6. リダイレクトする
7. ステータスコードでハンドリングする えっとぶっちゃけ俺はステータスコードなるものは404くらいしかしらんので404の例を。存在しないURLにアクセスしたら、/5/にリダイレクトするようにしてみた。
8. 静的ファイルを使う pyファイルと同階層に静的ファイルを置くディレクトリ(例では static)を作り、ソコを静的ファイル置き場として登録する。
● こんなところで俺のリトライは無事成功した。自身の成長を感じられてふんすふんすしつつ改めて先回の奮闘を見ると、いやあpython全然関係ないところで詰まってんなあ。「ネットに情報がねえ」なんて理由で挫折しているが、まあ多分それは、当時もBottleとかDjangoとかそういう単語自体は目に入ってたんだろうけど、馴染みのないモジュールの蓋を開けてみることにまだ抵抗があったのだろう。ちなみにBottleの前にDjangoも試してみたが、あっちはなんかスゲー規模がでかいわディレクトリに色々ファイルが増えやがるわでタイヘンだったので、import一本で済むBottleを今回は採用した。 使用をヤメたhttp.serverについては、使うのがhtmlだけだったら即採用だと思うぜ。なにせターミナルから一行で立ち上がるからな。
● こんなゲーム。 2017.04.18 Tuesday
| カテゴリ:プログラミング |
Python デコレータ奮闘記
● 見たことない構文が目に留まった。
● どうもデコレータは機能ってよりプログラムの書き方の技術のひとつみたいだな。ある汎用的な関数に何か機能を追加したいときに用いる技術だ。上書きじゃなくて、追加。上書きしたいんだったら単に定義しなおせばいいわけだもんね。関数をまるごと上書きするんじゃもったいないから少しずつデコレーションして使おうってことな。ほんで、汎用的関数をデコレーションするために使う関数のことをデコレータっていうわけだ。そういうことなら話が早い。実際に書いてみるぜ。 今回の目次 ● クラスとインスタンスを使ったデコレータを書いてみる まず汎用的なものを作る。
使ってるうちに、名前だけじゃちょっとさみしいから枠線をつけたくなった。枠線でデコレーションをする、Deco_Wakusenデコレータを作る。上のクラスの続きに記述する。
今度は枠線じゃなくて、名前を大文字にして表示したくなった。やることは同じだ。
それでデコレータの楽しいトコなんだけど、メソッドを上書きしてるわけじゃないから、続けざまにデコレーションをすると単純に機能が追加されていくのだよ。まず汎用物を作って、枠線デコレータでデコレーションして、さらに大文字デコレータでデコレーションしてみる。
上述の例ではわかりやすさのためいちいちインスタンス名を変えてたけれど、同じインスタンス名を使ってもOK。使用感がまったく変わらないままデコレートした結果が飛び出してくる。テンプレートとしてまとめるとこんな感じか?
● クラスはちと大袈裟だからふつーの関数で書いてみる いやお前いちいちクラス使うことはねーだろということで関数でやってみる。
枠線デコレータとしてはこういう関数を用意。
大文字デコレータ。
重ねがけ。
まとめるとこう。
● @を使って書いてみる おいデコレータ実現できちゃったじゃねーか。どこにも@が出てこないぞ、というわけなんだが、これは上述のスクリプトを簡単に書くために使えるようだ。具体的には以下。
というわけでな、冒頭で俺の目に留まった記述は、関数foo()の中身を、どっかにあるproperty()という関数で加工しているんだよーということを表していたわけだ。これの直後にfoo()を実行したら、fooに書いてあることそのままじゃなくて、propertyでデコレーションされた結果が返ってくるのだろう。いやー、調べる前に実行していたらえらい混乱が俺を襲っていたぜ、ハッハッハ。
● さて、みっつの章に分けてまとめてみたわけだが、最初のふたつと@使用バージョンでは趣が異なるのが気になる。俺がデコレータという概念を調べて実際に試してみた「クラスバージョン」と「関数バージョン」は、「まず汎用的な関数があり、それをあとから目的に合わせて異なるパッチを作って当てていく」という状況想定で書いてある。いっぽう@でデコレーションを簡易化しちゃうぜバージョンは、「まず汎用的なデコレータがあり、それを必要に応じて装着していく」という状況を想定しているように見える。たとえばデコレータが「関数実行結果のログをとっておく」みたいな内容だとしたら断然後者のほうが使いやすいだろう。でも前者の登場機会だっておんなじくらいあるんじゃねえ? 俺が何に引っかかってるかっていうとさ、「汎用関数が最初にある」型と「汎用デコレータが最初にある」型のうち、後者にだけ@を使った省略的書き方があるのはなんでなんだろう? ってとこなんだよ。俺がデコレータという概念を知って自然に発想した型が前者だったから、余計にね。これについては特に答えが見つかんなかった。まあ当初の目的は果たせたのでグーとする。1日1pythonどころか、このスクリプト完成にこぎつけるのには一週間くらいかかっちゃったけどこれにて閉幕。 2017.04.16 Sunday
| カテゴリ:感想文 |
マリー・セクストン『ロング・ゲイン』
● 親愛なるルームメイトが貸してくれた。サマリと感想を書く。 ● コーダ町に住んで兄夫婦とともに小さな店を切り盛りするジャレド・トーマス。ある日コーダ町にタフガイのマット・リチャーズが越してきた。彼はジャレドのタイプど真ん中で、ジャレドはすっかりまいってしまうんだけれど、やんぬるかなマットはストレートだった。ジャレドはその恋をしまい込むことにする。が、しかし良いのか悪いのか、ふたりはめちゃめちゃ気が合うのだった。応援チームは違うけれど同じフットボールファンで馬が合うし、マウンテンバイクで山を一緒にライドすればもう最高。ジャレドのほうはゲイだってことで周囲から孤立してたし、マットは親の指図に逆らって進路を決めたことで家族とも疎遠だし孤立しがちな性格だった。それがお互いソウルメイトに出会っちまったものだからもういっつも一緒に遊んでいた。 ふたりの友情は確かなものだったが、生活に問題がないわけではなかった。ジャレドは家庭教師の腕をかわれて学校からスカウトされるが、心無い人々からゲイであることをあげつらわれるのを恐れて小さな自分の店に閉じこもっていた。マットはジャレドとつるんでいることでホモ疑惑を立てられ、微妙な立場におかれていた。孤独が募る中、マットはジャレドに惹かれていることに気づき、唯一の親友たちは恋人どうしになった。 ある問題が持ち上がった。マットがやたらとジャレドを職場の連中に会わせようとしたり、学校からのスカウトを受けるよう強要してくるようになったのだ。ジャレドは断固拒否の姿勢だ。差別を受けてきたし、もうそんなことは御免だからだ。だがマットは「これからずっと一緒にいるのなら、お前を愛していることを恥じ隠しながら生きるのはまっぴらだ」と説き伏せる。ジャレドは外の世界に立ち向かう意思を固める。 そもそもジャレドは一般的にイメージされるなよなよしたゲイではない。マウンテンバイクに乗らせれば一級の腕前と体力があるし、犯罪者を前に大事な人達をかばうような勇気もある。そういうところが知れ渡ると、あっさりと彼は受け入れられた。マットのどや顔がちょっと気に障るが、ジャレドも彼が正しかったことを納得せざるをえないのだった。 ● てわけで今回はボーイズラブのお話だった。ボーイズラブの漫画もいくつか読んだことがあるけれど、ハッピーエンド系のボーイズラブは結構好みだ。なんだろうな、俺が男性同士のセックスに興味がないから、いちゃらぶからセックスを濾し取って残った愛情だけが顕著に感じられてジーンとするのかもしらん。ほら女の子のセックスが出て来る話だと、話を頭や心で感じると同時に、ちと表現がアレだけれど下半身でも感じ取っちゃうじゃん。それがないのが気持ちいいのかな。 しかしジャレドはすげえ感じのいい男だったぜ。人当たりが抜群にグッド。自身のゲイをネタにして冗談言ってるときの輝きが半端じゃない。「きみのバチェラパーティを企画してあげるよ。ただしストリッパーは僕の趣味で選ばせてもらうけどね」。山歩きやマウンテンバイクのライドが大好きなのも好感度高いよな。
2017.04.10 Monday
| カテゴリ:感想文 |
Paul Graham『ハッカーと画家』
● 知り合いが貸してくれた。エッセイだから、サマリというより、楽しめたくだりを個別に書き下す感じでまとめる。 ● ハッカーは科学者ではなくもの創り。
富とお金は違う。本当に欲しいのは富である。
よいデザインは「人それぞれ」ではない。
ハッカーを育てる方法は?
● 楽しめたよ。この本から感じた印象が以下だ。 1. 自分を優秀だと思っている。 2. 自信があるから、ものごとを明確にすることを恐れない。 3. そういうマイノリティな生き方に親しんでいるから、似た生き方をしてきた人々に同調と仲間意識をもつ。 つまり俺ですね。全体的にこの本は、どんだけ自分が正当か理論立って説明したものだ。通読にあたりずっと気分良くいれたのは、全編に渡ってホメられているように感じたからだ。これは以前『マズローの心理学』読書で感じたものと同じだ。俺が思うに人ってのは、一度は自分ですでに考えたことがあること以外を理解することはできない。本を読んだ初めての理論をその場で理解できたとしたら、それは一度自分の頭で考え直して理解しているんだ。この本にあることのほとんどは俺が慣れ親しんだ世界観に存在する思想だったから、よく理解できて気楽な読書だった。さらに俺は最近プログラムをかじっているからそういう分野の記述もそこそこ理解できた。いやあ楽しめたぜ。 だけど、書いてあることがだいたい俺の頭にあることだったとはいっても、同じような文章が書けるかと言われれば否っぽい。すごく文章がうまいと感じた。たくさん出てくる例え話も理解しやすかったし、さすが業界でたくさん経験されてるだけあって説得力ある具体的な記述にあふれていた。 AMAZON2017.04.08 Saturday
| カテゴリ:プログラミング |
C# Python 乱数生成ノート
● C#の乱数生成はシード値を自分で設定しないといけないってのが新鮮だったぜ。 ● 範囲指定(startからend-1まで)で乱数を取り出す関数。
● で、pyてょんちゃんで同じことするとこう。
2017.04.01 Saturday
| カテゴリ:アコギ |
アコギ Mr.Big『To Be With You』
● 恒例の月イチアコギ公開。 今回はちょっと色気づいてワイプ切るなんてことをやってみた。でも実はこれ苦肉の策で、ほんとうはやりたくなかったんだよな。メインでストローク演奏、ワイプではアルペジオ演奏ってことをやってるわけだけど、これって実際に演奏を見せようと思ったら二人必要になっちゃうじゃん。俺は全部ひとりでやりたいのだ。なんとかしてアルペジオとストロークを同時に繰り出せないかってことを試してみてるのだけど、これがまた難しいというかそもそも可能なのかすら怪しい。でもひとまず月イチでひとつ公開って習慣は続けていきたいので、今回はこんな形でお送りしました。 ● 『To Be With You』は知り合いからのリクエストだ。「ギターソロのとこがめっちゃ難しいから挑戦してみなよ!」って。いや全くその通りで、ワイプまで切ったくせに、前回の『亡き王女の為のセプテット』と同じく弾きやすいように自分なりの簡易化アレンジをしてある。
|
+ 閲覧記事
+ 過去記事アーカイブ
年ごと
カテゴリごと
+ 年月選択
+ カテゴリ
+ ブックマーク
+ 最近のコメント
+ アクセスカウンター
全体(since 2010.02.03.)
今日… 昨日… |