ももにゃんのチラシの裏的Blog NEW
「チラシの裏にでも書いとけ!!」っていうくらいの雑記。2010年から一行日記を書いてみる。長文はmixiにて公開中。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。





休日出勤の原因その1。

IEでは動くのにFireFoxでは動かないとかって言われたJavaScriptがあってね、全然わからなかったんですよ。どうも、getElementById でオブジェクトがうまく取れてきてないっぽくてねー。。。

で、いろいろと単語を変えてググったらこんな記事が…

事は、getElementById の動作が、IE では id 属性を指定していなくても、name 属性が一致すればオブジェクトを取り出せてしまったことが始まりです。



ビンゴー(゚д゚)。

私は、ID属性を指定してあったんだけど、getElementByIdの引数にはたまたまName属性の値が入っていたんですね。似たような文字列だったし、IEでは動いたので気がつかず…。

てか、勝手にName属性で補填すんなや、ゴルァ!!IE死ねー!!(マテ
スポンサーサイト




Bark at the Moon

そんな気分です。


Ozzy Osbourne、かっこいいです。


さて、帰るか。。。(←今、会社。要するにストレスたまってるだけwww




斬って捨てられた…

掲示板の機能について検討していたときのこと。

も「この"参照数"って要するに記事を見た回数ですよね」
リーダ「うん、いらないかなぁ。。。」
メンバ「んーこれ…あったらいいですよね。前の会社でも掲示板に参照数あったんですよ。で、新入社員が入るとそこに自己紹介を書くのよ(´ω`)」
も「ほぅ、いいですねー(^-^)」
メンバ「するとどうなるかって言うと、女性社員、特にかわいい子は参照数が伸びるわけwε=(゚∀゚)」
も「あ、なるほどwwww(゚∀゚)」
メンバ「伸びないとへこむよねー(´ω`)」
も「実はうちの会社のも参照数わかるんですよね。自分の記事の数が増えるとちょっとうれしいです(*´∀`*)」
メンバ「ほぉ、それはほほえましい(^-^)」
も「と、いうわけで…」


リーダ「うん、いらない」



も・メンバ「工エエェェ(゚д゚;(゚д゚;)ェェエエ工」
なに、盛り上がり損みたいな叩き落しはwww なんだよ・・・新しく作れっていうんじゃないのにさ~。





PG的ニュース~Sun×Oracle

朝、満員電車に押しつぶされながら携帯で2ちゃんんるのニュー速板見てたら、衝撃が!!

米オラクルが米サンマイクロシステムズ買収
http://www.atmarkit.co.jp/news/200904/20/oracle.html

な、なんだってー!!!!マジか・・・MySQLはどうなるよ???オープンソースだけど、おいらはMySQLが結構好きなんだが…。これからはJava×Oracleの時代が再来?重たいからやだー

ジダバタ
    〃〃∩  _, ,_
     ⊂⌒( `Д´) < ヤダヤダ!
       `ヽ_つ ⊂ノ
              ジタバタ

P.S.久々にJavaやったらコンパイルとかビルドとか忘れてたぜwww
Antとか超久しぶりに聞いた単語なんですけどwww




PG的HELP!!~Liferayに詳しい者はおらんかー!?【解決しました】

もっと英語ちゃんと勉強しておけばよかったよ・・・>挨拶

もう、検索にもヒットしないよぉ。。。

<やりたいこと>
Liferayでログインしたときにユーザごとに個別のトップページにしたい。

portal-ext.propertiesにdefault.landing.page.pathのパラメタの値を設定すれば全員共通だが、意図的にサイトに飛ばせることはわかった。が、それではいまいち実用的ではない。。。

なので、一番簡単だと思うのは、「マイコミュニティ」のページ(web/[ID]/homeのページ)に飛ばせればOK。所属している組織ごとに設定可とかいうのでもOK.

設定でなんとかならんものかと一生懸命、本家サイトをつたない英語力で探したが「portal-ext.properties」の話ばかり。。。

通りすがりのあなた!もし、ご存知でしたら教えてください。。。設定で出来るのか、出来ないから個別に開発が必要なのか。。。それだけでも良いですm(_"_m)


<追記>

投稿後、速効で解決した_| ̄|○
auth.forward.by.last.path=false
を設定すればおk!!

日本語LiferayWikiには

ログアウト時に参照していたページを記憶するか
##Keeps system from returning to last path.
auth.forward.by.last.path=false


って書いてあるからあんまり関係ないかと思っていたんだけど、

「ログアウト時に参照していたページを記憶しない」=「最初からやりなおし」⇒最初に表示するページなし⇒「マイコミュニティ」表示

って流れ???よくわからんが解決!




PG的覚書~Liferayがすごい

IT関係者以外には全然わからん話題が続いて申し訳ないのですが、情報提供と覚書をかねてますのでご容赦を。

Ruby on Railsをはじめたときに「Web系の開発がテラ早いwww」って思ったのですが、ポータルサイトとか作るんだったら、Liferayのほうがすごいかもしれません。

Javaベースで作られてるオープンソースのフレームワークになるのかな。比較的新しいもののようです。
で、概要についてはこの辺(openstandia)を見ていただけるとわかるかと思います。

調べて2日目の私がすごいと思ったことは…

①インストールが楽。
パッケージをDL

ZIP解凍

終了www


マジです、これ。中にTomcatがすでに入っているのでstarup.batを実行してやれば、あらかじめ入っているテストデータでログインやら権限設定、プラグインの実行なんかも出来ちゃいます。恐ろしく凄い。


②DBの構築も楽。
まぁ、テストページなので、変更しても保存とかは一時的には出来たように見えますが、結局は破棄しちゃってるみたいです。それだけは味気ないので、MySQLにつないで見ます。
これはmacuha.comを参考にしたのですが、
Java、MySQLをインストール

MySQLのJDBCドライバをDL、jarファイルの配置

propatiesファイル作成、配置

MySQLにDB「lportal」作成

Tomcat再起動

で、よいと書いてあるわけです。てか、テーブルとか作らなくていいのかよ?と思ったのですが…試しに、やってみたところ…

あっという間にテーブルできたー!!!ありえねぇ…なんだこのスピーディなシステムは。
ブログ、掲示板、カレンダー、アンケート…全部、出来る!すげぇwww


この後のももにゃん的課題としては、
・あまりに機能が膨大すぎるので取捨選択の必要あり。
・権限設定が細かく出来るのが利点でもあり欠点でもある。
・日本語の説明サイトがまだまだ少ない。(日本 Liferay ユーザグループが一番進んでそうだけど、肝心の「Liferayの使い方」は「(作成中)」ときたもんだ)
#システム自体は多言語に対応しているので、日本語でおk
と、まだまだ勉強せねばならんことはたくさんありますが、はじめるに当たっての第一歩は好調(≧∇≦)




PG的覚書~RubyOnRails&Web開発ではまったw

年度末でひと段落着いたプロジェクトのなかで今後もはまりそうな話を覚書。

・Windowsじゃログのローテートが起きない。
ことの発端はExcelファイルを出力すると3回目で毎回500のエラーで落ちるという怪奇現象から。
最初は出力関係でのエラーを疑っていたのだが、ログをチェックしているとどうもローテーションに失敗している雰囲気。ネットであまり情報はなかったのだが、Rails標準のLoggerではWindowsだとローテーションしてくれない見たいです。
http://park8.wakwak.com/~d-world/archives/000452.html

マジありえねーw Linusは無問題。ちなみに「帳票出力3回目」ではなくログローテションサイズがたまたま3回目で超えるだけの話。

・IEとFireFoxの違い。
昔でいう、「IEとNSの違い」なわけですが、どうにもこれが解消されないですねぇ。今まで以上にブラウザの種類は増えているのですが、やっぱり2大巨頭は無視できません。

まずは、これはIEでのみ起こる現象。
HTMLで<select>タグを書くときに
<select>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
と書きますが、このときに中身の<option>だけある条件にもとづいて書き換えたいときってあるじゃないですか。それで、Railsのoptions_for_selectメソッドを使ってinnerHTMLで書き直そうしたのだが出力されない。。。
どうも、IEだと<select>ごとの書き換えはOKなのだが、中身だけというのはダメらしい。結局、selectメソッドで書き込むことに。別にどっちでもいいっちゃーいいんだけど、同じ<select>タグ毎度書くのもねぇ。

逆にFireFoxでのみ起こる現象としては、スタイルシートの問題。同じスタイルシートなのに、FireFoxだけレイアウトが崩れる。仕様の問題なんだけど、何が悪いのが検討つかん。。。

・Railsのproductionモードとdevelopmentモード
先日リリースしたときに見事、エラーによりおちた。。。orz
その原因がproductionモードとdevelopmentモードの違いだったということです。

大まかにいうと
development⇒開発モード。サーバの再起動せずともソースを毎回読み込んでくれる。その代わりレスポンス悪い。
production⇒運用モード。ソースの再読み込みにはサーバを再起動する必要あり。その代わりレスポンス良し。

それに加えて、モデル名の指定をシンボルで書いていたことが影響。とあるところでモデル名の指定をしていたんですが、シンボルだとパッケージの指定がうやむやになってしまうのか、うまく動かないことが判明。
/model/hoge/TableName.rbを使いたいときに
:model => :table_name
じゃなくって
:model => "Hoge::TableName"
と、書けばよいみたいです。。。てか、developmentではどっちでも動くもん!!こんなんわかるかい(ノ`Д´)ノ彡== ┻━┻

本来ならこんなことで動作に違いがあってはいけないとおもうのですが、実際に起こってしまったのでしょうがない(--;


さらに、helperに記述してあるprivateメソッドがたまに認識しなくなる。。。このたまに、って言うのがポイントでしかも、サーバによっては100%起こる…そもそも、今回の場合はprivateである必要がないメソッドなのでpublicにしたんだけれども…

Javaとrubyでprivateの影響範囲が違ってわからん。さらにメソッドごとの明示する必要がなく一箇所で宣言するとその下全部が引きずられてしまう。例えば
Javaだと
 

 public int getID()
 {
 }
 private int getData()
 {

 }



なんだが、rubyの場合

 private
 def getID

 end
 def gatData
 end


とかくと、getDataメソッドもprivateになっちゃうのよ(--; 「とりあえず、「追加だから一番したにいれとくか」とかやっちゃうと今回みたいにprivateでとられちゃったりする。。。ぬぅ。

#ちなみにrubyでは返り値は必ずあるものなので、宣言で書く必要がないし、複数でもいいし、型も全然気にしないという緩い仕様ですw だからオーバーロードって概念がないんだよね。これがいいのか悪いのか。。。

もうちょっと勉強しておく必要があるなぁ。




PG的覚書~Rails的redirect_to

他の人のソースを参考にしてソースを書いたら
redirect_to :back が RedirectBackError で落ちた・・・_| ̄|○

APIで調べたら

:back - Back to the page that issued the request. Useful for forms that are triggered from multiple places. Short-hand for redirect_to(request.env["HTTP_REFERER"])

とな。要するに、refererに値が入ってないので、Errorとな…。ちなみにFormのSubmitとかリンクとかは大丈夫だった。
ためしにrequest.envをコンソールに出したらこんな感じ。
{"SERVER_NAME",
"HTTP_X_PROTOTYPE_VERSION",
"PATH_INFO",
"REMOTE_HOST",
"HTTP_ACCEPT_ENCODING",
"HTTP_USER_AGENT",
"SERVER_PROTOCOL",
"HTTP_CACHE_CONTROL",
"HTTP_ACCEPT_LANGUAGE",
"HTTP_HOST",
"REMOTE_ADDR",
"SERVER_SOFTWARE"",
"CONTENT_TYPE",
"HTTP_REFERER",
"HTTP_COOKIE",
"HTTP_UA_CPU",
"REQUEST_URI",
"RAW_POST_DATA",
"SERVER_PORT",
"GATEWAY_INTERFACE",
"QUERY_STRING",
"REMOTE_USER",
"HTTP_ACCEPT",
"REQUEST_METHOD",
"HTTP_CONNECTION",
"HTTP_X_REQUESTED_WITH"
}

あ、もしやJavaScript経由(location.href)でRequestするとrefererに値がはいらんのか!




Bingo-!

{"SERVER_NAME",
"PATH_INFO",
"REMOTE_HOST",
"HTTP_ACCEPT_ENCODING",
"HTTP_USER_AGENT",
"SERVER_PROTOCOL",
"HTTP_ACCEPT_LANGUAGE",
"HTTP_HOST",
"REMOTE_ADDR",
"SERVER_SOFTWARE",
"HTTP_COOKIE",
"HTTP_UA_CPU",
"REQUEST_URI",
"SERVER_PORT",
"GATEWAY_INTERFACE",
"QUERY_STRING",
"REMOTE_USER",
"HTTP_ACCEPT",
"HTTP_CONNECTION"}

これ、Webプログラマとして常識なんだろうな。。。(ノд`)




PG的覚書~今日もログインできません…~

前回の続きです。

結局、本日もログインできません_| ̄|○
まずは、
mysqld-ntコマンドで起動したものはサービスでの起動とは別物。停止するときは
 >mysqladmin shutdown
を使うということが判明。

それを踏まえて…

net stop mysql でmysqlのサービス停止。
 ↓
mysqld-nt --skip-grant-tables で起動
 ↓
mysql.userのhost、user、passwordを確認。すると…

image02.jpg


rootユーザのパスワードが生だwwwΣ( ̄□ ̄;
原因はこれか…。よく見るとupdate時に値をセットするときに「password」でマスクできるらしい。つまり、
update user set password = PASSWORD('任意の文字列') where user = 'root'
と、するのが正解では?!で、実行すると…

image04_20081027101702.jpg



キタ(゚∀゚)コレ!!

ここで気を抜いてはいけない。落ち着いて、
>mysqladmin shutdown
>set start mysql

で、停止・起動を行う。結果は…




   イィィヤッッッッホオォォォー

    *     +    巛 ヽ
               〒 !   +
         +    。  |  |
      *     +   / /   +
          ∧_∧ / /
         (´∀` / / +
         ,-     f
         / ュヘ    | *
        〈_} )   |
           /    ! +
          ./  ,ヘ  | 
    ガタン ||| j  / |  | |||
   ―――――――――――――

ログインできたよぉぉぉ!!

まぁ、実際にはデータをSQLで抽出するためなわけですが、自分のPCの設定がここまで遅れてしまったので、作業としては、別サーバにつないでやってました。これでやっと自分のPC内だけで開発ができる。だが…

union all で結合しまくりの1.5kstepあるSQLなんか 2 度 と 考 え た く な い 。 




PG的覚書~MySQLにログインできません!~

このところMySQL悩まされっぱなし。。。
MySQLサーバを再起動するとrootユーザでログインできなくなるという怪奇現象が起こります。

my.ini変更

「管理ルーツ」の「サービス」で「サービスの再起動」

コマンドプロンプト開く

>mysql -u root -p
でログインしようとする

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)でログイン不能。。。

再インストールして、my.ini変更、「サービスの再起動」

ログインできたよ(゚∀゚)
↓←ここまで昨日の話
出社して、PC立ち上げる。MySQLに接続してみる。

や っ ぱ り 無 理 で し た …。_| ̄|○


同じ現象により再インストールはかれこれ3回目だwさすがに毎回再インストールは面倒なのでそろそろ根本的解決を考える…。ググってみると同じようにログインできない人がチラホラいました。そこでまず、

「なぜかrootユーザが消えてた!」という人がいたのでその辺を疑ってみる。操作は以下。

「管理ルーツ」の「サービス」で「サービスの停止」

…「停止できん!」とエラーが返ってきた…_| ̄|○ 
だぁ~!もうこれだからWindowsは…。しょうがないのでコマンドプロンプトから
>net stop mysql
と実行。その後、
>mysqld-nt --skip-grant-tables
で起動する。すると権限テーブルの読み込みをスキップしてくれるらしい。コンソールに帰ってこないので、新しいウィンドウを立ち上げ、
>mysql -u root
でログイン。早速、userテーブルをselectしてみる…

するとrootもいるが、見 覚 え の な い ユ ー ザ も い る よ(゚д゚?)

ひょっとしたら、開発環境構築時に使ったDB構築用シェル動かしたときとかRailsのmigrateとかしちゃったときにmysql.userテーブルにもデータ挿入したんだべか…?よくわからないが、updateでrootのパスワードを変更。exitする。

>net start mysql
で、サービスを立ち上げ、再度ログイン。
>mysql -u root -p
Enter password: *******


(;゚д゚)つ[Enter]ポチ


mysql>


キタ━━(゚∀゚)━━!!ちゃんとログインできたよー!いやっはー(AA略

やれやれと思い、開いていた「サービス」のウィンドウを閉じようとした瞬間…


(((゚д゚;))))サービスが動いてない???
何かおかしいと思い、ためしに
>mysql
だけで実行


…ログインできました。。。_| ̄|○ これダメだろ。「mysqld-nt --skip-grant-tables」がまだ効いてるっぽい。
ここで、マンドクセ('A`)となり、とりあえず、業務に戻る…。←今ここ。

*---*

(10/25 追記)
>「mysqld-nt --skip-grant-tables」がまだ効いてるっぽい。

そりゃそうだろw だって停止かけてねぇもんwww
明後日、どうなるかが勝負だな…





上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。