Articles in the Programming category

  1. python 2.7のタプルで1要素を作るときは要素の後にカンマをつける

    追記:タイトルを修正しました

    タイトルで出落ちです。

    zip関数で多次元配列的なものを作るとき、主にfor文で複数の同要素数のリストを同時に回したいときに使ったりしますが、

    >>> zip((1,2,3),(10,20,30))
    [(1, 10), (2, 20), (3, 30)]
    

    これだとダメです。

    >>> zip((1),(10))
    >>> Traceback (most recent call last):
    >>> File "<stdin>", line 1, in <module>
    >>> TypeError: zip argument #1 must support iteration
    >>>
    

    え、タプルがイテレーターじゃない・・・??

    不思議に思ってtype関数で見るとタプルに1つしか要素がないとイテレータにならないようです。まじですか。まじですか!!

    >>> type((1))
    <type 'int'>
    

    本当だった …

  2. Tracのヘッダロゴをプロジェクト名に置き換える、TracReplaceLogo pluginを作成しました

    前回までに環境を作ったので、念願のTracヘッダロゴを単なるプロジェクト名にするプラグインを作りました。

    一応 Trac0.12 ja版で動作させて動きますが、自己責任でお願いします。
    多分1.0でも動くと思われますが、やってないのでわかりません。

    hrsano645/TracReplaceLogo

    実はgithubにコードをプッシュするのも初めてです。https認証出来るようになったなんて知らなかった。

    それとSourceTreeも初めて使いました。まだプッシュとコミットぐらいしかやっていませんが非常に快適に感じてます。

    概要

    このプラグインは、Tracのヘッダロゴをプロジェクト名に置き換える機能を提供します。

    仕組みは単純で、Tracサイトにプロジェクト名を仕込んだMetaタグをプラグイン側で処理し、jqueryでヘッダロゴとMETAタグ内のプロジェクト名に置き換えているだけです。今のところ、置き換えのタグはh1です。

    ビフォー

    [pe2-image src="http://lh6.ggpht.com/-5RKUF8JWyEo/Un5Qv8bkRkI/AAAAAAAAJYw/gR5fpHHnnLQ/s144-o/%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC …

  3. mac + virtualenvでtracプラグインを作成する環境を作る

    公式に書いてあったのですが、バージョン絡みで意外と苦労したのでまとめておきます。

    Mac + Virtualenvの環境でtracプラグインの開発環境を作成します。
    と言っても仮想環境を作って必要なパッケージを入れるぐらいです。

    今回の環境

    • Trac 0.12
      • 1.0が対応してるかは定かではないのですが、多分大丈夫
      • Babel
      • Genshi==0.6.1
    • Mac OS X 10.8
    • Python 2.7.5
      • homebrewで入れたもの
    • virtualenv
    • virtualenvwrapper
      • 開発環境があると楽です

    Virtualenvの用意

    virtualenvwrapperまで用意します。easy_install->pipまで入れれば後はpip installで全ててにはいります。

    virtualenvwrapperのセットアップは、インストールした後に、.bash_profile(それか.bashrc)へvirtualenvwrapper.shを読み込むスクリプトを書きます。これについてはvirtualenvewrapperの公式サイトにかかれています。

  4. windowsとvirtualenvwrapperの取り巻き(またはvirtualenvwrapperのOSごとの対応について)

    WindowsでもPython+Virtualenvを利用していますが、MacやLinuxへ提供されているようなvirtualenvwrapperが無いと、もはや不便としか言い用がなく困っていまして

    なんとかうまく使う方法はないものかと調べてみると、virtualenvwrapperの公式でまとまってました。いつの間に。。。

    Installation — virtualenvwrapper 4.1.1.20.gf0f0077 documentation

    本家はunix向けです。virtualenvwrapperをインストールした時に一瞬Powershell使える?ような雰囲気(psファイルがあったので)がありますが、

    • cmdならvirtualenvwrapper-win
    • powershellならvirtualenvwrapper-powershell

    が利用できるとのこと。どちらも本家の開発コミュニティとは別の方がやられているそうです。

    ちなみにcygwinやmsysなどでbashなどのunixなシェルを使っている場合も書かれているので、まずは公式サイト通りにやってみることですね。

    最近はminttyを入れてbashも動くのでMacの.bash_profileを流用しています(もちろんvirtualenvwrapper.shのパスは変えています。)

  5. xlUnitを使ってVBAでTDDする

    ブログ書くのが久々過ぎてWordpressの使い方を忘れてました(汗) 今やってるプロジェクトがなかなかハードであらゆるSNSで愚痴ってましたが、一段落したので色々と勉強したいことを進めてます。今日はテスト回りについて。

    xlUnitというVBA上でTDD出来るアドオンというものが存在します。最近(と言っても2008年に作られて2010年まで更新されている)出てきたもののようです。

    動画は元より、日本語の解説は大変参考になりました。

    まだAssertEqualぐらいを連ねて試したぐらいですが、良い感じです。今やってるプロジェクトに早速取り取り込んでテスト環境を良くして行きたい。

    以降、気になったところのメモなど

    前提

    例えば、xlUnit側でNew Applicationで作成した「newTestableApplication」というプロジェクトを用意した上での話。
    環境はWindows 8, Excel 2010です。アドインはこれ以外入ってないと思った。

    テストしたいクラスを作ったら、そのたびにFactoryモジュールに対象クラスをインスタンス化して戻す関数を書く

    例えば普通に「Class1」というモジュールを作ります。div2という関数を作るとこうなります。

    [vb]
    Option …

  6. Excelのテンプレートをモジュールっぽく扱う方法

    excel テンプレートにマクロを入れて、それを読み込むと動作可能かを調べてみる。

    具体的には

    • テンプレートを読み込む
    • 読み込むもとのVBA側で、テンプレからパブリックな関数やクラスを呼び出す
    • 呼び出したモジュールのものを表示したり使ってみたりする。

    結果

    どうやら行けました。シートモジュールを使ってゴニョゴニョするだけでした。
    @aoshiman さん有難うございます!

    https://twitter.com/hrs_sano645/status/308763109730959360

    https://twitter.com/aoshiman/status/308768127733358593

    https://twitter.com/hrs_sano645/status/308769044335583232

    https://twitter.com/hrs_sano645/status/308776981573545984

    やり方

    ベース(t_base.xls)とテンプレート(t_templa.xlt)とします

    テンプレートファイルを作ります。

    テンプレート内のシートは今回はひとつで。複数もコピーなど工夫すればいけると思います。
    ひとまずt_tmpla.xlsを作ります …

About Me

実家の自動車プレス金型設計業(sano-design.info)に所属。
また東海大学石井研究室(ishiilab.net)でたまにお手伝いしてます。
サイト制作/python/Ubuntu 作ったり扱います。 小さいガジェットがとっても好き。
最近は諸事情で家事業が多めです。

スポンサードリンク