tech_jp

SublimeTextのVimモード改善

やっとたどりつた! VimからSublime Text 2に移行してからVimモード(Vintage)のコマンドモードでキーを押しっぱなしにしても反応してくれない(変な変換候補が出る?)ので1ヶ月位不満だったんですが、ターミナルで以下のコマンドを打つことで解決する、と…

Squarespace Logoを試してみた

わずか5分でこんなロゴが作れました。 こちらの記事を参考に暇つぶしのつもりでやってみたら暇つぶしにもならないくらいあっさりと。 Squarespace Logoはこちらから => http://www.squarespace.com/logo

Liftのプラン変更

Liftで自分で作ったプランを修正する方法を見つけるのに結構はまったのでメモ。 次のURLをアドレスバーにコピペするだけ。 https://lift.do/plans/admin Liftいいよ!

Wordpressを3.8にアップデートしました

Wordpressを3.7から3.8にアップデートしました。 バックアップも取らずいきなりアップデートボタンを押してしまいましたが今のところ不具合なく動いてるようなので一安心です。 3.8にあげたから、というわけではないですが、1/4までこのブログには雪がふって…

Wordpressプラグインアップデート失敗からの復帰

Wordpressのアップデート中に別のボタンを触ったりして Briefly unavailable for scheduled maintenance. Check back in a minute. が出てしまうとWordpressサイトにアクセスできなくなりました。 そんなときは、Wordpressのインストール先ディレクトリのト…

WordTwitでアカウントが追加できない

WordTwitをアップデートしたら自動ツイートが止まってしまっていました。 アカウントを追加しようにも[Add accounts]を押しても無反応。。。 ぐぐってみると、Twitterのアプリケーションセッティング側でコールバックURLを指定しないといけなかったようです…

Sencha cmdに必要なRuby

いざSencha Touch製アプリをデプロイするためにビルドしようと sencha app build をしたけど、 [code lang="bash"] [ERR] Detected ruby version 2.0.0 was not less than 2.0. Please install ruby 1.8 or 1.9. [ERR] Did not find a system installed ruby…

jsかcoffeeか

Gruntfile.jsはJavascriptで記述するけどCoffeeScriptでも書けて、Gruntが読み取ってくれるらしいですが、 .jsファイルも.coffeeファイルもどちらもあるとどうなるのか と疑問が浮かんだので、出力先ファイルを別々に書いてみました。 Grunt.js [code lang="…

Grunt Warningの対処

WEB+DB PRESS vol.77の「Gruntによるフロントエンド開発作業の自動化」の写経をしていたら、 [code lang="bash"] Warning: Object #<Object> has no method 'replace' Use --force to continue. Aborted due to warnings. [/code] に遭遇。 これは単純な私自身のタイ</object>…

SenchaTouchのProfile利用時のエラー回避

OS: Mac Mountain Lion Sencha Touch: 2.3.0 Sencha CMD: 4.0 の環境で「Sencha Touchパーフェクトガイド」の12章からのサンプルアプリ(AccountBook)を写経している時に出くわしたエラーとその回避策です。 sencha generate profile Phone でProfileを作っ…

RedmineのMy Page Blocksプラグインでハマった件

Redmineを毎日の業務のTodo管理としても使っていると 「今日が期限のチケットを一覧で表示したい」 のに、毎回Issuesの表示のフィルターにDue Dateを追加して、今日の日付を入力して、とやるのが煩わしくなってきます。 そこで、My Page Blocksという便利そ…

vimrcの設定

最近Emacsから改宗してほとんどの生活をVimの中で行ってますが、ごくごく基本的なこと以外は素のvimrcを使ってました。 今日から改めて「エキスパートPython」を読み直していると早速.vimrcの設定が書かれていたのでVimの設定項目をまとめなおしておきます。…

PyramidでJinja2テンプレートを使う

今回はちゃんとPyramid上でJinja2が動くかどうか確認するため、あえてテンプレートの継承を使います。 ベーステンプレートの作成 まず、templatesフォルダ内に継承の元になる__base__.jinja2ファイルを作ります。 [code lang="html"] <head> <title>{% block title %}{% </title></head>…

TinkererブログのURL(現在無効アドレスです)

先日「Tinkererでブログする」で書いたように、Python製のブログツールを使ったブログを試しています。 そのブログをほぼデフォルトのままですが、公開URLでアクセスできるようになったのでお知らせします。 22post -> http://blog.22labs.net のちのちの日…

RictyフォントでiTerm2をより快適に

遅ればせながら、MacのiTerm2用にRictyフォントをインストールしました。 一言で言うなら、 「美しい」 ますます、ターミナルから離れられない生活になりそうです。 忘れないように、手順をメモっておきます。 [code lang="bash"] $ git clone https://githu…

RictyフォントでiTerm2をより快適に

遅ればせながら、MacのiTerm2用にRictyフォントをインストールしました。 一言で言うなら、 「美しい」 ますます、ターミナルから離れられない生活になりそうです。 忘れないように、手順をメモっておきます。 [code lang="shell"] $ git clone https://gith…

Tinkererでブログする

reStructured Textでブログを書きたくてPython製のTinkererに手をつけてみました。 Tinkererだと、 ブログ記事を書く ビルドする 公開サーバにアップロードする と手順が煩わしくもあるんですが、reStructured Textで書ける魅力と、常にローカルと公開サーバ…

PyramidでJinja2を使う(環境構築編)

Pyramidの標準のテンプレートエンジンはMakoです。 Makoについては全然わかりません。 Django、GAE用フレームKayと渡り歩いてきた私にとって、PythonのWebフレームワークのテンプレートエンジンといえばJinja2なのです。 なので、はじめからMakoを覚えよう、…

Active Directoryユーザをバッチで一括登録

私の本業は社内SEです。 社内SEなので、4月を迎えるこの時期は新入社員のアカウントをまとめて登録する必要があるので、登録先システムごとにバッチを書いています。 今年は初めてActive Directoryにアカウントを登録するので、Active Directoryにユーザを一…

Pyramidでプロジェクトを作る

今回はPyramidで新しいプロジェクトを作ります。 まず、前回作ったvirtualenv環境[stask]に入ります。 [code lang="shell"] % workon stask (stask)% [/code] Pyramidプロジェクトを保存したい任意のフォルダに移動してPyramidプロジェクトを作ります。 Pyra…

Pyramidをインストールする

今回からしばらくPythonのWebフレームワークのPyramidの公式チュートリアルで挫折しないための、優しいチュートリアルとしてPyramidの使い方を書いていきます。 このチュートリアルでは、ログインして自分のTodoタスクを参照・追加・変更・削除ができるWebア…

virtualenv導入手順

以前、virtualenvの紹介を書いていたんですが、一度も手順を書いてなかったので、一度まとめておきます。 手順は大雑把に次の4ステップです。 MacのMountain Lion(Python2.7)で動作検証済みです。 Ubuntu(Python2.6)とDebian(Python2.7)でも同じ手順でイン…

Macのターミナルでフォルダ容量を調べる

Macbook AirのバックアップでTime Machineを使ってるんですが、今日はなかなかバックアップが始まらなかったんで、確認してみると、Time Machineのバックアップ先の古いファイルを一生懸命消していました。 「そんなに容量増えたかな」と思いターミナルをた…

AD非参加のPCからAD参加のNASにアクセスする

Active Directoryに参加させていないPCからActive Directoryに参加しているNASに対して、Active Directoryに登録しているユーザのアクセス権でアクセスするためには、次のコマンドのバッチファイルを作って、スタートアップに登録すれば、ログイン後にユーザ…

Windows7のエクスプローラで画像のサムネイル表示

Windows 7のエクスプローラでサムネイル表示をするには、エクスプローラ上で、 [整理]→[フォルダーと検索のオプション]→[表示] の順にクリックし、詳細設定の中で、 「常にアイコンを表示し、縮小版は表示しない」 のチェックを外します。

vimとjinja2とシンタックスハイライト

vimでjinja2テンプレートを編集するときにシンタックスハイライトするアドオンをインストールします。 元ソースはGitHubのものを使います。 https://github.com/Glench/Vim-Jinja2-Syntax vimのアドオンの仕組みがよくわかってないんですが、きっと上記リン…

Redmineの新しいチケットのデフォルト担当者をチケット作成者にする

▼環境 Debian: 6 .0.6 Redmine: 2.2 Ruby: 1.9.3 Ruby on Rails: 3.2.10 MySQL: 5.5.29 nginx: 1.2.6 Redmineを個人のタスク管理ツールとして使っていると、チケットの担当者は基本的にチケットを発行した本人です。 なので、チケットを作るたびに自分を担当…

Debianのヴァージョン確認コマンド

Debianのヴァージョンなんだっけ? と思ったら、このコマンドをたたきましょう。 [code] cat /etc/debian_version [/code]

Pythonで文字列中の任意の文字をカウントする

たとえば、"Fukuoka"という文字列の中に、"u"、が何個あるかカウントしたい、という時はこう書きます。 [code lang="python"] >>>"Fukuoka".count("u") 2 [/code] count()関数の引数には、文字"列"も指定できます。 [code lang="python"] >>>"SpamHam".count…

Redmineのリマインダーを定期的に送る

無事にGmailのSMTPサーバを使ってRedmineからリマインダーメールを送れるようになったので、定期的にリマインダーメールを送る方法をメモしておきます。 定期的にRedmineからメールを送るための設定は特にありません。 (Linux/Unix系の場合のみ?) まずは、…

RedmineのSMTPサーバにGmailを使うには

環境 Redmine: 2.2 Ruby: 1.9.3 Redmineのメール通知を行うのにGmailアカウントを使おうとしたらちょっとはまったので手順をまとめます。 RedmineでGmailを使ったメール送信手順はよくありますが、このポストの最後の方にある5~6の手順はなかなか見つからな…

HTML5 Carnival Fukuokaに参加しました

といっても、実際にはセッションを聞いたわけではなく、今回は受付のボランティアスタッフで参加しました。 公式サイトはこちら => http://www.html5-carnival.jp/ 勉強会で何度かご挨拶させてもらったことのある方が主催していたこともあって、なにかご協力…

Mountain Lionにnginxをインストール

本番環境とテスト環境のDebianにインストールしているnginxと同じヴァージョン、1.2.6を開発環境のMountain Lion上にHomebrewを使ってインストールします。 まずは、Homebrewで1.2.6のヴァージョンを選べるのか次のコマンドで調べます。 [code] brew version…

DebianにVMwareToolsをインストール

何度かつまずきましたが、ちゃんとインストールできるようになったので手順をまとめておきます。 まずは、基本的なツールを予めインストールします。 (実際に必要とされるのはgccとmakeです) [code] sudo aptitude install build-essential [/code] /media/…

DebianでDropboxを使う

DebianでDropboxを使うには、公式サイトにも書いてあるように、コマンドライン操作でインストールします。 まずは、公式サイトからソースコードをダウンロードして解凍します。 [code] cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64…

debian上でexim4を使って添付ファイルをメールで送信

Debianからexim4を使って添付ファイルをメールで送るには、uuencodeコマンドを使います。uuencodeコマンドを使うにはsharutilsパッケージがいるので予めインストールしておきます。 [code] sudo aptitude install sharutils [/code] 添付ファイルつきメール…

debianにexim4を導入してメール配信

Debianサーバから定期的に死活監視とログレポートのメールを送るためにexim4を導入したので、その手順メモを書いておきます。 Debianには最初からexim4パッケージは入っていたので、メール送信をできるように設定していきます。 [code] sudo dpkg-reconfigur…

Bashで”X日前”の日付を表示する

DebianとMac (Mountain Lion)のそれぞれのBashで”X日前”の日付を表示しようとすると同じコマンドオプションでは挙動が違ったのでそれぞれちゃんと動く書き方をメモしておきます。 Debian 6 (Bash=4.1.5) [code lang="shell"] date -d "2 days ago" "+%Y%m%d"…

mysqldumpのパスワード指定でハマった話

mysqlをSQLベースでバックアップする時のmysqldumpコマンドで、パスワードを直書きしようとしてはまりました。 mysqldumpコマンドの書式は次のとおりです。 [code] mysqldump -u ユーザ名 -pパスワード データベース名 [/code] -pとパスワードに空白を入れな…

Bitbucketデビュー

MySQLの任意のDBのバックアップをmysqldumpコマンドで任意のディレクトリにとって、任意の日数前にとられたバックアップがそのディレクトリにあればそのバックアップを削除するBashスクリプトを書いて、BitbucketにPushしました。 これからアプリやスクリプ…

Bashの変数のヌルチェック

Bashスクリプトの中で、ある変数がヌル(空文字)かどうかチェックをするためのテスト文です。 [code lang="shell"] if [ "$foo" = "" ]; then # 変数をダブルクォーテーションで囲って展開しないと正しく判別できない echo $foo is null else echo $foo is …

Wordpressメンテナンスモードからの脱出

Wordpressのプラグインをアップデートしたあとに、Wordpressのページにアクセスをして Briefly unavailable for scheduled maintenance. Check back in a minute. が出て何分待っても改善しないようなら、Wordpressのインストール先のルートディレクトリに入…

Bashでバックアップファイルローテーション

任意のディレクトリに毎日バックアップなどのファイルを保存し、一定期間たったらそのファイルを削除するスクリプトが欲しくてBashを書いてみました。 バックアップされるファイルのファイル名はバックアップの日付けがファイル名に含まれているものとします…

bashで配列に要素を追加

Bashで配列とforループを使ってこういうことをやりたい。 [code lang="python"] # Pythonの例 spam = ["Wilson", "Brewster", "Koko", "Hoot", "Toot", "Piper"] for ham in eggs: spam.append(ham) [/code] 調べて書いてみたのが、このBash。 [code lang="s…

Mountain LionとWindows 8のhostsファイル

Windows 8のhostsファイルは、ここ [code] C:\Windows\System32\Drivers\etc\hosts [/code] hostsファイルは管理者権限でメモ帳を開かないと編集できない。 MacのMountain Lionのhostsファイルは [code] /private/etc/hosts [/code] なので、sudo vim /priva…

Pythonで2つの文字列を連結して変数として扱う

eval関数を使うと文字列と文字列を連結して1つの変数として表すことができます。 [code lang="python"] &gt;&gt;&gt; foo = &quot;hoge&quot; &gt;&gt;&gt; bar = &quot;fuga&quot; &gt;&gt;&gt; hogefuga = &quot;spam&quot; &gt;&gt;&gt; foo + bar 'hogef…

debianでperlがはくlocale警告の修復完了

どこでどうなったか、Debianでlocaleのエラーが発生し始めましたが、無事解決しました。 [code lang="shell"] $ sudo aptitude upgrade No packages will be installed, upgraded, or removed. 0 packages upgraded, 0 newly installed, 0 to remove and 0 n…

Pythonのクラスメソッド定義の初歩

クラスメソッドとは? クラスメソッドはクラス内で定義されたメソッドで、かつインスタンス化しなくても呼び出すことができます。 クラス内で定義されるメソッドにはもうひとつ、インスタンスメソッドがあります。インスタンスメソッドは、インスタンス化さ…

Pythonのif文の条件式を改行するには

[code lang="python"] <pre>#!/usr/bin/env python # -*- coding: utf-8 -*- for i in range(1, 100): if i % 3 == 0 \ or "3" in str(i): print "(∴`lДk´)ノ彡#" + str(i) else: print str(i) [/code]</pre>

virtualenvの導入

複数のPythonの環境で開発するために、Pythonではvirtualenvというパッケージが用意されています。 ただ、このvirtualenv、ちょこっと調べた程度では私には今一理解できなかったので、環境を導入するのと同時に、今まで私がやっていた原始的なPythonのバージ…