Bracketsはじめました
ejsでつまづいた情けない話
Node.jsでejsを用いてHTMLに値を入れ込む動作の際になぜかエラーが出続ける。
コードはこれ
<%= posts.forEach(function(post){ %>
<li><%= post %></li>
<%= }); %>
修正した後
<% posts.forEach(function(post){ %>
<li><%= post %></li>
<% }); %>
要するに、値を入れるところにだけ'%='にする必要があった。
PHPの$_FILES変数に悩まされた話
node.jsの話はとりあえず置いといて、、、(汗)
他のプロジェクトで使っているPHPの処理の中で$_FILESの扱いに困ったので記録として残しておきます。(以下、信ぴょう性はいまいちですのでご了承ください)
何がしたかったのかというと、「複数ファイルを送信の際、$_FILESの中身があるかどうかの判定をする」ただそれだけです。
ですが、HTMLのformにて<input type='file' name='hoge[]' >があるだけで、isset($_FILES['name])はtrueを返します。それじゃ、中身はどうなっとんやと思いvar_dump($_FILES['name])を出力しようとしたが出ない。
ということで、リファレンスを見ると$_FILESの配列の形がへんてこであると気づく。今回は複数ファイルを送信することもあり、
['hoge'](
['name'](
[0] => test1.txt,
[1] => test2.txt
)
...etc
)
という形で格納されていました。
僕は以下の形で入ってると思っていたので驚きました
['hoge'](
[0](
['name] => test1.txt,
....
)
[1](
['name'] => test2.txt,
.....
)
)
以下のリンクに詳細が書いてあります。(配列の形を、へんてこ=>下の形への変形の方法も書いてあります。)
僕は最終的に
foreach($_FILES['hoge']['name'] as $file){
empty($file[name])'true処理':'false処理' ;
}
と書いて判定を行いました。empty関数を使ったのは、isset関数だと空の文字列でもtrueを返してしまうためです(ファイルが何もアップロードされなかった場合['name'] => ""となる)。
こんなことをする必要があったのかは甚だ疑問ですが、残しておきます。
Node.jsのはじまり
Node.jsの勉強をはじめました!!
何か本を一冊ほど借りて、冬休み期間中にやり込みたいと考えていて探していたところどうやら「JavaScript」が流行っているという情報(常識)をどこかしこで目にしました。
JavaScirpt自体は、少し触ったことがある程度であまり勉強していないところでした。というのも、基本的にサーバーサイドの言語に興味があったので。
ですが、Node.jsによりサーバーサイドに進出してきていることを知り、おっなんか面白そうと思い、ほぼ直感で始めることにしました。(PHPは、他で使っているので独学してやっていこうという気にならなかったというのもあります。どちらも中途半端になりそうですけど。)
今のうちに、気になるものはかじっておこうというスタンスなのでとりあえず頑張ってみます!!
本は、おなじみオライリー・ジャパンの「Nodeクックブック」
Amazon.co.jp: Nodeクックブック: David Mark Clements, 和田 祐一郎: 本
を使っています。(図書館にこれしかなかった。)
最初から詰まり気味ですが、続けていきます!!
(知識不足が否めず、HTTPについての勉強も一緒にやっていく感じになりそうです)
Windowsのフォント変更
前々から、Macへの買い替えを検討しているのですがお金の問題もあり、いまだ買い換えれておりません。買い換えたい理由の一つとして、”見た感じがいい!!”というミーハー丸出しの理由があったのですがどうやらwindowsでもいい感じにできるみたいなのでやってみました!
①Mactypeの導入
フォントをMacっぽくというなんともミーハーなソフトをインストールしてみました。
https://code.google.com/p/mactype/
結果として、windows独特(?)のギザギザとしたフォントは鳴りを潜めきれいなフォントになりました。(文字をぼやかしている感は否めないですが、慣れれば気にならないです。)
②Rictyフォントの導入
Mactypeをインストールした代償として、Sublime Text3の日本語がぶっ壊れるという被害が発生しました。どうやら、ちゃんとフォント設定をしてあげないといけないようです。
そこで、"Ricty"が良いという情報を聞きつけ早速導入!とおもいきやどうやら、2つのフォントの組み合わせで出来ているフォントらしく下記サイトを参考に作成しました。
Windows で Ricty を使用する手順 - けいれん現象の幽玄美よ
無事完成し、ようやく作業の方に戻れます!!
(作業逃避していたような、、、)