取得した日付オブジェクトから年月日を取得して日本語文字列にした

前回の延長な感じで。

>>> import datetime #datetimeモジュールをインポート
>>> 
>>> t = datetime.date.today() #datetimeがモジュール名、dateがクラス名、today()がメソッド名
>>> t 
datetime.date(2012, 7, 17) #date型インスタンスが入ったことを確認
>>> t.year
2012 #こうするとdate型インスタンスのデータ属性が確認できます
#str()メソッドを使って、date型のデータ属性を文字列型にして、他の日本語と合わせた文字列にします
>>> ydate = str(t.year) + '' + str(t.month) + '' + str(t.day) + ''
>>> print ydate
2012年7月17日
>>> 

変に説明いれると目障りですね。
でも説明しようとすると色々調べる。

datetime.date.today()で取得できるのはローカルなものです。
でもチームのプロジェクトではグローバルな時間を基準に作られているので、
その違いを理解して考えるのが大変です。。

今日や昨日の日付を扱った

f:id:nehalemv:20120716003502p:image:medium

datetime.date.today()は今日の日付をとってくる。

404 Not Found

>>> import datetime
>>> today = datetime.date.today()
>>> today
datetime.date(2012, 7, 16)

.strftime(format)はそれを文字列にしてくれる。
formatに表現する文字列を指定する。いろんな形があるので、リンク先を参照。

404 Not Found

>>> import datetime, time
>>> today = datetime.date.today().strftime("%Y-%m-%d")
>>> today
'2012-07-16'

昨日を求めるときにdatetime.timedelta()を使った。

404 Not Found
SREngine: Sein blog: 【Python】 datetime.dateによる日付の演算

>>> yesterday =  datetime.date.today() - datetime.timedelta(1)
>>> yesterday
datetime.date(2012, 7, 15)
>>> yesterday =  datetime.date.today() - datetime.timedelta(days=1)
>>> yesterday
datetime.date(2012, 7, 15)

つまったところ

[インストール]、[my.cnfの編集]、[mySQL serverスタート]まではうまくいきましたが、最後の[mysql_secure_installation で初期設定]でコケてしまったので、メモ。

Enter current password for root (enter for none):  ← 空ENTER
OK, successfully used password, moving on...

となるはずの箇所で、

Enter current password for root (enter for none):
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

となってしまいます。
検索してみて、三つほど適当だと思うものが挙がりました。

第一・第二は試してみましたが、特に反応がありません。
第三は、用い方がよくわかりません(;´▽`A``

というところで、切り上げ〜

Vimはじめました

f:id:nehalemv:20120418011820j:image:left
Pythonスタートブックは一周し、二週目の半分目くらいです。
基本情報は爆死。午後はJavaソースを見るまえに時間が終わった。
残念だが当然と言える。

開発環境をUTSGチームの方々と合わせるために、mysql導入を試みます。
mysqlは以前、windows上virtualboxubuntuに目の前で入れてもらい、その後のubuntuOSアップデート失敗により自力構築した際、apt-getなんちゃらで入れた気がします。

今回は、細かい仕様がチームに合わせたものになっているとも思うので、導入からチームのwikiに従うことにしています。
設定ファイルをいじるところで、テキストエディタでは権限が及ばないことが分かり、ついにVimに手を付けることにしました。

Vimとは何ぞや?
参考:Vim - Wikipedia

Vim(ヴィムまたはヴィアイエム)は、vi から派生し、発展した高機能なテキストエディタである。

VimGUIを必要とせずCUIで動くため、UNIX系OSに標準で搭載されていることが多い。 コンピュータの大容量化と高速化にともない、2000年以降のOSでは viに代わってより高機能な Vim、あるいはその機能劣化版が標準装備されるようになってきている。 このため、コマンドライン上でviを実行すると代わりにVimが起動するディストリビューションも一般的となってきた。 Vimは基本的にCUIで動作するが、GUIで動くVimのことを特にGVimgVim, gvim, ジーヴィム)と呼び区別している。マウス操作など、GUIであることを生かしたGVimにしかない機能もある。

viエディタと同様、キーボードのみで操作されることを前提としていたため、キーボードのみですべての操作が可能になっている。 その基本的な操作方法はviと同じで、状況に応じてモードを使い分けることでテキストを編集していき、小さなコマンドの組み合わせをその場で作ることによって多種多様な機能を実現する。 Windows系エディタ(メモ帳など)などの他のエディタとは操作方法がまるで異なるため、一通りのテキスト編集作業ができるようになるまで慣れが必要となる。 しかしながら、一旦慣れてしまえばメモ帳などとは比較にならないほどのテキスト編集速度を得ることができるため、数多くのVim愛好家が存在する。 Vimの他の機能と併せて、プログラムコードやシステム設定ファイルを編集するのに特化しているため、特にプログラマーやシステム管理者に利用者が多い。
viと同じく、Vimの特殊なキーボード操作は、慣れると一種の快感さえも得られるようになり、(他のソフトウェア上で、指が勝手にhjklを叩いている、文字を打った後に Ctrl-[ を押してしまう等の)中毒症状すら起こす者もいた。 このためかvi系(vi、Vim, nvi)のキーボード操作法は、エディタをはじめ、各種ビューワや、ブラウザのプラグインにいたるまでその後のソフトウェアの操作方法に強い影響を与えていった。

ちょー簡単にすると、『CUIテキストエディタの有名な一つ』になるんでしょうか。
これまでは『サクラエディタ』を使っていましたが、ここらからGUI(マウスとキーボード併用)からCUI(キーボードのみ)環境へシフト…なるか!
他に有名なのは Emacs,Eclipseだと思っていたのですが、EclipseはIDE(Integrated Development Environment,統合開発環境)ってなってますね。
というか、Vimもそういう認識でした。改造次第でそうも使えるってことですかね。
Vimを選んだのは、タイムラインで多くの人がVim信者として歓声/悲鳴/咆哮を上げていて、気になっていたからです。

ubuntuには初期段階で簡単なvimが入っているらしく、操作でも確認しました。
しかし操作も特殊だし、こういうものは一度きちっと向き合いたいなということで、ちゃんとインストールしようと探しました。

参考: Ubuntu:vim-gnomeをインストールする « 仙人の心得

過程でgvimとか他も入れちゃったのですが、vim-gnomeで完了したようです。
この段階で、言語指定しなくても日本語表示されるようになりました。
さてどうしたものか、というところで、こんなものを見つけて助かりました。

参考:超初心者向け vim チュートリアル - Craftworks Tech Blog - Branch

さきほどこのvimtutorを一周しました。

レッスン 1.1: カーソルの移動
レッスン 1.2: VIM の起動と終了
レッスン 1.3: テキスト編集 - 削除
レッスン 1.4: テキスト編集 - 挿入
レッスン 1.5: テキスト編集 - 追加
レッスン 1.6: ファイルの編集
レッスン 2.1: 削除コマンド
レッスン 2.2: その他の削除コマンド
レッスン 2.3: オペレータとモーション
レッスン 2.4: モーションにカウントを使用する
レッスン 2.5: より多くを削除するためにカウントを使用する
レッスン 2.6: 行の操作
レッスン 2.7: やり直しコマンド
レッスン 3.1: 貼り付けコマンド
レッスン 3.2: 置き換えコマンド
レッスン 3.3: 変更コマンド
レッスン 3.4: c を使用したその他の変更
レッスン 4.1: 位置とファイルの情報
レッスン 4.2: 検索コマンド
レッスン 4.3: 対応する括弧を検索
レッスン 4.4: 間違いを変更する方法
レッスン 5.1: 外部コマンドを実行する方法
レッスン 5.2: その他のファイルへ書き込み
レッスン 5.3: 選択した書き込み
レッスン 5.4: ファイルの取込と合併
レッスン 6.1: オープンコマンド
レッスン 6.2: 追加コマンド
レッスン 6.3: その他の置換方法
レッスン 6.4: テキストのコピーとペースト
レッスン 6.4: テキストのコピーとペースト
レッスン 6.5: オプションの設定
レッスン 7.1: オンラインヘルプコマンド
レッスン 7.2: 起動スクリプトの作成
レッスン 7.3: 補完

ついに、カーソルキーを離れてhjklキーデビューをしました。
でもつい、カーソルキーに指がいきます。
vimtutorはそのうちまた何週かしましょう。
Pythonスタートブックの残りの写経をvimでやりたい…が…どうか…

Python スタートブックの章一覧

言語Pythonを学ぶことになりました。Javaが途中ですが、こちらを始めます。
似てるとも聞きますし、テキストは簡単なもののはずです。
このテキストは一週間で終わらせてJavaに戻ったら、プチ精神と時の部屋経験後的になってませんかねY(>_<、)Y
基本情報のJava設問だけ解けるようになっていたい…

Pythonスタートブック

Pythonスタートブック


P8~9が『本書の構成』となっています。
その一覧を書き出してみます。

☑第01章 プログラムを作ろう!

 Pythonのプログラムを作って実行するための環境を整えましょう。そして、最初のプログラムを作って実行します。細かいことは後から学べばいいのです。

☑第02章 プログラムの材料と道具

 プログラムを作るためには、材料と道具が必要です。材料とは、プログラムの中で使われるデータで、道具とは、このデータを加工するための仕組みです。

□第03章 データと型のすべて

 たとえば、日付や時刻はどのようにプログラムの中で使うのでしょうか?これを簡単にするPythonの仕組みを、わかりやすい例で学びます。

□第04章 データの入れ物

 プログラムは、住所録の宛名印刷など、たくさんのデータを順番に繰り返し処理する作業が得意です。まずは、データをまとめる仕組みを解説します。

□第05章 条件分岐と繰り返し

 繰り返し処理と条件によって処理を分ける仕組みを解説します。章の内容が理解できれば、かなり高度なプログラムを作れる知識が身につきます。

□第06章 ファイルの読み書き

 ワープロやお絵かきソフトで作ったデータをファイルに保存するのと同じことを、Pythonのプログラムで実現します。

□第07章 Pythonで画を作る

 Pythonには、学習を助けてくれる亀がいます。画面上でこの亀を動かしながら、第5章の知識をさらに確かなものにしていきます。

□第08章 関数を作る

 第2章でデータを扱うための便利な道具を紹介しましたが、道具を自分で作れるようになると便利ですので、ここでチャレンジしてみます。

□第09章 新しいデータ型を作る

 日付や時刻はよく使われるのでPythonにあらかじめ用意されていますが、用意されていないモノは作るしかありません。その作り方を解説します。

□第10章 本格的なプログラミング

 第9章まではできるだけ分かりやすく書かれていますが、この章だけは難しくなっています。この章を理解できれば立派なプログラマーです。

□付録

 本文中では説明しきれなかった周辺知識や高度な知識、知っていると便利なテクニックなどをまとめています。

1章と2章を読了しましたが、それは別のエントリに譲ります。

電車内の電波と電話マナー、そして未来を考えること

マナーは合理性と相反してしまうんでしょうか。


話の流れで、電車と電話の話題になりました。
そこで出た、村井さんの二つの発言が印象に残りました。

「電車って電話しちゃだめなのかな。日本はすごくマナーとして徹底してるよね」
「多くの国では、電車の中で電波が切れないんだよ。切れるのはたぶん日本だけ*1

(かいつまんであります。興味のある方は、iTunes Uで視聴してみてください)

つまるところ、電話マナー電波接続についてです。
後者は、地下鉄における駅と駅の間のことを指しているのだと思います。
その点については、ソフトバンクの孫さんやWiMAX?が改善に乗り出しているニュースを、何度か読んだことがあります。
問題は、前者の車内の電話マナーについてです。
言われてみて考えだしましたが、これはなんなんでしょうね(Θ_Θ;)
このマナーがこの先も同じであれば、トンネル内の電波環境が整備されたとして、ブラウジングが快適になりはしても、電話はできないままです。
外郎会内で話が広がりました。

「考えてみれば、電車内で電話を始めた人がいたとして、なにがどういけないんだろう」
「電話だと声が大きいことが多いので不快とか」
「片方の会話しか聞けないことが不快なのでは」
「確かにそういう要素はあるけど、そのくらいで『電車内の電話はケシカラン!』となったのかなあ…」
「でもさあ、未来の地下鉄がどうなってるかをイメージしたら、電波はキレないし電話はフツ―にしてると思う」
「"電車の中で電話する"という状況は、携帯電話が登場しないと発生しない。となるとこのマナーは、ケータイの登場と同時に発生した、ここ数年のものってことだよね」
「うーん。携帯電話登場時、ある人がめずらしいソレを車内に持ち込んだとする。持たない大多数の人うち、持つ人に無意識に嫉妬する一部が、声の大きさを理由にマナーを言い出したとか」
「ありえそうw」
「そもそも、車内が静かな状況で、つれと喋っていても注意されるときあるよね」
「エレベーターに関しても、入るまでは会話してても、入ったら意識的にみんなして黙ったりとか」

今になってググったりしました。
ペースメーカーなどの人体内医療機器へ予防配慮や、片方会話の不快さがあげられてはいるものの、どれも決定打ではない様子です。
電車やバスの車内での携帯電話の利用は、マナー違反というのが常.. - 人力検索はてな
「車内での携帯電話のご使用はご遠慮ください」って本当に必要? (1/3) - その他(ライフ) - 教えて!goo
「車内での携帯電話のご使用」はどう迷惑なのか :::なりぃ社会学:::

どなたか、卒論のテーマにしてくださいヾ(´ε`*)ゝ

ただ、「未来はどうなってるだろう」という話になったとき、ふと、このツイートを思い出しました。


未来では普通のこと*2なら、問題は、その実現時期はいつなの、いつにするの、ということになりますよね。
こんな感じで、爆発的に盛り上がった話題でした。

*1:いわゆる『日本だけ論』は、「実際は海外を知らない人がイメージで言ってるだけ」と叩かれることがあります。でも村井さんなら、まず問題ないのでは

*2:人によって『普通なこと』は違ってくるので、思い込みのズレを注意する必要はあります

史上最長のういろうかい

3/23,24と外郎会でした。外郎(ういろう)会は、id:nehalemvid:hamanakoさんで行っている、webやプログラミングの勉強会という体のイベントです(*´▽`*)ノ゛
実際は、何もできないヒヨコの自分が、基礎からいろいろ教わっている状況です(-_-;)
名前は、初回に作った間食の名前からとりました。ういろうは、漢字にすると外郎になるんですよ。カッケェ!
普段は週末の午後から終電辺りまでの開催ですが、今回は朝から晩までテキスト読んだりカタカタ叩いたりしていました。

手書きデバッグ

二章のプールパズル問題では、「条件の試行錯誤みたいなことは、皆さんどうしてるんだろう」と気になっていました。
その件を質問したところ、「手書きデバッグするんだよ」と教えられました(゜ρ゜)

実際に書いてやってもらいました。まとめるとこんな感じです。

  1. 空の表を書きます。while文やif文の条件候補を確認します。
  2. その条件を、縦軸や横軸でどのように使って、変数の結果を書き込んでいくのかを決めます。
  3. 最大時から順に、変数がどう変化しておちつくのかを逐一書き込みます。各マスには結果の変数だけではなく、途中の変数を書くと分かりやすいと思うので、表のマスは大きく書いておくといいでしょう。

これより前の、似たようなプールパズル問題では、両手をつかって変数の変化を追っていましたヾ(´ε`*)ゝ
いずれは、intな変数でなくても、こういった手書きデバッグが使えるようになるといいんでしょうかね。

セガール二本

会の〆に映画をみたりします。
セガールネタをあまり知らないと話し、セガールシリーズとなりました。

沈黙の逆襲 The Keeper

沈黙の逆襲 [DVD]

沈黙の逆襲 [DVD]


2年間の“沈黙”を破り、無敵のオヤジが帰ってきた!!
ロス市警のローランド刑事(スティーヴン・セガール)は金に目がくらんだ同僚刑事に裏切られ、拳銃で胸を撃たれる。
なんとか一命を取り留めたローランドを、同僚刑事が病院に忍び込み、再び彼を殺しに来るが、逆に返り討ちにされてしまう。
この一連の裏切り行為により、彼は人間不信へと陥り、警察を辞職。
その後、ロスを離れ、ボディーガードとしてニューメキシコへ向かった。
そこで彼は実業家となった元特殊部隊の上官の娘を守る仕事に就くが、再び仲間の裏切りに合い、マフィアに娘を誘拐されてしまう。
己を信じ、命尽きるまで悪と戦うことを誓ったローランドは、彼女を救出すべく、ついに敵のアジトへと乗り込む!!

見どころは、

  • いつ腕をへし折るのか気になっておっかなびっくりしてしまうところ
  • 画面にキッチンが映るとき
  • 最後の最後に必要性を疑う謎の大爆発

以上の三点です。

その後、ノリでデビュー作を視聴(ΦωΦ)

刑事ニコ/法の死角 Above The Law

刑事ニコ~法の死角~ [DVD]

刑事ニコ~法の死角~ [DVD]


セガール・アクションの魅力炸裂! 法が見逃しても、俺が許さない。
シカゴ市警の敏腕刑事ニコ・トスカニーニ。麻薬取引の現場に張り込んだ彼は、壮絶な銃撃戦の末、全員を逮捕する。が、何者かの圧力により犯人たちはすぐに釈放され、ニコは捜査から外されてしまう。納得できない彼は独自に捜査を始め、元CIA特殊工作員の能力と合気道の技を駆使し、法を逃れた悪を追いつめていく。セガールの衝撃的な映画デビュー作として知られる本作品は、ニコの妻役でシャロン・ストーンも出演している。製作・監督・脚本に「沈黙の戦艦」のアンドリュー・デイヴィス。

見どころは、

  • 現在とは似てもつかぬ痩せ型
  • 妻役のシャロン・ストーンが美人
  • NECの名前や社員役が出てきて、このときすでに日本語話せる

以上の三点です。