ここ二年ほど、急激に自然史系博物館巡りが自分の中の趣味としてのポジションを高めてきたので、そろそろそっち方面のサイトでもやってみようかな、と。
というわけで、今までに行ってきた自然史系博物館etcを緩く紹介するサイト『Pangea Note』を作りました。
⇒ Pangea Note
良かったら見てやってください。
まだ、ここ二年で行ってきた場所の一割も紹介文を書けてないんだけど、この調子だといつまで経っても公開できないので、とりあえずプレオープンということで。
]]>ぜひぜひお気軽にご参加くださいねー!
去年は毎月、「HTML5? なにそれおいしいの?」レベルの俺と共に学ぶHTML5勉強会 というものを主催していたんですが、今回、京都でも開催させていただくことになりました。
今まで取り上げた内容をもとに、HTML5って何?どんなことができるの?っていうレベルの話から、現状での実用的な利用法についてまでを、入門編としてお伝えしたいと思っております。
ぜひぜひお気軽にご参加くださいねー!
あんまりカチっとした「講習会」という感じではなく、みんなでゆるーく勉強しませんか?という感じの集まりにできればな、と思っています。
※できれば単発ではなく、定期的に開催したいと思っています。
日時 | 2012年6月23日(土) 17:00~19:00 |
場所 | kinoko café. |
地図 |
大きな地図で見る ●地下鉄四条駅・阪急烏丸駅 徒歩5分くらい |
参加費用 | ¥2,000 |
対象 | これからHTML5を勉強したい人 |
というわけで、いつも大変お世話になっている神戸のコワーキング・スペース カフーツさんの主催で『HTML5?何それおいしいの?な人のためのHTML5入門講座』の講師をさせて頂くことになりました。
去年は毎月、「HTML5? なにそれおいしいの?」レベルの俺と共に学ぶHTML5勉強会 というものを主催していたんですが、今回はそちらで取り上げた内容をもとに、HTML5って何?どんなことができるの?っていうレベルの話から、現状での実用的な利用法についてまでを、入門編としてお伝えしたいと思っております。
ぜひぜひお気軽にご参加くださいねー!
今回は、逆にPHPでExcelファイルを読む方法の紹介です。
ExcelファイルをPHPで読み込むには、PHPExcelというライブラリを利用するのが楽です。
というわけで、以下のサイトから PHPExcel をダウンロードしましょう。
解凍すると色々ファイルが出てきますが、「Classes」ディレクトリ内のファイルがライブラリ本体です。
Classesディレクトリを、どこかに置きましょう。
設置したClassesディレクトリ内のライブラリをインクルードします。
include_once './Classes/PHPExcel.php'; include_once './Classes/PHPExcel/IOFactory.php';
以下のようにしてExcelファイルを開きます。
#-- Excelファイル名 $xlsFile = 'yutyrannus.xls'; #-- Excel2007のファイルの場合 $xlsReader = PHPExcel_IOFactory::createReader('Excel2007'); #-- Excel95のファイルの場合 $xlsReader = PHPExcel_IOFactory::createReader('Excel5'); #-- Excelファイルを読み込む $xlsObject = $xlsReader->load($xlsFile);
Excelファイルをシートごと、行ごと、セルごとに読んでいくには、以下のようにします。
#-- シートごとに読んでいく for ($i = 0; $i < $xlsObject->getSheetCount(); $i++) { $xlsObject->setActiveSheetIndex($i); $xlsSheet = $xlsObject->getActiveSheet(); #-- シート名 $sheetTitle = $xlsSheet->getTitle(); $j = 0; #-- シートの行ごとに読んでいく foreach ($xlsSheet->getRowIterator() as $row) { $xlsCell = $row->getCellIterator(); $xlsCell->setIterateOnlyExistingCells(true); $k = 0; #-- 行のセルごとに読んでいく foreach ($xlsCell as $cell) { #-- 「シート名・行番号・セル番号」の連想配列にセル内のデータを格納 $data[$sheetTitle][$j][$k] = $cell->getCalculatedValue(); $k++; } $j++; } }
上記のコードで、$data という連想配列に、シート、行、セルごとのデータが格納されます。
]]>「ベスト20」とか銘打ってるものの、相変わらず順位はかなり適当です。
まあでもこれから読む小説選びの参考にでもなれは幸いです。
ちなみに2011年はSFとファンタジーが多めだったかもしれない。本屋オフ参加者の傾向そのままですな。
20位 バースデイ |
鈴木光司著。 有名な『リング』三部作のおまけ的短編集。 昔読んだときは、ブームに乗っかった蛇足、というイメージが強かったんだけど、改めて読んでみると、本作で綺麗に『リング』シリーズがまとまったな、という印象に変わった。 三つの短編のうち、最初の二作がホラーテイストで、ラストが前向きな生の物語、というのも『リング』三部作の構成と同じ。どの作品も、本編の裏側をいい感じに補完してくれていると思う。 当然ながら、読むなら先に『リング』三部作を読んでからで。 |
19位 鳩笛草 |
宮部みゆき著。 超能力を持った三人の女性が主人公の三編の短編集。どれも「人とは違う力を持つことの不幸」にスポットを当てている。 『クロスファイア』を読んでいたので『燔祭』から『クロスファイア』の流れはテーマとして一貫していたんだなあ、と思った。あとの二つの作品は『燔祭』とは違って救いがあって読んでて安心した。 |
18位 世界の終わり、あるいは始まり |
歌野晶午著。 「自分の息子が連続殺人事件の犯人なんじゃないか?」と苦悩する父の葛藤を描いた、かーなり実験的な構成のミステリ。 歌野さんはこういう実験的な構成のミステリを沢山書かれているなあ。 こういう構成を貶すのは簡単だけど、歌野さんのこの手の実験的なタイプの作品には、どうしても深読みしたくなる何かがある。万人に「面白いからおすすめ!」とは決して言えないけど、色んな人に読ませて反応をうかがってみたいと思わせる。 あと、自己保身大好きな主人公に共感を覚えすぎてやばかった。 |
17位 放課後探偵団 |
相沢沙呼、市井豊、鵜林伸也、梓崎優、似鳥鶏著。 複数作家による学園物ミステリアンソロジー。 前に読んだ相沢沙呼さんの『サンドリヨン』が凄く良かったので、相沢さんの作品目当てで読んだ。 相沢さんの『チンク・ア・チンク』は『サンドリヨン』と同じく安定してるなあ、という印象。 ラストの梓崎優さんの『スプリング・ハズ・カム』は自分の年齢的なところもあってか、一番ぐっと来るものがあった。 他の作品も読んでみたい。 鵜林伸也さんの『ボールがない』の、凄く些細な謎を、ロジカルに展開した後に甘酸っぱーいオチに持っていった構成は、まさに学園物ミステリという感じでこちらも良かった。 |
16位 鍵のかかった部屋 |
貴志祐介著。 『硝子のハンマー』『狐火の家』の続編にあたる、密室ミステリ短編集。 まあ普通に面白かったんだけど、『狐火の家』よりも「貴志さんならでは」な感じが薄くなって、「よくある密室物のミステリ」以外の何物でもなくなってきてるのでちょっと残念。 |
15位 慟哭 |
貫井徳郎著。 連続幼女誘拐事件を追う刑事の物語と、心に穴を持つ男が新興宗教にはまっていく物語。 構成的にオチの想像がしやすい作品だったけど、十年前の作品だしその辺は仕方ないところもあるかな。 早い段階でオチが想像できても、最後まで惹きつけて読ませる力のある作品だと思った。 心に穴の空いた人間が新興宗教にのめり込んでしまう心理の過程の描写が非常に説得力があったなと思う。 |
14位 すベてがFになる |
森博嗣著。 有名な作品でずっと気になってたけど、シリーズが色々出てるっぽいので今から手を出すのもなあ、と思ってたけど、読んでみたらなるほどやっぱり面白かった。いかにも理系なミステリ。 職業柄どうしてもコンピュータとかネットを扱った小説はちょっとしたボロが出ただけで冷めちゃったりするんだけど、さすがにこの人の小説にはそういうことないので安心して読めた。シリーズの他の作品も読もうと思う。 |
13位 家に棲むもの |
小林泰三著。 ホラー短編集。 あっさり目の作品が多く、小林さんのホラー作品としては、意外性がなくてあまり驚きがなかった印象。 ホラー短編集としては同作者の『忌憶』のインパクトが凄かったからなぁ......。 でも表題作『家に棲むもの』と『食性』は良かった。『お祖父ちゃんの絵』もじわじわきた。 |
12位 ダークゾーン |
貴志祐介著。 軍艦島を舞台にした、ファンタジーというかゲームっぽいバトルものの小説。 貴志さんの作品は相変わらず一気に読ませる力があるなあと実感。 出てくるモチーフというか諸々のキーワードが好みすぎてかなり読んでいて楽しかった。 ラストの展開にはちょっとまごついてしまうけども、エンターテイメント小説として、最後まで一気に読ませる力はほんとさすが。 |
11位 姑獲鳥の夏 |
京極夏彦著。 理系っぽさと民俗学系のおどろおどろしさを兼ね備えた独特の空気を持つミステリ。 今まで何度も色んな人に勧められて気になりながらも、分厚さから敬遠していたんだけどついに読んだ。面白かった。 もっと若い頃に読んだらもっと楽しめたかもな。作品全体を覆う独特の空気が凄く好みだった。 丁寧に張られた伏線から展開していく物語も綺麗にまとまってて良かった。 ただ、伏線が丁寧過ぎて、結構先の展開が部分部分で読めてしまったのが仕方ないけどちょっと残念。 |
10位 密室殺人ゲーム王手飛車取り |
歌野晶午著。 「試したいトリックやネタがあるから殺す」。 ただそれだけでそこに悪意や憎悪はかけらもない。そんな殺人推理ゲーム参加者達の物語。 そしてこの物語自体も「書きたいトリックやネタがあるから書いた」。という感じで、そこに深遠なテーマや問題提起があるわけではない淡々とした進行。 その自己言及的な皮肉こそがテーマなのかな、とか深読みしたくなる作品。 |
9位 ジェノサイド |
高野和明著。 スケールのデカいエンターテイメント作品。 このスケールの物語が破綻なくまとまっている時点で凄いと思う。 場面転換が頻繁にある割に、読んでいて置いてきぼりになることもなかったし。 9.11以降の戦争を取り扱ったSF寄りの作品ということや、人類の進化が大きなキーワードである点が『虐殺器官』と重なったけど、似ているからこそ相違点が大きく浮き彫りになった印象。 こういうエンターテイメント的な作品に著者の政治的思想を持ち込むのはちょっとアレだけど、まあそこはスルーで。 |
8位 一九八四年 |
ジョージ・オーウェル著。 極端な監視社会を描いた古典SF。 全体主義を突き詰めていくと、人間の社会はアリやハチのような真社会性生物のような社会になっていくなあ、という妄想を読めて楽しかった。 「過去の改変」や「言語の語彙を減らすことによって思想を制限する」というアイディアは凄いなーと思った。 本編ももちろん良かったけど、巻末の『附録 ニュースピークの諸原理』は鳥肌立った。 |
7位 告白 |
湊かなえ著。 かなりの話題作なので、ついつい斜に構えて読み始めちゃったけど、素直に面白いと思える作品だった。 特に第一章の完成度は見事。これだけでも短編として綺麗にまとまってるんじゃ。 全体を通しての構成も、第一章を拡大したような感じになっているし。 各章で視点の異なる一人称、という形式がうまく活きていて、人の主観は信用ならないということが表現されていたと思う。 |
6位 アラビアの夜の種族 |
古川日出男著。 アラビアを舞台にした、Wizardryっぽいファンタジー小説。 設定がいちいちツボで面白かった。 複数の主人公たちがどれも魅力的で良い。超展開の連続もとっても楽しい。 物語ることと、それを読むことを掘り下げていくと、こうなるんだな。と思った。 |
5位 虐殺器官 |
伊藤計劃著。 すぐそこにある未来を描いたSF作品。 まさにこの時代だからこそ書かれた作品だなぁ、と思った。 ストーリーがどうこうよりも、「すぐそこにある未来」に適切かつ魅力的に、説得力を持たせている細かい設定の数々が読んでいて凄いと思った。 個人的には「虐殺の文法」は非常に説得力があったし説明不足では全くないと思う。 生物好きとしては「言葉」や「利他的行動」がどのように人間の中で進化したかについての著者の考えが非常に興味深かった。 |
4位 ハーモニー |
伊藤計劃著。 『虐殺器官』に引き続き「すぐ先にありそうな未来」の不気味さを丁寧に描いた作品だな、と思った。 目次や本文がいきなりxmlで書かれてるのもニヤリとさせられる演出だな、と思ってたらちゃんと意図があって、なるほど、と思わせてくれる。 社会性動物であるヒトに対して、より社会性が強まる方向に淘汰が働くと、アリやハチのような真社会性動物になっていくんじゃないか、というような妄想は生物好きなら一度はしたことある人も多いと思うけど、その手の妄想にきっちり筋道をつけてみた、という見方もあるかな、と感じた。 |
3位 グリーン・ワールド |
ドゥーガル・ディクソン著。 何らかの理由で地球によく似た惑星に移住した一万人の人類から始まる、千年にわたる人類の歴史のやり直しと環境破壊の物語。 『アフターマン』や『フューチャーイズワイルド』で発揮された説得力ある妄想力で描かれるグリーンワールドの生態系が非常に魅力的。 非常にわかりやすい直球の問題提起なテーマだけど、序盤のグリーンワールドは想像力を刺激されて本当に魅力的だった。 関連していなさそうな各エピソードが、後で繋がっていくのも読んでいて楽しかった。 一から生態系を妄想するのは凄く大変だと思うけど、取り上げられる架空生物の種類がもうちょっと多かったらなあとも感じる。 |
2位 獣の奏者 1 闘蛇編 |
上橋菜穂子著。 序章をちらっと読んだ時点で「これは素晴らしく緻密に世界が構築された上質なファンタジーの予感がひしひしとするぜ......!」と思ったけど、一巻読みきったらやっぱり素晴らしいファンタジーだった。大好き。 生物好きとしても主人公のエリンには感情移入しまくれるし、最高。 はやく続きを読まねば。 |
1位 星を継ぐもの |
ジェイムズ・P・ホーガン著。 アツいな。アツいSFだぜ!! 有名な作品だけあってめちゃくちゃ面白かった。生物進化絡みのSFとか好物過ぎてもう!! 最初から最後まで延々wktkしたまま読み切った!! なんかバカっぽい感想だけど気にしない! そんだけ面白かったってことだ! |
プログラマじゃなくてもちょこっとJavaScriptやjQuery知ってると色々と便利だし、プログラマな人に仕事を頼む時も話がしやすくなりますよ!!
というわけで、いつも大変お世話になっている神戸のコワーキング・スペース カフーツさんの主催で『WebデザイナーのためのjQuery入門講座』の講師をさせて頂くことになりました。
JavaScript/jQueryの基本から、ある程度実用的なサンプル紹介まで、これからjQueryもかじろうかな、という人向けの内容となっております。
ぜひぜひお気軽にご参加くださいねー!
プログラマじゃなくてもちょこっとPHP知ってると色々と便利だし、プログラマな人に仕事を頼む時も話がしやすくなりますよ!!
というわけで、先月も開催しましたが、今月もいつも大変お世話になっている神戸のコワーキング・スペース カフーツさんの主催で『WebデザイナーのためのPHP入門講座』の講師をさせて頂くことになりました。
本格的にプログラミングを学ぶというよりも、普段HTMLのコーディングやWebデザインを生業にしている方にとって、ちょっと知っておくと得するようなPHPの使い方をお伝えする内容になっております。
ぜひぜひお気軽にご参加くださいねー!
上記の記事のコードを元にTinyMCEを自作フォームのtextareaに適用すると、編集用のツールバーには四行にわたって大量のボタンが表示されます。
もちろんWYSIWYGエディタなので多機能なのは良いのですが、中には「これいらねーだろ」ってボタンや、インターフェイスによっては「色々あると重すぎるから必要なボタンだけでいいや」というケースなんかもあるかと思います。
そういった場合、TinyMCE設置用のJavaScriptの以下の部分を修正すれば、設置するボタンの種類を変更できます。
<script language="javascript" type="text/javascript"> tinyMCE.init({ mode : "textareas", theme : "advanced", plugins : "safari,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,imagemanager,filemanager", // 以下の四行が各行のボタンの設定箇所 theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen", theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage", // ↑ボタン配置設定ここまで↑ theme_advanced_toolbar_location : "top", theme_advanced_toolbar_align : "left", theme_advanced_statusbar_location : "bottom", theme_advanced_resizing : true, content_css : "styles.css", }); </script>
それぞれ、「theme_advanced_buttons1」「theme_advanced_buttons2」「theme_advanced_buttons3」「theme_advanced_buttons4」が、一~四行目に何のボタンを配置するかという設定部分です。
それぞれの行に「save,newdocument,|,bold,italic,underline,strikethrough,|,...」という具合に、カンマ区切りで設定するボタンの種類が書かれています。
それぞれのボタンがどういう名前と紐付けられているかは、実際の画面と比較すれば容易でしょう。
また、「|」は区切り線です。区切り線をツールバー内に入れる場合も、「|」自体をカンマで区切って入れます。
上記のコードでは四行にわたってツールバーが表示されますが、この行数を減らしたい、という場合、表示したくない行以降の「theme_advanced_buttons*」の項目自体を削除してしまえば大丈夫のようです。
ただし、例えば、
theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect", theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor", theme_advanced_buttons3 : "",
という風に、「この行からは要らないよ」という行の設定を「""」で空に設定しないと、環境によっては空行が挿入されて見た目が変になってしまったりしてしまうケースがあるようですので注意。
]]>jQuery を利用してフォームの値を取得するには、
// 変数 Fvalue にフォームの値を代入 var Fvalue = $("#id").val();
とやればOKです。
JavaScript でやろうとするとループを回したりして色々めんどくさい select要素によるドロップダウンの値も、val() だけで取得できるので非常に楽ちんです。
逆に、フォームの input要素に値をセットする(変更する)には、
// #id の値を「1」に変更 $("#id").val(1);
とやればOKです。
]]>いわゆるLightbox風のインターフェイスが流行している影響で、インラインフレーム(に見えないUIだけど)内のウィンドウから、呼び出し元である親ウィンドウの要素を操作する、という処理は多用する機会が増えたなあ、という印象がありますね。
親ウィンドウの要素を操作する時は、
parent.$("#id").addClass('ClassName');
とか、
parent.$("p").html('カラオケ行きたい。');
とか、まあ普通の JavaScript と同じように parent で親ウィンドウを指定すればOKです。
]]>ボタンクリックに合わせて、特定要素の背景色や文字色を変えたりというインターフェイスを実現するには、jQuery を使うのが手っ取り早いですね。
// div要素の文字色を変更 $("div").css("color","#9932cc");
上記のように、変更したいスタイルのプロパティと値をカンマ区切りで指定します。
複数のスタイルを一気にしたいする場合は、以下のようにさらにカンマ区切りで続ければ良いです。
// div要素の文字色と背景色の変更 $("div").css("color","#9932cc", "background-color", "#000000");
何らかのアクションに合わせて、ブロック要素の表示・非表示の切り替えをしたりするのもよくやりますが、これも display:none; と display: block; (または display: inline; etc) を切り替えれば良いわけですね。
// id="mesage" を非表示にする $("#message").css("display", "none"); // id="message" を表示する $("#message").css("display", "block");
上記のように css() を使って直接スタイルを指定するのも良いですが、デザインとの一元管理を考えると、クラスの追加・削除を活用した方が良いかもしれません。
// div要素にクラスClassNameを追加 $("div").addClass("ClassName"); // div要素からクラスClassNameを削除 $("div").removeClass("ClassName");
クラスAをクラスBに変更したい場合は、removeClass("ClassA") で削除した後に、addClass("ClassB") で追加してやれば、結果的にClassA が ClassB に変わったことになりますね。
]]>プログラマじゃなくてもちょこっとPHP知ってると色々と便利だし、プログラマな人に仕事を頼む時も話がしやすくなりますよ!!
というわけで、いつも大変お世話になっている神戸のコワーキング・スペース カフーツさんの主催で『WebデザイナーのためのPHP入門講座』の講師をさせて頂くことになりました。
本格的にプログラミングを学ぶというよりも、普段HTMLのコーディングやWebデザインを生業にしている方にとって、ちょっと知っておくと得するようなPHPの使い方をお伝えする内容になっております。
ぜひぜひお気軽にご参加くださいねー!
とか、
とか、
とか、
とか、
とかとか!
特にフリーランスで活動していると、みんなそれぞれ得意分野と不得意分野があるわけで、なかなか全部一人で済ませちゃうのは難しいですよね。
というわけで、そんな人たちで集合して、一度ひとつのWebサービスを作ってみようじゃないか!せっかく作るなら、地元の振興に繋がるものにしたいよね! という企画を立ち上げました。
とりあえず、どんな方向性でやっていくかを集まって話し合いましょう、ということで、11/13(日)に、第0回を開催するので、ぜひぜひお気軽にご参加くださいませ!
↑ネーミングが固いけど、そんな固い集まりじゃないからね! 気軽にきてね!
]]>「そろそろいい加減HTML5にも手を出さないといけないなー」なんて思いながら、なかなかきっかけがなくて手を出せていない皆様こんにちは! 僕も全く同じです!
というわけで神戸で五回ほど開催した「HTML5? なにそれおいしいの?」レベルの俺と共に学ぶHTML5勉強会ですが、このたび、東京で開催することが急遽決定いたしました。
神戸で開催した五回の内容をもとに、「ぶっちゃけHTML5って何がどうなの」レベルのところから、お話しようかなと思っております。
同じWeb業界にいる人とかで集まって、色々話すのは勉強になりますね!
主催である僕自身、タイトル通り「HTML5?なにそれおいしいの?」レベルな状態ですので、高度な内容は期待しないでくださいね><
あんまりカチっとした「講習会」という感じではなく、みんなでゆるーく勉強しませんか?という感じの集まりにできればな、と思っています。
※できれば単発ではなく、関東でも今後定期的に開催できればいいなと思っています。
日時 | 2011年10月28日(金) 19:00~21:00 |
場所 | ブロードバンドテクノロジーコンサルティング 社内会議室 東京都中央区京橋2-12-12 サカキビル2F |
地図 |
大きな地図で見る |
参加費用 | 無料 |
対象 | これからHTML5を勉強したい人 |
主催 | グッドホープ |
協賛 | 株式会社アバンド ブロードバンドテクノロジー・コンサルティング株式会社 |
以下のフォームからメールアドレスをご登録頂くと、次回以降の日程が決定次第、お知らせいたします。
]]>