パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください -28ページ目

パークのソフトウエア開発者ブログ|ICT技術(Java・Android・iPhone・C・Ruby)なら株式会社パークにお任せください

開発の解決方法や新しい手法の情報を、パークのエンジニアが提供します。パークのエンジニアが必要な場合は、ぜひお気軽にお問い合わせ下さい。 株式会社パーク:http://www.pa-rk.co.jp/

こんばんは。リリです。
先日、Maker Faire 2013へ遊びに行ってきました。

Maker FaireはO'REILLY主催の「DIYの展示発表会」みたいなものです。
会場には今流行りの3Dプリンター、ArduinoやRasberry Piで開発したハードや電子系のおもちゃといった多彩な展示が行われていました。

普段はソフトよりの話しか身の回りで聞かない私ですが、
実際にハードに触れて楽しめるという点でとても有意義な展示会でした。

さて、その展示の中でちらほら目にしていたものが今回の本題の「Scratch」です。
Maker FaireではScratchの子ども向けワークショップやレゴやArduinoのプログラミング言語として使用されていました。

■Scratchとは?
Scratchは子ども向けのプログラミング言語として開発されました。
実際以降でご紹介する通り、簡単な手順でアニメーションを動かせたり、
音を鳴らしたり、至極単純な範囲ですが単純明快で、子どもの興味を惹くような工夫が凝らされています。

そもそもこのScratch、登場したのが2006年とちょっとばかり古いのですが、
どんなものかと調べてみたら今年の5月にScratch2.0が公開となり、
ネット上でパズルのようにD&Dで組み立てて簡単に動くものが作れるようなのですが、身の回りではあまり知られていないようだったので「これは!」と思いここでご紹介です。

■WebでScratch
まずは公式サイトへアクセスしてみましょう⇒Scratch
ちゃんと日本語対応されているので安心です。
$ソフトウエア開発(android・iphone・windows・java等)の事なら株式会社パークにお任せください_パク太郎のソフトウエア開発者ブログ-scratch1

上記ページが表示されたら、左上のメニューから「作る」のリンクをクリックすると作成画面に入れます。
(ネコの「やってみる」ボタンをクリックしてもいけます)
$ソフトウエア開発(android・iphone・windows・java等)の事なら株式会社パークにお任せください_パク太郎のソフトウエア開発者ブログ-scratch2


開発画面ではまずネコのイラストが初期設定で配置されています。
画面右に10ステップくらいのチュートリアルが表示されているので操作は体験してみるのが早いと思います。

初期ではネコのイラストのみ表示されていますが、ちょうちょやドラゴン、人物や食べ物といったパーツも用意されているので好きなものをそれぞれ指定した動作に合わせて動かすことが可能です。
ざっくりと見た機能でも「マウスイベント」「音の録音・編集」「時刻」「簡単な受け答え」といったことはできるようです。

TOPページからは他の人の作品を見ることもできます。
簡単に動くサンプルやデモとして何か作るのにも手軽そうなので是非使ってみてはいかがでしょうか?
基盤構築において、作成したクライアントPCのイメージを大量に展開する方法について何回かに分けて説明したいと思います。

PCの展開にはWindows展開サービスを利用する、GHOSTを利用するというのが一般的に知られています。
今回は、MDT(Microsoft Deployment Toolkit)というMicrosoftが提供している無料のツールを使用して展開する方法について書きたいと思います。

また、MDT(Microsoft Deployment Toolkit)は「Winodws7」「Winodws Server 2008」と色々なOSに対応していますが、「Windows Server 2008 R2」を利用する方法です。

PC展開のための準備~展開までの主な流れは以下の通りです。

-----------------------------------------------------------------
1.展開、管理用の環境を用意
(使用したのは、Windows Server 2008 R2)
インストールする役割・機能
・Active Directoryドメイン・サービス
・DNS
・DHCP
・WINS(必要ならインストール)
・Windows展開サービス
2.Windows AIK をインストール
3.Microsoft Deployment Toolkit(MDT)をインストール
4.応答ファイルの作成
5.WindowsPEの作成
----------------------------------------------------------------
6.マスタコンピュータの構築
7.マスタコンピュータでSysprepを実行
(※応答ファイルがある場合は応答ファイルを指定してsysprepを実行)
8.マスタコンピュータのイメージ取得
9.イメージをMDTへ取り込み
10.展開用に各種設定
11.MDTにて展開イメージの作成
12.各端末にマスターコンピュータのイメージ展開
----------------------------------------------------------------

-----------------------------------------------------------------
1.展開、管理用の環境を用意
⇒ OSのインストール
、役割・機能のインストールおよび設定を実施
・Active Directoryドメイン・サービス
・DNS
・DHCP
・WINS(必要ならインストール)
・Windows展開サービス

2.Windows AIK をインストール
⇒ Microsoft の公式ダウンロードセンターから次の2つをダウンロード
・WindowsR 7 用の WindowsR 自動インストール キット (AIK)
・Windows 7 SP1用のWindows自動インストールキット(AIK)補足プログラム
⇒ インストールを手順に従い実行し、完了する

3.Microsoft Deployment Toolkit(MDT)をインストール
⇒ Microsoft の公式ダウンロードセンターから次の2つをダウンロード
・Microsoft Deployment Toolkit (MDT) 2012 Update 1
⇒ インストールを手順に従い実行し、完了する

4.応答ファイルの作成
⇒ 「Windows AIK」と同梱されている「Windows システム イメージ マネージャ」を
利用して、必要な設定を行い応答ファイルを作成する
⇒ 作成の方法、設定内容については次回

5.WindowsPEを作成
⇒ 「Windows AIK」と同梱されている「Deploymentツールのコマンドプロンプト」を
利用してWindowsPEを作成する
-----------------------------------------------
ここまでがザックリとした展開のためのツールの構成方法です。
次回は、応答ファイルの作成方法、設定内容、マスタPC側ので手順を順を追って書いていきたいと思います。

------------
知っておくと良い言葉
--------
※ 「PCの展開」とは
標準となる環境を構成したパソコンを作成し、多数のPCにその標準環境を展開(構築)する事

※ 「WindowsAIK」 とは
Windows自動インストール・キット。
MDT 2010の必須ツール。
配布するイメージ(.ISOや.WIM)などは、WindowsAIKに含まれるツールを使って作成したり、再構成したりする

※ 「Microsoft Deployment Toolkit(MDT)」とは
Microsoftが提供しているGUIを備えた無償のデプロイメントツール。
PCを展開するために利用できるMicrosoftが提供しているさまざまな技術や
ツール類をMDTがまとめてくれて、パソコンを展開するためのプロセスを
自動的に作り上げ、自動展開する仕組みを提供してくれるツール。

※ 「応答ファイル」とは
WindowsR セットアップ中に使用する設定の定義と値を格納した XML ベースのファイルのこと。
応答ファイルには、ディスクの分割方法、インストールする Windows イメージの場所、
適用するプロダクト キーなど、さまざまなセットアップ オプションを指定する。
ユーザー アカウントの名前、画面の設定、Internet ExplorerR のお気に入りなど、
Windows のインストールに適用する値も指定することができる。
通常、セットアップ用の応答ファイルの名前は Unattend.xml とする。

※ 「WindowsPE」とは
WindowsパソコンをCD/DVDなどのリムーバブルメディアやネットワーク経由で起動するための軽量版Windowsシステム。
Windowsプレインストール環境とも呼ぶ。
システムトラブルの診断や復旧作業を行う際の、起動用システムとしても利用できる。
プリインストールや復旧に必要な最小限の機能を提供する。
Win32の主要機能やNTFS、TCP/IPなどをサポートしている。

皆様お元気でしょうか?
狼の遠吠えが聞こえてくるお時間にブログを書いております…

さて、今回は"TestLink"というツールのご紹介
WEBベースでのオープンソースのテスト管理システムでございます
TracやRedmine等バグトラッキングシステムと連携をとって管理できるのが特徴です

テストプロジェクトとテストケースを分離して管理することが出来ます
まずは、テストプロジェクト
テストプロジェクトとテストケースを紐づけ、ビルドごとにテストの合否を記録することが出来ます
また、同じビルドでもプラットフォームごとに分けてテストを記録することが可能です

一方のテストケースの方は、テストスイートと呼ばれるフォルダのようなもので管理を行えます
入れ子にすることで大量のテストケースを分かり易く分類整理することが出来ます

テストケースの作成者や実行者を簡単にアサインすることも出来ます
そして、テスト仕様書や報告書を簡単に出力することが出来るのです

Excelよりも分かり易く楽に管理できるTestLinkは如何でしょうか?
それではまたお会いしましょう
運命浄化!
このたびはPHPにてファイルのアップロード/ダウンロードのサンプルをお伝えしたいと思います。

え?それは何故かって?
実は自分用に、ファイルサーバーを立てたのですが、
ファイルのアップロードとダウンロードが意外と簡単で感動したので、
皆さんにも同じ感動を味わっていただきたいと思いまして、今回はこの題材です。

まずはサンプルコード。


if (move_uploaded_file($_FILES["filedata"]["tmp_name"],
  mb_convert_encoding("ファイルの移動先","SJIS", "EUC-JP")))
{
echo "ファイルをアップロードしました。
";
} else {
echo "ファイルをアップロードできません。
";
}


これだけです。もっと面倒なことを勝手に想像していたのに簡単です。
第一パラメータ($_FILES["filedata"]["tmp_name"])はサーバー上にとりあえず保存されファイル名です。
第二パラメータはサーバー上に保存するパスになります。



// ダウンロード用のHTTPヘッダ送信 */
ini_set("zlib.output_compression", "0");
header("Content-Disposition: inline; filename=\"".basename("ファイル名")."\"");
header("Content-Length: ".$content_length);
header("Content-Type: application/octet-stream");

//ファイルサイズでダウンロード方法を変更する
$handle = fopen("ファイル名", 'rb');
while (!feof($handle)){
echo fread($handle, 4096);
ob_flush();
flush();
}
fclose($handle);



アップロードよりも行数がありますが簡単です。
HTTPヘッダはほぼ固定のテンプレートとして送信して、
そのあとにファイルのを分割(例では4096バイト)してダウンロードしてくという感じです。

すごく簡単なんで、ぜひ一度試してみてください!
jQueryで要素を追加する方法について書きます。
以下に対して操作を行います。
<div id="div1">
    <div id="div2"></div>
</div>
・内部に追加
$(A).prepend(B)
$(B).prependTo(A)
$(A).append(B)
$(B).appendTo(A)

要素に子要素を追加するには、先頭ならprependまたはprependTo、末尾ならappendまたはappendToを使用します。AにBが追加され、$(A)または$(B)のjQueryオブジェクトが戻り値となります。
$.('#div1').prepend('<div id="addDiv1"></div>')
                 .append('<div id="addDiv2"></div>');
<div id="div1">
    <div id="addDiv1"></div>
    <div id="div2"></div>
    <div id="addDiv2"></div>
</div>
・前後に追加
$(A).before(B)
$(B).insertBefore(A)
$(A).after(B)
$(B).insertAfter(A)

要素の前後に要素を追加するには、前ならbeforeまたはinsertBefore、後ならafterまたはinsertAfterを使用します。Aの前にBが追加またはAの後にBが追加され、$(A)または$(B)のjQueryオブジェクトが戻り値となります。
$.('#div1').before('<div id="addDiv1"></div>')
                 .after('<div id="addDiv2"></div>');
<div id="addDiv1"></div>
<div id="div1">
    <div id="div2"></div>
</div>
<div id="addDiv2"></div>
・周囲に追加
$(A).wrap(B)

要素の周囲を囲んで追加するにはwrapを使用します。Aの周囲にBが追加されます。
$.('#div1').wrap('<div id="addDiv1"></div>');
<div id="addDiv1">
    <div id="div1">
        <div id="div2"></div>
    </div>
</div>