タグ

ブックマーク / naka-06-18.hatenadiary.org (45)

  • LinuxMint にてGo言語のインストールと hello, world をしてみた - 断章10100

    Go言語のインストールと hello,world. を Getting Started - The Go Programming Language を進めた。 インストール Downloads - go - The Go Programming Language - Google Project Hosting より、各自の環境に適したファイルをローカルにダウンロードします。 その後、ダウンロードしたファイルを展開し、展開されたディレクトリを /usr/local 配下ににコピーし、 /usr/local/go/bin にパスを通してください。 $ curl -O http://go.googlecode.com/files/go1.0.3.linux-386.tar.gz $ tar xf go1.0.3.linux-386.tar.gz $ sudo mv go /usr/local上

    LinuxMint にてGo言語のインストールと hello, world をしてみた - 断章10100
    naka-06_18
    naka-06_18 2013/04/20
    記事を投稿しました。 #golang
  • SFTPのモックサーバをたてユニットテストをする - 断章10100

    SFTP サーバを介してデータをやりとりするシステムのユニットテストを書くかもしれないので、どのように組むのか試してみました。 ひとまず、 Django で試します。 必須ソフトウェア 以下のソフトを利用します。 Django (1.5 利用) paramiko (1.10.0 利用) sftpserver (0.2 利用) やること SFTP サーバからファイルをとってくる関数を作成し、そのユニットテストを書きます。 ディレクトリ構成 ディレクトリ直下で virtualenv 作ってます。 settings にてこのディレクトリの . の位置を PRJ_ROOT としています。 test_rsa.key と test_rsa.key.pub は秘密鍵と公開鍵です。 test.txt はテストで利用します。 var は (今回は利用しませんが) SQLite3 データ保存用に利用します。

    SFTPのモックサーバをたてユニットテストをする - 断章10100
    naka-06_18
    naka-06_18 2013/03/07
    はてだに記事を投稿しました。 #Python
  • Node.jsでパスを絶対パスにする方法 - 断章10100

    ../hoge を /tmp/hoge とかにできます。 使うのは、 Node.js に含まれる path モジュールです。 var path = require('path'); var abspath = path.resolve(path.join('hoge', 'fuga')); console.log(abspath); # => /someone/home/dir/hoge/fuga path.join で文字列を結合し、ディレクトリ区切り文字でつなぎます。 path.resolve がパスを絶対パスにします。絶対パスにならなかった場合、 現在の作業ディレクトリをベースにします。 参考 Node.js の Path モジュールのページ

    Node.jsでパスを絶対パスにする方法 - 断章10100
    naka-06_18
    naka-06_18 2013/02/10
    はてだに記事を投稿しました。 #JavaScript
  • jasmine-node とRequireJS - 断章10100

    JavaScriptのテストツールにJasmineというものがあります。 通常はブラウザ上で動かすテストライブラリらしいのですが、jasmine-nodeというパッケージがあり、それを用いるとnode.js上でJasmineのSpecファイル(テストのソースコード)を実行できるまる。これを試す。 事前準備 実行用ディレクトリを作成し、中でjasmine-nodeとRequire.jsをインストールすること。 $ npm install jasmine-node requirejs ディレクトリ構成 以下のようなディレクトリ構成とします。 $ tree . . ├── node_modules/ # npm (node.jsのパッケージマネージャ) のインストール先 ├── spec/ # specファイル置き場 └── src/ # ソースコード置き場 Specファイル テストのため、以下

    jasmine-node とRequireJS - 断章10100
    naka-06_18
    naka-06_18 2013/01/24
    はてだに記事を投稿しました。 #JavaScript
  • canvasでクリックした座標に四角を描画する - 断章10100

    このページ を見て、以下のように思ったんですね。 なのでちょっと触ってみます。 手始めに、canvas 内でクリックされた点に、半透明の青色の四角を書きましょう。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Canvas Test</title> <style> /** * html body に設定される自然な * margin padding を除去する */ html, body { width: 100%; height: 100%; margin: 0; padding: 0; } canvas { background-color: #CCC; } </style> </head> <body> <canvas id="canvas" width="400"height="400">

    canvasでクリックした座標に四角を描画する - 断章10100
    naka-06_18
    naka-06_18 2013/01/13
    はてだに記事を投稿しました。 #JavaScript
  • nvm.shを読み込んだ際の既定のNode.jsのバージョンを指定する - 断章10100

    公式 の README にも書いてありますが、以下のように一度実行してあげると nvm の既定の Node.js のバージョンを指定することができ、便利です。 $ nvm alias default someversion上記を一度実行すれば、以下のコマンドの実行時に上記で指定したバージョンの Node.js が既定のバージョンとして設定されます。場合によっては以下の nvm はドットファイルにしている人もいるかもしれません。 $ . ~/nvm/nvm.sh

    nvm.shを読み込んだ際の既定のNode.jsのバージョンを指定する - 断章10100
    naka-06_18
    naka-06_18 2013/01/12
    はてだに記事を投稿しました。nvm の tips。 #JavaScript
  • NeoBundle バンドルの更新とファイルタイプ別バンドル読み込み - 断章10100

    いつの間にか Vim のバンドル管理の定番、 NeoBundle のバージョンが更新されたようです。ちょっと見てみると気になる機能が見つかったので紹介します。 (もしかしたら古いバージョンからあって旧聞かもしれませんがその場合はごめんなさい。) それは、バンドルの更新と、ファイルタイプ別バンドル読み込みです。 バンドルの更新 以下のコマンドで更新されるようです。 :NeoBundleUpdateもし、 NeoBundle 自体のバージョンが古く、実行できないようでしたら、以下のコマンド後に実行すると良いと思います。 以下のコマンドでは、 NeoBundle 自身を github に登録してある最新のものにします。 $ cd ~/.vim/bundle/neobundle.vim/ $ git pull origin master ファイルタイプ別バンドル読み込み 以下のように vimrc

    NeoBundle バンドルの更新とファイルタイプ別バンドル読み込み - 断章10100
    naka-06_18
    naka-06_18 2013/01/04
    はてだに記事を投稿しました。NeoBundle の tips。 #Vim
  • setup.pyでPyPIにあがっていないライブラリを利用する方法 - 断章10100

    dependency_links を設定する。 自分の場合、開発時に JavaScript を触るので、closure-lint を入れたかった。 それで、setup.cfg 設定して、python setup.py dev として入れたかった。 そこで具体的に以下のように設定した。 ミソは、dependency_links を設定した上で、インストール対象のライブラリ名を install_requires 也、 extras_require 也に記載しなければ行けない点。 setup.py # coding: utf-8 from setuptools import setup packages = [] install_requires = [ 'django-tastypie', 'Django', ] # 以下もライブラリの検索対象に加える dependency_links = [

    setup.pyでPyPIにあがっていないライブラリを利用する方法 - 断章10100
    naka-06_18
    naka-06_18 2012/12/28
    はてだに記事を投稿しました。 #Python
  • Mustache.js の Functions と初期化処理 - 断章10100

    実運用時は、data をヘルパー関数群を登録したオブジェクトから生成する ( Object.create(SomeObject) ) 感じかな。 と書きました。 なので実際に試して見ました。 上のコードの JS の部分を以下の内容に書き変えてください。 (function() { // 表示用変数のベースオブジェクト var base = Object.create(null); Object.defineProperties(base, { bold: { value: function() { // 入力値と、描画用関数が渡ってくる return function(text, render) { return ['<b>', render(text), '</b>'].join(''); }; } } }); // テンプレートを読み込む var template = $('#samp

    Mustache.js の Functions と初期化処理 - 断章10100
    naka-06_18
    naka-06_18 2012/12/27
    はてだに記事を投稿しました。今日の0時ごろの記事では分けていなかった data を関数と値に分けた。 #JavaScript #MustacheJS
  • Mustache.js の Functions - 断章10100

    社内で Mustache.js にヘルパーなくて使いづらいって話がありました。 んで、先ほどプラグインとかないのかなと見ていましたら、 github の README.md に Functions という章がありました。 これは使えるんじゃないかと、試しました。 ディレクトリ構造 $ tree . ├── index.html # サンプルHTML ├── mustache.js # Mustache.js └── zepto.min.js # Zepto.js HTMLファイル bold って関数を作ってそれを使う。 実運用時は、data をヘルパー関数群を登録したオブジェクトから生成する ( Object.create(SomeObject) ) 感じかな。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <

    Mustache.js の Functions - 断章10100
    naka-06_18
    naka-06_18 2012/12/27
    はてだに記事を投稿しました。 #JavaScript #MustacheJS
  • 本日の得なんとかの取得方法 - 断章10100

    urllib と lxml を使ってさっくりと。 import urllib from datetime import date from lxml import html OTOKU_URL = 'http://example.com/tokunantoka/' dom = html.fromstring(urllib.urlopen(OTOKU_URL).read().decode('cp932')) lst = dom.xpath("//div[@id='toku']/div/ul/li") # 月曜日始まりの得なんとかリスト menu = [l.xpath('a/img/@alt')[0] for l in lst] print(menu[int((int(date.today().strftime('%w')) + 6) % 7)]) これでベジタブルな生活が捗りますね! いやー

    本日の得なんとかの取得方法 - 断章10100
    naka-06_18
    naka-06_18 2012/12/26
    はてだに記事を投稿しました。 #Python
  • RequireJSにてtextプラグインを利用する - 断章10100

    Backbone.js とか利用していると template を外に出すと思う。 RequireJS には text プラグインという、まさに temlate 用に作成されたプラグインがある。 サンプルの為に Mustache.js を利用して、その利用法を記載する。 text プラグインとは text リソースの読み込み用のプラグイン。RequireJS にて、dependency names に読み込む template を text!foobarbaz.html として書けるので、 template の読み込みにとても便利。(説明を見る限り、最適化する際は template の文言をインライン展開するみたい、確認はしていませんが。) Load text files and treat them as dependencies. Great for loading templates.

    RequireJSにてtextプラグインを利用する - 断章10100
    naka-06_18
    naka-06_18 2012/11/05
    はてだに記事を投稿しました。 #JavaScript
  • RequireJSにてBackbone.jsとMustache.jsを読み込む - 断章10100

    RequireJS の2.0 から導入された shim を利用して簡単に読み込めたのでメモ。 最初にまとめを書く RequireJS で読み込めた html ファイルで script が一つで済むので嬉しい。 ディレクトリ構成 $ tree . ├── index.html ├── js │&#160;&#160; ├── libs │&#160;&#160; │&#160;&#160; ├── backbone-min.js │&#160;&#160; │&#160;&#160; ├── mustache.js │&#160;&#160; │&#160;&#160; ├── require.js │&#160;&#160; │&#160;&#160; ├── underscore-min.js │&#160;&#160; │&#160;&#160; └── zepto.min.js │&

    RequireJSにてBackbone.jsとMustache.jsを読み込む - 断章10100
    naka-06_18
    naka-06_18 2012/11/02
    はてだに記事を投稿しました。 #JavaScript
  • PyCon JP 2012 で発表を聞いたり、当日スタッフをしたりしてきました - 断章10100

    発表を聞いたり、当日スタッフをしたりしたので感想を書きます。 いくつか参加した発表の感想を書きます。 やっぱり Web 開発関連の発表は気になるし、当日スタッフの仕事以外の時間で、聞けそうな範囲で聞きに行きました。 頭の基調講演 (Armin Ronacher [twitter:@mitsuhiko]) 聞き取れるかなと思った俺が甘かった。 使える Django 1.4 (清原 弘貴 / Hiroki Kiyohara [twitter:@hirokiky]) 日語のドキュメントが 1.0 なので、1.0 から 1.4 に変わったことを中心に話されてました。 中でも新たに template と言って、新規にプロジェクトを作成する際に一からではなくスケルトンから作成できる機能を中心に話していました。 (Paste について詳しくは無いのですが) でもこれ、なんとなく、今は Django

    PyCon JP 2012 で発表を聞いたり、当日スタッフをしたりしてきました - 断章10100
    naka-06_18
    naka-06_18 2012/09/18
    ブログを書きました。よろしくお願いします。 #pyconjp
  • RequireJSをhtmlで利用してみた - 断章10100

    前回 は node.js で RequireJS を利用しました。 次は実際にサイトに組み込む場合はどのように利用するか試してみます。 環境など 試した環境 Linux Mint 13 MATE 32-bit FireFox 15.01 構成 以下のようなディレクトリ構成で試します。 $ tree . ├── index.html └── js ├── lib.js ├── main.js └── require.js 1 directory, 4 files js フォルダを作成して、その中に Download RequireJS から RequireJS をダウンロードして設置してください。 以下は RequireJS 2.0.6 の minified 版のダウンロードの例のコマンドです。 $ wget http://requirejs.org/docs/release/2.0.6/m

    RequireJSをhtmlで利用してみた - 断章10100
    naka-06_18
    naka-06_18 2012/09/17
    ブログを書きました。よろしくお願いします。 #JavaScript
  • RequireJS 使ってみた - 断章10100

    Common JS という JavaScript のパッケージングの仕様があり、 その仕様に沿った JavaScript のローダーが RequireJS だそうな。 動的にモジュールを読み込めれば嬉しいし、おそらく実用レベルに なったという事なんでしょうし、とても便利そうなので使ってみました。 foo.js lib/bar.js を定義し、 foo.js から bar.js を読んでみます。 前提条件 node.js を利用していること。 流れ RequireJS のインストール コードの記載 実行 1. RequireJS のインストール こちらの RequireJS in Node に沿ってインストールします。 具体的には以下のコマンドを実行します。 $ npm install requirejs 2. コードの記載 以下のようなフォルダ構成になるようにファイルを配置し、コードを書き

    RequireJS 使ってみた - 断章10100
    naka-06_18
    naka-06_18 2012/09/13
    ブログを書きました。よろしくお願いします。
  • Django こういうときどうするんだろう - 断章10100

    Django は最近少し触っていますが、 次の 2つの場合、どのように組むのかなと考えます。 でかいモデルにメソッドを追加したい場合 filterした結果に対して処理を行う場合 1. でかいモデルにメソッドを追加したい場合 Django は MTV (Model, Template, View) のフレームワークです。 とても使いやすく、関連を貼ったデータへのアクセスが簡便で、 よく考えられているソフトウェアです。 Model の一つのデータに対して行う処理などは、 Model にメソッドなり生やしてあげると大変に使いやすいと思います。 ただ、使いやすいと入っても、メソッド数など巨大になってくると見づらいので、 限度があるところ。 普通、巨大になってしまい、見づらい Model の場合はどうするんでしょうか。 Abstract Model かなにか作って処理をいくつかのセットに分けて、Mo

    Django こういうときどうするんだろう - 断章10100
    naka-06_18
    naka-06_18 2012/09/13
    ブログを書きました。よろしくお願いします。
  • Django 1.4 で Class-based views 使ってみた - 断章10100

    Django は MTV フレームワークであって、 V の関数ベースのコーディングは知っていた。 けれど、最近 Class-based view があると聞いて、よく知らないので知るために使ってみた。 環境 Debian 6.0.5 Python 2.7.2+ Django 1.4.1 ディレクトリ構成 適当な動作確認アプリなので、名前はごめんなさい。。。 settings は分けている。 staticfile で静的ファイルを修正して、collectstatic で static へ。 (ここら辺割と適当ですみません。) $ tree diary diary ├── conf │&#160;&#160; ├── diary.db │&#160;&#160; ├── __init__.py │&#160;&#160; ├── settings │&#160;&#160; │&#160;&#

    Django 1.4 で Class-based views 使ってみた - 断章10100
    naka-06_18
    naka-06_18 2012/09/10
    ブログを更新しました。よろしくお願いします。 #セルクマ
  • from やら import やらの解決について 1/n - 断章10100

    名前解決分からんです。 https://twitter.com/__10100__/status/241068654811308032:twitter https://twitter.com/__10100__/status/241071295691882496:twitter ってことがあってコードのディスアセンブルすれば何かわかるかなと思い以下のページを参考に調べました。(調査中) 参照1: 31.12. dis ― Python バイトコードの逆アセンブラ (STORE_NAME が表示されていない。英語版と見比べるとどこにあるかわかる。) 参照2: dis – Python バイトコードディスアセンブラ 結果 環境: Python 2.7.2, Debian 6.0.5 $ cat hoge.py import foo.bar.baz as hoge $ python -m dis

    from やら import やらの解決について 1/n - 断章10100
    naka-06_18
    naka-06_18 2012/08/31
    コードディスアセンブルしたけどわからない点があって、知っている人がいたら教えてください。 #Python
  • Windows で plink.exe を利用して Bitbucket.org から clone してみる。 - 断章10100

    どなたかが Windows plink.exe を利用して Bitbucket.org から Mercurial のリポジトリを clone できねと言っていたので記事作成しました。 0. 前提条件 Putty PUTTYgen、plink.exe が使用できる状態にあること。 Mercurial がインストール済みであること 上記の plink.exe へのパスを \path\to\plink.exe とします。 1. 秘密鍵と公開鍵の作成 ページの「SSH用の鍵を作成する(*nix環境で作成した秘密鍵を使う場合は後述) 」 を参考にして、秘密鍵(と公開鍵)を作成します。鍵の名前は任意ですが、Bitbucket.org 用であることと、どちらが秘密鍵でどちらが公開鍵かはわかるようにしてください。 作成した秘密鍵へのパスを \path\to\privatekey.ppk とします。 2.

    Windows で plink.exe を利用して Bitbucket.org から clone してみる。 - 断章10100
    naka-06_18
    naka-06_18 2012/08/26
    日記書いたー