2012年10月14日

./configure のやり直しをするとき


./configure のやり直しをするときは

make distclean

を実行する。これで、MAKEFILE などを消してくれる。


posted by けんじ at 20:23 | Comment(0) | パソコンいろいろ
2012年10月13日

/etc/ssh/sshd_config の設定


sshd_config の設定をやっているところなのだが、忘れぬようにメモしておく。

Port XX -- SSHで接続を受けるポート。default では 22 だが、アタック待ち受けポートになるのであえて別のポートにする。
PermitRootLogin off -- このほうが安全。
ListenAddress 0.0.0.0 -- 許可するクライアントのアドレス。すべてを受け付ける(デフォルト)。


/etc/ssh/sshd_config にはコメントアウトされた行がズラーっと並んでいる。これは、/etc/ssh/sshd_config の上のあたりに書いてあるように・・・

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.

ということなのですね。全部デフォルト値。


posted by けんじ at 08:38 | Comment(0) | パソコンいろいろ
2012年10月04日

Visual Basic 3項演算子 の危険性


C言語で使うような3項演算子VisualBasic にないだろうかと思って調べていたら・・・ありました。IIF関数を使います。

variable = Iif(condition, process_true, process_false)

ただしこの関数には危険なところがあります。

Iif(list.length > index, list(index), list(0)) と書いたとき、条件の True/False にかかわらず、list(index), list(0) が評価されます。ということでエラーとなってしまいます。

VisualBasic3項演算子を使うのは避けた方が良いです。

(この記事には続きがあります)


posted by けんじ at 06:52 | Comment(0) | パソコンいろいろ
2012年09月29日

クリスタル パンタグラフフルキーボード - TK-FCP011WH


elecomのパンタグラフフルキーボード。ノートパソコンにつかわれるパンタグラフの技術を利用したもの。デザインが綺麗で使いやすい。

テンキーなしでもいいかなと思ったりする。あとはこれにつけるカバーがほしいな・・・。このキーボード、どうやって掃除すればいいんだ?


posted by けんじ at 21:33 | Comment(0) | パソコンいろいろ
2012年09月26日

eclipse 日本語フォントの幅がおかしいとき


eclipse日本語コメントを書いたりすると、フォントの幅がおかしくなったりすることがあります。そもそも日本語等幅フォントで表示されていません。そこで今日は、日本語等幅フォントで表示する方法を書きます。

どうするかというと、フォントの設定を変えます。Window->Preferences を開きます。左にあるツリーから、General(一般) -> Appearance -> Colors and Fonts を選択します。

すると右側に、設定されているフォントがツリー上に表示されます。好きなところを変更すればいいのですが、全般を変えるなら、Basic のところの TextFont を MSGothic などにすればOKです。フォントを変えると行間も変わるので、例えば(windowsなら) MSGothic にすると、VisualStudio に似た感じになります。


posted by けんじ at 19:44 | Comment(0) | パソコンいろいろ
2012年09月17日

000webhost に OpenPNE を入れてみる


000webhostOpenPNE(3.6) を入れてみようということで、やってみました。.htaccess に4時間ぐらいかけましたw


まず、ファイルをFTPでアップするときなのですが、quota exceeded という意味不明なものが出てきます。quota に制限ありってどっかに書いてあったか?・・・と思いつつも、なすすべなく。

ここは 1-Click Website Restore をつかいます。CPanel の左あたりにあるやつです。ローカル開発環境にウェブサイト一式のファイルが存在することが前提です。その一式のファイル群を zip, tar.gz にして投入します。すると(時間はかかりますが)ファイル数が多くてもアップロードできます。


.htaccess

つまづいたのは mod_rewrite です。

public_html にある .htacces は次のようにします。

# Do not remove this line, otherwise mod_rewrite rules will stop working
RewriteEngine On
RewriteBase /
RewriteRule (.*) /web/$1

web ディレクトリ の .htaccess は RewriteBase /web にします。


データベースの移行

これがなんともうまくいかない。config ファイルひとつを変更するだけではダメみたいなのだ。

・・・と思っていたんだが、キャッシュを消したらうまくいった!


メモリ割り当て

管理者用画面を開いたら、Fatal error: Allowed memory size of 67108864 bytes exhausted .... と出た。メモリがうまいこと割り当てられていないらしい。

http://8volt.com/stk2/index.php?option=com_content&view=article&id=340:joomla-allowed-memory-size-of-xxxxx-byte&catid=3:joomla&Itemid=5 参考にさせていただいて、解決。

000webhost では、(有料ユーザについては知らないが)無料ユーザについては php.ini を個別に設定することができない。そこで、ルートディレクトリの .htaccess に

php_value memory_limit 64M

を記述する。それでOK・・・のはずだったが、こんどは php のエラーが出たw


Empty?

Empty module and/or action after parsing the URL "/pc_backend_dev.php" (/).

ローカル環境では動く。ファイルが見つからないの??? エラーの出たコードは下のとおり。

throw new sfError404Exception(sprintf('Empty module and/or action after parsing the URL "%s" (%s/%s).', $request->getPathInfo(), $moduleName, $actionName));

sfError404Exception がないのか、$moduleName がないのか、$request がないのか、$actionName がないのか・・・。いや、 root_domain/web/xxxx.php をリクエストしたら一応表示はされた。ってことは .htacces の問題? とりあえず放置。でも、エラーコードとか直接出てくるのはまずいな。

で、表示された管理画面ですが、Warningが出てきます。Bug(バグ) #2516 で OpenPNE のページに出てきているのでそれを頼りに修正。管理画面は無事表示された。

表示はされたんだけど・・・管理画面の右上に、config やら log やら見るためのリンクが出てきている。これはまずい。symphony の標準装備か?


Maximum execution time

プラグイン一覧を表示しようと、管理画面にログインしてリンクをクリックしたら、 Maximum execution time of 10 seconds exceeded と表示されました。誰が決めたかしらないが、10秒でなんとかしろということらしいです。(でもそんなの無理だと思います。)

http://php.net/manual/ja/function.set-time-limit.php を参考に、.htaccess に下の1行を追加してもう一度チャレンジ。

php_value max_execution_time 30

30秒は長いが、落ち着くまでこれでいく。

すると次は MYSSQL SERVER gone away と表示された。

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away. Failing Query: "SELECT s.id AS s__id, s.name AS s__name, s.value AS s__value FROM sns_config s"

どうやら 10秒以内に返ってこなかったのも、ここに原因がありそうです。データベースの設定は正しいはず、そしてローカル開発環境では1秒もかからぬうちにレスポンスが返ってくる(ま、ローカルですからね)。どうしたのだこれは・・・。SQLを実行したところ、レスポンスはすぐに返ってくる。


posted by けんじ at 04:28 | Comment(0) | パソコンいろいろ

tar で複数ファイルを圧縮する方法


tar複数ファイルを圧縮する方法。わかりやすいサイトが見つけられなかったので、自分でメモしとく。

tar czf '作るファイル名'.tar.gz file1 file2 file3 directory1 directory2

こんな感じで後ろに列挙すればOK。また、tar cf xxxxx.tar で tar ファイルができる。詳細を見たければ v を追加する。


tar はもともと磁気テープに移すことを考えてつくられたらしい。


posted by けんじ at 02:10 | Comment(0) | パソコンいろいろ
2012年09月15日

Oracle の NULL


OraclePL/SQL で、NULL と '' を別物として扱っていた私に先輩が一言

NULL空文字列は一緒やで。

Oracle Master Bronz 11g を勉強したときに、別物と書いてあったような・・・

そこで、調べてみました。

Oracle(R) Database SQL Language Reference 11g Release 1 (11.1)

Nulls

Oracle Database treats a character value with a length of zero as null. However, do not use null to represent a numeric value of zero, because they are not equivalent.

Note:
Oracle Database currently treats a character value with a length of zero as null. However, this may not continue to be true in future releases, and Oracle recommends that you do not treat empty strings the same as nulls.

http://docs.oracle.com/cd/B28359_01/server.111/b28286/sql_elements005.htm

これは Oracle 11g Release 1 のドキュメント。空文字列とNULLは一緒、とはっきり書いてありますね。ただし、今後別物にする予定らしいので、別物として扱っておいたほうがいいわよとORACLEは言っている。

現在のスクリプトをそのまま新しいバージョンでも使えるようにするためにも、NULL空文字列は別物として PL/SQL を書いたほうがよさそうですね。パッチ当てたら使えなくなった!とか困るし。


フィールドが空かどうかは、次のように判定する必要がある。

FIELDVALUE IS NULL OR FIELDVALUE = ''

また、値が入っているかどうかは、この評価式にNOTをつけて判定する。決して次のようにしてはならない。

FIELDVALUE IS NOT NULL AND FIELDVALUE != ''

'' が NULL と同じものとして扱われるため、FIELDVALUE != '' は常にFALSEとなり、この評価式は期待している結果を返してくれない。


posted by けんじ at 16:23 | Comment(0) | パソコンいろいろ

eclipse で折り返しする方法


eclipse は標準では行の折り返し表示ができない。ながーい文になると自分で改行していかないといけない(まるでVisualBasic6のようだ)。

そんなこともあり、eclipse から距離を置いていたのだが、今日、折り返しする方法を見つけた。例によって標準ではできないので、プラグインを使用する。

EclipseColorer

http://colorer.sourceforge.net/eclipsecolorer/

色をつけたりするのが売りの機能だが、それだけではなく、行の折り返し表示もできる。

Eclipse Word-Wrap

http://ahtik.com/blog/projects/eclipse-word-wrap/

行の折り返しに特化したプラグイン。(ただし、EclipseColorerと違って行番号表示がおかしくなる。)


Eclipse 4.6 M4 Neon で機能追加されました。


posted by けんじ at 07:48 | Comment(0) | パソコンいろいろ
2012年09月13日

ORA-01799: 列は副問合せに対して外部結合されません。


今日もエラーが出ました。

ORA-01799: 列は副問合せに対して外部結合されません。

下のように解決したのでした。

(使っているデータベースは Oracle 10g11g のどっちかでした。)


エラーが出たのは次のコード。

LEFT JOIN で結合するテーブルの結合条件に副問合せをつかうと駄目みたいです。上のコードでやりたいのは、BUNNO がメインテーブルの値以下になっているもので、最大のものをとることです。下のように。

しかしこれではエラーがでる。しかしカーソルを使っていったんテーブルに入れるのも面倒。そこで・・・

このようにするとエラーはでない。イメージとしては、BUNNOがメインテーブル以下のものをすべて結合した後で、最大のもののみに絞り込むイメージ。


別の例があったので・・・

http://d.hatena.ne.jp/jflute/20071226/1198651934 で次のコードを見つけました。

この場合だと

とすればいいことになる。


もっといい方法あったらおしえてください。


posted by けんじ at 23:36 | Comment(0) | パソコンいろいろ
2012年09月12日

System.Int32 および System.String で '>=' 操作を実行できません。


ども。 Visual Basic 2010 のお話です。

あるプロジェクトで、 DataTable について次のようなコードを書いて実行したらエラーになりました。

Dim dt As DataTable
...
Dim dr() As DataRow
dr = dt.Select("KEIJOYMD >= " & "20000101")

一部省略していますが、dt はデータベースから取ってきたデータを格納していて、KEIJOYMD は数値型のフィールドです。"20000101" は変数だったのですが、ここではわかりやすくするために直接値を指定しています。

これを実行するとエラーが出ます。System.Int32 および System.String で '>=' 操作を実行できません。

KEIJOYMD は数値のはずなのですが、どうもそんなにうまくはいかないようです。おそらく KEIJOYMD が NULL(値なし) の場合にエラーになっているのだろう・・・ということで、次のようにしたら問題なく動くようになりました。

dr = dt.Select("KEIJOYMD <> '' AND KEIJOYMD >= 20000101")

英語の場合はこんなメッセージが出るみたい。

Cannot perform '=' operation on System.String and System.Int32


posted by けんじ at 01:33 | Comment(0) | パソコンいろいろ
2012年09月08日

Rails のプロジェクト作成


Rails のプロジェクト作成

Rails でプロジェクトを作成してみた。rails new myapp とするとプロジェクトができる。

ここでエラー

やりかたはいろいろあるみたいだが、myapp の中にある Gemfile の1行目にかかれている https://... を http://... に変更。

で、プロジェクトを再作成。サーバを立ち上げるために rails server をタイプして実行。今度はサーバの立ち上げでエラー。JavaScriptRuntime がないとか。

プロジェクトフォルダの下の Gemfile の中にある gem 'therubyra... ってやつを外して、bundle install を実行する。これで、関連するファイルがインストールされる。その後 rails server.

しかし openssl がサポートされていないとかでエラー。結局 ruby を openssl つきでインストールしないといけないらしい。

apt-get install libssl-dev とやってから、 ~/.rvm/src/ruby-x.x.x-pxxx/ext/openssl に移動、 ruby extconf.rb -> make -> make install でOK。

もいちどプロジェクトを作成。上書き確認はすべて Y で。


git がインストールされてないみたいなので、 apt-get install git-core でインストール。

myapp ディレクトリに移動して、git init で初期化。 そして git add . , git commit 。


posted by けんじ at 10:55 | Comment(0) | パソコンいろいろ

RVM, Ruby, Rails, SQLite のインストール


RVM

RVM を入れて複数バージョンの Ruby を使えるようにしよう、ということでRVM をインストールしてみた。perl でいうところの perlbrew ですね。

ちなみに僕は上の本を使っているのだが、RVMのインストール方法が古くてできなかった。そんなわけで、インストール方法は RVM のサイトを見よう。


curl をインストール(参考:http://oad.seesaa.net/article/290868646.html)したらサイトに書いてあるとおりにやって終了。

そんで次に、 source $HOME/.rvm/scripts/rvm を実行してコマンドを使えるようにする、(sourceはファイル内容をスクリプトとして実行するためのコマンド。)

Ruby

それが終わったら、rvm install 1.9.3-p194 を実行して ruby をインストールする。1.9.3-p194 は、今日時点で入手できる安定版のうち、最新のもの。それが終わったら ruby -v を実行してバージョンを確認する。(ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] と出てきた。)

Rails

rails のインストールは、 rvm gemset greate 'rails3', rvm gemset use rails3, gem install rails を順に実行する。


gem install rails のところでエラーが発生・・・

っていうエラーが出たので・・・以下対処法。ruby をインストールする時に zlib1g-dev がなくて zlib が使えなくなっているっぽい。で、どうするかというと、zlig1g-dev をまずインストール。次に、ruby の再コンパイル&インストール。(参考:http://tmpz84.blogspot.jp/2011/09/gem-install-no-such-file-to-load-zlib.html)


気を取り直して ruby install rails 。しばらく時間がかかります。windows でやったときも時間がかかった。(参考:http://oad.seesaa.net/article/289450949.html

rails -v でバージョンを確認。Rails 3.2.8 とでた。

SQLite

RailsSQLite の使用を前提にしているので、SQLite もインストール。gem install sqlite3-ruby をやるとエラーが出た。コンパイルに必要なライブラリが必要ということで・・・

apt-get sqlite3-dev を実行してコンパイルできる環境を整え、gem install sqlite-ruby でSQLite をインストール。


続いて Rails のプロジェクト作成


posted by けんじ at 09:07 | Comment(1) | パソコンいろいろ
2012年09月01日

Windows マシン に Ruby on Rails をインストールしたメモ


まず、Ruby Installer をダウンロードして実行します。今回ダウンロードしたのは、Ruby-1.9.3-p194。ハイフンの後の p194 は、パッチという意味らしい。インストール先フォルダはスペースを含んではいけないらしいのでデフォルトのまま。

インストールするときにつけるオプションで、PATHへの登録をしておくとよい。で、コマンドプロンプトで ruby --version とタイプして、バージョン情報が表示されるのを確認する。

続いて、Development kit をインストールする。これはRuby InstallerのOther useful downloads のところにある。今回使用したのは DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe 。7-zip と書いてあるが、自己回答形式のファイルだから気にしない。回答先は C:\DevKit などの専用の場所を選んでおく。

コマンドプロンプトから DevKit\devkitvars を実行する。引数はなし。

続いて、gem install rails をタイプ。rails のバージョンを指定するには 最後に --version=3.0.5 などを追加するといい。だいぶ時間がかかる。ドキュメントのインストール時には、Windows-31Jへの文字コード変換がうまくいかないドキュメントがいくつか出てくる(変換前はUTF-8みたい)。下のようなのが出てきます。

SQLite のインストールも場合によっては必要なのだが、今回はパス。


gem というのは Ruby のパッケージ管理システム。

(RailsInstaller ってのを使う方法もある。)


posted by けんじ at 08:23 | Comment(1) | パソコンいろいろ
2012年08月26日

windows へ php をインストールする


Windows マシンを 使うことが多いのに、php環境Linuxマシンにしかインストールしていない、そんなわけで結構不便だったので重い腰を上げてwindowsにphpインストールしました。

方法

インストーラがありますのでそれを実行します。インターネットを見る限り、いろいろインストーラがありそうな感じですが、迷わず http://windows.php.net/download/ からダウンロードしました。

本日 2012/08/26 時点では PHP5.4 のインストーラがありませんので、PHP5.3 のインストーラをダウンロードしてインストールです。PHP5.4はzipファイルでコンパイルされたバイナリファイルが配布されています。zipファイルをダウンロードする場合は、http://www.php.net/manual/ja/install.windows.manual.php を参考に環境を整えましょう。


posted by けんじ at 22:05 | Comment(0) | パソコンいろいろ
2012年08月11日

ODP.NET と OLEDBなどとの違い


Oracle 提供 の ODP.NETOLEDB, ODA などとの違いについて。

先輩社員がいうには、ODPでは Oracle のすべての機能が使えるらしい。確かに、ストアドプロシージャのパラメータとして使える型の中に、ODPでないと使えないものがあった(たしか配列?テーブル?だったような)。(そんな社員教育があればいいのに・・・と思うのだが・・・いまんとこない。)

フルにOracleを使いたければODPだが、ODPじゃないと困る!ってことはそんなにないと思うのです。(・へ・*)


posted by けんじ at 12:11 | Comment(0) | パソコンいろいろ
2012年07月23日

複数のSQLを一度に実行するためのスクリプト


Oracle では、PL/SQL や CREATE 文 をファイルにしておいて、ファイルにしたスクリプトを実行することができる。

(Windows では、)plsql を開き、@マークの後にファイル名を続けて書いて Enter を押せばOKだ。

@"C:\Program Files\xxx.sql"

(Program Files の下にスクリプトをおくことはないだろうが、)上のような感じになる。


それでは、ファイルが複数ある場合はどのようにすればよいだろうか。ひとつずつファイルを入力するのもひとつだが、それだと時間も手間もかかる。そこで、次のようなスクリプトを使用して一括でスクリプトを実行するためのファイルを作る。(Windows 限定)(普段はもうちょっと別のことをやるためにForTablesという定数・引数をつかっていろいろやっているため、引数にForScripts, ForTables があるが、とりあえず下記のまま実行すればOK)

(この記事には続きがあります)


posted by けんじ at 21:14 | Comment(0) | パソコンいろいろ
2012年07月17日

psコマンド ちょっとメモ


ps

  • a: 全ユーザのプロセス表示
  • f: プロセスの親子関係を階層表示
  • l: 詳細情報を表示
  • x: 端末制御のないプロセス(デーモンなど)を表示

kill コマンドで使用するIDを調べるときによく使う。


posted by けんじ at 20:58 | Comment(0) | パソコンいろいろ
2012年05月26日

ZendFramework のお勉強


ZendFrameworkを使った開発に途中から参加することになったが、だれもファイル構成の概要すら教えてくれないので、ソースコードをちょっとずつ調べながら見ていくことにした。(I got into the project to develop in ZendFramework, but no one introduce even files and directories structure. So I decided to check sources step by step in an honest way.)

ファイル構成はZendFrameworkの本来の構成とは違うみたい。あるディレクトリに置いたZendとSmartyを参照するような形。(It seems like not having ZendFramework standard file structure. It refers ZendFramework base files and Smarty base file in another directory.)

どこから見ていってもいいのだけれど、Webのリクエストを受け付けるのはコントローラなので、コントローラのファイルから見ていくことにした。(Whatever file is ok to watch, but since controller receives requests and control processing, I decided to start with controller files.)


Zend_Session_Namespace

This is used like $_SESSION. In ZendFramework, it's not allowed to use $_SESSION variable directly. $_SESSION 変数のようなもの。ZendFramework では $_SESSION を直接使わない。

Zend_Auth::getInstance()

Zend_Auth enables us to manage login session, and getInstance() returns login user information object. Zend_Auth はログイン情報を管理するためのもの。getInstance はログインユーザ情報を返すオブジェクト。

assign()

It's used to pass an parameter to a view instance. $view_instance->assign('parameter_name', $parameter)

Zend_Pdf

PDF を出力するためのもの。


posted by けんじ at 20:18 | Comment(0) | パソコンいろいろ
2012年05月06日

dist-upgrade で失敗


Debian lenny を Squeeze にアップグレードしようとしたんですが、ハマりました。

問題は realtek の 8111B です。思い起こせばインストール時にも苦労していました。

linux-headers-... などを別パソコンで取得し、USBで移し、インストールして、ドライバコンパイルして・・・うまくいかない! というわけで、手っ取り早く、上から DVD で Squeeze をインストール(笑)

現在インストール中です。

自分で作ったものは /home/user_name にしかないので、tar -xvjf /home/user_name xxxx.tar.bz2 として4GB のファイルを作成。

そのあとどうしたか・・・4GBが入るUSBDiskもないのでDVDに入れることに。紆余曲折はあったものもの、 wodim dev=/dev/cd0 blank=fast でDVD-RWをブランクにして、 growisofs -M /dev/dvd -R -J file_name という形でDVDに書き込み。(-Rはロックリッジ方式というやつらしい。wodim ではisoしか書き込めないみたいで・・・そしてマシンには mkisofs が入っていなかったため、growisofs を使うこととなった。)

別パソコンに 書き込んだ DVD-RW を挿入して 中身を調べる。マウント後、ファイルがあることを確認する。そして、tar.bz2 なので、 tar -tjf file_name.tar.bz2 > output.txt で、アーカイブがまともに作られているっぽいことを確認する(現在進行中)。テキストファイルなのに2GBを超える恐ろしさ。さっき中身除いたら、うまくできてる感じだったので正直どうでもよかったりする。


posted by けんじ at 13:55 | Comment(0) | パソコンいろいろ
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。