Home > アプリ

2011.03.23

html5boilerplateに見る最近のHTML・CSSプラクティス

html5boilerplate(日本語サイト)は、HTML、CSS、JSのベストプラクティスを詰め込んだテンプレートを提供するサイトです。ここでは、そこで使用されているプラクティスの幾つかを紹介します。

(more…)

2010.12.16

EXCEL集計関数の基礎

我々エンジニアと切っても切れないドキュメント作成で利用されるEXCEL
しかし、ドキュメントを作成し図形やピクチャを貼るだけがEXCELではありません。
これから先、忘年会・新年会でもEXCELを利用した名簿を作成など、知っておくと少しだけ得をする
EXCELの集計関数を今回は紹介します。

1、COUNTIF関数について
集計関数として基礎とも言えるCOUNTIF 関数。設定した条件が”真”となる値を数値として表示してくれる機能です

上記のような出欠表があります。

この程度の表であれば目視で十分かもしれませんが、これが100人200人単位になった際に

果たして目視のみで出欠を正確に判断出来るか。そんな時に使うと便利な関数がCOUNTIF関数です。

※使い方

検索の値(つまり出席か欠席か)を表示したいセルにカーソルを合わせ、数式バーに

= COUNTIF(出欠列(山田) : 出欠列(木下)  ,  ”出席/欠席”)

出欠列がB、山田が2から始まるとすると B1:B6

また出欠席を出席とすると = COUNTIF(B1:B6, “出席”)

と言う風になります。結果は4が返ってきます。

ただし、前途した通り”一意”であれば問題は有りません。

では、例外として次のような場合はどう対処すべきでしょうか。

上記の表を使って出席欠席以外の人間が何人居るのかを把握しようと思います。

この場合、上記でも書いています通り出席欠席以外の人を検索する為にはどうすれば良いか。

ここで使われる関数として、SUMPRODUCT関数を利用すると簡単に計算する事が出来ます。

= SUMPRODUCT (( 条件1) * (条件2) ・・・)

ここで重要になってくるのは、出席”以外” かつ 欠席”以外”の両方の条件を満たしているデータを抽出しカウントしてくれます。

= SUMPRODUCT(  (出欠列.山田 : 出欠列:種子島 <> “出席”) * (出欠列.山田 : 出欠列:種子島 <> “欠席”))

このように書く事が出来ます。

結果は、出席もしくは欠席以外のカウントですので7が表示されます。

EXCELの関数は、いわゆる『プログラミング言語』とは少し違い、ある程度の型枠が出来ています。

この型枠に沿った入力と条件を付ける事により便利な使い方が出来るようになります。

突き詰めていけば、マクロになってしまう訳ですが、あくまでもシンプルで簡素化された関数だからこそ

その関数を組み合わせ易く、応用していけば色々な事に役立てる事が出来ます。

突き詰めれば、このシンプルさを開発に、果てはお客様にどう提供していけるか。

誰もが使い易い。

言葉にしてみると凄く簡単かもしれませんけど、凄く難しい事でもあります。

しかし、我々エンジニア陣はその難しいことに常にチャレンジし続けたいと思っています。

2010.11.17

文字コードについて

webエンジニアなら誰もが知ってる、そしてしばしば悩みの種。それが文字コード。

実際のところ、webアプリを作るに際して、文字コード関連の知識は初期段階では必須じゃないと個人的には思ってます。アプリよりも低レイヤーの話ですし。PHPであれば「LAMP環境で全部UTF-8にすれば何も問題ないじゃん?」と言われたらExactly、その通りでございます。

でもやっぱりエンジニアたるもの、基礎も理解しておきたいよね!ということで、全ての始まりであるASCIIコードと共に、文字コードの基礎の基礎のそのまた基礎をお勉強してみようと思います。

(more…)

2010.11.03

node.jsでmongoDBを使ってみる

ご存知の方も多いと思いますが、
node.jsというのは、サーバ側で実行するjavascriptのフレームワークの一つです。

個人的には下記の理由によりサーバサイドjavascriptは熱いと思っています。

  • javascriptはweb開発では必須の技術
    (ブラウザ側でjavascriptの使用量は増えていく傾向にあり、javascriptなしではwebの開発はありえない)
  • イベント駆動との相性がよい
    ブラウザ側もonClickイベントなど、イベント単位で記述していている。その延長でサーバ側も記述できる

今回はnode.jsでmongoDBを使う方法を簡単に説明します。
(more…)

2010.10.24

PHPでデザインパターン

PHP5からインターフェースが使えるようになっていますね。
これでクラス間の関係を抽象化することができるようになりました。

そこでいまさら感は否めませんが、PHPでデザインパターンをやってみようと思います。

そもそもデザインパターンとは何かといいますと、
「クラス間設計における先人のノウハウ」と言えると思います。
クラス間の設計を行うにあたって、拡張性を高めたり問題を解決するためのノウハウですね。

そして、そこで大いに利用されるのがインターフェース・抽象クラスというわけです。

さて、GoFデザインパターンでは、23種類のパターンが提唱されていますが、それらは
3つの種類に分けられます。

(more…)

2010.09.24

はじめてみよう Mercurial

みなさん、Mercurialってものを御存知ですか?Mercurial

少し前に結構話題に上ったりしていたので、知っている方も多いと思いますが、Mercurialとは分散バージョン管理システムのひとつです。似たようなとこで有名なものには、gitなんかがあります。

「分散」ってとこはひとまず置いておいて、とりあえずSubversionとかCVSとかの仲間だと思っていただければよいと思います。

ただ、仕組み的には、対局となるものとして紹介されることが多く、Mercurialの「分散バージョン管理」に対して、SubversionやCVSは「中央集権型バージョン管理」と呼ばれています。分散バージョン管理のことやその仕組みを知りたい方は、gihyoさんのほうにシリーズで記事が上がっているので、こちらをご一読されると幸せになれるかもしれません。

要はリポジトリ1つで管理するのか、複数のリポジトリで連携させながら管理していくのかの違いで、FTPとP2Pの違いのようなもんだと書籍(入門Mercurial)では説明されています。

それで、今回はこの、Mercurialを使って、個人でお手軽バージョン管理を堪能するようになれるとこまで最低限必要なことをまとめてみることにしました。

Subversionのように大げさな設定もいらないし、本当に簡単に始めることができると思います。

(more…)

2010.08.02

Androidって美味しい?

そもそもAndroidって何?

  • スマートフォンやタブレットなどをメインターゲットとして開発されたLinuxベースのモバイル用オープンソースオペレーティングシステム、ミドルウェア、主要なアプリケーションからなるソフトウェアスタックパッケージを基にしたプラットフォームである。(wikipediaより引用)

Androidのアプリを開発!
(more…)

2010.07.20

PHPerの為のMongoDB入門

最近巷でよく聞くNoSQL(Not Only SQL)

試してみたくてPHPから簡単に使えるものはないものか・・・と色々探した結果たどり着いたのがMongoDBでした。

今回はインストールから、簡単に使ってみるところまで紹介します

(more…)

2010.07.12

HTML5はじめました

Flush等に頼らずともリッチな表現や高機能なアプリケーションを実現可能なHTML5が注目されています。

これまでのHTMLと比較すると、より文脈の構造化を表現するための要素や、グラフィック・オーディオなどのマルチメディア処理を実現する要素が追加されています。

というわけで、今回のラボブログのテーマはHTML5です。特に筆者が注目している、canvas要素を試してみました。
(more…)

2010.07.05

ロジカルライティング??

今回は「ロジカルライティング」について書きたいと思います。

みなさんは「ロジカルライティング」という言葉を聞いたことがありますか?
なんだか取っつきにくい印象を受けるかもしれませんが、要は「読み手に伝わりやすい文章を書く」ということです。

ではどうすれば伝わりやすい文章を書くことができるのかについて、何点かポイントを絞ってご紹介したいと思います。

(more…)

Next »