mieki256's diary



2014/07/01(火) [n年前の日記]

#1 [comic][neta] ラジヲマンなる漫画があることを今頃知った

あさりよしとお先生が、原子力をネタにした漫画を1990年代に描いてたことを今頃知ったわけで。Web上で特定ページを目にすることはあったのだけど、なるほど、こういう作品だったのか…。

単行本にならないのかなあ…。どこかの時点で1回ぐらいは、単行本にしておかないといけない種類の漫画じゃないかと思ったりして。

だってこのままだと、「あれは想定外だった」「誰もあんな“事象”が起きるとは夢にも思ってなかった」と延々言い訳され続けてしまうし。ン百年後も、「当時の日本では想定外だったのです」と、東電だか原子力ムラだかの主張がそのまま報道され続けてしまう。

でも、件の漫画が一応単行本になっていたら…。「このような漫画が描かれていたぐらいに、その管理の杜撰さについては一部でもよく知られていた」と、報道される場面だって一応あり得るかもしれんよなと。東電や原子力ムラがトンデモなことを言い続けていたことに対する、ある種の証拠物件になりそうだと。そう考えると、どこかで形にしておかないといかん気がするわけで。

ていうか単に鉄腕アトムと対になる漫画として世の中に出してもいいような気がするんですけど。ダメかな。無理あるかな。

2014/07/02(水) [n年前の日記]

#1 [nitijyou] 経歴書を書いてたり

ちと事情があって職務経歴を書いてたのだけど。某社に入社・退社した時期がなんだか怪しく。以前メモした各時期と、Web検索で把握した商品の発売日がずれていて。

当時から、どこかしらにメモしておくのだった…。そういや先輩が手帳等にちょこっとメモしてたっけ…。そういうことをしておくべきだったなあ…。

2014/07/03(木) [n年前の日記]

#1 [anime] ブラッドブレッド最終回を視聴

水戸黄門がいつまでも出てこない水戸黄門や、暴れん坊将軍がいつまでも出てこない暴れん坊将軍では、娯楽コンテンツにならないなと思えてきました。

以下ネタバレ。

何人もの幼女を爆殺した犯人達が誰一人裁かれることなく、それどころかヒーロー達にしっかり守られて、しかしヒーロー達は次々に命を落としていく展開ってのは、フィクションとは言えども見ていてツライなと。このアニメ、どこかでイデが発動してくれないかなー、どいつもこいつも、みんな星になってしまえー、などとずっと思いながら一応は視聴終了というか。

優秀なキャラがアレコレもがいても事態をなかなか改善できず、てな展開ならまだ納得もできそうだけど。ゲスキャラが次々にトラブルを起こすだけ、てな展開は、マゾ視聴者でもないと見てられないよなと…。

例えば、進撃の巨人あたりもかなりキツイ展開が続くけど。それらと比べると、この作品、何か大きな違いがあるような気がしたり。娯楽コンテンツとして成立させるための条件ってのがあるんじゃないか、この作品はそこを抑えてないのでは、てな気分にもなってきましたが、そのあたり自分の中でさっぱり見えてこなくて。一体どこがポイントなのかな…。

#2 [anime] メカクシティアクターズ最終回を視聴

最終回、だったのかな。たぶんそうだと思うけど。

映像の見せ方は、物語シリーズと似たような感じだったのに、個人的には全然面白くないというか、さっぱり訳が分からなくて、これはどういうことだろうと。失礼ながら、原作や脚本のレベルが全然違うとこうなっちゃうのかな、などと思いながら、一応流してチラ見しておりました。創作の馬力があってとにかく量を出してくるけど、何故かどれもこれも分かりづらい作りになっちゃう人って居るよな…。他者に伝えようという気持ちが無いのか、あるいは、気持ちがあっても技が無いのか、そのへん分かりませんが。自分も他人のことは言えないけど。

時系列をグシャグシャにして見せるソレって、本来できれば避けたほうがいいのだけどな…。例えば、進撃の巨人だって、原作では時系列がちょっと入り乱れてたけど、アニメ版では整理して、結果あれだけヒットしたわけで。時間軸を入れ替えるたびに、たくさんの視聴者が振り落とされていくけど、それでも本当にやるの? やる必要あるの? などと考えながらやらんといかんというか。…でもまあ、そういう変な構成がウケる年頃・層があるような気もするので、それはそれで。振り落とされる人数が多い分、最後までしがみついてた視聴者は信者になってくれそうだし。いわゆるカルトムービーって、そういうものだよなと。

てな感想を持ったのだけど。実はこのアニメの位置付け、商品ジャンルが、ちょっと分かってなくて…。曲を売るためのPV相当として捉えるべき、だったりするのかしら。単体で評価しちゃいかんブツだったり…?

2014/07/04(金) [n年前の日記]

#1 [cg_tools] メカっぽい背景画像を眺めていたり

何かの描画処理をするスクリプト等を書く際に、メカっぽい画像が欲しいなー、と思う時があるのです。

今までは、Inkscape や GIMP を使って、毎回その都度テキトーに画像を作成していたものの。なんとなくだけど、コレって自動化できるんじゃないかな、と思えていたりもするわけで。

てなわけで、どうすればメカっぽい背景になりそうなのか、その手の画像を眺めているところ。「ガンダム コロニー」で画像検索したり。小林七郎氏のアニメ背景画の本を眺めたり。 *1
*1: 「アニメーション美術 -背景の基礎から応用まで-」という本だけど。今は絶版らしいですな…。

2014/07/05() [n年前の日記]

#1 [gimp][cg_tools] GIMPで矢印を描くスクリプト sg-arrow-stroke-path について

sg-arrow-stroke-path というScript-fuを見かけたので試用してみたり。

_SG Arrow Stroke Path - GIMP Scripts
_sg-arrow-stroke-path

以前、GIMPで矢印を描く方法について、 _mieki256 @ ウィキ - GIMPで矢印を描く方法 というページにまとめたのだけど、一応そこにも追加しておきました。

_mieki256 @ ウィキ - GIMPで矢印を描く方法 - sg-arrow-stroke-path

GIMPのパスのハンドルを調整する方法がよく分からなかったけど。制御点(アンカー?)を、Ctrl + ドラッグすれば、ハンドルが出せるようです。

#2 [dxruby] メカっぽい模様を生成するスクリプトを書いてたり

Ruby + DXRuby + rcairo を使って、メカっぽい背景模様を生成するスクリプトを書いてたり。

やるべき処理がある程度見えてきたら、別の何かで作り直したいけれど。さて、何で書いたらいいものか。以下の条件を満たすものがいいのだけど。 Processing/Proce55ing あたりは…どうだったかな…。

2014/07/06() [n年前の日記]

#1 [cg_tools] NodeBox3とやらを少し触ってみた

_NodeBox | NodeBox

ノードを繋げていくことで画像を作れるツール、という紹介の仕方でいいのだろうか…。元々は Python 版 Processing のような存在だったけど、NodeBox3 からはノードを繋げて処理をしていくツールになったそうで。

インストール中に .jar をガンガンコピーしてるように見えた。どうやら今現在は、Python 製と言うわけではないらしいなと。

以下のページを参考にしながら、ノードを追加したり繋げたりして試してみたり。

_[NodeBox3] NodeBox3のインストールと概要 | CHO DESIGN LAB
_Getting Started | NodeBox

ググってみたけど、巷には NodeBox1 の情報ばかりがあるようで、NodeBox3 の情報はほとんど無くて。現時点では、それほど流行っていないツールっぽい。

2014/07/07(月) [n年前の日記]

#1 [cg_tools][dxruby] メカっぽいテクスチャを作るツールを書いた

全ての処理を GIMP の Script-fu で書けないかと試行錯誤していたのだけど、TinyScheme、よく分からんです。作業効率が悪過ぎる。面倒臭くなってきたので、Ruby で書いたスクリプトをそのままアップロードして、一段落しようかなと。

ということで、こういうテクスチャを作るツールを、Windows7 x64上の、Ruby + DXRuby + rcairo で書きました。

ss1.png


_mechatexgen.rb をDLして、ruby mechatexgen.rb で実行できます。

以下に、ocra で exe化した版も置いときます。こちらの版は、Ruby等をインストールしていない環境でも動くはずです。

_mechatexgen_20140707.zip (5MB)

解凍すると mechatexgen.exe が入ってますので、実行していただければと。 また、DOS窓上で、mechatexgen.exe --help と打てば、コマンドラインオプションのヘルプも表示されます。
> mechatexgen.exe --help

Usage: mechatexgen [options]
    -r, --rand VALUE                 random seed
        --width VALUE                image width [512]
        --height VALUE               image height [512]
    -o, --output VALUE               save filename [out.png]
    -h, --help                       Show this message

さて、このままでは何に使えるのかよく分からないテクスチャですけど。GIMP で少し手を加えると、以下のような見た目になってくれます。

ss2.png

上記のような見た目にする Script-fu も置いときます。

_mecha-tex-make-up.scm
  1. mecha-tex-make-up.scm をDLして、GIMP用の所定のフォルダにコピー。
  2. GIMP を再起動。(フィルタ → Script-fu → スクリプトを再読み込み、でもOK)
  3. 前述のツールで作ったテクスチャ画像 (out_0.png 等)を、GIMPで開く。
  4. メニューの Script-fu → Utils → Mecha tex make up を選ぶ。
これで、メカっぽいテクスチャになるかと。

メニューの位置は以下を参考にしてください。

ss3.png

Script-fu を GIMP に追加する方法は、ググってみたら _GIMPにスクリプト(Script-Fu)を追加する方法 が参考になりそうです。GIMP 2.8 の場合は、一般的には C:\Users\ユーザー名\.gimp-2.8\scripts\ 以下に .scm をコピーすればいいんじゃないかと。たぶん。

GIMP上でやってること。 :

GIMPでやってるのは、以下のような並びでレイヤーを重ねてるだけです。
  1. ソリッドノイズフィルタ → 着色。レイヤーは焼き込みモード。不透明度25%。
  2. ソリッドノイズフィルタ → 着色。レイヤーはスクリーンモード。不透明度25%。
  3. ソリッドノイズフィルタ → 着色 → HSVノイズ。レイヤーは焼き込みモード。不透明度25%。
  4. 元画像に輪郭抽出。レイヤーは乗算モード。
  5. 元画像にガウスぼかし。レイヤーはソフトライトモード。不透明度50%。
  6. 元画像にガウスぼかし。レイヤーは除算モード。不透明度50%。
  7. 元画像にエンボスフィルタ。レイヤーは乗算モード。
  8. 元画像。

2017/03/19追記。 :

DropboxのPublicフォルダが死んだのでファイルを置き直し。

#2 [ruby] Ruby 1.9.x と Ruby 2.x と ocra

Ruby 2.x で ocra を使って Rubyスクリプトを exe化したら、25MBぐらいになってしまってビックリ。デカすぎる…。

ところが、Ruby 1.9.x で ocra を使ったら、5MB に。

どうしてこんなに差がつくのだろう…。

#3 [prog] Windows上で動くSchemeをインストール

GIMP の Script-fu は TinyScheme なる言語?らしいのだけど。GIMP 上の Script-fuコンソールが実に使いづらくて、ちょっとした動作確認もしづらいわけで。

てなわけで、 _Racket (旧名: PLT Scheme) という、Scheme 系の環境を Windows上にインストール。以前も 5.x をインストールしてたのだけど、今現在は 6.x らしいので、せっかくだからこの際更新。

少し触ってみたけれど。乱数(srand, rand)が無い…。while が無い…。ループを再帰で書かないといかんのか…。ツライ…。

Scheme だの Lisp だの、そのあたりは数学者とか天才のためのプログラミング言語だなと再認識。自分のような凡人には厳しいです。

いっそのこと、GIMP の Python-fu (GIMP Python)で書いちゃおうかな。だけど、Python-fu は使える環境を整えるまでが面倒臭い印象があって。いや、GIMP 2.8 以降は、Windows環境でもすんなり使えるのかもしれないけど。

まあ、とりあえず、もうちょっと Scheme でジタバタしてみます。

2014/07/08(火) [n年前の日記]

#1 [nitijyou] 某所に行ってきた

ネットワークプリンタ(複合機)設置のお手伝いをしてきた。AM9:00〜PM4:00まで作業。

プリンタを設置して印刷できるようにするだけなら1時間もかからないだろう、と、たかをくくって出向いたけれど、甘かった…。ほとんど丸一日かかる羽目に。妙なLAN構成になっていることに、途中まで気づけなかったことが敗因。

詳細はGRPでメモ。

2014/07/09(水) [n年前の日記]

#1 [nitijyou] 自宅サーバ止まってました

01:45-16:00、19:20-21:10の間、自宅サーバ止めてました。(止まってました。) 申し訳ないです。

ほとんど丸一日止まってた状態で…。この時間にメールを送っていただいた場合は、こちらに届いてない可能性がありますので、その際はお手数ですが再送信していただけると助かります。いや、ここに書いてもあまり意味ないですけど。

状況。 :

夜中の01:45頃、落雷があって、近隣一帯が停電になりまして。停電そのものは5分ぐらいで復旧したものの、その後も雷が激しく鳴り続けて。コンセントやLANケーブルを引っこ抜いて、鳴り止むまで待つことに。

しかし、朝になっても、昼になっても、鳴り止む気配が無く。「そろそろ大丈夫かな」と思った頃に鳴り始める始末。さらに時々近くに落ちていたらしく、何度か「ドンッ」という落雷音が。トホホ。

それでも夕方頃になってようやく落ち着いてきたので電源を入れたものの。19:00頃からまた鳴り始めて…。また電源を落として…。

しかもメインPCをシャットダウンしようとしたら、このタイミングで Windows Update ですよ。「電源を切らないでください」じゃねえよ! 俺に言うなよ、雷に言え! Microsoftのバカヤロー! いやまあ、たまたまタイミングが悪かっただけですけど。ハラハラしました。

メインPCで作業中にいきなりドーン、かつ、停電になったので、泣きそうです。ハードウェア類が壊れてなければ良いのですが。以前、落雷で色々壊れてしまったことがあるので…。

雷が多い県で自宅サーバなんかやっちゃいかんよなと…。しかし、hnsの引っ越し作業が面倒臭くて…。そのうちどうにかしないと…。

#2 [cg_tools] ネットワーク構成図を書けそうなツールをいくつか試したり

昨日お邪魔した某所のネットワーク構成図をメモしておかないと次回作業時にまたハマるなと思えてきたので、そのあたりの作業ができそうなソフトを探したり。

Network Notepadを試用 :

Network Notepad なるソフトがあるらしいと知ったので、少し触ってみたり。

_Network Notepad
_Memo/NetworkNotepad - DEX Lab
_Network Notepadを試す - tugeki!
_Passion For The Future: ネットワーク図を作成するフリーソフト Network Notepad

Professional Edition と、Freeware Edition があるらしい。 _Freeware Edition を試用。

netnotep.zip をDLして解凍すると、setup.exe が出てくるので実行。ただ、何度インストールしても、起動時にエラーが出て起動できない。公式ページをよく読んでみたら、「Windows7 の場合は管理者権限で setup.exe を実行してインストールせよ」と書いてあった。その通りにしてみたら、ようやく起動成功。

アイコン集を追加。library23.zip と switches.zip もDLして解凍。インストールフォルダ\objects\ 以下にコピー。

操作方法は、ちと独特。
  • アイコンの移動は、Shift + ドラッグ。
  • アイコンを右クリック → プロパティで、アイコンに付けるラベル文字列を変更したり、IPアドレスを記入できる。
  • アイコンの挿入は、ツールバー上の「オブジェクトライブラリ」をクリックすればアイコン一覧が出てくるので、そこからドラッグ。
  • もしくは、アイコン一覧でアイコンをクリックすると、メインウインドウ内でクリックするだけで、連続でアイコンが挿入できる。

見た目ギザギザしてるけど、おそらく Professional Edition ならアンチエイリアスがかかるのかなと。

印象としては、ちょっと気になる部分もあるものの、簡単な図なら描けるのでイイ感じのツールかなと思いました。

Diaも試用してみたり。 :

_Dia というソフトも似たようなことができるはず。とりあえず、dia-setup-0.97.2-2-unsigned.exe をDL・インストールして触ってみたり。いや、前にも少し触った記憶があるのだけど。

_pango.aliases というファイルを作って、インストールフォルダ\etc\pango\pango.aliases に置いてやれば、メニューのフォント等を綺麗にすることができるらしい。 _0.48.4 Windows 64bit版 | Inkscape@JP の記述を使わせてもらったら、見た目それっぽくなりました。ありがたや。念のために内容をコピペしてメモ。
courier = "courier new"

tahoma = "tahoma,meiryo,browallia new,mingliu,simhei,gulimche,kartika,latha,mangal,raavi"
sans = "arial,meiryo,browallia new,mingliu,simhei,gulimche,kartika,latha,mangal,raavi"
serif = "times new roman,meiryo,angsana new,mingliu,simsun,gulimche,kartika,latha,mangal,raavi"
mono = "courier new,ms ui gothic,courier monothai,mingliu,simsun,gulimche,kartika,latha,mangal,raavi
monospace = "courier new,ms ui gothic,courier monothai,mingliu,simsun,gulimche,kartika,latha,mangal,

メイリオ = "meiryo"

_dia for windows 0.97.2をインストールしてみた | ujimushiの日記 | スラッシュドット・ジャパン で、ショートカットファイルに指定するオプションについて、「--integrated を外すとIMEの入力が」云々と言う話が。自分も試してみたり。

しばらく触ってみたけど、利用できるライブラリ群の絵柄がしっくりこなかった。フローチャート等を描く分には使えるのかもしれないけれど。

Prime も試用してみた。 :

_Prime | Free Business & Enterprise software downloads at SourceForge.net

PrimeDesktop-Beta3.5 RC2-Installer.jar をDLして実行。インストーラが起動する。

各アイコンその他はアンチエイリアスがかかっていてイイ感じ。しかし、ファイル保存・オープンの仕様が、ちと特殊なような気がする。保存すると、インストールフォルダ\resource\Data\ 以下にフォルダが作られて、中に .dat が保存されるけど、「ファイルを開く」(Open File)がずっとグレーアウトしたままで。ウインドウ上の Network Models タブ内のリストから保存したソレを選んで右クリックして…等をしないと開けない模様。

LibreOffice Drawで描けなくもない。 :

ギャラリーの中にコンピュータ関係の図形があったので、ソレを使えばどうにか。ただ、ちょっと絵柄がしっくりこないというか、統一されてなくてバラバラというか。

_アイコン・外観写真ダウンロード - ダウンロード - ヤマハ株式会社 で公開されてるアイコンを使えばイイ感じになりそうな気がする。

2014/07/10(木) [n年前の日記]

#1 [nitijyou] 天気というか台風のペースが気になる

ここ数日、台風情報が気になっていたり。週末に外出するかどうかを判断しないといけなくて。

今週の最初の頃は、数十年に一度のレベルの台風だと報道されてたし、ちょうど週末頃に福島県のあたりを通るとの予想だったので、こりゃ外出なんて無理かもしれん、暴風雨の中を吹き飛ばされそうになりながらびしょ濡れで歩く羽目になるかもしれぬ、などと想像していたのですけど。

しかし、なんだか移動速度が上がってきたらしく、土日には通り過ぎてそうで、これなら外出も問題無いのかなと。でもまあ、これから物凄い雨量になって、あちこちの道路が水没、てな可能性もゼロではないですが。何にせよ、これから天気がどうなるか気になるわけで。

そういえば、自分がこっちに帰ってくるちょっと前に、阿武隈川が氾濫して大変なことになったと聞いたような記憶も。だけど今は、 _阿武隈川を大改修した から、そういうことにはならないのかな。 _浜尾遊水地 も用意してあるし…。

#2 [zatta] どうせならイベントにしてしまえばいいのに

_【画像】かっこいいデザインにする→利用者が分かりにくくなる→貼り紙されてデザイン崩壊:哲学ニュースnwk という記事を眺めているうちに、「全国のコンビニ店舗でどんな貼り紙をしてるのか報告させて、Webその他でアンケート取って、一番ウケた貼り紙を考案した人を本社に呼んで表彰するイベント、とかやらんものかな」と馬鹿妄想。やるわけないけど。

デザインの失敗事例としては大変分かりやすい事例だよなと。あまりに酷すぎて、どんなデザインにすればよかったのか、ついつい考えちゃうよな…。

「これのどこがいかんのだ」と言い出す人は、デザインを決定するポジションに絶対立たないでほしいなと。問題点すら分からない人は、問題解決できるはずがないし。

#3 [anime] 優秀な上司を絶えず求めているが優秀な部下はあまり求めていない日本人

てなオレオレ仮説をメモ。

数日前、「レミーのおいしいレストラン」がTV放送されたので視聴したのだけど。今頃になってなんだかもやもやと考えてしまったり。

件の映画の基本設定は、なんだか「長靴をはいた猫」みたいだなと。かなり頼りない御主人様を、優秀な部下がサポートして、プロジェクトを成功に導く、てな設定と言えそうな。誰もが知ってるお伽話を、舞台やキャラを変えて再生させてしまうあたり、さすがPIXAR、温故知新を実践して世界に通用する普遍性を持ったコンテンツを生み出しているスタジオだよなー、などと感心したのだけど。

そういえば…。メロディという漫画雑誌で、似た設定の作品が載ってたなと思い出して。かなり頼りない御主人様を、優秀な執事がサポートして、あらゆる問題をスマートに解決、てな展開で。ググってみたら、 _ジーヴスシリーズ と呼ぶらしい。原作は、イギリスの小説。

てなあたりを思い出しているうちに。ふと、欧米の作品ではそういう設定をたまに見かけるけど、日本の作品ではほとんど見かけないような気がしてきたわけで。

日本の娯楽作品と言えば、何があるだろう…。そこで思い出したのが、水戸黄門、遠山の金さん。そのあたり、「長靴をはいた猫」とは真逆だなと。優秀な部下が活躍する設定ではなく、優秀な上司が活躍して全ての問題を解決しちゃう設定のように思える。

頼りない上司と言えば…パトレイバーの後藤隊長も思い出したりして。しかし、アレは、ぼんやりした上司のように見せかけて実は切れ者という設定だから、やっぱり違うなと。

てなわけで。 という説はどうかなと。

などと書いてはみたものの。この説は間違ってるなと。

何故なら、日本国内でも、優秀な部下が活躍する娯楽作品が楽しまれているからで。「レミーのおいしいレストラン」にしろ、「ジーヴスシリーズ」にしろ、そもそも「長靴をはいた猫」にしろ、日本国内でさっぱりウケなかったのかと言えばそんなことはなくて、ちゃんとウケてる。よって、前述の説は間違ってる。

ただ、日本国内からそういった設定の作品が自然発生してないように思えたあたりが、なんだかちょっと気になったりもして。どうもそのへん、民族性がありそうな気がするなあ…。

いや。自分が思い出せないだけで、優秀な部下がしっかり活躍する日本の昔話も結構あったり…するのかな? どうなんだろう。何かあるかな?

#4 [anime][neta] マジンボーンのEDが変わったようで

どこかの時点で主人公達がバンドを組んだりして「ここに繋げるために、このEDだったのか」と驚かせてくれるのだろうなーと勝手に思い込んで勝手に期待してたのですけどEDが変ったってことはそういう展開は無いんだなとガッカリなのです。一体あのEDは何だったんだ。やっぱりお客様扱いだったのか。

1クール過ぎたからEDが変わったのだろうけど。どうせなら半クール単位で変えちゃえばいいのにと思えてきたりもして。宣伝できる曲の数が2倍になってレコード会社が喜びそうだなと。どのみち曲をお客様扱いしちゃうなら、徹底的に本編と分離して、レコード会社のCMタイムとして扱ってしまえ、てなヤケクソ方針もアリじゃないのかと。ついでに、レコード会社にED映像まで作らせればええんや。バンドメンバーが砂浜走ってキャッキャウフフしてる実写EDが出てきてもそれはそれで狂ってて話題になりそうだし、もうどうにでもなーれ、みたいな。いやまあ、SONYが絡むアニメって、大体はそんな感じになってる印象もあるんですけど。

それはともかく、バンドを組んだぜ云々の歌詞って、実は本編と重なってるのかなと思った時期もありまして。 本編の主人公もそう見えたし、下手するとこのアニメの監督さんもそうだったりしないか、などと失礼なことを。誰に向けて作ってるのか、どんな層を楽しませようとしてるのか、今一つ伝わってこないあたりが…。考え過ぎかしら。考え過ぎだろうな。

「好きなようにやればいいのに」とうっかり書いてしまったけど。あのアニメは、好きなように作れない状況なのかもしれないか…。他のメディアと歩調を合わせないといかんのだろうし…。

2014/07/11(金) [n年前の日記]

#1 [prog][cg_tools] Script-fuを勉強中

メカっぽいテクスチャを描くScript-fuを書いてるところ。

リスト内のN番目の要素を取り出したいのだけど、ググってみたら (nth N LIST) という書き方ができるようで。しかし、Script-fuコンソール上では使えるものの、Racket上で試してみると、「nth? 何だソレ?」と言われてしまう。Script-fu 上ではマクロとして定義してあるのかな…?

他にも、(list-ref LIST N) という書き方もできるらしい。こちらは、Script-fu 上でも Racket 上でも使えるように見えた。

(list-tail LIST N) という書き方も、Script-fu、Racket 上のどちらでも使えた。(car (list-tail LIST N)) で、(list-ref LIST N) と同じになる。

2014/07/12() [n年前の日記]

#1 [nitijyou] 朝に地震

AM04:22頃に地震。結構揺れた。しかも長かった。M6.8、震源地の深さは約10kmだったようで。

NHKをつけたら、津波注意報が。

太平洋側の海底に、センサを大量に配置する計画は、どの程度進んでいたのか気になったり。相変わらず昔の仕組みで予想を出してるなら、ほとんどあてにならないけど。センサ群を使う仕組みになっているなら、実測値が出てくるはずだよなと。

ググってみたら、 _日本海溝海底地震津波観測網 という名称らしい。たぶん。 _第8回成果発表会 - 130225_03.pdf によると、平成27年、2015年から本格運用と書いてあるので…。今の時点では、まだ使える状態ではないらしい。おそらく一部のデータは既に来ていても、関係してる官公庁が無視しちゃう状態なのだろうと。3/11の時もセンサはしっかりとデータを送っていたと既に分かっているのに、本格運用するまでは相変わらずデータを活用できないのだとしたら、何かこう…。でもまあ、今後活用しようという予定があるだけでもマシなのかしら。

#2 [prog] Script-fuをまだ勉強中

選択範囲の中に色々なモールド?っぽい図形を描いていくスクリプトを書いてるのだけど、一切何も描かれない時がたまにあってハマっていたり。どうも座標を取得する際に計算を間違ってる気がする…。

#3 [cg_tools] KOKUYO 合わせ名人3を試用

名刺カード印刷用紙や、シール印刷用紙等に合わせて、レイアウトを作れるツールを、用紙を販売している各社が公開してくれているのだけど。KOKUYOの用紙に印刷する必要が出てきたので、 _KOKUYO 合わせ名人3 をDL・インストールして使ってみたり。全然関係ないけど、公式サイトのページタイトルが「あわせ名人」になってるな…。どの名称が正しいのだろう。

手順としては、用紙を選んで、カード1つ分のレイアウトを作って、印刷して、という、フツーの流れなので、すんなり作業ができた。

マイドキュメント以下に、「KOKUYO 合わせ名人3」というフォルダが作られて、そこに自作ファイル等が保存される模様。

画像を配置しようとして、KOKUYO 合わせ名人3\MyIllust\ 以下に png をコピーしたものの、リストに表示されず。 _horirium |名刺作成ソフトレビュー9 「合わせ名人3」 によると、png は使用不可で、bmp、jpg、gif しか使えないらしい。仕方ないので bmp に変換して配置した。

2014/07/13() [n年前の日記]

#1 [cg_tools] GIMPでメカっぽいテクスチャ画像を生成するスクリプトを書いた

数日前に、DXRuby + rcairo を使って、メカっぽいテクスチャ画像を生成するツールを書いたのだけど。GIMP の Script-fu で似たような画像を生成できるようになったので、一応アップロードしておきます。

動作確認環境は、Windows7 + GIMP 2.8.10 Portable。

ライセンスは Public domain / CC0 で。

使い方。 :

以下の3ファイルをダウンロード後、〜.scm にリネームして(.txt を削って)、GIMP に追加。

_mecha-bump-tex-gen.scm
_mecha-bump-tex-gen-parts.scm
_mecha-tex-make-up.scm

まず、512x512 とか 1024x1024 で画像を新規作成。

Script-fu -> Utils -> Mecha bump tex gen を実行。
ss1.png

ss2.png

以下のような画像ができます。
ss3.png

件のスクリプトを呼び出すたびに、乱数を使って模様を作り直すので、気に入った模様が出てくるまで何回か呼び出してみてください。

このまま、3DCGソフトのバンプマッピング用テクスチャ画像として使ってもいいのだけど。もうちょっと手を加えます。

Script-fu -> Utils -> Mecha tex make up を実行。
ss4.png

ss5.png

以下のような画像ができます。
ss6.jpg


色調やコントラストが気に入らない時は、「Merge Layer」のチェックを外せばレイヤー統合せずに処理が終わりますので、レイヤー追加等をして好きなだけ調整していただければと。

作例。 :

「こんなテクスチャ画像、一体何の役に立つんだよ。使える場面ねえよ」と言われそうな気もするので、一応、このテクスチャ画像を使って、GIMPのみで作業した作例も載せてみたりして。まあ、遠近法変形して、グラデーションをレイヤーでオーバーレイしただけですが。

mecha_bg_test1.jpg


よく見るとリベットのあたりが不自然ですが、パッと見だけならソレらしく見えるのではないかなー、と。

「このくらいは手描きで描けよ」と絵描きさんにdisられそうな気もするけど、自分にはちょっと無理。

手描きでやりたい場合。 :

手描きでやりたい場合は、アニメやゲームの美術担当で有名な、 _株式会社 草薙 さんの _HOW TO PAINT のページが大変参考になりそう。メカのテクスチャは、グラデーションの下地+スミ入れ線+ハイライト線が基本、なのかな。たぶん。

件のページを眺めていると、複雑でカッコイイ感じのスミ入れ線の形状は、手描きじゃないと難しいなと。こういう形状を、どうにか自動生成できないものかしら…。

2014/07/14(月) [n年前の日記]

#1 [prog][cg_tools] Gaucheをインストールしてみた

GIMP の Script-fu を書く際に、ちょっと苦労していて。 そこで試しに、 _Gauche という Scheme処理系をインストール。環境は Windows 7。

_Gauche - A Scheme Implementation から、Gauche-mingw-0.9.3.3.msi をDL。とりあえず、C:\Gauche\ 以下にインストールした。環境変数 PATH への追加はインストーラが自動でやってくれる模様。

DOS窓を開いて gosh と打つと、「gosh>」と表示されて入力を受け付ける状態になった。例えば (+ 1 2) などと打ち込めば動作確認ができる。当てずっぽうで (exit) と打ったら終了してくれた。

このままDOS窓上で作業するのはツライ感じがしたので、xyzzy 上で使えるようにする。以下を参考に作業。scheme-mode を導入して、~/.xyzzy を修正。

_xyzzy - WikiWikiFun
_matsuoka/scheme-mode-for-xyzzy - GitHub

M-x make-scheme-scratch すると、バッファが開く。C-RET を打つと「gosh>」と出てきた。

#2 [prog][cg_tools] gimp-shell.el等が気になる

Script-fu を書くなら、gimp-shell.el や script-fu-shell.rb を使えたほうがいいのかなと思えてきたり。ただ、導入の仕方が…。Windows上で動くかどうかも不明だし。

_gimp-shell.el / gimp-mode を使ってみた | anobota
_Emacs で Script-Fu を書いて実行させる / script-fu-shell.rb | anobota
_pft/gimpmode - GitHub

script-fu-shell.rb を試してみた。 :

_Emacs で Script-Fu を書いて実行させる / script-fu-shell.rb | anobota を参考にして動作確認を試みたり。

環境は、Windows7 + GIMP 2.8.10 Portable + Ruby 1.9.3 p545 mingw32版。

結果を先に書いておくと、動きそうだけど微妙に動かなかった。

試した手順をメモ。 _sonota/script-fu-shell - GitHub から一式をDL。解凍。

  1. script-fu-shell-init.scm を GIMP 2.8.10 Portable に追加。
  2. GIMPを起動
  3. Script-fu → Script-fu → サーバスタート
  4. ruby script-fu-shell.rb を実行。
  5. (gimp-display-new (car (gimp-image-new 640 480 0))) と打つ。
これで、GIMP上で新規画像が作成されるはずなのだが…。

まず、以下のエラーメッセージが出てくる。
script-fu-shell.rb:190:in `run': undefined local variable or method `line' for #<ScriptFuShell:0x21128d0> (NameError)
        from script-fu-shell.rb:264:in `<main>'
script-fu-shell.rb の 190行目に、
      Readline::HISTORY.pop if dup_or_blank?(line)
と記述があるが、line なんて変数は定義されてない。オリジナルソースは、作者の手元で動いていたのだろうか…。何故動いていたのだろう…。

とりあえず192行目に、
      line = prepare_line(raw_line)
という記述があるので、190行目を、その下に移動してみた。

再度試してみたけれど。
> (gimp-display-new (car (gimp-image-new 640 480 0)))
=> Error: (<unknown> : 61562155) eval: unbound variable: item->string
「item->string なんて知らねえよ」と文句を言われてしまった。

item->string は、script-fu-shell-init.scm 内で定義されてる。Script-fuサーバが返してきた値について、コンソールに出力するために文字列へと変換する処理を担当しているのだと思う。script-fu-shell-init.scm をGIMPに追加したはずなので、item->string が使えそうな気がするのだけど、反映されてないのだろう。どうやって反映させたらいいのか分からない。

136行目に、
    send_raw %Q{(item->string #{script.strip})}
という記述があったので、試しに、
    send_raw %Q{(#{script.strip})}
と書き換えてみたが、一応コマンド?は送られて新規画像が作成されるものの、
> (gimp-display-new (car (gimp-image-new 640 480 0)))
=> Error: (<unknown> : 83411614) illegal function
と表示されてしまう。(1) というリストが返ってきてるけど、DOS窓に表示しようもなくてエラーになっているのかなと。

やはり item->string を Script-fu に認識させないといかんらしい。もしくは Rubyスクリプト側で、リスト値その他を判別して文字列に変換する処理ができれば…。そんなことができるのかわからんけど。

GIMP の Script-fu のマズイ点は、動作確認がやりづらい点だと思うわけで。そこらへんをどうにかできないものかと…。

#3 [mysql] MySQLについて勉強中

VMware Player + Ubuntu 12.04LTS 上で MySQL とやらを勉強してみようかなと。

インストール。 :

以下でインストールできるらしい。
sudo apt-get install mysql-server
既に入ってた。自分、どこかの段階でインストールしていたらしい。

文字化け解消用の設定。 :

ググってみたら、文字化け解消用の設定をしておかないといかんそうで。/etc/mysql/my.cnf を編集する。
sudo vi /etc/mysql/my.cnf

以下を追加。
[client]
default-character-set = utf8

[mysqld]
character-set-server = utf8
skip-character-set-client-handshake

古い解説ページでは、
[mysqld]
default-character-set = utf8
等の指定があるが、そのようにすると起動時にエラーが出て起動してくれない。

_MySQL 5.5で「default-character-set」が使えず文字化けする→「character-set-server」にするとOK | KennyQi で解説されてた。どこかのバージョンで、character-set-server という記述に変わったらしい。

サービスを再起動。
sudo service mysql restart

rootパスワードを再設定。 :

MySQL root のパスワードを忘れてしまった…。mysql -u root -p と打ち込んで、パスワードを入力しても弾かれる。仕方ないので再設定する。

サービスを停止。
sudo service mysql stop

パスワードなしでログインできるようにする。
mysqld_safe --skip-grant-tables

別の端末?シェル?を開いてから、ログイン。…一つ前のコマンドを打つ時に、最後に「&」をつけてやるべきだったかも。
mysql -u root mysql

パスワードを初期化。
update user set password='' where user='root' and host='localhost';
FLUSH PRIVILEGES;
exit

プロセスを殺す。
sudo killall mysqld
killall って何だろうとググってみたら、kill はプロセスIDを指定して殺すけど、killall はプロセス名を指定して殺せるらしい。

パスワードなしでログインできるか確認。
mysql -u root
exit

パスワードを設定。
sudo mysqladmin password -u root 新しいパスワード

パスワードなしでもログインできてしまうか確認。
mysql -u root
以下のような感じで弾かれるはず。
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

パスワードを指定してログインできるか確認。
mysql -u root -p
パスワードを入力すれば welcome と言ってくれるはず。exit で抜ける。

参考ページ。 :


2014/07/15(火) [n年前の日記]

#1 [virtualbox][vagrant] VirtualBox + Vagrantを使ってみようとしたけどトラブル発生でハマってしまった

VirtualBox + Vagrant を使えばテスト用サーバ環境を簡単に作成・削除できるという話を以前からチラチラ目にして気になっていたので、MySQL を勉強するついでにこの際導入してみようかなと思い立ったのですが。

vagrant は便利とか、簡単に使えるという話だったけど、全然そんなことはなかった…。というか、VirtualBox が不具合を起こしっぱなしで、巷の解説ページのようにはすんなり動いてくれなくて。vagrant どうこうとかソレ以前の状態で。

ちなみに、環境は、Windows7 x64。
症状としては以下のような感じ。
VirtualBox と Vagrant のバージョンによって相性があるという話を見かけたので、以下の版を試してみたけど、結果は変わらず。
_Fix VirtualBox Fatal Could not read from Boot Medium! System Halted start-up boot Error - YouTube という動画を見かけて、どうもSATAコントローラの下にHDDイメージがあると不具合が起きる時があるようだと思えてきた。試しに、IDEコントローラの下にHDDイメージを移してみたところ、フツーにゲストOSが起動してくれた。ココがダメなのか…。分かるのに半日かかった…。

その後も色々試してみたけど。以下の可能性がありそう。 ということで対処方法としては…。 この2つをしてから VirtualBox を再インストールをしてみたら、手作業で Ubuntu をインストールしても、SATAコントローラ絡みで不具合が起きないように見えた。

今までは、何故か以下のようなフォルダ構成で。
VirtualBox\BIOS_image\
VirtualBox\HardDisks\
VirtualBox\Machines\

それが、.VirtualBox\ 等を削除した後では、例えば以下のような構成に。
VirtualBox VMs\Ubuntu\Ubuntu.vbox
VirtualBox VMs\Ubuntu\Ubuntu.vbox-prev
VirtualBox VMs\Ubuntu\Ubuntu.vdi
VirtualBox VMs\Ubuntu\Logs\
もしかすると、.vbox と .vdi を同じフォルダに入れておかないと、SATAコントローラ利用時は問題が起きるということかもしれず。

それとも、VirtualBox と一緒にインストールされるデバイスだかドライバだかに問題があるのだろうか? 完全アンインストールできないものだろうか…。アンインストール用のツールを探してみたけど見当たらず。

導入時の作業手順をメモ。 :

一応、導入時の作業手順をメモ。

VirtualBox と Vagrant のセットアップファイルをDLしてくる。

_Downloads - Oracle VM VirtualBox
_Download Vagrant - Vagrant

VirtualBox-4.3.12-93733-Win.exe、vagrant_1.6.3.msi をDLして、実行した。Vagrant インストール後、OS再起動を要求される。

VirtualBox のインストールフォルダにPATHを通しておいた方がいいらしい。環境変数 PATH を修正。

Vagrant がインストールできたかテスト。
vagrant -v
バージョンが表示される。

仮想PCの雛形ファイル群を、box と呼ぶらしい。 _A list of base boxes for Vagrant - Vagrantbox.es から欲しい box を選ぶ。

boxをダウンロード。
vagrant box add ubuntu14.04 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
Vagrant の設定や、box などは、C:\Users\ユーザ名\.vagrant.d\ 以下に保存される。

boxの一覧を表示。
vagrant box list

仮想PCの設定ファイル保存場所を、どこかのフォルダ内に作成する。
mkdir ubuntu14.04
cd ubuntu14.04

設定ファイルを作成。
vagrant init ubuntu14.04

設定ファイルを編集。GUI表示を有効にすることで、OSがちゃんと起動してるか確認できるようにする。Vagrantfile というファイルをエディタで開いて修正。
  config.vm.provider "virtualbox" do |vb|
    # Don't boot with headless mode
    vb.gui = true
 
    # Use VBoxManage to customize the VM. For example to change memory:
    vb.customize ["modifyvm", :id, "--memory", "1024"]
  end
問題無く起動することが分かったら、コメントアウトしちゃってもいいと思う。

動作確認のために、VirtualBox を一応起動しておく。

ゲストOSを起動。
vagrant up
ここで自分は前述のように問題発生。

とりあえずどうにか動かせるようになったと仮定して。

putty から以下の情報でログインする。
ホストIPアドレス  127.0.0.1
ポート            2222
ユーザ名          vagrant
パスワード        vagrant

仮想PCを終了(シャットダウン)。
vagrant halt

Vagrantのコマンドをメモ。 :

ゲストOSの状態を確認。
vagrant status

sshでログイン。もしくはsshログインのための情報を表示。
vagrant ssh
Windows環境の場合は、sshクライアントが標準でインストールされてないので、ホストIPアドレスやポートの情報が表示される。

boxを削除。
vagrant box remove BOX名

仮想PC再起動。
vagrant reload

仮想PCを削除。
vagrant destroy

#2 [vagrant][virtualbox] VirtualBox + Vagrant + Ubuntuの設定をメモ

色々設定。

CUIの表示を日本語化。 :

_Ubuntuの英語環境をCUIにて日本語対応にする | J-Linuxer を参考に作業。
sudo aptitude install language-pack-ja
sudo dpkg-reconfigure locales
vi ~/.bashrc
以下を追加。
export LC_MESSAGES=ja_JP.UTF-8
export LC_IDENTIFICATION=ja_JP.UTF-8
export LC_COLLATE=ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_MEASUREMENT=ja_JP.UTF-8
export LC_CTYPE=ja_JP.UTF-8
export LC_TIME=ja_JP.UTF-8
export LC_NAME=ja_JP.UTF-8

時刻を合わせる。 :

_Ubuntu日本語フォーラム / Ubuntu 8.10 の時刻表示が+9時間になる。 を参考にして作業。
sudo vi /etc/default/rcS
UTC=yes を UTC=no に変更。
sudo dpkg-reconfigure tzdata
「アジア/東京」に設定。

LAMP環境をインストール。 :

sudo aptitude install tasksel
sudo tasksel
「LAMP」を選んでスペースキーでマーク。TABキーで移動して「OK」。途中で MySQL root を入力する。

プライベートネットワーク(?)設定を追加。 :

_WindowsでVagrantによりVertualBox上にUbuntuを自動インストール | yoshikawa.64kb を参考にして作業。

Windows上のDOS窓で、ipconfig /all と打つ。「イーサネット アダプター VirtualBox Host-Only Network:」の IPv4アドレスを確認。例えば、192.168.56.1 だったとして。

もし、putty 等でssh接続してたら切断しておく。Vagrantfile を修正。
  config.vm.network "private_network", ip: "192.168.56.100"
といった具合に、IPアドレスを指定。

ゲストOSを再起動。
vagrant reload

ゲストOSにsshでログイン。ifocnfig で eth1 に指定したIPアドレスが設定されてることを確認。

Windows側のブラウザで、指定IPにアクセス。上記の例なら、http://192.168.56.100/ を開く。ページが表示されたらhttpサーバ(apache2)が動いてる。

テキストブラウザをインストール。 :

httpサーバがページを返すのかコンソール上でも確認したいので、テキストブラウザをインストール。
sudo apt-get install lynx w3m

2014/07/16(水) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、15:40-17:20の間、自宅サーバ止めてました。申し訳ないです。

#2 [nitijyou] キシリトール入りのど飴の危険性

昨晩、キシリクリスタルという、キシリトール入りののど飴を何個も食べていたのですが。めちゃくちゃお腹を壊してしまいました。20時間過ぎた現在でも危ない感じ。色々と酷いことに。

パッケージには、「大量に食べるとお腹がゆるくなる」と、しっかり注意書きが書かれていて。しかし、キシリトール入りガムを噛んだ際に調子が悪くなった体験は無いので、のど飴も大丈夫だろうと思ってしまったのです。ところが…。

改めて調べてみたら、のど飴の場合はマジで要注意で。ガムの場合はキシリトール含有量が少ないので10個以上噛まないとダメージにならないけれど、のど飴は含有量が多いので、計算上では子供なら2粒、大人でも4粒食べたらヤバイとのこと。

なんというか…。味も甘かったけど、考えも甘かったなと反省することキシリ、じゃなくて、しきりですわ。などとふざけて書いてる余裕は無いのですが。

2014/07/17(木) [n年前の日記]

#1 [nitijyou] まだ体調が悪いまま

復活できず。キシリトール入りのど飴、恐ろしい。

2014/07/18(金) [n年前の日記]

#1 [cg_tools] 配置図を描く作業で悩んだり

親父さんから、「イベント会場の配置図のようなものを描きたい」と質問が。

以前、その手の図を作った方は Word で作っていたので、今回親父さんも Word で作業をしていたのだけど。自分の印象では、Word で作ったソレは、レイアウトが不自由なので、なんだか分かりづらいなと。まだ、親父さんが手描きでメモした配置図のレイアウトのほうが ―― 90度、180度、270度回転した状態で記号等が描かれてるレイアウトのほうが分かりやすいのでは、という話に。ただ、そういう図を、パソコンを使って作る方法が分からず。どんなソフトを使えば作れるのだろう…。

表の回転ができるアプリが見つからない。 :

大量に数字が並んでいるレイアウトだったので、表が必要だろうけど。Word も OpenOffice Draw も、表の回転はサポートしていない模様。

Word も、OpenOffice Draw も、表の回転は未サポートながら、テキストボックスの回転はサポートしてるらしい。であれば、等幅フォントを使って、目視でスペース文字を入れながら、表っぽく見えるように打ち込んでいく、というアレな手法が使えなくもない。しかし、それってなんだかトホホだなと。

Inkscape はどうだろうと思ったけれど、そもそも Inkscape には表を扱う機能は存在せず。ググったところ、海外の掲示板で、
  1. OpenOffice Calc で表を作って pdf 出力する。
  2. そのpdf を Inkscape でインポートする。
という手段を使えば、svg でも表らしい見た目を再現できるぞ、てなやり取りを見かけた。しかし、それもそれで、なんだか泥臭い…。

ペイントツールなら、えてしてレイヤーその他の回転ができるので、その手のツールで少し試してみたけれど。そのまま表を入力できるわけでもないし、回転をするとテキスト情報が破棄されるので後からテキスト内容を修正できなくなるしで、これもなんだか今一つだなと。

結局は表計算ソフトでレイアウトした。 :

表計算ソフトなら、表の中身・セルに対して回転ができると知ったので、LibreOffice Calc や Excel で試しにレイアウト。

たしかにこれなら、それらしい印刷物が作れる。作れるのだけど、何か負けた気がする。 _ネ申Excel 問題に近づいている気がする。

まあ、記述されたデータを、別の何かで再利用するわけではないので、これはこれでという気もするのだけど。しかし、Excelのバージョンが変わったり、プリンタドライバが変わったりすると、レイアウトが破綻する・レイアウトが再現されないわけで。その場で1枚印刷してハイ終わりの使い捨て文書にするなら構わんのだけど、これを他の人に .xls でそのまま渡すとか、部署内で代々使い回すとか、そういうことは許されないわけで。

2D CADを利用。 :

たまに使ってる AR-CAD でレイアウトしてみた。これなら自由自在にレイアウトできるけど、やっぱり表はサポートされてないわけで。それとも、自分が知らないだけで、サポートされてたりするのかな。少しググった程度では見つからなかったけど。

ついでに、フリーで使えるCADソフトとしてはかなりメジャーらしい、Jw_cad をインストールして試用してみたり。

AR-CAD に比べると、Jw_cad は操作方法が独特で、使い方が分からんなと…。DOS時代から使われていたフリーソフトらしいので仕方ないのかもしれず。文化が違うというか。

#2 [prog] MySQL勉強中

_MySQL入門 (全19回) - ドットインストール を眺めながら VirtualBox + Vagrant + Ubuntu 14.04 + MySQL で試してるところ。ようやく半分まで視聴。忘れそうなので、試した内容をメモ。

このメモだけを見ても何が何だか分からないので、ドットインストールの動画を最初から眺めたほうがいいです。

rootでログイン。
mysql -u root -p

データベースを作成。rootでログインしないと作れない。
create database データベース名;

データベース一覧を表示。
show databases;

データベースを削除。
drop database データベース名;

データベースを切替。
use データベース名;

作業ユーザを作成。
grant all on データベース名.* to ユーザ名@localhost identified by 'パスワード文字列';

作業ユーザでログイン。
mysql -u 作業ユーザ名 -p データーベース名

テーブルを作成。
create table テーブル名 (
  フィールド名 データの型,
  フィールド名 データの型,
  ...
  フィールド名 データの型
);

テーブル作成の一例。users というテーブル名で作っている。
create table users (
  id int not null auto_increment primary key,
  name varchar(255),
  email varchar(255) unique,
  password char(32),
  score double,
  sex enum('male', 'female') default 'male',
  memo text,
  created datetime,
  key score (score)
);

テーブル一覧を表示。
show tables;

テーブルを削除。
drop table テーブル名;

テーブルが既に存在していた場合だけ削除。
drop table if exists テーブル名;

既にあるテーブルと同じ構造のテーブルを新規作成。
create table 新テーブル名 like 既存テーブル名;

索引(インデックス)を一覧で見る。
show indexes from テーブル名;

テーブル構造を確認。
desc テーブル名;

レコードを挿入。
insert into テーブル名 (フィールドの一覧) values (値の一覧);

データの中身を確認。
select * from テーブル名;

データの中身を縦方向描画で確認。
select * from テーブル名 \G

指定フィールドの中身を確認。
select フィールド名一覧 from テーブル名;

条件を指定してデータの中身を確認。
select * from テーブル名 where フィールド名 比較演算子 値;
以下はサンプル。
select * from users where score >= 5.0;
select * from users where score = 5.5;
select * from users where score != 5.5;
select * from users where score <> 5.5;
select * from users where team != 'red';
select * from users where created > '2014-07-19 02:00:00';
select * from users where email like '%@gmail.com';
select * from users where score between 5.0 and 8.0;
select * from users where team in ('red', 'yellow');
select * from users where score >= 4.0 and team = 'blue';
select * from users where score >= 4.0 or team = 'blue';

並び替えをして確認。
select * from users order by score;
select * from users order by score desc;
select * from users order by name desc;

件数を制限して確認。
select * from users limit 3;
select * from users limit 2,2;
select * from users order by score desc limit 3;

集計。総数を確認。
select count(*) from users;

集計。ユニークな値を確認。
select distinct フィールド名 from テーブル名;

集計。最大値を確認。
select max(フィールド名) from テーブル名;

集計。平均値を確認。
select avg(フィールド名) from テーブル名;

集計。合計値を確認。
select sum(フィールド名) from テーブル名;

集計。グループごとの平均値を確認。
select avg(フィールド名) from テーブル名 group by フィールド名;

乱数を得る。
select rand();

ランダムに抽選で1人だけ得る。
select * from users order by rand() limit 1;

MySQLのデータ型について。
int        整数
double     実数
char       文字列
varchar    文字列
text       最大文字数不明の文字列
enum       列挙型
date       日付
datetime   時間

フィールドのオプション。
not null        入力必須であることを示す
default '値'    デフォルト値
auto_increment  自動連番。この指定をしたフィールドは必ずインデックスをつけること。

索引(インデックス)指定種類。
primary key                 主キー
key キー名 (フィールド名)   キー
unique                      ユニークキー

2014/07/19() [n年前の日記]

#1 [prog] MySQL勉強中

_MySQL入門 (全19回) - ドットインストール を、まだ眺めていたり。

2014/07/20() [n年前の日記]

#1 [prog] MySQL勉強中

ようやく、 _MySQL入門 (全19回) - ドットインストール を見終わった。

写経(?)内容を忘れそうなのでメモ。

フィールド値の文字数を確認。
select length(フィールド名) from テーブル名;
select email,length(email) from users;

文字列を連結。
select concat(フィールド名,'(',フィールド名,')') from テーブル名;
select concat(name,'(',team,')') from users;

表示時の名前を変更して表示。
select concat(name,'(',team,')') as ラベル名 from テーブル名;
select concat(name,'(',team,')') as label from users;

文字列の一部を表示。
select substring(フィールド名,1,1) from テーブル名;
select name,substring(team,1,1) from users;

現在時刻を確認。
select now();

月情報を表示。
select month(フィールド名) from テーブル名;
select name,month(created) from users;

時間の差を表示。
select datediff(now(), フィールド名) from テーブル名;
select name,datediff(now(), created) from users;

レコードを更新。
update テーブル名 set フィールド名 = 値 where 条件;
update users set email = 'kimura@gmail.com' where id = 5;

レコードを削除。
delete from テーブル名 where 条件;
delete from users where score <= 3.0;

テーブル構造を変更。フィールドを追加。
alter table テーブル名 add フィールド名 データ型 after フィールド名;
alter table users add full_name varchar(255) after name;

テーブル構造を変更。フィールドの型を変更。
alter table テーブル名 change フィールド名 フィールド名 データ型;
alter table users change full_name full_name varchar(100);

テーブル構造を変更。フィールドを削除。
alter table テーブル名 drop フィールド名;
alter table users drop full_name;

テーブル構造を変更。フィールドにインデックスを追加。
alter table テーブル名 add index インデックス名 (フィールド名);
alter table users add index email (email);

テーブル構造を変更。フィールドのインデックスを削除。
alter table テーブル名 drop index インデックス名;
alter table users drop index email;

テーブル名を変更。
alter table 旧テーブル名 rename 新テーブル名;
alter table users rename blog_users;

複数のテーブルから参照する例。テーブル名.フィールド名で指定できる。
select users.name,posts.title from users,posts where users.id=posts.user_id;
select users.name,posts.title,posts.created from users,posts where users.id=posts.user_id order by posts.created desc;

外部ファイルにコマンドを書いて渡す。
mysql -u 作業ユーザ名 -p データベース名 < ファイル.sql
mysql -u dbuser -p blog_app < commands.sql

バックアップ。
mysqldump -u 作業ユーザ名 -p データベース名 > データベース名.dump.sql
mysqldump -u dbuser -p blog_app > blog_app.dump.sql

復元。
mysql -u 作業ユーザ名 -p データベース名 < データベース名.dump.sql
mysql -u dbuser -p blog_app < blog_app.dump.sql

#2 [prog] Vagrant で CentOS をインストール

Windows7 + VirtualBox + Vagrant で、CentOS 6.5 x86_64 を box として追加。作業内容をメモ。
cd /d 設定ファイル保存場所\centos
mkdir centos
cd centos
vagrant box add centos https://github.com/2creatives/vagrant-centos/releases/download/v6.5.3/centos65-x86_64-20140116.box
vagrant init centos

Vagrantfile を修正して、GUIを有効に。
vagrant up
起動したことを確認してから終了。
vagrant halt

Vagrantfile を修正。GUIを無効に。また、以下を追加。
  config.vm.network "private_network", ip: "192.168.56.101"

vagrant up で起動。ifconfig で、192.168.56.101 が eth1 に割り当てられてることを確認。

ホストOS側(Windows7)から ping を打って繋がるか確認。
ping 192.168.56.101

CentOS側で作業。
sudo yum update
sudo yum -y upgrade

LAMPをインストール。
sudo yum install httpd php php-mysql mysql mysql-server

httpd と mysqld を自動実行するようにしておく。
sudo /etc/rc.d/init.d/httpd start
sudo /etc/rc.d/init.d/httpd status
sudo /etc/rc.d/init.d/mysqld start
sudo /etc/rc.d/init.d/mysqld status
sudo chkconfig httpd on
sudo chkconfig mysqld on

起動時にapache が警告を出すので、/etc/hosts を変更。
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
↓
127.0.0.1   マシン名 localhost localhost.localdomain localhost4 localhost4.localdomain4
/etc/httpd/conf/httpd.conf を修正。以下の行を追加。
ServerName マシン名:80

ファイアウォールを設定
sudo /sbin/iptables -L --line-numbers
sudo /sbin/iptables -I INPUT 1 -p tcp -m tcp --dport 80 -j ACCEPT
sudo /sbin/iptables -I INPUT 2 -p tcp -m tcp --dport 443 -j ACCEPT
sudo service iptables save

ホスト側OS上のブラウザで、http:/192.168.56.101/ を開いてページが表示されることを確認。

vagrant reload するとエラーが出てしまう。vagrant側にプラグインをインストールして、vbguest とやらを最新にする。
vagrant plugin install vagrant-vbguest
vagrant vbguest
vagrant vbguest --status

参考ページ。 :

#3 [anime] プリパラのOPがちょっと変わった模様

プリパラなるアニメを眺めてたら、本編内でキャラの正体が判明した次の回で、その内容に合わせてOPが微妙に変わっていて感心したり。

どうして感心したかと言うと、 OP映像で本編のネタバレを平気でしちゃってるアニメを時々見かけるわけで、そういうアレコレに比べると、しっかり作ってあるな、気配りがスゴイなと。 *1

おそらく件の作品は幼女向けアニメだろうと思うのだけど。そのあたりを対象にして作っている場合は、こういう部分にも気をつけておかないといかんのだろうなと…。そういやプリキュアはどうだったかな。そのへんあまり意識して見てなかったです…。

それにしても女児向けアニメの3DCGは凄いことになってるなと。

ググってみたら、プリティーなんとかシリーズの3DCGは、タツノコプロが担当しているそうで。恥ずかしながら今頃知って驚きました。タツノコプロって、映像を実際に作る部署は当の昔に無くなって、権利関係の管理だけやってるものとばかり…。3DCG映像なら、今も作ってるのですな…。

「タツノコプロ 3DCG」でググってたら、 _CGプロダクションの制作環境関連 - NAVER まとめ というページに辿り着いた。興味深い…。

ヴァルヴレイヴもOPが変化していたことを思い出した。 :

ヴヴヴもOP映像が本編の展開に合わせて変化してたっけ…。そういうところでちゃんとしている作品は好印象なのです。

*1: もちろん、今後の展開をわざとOPで匂わせてる作品などもあったりするので、そういうのは別として。

2014/07/21(月) [n年前の日記]

#1 [pc][neta] 結局はアレンジ次第というか、掘り下げるか否か、なのかな

_ゲームレガシー : アメリカで80年代のコンピュータ開発を題材にしたTVドラマ「ハルト・アンド・キャッチ・ファイア」(Halt and Catch Fire) が放映中 という記事が気になったり。

以前、8bitPCをネタにしたオッサンホイホイTV番組って作れないかなーと思ったことがあるのだけど。その時は、「そんな番組、一体誰が見るんだよ」と、自分の中で否定しちゃったのです。しかし、こういったドラマの形であれば、そういうのも全然アリだったのかなと。何かがこの世に誕生する時、必ずソレに関わっていた人が居るはずで。そこに人が居たということは、ドラマもそこにあったはず。そのへんを掘っていけば商品になる…。そういえば、プロジェクトXもそういうアレなのかな。

#2 [prog][ubuntu][linux] MySQL勉強中というよりUbuntu + apache2勉強中

_今から始める MySQL入門 - @IT なる連載記事を読んで勉強中なのだけど。どうも最初のあたりは php の勉強のような…。

php を動かすために、Ubuntu + apache2 の設定を色々変更する羽目に。一応作業内容をメモ。

Ubuntu + apache2 を設定。 :

まずは LAMP関係をインストール。sudo tasksel で LAMP はインストールしたはずなのだけど…。
sudo aptitude -y install apache2 mysql-server libapache2-mod-auth-mysql libapache2-mod-php5 php5-mysql php5 php5-cgi libapache2-mod-php5 php5-common php-pear

apache2サーバ再起動時に警告が出る問題に対処。/etc/hosts を修正すれば解決するらしい。
sudo vi /etc/hosts
127.0.0.1 の行に以下を追加してみたり。
127.0.0.1 localhost.localdomain localhost localdomain
127.0.0.1 vagrant-ubuntu-trusty-64
192.168.56.100 vagrant-ubuntu-trusty-64
他にもいくつか解決策はあるらしい。

ユーザアカウント毎にディレクトリを公開できるように設定。CGIも実行できるようにしておく。
sudo a2enmod userdir
sudo vi /etc/apache2/mods-available/userdir.conf
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
↓
Options ExecCGI MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
sudo service apache2 restart
ユーザディレクトリ以下に、特定フォルダを作成。
mkdir ~/public_html

mod_rewrite を有効化。
sudo a2enmod rewrite

phpの動作確認。
sudo vi /etc/apache2/mods-enabled/mime.conf
220行あたりに、以下の記述を追加。
AddHandler php5-script .php

テスト用のページを作成。
sudo vi /var/www/html/info.php
以下を入力。
<?php
phpinfo();
?>
_http://localhost/info.php_http://192.168.56.100/info.php にアクセスしてphpの設定その他が一覧表示されるか確認。

Ubuntu のデフォルト設定では、ユーザディレクトリ以下で php の動作を無効にしてあるらしいので修正。
sudo vi /etc/apache2/mods-enabled/php5.conf
<IfModule mod_userdir.c>
    <Directory /home/*/public_html>
        # php_admin_flag engine Off
    </Directory>
</IfModule>
「php_admin_flag engine Off」の行をコメントアウト。

htmlに記述したphpも動作させる。.htaccess に以下を記述。
AddType application/x-httpd-php .php .html
AddHandler application/x-httpd-php .php .html

Ubuntu上でインストール済みパッケージを確認。 :

dpkg -l | grep パッケージ名

CentOSの場合は以下。
rpm -qa | grep パッケージ名

ftpサーバの設定。 :

ftpサーバ vsftpdをインストール。
sudo aptitude install vsftpd
sudo vi /etc/vsftpd.conf
以下のような感じの設定をしておく。
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
use_localtime=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
ls_recurse_enable=YES

allow_writeable_chroot=YES
vsftpd 2.3.5 は chroot 関係のバグがあるのだけど、Ubuntu 14.04 でインストールされるのは vsftpd 3.0.2 なので、
allow_writeable_chroot=YES
を書けば問題は出ないはず。

/etc/vsftpd.chroot_list と /etc/vsftpd.user_list を作成しておく。
sudo touch /etc/vsftpd.chroot_list
sudo vi /etc/vsftpd.user_list
/etc/vsftpd.user_list に、ftpでログインするユーザを記述しておく。

Windows + NTEmacs でftpアクセス。 :

ange-ftp とやらを使えば、ftpでアクセスしてファイル編集できるらしい。
C-x C-f /FTPユーザ名@FTPサイト名:/public_html/index.html

Ubuntuのlocale設定。 :

_Ubuntuに日本語localeを設定する | dreamedge.net を参考にして作業。
sudo apt-get install language-pack-ja
export LANG=ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8

escapeshellcmd() に日本語を渡すと空になる問題。 :

php の escapeshellcmd() を使った際に日本語を渡すと中身が空になってしまう。

.php の最初の方で、以下を呼ぶこと。
setlocale(LC_ALL, 'ja_JP.UTF-8');

尚、 _PHPのescapeshellcmdを巡る冒険 | 徳丸浩の日記 によると、escapeshellcmd() より escapeshellarg() のほうがセキュリティ面では良いらしい、とメモ。

DocumentRoor以下で.htaccessを有効にする。 :

sudo vi /etc/apache2/apache2.conf
以下を追加。
<Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

2014/07/22(火) [n年前の日記]

#1 [prog] MySQL勉強中

_今から始める MySQL入門(4):MySQLの基礎を学ぼう [準備編] (1/3) - @IT という解説ページを眺めながら勉強してたのだけど。どうも専門用語がバンバン出てきてコレは何かおかしいなと。

どうやら、連載名に「入門」とついてるけど、予備知識を既に十分持っている人達向けの記事、ある種の復習用記事じゃないかと思えてきたり。この記事をいきなり読んで理解できるわけではナサゲ。時間を無駄にしてしまった…。

2014/07/23(水) [n年前の日記]

#1 [prog] MySQL勉強中

_PHPプロ!PHP講座新着順 を眺めながら MySQL について写経中。

2014/07/24(木) [n年前の日記]

#1 [prog] PHP + MySQLについて勉強中

_PHP入門 - 基本構文の解説からデータベースへのアクセス方法まで や、 _MySQLへの接続 - PHP入門 を眺めながら写経をしていたのだけど。 _PHPでデータベースに接続するときのまとめ - Qiita で、「mysql関数は、今のphpでは非推奨」という話を見かけてガックリきたり。非推奨の方法を、わざわざ勉強しちゃいましたよ。トホホ。

もしかして、 _PDOの利用 - PHP入門 から勉強していけばよかったのかな…。

とりあえず、PHP + PDO とやらで MySQL にアクセスするソレを写経。select, insert, update, delete について一応動作確認したり。

2014/07/25(金) [n年前の日記]

#1 [windows][prog] Chocolateyをインストールしてみたり

_【レビュー】Windowsアプリをコマンド一発で導入できるパッケージ管理システム「Chocolatey」 - 窓の杜
_Windowsソフトを管理!パッケージ管理システムChocolateyでインストール、アップデートを簡単に
_Chocolatey Gallery

Windows上で使えるパッケージ管理システム、らしい。何か使いたいアプリがあった時に、コマンド1つでインストールしたりアンインストールしたりできるそうで。

_Chocolatey Gallery に書いてある通り、管理者権限でDOS窓を開いて、以下を入力して導入。
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
chocolatey update
Windows7 x64 上で作業したところ、C:\ProgramData\chocolatey\ 以下にインストールされた模様。また、環境変数 PATH に、C:\ProgramData\chocolatey\bin が追加されたように見えた。

GUIで管理できるツールも一応入れておく。
choco install ChocolateyGUI
C:\Program Files (x86)\ChocolateyGUI\ にインストールされたように見える。

Atomエディタをインストールしてみた。 :

_GitHub、テキストエディター「Atom」のWindows版を公開 - 窓の杜 によると、若干話題の Atom なるエディタも、chocolatey を使うことでインストールできるそうで。コレが目的で chocolatey をインストールしたのでした。

_Chocolatey Gallery | Atom 0.117.0 を参考に、以下を入力。
choco install Atom 
C:\ProgramData\chocolatey\lib\Atom.0.117.0\tools\Atom\ 以下にインストールされたらしい。また、C:\ProgramData\chocolatey\bin\内にも、atom.exe が用意されたように見える。

2014/07/26() [n年前の日記]

#1 [prog] PHPを勉強中

MySQLサーバにアクセスして云々以前に、ブラウザで表示してformの入力を処理して、てなあたりのphpの書き方が分からなくてググって試しているところ。

2014/07/27() [n年前の日記]

#1 [anime] ウルトラマンガイアの最終回近辺を視聴

青いウルトラマンも出てきて二人のウルトラマンが揃うのって、ウルトラマンガイアでしたっけか? そのあたりの平成ウルトラマンの最終回近辺が放送されていたので、一応眺めていたり。

平成ウルトラマンって、EVAっぽい表現をあちこちで試してたのだなと今頃になって認識。敵の攻撃でビルの真ん中にボコッと穴が開くあたりは、EVAの5〜6話のアレかなと。いや、オリジナルに相当する特撮映画が存在していて、EVAもソレをオマージュしただけかもしれないけど。ちなみに、EVAは1995年、ウルトラマンガイアは1998年放映開始だそうで。

飛行機を1機飛ばすだけでも何十人も関わってるんだぜ、てなエピソードもあったりして感心。ゴーバスターズでもそういう回があったけど、平成ウルトラマンはゴーバスターズより随分昔の作品なわけで。

ウルトラマンの正体がTV放送されちゃって、マスコミに追われるあたりも感心。まあ、そうなるよなと…。そういえば、平成ウルトラマンは途中で正体がバレてしまう傾向があるような印象。最初から隊長がなんとなくうっすらと知ってたりとか。途中で関係者全員にバレたりとか。そのほうが色々な展開を作れそうだなと。

2014/07/28(月) [n年前の日記]

#1 [prog] ドットインストールの動画でPHPを勉強中

ドットインストールの動画を眺めつつ写経して勉強中。 _PHP入門(基本編)_PHP入門(応用編) は見終わった。

ドットインストールの存在はありがたいなと。なんだか学校で授業を受けてた頃を思い出したり。

2014/07/29(火) [n年前の日記]

#1 [editor][prog] PHP用のナイスなエディタが見つからず

PHPの勉強をする際に、xyzzy でソースを書いてるのだけど、どうも使いづらいなと。

xyzzy + php-modeについて。 :

xyzzy の php-mode は、ヒアドキュメントを認識してくれないので、ヒアドキュメントを使ったソースに対して indent-region をすると酷いことになってしまう。

ググってみたところ、 _xyzzyの使い方が分からぬやし 励ましあえ その8 なるスレで説明が。
854 :名無しさん@お腹いっぱい。:2006/02/28(火) 00:22:49 ID:spgk6ozT0
>>848
php-modeのインデント関数はc-modeの流用だから
ヒアドキュメントでインデントが崩れるのはそういうものです。

855 :名無しさん@お腹いっぱい。:2006/02/28(火) 01:39:43 ID:B4R8wJa/0
>>848
ということで、php-mode 用に
c-indent-line
c-newline-and-indent
c-comment-indent
に代わるインデント関数を定義して、キーマップ (ed::*php-mode-map*) や
mode-specific-indent-command comment-indent-function へのバインドを
変更すれば解決です。

xyzzyの使い方が分からぬやし 励ましあえ その8 より

ハードル高い…。

xyzzy + multi-major-mode。 :

_multi-major-mode(しょぼしょぼすくりぷと xyzzy) を使えば1つのファイルの中で複数のメジャーモードを変更できるらしいので導入してみたり。multi-major-mode.l をDLして、site-lisp/ 以下に置く。 ~/.xyzzy に以下を追加してみたり。
;; multi-major-mode の設定

(load-library "multi-major-mode.l")

;; (setq ed::*multi-mode-running* t)
;; (setf *multi-mode-text-attribute* nil) 

(autoload 'html+-mode "html+-mode" t)
(pushnew '("\\.s?html?$" . html+-mode) *auto-mode-alist* :test 'equal)
 
(load-library "php-mode")
(pushnew '("\\.php$" . html+-mode) *auto-mode-alist*)

(defun multi-html+-mode ()
  (multi-major-mode-start t "html+-mode"
              '("<?php" "?>" "php-mode")
              '("<!--" "-->" "text-mode")
              '("<script" "</script>" "jscript-mode")
              ))

;; (add-hook '*html+-mode-hook* 'multi-html+-mode)
(add-hook 'ed::*html+-mode-hook* 'multi-html+-mode)
.php を開いて、<?php ?> の中に入ったり出たりすると、モードが切り替わってるように見えた。ただ、切り替わるたびに「Welcome mmm-mode」と表示されるのが気になる…。非表示にできないのかな…。

phpCodeBeautifierでソース整形を試みた。 :

_phpCodeBeautifier (phpCB) なる、PHPソースを整形してくれるツールが存在するらしいので試してみたり。phpCB-1.0.1-windows.zip をDLして解凍。phpCB.exe を任意の場所に置く。オプションを指定しつつ呼び出せばいいらしい。

_xyzzyでPHPの整形してみた | Priereluna という記事で、xyzzy + phpCB の設定が紹介されてたので、ありがたく使わせてもらったり。

しかし、phpCB.exe が変な動作をするような…。
  • if文の中のswitch文がインデントされない。される場面と、されない場面がある。
  • 変換後の各行末に「^M」(0x0dの制御文字)がつく。これもつく場合とつかない場合がある。どうも改行が「0x0d 0x0d 0x0a」になってる気がする。
日本語コメントが混じってるからマズいのかなと思って削ってみたけど変化無し。オプション指定がおかしいのかな…。

phpCB は、長い間メンテナンスもされてないし、ソースもクローズドだし、色々不具合があるという話も見かけたので、使うのは諦めた。

emacs + php-modeを試した。 :

NTEmacs 24.3.1 + php-mode を試してみたり。php-mode、 _php-completion をインストールしたような気がする。M-x package-list-packages でパッケージ一覧を表示して、C-s php- で検索して、Enter で詳細表示して、install をマウスでクリック、したような。

設定等は、 _PHP開発環境 on Emacs | Fusic Developers Weblog を参考にさせてもらったり。

しかし、emacs の php-mode も、ヒアドキュメントには対応してないようで、indent-region をすると酷いことに。php-mode 1.4.0 から対応してるという話も見かけたのだけど…。indent-region は別なのかな…。

emacs + mmm-mode。 :

_閑古鳥 -> 呟き -> emacs で PHP-mode と mmm-mode を使う で、mmm-mode なるものを使うと、一つのファイルの中の各部分によって、php-mode や html-mode を切り替えられると知ったのだけど。導入してみたものの、ちゃんと動いてるようには見えず。何か設定がおかしいのか、導入した版が古いのか。Version 20140211.2104 と表示されてるけど…。

emacs + web-mode。 :

_emacsでviewファイルをいじるならweb-modeを使うべき - UNIX的なアレ で、web-mode とやらが紹介されてたので試しに導入。

これも PHP のヒアドキュメントには未対応らしい。

eclipse 4.3を試用。 :

eclipse 4.3 + PDT ならヒアドキュメントが認識されてるように見えた。

また、phpソース上でブレークポイントを設定したりできるようで。php.ini の最後に以下のような記述を追加したらデバッグできた。
[XDebug]
zend_extension = "C:\xampp\xampp\php\ext\php_xdebug.dll"
;xdebug.remote_enable = 0
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
;xdebug.remote_host = "127.0.0.1"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.remote_log = "C:\xampp\xampp\php\logs\xdebug.log"
xdebug.collect_params = 1
xdebug.dump.GET = *
xdebug.dump.POST = *
xdebug.profiler_enable = 1
;xdebug.profiler_append = 0
;xdebug.profiler_enable_trigger = 0
;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
xdebug.profiler_output_dir = "C:\xampp\xampp\tmp"
;xdebug.trace_output_dir = "C:\xampp\xampp\tmp"

ただ、eclipse は起動が遅くて、手軽に・気軽に書き始めるという感じにはならないあたりが、ちょっと…。

#2 [prog] eclipse 4.4.0を導入しようとしたけど問題発生

eclipse 4.4.0 が出ていたらしいので、 _Pleiades - Eclipse プラグイン日本語化プラグイン | MergeDoc Project から、pleiades-e4.4-ultimate-32bit-jre_20130625.zip (Ultimate, 32bit, jre入り) をDL・解凍して使ってみようとしたのだけど問題発生。

eclipse 4.4.0 に Aptana Studio をインストールしたら、毎回起動するたびにエラーが発生する状態になってしまった。症状としては以下と同じ。

_メッセージ ・フォーラム:4.4 Lina でスタート時に毎回エラーメッセージ #73830 - MergeDoc - SourceForge.JP
_[APSTUD-8234] Dialog reports call to nonexistent class in Eclipse 4.4 (Luna) - Appcelerator JIRA

Aptana Studio に問題があって、3.6.1 なら直っているらしいけど、入手可能なのかどうかもわからず。 _Release Notes - aptana/studio3 Wiki - GitHub では 3.5.0 までしか載ってないようだし。

#3 [prog] XAMPPの設定を変更

ここ数日、Windows7 + XAMPP (Apache, MySQL, PHP, Perl) を使って勉強しているのだけど。編集ファイルを XAMPPインストールフォルダ以下に入れるのはなんだか気持ち悪いので、C:\xampp\xampp\apache\conf\httpd.conf や C:\xampp\xampp\apache\conf\extra\httpd-vhosts.conf を修正して、DocumentRoot の位置を変更、したことをメモ。自分、メモしておかないと忘れるので。

今頃になって、eclipse と一緒に XAMPP が入ってたことに気付いたり。別途 XAMPP をインストールする必要は無かったのだな…。

2014/07/30(水) [n年前の日記]

#1 [prog] NetBeans 8.0 をインストールした

WIndows7 x64 上に NetBeans 8.0 をインストールした。PHPの編集も試してみたかったので、すべてバンドルした版をDL。実行してインストール。

Ruby用のプラグインもインストールしておいた。 _NetBeans 7.3にRuby on Railsプラグインをインストールする手順 - Rails 雑感 - Ruby on Rails with OIAX を参考にして、 _Ruby and Rails - NetBeans Plugin detail から、NetBeans 8.0 用の zip をDL。解凍すると .nbm や .jar が出てくるので、ツール → プラグイン → ダウンロード済 → プラグインの追加。.nbm と .jar を指定してインストール。

その他のプラグインも一応インストール。

_Command-shortcuts - NetBeans Plugin detail ... DOS窓を開くプラグイン。 _NetBeans Command-shortcuts plugin | junichi11の日記〜つらつらなるままに〜 で解説されていて興味が湧いたので試しに導入。

_QuickOpener - NetBeans Plugin detail ... これもDOS窓を開くプラグイン。

_Explore from here - NetBeans Plugin detail ... エクスプローラを開くプラグイン。

_Zen Coding - NetBeans Plugin detail ... Zen Coding を使えるようにするプラグイン。

_Change Line Endings on Save - NetBeans Plugin detail ... ファイル保存時に改行コードを変更できるプラグイン。

_Show and change line endings - NetBeans Plugin detail ... 改行コードを変更できるプラグイン。

_Close other projects/documents - NetBeans Plugin detail ... 他のプロジェクトを閉じる(?)プラグイン。

#2 [prog] MinGW/MSYSをインストールした

Windows7 x64 上で NetBeans全部入りをインストールしたら、NetBeans オプション設定を変更するたびに「Cコンパイラを設定しろ」と文句を言われる状態になってしまった。面倒臭くなってきたので、MinGW/MSYS をインストール。

以下を参考に作業しました。ありがたや。

_WindowsにMinGWをインストールしてC/C++で開発(32bit版) | 虚ろなるパソコン技術ノート for Windows
_C言語およびC++のコンパイラMinGWのインストールとテスト

_MinGW | Minimalist GNU for Windows の「Download」を選んで、 _MinGW - Minimalist GNU for Windows - Browse Files at SourceForge.net から、mingw-get-setup.exe をDLして実行。

インストールフォルダはデフォルトのまま、C:\MinGW\ にしておいた。

インストールするパッケージ?を選択。
インストール後、環境変数 PATH の最後の方に、C:\MinGW\bin;C:\MinGW\msys\1.0\bin を追加。ただ、MinGW/MSYS をガッチリ使う場合は PATH の前の方に書いておいた方がいいらしい。

DOS窓で以下を入力して、インストールできていることを確認。
> gcc --version

gcc (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

> bash --version
GNU bash, version 3.1.17(1)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

一応、NetBeans上でも使えることを確認。Hello World のCソース/C++ソースを書いて実行したら .exe ができた。

2014/07/31(木) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、15:00-19:10の間、自宅サーバを止めてました。申し訳ないです。

#2 [web] 東京電力の雷情報ページが改悪されてしまってちょっと困った

_雨量・雷観測情報 で雷の状態をチェックしていたりするのですけど。

以前のページは福島沿岸南部のリンクURLが存在していたので、いきなり目的の場所を開くことができていたのですが。ページデザイン変更でURLが無くなってしまって、毎回、全体図から辿っていかないと目的の場所を開けない状態になってしまって。

スペックが低い Androidタブレット端末からアクセスすると、無駄なページ表示・データ転送で、数十秒〜1分近く待たされるわけで。これはかなり鬱陶しい…。高速回線+リッチなスペックのPCだけで動作確認してOKだしやがったなと…。

ソースを覗いてみたけれど、JavaScript で色々やってるみたいで何が何だか。どうにかできんか。このままでは、不便だなあ…。

それでも、 _東北電力の雷情報ページ より、細かい情報が表示されるのでマシなのですけど。しかしやっぱり、以前のページのほうが、ありがたい仕様だったなと。

#3 [anime] PSYCHO-PASS 新編集版4話の放送休止についてなんとなく思ったことをメモ

_フジ「サイコパス」放送変更…女子高生殺害受け : カルチャー : 読売新聞(YOMIURI ONLINE)
フジテレビは31日、同日深夜放送予定だったアニメ「PSYCHO―PASS サイコパス 新編集版」の第4話の放送を休止、第5話を繰り上げて放送することを明らかにした。

長崎県佐世保市で女子高生が同級生の女子に殺害された事件を受け、「内容が現在は放送にふさわしくないと判断した」としている。
2014年07月31日 11時37分

フジ「サイコパス」放送変更…女子高生殺害受け : カルチャー : 読売新聞(YOMIURI ONLINE) より


たしかに、あのあたりのエピソードは内容がよく似ているので、このタイミングで放送するのはアレだなと思ったのだけど。それはともかく、万が一、件のアニメの内容に感化されてそういう事件が発生したのであれば、「PSYCHO-PASS」という作品自体が、あるいはTVというメディアそのものが槙島聖護だったのだ、ということになってしまってややこしいというか、それはそれで別作品を作れそうだなと思ったことをメモ。

しかし、そういうことが起きないように綺麗なものだけを大衆に見せ続ける世界を実現したらどうなるか、てな思考実験が行われているのが、あの作品だったりもするわけで。今回の放送休止の展開は、作品内で称賛されている理想的な社会とやらと通ずる部分があって、やっぱりややこしい。

#4 [nitijyou] 自転車で買い物に

犬の散歩をした後、電動自転車で買い物に。サンドラッグでカロリーメイトと虫除けジェルを、ダイユーエイトで保冷剤を、リオンドールで夕飯のおかずやジュースや夜食等を購入。

今日は、何故か3回も、信号無視をする自転車・歩行者を見かけた。暑いから、皆、判断能力が鈍ってるのかな…。 _福島県警は、踏切で一時停止した車を厳重注意しちゃうアレな警察 だけど。もっと別の場所を見張ってれば実のある取り締まりができそうなのに、と思いました。

#5 [python] PySideをインストール

_WikiStart/intro03 - pyside を参考にして、PySide をインストールしたので手順をメモ。環境は Windows7 x64。

今まで PyQt をインストールしてあったので、念のために PyQt をアンインストール。

PySide をインストールするには、pip が必要。

まず、wheel なるものをインストール。 _wheel 0.24.0 : Python Package Index から、wheel-0.24.0.tar.gz をDL。
pip install wheel-0.24.0.tar.gz

_PySide 1.2.2 : Python Package Index から PySide-1.2.2-cp27-none-win32.whl をDL。
pip install PySide-1.2.2-cp27-none-win32.whl
または、
pip install -U PySide
でもいいらしい?

今回は、Python 2.6 と Python 2.7 上にインストールした。

UIを作るツール、QT Designer は、Pythonインストールフォルダ\Lib\site-packages\PySide\designer.exe に入っている。

Qt SDKもインストール。 :

一応、Qt SDK と Qt Creator もインストールしておいた。以下をDLして実行。
qt-opensource-windows-x86-mingw482-4.8.6-1.exe
qt-creator-opensource-windows-x86-3.1.2.exe
今回は、C:\Qt\ にインストールした。

以下、参考ページ。

_Qt 4.8.4 のインストール | unlinked log

以上、31 日分です。

過去ログ表示

Prev - 2014/07 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project