2011-11-18
Mac(Lion)にeclipse3.7(Indigo)をインストールして日本語化
お久しぶりです…!
最近MBAを購入したので、うきうきでいろいろ設定しています。
あとでその設定をまとめたいのですが…がが…
とりあえず今回はeclipseのインストールと日本語化の手順を、備忘録の意味で書いておきます!
手順の流れ
1.eclipseをダウンロード
http://www.eclipse.org/downloads/
↑こちらの本家からダウンロードします。
Eclipse IDE for Java EE Developers
の、32bit/64bitのうち自分の環境に合っているほうをダウンロード。
ちなみに、Lionで自分の動作カーネルを確認するには、以下のコマンドを打ちます。
uname -a
表示された情報の最後に「x86_64」とあったら64bit、「i386」とあったら32bitで動作しているそうです。
参考:Lionでの動作カーネルの確認方法 @ アールケー開発
2./Applications以下に展開
私は~/Downloadsにダウンロードしたので、以下のコマンドで/Applicationsに展開します。
tar -xvf ~/Downloads/eclipse-jee-indigo-SR1-macosx-cocoa-x86_64.tar.gz -C /Applications
3.日本語化プラグインをダウンロード
http://mergedoc.sourceforge.jp/
展開。
unzip Downloads/pleiades.zip
4.日本語化プラグインをeclipseに追加
解凍したpleiades.zip以下のpluginsフォルダとfeaturesフォルダの中身を、eclipseのplugins,features以下に追加します。
cp -rf plugins/* /Applications/eclipse/plugins cp -rf features/* /Applications/eclipse/features
なんだかコマンドの打ち方がまどろっこしいですが、UNIXに慣れていないためです…いい加減覚えねば><
5.eclipse.iniを編集
最後に、eclipse.iniを編集します。
eclipse.iniはどこにあるんだ!?とおもったら、
/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse.ini
ここにありました。
これを編集して、最後の行に以下を貼り付けます。
-javaagent:/Applications/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
6.起動
ecliose.iniを編集したので、-cleanオプションでeclipseを起動します。
/Applications/eclipse/eclipse -clean
以上です!!!!
7.おまけ:コンテンツ・アシストのキーバインドを「command+Space」にする
あと、コンテンツ・アシストのキーバインドがspotlightの「^Space」と被っていたので変更しました。
「command+Space」にしたかったのですが*1、macのシステムの「前の入力ソースを選択」のショートカットキーと被っていたので、まずはこちらを別のキーバインドに変更。
りんごマーク>システム環境設定>キーボード>キーボードと文字入力 ↓ 「前の入力ソースを選択」のキーバインド設定部分をダブルクリック ↓ 「control+command+space」に変更(被ってなさそうだったので)
Eclipse>環境設定>一般>エディター>キー ↓ コンテンツ・アシストのキーバインドに「command+Space」を打ち込む ↓ OK
これで無事「command+Space」で入力補完ができました!!
参考にさせて頂きました
La Thinking Motion. - [mac] Mac OS X LionにEclipseをインストールして日本語化までのメモ
*1:ちなみに、すでにcontrolとcommandを入れ替えているため、「command+Space」が打ちやすいのでした。
2011-07-04
WindowsでPostgreSQLを使う
こんにちは!約半年ぶりのえびしです。
(そんな半年前には何を書いたのかと思ったら、「MacBook Air11インチ欲しい!」のあれでした…)
最近、
PostgreSQLのダンプファイルを元にMySQLにデータを移行する
というお仕事があったのですが、いろいろとつまずいたところがあったため、日記に書いておきます。
Windowsユーザアカウント「postgres」が必要
上記のサイトを参考にさせていただきました。
WindowsでPostgreSQLを使うときは、「postgres」という名のWindowsユーザーアカウントが必要です。
postgresアカウントは、制限ユーザとして作成して、パスワードを設定しておきます。
Download PostgreSQL | EnterpriseDB
ウィザードにしたがっていくと、パスワードを入力するところがあります。
これはpostgresアカウントのパスワードを要求しているので、先ほど設定したパスワードを入力します。
postresというアカウントを作っていなかった場合は、ここで好きなパスワードを入力すると、windowsアカウントが自動的に生成されます。
ところが、自動生成されたpostgresは、Windowsの「コントロールパネル>ユーザーアカウント」に表示されません。
よって、アカウントの管理はnet userコマンドを使って行うことになります。
ファイル操作時の注意
postgresは制限ユーザなので、アクセスに制限があります。
そのため、例えばcopyコマンドを使ってファイルを生成しようとするときは、postgresがアクセスできる階層を指定しなければなりません。
MySQL Mygration Toolkit
MySQL :: MySQL GUI Tools Bundle: Archived Downloads
MySQL Mygration ToolkitというMySQLへの変換ツールがあるのですが、
PostgreSQLから変換するときは、うまく変換されない部分多々ありました。
nextval()などのMySQLにはない関数がそのまま残ってしまっていたり…
バージョンの違いでうまくいかない部分もあったりするのでしょうか。ぐぬぬー
2010-11-16
【PHP】TwitterのOAuth認証を使ったログイン
ログアウト処理がうまくできてないのでご助言いただけるとありがたいです…!
ライブラリ
こちらのライブラリを使いました。
準備
ここでアプリケーションを登録します。
callbackURLにはlocalhostが指定できないので適当に登録します。
登録すると、Consumer keyとConsumer secretが得られます。
これを使って認証します。
Access token取得の流れ
- Consumer keyとConsumer secretを使ってRequest tokenとRequest secretを取得
- このとき、callbackURLを指定する
- Request tokenとRequest secretを使ってAuthorizeURL(Twitterの認証URL)を取得
- ユーザが認証ボタンを押す
- callbackURLにパラメータ(oauth_verifier)が付いて返ってくる(GET送信される)
- Consumer key、Consumer secret、Request token、Request secret、そしてoauth_verifierを使ってAccess tokenを取得
ややこしや!!
ソース
- testoauth.php
<?php session_start(); require_once("twitteroauth.php");// ライブラリの読み込み // セッションにアクセストークンがなかったらloginページに飛ぶ if($_SESSION['oauth_token']===NULL && $_SESSION['oauth_token_secret']===NULL){ header("Location: login.php"); } $user_id = $_SESSION['user_id']; $screen_name = $_SESSION['screen_name']; echo "<html><head><title>top</title></head><body>"; echo "<p>ようこそ!".$screen_name."さん</p>"; echo "<p>".$user_id."</p>"; echo "<p><a href=\"./logout.php\">ログアウト</a></p>" ?>
<?php session_start(); require_once("twitteroauth.php"); // Consumer keyの値 $consumer_key = "自分で取得したもの"; // Consumer secretの値 $consumer_secret = "自分で取得したもの"; // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret); // callbackURLを指定してRequest tokenを取得 $tok = $to->getRequestToken("http://localhost/testtwitter/callback.php"); // セッションに保存 $_SESSION['request_token']=$token=$tok['oauth_token']; $_SESSION['request_token_secret'] = $tok['oauth_token_secret']; // AuthorizeURLを取得 $url = $to->getAuthorizeURL($token); echo "<html><head><title>login</title></head><body><a href=\"".$url."\">ログイン</a></body></html>"; ?>
- callback.php
<?php session_start(); require_once("twitteroauth.php"); // Consumer keyの値 $consumer_key = "自分で取得したもの"; // Consumer secretの値 $consumer_secret = "自分で取得したもの"; // パラメータからoauth_verifierを取得 $verifier = $_GET['oauth_verifier']; // Consumer key,Consumer secret, Request token, Request secretを使ってOAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret,$_SESSION['request_token'],$_SESSION['request_token_secret']); // oauth_verifierを使ってAccess tokenを取得 $access_token = $to->getAccessToken($verifier); // token keyとtoken secret, user_id, screen_nameをセッションに保存 $_SESSION['oauth_token'] = $access_token['oauth_token']; $_SESSION['oauth_token_secret'] = $access_token['oauth_token_secret']; $_SESSION['user_id'] = $access_token['user_id']; $_SESSION['screen_name'] = $access_token['screen_name']; // TOPページへ header("Location: testoauth.php"); ?>
うまくいかなかったところ
ログアウトがうまくいきませんでした。
ログアウトして、再びログインを押すとTwitterの認証画面に飛んでほしいのですが、普通にTOPページへ飛んでしまいます。
<?php session_start(); session_destroy(); header("Location: login.php"); ?>
2010-10-02
【Python】正規表現でHTML解析
いろいろライブラリを教えていただいたのですが、なかなかうまくできなかったので、正規表現を使ってやってみました。
HTMLのテキストを読み込む
import re,urllib2 url = "http://~"#URL html = urllib2.urlopen(url).read()
正規表現メモ
役に立った表現をメモしておきます。
- タグとタグの間の空白を取り除く
html=re.sub('>\s*?<','><',html)
- タグを取り除く
html=re.sub('<.+?>','',html)
タグを取り除く表現は下手をすると
<コンテンツ>
このようなテキストもはじいてしまうので注意が必要です…。
