KENスクールブログ-パソコンスクール パソコン教室 KENスクール

プログラム

[Excel VBA]ユーザーフォーム

ユーザーフォームとは、VBEで作成する画面のことです。

evba1

ユーザーフォームを使用するメリット

例えば売上表にデータを追加する場合、手入力で行うと色々な問題点が発生します。

  • 未入力項目がある
  • 日付列に文字が入力されている
  • 存在しない商品名が入力されている

等、最終的に集計作業を行う際、入力データのチェックが必要になります。
フォームを利用するメリットは以下の通りです。

  • 入力漏れや誤った値が入力されていないかチェックをする
  • 商品名等の候補が決まっているものは、選択欄から選択させる

ユーザーフォームの作成方法

フォームを作成していきましょう。

VBEを起動し、[挿入]メニューの[ユーザーフォーム]をクリックします。
evba2

中央に表示されているのがフォームです。フォームは画面の土台の役割となっており、この上に各種コントロール(部品)を自由に配置していきます。
evba3

コントロールの配置方法は2通りあります。
evba4

使用するアイコンをクリックした後

  • フォーム上でクリック(適当な大きさのコントロール作成)
  • フォーム上でドラッグ(自由に大きさを決めて作成)

大きさは配置後でも調整できますので、操作のしやすさで選んで下さい。

先ほど作成したフォームにコントロールを配置しましょう。
evba5

コントロールの配置ができたらプロパティの設定を行います。設定はプロパティウィンドウで行えます。プロパティは「各オブジェクトがそれぞれに持つ値」という意味で、幅や高さなどオブジェクトに応じた設定ができます。
evba6
evba7

以上でユーザーフォームの作成は完成です。

この記事に関連する講座

業務効率UPに繋がる実践編!上位資格で転職アピール!!

詳しくはこちら


カテゴリー: Office プログラム

[Java]匿名クラスとラムダ式

Java8で導入された機能に「ラムダ式」があります。

ラムダ式

【 ラムダ式の基本構文 】

( 引数 ) -> { 処理 }

ラムダ式を使用すると、関数型インタフェースの実装を簡潔に記述することができます。
関数型インタフェースとは、抽象メソッドを1つだけ含むインタフェースのことです。
例えば、並行処理を行う際に利用するRunnableインタフェースも関数型インタフェースと言えます。

【 Runnableインタフェースの定義 】

Runnableインタフェースを匿名クラスを使用して実装した場合、以下のような記述となります。

ラムダ式を使用して実装すると、以下のように簡潔に記述できます。

ラムダ式の省略記法

ラムダ式には、さまざまな省略した記述法があります。
IntToLongFunctionインタフェースを例にして見ていきましょう。

1. 引数のデータ型を省略できる

2. 引数が1つの場合は小括弧()を省略できる

3. 処理が1つの文の場合は中括弧{}を省略できる
この場合、戻り値がある・なしに関わらずreturn文は不要

慣れるまでは不思議な記述法にしか見えませんが、簡潔に記述できるとプログラムの可読性も向上します。ぜひ、この機会に書き方を覚えてくださいね。

この記事に関連する講座

プログラマー向けベンダー資格の知名度No.1

詳しくはこちら


カテゴリー: プログラム

[Java]フィールドの初期化

クラスにフィールドを定義した時には、基本的には初期化する必要があります。

コンストラクタ

フィールドの初期化の方法は、変数の宣言と同時に値を設定する方法と、初めに実行されるところで値を設定する方法があります。固定の値で初期化するのであれば、変数の宣言と同時に値を設定する方法で問題はありませんが、プログラムの動作中に生成された値で設定する場合は、初めに実行されるところ、つまりコンストラクタで行う必要があります。

スタティックイニシャライザ

ただし、クラスフィールド(staticキーワードが記述されているフィールド)の初期化については、オブジェクトとして生成しなくても存在しているため、コンストラクタでは初期化はできません。そこで使用するのがスタティックイニシャライザになります。

値を初期化する処理は、実行処理の初めに記述しても動作は問題ありませんが、決まった場所に記述することによって可読性がよくなります。可読性を意識して、修正時や他の人が見たときに分かりやすいコードを心がけましょう。

この記事に関連する講座

プログラミング言語のスタンダードを身につけよう!!

詳しくはこちら


カテゴリー: プログラム

Oracle Bronzeの紹介2【初級者向け】

前回はデータベースの起動と停止について取り上げましたが、今回はデータベース内の一部のファイルについてご紹介します。

データファイルとREDOログファイル

データベース内で管理されているデータは、もちろんデータベースサーバーのマシン内のファイルに保存されています。そのファイルを『データファイル』と言います(耳慣れない名称が多いOracle用語の中で、安直な名前なので逆にド忘れしやすいかもしれません)。そのデータファイル等の更新内容を保存している『REDOログファイル』は、履歴情報を持っています。

これらの他にも色々な種類のファイルがありますが、この2つのファイルについて問題です。

『データファイル』と『REDOログファイル』では、どちらが重要でしょうか?
もちろんどちらも重要ですが、より重要なのはどちらでしょうか?

『データファイル』はデータベースで利用するデータが入っているファイルなので、もしファイルが壊れてしまったら、データが欠落してしまいます。一方、『REDOログファイル』は変更履歴のファイルなので、何も問題が起きない場合は特に重要ではありません。しかし、データが壊れてしまったり、データを壊してしまったりした場合は、復旧する為に履歴情報が必要になります。履歴情報があれば、ダメになる直前まで、どのような変更をしてきたのかが分かるので、復旧が可能になります。

極論すると、初期状態から現在までの『REDOログファイル』が残っていれば、データファイルの状態を、過去のどのタイミングにでも戻せると言うことです。『REDOログファイル』へのデータの書き込みは『データファイル』よりも優先して行われることや、ミラーリング機能があることからも重要度は高いと思われます。

他にも各種設定情報を保存するファイルなどがあります。Oracleの資格試験では、それらの名称、内容、用途が問われます。上位資格になると更に、全体的な運用を考慮した効果的な用法が問われることもあります。

この記事に関連する講座

人気の資格を合格サポートで完全カバー!

詳しくはこちら


カテゴリー: プログラム

HTMLを始めよう! その3

前回は、HTML5の「コンテンツ・モデル」についてお話しました。
今回は、要素についてお話します。

HTML5から新しい要素が加わり、より明確なマークアップが可能となりました。
その中でも「セクショニング・コンテンツ」の使い方が難しいですね。

以前までは、<div>を使用することで、構造のアウトライン化が可能でしたが、HTML5では新しいセクショニング要素(<article>、<section>、<nav>、<aside>)が導入されることで<div>でない明確な構造化を実現します。

<section要素の使い方>

・section要素はh要素と一緒に定義
 section要素は文書のアウトラインを定義する要素なのでsection要素の直下にはh要素を使います。

sectionの使い方その1

 

・入り子として使用可能
 section要素の中にsection要素を入り子として使用可能です。

sectionの使い方その2

 

sectionを入り子で使用する時は、h要素も階層に合わせて使用することが推奨されていますので注意しましょう。

今回は、section要素についてご紹介しましたが、次回はその他の要素をご紹介します。

 

この記事に関連する講座

HTML5をしっかり理解してコーディングのスペシャリストになろう

詳しくはこちら


カテゴリー: Webデザイン・DTPデザイン プログラム

[Java]try-with-resources文

Java SE6まではファイル入出力やデータベースへのアクセスをするとき、そのためのリソース(プログラムでの使用が終わったら閉じられなければいけないオブジェクト)を解放するために、例外処理のfinally句などでclose処理を記述していました。ですが、アクセスがある度にclose処理を書くのが面倒、書き忘れるとメモリリークの原因になる等少々手間のかかるものでした。

そこで、Java SE7から追加されたtry-with-resources文を使うとこれらの問題が解決できるというわけで、今回はその機能紹介とサンプルコードをご紹介したいと思います。

try-with-resources文

はじめに、try-with-resources文を使用するにはjava.lang.AutoCloseableかjava.io.Closeableインターフェースを実装するクラスである必要があります。このインターフェースにはclose()メソッドのみ定義されており、ファイル入出力のjava.ioやデータベースアクセスのjava.sqlパッケージなどのリソース関連クラスは、これらのインターフェースを実装しているため、暗黙的に解放することができます。

使用方法としては、まず例外処理try(){}ブロックの()内にリソースを書き込みます。すると、この()内に書かれたリソースプログラムはコードブロックの終わりで各リソースが確実に閉じられるという仕様になっているのです。

では実際にSE6までのサンプルとSE7のサンプルを見比べてみましょう。

SE6までのサンプル
※サンプルはjava.ioパッケージを使ったファイル入出力例文

SE6以前ではfinallyブロック内にストリームのクローズ処理を書いていたが、SE7ではそれをtry-with-resources文で行う事が可能です。

SE7以降のサンプル

これでclose処理から解放されますね!是非使ってみて下さい!!

この記事に関連する講座

プログラミング言語のスタンダードを身につけよう!!

詳しくはこちら


カテゴリー: プログラム

【Excel】日付データから曜日を表示する

みなさんこんにちは。

Excelでデータを作成する場合に、「曜日欄」が必要なことはよくあります。
受講生の多くの方が「曜日」は、1つのセルに曜日を直接入力し、それ以降はオートフィルを使用して入力しています。
基本はその方法で問題ありません。
しかし、Excelの機能を駆使することで、もっと簡単にかつ、後々活用しやすいテクニックがあるのです!

POINT

日付データの中には曜日の情報も含まれています。
日付データから「曜日」情報だけを表示する設定をすることで、簡単に「曜日欄」の作成が完了します。

【曜日の表示方法】

①「曜日欄」に日付と同じデータを表示します。

このとき、「日付欄」を参照するように設定しておくことで、日付を変更した際に曜日も連動して変更されるようになります。

ここでは、セル[A4]に日付データを入力していますので、「=A4」と入力し確定します。

20160717_07

日付データの入力されているセルを参照しているので、同じ日付のデータが表示されます。
※オートフィルでコピーし、以降のセルも同様に入力しておきましょう。

②「曜日欄」を選択し、「セルの表示形式」を変更します。

右クリックメニュー(コンテキストメニュー) ⇒ [セルの書式設定]ダイアログボックス ⇒ [表示形式]タブ

20160717_08

[分類]は「ユーザー定義」を選択し、[種類]に「aaa」と入力します。

サンプルを確認した上で、OKをクリックします。
※なお、「aaaa」と入力すると「○曜日」と表示することが出来ます。

20160717_09

「曜日欄」に曜日を表示することが出来ました!

20160717_10

この方法で、カレンダーで曜日を調べて入力することなく、曜日を表示することが出来ます。
また、翌月には日付を入力変更するだけで曜日欄の処理は完了しちゃいます!

スケジュール表や勤怠管理表など、日付管理が必要なあらゆるデータで活用できますね!

みなさんも是非試してみてください!

この記事に関連する講座

表作成の「技」。すばやく美しい表作成へのテクニック満載!

詳しくはこちら


カテゴリー: Office プログラム

[iPhoneアプリ開発] リソース(文字列)の多言語対応

swiftでの多言語対応に関する記事です。

環境(以下の環境で動作確認をしています)

  • OSX Yosemite 10.10.5
  • Xcode7.2.1

目次

  1. リソースとは
  2. 多言語対応とは
  3. 多言語設定の手順

リソースとは

リソースとは資源という意味で、アプリケーション開発においては、アプリケーションが利用するデータのことを意味し、画像ファイル、音声ファイル、文字列データなど様々な形式のデータを指します。

多言語対応とは

iOSには、異なる言語における表示をサポートするための機能が用意されており、文字列データをユーザの端末の言語情報にあわせて切りかえる事ができます。

多言語設定の手順

1. Project に Localization の設定

「Project」->「info」->「Localizations」と選択してから、「+」を押してロケール情報を追加します。日本語を登録するのであれば、Japanese(ja)を選びます。
localization1

2. Localizable.strings ファイルの作成

アプリ画面に対応するローカライズには Localizable.strings ファイルを新たに作成する必要があります。Fileメニューから新規作成を選び、「iOS」->「Resource」->「Strings File」で Localizable.strings の名前のファイルを作り、プロジェクトに追加します。
localization2

localization3

作成した Localizable.strings ファイルを選択して「file inspector」を見ると「Localization」の項目があるので、「Localize」ボタンを押し、「Japanese」を選択します。
localization4

localization5

続いて、「file inspector」で「English」と「Japanese」にチェックを入れると Localization.strings ファイルに新たに2つのファイルが自動で作成されます。
localization6

localization7

作成された Localizable.strings ファイルを開いて、それぞれに「”key名” = “値”;」の形式で key と value を設定します。

Localizable.strings(English) のファイル
“test” = “English”;

Localizable.strings(Japanese) のファイル
“test” = “日本語”;

3. プログラムで文字列を取得

プログラムから、「strings」ファイルの値を取得する NSLocalizedString(key, comment)メソッドを呼び出します。

実機または、シミュレータで「設定」「一般」「言語環境」で English を選択し、その設定でアプリを起動すると以下のように表示されます。
localization8
図 Localizable 英語

同様に言語情報を日本語に変えて起動すると以下のように表示されます。
localization9
図 Localizable 日本語

この記事に関連する講座

未経験からスマホエンジニアへ!

詳しくはこちら


カテゴリー: プログラム

JavaScriptとJSON

JSONとは

以前にも増してJavaScript界隈で聞くことが多くなったデータの表現形式に「JSON」というものがあります。正式には「JavaScript Object Notation」といいます。名前に含まれている通り、JavaScriptのために作られた表記法です。

XML同様、テキストファイルとして作ることもでき、人間が読み書きしやすいようなデータ形式となっています。また、階層を追って目的のデータを探しに行くXMLより、JavaScriptからのデータアクセスがしやすい構造になっているため、データの解析がXMLよりも速いというメリットがあります。

AjaxとJSON

Ajaxも、現在は利用が当たり前のようになってきているJavaScriptを利用した技術です。「Asynchronous JavaScript + XML」の略称で、JavaScriptからWebサーバーにリクエストを送り、サーバーからXML形式で取得したデータをもとにして、JavaScriptで動的にブラウザのコンテンツを書きかえる技術です。「非同期通信」という仕組みを使っています。このとき取得するデータを、XMLではなくJSONデータにすることも増えています。

JSONの基本書式

このように、1つ1つのデータを管理する項目名(名前)と、具体的なデータ(値)のセットをカンマで区切ってリストアップしていくような構造になっています。

名前と値の1セットを、JSONではまとめて「メンバー」と呼びます。

JSON 表記例1

配列や連想配列、マップに似た構造となっていますね。この例では、5つのメンバーを含んでいることになります。

JSONの型

JSONは、XMLと違い「型」というものが値に対して存在します。「型」というのはデータのタイプ(種類)のことです。

● string型(文字列)
“KEN” や “プログラム” など、文字をダブルクオートで囲んだもの。プログラムではよく「文字列」と言います。
● number型(数値)
100や3.14など、ダブルクオートなどで囲まず、数値をそのまま書いたもの。
● boolean(真偽値)
true、falseの2つ。if文やwhile文では、条件の判定結果として使われますが、JSONでは「はい/いいえ」「ON/OFF」的な要素として使われることが多いです。
● null(ヌル値)
空文字や、0とは違う「値が何もない」という状態を表すもの。
● array(配列値)
複数の値を[ ]でまとめて管理する形式。
例)
JSON 表記例2

このような構造にすることで、簡易的なデータベースのように扱うこともできます。

イメージ

id name tel
1001 さいとう 070-0000-0000
1002 すぎやま 080-0000-0000
1003 よねやま 090-0000-0000

JavaScript以外でもJSONをデータの形式として利用することは増えていますので、是非学習してみてください。

この記事に関連する講座

ライブラリの利用にとどまらない技術をマスター

詳しくはこちら


カテゴリー: Webデザイン・DTPデザイン プログラム

Webプログラミングの基礎[PHP 変数編]

8種類の基本型

プログラムは必ずデータを保存するための入れ物=変数が必要となります。
変数には保存するデータの種類によって様々な”型”というものが存在します。
ここではPHPにおける8種類の基本形について見ていきます。

※PHPタグ

  • PHP はファイルを解析して開始タグと終了タグ (<?php と ?>) を探します。 タグが見つかると、PHP は開始タグ~終了タグの範囲内でコードを実行します。
  • 上記により、PHP を他のあらゆる形式のドキュメント中に埋め込むことができます。
  • 開始タグと終了タグで囲まれている 箇所以外のすべての部分は、PHP パーサ(構文解析エンジン)に無視されます。

4種類のスカラー(単純)型

1-1.論理値(boolean)

TRUE  // 真
FALSE // 偽

 

1-2.整数(integer)

<?php

$a = 1234;    // 10進整数
$a = -123;    // 負の数
$a = 0123;    // 8進数 (10進数の83と等価)
$a = 0x1A;    // 16進数 (10進数の26と等価)
$a = 0b11111111; // 2進数 (10進数の255と等価)

?>

 

1-3.浮動小数点(float, double)

<?php

$a = 1.234;
$b = 1.2e3;                       // 1.2×10の3乗
$c = 7E-10;           // 7×1/10の10乗

?>

 

1-4.文字列(string)

$name = “Yamamoto” // 文字列

 

複合型

2-1.配列(Array)

配列の各データには「インデックス」という番号が付きます。
特定のデータが必要な場合はそのインデックスで呼び出します。

$week = array(“日曜”,”月曜”,”火曜”,”水曜”,”木曜”,”金曜”,”土曜”);

echo $week[3];                  // “水曜日”が表示される

 

2-2.想配配列

特定の数のカンマで区切られた “キー=>値”の組を引数とします。

$data = array(“id”=>”ALC001”, “name”=>”プレミアビール”, “price”=>200);
echo $data[“name”];          // “プレミアビール”が表示される

 

3種類の特別な型

3-1.リソース(resource)

リソースは、特別な関数により作成され、使用されます。

 

3-2.ヌル(NULL)

ある変数が値を持たないことを表します。

 

3-3.Callable

関数の引数に渡すことができるcallback型を表します。

 

この記事に関連する講座

Webアプリの開発手法を知る

詳しくはこちら


カテゴリー: Webデザイン・DTPデザイン プログラム

Oracle Bronzeの紹介【初級者向け】

データベースの起動の方法について

Oracleデータベースは非常に豊富な機能を持ったデータベースソフトです。

その機能についての知識を問われる資格試験があります。
一番ランクが低いOracle Master Bronzeですが、SQLとDBAの2つの試験に合格してはじめてBronzeの認定がもらえます。
SQLはデータベースからデータを取得する言語の文法についての分野で、DBAはデータベースの管理者として必要なデータベースの内部の構造や操作方法についての分野です。

今回はDBAの範囲の中から、データベースの起動の方法についてご紹介します。 

Oracleデータベースは起動して利用できる状態と停止している状態の他に2つの状態があります。
簡単に表現するなら、中途半端に起動している状態です。
では、その状態とその状態がなぜ必要なのかを見て行きましょう。

状態の名称 Oracleの状態
SHUTDOWN 停止の状態
NOMOUNT データベースが認識されていない状態
MOUNT データベースが認識されているが利用していない状態
OPEN 通常運用の状態

OPENの状態は全ての機能が使える通常運用の状態で、データのファイルの読み書きが行われています。
このデータファイルに対するデータの復旧操作などは、この運用状態で行うべきではありません。
よって、データファイルを認識している状態ではあるけれどもまだ利用していない(利用できない)状態が必要です。それがMOUNTの状態です。

さらに、MOUNTの状態ではデータベースを認識しているが利用はできない状態ですが、そのデータベース自体について何か操作をしたい場合は、認識して関連付けされてしまっている状態ではできません。
そこで、データベースとの関連付けが行われる前に、データベースに対する基本的な機能だけが利用可能な状態が必要なのです。それがNOMOUNTの状態です。 

通常の起動をした場合は、SHUTDOWNの状態から、内部的にNOMOUNT、MOUNT、OPENと段階を踏んで起動します。
管理者は特別に、例えば「MOUNTの状態まで起動し、復旧作業を行う」という事が可能という事です。もちろん作業後、OPENの状態に続けて遷移可能です。

データベースの停止の方法について 

Oracleデータベースは非常に豊富な機能を持ったデータベースソフトです。

その機能についての知識を問われる資格試験があります。一番ランクが低いOracle Master Bronzeですが、SQLとDBAの2つの試験に合格してはじめてBronzeの認定がもらえます。
SQLはデータベースからデータを取得する言語の文法についての分野で、DBAはデータベースの管理者として必要なデータベースの内部の構造や操作方法についての分野です。 

今回はDBAの範囲の中から、データベースの停止の方法についてご紹介します。

Oracleデータベースは緊急時やメンテナンス時に停止させる必要があります。
データベースはワードやエクセルなどのソフトの様に自分だけが利用しているものではなく、複数人が同時に編集可能です。
よって、その現在の利用者をどうするかによって停止の方法が異なり、4種類あります。では、その違いを見て行きましょう。

NORMAL

一番安全な停止方法です。接続者(データベース利用者)が全員切断するのを待ちます。新規の接続は受け付けませんが、全員が切断するのを待たなければなりません。

TRANSACTIONAL

一連の更新作業中の人は終わるまで待ちますが、そうではない人(更新が一段落ついた人や確認作業をしている人)は切断してしまいます。
データベースとしては、更新作業中のデータが更新されるのを待ってから停止します。 

IMMEDIATE

一連の更新作業中の人も切断してしまいます。途中まで作業中の更新内容はキャンセルされます。
データベースとしては更新作業中のデータは失われますが、強制的にキャンセルする事により、データベース内の状態としては矛盾のない整合性の取れた状態で停止します。

ABORT

こちらも一連の更新作業中の人も切断しますが、途中までの作業内容のキャンセルはされません。更新もされません。中途半端な状態ですが、そのまま停止します。
では更新内容はどうなってしまうのかというと、次回起動時に、履歴情報から自動復旧されます。しかし、更新途中の場合は確定がなされていない事から、更新作業中だった内容は破棄されます。


このように、データベースの管理者として必要な知識を身につけている事を証明する資格がOracle Bronze DBAです。
上位資格にSilver、Gold、Platinumがあります。

この記事に関連する講座

情報システム管理のデファクトスタンダード

詳しくはこちら


カテゴリー: プログラム

Javaの基礎【コメント】

コメントとは、コンピュータがプログラム実行時に無視する文字列のことです。
プログラムの実行時には、無視されるため、実行時には意味を持ちません。

複数人でシステムを開発していた場合、作成したソースコードを別の人が読んだとき、
また、同じ人であっても時間をおいてから読んだりした場合には、その意図を読み取ることが困難なことがあります。
その為に、コードの意図をコメントとしてソースコードに挿入することが役立ちます。 

Javaのコメントは行コメント、ブロックコメント、ドキュメントコメントの3種類があります。

行コメント

行コメントは「//」を使用します。プログラム中に「//」が現れた場合「//」から行末までをコメントとして扱います。

行コメントは主に変数の説明、メソッド内の処理の説明で使用します。

ブロックコメント

「/* */」を使用します。プログラム中に「/*」が現れた場合、次に「*/」が現れるまでの部分を全てコメントとして扱います。

ブロックコメントは処理の説明や問題のありそうな場所を一旦無効にして実行したいとき等に使用します。

ドキュメントコメント

「/** */」を使用します。プログラム中に「/**」が現れた場合、次に「*/」が現れるまでの部分を全てコメントとして扱います。

ドキュメントコメントは主にクラス、フィールド、メソッドの説明に使用します。コメントの範囲はブロックコメントと同じですが、決められたルールに従って記述すればクラスのAPI(クラスの使用方法、説明が記述されたドキュメント)が自動生成することができます。

また、クラスの説明やメソッドのコメントには「@」から始まるアノテーションを使用することになりなります。どのアノテーションを使用するかは、開発のプロジェクト毎に決めていることもあり、開発前に決めていたほうが望ましいでしょう。

上記サンプルで使用しているアノテーション

  • @author クラスの作成者を記述する
  • @param メソッドの引数の説明を記述する
  • @return メソッドの戻り値の説明を記述する

 

この記事に関連する講座

エンジニア業務に必要な開発現場のリアルを身につけます。

詳しくはこちら


カテゴリー: プログラム

Androidアプリ開発をAndroid Studioで!

2014年12月より正式バージョンがリリースされたAndroid Studioですが、すでに今まででもEclipse等の統合開発環境(IDE : Integrated Development Environment)でAndroidアプリを開発された方もいらっしゃると思います。

 Android Studioはまだリリースされてからの期間が短く、現状ではEclipseでの書籍やインターネットでの情報は多いと思われますが、今後はAndroid StudioがAndroidアプリ開発の主流になると思われます。

 ではEclipseとAndroid Studio、この二つのIDEはどのようなものかを、簡単にご説明したいと思います。 

pic-20160531_01

まず初めにこの二つの開発ツールはどちらも無料で揃えられるものになっています。

Eclipseの提供元はIBM社。Android Studioの提供元はGoogle社が行っております。

これまでGoogle社は、EclipseのAndroidのアプリ開発を助けるプラグインであるADT (Android Development Tools) プラグインの開発とサポートを行ってきましたが、2015年末でサポートを終了しました。
よってこれからはAndroidアプリの統合開発環境に関しては、EclipseからAndroid Studioへの移行が推奨されています。

 

当然ながらGoogle社がスマートフォンやタブレットなどに提供しているAndroidアプリはサポート体制や新機能の追加などを鑑みてもAndroid Studioが主流になると言っても良いでしょう。

 使い心地は私見ですが、現段階ではEclipseよりも若干動作は重く感じます。

また普段からEclipseを使用している方などはショートカットやメニューの配置や、ディレクトリ構成の違いに違和感が生じるところがあるかと思われます。

 ですが、ビューの見易さやAndroid仮想デバイス(AVD、Android Virtual Device)の種類などは今までのEclipseでの開発環境では得られないものとなっています。

 動作環境はWindows、Macintosh、LinuxなどEclipseと同じ動作環境で動くものになっており、導入もそこまで敷居の高いものではありません。

まだAndroid Studioに移行していない方はぜひこの機会に。またAndroidアプリの開発をしてみたい方もAndroid Studioを導入してみましょう。

 

KENスクールではこのAndroid Studioを使ったAndroidアプリ開発講座を開講しております。興味のある方は是非ご検討下さい。

この記事に関連する講座

IT業界で今最も熱い!Androidアプリ開発を習得

詳しくはこちら


カテゴリー: プログラム

jQueryでタブごとに色が変えられるタブメニューをプラグインなしで実装する

jQueryには便利なプラグインがたくさんありますが、ちょっとした機能や、シンプルな機能が欲しいという場合、また、プラグインでは存在していない仕組みを作りたい場合は、jQueryをベースとしたプログラムを自分で書く必要があります。

今回は、タブで文字を切り替えるという仕組みを、プラグインなしのjQueryコーディングのみで作成するソースコードを紹介します。

選択されていないタブの色が全て同じサンプルは、探すと結構あるのですが、せっかくならタブごとに色を変えられるように作ってみましょう。

 

実行イメージ

タブ切り替え

HTMLソース

 

記述の解説

liタグとsectionタグを1セットずつ増やし、liタグ内のaタグのhref属性にカラーコードを設定します。

liタグの幅をCSSで調整すれば、タブの数は自由に変更できます。 見た目は適宜CSSで調整をしてください。

下部 <div id=”tab_disp”></div> はタブの切り替えに合わせて中身の変わる、文字表示領域です。

 

jQueryソース

記述の解説

タブ切り替えに合わせて表示したい文字を管理している範囲を、非表示にします。

liタグの数だけ繰り返し処理を行い、aタグのhref属性に設定されたカラーコードをliタグ本体の背景色に設定します。
また、クリックされた位置がわかるようにaタグにclass属性をつけ、連番になる値を設定し、目印をつけます。

初期状態を「TOP」タブが選択されている設定し、
次にタブクリック時の処理を設定します。
クリックされた箇所を取得して、href属性に設定したカラーコードを文字表示領域の背景色にし、sectionタグの中身を表示する内容として設定します。

 


 

タブを実装するプラグインはたくさんありますが、ちょっとしたカスタマイズを盛り込みたいときなど、出来合いのプラグインを利用するだけだと、プラグイン本体のカスタマイズが必要になったり、逆に手間がかかる場合もあります。

jQueryは、本来のJavaScriptより、HTMLを操作するプログラムを書きやすいような機能が豊富に用意されています。

ですので、単純にプラグインを入れるだけでなく、jQueryそのもののコーディング方法を理解してこそ「jQueryを理解した」と言えるでしょう。

 

今回はHTML・jQuery・CSSの各ソースコードの紹介と概要の説明となりましたが、これを機に「jQueryを使う」から「jQueryを書く」ということを考えてみてはいかがでしょうか。

 

 

この記事に関連する講座

JavaScriptで動きのあるサイトを作る!

詳しくはこちら


カテゴリー: Webデザイン・DTPデザイン プログラム

AndroidStudioインストール(Windows)

Android Studioのインストール方法を紹介します。

●手順1

01

http://developer.android.com/intl/ja/sdk/index.html」にアクセスして【DOWNLOAD】をクリックします。

●手順2

02

「上記の利用規約を読み、同意します。」にチェックを入れ【DOWNLOAD】をクリックします。

●手順3

03

ダウンロードされたインストーラを実行します。
【Next】を選択します。

●手順4

04

必要な項目にチェックをして、【NEXT】を選択します。
・Android SDK:Android SDKがインストールされる。必ずチェックしてください。
・Android Virtual Device:エミュレータを使用する場合はチェックしてください。
・Performance (Intel R HAXM):エミュレータの高速化をします。

●手順5

05

【I Agree】を選択します。

●手順6

06

Android Studio Installation Location: Android Studioのインストール先を指定
Android SDK Installation Location: Android SDKのインストール先を指定
デフォルトで問題なければそのまま【NEXT】を選択します。

●手順7

07

エミュレータが使用するメモリサイズを設定します。
【NEXT】を選択します。

●手順8

08

【Install】を選択します。

●手順9

09

【NEXT】を選択します。

●手順10

10

【Start Android Studio】にチェックを入れるとインストール完了後に自動的に
Android Studioが起動します。
【Finish】を選択します。

以上でAndroid Studioのインストールが完了です。

この記事に関連する講座

スキルがあれば、あとはアイデア次第!

詳しくはこちら


カテゴリー: プログラム

【 Access VBA 】マクロからVBAへの変換方法

startup-593324_640

AccessにはExcelと同様に「マクロ」があります。
マクロを使用すると、さまざまな作業を自動化することができます。

操作方法は以下のとおりです。

① 「作成」タブを選択し、「マクロ」ボタンをクリックします。

img01

② マクロのアクションを選択する画面が表示されます。

img02

③ ドロップダウンリストをクリックすると、アクションの一覧が表示されます。

img03

④ 例えば「データベースを閉じる」を選択し、マクロを保存します。

マクロ名は「練習」とします。
img04

ナビゲーションウィンドウに保存したマクロが表示されます。

Excelのマクロは、記録をした後にVisual Basic Editorを開くと、記録内容をVBAに変換したコードをすぐに確認することができます。しかし、Accessのマクロは、記録をしただけではVBAに変換したコードを確認することができません。VBAに変換したコードを確認するためには、続けて以下の操作を行います。

⑤ 「デザイン」タブを選択し、「マクロをVisual Basicに変換」ボタンをクリックします。

img05

⑥ 下記ダイアログボックスが表示されたら、「変換」ボタンをクリックします。

img06

※「エラー処理コードを追加する」と「コメントを含める」については後述します。

変換が成功するとVisual Basic Editorが自動的に立ち上がり、プロジェクトエクスプローラー内に「変換するマクロ:練習」が作成されます。ダブルクリックをするとVBAに変換した内容を確認することができます。

img07

上図の赤線で囲まれている箇所は「コメント」です。VBAではシングルクォーテーションの後ろに書いた1行分がコメントになります。コメント部分は緑色で表示され、プログラム実行時に無視されます。プログラムの説明などをコメントとして残しておくと、処理内容を把握しやすくなります。

また、青線で囲まれている箇所は「エラー処理」です。プログラム実行時に何らかの理由でエラーが発生すると異常終了となりますが、エラー処理を記述することにより正常終了させることができます。マクロではエラー処理を行うことができませんが、「エラー処理コードを追加する」にチェックを入れるとプログラム内にエラー処理を含むことができます。

「DoCmd.RunCommand acCmdCloseDatabase」の部分が、今回記録した「データベースを閉じる」処理にあたります。マクロで行うことができる処理は、VBAでは「DoCmdオブジェクト」を使うことでほとんど実行できます。

DoCmdオブジェクトには「データベースを閉じる」以外にも多くのメソッドが用意されています。VBAで記述したいマクロのアクションがありましたら、ここまでの手順を行うことで、VBAではどのように記述されるのかを確認することができます。


カテゴリー: プログラム

【Unity】庭を歩く

binoculars-100590_640

Unityで箱庭を作る(1)(2)で創ったフィールドを自由に散歩してみたいと思います。
今回もUnityが内蔵しているAssetsだけで作ることが可能です。上部メニューのAssets>ImportPackage>Charactersをクリックします。

01

ImportUnityPackage Charactersが出ますので左下のAllをクリック後Importします。

07

Project内のAssets>StandardAssets>Characters>FirstPersonCharacter>Prefabsをクリックすると

02

03

このように2つのPrefabが出来上がっています。

FPSControllerをScene内のフィールドの上にドラッグ&ドロップします。

04

Hierarchy内にFPSControllerが追加されます。

次にMainCameraを選択しInspector内のチェックを外します。

05

今回はMainCameraと同じ位置にFPSControllerを置いてみました。

06

08

上部にある再生ボタンを押してみましょう。マウスで周囲を見渡し、矢印キーで自由に歩くことが出来ます。

09


カテゴリー: プログラム

iPhoneアプリ開発 デバッグ機能の使い方(Xcode)

bugs-718753_640
Xcodeに備わっているデバッグに関する記事です。

環境(以下の環境で動作確認をしています)

  • OSX Yosemite
  • Xcode6.1

目次

  • デバッガとは
  • デバッグで使用するボタン
  • 変数ビュー
  • コンソール画面

デバッガとは

開発ソフトに含まれることが多い、プログラムを修正(デバッグ)するための支援をしてくれる便利なツールやソフトのことをデバッガと呼びます。Xcodeでは、確認したい命令の行番号をクリックするとブレークポイントと呼ばれる、プログラムを停止するためポイントを貼ることができ、その後各種デバッグ機能を利用することができます。
ブレークポイントを貼ったら、通常通りアプリケーションを実行すると、下記のようにブレークポイントが貼られた行で命令が一時停止します。

debug_1
【図:1 17行目にブレークポイントを貼った実行結果】

緑色の網掛けが掛かっている命令で停止していることを表しています。(実行はされていません)

デバッグで使用するボタン

デバッグで使用する主なボタンは下図の通りで、Xcodeの左下に表示されています。

debug_2
【図:2デバッグで使用するボタン】

各種機能は以下の通りです。

  • 実行継続 実行を再開して次のブレークポイントで止まるまで、または、ブレークポイントが無ければ最後まで実行する
  • ステップオーバー 1行ずつプログラムを実行する
  • ステップイン 現在の停止位置がメソッドである場合、そのメソッドの中に入る
  • ステップオーバー 現在の定位置がメソッドの中である場合、そのメソッドから外へ出る

この中でよく利用するのが、ステップオーバーです。1行ずつ実行することで変数の値や計算式やメソッドの戻り値の代入などの値が確認できます。

変数ビュー

Xcode左下の画面には、変数の中身を確認できる画面が表示され、変数の中身を確認することができます。以下は、ステップオーバーで1行命令を進めたあとの状態です。

debug_3_2
【図:3変数ビュー】

変数strにはabcという文字列が代入されていることがわかります。複雑なプログラムでは、予期せぬ値が代入され、プログラムが正常に動作しないこともありますが、変数ビューで中身を確認することで原因を特定することもできます。

コンソール画面

Xcode右下の画面をコンソール画面と呼びます。コンソールとは、入出力装置や入出力画面のことです。この画面では、プログラム実行時のエラーメッセージが出力されたり、開発者がキーボードを使用してコマンドを入力することができます。

デバッグコマンド

デバッグ中にコンソール画面に入力しデバッグを手助けするpoコマンドを紹介します。
poコマンドはprint objectの略でオブジェクトや変数の値を表示することができます。

debug_4
【図:4コンソール画面】

上記のように変数strの中身を確認することができます。また、コンソール画面では、「str.isEmpty」のようにメソッドの呼び出し結果を確認することも可能です。

デバッグ機能を有効に使うと、目視だけでは確認漏れしかねないことも検証できます。是非開発時に利用してください。


カテゴリー: プログラム

Unityで箱庭を作る(2)

rocce-del-manco-183996_640

前回に引き続き、Unityを使って簡単なフィールドを作る方法を紹介します。

Unityの特徴の一つに豊富なASSETSがあります。
今回はUnityが提供しているASSETSを使って行きたいと思います。
上部メニューバーのAssets>Import Package>Environmentをクリックすると
10

Importing packageが開きます。
Allを押してImportを押します。
するとAssets Progressが表示され青いバーが現れるのでしばらく待ちます。

11

Inspector内Terrainの筆アイコンを押します。
12

Edit Texturesを押し
Add Textureをクリックします。
13

Add Terrain Textureが開くのでSmoothness(A)のSelectを押します。
Select Texture2Dが開くので上部検索窓にgrassと入力すると候補が表示されるので
GrassHillAlbedo(Texture2D)を選択すると、Add Terrain Textureに画像が追加されているかと思います。
Addを押します。
14

15

Terrainが一面緑のテクスチャで覆われて一気に地面っぽくなりました。

Hierarchyの中からMainCameraを選択してキーボードのWキーを押します。
すると赤と緑と青の矢印が出てきたかと思います。

16

上向きの緑の矢印をドラッグすると上方向に自由に動かせます。
するとGameビューの中の映像がカメラ位置に合わせて変化しているかと思います。
このようにして、カメラを移動させることによってGameビューに映したい映像を映すことが可能になります。

次にMainCameraを選択したままキーボードのEを押してみましょうScene内のカメラアイコンの周りに円が現れたかと思います。
これはオブジェクトの角度を調整することが可能な状態です。
17

試しに動かしてみましょう。
カメラアイコンを囲っている線をドラッグします。
カメラの角度に合わせてGameビューが変化しているのがわかると思います。
Gameビューはカメラが写している範囲が、Sceneはそのフィールド全体をカメラに関係なく映しています。

ではもう少し世界を作りこみたいので、木を生やしてみたいと思います。

Terrainを選択したらInspector内のTerrain内の7つのアイコンの右から3番目を押します。
18
Treesに「Edit Trees」ボタンがあるので押します。
Add Treeを選択します。

Tree Prefab窓が出てくるのでTreePrefab横の◎を押します。
Select GameObjectが出てくるので木のアイコンをダブルクリックします。
19
Addを押します。

するとInspector内のTreesに木のアイコンが出てきていると思います。

木のアイコンを選択しBrushSizeやTreeDensity、TreeHeightを変えてみてScene内をクリックしてみましょう。
20

木が出現しましたね。

次にInspector内Terrainの7つのアイコンの右から2番目
を押します。
EditDetailsを押し、AddGrassTextureを押します。
21
AddGrassTexture窓が開きます。
DetailTextureがNoneになっているので右側の◎を押します。
SelectTexture2Dまどが開きますので検索欄に「grass」と入力するとGrassFrond01が出てくるので
ダブルクリックします。
するとAddGrassTextureのDetailTextureにGrassFrond01 AlbedAlphaが追加されているのでAddボタンを押します。
22

BrushSizeを調節して思うようにTerrain上をドラッグしてみましょう。
草原が出来たと思います。

23

さて、かなり緑あふれる大地が形成できたと思いますので動かしてみましょう。
ちょうどHierarchyの真上あたりに▶ボタンがあります。
24
これがScene再生ボタンです。これを押すとSceneの再生が始まります。
風に揺れてる草をみれるかと思います。

このようにUnityが提供してくれているAssetsだけで簡単に3Dフィールドを形成することが出来ます。

25


カテゴリー: プログラム

Unityで箱庭を作る(1)

55dc0112f61d9e373a76209636bc4ec7_s

話題のゲームエンジン「Unity」
今回はそのUnityを使って簡単なフィールドを作ってみたいと思います。

まずはNEW PROJECTから新しいプロジェクトを作りましょう。
Project nameは任意の名前を、Locationには保存先を指定します。

Unityの画面が表示されましたね?
ここから思い通りの大地を作っていきたいと思います。

画面上部のツールバーからGameObject>3D Object>Terrainをクリックして見てください

何もなかった空間に白い板が出現しました。

1

これが地面になる基礎部分です。この上に山を作り池を作り、緑をつくり、風を吹かせてみたいと思います。

Terrainの大きさを小さくして編集しやすくします。
InspectorのTerrainには7つのアイコンが並んでいます。この中の一番右、歯車を押すとSetting画面になります。
その中の下部にある

Terrain Width 50
Terrain Length 50
に設定します。
2
Inspector上部のTransformのPositionの
X -25
Z -25

3

すると世界の中心にTerrainが来るはずです

まずは山から作っていきたいと思います。InspectorのTerrain内部にある7つのアイコンの一番左、山に上矢印が付いている
アイコンを押しましょう。

4

Brushesが表示されていると思います。

5

上図のように一番左上を選択し、SettingsをBrush Size 37、Opactiyを30に設定します。

Terrainの上をドラッグしてみましょう。
白い土台が盛り上がって、あっという間に山になりました。
Shiftを押しながらドラッグすると掘り下げる

6

次にInspectorのTerrain内にある7つのアイコンの左から二番目を押します。

BurushSizeとOpacity、Heightを設定して、Terrainの上でドラッグしてみましょう。
今度はある一定の高さで山の形成が止まったともいます。
自身の思うようにBurushSize(範囲)とOpacity(強さ)、Height(高さ)を設定して、いろいろな地形を作ってみましょう。

7

仕上げに7つのアイコンの左から三番目を押します。
これは創りだした凹凸をなだらかにします。

8

Brush SizeとOpacityを設定して試してみましょう。

9
(画像は一例です。必ずしもこの状態にしなくてはならないものではありません)
いかがでしょうか。
真っ白な板だったTerrainに高低差が生まれて山のように見えてきませんか?

次回は、草木が生い茂る状態にする手順をご紹介します。


カテゴリー: プログラム

使える!簡単でお洒落なjQueryのスクロール

autumn-194834_640
iphoneを起動させてから左にスライドし、パスコードを入力する画面に切り替わる際、
背景が徐々にボケるのご存知でしょうか?

Webサイトでも、ページをスクロールする際に前の画像がボケて切り替わると
お洒落だと思いませんか?

実はjQueryを利用する事で、Webページにこのような機能を簡単に実装できるのです。

(サンプル表示)

準備も簡単です。
『通常表示させたい画像』と『ぼかした画像』の2種類を用意するだけです。

では、手順に沿って実装してみましょう。

(1)jQuery公式サイトより、jQuery本体をダウンロードします。
 http://jquery.com/download/
01

(2)Crossfade.jsをダウンロードして解凍します。
 https://github.com/mikefowler/crossfade.js
02

(3)(1)と(2)でダウンロードしたjsファイルをscript要素で読み込みます。
 (今回のサンプルはHTMLと同じ階層に配置しています)

必要なjQueryの読み込みは以上です。
次は使い方を見ていきましょう。

(4)ぼかしを適用させたい要素をセレクターで指定し、crossfade()メソッドを呼び出します。
 下記は「.cf」というクラスで指定しています。

(5)画像に効果を適用させたい箇所をdiv要素で囲み、クラス「.cf」を追加します。

(6)『通常表示させたい画像』の画像のパスを「data-crossfade-start」に、
 『ぼかした画像』の画像のパスを「data-crossfade-end」にそれぞれ指定します。

(7)CSSは、画像を表示する要素にpositionプロパティのrelativeを指定します。

以上です。
これだけでスクロールすると徐々にボケる効果が実装できてしまうのです。
簡単ですよね!

基本的な動作以外にも色々なオプションが用意されておりますので、
試してみてくださいね。

また、MITライセンスですので、著作権表示は削除しないようにしましょうね。


カテゴリー: Webデザイン・DTPデザイン プログラム

Swiftにおけるメソッド定義の特徴(他言語との違い)

mobile-616012_640

プログラムを制作する上で欠かせないといっても過言ではないメソッド。

Swiftにおけるメソッドも、他のプログラム言語と同様に「引数」も「戻り値」が存在していますが、引数の数によってメソッドを呼ぶ形式が少し変わったり、「ラベル」という見出しを付けた引数を定義したりすることもできます。

今回はそういった、Java、Cなどのよく使われる言語でのメソッドと、Swiftのメソッドの異なる箇所を解説します。

メソッド定義の基本形

まずは基本的なメソッドの定義方法から見ていきましょう。

img01

特徴1.引数が複数ある場合のメソッドの呼び出し方

引数が複数ある場合、引数同士の間を「,(カンマ)」で区切るという部分は他の言語と変わりありません。
ただし、呼び出しの記述は引数が一つのみの場合と少し異なります。

img02

特徴2.ラベルつき引数

メソッドに引き渡す値が何のためのものかがわかりやすいよう、引数に対して呼び出しの際に利用できる項目名を定義することができます。これを「ラベル」といいます。

img03

特徴1の「引数名:値」の渡し方と似ていますが、ラベルの場合は引数が何個あったとしても、必ず「ラベル名:値」にしなければいけない、つまり引数が一つの場合であったとしてもラベル名が必要になるところが違います。また、ラベルをつけた場合、ラベル名の指定を省略した呼び出しはできません。

例えば四角形の面積を計算するareaというメソッドがあったとします。
高さと幅を引数で渡す場合に、widthとheightというラベルを引数に定義してみましょう。

例)areaメソッドを定義する

※IntはSwiftにおける整数の型です。

val1は第一引数を受け取る変数名(引数名)で、widthはそのラベルです。
val2は第二引数を受け取る変数名(引数名)で、heightはそのラベルです。
ansという変数にval1とval2の計算結果を代入し、returnで戻り値として戻します。

例)areaメソッドの呼び出し

width、heightといったラベルを指定して引数を渡しています。
このようにラベルを使うことで、第一引数が幅、第二引数が高さというのがわかりやすくなりました。

Swiftは今までiPhoneアプリの開発に使われてきたObjective-Cよりも、他のプログラム言語をベースにした理解がしやすい言語仕様となってはいますが、今回ご紹介したメソッドの特徴以外にも、Swift独自の記述方法はいくつかあります。
言語の違いを比較するのもよい学習になりますので、是非調べてみてください。


カテゴリー: プログラム

Swift オプショナル変数の使い方

mobile-791164_640

オプショナル変数の特徴や使い方を紹介した記事です。

環境(以下の環境で動作確認をしています)

  • OSX Yosemite
  • Xcode6.1

変数の種類

Swiftで扱える変数の種類はいくつかありますが、通常のデータ型を決めて変数を宣言する方法を確認していきます。

例)

・特徴として、nil(何もない)を代入することができません

次にオプショナル変数を宣言する方法です。

例)

・変数の宣言時に、データ型の後ろに「?」をつけるとオプショナル変数となります。
・特徴として、変数の型がもつ通常の値に加えて、nil(何もない)を代入することが可能です。

オプショナル変数の使用方法

オプショナル変数に代入した値を使用する際には、変数名の後ろに「!」をつけて使用します。これをアンラップと呼びます。

例)

・中身が何もない(nil)の場合、実行時エラーが発生するので注意が必要です。

例)

オプショナルバインディング

・「値がnilではないという判定と、アンラップして別変数への代入を同時に行うこと」ができます。これを、オプショナルバインディングと呼び、オプショナル変数を扱う際に、実行時例外を起こすことなく安全に使用することができます。

例)

オプショナル変数を使用する基準

・いつ使用するべきなのか、慣れるまで判断し難い所がありますが、ポイントとして、Swiftで予め用意されている、クラスのメソッドを使用する際に、戻り値のデータ型に「?」が付いている場合はオプショナル変数を使用してください。
たとえば、ユーザーが画面に入力した値を計算の値として利用したい場合下記のようなプログラムとなります。

例)

・toInt()メソッドは数値型に変換できなかった場合にnilを戻します。ユーザーが間違って数値に変換できない値を入力した時は、nilが戻るため、nilを代入できるオプショナル変数を使う必要があります。

オプショナル変数を使用する際は、予期せぬエラーが出ることを防ぐ為にも、適切にオプショナルバインディングを使用してプログラムを組み立てて下さい。今回は基本的な扱いを紹介しましたが、より実践的な使用方法に関しては、iPhone講座の内容で説明しています。


カテゴリー: プログラム

変数の適用範囲

laptop-340721_640

Excel VBAでの変数の適用範囲について記載します。
変数は、宣言した場所によって利用できる適用範囲が決まっています。

① プロシージャ内だけで使用できる変数

プロシージャ内で作成された変数は他のプロシージャでは使用ができません。
サンプルで確認しましょう。
img1

sample1プロシージャでmessage変数が使用できています。
img2

sample2プロシージャを実行するとエラーになります。
img3
sample1プロシージャ内で宣言したmessage変数をsample2プロシージャで使用しているのでエラーになります。

② モジュール内の全てのプロシージャ内で使用できる変数

モジュールの宣言セクションでPrivate宣言された変数はモジュール内の全てのプロシージャで使用できます。
サンプルで確認しましょう。
img4

sample1プロシージャ、sample2プロシージャでmessage変数が使用できています。
img5

img6

③ 全てのモジュール内で使用できる変数

モジュールの宣言セクションでPublic宣言された変数は全てのモジュール内で使用できます。
サンプルで確認しましょう。
img7

sample1プロシージャ、sample2プロシージャ、sample3プロシージャで変数が使用できています。
img8

img9

img10

変数の適用範囲と宣言する場所をまとめた表になります。

変数宣言 宣言する場所 適用範囲
Dim 変数名 As 変数の型 プロシージャ内 プロシージャ内
Private 変数名 As 変数の型 宣言セクション モジュール内の全てのプロシージャ
Public 変数名 As 変数の型 宣言セクション 全てのモジュール内

今回ご紹介した内容はExcel VBA Standard試験対策の範囲となります。


カテゴリー: Office プログラム

セミナー活用のススメ

window-770535_640

こんにちは。
KENスクールセミナー運営担当の今井です。

第1回目である今回の記事では、セミナーに参加した事がない方に向けて
上手なセミナー活用術についてお届けしていきます。
セミナーの入門書だと思ってご覧ください。

まずはじめに

「現在の仕事でスキルアップが必要」
「マルチに活躍できる社会人になりたい」
「年収UPのために転職したい」

目的は様々ですが、KENスクールにはビジネススキルを磨くために毎月たくさんの方が来校されます。私は入学を検討されている方の相談にのらせていただく事も多いのですが、何かしら現状に対してもどかしい気持ちを抱えていらっしゃいます。そんな方々に「ビジネススキルを磨くとつまらないなと思っている仕事も楽しくなってきたりしますよ」とお伝えしつつ、目的に合わせたアドバイスをさせていただいています。

皆さんが学んでいる姿を見ると、私も負けてはいられないなとやる気が出ます。

ただ、何かを始めてみたいと思う方でも
「仕事が忙しくてなかなか通う時間がない」
「スクールに通うには、まとまった金額が必要なので難しい」
「いきなりスクールに入学するのは心配」

などの理由ですぐに一歩を踏みだせない方も多いのではないでしょうか。

そんな方にお勧めなのが、セミナーへの参加です。
1日完結で低価格、スクールの雰囲気も味わう事ができますよ。
内容も豊富ですし、気軽に参加してみませんか?

この後は「そもそもセミナーって?」「参加するメリット」「受けたいセミナーを見つけるためには」についてまとめていきます。

そもそもセミナーって?

セミナーとは、講師が特定テーマについて行う講義、演習の事を指します。
主催者ごとに内容は様々で、色々な所でほぼ毎日なにかしらのセミナーが開催されているといってよいでしょう。最近は参加条件のないセミナーが多く、どなたでも気軽に参加出来ます。

セミナーに参加するメリット

メリット1.人脈が広がる

最近は交流会や名刺交換会付のセミナーも増えました。社外の人と知り合う事でビジネスマンとしての視野が広がり、柔軟な視点を持つ事にも繋がります。学ぶだけでなく人脈も広げたい!と思っていらっしゃる方には交流会付きセミナーが特にお勧めです。講義のみの参加でも休憩時間やランチタイムに交わす会話から交流が深まり、楽しく学べます♪
セミナーがきっかけで仕事上のパートナーになるケースも。セミナーは色んな意味で仕事に活かせます。

メリット2. 新しい技術やトレンドをつかめる

特にIT業界は毎年変化がめまぐるしいので、学ぶことは絶えないですね。
セミナーに登壇する講師ともなれば、その道を極めた人がほとんどです。
現場を知っているプロから最新の小ネタを聞ける事が多いので、情報収集の場としても活用出来ます。

メリット3.好きな内容を効率的に学べる

新しい事を学ぶのって時間も労力もがかかりますよね。
短時間でプロが要点をおさえて教えてくれるセミナーは、忙しい方にお勧めです。
学びたいテーマをその道のプロが要点をおさえ効率よく教えてくれます。
単発セミナーで学びたい内容の一部しか網羅していない場合もありますが、学び方を体感出来るので、セミナー後に自己学習する上での学習効率がUPします。
また、プロならではの技術的なテクニックや実案件を元に教えて貰える事は、セミナー参加者への特典のようなものです。

受けたいセミナーを見つけるためには

■IT系やビジネススキルを身につけるためのセミナーなら下記の3つがお勧め!!!

Street academy(ストリートアカデミー)

https://www.street-academy.com/
Street
100種類以上のジャンル、3,200件以上の講座数を誇るサイトです。
先生や企画、地域ごとに受けたいセミナーが選べます。

ATND(アテンド)

https://atnd.org/
ATND(アテンド)
知名度No1。リクルートが運営するイベント運営者、参加者のためのサービスです。
無料~数千円と参加しやすい価格帯のIT系セミナーが豊富です。

Doorkeeper(ドアキーパー)

https://www.doorkeeper.jp/
Doorkeeper(ドアキーパー)
Web、プログラミング系の学習を提供しているコミュニティが多数参加しています。
学ぶだけではなく、人脈を広げたい方にもお勧めです。

■趣味感覚のセミナーやちょっと変わったセミナーの紹介

企業開催のおいしく学べるお得なセミナー(Neverまとめより)

http://matome.naver.jp/odai/2136495244578489701
気軽に趣味感覚で参加できるのが嬉しい。食べて学んで一石二鳥です。

大人の色気セミナー

http://www.nanaokazaki.com/otona.html
ちょっぴり参加しづらいネーミングではありますが…笑
これであなたの人生が変わるかも!?

デジタル一眼カメラαcafe体験会

http://acafe.msc.sony.jp/a-event/index.html?area=all
最近は綺麗な写真を撮ってinstagramに投稿する事が趣味の方も多いみたいです。
ワンランク上の撮影テクニックを身に付けたい方にお勧めです。

そして!KENスクールでもセミナーは随時開催されています。
http://www.kenschool.jp/seminar/
始めての方でも安心してご受講いただけるセミナーが多数ありますよ♪

いかがでしたか?
皆さんもセミナーを活用し、楽しくスキルアップしましょう!!!

この記事に関連する講座

セミナーで知りたいスキルをチョイス!

詳しくはこちら


カテゴリー: Office Webデザイン・DTPデザイン ネットワーク プログラム

C++の紹介2【中級者向け】

https---www.pakutaso.com-assets_c-2015-06-LISA78_MBAsawaru20141018102912-thumb-1000xauto-17983

一般的に難しいといわれているC++を紹介した記事です。
基本文法や変数、オブジェクトの概念を習得済みの中級者向けの記事です。

前回は、C++でのオブジェクトの取り扱いについて紹介しました。Javaとは異なり、代入は実体のコピーであるという内容です。
今回は、その代入(データのコピー)についてもう少し詳しく見て行きます。

前回同様、上記のクラスを使って話を進めて行きます。

このプログラムの実行結果は、画面に100と表示されます。イコール演算子による代入でm1の内容がm2にコピーされたからです。
それでは今回の本題ですが、イコール演算子を使用しない場合でも代入が行われる(代入と同じくオブジェクトがコピーされる)場合があります。それはどのような時でしょうか。

それは、関数(メソッド)を使ってデータをやり取りした場合です。

オブジェクトを使わない、単純なデータ型でのサンプルコードで見て行きましょう。

func()関数はint型を受け取り、int型を返す関数です。関数内で変数argに100を加算していますが、変数valには影響しません。
このとき、変数valから変数argへ、変数retから変数ansへ、関数内では変数argから変数retへ、データが受け渡されています。特に意識していなかった人も居るかもしれませんが、この引数および戻り値のやり取りもデータのコピーが行われているのです。

それでは、オブジェクトを使った関数の例を見て行きましょう。

このときも、変数valから変数argへ、変数retから変数ansへ、関数内では変数argから変数retへ、データが受け渡されており、それぞれの場所でデータのコピーが行われています。

今回、Myclassはサンプルとしてのクラスなので、int型変数を一つと、それに関する関数を三つ持っているだけですが、実際には多くの変数や関数を含むクラスになります。
そのときに、関数に渡すたびにコピーをしていてはメモリの無駄ですし、コピーをする処理の時間も無駄です。

Javaではこのような書き方をしたとき、オブジェクトの参照情報のコピーを渡すので、実際にオブジェクトに含まれるデータのコピーは作成されません。C++ではデータのコピーを作らず、そのデータの場所の情報を受け渡すときはポインタを使います。(参照渡しというのもありますが、それは別の機会に。)

下記のサンプルはデータのコピーを作らない、ポインタでのデータのやり取りです。

表示結果は一つ前のサンプルと同じですが、データをコピーしていない点で異なります。
main()関数の最後の行を val.printValue(); としても同様の結果になります。

Javaではオブジェクトの受け渡しは参照型のみで行われますが、C++では標準的には実体のコピーで行われ、ポインタを使うことでJavaの参照情報のやりとりと同様のことができるようになります。


カテゴリー: プログラム

Androidで設定用画面を作成する方法

android-604356_640

PreferenceActivityの使い方について記載します。
アプリケーションで設定情報などをユーザーがカスタマイズ出来るように設定用画面を設けることがありますが、PreferenceActivityクラスを利用すると簡単に実装ですることができます。

1. 設定用画面のxml作成

通常のActivityクラスで利用する画面のレイアウト用のXMLと違いPreferenceScreen要素が必要になります。
xmlファイルはresフォルダ配下にxmlフォルダを作成し保存します。

img1

CheckBoxPreference(4行目)
チェックボックスでon/offを選択するような設定項目に利用します。

img3

android:title(5行目)は設定画面に表示される文字です。
設定情報はキーと値で保存されますが、6行目のandroid:key(6行目)で指定した値がキーになります。

EditTextPreference(7行目)
自由に文字列を入力可能な設定項目に利用します。

img4

8,9行目に関する設定はCheckBoxPreferenceと同じです。

2. 1.で作成したxmlをクラスに読み込む

addPreferencesFromResourceメソッドで先ほど作成したxmlを読み込むことができます。

入力した情報やチェックした情報は自動的に保存されます。

img6

保存された情報は以下の場所にxmlファイルとして作成されます。
「data/data/パッケージ名/shared_prefs」

img7

今回はEditTextPreferenceとCheckBoxPreferenceを利用しましたが、他にもリストで選択項目を選べるものもあるので試してみてください。


カテゴリー: Webデザイン・DTPデザイン プログラム

Javaでの正規表現(中級者向け)

letters-718846_640

Javaにおいて、ある文字列と文字列の一致を確かめるには、Stringクラスに定義されているequals()メソッドを使います。
しかし、それは文字列同士の完全一致の判定しか行う事ができません。

では文字列の部分一致、例えば ”h” から始まる文字列を調べるには、どのようにしたらよいでしょうか。
一言で ”h” から始まる文字列といっても “hello”, ”happy”, ”hot”, ”honey”, ”hawaii” …のように数多く存在します。

その条件、今回でいうところの『 ”h” から始まる文字列』を一つのパターンとし、それを表現する方法が正規表現です。

正規表現の使用方法

正規表現で『 ”h” から始まる文字列』を表すと、 ”h.*” のようになります。
ここで使用されている ”.” や ”*” はメタ文字と呼ばれるもので、プログラムの中で特別な意味を持った文字のことです。

例えば ”.” は、任意の一文字を表しています。アルファベットや数字、ひらがな漢字カタカナなど何らかの文字という表現になります。
そして続く ”*” は、直前の表現の0回以上の繰り返しを表します。こちらは ”*” の前に書かれたもの、今回で言うところの ”.” の繰り返しが0回以上続く、つまり ”h.*” という表現では、 ”h” の後に何らかの文字が0回以上続く文字を表しています。

これにより ”h.*” は ”hello” や ”happy”、極端にいえば ”h” 一文字だけという文字列も表現する事ができるのです。

この正規表現を使って文字の部分一致を判定する事を、「文字列のパターンに一致する」「パターンにマッチする」等と言います。

では、先程の例文字列 ”h.*” 一致するコードに表してみましょう。

コードの解説です。
まず1行目で、文字列 ”hello” を変数strに格納しています。Patternオブジェクトのcompile()メソッドの引数に、正規表現を表す文字列パターンregexを渡して、正規表現を保持するPatternクラスのオブジェクトを生成しています。

4行目にPatternオブジェクトのmatcher()メソッドの引数に、判定対象となる文字列strを渡してマッチングしています。ここで引数に渡された文字列が正規表現パターンとマッチしていたら、Matcherオブジェクトとして取得されます。

6行目のif文の条件でMatcherオブジェクトのfind()メソッドが呼び出されています。
find()メソッドは、マッチした文字列があればtrueを、マッチした文字列が無ければfalseを返します。

8行目では、マッチした文字列の取得を行っています。

このように正規表現をJavaプログラム内で使用できる形式に変換するPatternクラス、指定されたパターンを使ってターゲットの文字列に対して様々な操作を行うMatcherクラスのメソッドを使い、特定の文字の正規表現を行う事が出来ます。
これらを使い名前の一致やURL、E-mailアドレスのパターンを表現し、文字列検索や文字の置き換えなどを行っていく事が可能になるのです。

その他の代表的なメタ文字例

直前の表現1回以上の繰り返しにマッチする。
直前の表現0回か1回にマッチする。
行頭にマッチする。
[ ]の中で使用した場合には、「以外」という意味になる。
行末にマッチする。
orの意味になり、この文字の左か右の文字にマッチする。
{ } 直前の表現の繰り返し回数を表す。{n}はn回、{n,}はn回以上、{n,m}はn回以上m回以下の繰り返しにマッチする。
[ ] [ ]内の1文字にマッチする。
( ) 表現内でのグループを作る。また、マッチした値を順番に取り出すことができる。
\ メタ文字を単なる普通の文字とし検索したい場合、メタ文字の前にこの記号を前に付けることで、メタ文字としての機能を打ち消し、表示不可能な文字や特定の意味を持った文字の集合にマッチする。
例:”\+”,”\?” など

また、Javaでは “\” をエスケープ(特殊な記号の前に記述して後に続く文字を認識させるための記号)として利用することがあります。 “\” を用いた正規表現での特殊文字についても確認しておきましょう。

\c{x} CTRL-“x”に該当するコントロール文字にマッチします。
xは大文字のXでも構いません。
\f フォームフィードにマッチします。
\n ラインフィード(改行コード)にマッチします。
\r キャリッジリターン(改行コード)にマッチします。
\s ホワイトスペース(空白・ラインフィード・キャリッジリターン・タブ・垂直タブなど)にマッチします。(”[\f\n\r\t\v]”とした場合と同じです。)
\S ホワイトスペース以外の文字にマッチします。(”[^\f\n\r\t\v]”とした場合と同じです)
\t タブにマッチします。
\v 垂直タブにマッチします。
\x{n} 文字コード”n”で表される文字1文字にマッチします。(”\x20”はスペースになります。)

なお、ここでご紹介したものはほんの一部です。
気になったパターンがあったら”正規表現 パターン”等で検索をかけてみましょう。


カテゴリー: プログラム

Swiftにおける変数・定数の扱いについて

f91fad8e08b2e43f5d7fe7e698afc8d6_s

変数・定数とは?

「変数」「定数」とは、プログラムの中で利用する値(データ)を保管するためのもので、イメージとしては値を格納するための「箱」です。
何度も利用する値や、状況によって変動する値は、この「箱」を使って管理します。

img1

Java・C言語・PHP・JavaScriptなど、様々なプログラム言語がありますが、どのプログラム言語にも変数は存在しています。

変数と定数の違い

値の上書きが可能な箱のことを「変数」といいます。「変わる数値」ですね。
例)クイズの正解数、通行人の計測数、日直の名前

一度入れた値の上書きが出来ず、固定の値を入れる箱のことを「定数」といいます。「定まった数値」ですね。
例)円周率、消費税率、都道府県の名称

数学の授業では、値を文字に置き換えて計算する「代入」をやりました。

例) X = 3    ※Xに3を代入
   Y = 5    ※Yに5を代入

この代入の後では、Xは3として、Yは5として使っていくことができます。
「X × Y × X – X」の式は「3 × 5 × 3 - 3」として計算されますよね。

img2

変数はこの「X」や「Y」のようなものです。変数に値を格納することも同じく「代入」といいます。

Swiftでの変数・定数の作り方

では、Swiftでこの箱を作るための書き方をみていきましょう。

変数
  var 変数名:型
定数
  let 定数名:型

「var」は「変数を作ります!」という宣言文です。
「let」は「定数を作ります!」という宣言文です。

「変数名」「定数名」にはそれぞれ「箱の名前」が入ります。

「型」は英語に直すとtypeです。つまり、値の種類(データのタイプ)のことを表しています。「箱がどんな値を格納するのか」を設定するための情報です。

格納したい値が整数ならば「Int」、小数ならば「Double」、文字ならば「String」という型を使います。型は他にもさまざまな型が存在しています。

箱に設定したものと違う型のデータを箱に代入すると基本的にはエラーになるので注意しましょう。

変数の作成例
  var count:Int

※countという名前でInt型の値を入れる箱(変数)を作成

変数へ値の代入
  count = 5

※宣言した変数countに5を代入

定数の作成例
  let name:String

※nameという名前でString型の値を入れる箱(定数)を作成

定数へ値の代入
  name = “斎藤”

※宣言した変数nameに”斎藤”を代入

変数も定数も、宣言と同時に値を入れることができます。このときの値を初期値といいます。

変数の初期化
  var count:Int = 5

定数の初期化
  let name = “斎藤”

img3

型推論

変数や定数は型を指定して宣言する(作成する)と前述しましたが、宣言と同時に値を代入する場合は、型の指定を省略することができます。
これは、代入された値の種類からSwiftが型を推測して、変数の型を自動で設定してくれるためです。これを型推論といいます。

型推論を利用した変数宣言
  var count = 10

※型の指定の記述が省略されているが代入されている値が整数のため型を推測してInt型の変数にしてくれる

型推論は宣言と代入を同時に行う場合のみ行われます。宣言の記述と代入の記述を二行に分けて書く場合は使えませんので注意しましょう。


カテゴリー: プログラム

C++の紹介【中級者向け】

work-731198_640

一般的に難しいといわれているC++を紹介した記事です。
基本文法や変数、オブジェクトの概念を習得済みの中級者向けの記事です。
今回は、特に習得率の高そうなJavaに置き換えながら、C++でのオブジェクトの扱いについて、注意をしなければいけない点について解説します。

クラスの定義

まずはクラスの定義からです。このクラスを使って話を進めて行きます。

①Javaでのimportとpackageのようなものです。
②C++のクラス内の定義はデフォルトでprivateです。
③この記述以降はpublicになります。
④C++ではこのような書き方でメンバ関数(メソッド)を定義することはあまりしませんが、Javaの表記に近づけるためにこのような書き方をしています。

main関数

次に、main関数です。

①C++の場合はこの記述だけでオブジェクトが生成されます。
②オブジェクトm1のメンバ変数に10が代入されます。
③Javaではこのような記述をした場合、参照のコピーになりますが、C++ではオブジェクトの内容のコピーになります。
④③の代入の結果、m1,m2ともに10と表示されます。
⑤②と同じく、オブジェクトm1のメンバ変数に30を代入しています。
⑥m1は⑤の結果、30と表示されますが・・・
⑦m2は10と表示されます。これは、m1とm2が別のオブジェクトだからです。

ポインタ

Javaの参照のコピーのような動きにしたい場合はポインタを利用します。

①C++でのインスタンス化の記述方法はいくつかありますが、Javaに近い形にするならこのような形でしょうか。2つのオブジェクトを生成し、それぞれ、p1,p2で扱おうとしています。
②ポインタ変数からメンバ関数(メソッド)を呼び出す際はアロー演算子(->)を使います。
③ここでp2に代入されるのはp1のアドレス情報です。p2も①-aで生成したオブジェクトを扱えるようになりました。
④p1,p2ともに10と表示されます。
⑤p1から30をセットしています。
⑥p1,p2ともに30が表示されます。

これでめでたしめでたし・・・とはいきません。
①-bで生成したオブジェクトはどこへ行ってしまったのでしょうか?
Javaにはメモリの自動開放機能がありますが、C++にはありませんので、メモリ上に残ってしまいます。
今回は短いプログラムで、すぐに終了するので害はありませんが、たとえば24時間動き続けるシステムで、繰り返しこれをやってしまうとどうでしょう。メモリが開放されずにどんどん消費され、システムが停止してしまうかもしれません。

このあたりがC++は難しいと言われている原因の一つだと思います。
他にも、他言語では自動でやってくれることを、C++では自分で書かなければいけないことがあります。しかし、「自分で記述することができる」とも言い換えられます。
細かなメモリ管理をしなければいけないが、細かなメモリ管理をすることができる。C++とはそんな言語なのです。


カテゴリー: プログラム

ADOを使用してAccessデータをExcelに取り込む【中級者向け】

kave-638249_640

今回はADOを使用してAccessのデータをExcelに取り込む方法をご紹介します。
環境は、Access2010とExcel2010。
取り込むAccessのファイル名は「顧客管理.accdb」、保存先はCドライブの直下のAccessフォルダの中です(C:\Access\顧客管理.accdb)。

動作イメージは以下のとおりです。
Accessの「T_顧客リスト」テーブルのデータをExcelに取り込み、「顧客リスト」シートに表示させます。

Accessの「T_顧客リスト」テーブル
image1

Excelブックの「顧客リスト」シートimge2-3

ADO(ActiveX Data Object)とは

Accessだけでなく、Oracle、MySQLなどの様々なデータベースに対して共通の手法で操作が出来る仕組みです。ExcelからADOを使用するためには、参照設定が必要です。
事前準備としてVBEの「ツール」メニュー → 「参照設定」をクリックし、「参照設定」ダイアログボックスを表示し、「Microsoft ActiveX Data Objects X.X Library」にチェックを入れます(X.Xはバージョン)。

サンプルコード

コード解説

1. Accessデータベースに接続します。

Accessデータベースへ接続するには、ConnectionオブジェクトのOpenメソッドを使用します。接続文字列内の「Data Source」には接続するAccessファイルのパスを記述します。

2. ConnectionオブジェクトのExecuteメソッドを使用して、レコードセットを取得します。

今回は「顧客管理.accdb」の「T_顧客リスト」テーブルに対して、「性別」列の値が「女」の行を取得する問合せを発行しています。

3. 問合せの結果をExcelの「顧客リスト」シートに出力します。

今回は2行目から出力します。

4. データベースを切断します。

Closeメソッドを使用し、レコードセットとConnectionオブジェクトを閉じます。
また、それぞれの変数に「Nothing」キーワードを代入し、オブジェクトへの参照を解除します。

以上、今回はADOを使用してAccessのデータをExcelに取り込む方法でした。


カテゴリー: プログラム

iPhoneアプリ開発 Auto Layoutの使い方【初心者向け】

iphone-393080_640

Auto Layoutによる簡単なUIパーツの配置の仕方を初心者向けに紹介した記事です。
今回は、Auto Layout機能を使用して画像を画面の中心に配置する方法を紹介します。

環境(以下の環境で動作確認をしています)

  • OSX Yosemite
  • Xcode6.1

Auto Layoutとは

画面サイズや向きの違いにも、柔軟に対応したレイアウトを作成することができる機能のことです。

今回使用する画面レイアウト

dog1

Storyboardのデフォルトの配置位置について

今回の画面レイアウトはStoryboard上で下記のように「Image View」を使って画像を設定しています。
画面右上の画像の配置位置を見ると、x座標「0」 、y座標「0」 、Width(幅)「375」、Height(高さ)「400」で設定しています。Storyboardで設定したデフォルトの配置位置は絶対指定となります。

dog2
つまり、画面サイズが変わっても、横向きにしても同じ配置位置となり、見た目の印象や操作感が変わってしまう可能性があります。(画面サイズによっては、UIパーツが消えてしまうこともあります)

(横向きの例)
dog3
そこで、使用するのがAuto Layoutの機能です。

Auto Layoutの設定方法

今回は画面の中央に画像を配置する設定を行います。まずは、対象であるImage Viewを選択します。
Auto Layoutの設定は、Storyboardの画面右下にあるメニューから選択します。

dog4

色々な設定方法がありますが、今回は一番左にあるAlign(整列)設定を行います。ボタンをクリックすると色々な項目が出てきます。
Horizontal Center in ContainerとVertical Center in Containerの左側にあるボタンをチェックして、有効にします。
Horizontal Center in Containerは、選択したUIパーツとコンテナ(画面)との水平方向の中心位置を揃えます。
Vertical Center in Containerは、選択したUIパーツとコンテナ(画面)との垂直方向の中心位置を揃えます。
設定が終わったら、Add Constraintsのボタンをクリックして確定します。

確定をしても、Storyboard上では、画像が真ん中に配置されず、変わりに赤い点線や黄色い線が付きました。Auto Layoutの設定をしても、Storyboard上では自動で反映されないため手動で更新します。
※この段階でも、実行してアプリを起動すると、真ん中に表示されます。
更新するためには、画面右下にあるメニューの右から2つ目のボタンをクリックします。

dog5

表示された項目の中から、「Update Frames」を選択し、Alignで設定した内容をStoryboard上で反映させます。

赤い点線や黄色の線が消え、青い線だけが残ります。青い線はAuto Layoutの設定を表しています。

dog6
これで、Storyboard上でのレイアウトと、アプリ実行時のレイアウトが同じになります。そのままでも構わないのですが、編集が紛らわしいので忘れずに行いましょう。

最後に動作確認を行いましょう。

動作確認

dog7dog8

今回の設定で画像はどのような画面サイズであっても中心に配置されるようになりましたが、実際のアプリ開発での画面は様々なUIパーツで構成されることになるので、より複雑な設定が必要となります。詳しくは、iPhone講座の内容で説明しています。


カテゴリー: Webデザイン・DTPデザイン プログラム

JavaScriptで画像を変更する方法【初心者向け】

children-593313_640

今回は、JavaScriptで画像を変更する方法について解説します。
JavaScriptはWebブラウザとテキストエディタがあれば特別な開発環境がなくても開発することができます。

画像とボタンを表示させよう

まずは、画像とボタンを画面に表示しましょう。
画像を変更するimgタグにid属性を指定するところがポイントです。

グー

画像を変更する書き方

次に、画像を変更する書き方を説明します。
JavaScriptで画像を変更するときは、下記のように書きます。

下記のようなimgタグの画像を「images/gu.jpg」から「images/choki.jpg」に変更したい場合は、「imgタグのid属性」に「janken」を指定し、「画像のパス」に「images/choki.jpg」を指定します。

ボタンをクリックした時に画像を変更しよう

JavaScriptでボタンをクリックした時に、画像を変更するなどの処理をさせるためには、下記のように書きます。

最後に、各ボタンをクリックした時に画像を変更できるように追記しましょう。

入力できたら、各ボタンを押して確認してみましょう。

チョキ

パー

グー

今回は、ボタンをクリックした時に画像を変更する方法を紹介しましが、マウスがボタンの上に重なった時や、離れた時に画像を変更させることもできます。
ご自身で調べて、いろいろ試してみましょう。


カテゴリー: Webデザイン・DTPデザイン プログラム

【プログラミング】Javacsript入門におすすめの本3選

programming-593312_640

Javascriptをwebサイトに活用するとサイトを訪れた時間に合わせて自動で挨拶文を表示してくれたり、プルダウンメニューを表示してサイト自体をコンパクトにしたりといったことができます。HTMLサイトでは静的な情報の表示となるのに対し、JSとも呼ばれるJavascriptを使用したサイトでは動的な情報の表示ができるのがメリットですね。
しかし、JSを使うにはプログラミングが必要になり、習得するのはなかなか大変です。そこで、入門者におすすめの本を3つ紹介します。

初心者にもわかりやすいJavascriptの本は!?

Javascript初心者がまず行うべきことはプログラミングの基礎をしっかりと学んで固めることでしょう。コア部分についてきちんと学んでおくと、専門用語が頻発しても理解しやすくなりますし、実際のプログラミングをスムーズに行う上でも役立ちます。コア部分は表現力が豊かな言語であるにも関わらず、シンプルなので入門書などを熟読して理解できるとすんなりとプログラミングができるようになるでしょう。
初心者の方の場合は、まずは入門書から入ることが大切で、読み進めながら実際にキーボードを入力すると理解が深まるのでは?
また、文字だらけでは理解に苦しむ方もいるかもしれませんので、図解入りの本を読むことで素早く理解できるかもしれませんね。

Javascript初心者向けの本3選

Javascriptをマスターしたい初心者におすすめなのが下記の3つの本です。

3ステップでしっかり学ぶ JavaScript入門 (今すぐ使えるかんたんプラス)

著者:大津 真
価格:2,570円
出版社:技術評論社
最もジャバスクリプト入門にふさわしいとして話題の一冊です。支持されているのは例題が実践活用できるような問題になっていることや、説明が明確になっているからです。まだ知識が無い方が基礎の基礎を学ぶためにはおすすめの一冊です。

JavaScriptの絵本

著者:アンク
価格:1,814円
出版社:翔泳社
初心者にとっては文字だけでは理解が難しいこともあるもの。そこで活用したいのがこの一冊です。図や表が用いられていますので、早く深く理解できる期待があります。基礎から応用までの解説が丁寧にされていますが、だからと言って深い知識を得られないということではありませんのでご安心を。

スタートアップHTML5

著者:笠原 一浩
価格:3,024円
出版社:ソフトバンククリエイティブ
HTMLの5入門書という位置づけですが、HTML5だけでなく、CSSやJavaScriptの解説もされています。JSの知識をある程度身に付けた上でさらに実践的な活用を目指す方に適しており、ステップアップしたい方は必読です。

まとめ

いかがでしたでしょうか。
JavaScriptを学ぶにはこれらの本を活用することが初心者には良いかもしれません。空き時間を有効活用して確実に学んでみましょう。
しかし、時間がない、独学では限界があると考える方もいるでしょう。そんな方におすすめなのがKENスクールです。こちらでは必要なスキルをしっかりと習得できるカリキュラムがあります。初心者もプロにするカリキュラムで話題になっています。
将来的にwebデザイナーとして働くことを考えるのであれば、入学を考えるのが良いかもしれませんね。


カテゴリー: Webデザイン・DTPデザイン プログラム

IT系資格でメジャーな資格まとめ

e99ab327553947b1b44ca71dcec95074_s

急成長という言葉が相応しいIT業界。
近年では優れたアイデアを具体的な形にしてユーザーの利便性の向上を図ることが求められています。世の中にこの業界が広まり始めた当初は、アイデアで勝負できましたが、現在ではそれを形にする技術力がなければチャンスを掴むことも活躍することも難しくなっています。

しかし、技術力を高めるためにはどのようにすれば良いのでしょうか?
その答えは難しいものではありません。より深い知識を得ることと、資格を取得することが第一歩です。
そこでIT分野で活躍するためのメジャーな資格をまとめました。

資格の必要性

IT業界では資格を持つことを重要視している企業が増えていますが、その理由の一つにグローバル化があります。海外に進出する企業もどんどん増えていますし、逆に海外から日本国内へとやってくる外国企業もたくさんあり競争が激化しています。そこで勝ち抜くためには何らかの強みを持つことが必要ですから重要視しているのです。

また、多くのIT企業では人材を採用するにあたり、できるだけ優秀な人材が欲しいと考えます。その際の指標の一つに資格があり、就職が有利に進む可能性が高くなります。
採用となって、いざ働くとなれば何らかの強みを持っている人材は重宝されますので、このような業界に進むためには予め関連するものを取得しておけば就職する際の武器となるでしょう。

IT系資格

IT分野で働きたいという場合に役立つ資格は次のようなものがあります。

Microsoft Office Specialist(マイクロソフト オフィス スペシャリスト)

マイクロソフト社のOffice製品の実務スキルを認定する試験で、別名MOSと呼ばれています。
業務上マイクロソフト社のアプリケーションを使用する頻度は高いです。
より深い知識を持っておくと個人のスキルアップにはもちろん、就職や転職においても有利になります。

シスコ技術者認定

世界共通の資格となっていて、シスコシステムズ社というネットワーク関連機器において世界で最も多くのシェアをされている企業が行う試験です。
この資格は5つの認定レベルと6つの分野で構成されており、その一つのCCNAを取得することはネットワーク技術 (TCP/IP) の基本的な力があることの証明と資格となります。

Sun Java認定資格

人気のプログラミング言語として昨今で多く用いられるのがJavaで、これはサン・マイクロシステムズ社により開発された言語です。その特徴がWindowsやUnixなどのOSが違っても使用できるのがメリットとして活用の場が広がっています。Java認定資格はキャリアアップはもちろんですが、就職や転職にも有利になりますし世界に通用する資格としてちゅうもくされています。

まとめ

IT分野での活躍をしたいと考えるのであれば、これらの資格は是非とも取得をしておきたいものです。いずれの資格も独学でやってやれないことはありませんが、より効率的に、より深く学び、しかも短期間でとなれば、やはり専門のスクールに入学することがおすすめです。
KENスクールであれば、これらの資格を取得するためのサポートを得られますし、しかも個別指導がありますので就職・転職に有利になります。
これからIT業界で働くことを希望するのであれば、まずはホームページを確認してみると良いでしょう。


カテゴリー: ネットワーク プログラム

システムエンジニアを目指す人必見!初心者向けガイド

keyboard-428326_640

正規雇用が難しい世の中になり、「将来役立つ何かを身につけたい」や「就活を視野に安定した収入が確保できる資格を取りたい」と考えている方も多いのではないでしょうか。人に必要とされる、やりがいのある仕事をしたいと考えている方も多いかもしれません。

さて、IT業界用語の「システムエンジニア」と「プログラマー」という言葉を耳にした事がある方も多いと思いますが、その違いをご存知ですか。

システムを設計し全体を把握管理し設計書を作る人がシステムエンジニアで、システムの設計書からプログラムを作る人がプログラマーと呼んでいます。
建設業で例えると、建築家と大工というイメージではないでしょうか。ここでは初心者向けのガイダンスとしてご活用いただければ幸いです。

システムエンジニアの仕事内容

システムエンジニアは「SE」とも呼ばれ、その仕事内容はシステム開発やソフトウェア開発の企画、設計をはじめ、クライアントとの折衝や制作の進捗管理まで、開発プロジェクト全般を把握し、プログラマーを管理しながら完成形を作り上げるというリーダー的存在です。
一般的に、PCに向かってひたすらお仕事をしている印象がありますが、クライアントのニーズに合わせ最適なシステムを開発する必要があり、まずクライアントの要望や現状の問題点を的確に捉えること、そしてハードウェア、ソフトウェアなどコンピュータ全般の知識やプログラミングのスキル、そして新しい提案をクライアントに説明するプレゼンテーション能力やコミュニケーション力も求められます。

具体的に開発された商品を目にする事は難しいですが、携帯電話の支払いシステム、コンビニのレジや銀行のATM、鉄道や飛行機の運航管理など、あらゆる分野でシステムエンジニアが開発した最新技術は日常生活の中で日々活躍しています。
IT化、情報化が進む現代社会では、どの分野においてもより高度なシステムや製品開発が求められており、システムエンジニアの分野は将来有望な職種と言えるでしょう。

システムエンジニアの必要な知識・スキル

システムエンジニアになる為に必要な資格はありません。
しかしながら、IT機器を駆使する仕事であるので、コンピューター全般に関する幅広い知識や専門的なスキルが必要となってきます。
また、システム開発のリーダーとして、コミュニケーション能力の高さも重要な資質として求められます。
さらには、クライアントへのプレゼンテーションから始まり、必ず発生するといっても過言ではないトラブル対応、問題解決能力が必要になってきます。

問題点をしっかりと見つけ出し、その解決策を見いだせる能力や、相手が求めているものを読みとれる能力が備わっていれば、実務がよりスムーズになり、信頼の厚いシステムエンジニアとして認められるようになります。
必要な知識・スキルは一言では表せませんが、専門的なスキルにとどまらない、社会人としての資質を問われる職業なのです。

とっておきたい資格

システムエンジニアがとっておきたい資格はいくつかあります。
IT系の関連資格として、経済産業省が実施する国家試験やマイクロソフトなどが主催する民間の資格など、様々な種類の資格試験が存在します。
中には、世界共通の資格として認定されていたり、公的な評価基準として定着している資格もあるため、取得しておくと就職や転職に有利になります。
IT系の専門学校や大学では、在学中にこうした資格を取得してから就職に臨むケースが一般的ですが、先にシステム開発会社などに就職し、入社後に資格取得を目指す人、またそれを必須としている企業もあります。

試験の種類や難易度も幅広くあるため、自分が目指したいと感じる目標を決めてチャレンジするとよいと思います。


カテゴリー: ネットワーク プログラム

もっと楽しいスマホライフを!オシャレ&便利なスマホ関連機器

もっと楽しいスマホライフを!オシャレ&便利なスマホ関連機器

いつも持ち歩いているスマホ。その充電器や、専用のUSBケーブルもいつも持ち歩いている、という方も多いのではないでしょうか。

そこで、毎日使うカバンや小物と同じように、充電器やUSBケーブルなどのスマホ関連機器も、オシャレなものを使ってみてはいかがでしょうか。おススメのオシャレ&便利なスマホ関連機器をご紹介します。

ブレスレット型USBケーブル「Mohzy(モジー)

ブレスレットにすることができるオシャレなUSBケーブルです。マグネットになっているコネクター部分をくっつけて、ブレスレットにします。カバンや冷蔵庫に取付けることもできます。ブレスレットとして携帯していれば、外出先でパソコンを使っているときに、その場ですぐにスマホと接続することができます。

全部で33パターンのデザインがあり、長さは約26cmと外出先でコンパクトに扱えるようになっています。

1.Mohzy Loop
Mohzy Loop 商品詳細(INNOVA GLOBAL)

巻取り型充電器「itomaki(イトマキ)」

名前のとおり、糸を巻き取るミシンの「糸巻き」の形をまねた、オシャレな充電器です。ケーブル部分を巻き取ることができるので、煩わしいケーブルの絡まりがなくなります。35gと軽く、コンセントの差し込み部分を折りたためるので、携帯にも便利です。全長1.5mのケーブル部分は、巻き取ってその長さを調節することができます。白、グレー、青、ピンク、緑の5色展開で目にも優しい色使いです。

2.Itomaki
itomaki AC Adapter(SoftBank SELECTION ONLINE SHOP)

2台同時に充電ができるバッテリー「MOONSTONE Power Bank Series

2つのUSBポートが付き、2台同時にUSB機器を充電できるバッテリーです。1回の充電で、スマホ2.6回分のフル充電が可能です。従来のリチウムバッテリーより耐久性・耐熱性に優れ、重量も軽い、リチウムイオンポリマーを使用しています。専用のフェルト製携帯用ポーチも付いています。

3.Moonstone
【Lepow】 MOONSTONE Power Bank Series 6000mAh(idea4living)

リップスティック型バッテリー「Lip gloss Power bank」

リップスティックのような形とサイズのバッテリーです。各種USB機器の充電が可能で、スマホなら1回のフル充電ができます。外出時に化粧ポーチに入れておけば、スマホの電池切れに備えることができます。

4.Power bank

自分好みのグッズで快適ライフを!

靴やかばん、筆記用具など、普段使いの小物にこだわりを持っている人には、独特のオーラを感じてしまうものです。今や必須アイテムとなりつつあるスマホにも、自分好みの便利でかわいい周辺機器をそろえれば、毎日楽しく快適に過ごせるだけでなく、周りから一目置かれ、仕事ができる女子と思われるようになるかもしれません!

 

この記事に関連する講座

セミナーで知りたい部分をチョイス!

詳しくはこちら


カテゴリー: プログラム

忙しい社会人の方へ!スマホで資格試験の勉強ができるアプリ

photo credit: MSVG via photopin cc

社会人の方でも、TOEICを始め、様々な資格の取得を目指して勉強している方は多いかと思います。

ただ、仕事が忙しくてなかなか勉強の時間が取れず、「結局、十分に勉強できないまま受験してしまった…」というパターンに陥っている方も、いらっしゃるのではないでしょうか。

そこで、通勤や仕事帰り、移動時間などの電車の中で、スマホを使って勉強を進めるというのはいかがでしょうか。各種資格試験向けのアプリや、その勉強に役立つアプリをご紹介します。

TOEIC対策に!「TOEIC(R) TEST実践トレーニング

リスニングからリーディングまで、本試験の全パートに対応しているTOEIC対策アプリ。
“実践”と言うだけあって、問題はテスト出題形式になっています。パートごとの反復練習ができる「トレーニング」と、本試験と同じ形式、同じパートの順番で出題される全20問に解答し、推定スコアが測定できる「実力テスト」で2通りの学習ができます。

旺文社「新TOEIC(R)テストハイパー模試」から500問以上を収録しています。学習結果はホーム画面にあるカレンダーに記録できるため、TOEICの本試験日を設定しておけば、自分の学習状況を客観的に確認することができます。テストまでの勉強を計画的に進めるのに役立つ機能です。

IT系資格もスマホで!「ITパスポート試験対策

「ITパスポート試験」とは、IT化された社会で働くすべての社会人が備えておくべき、ITに関する基礎的知識が証明できる国家試験です。情報処理推進機構が行っているこの試験は、ここ数年10万人単位で受験者が増加しています。

このITパスポート試験の暗記系問題の勉強に特化したアプリが、「ITパスポート試験対策」です。問題はほとんどが本試験の過去問で、計算系の問題はありませんが、全部で約600問が収録されています。正誤の履歴が分かる機能や、各分野からランダムに出題される機能、間違えた問題にマークをつけて、マークのついた問題ばかりを復習できる機能などもありますので、効果的に学習できます。

楽しく勉強できれば、継続できる!「Studyplus

各種資格試験に対応した、勉強の進捗状況を管理できる無料SNSアプリです。勉強時間・勉強量を記録し、さらに、グラフ化機能で勉強の進捗具合を可視化することもできます。コミュニティ機能があり、同じ目標を持つ勉強仲間を簡単に探すことができるため、仲間の存在が学習の励みや刺激となり、意欲的に勉強が継続できると評判のアプリなのです。

勉強したい資格試験や、その対策教材の名前や画像を登録してから勉強を始めます。教材の名前や画像は、Amazonから検索して登録することもできます。登録したものについて、勉強の進捗状況が入力できるようになります。

計画を立てたうえでアプリを選ぼう!

今回ご紹介したもの以外にも、資格試験やその勉強に役立つアプリはたくさんありますが、何種類ものアプリを並行して利用するのではなく、対策プランを考えてから、それに合う適切なアプリを選ぶことをおススメします。

例えば、TOEICでいつも文法問題に時間がかかってしまうのであれば、TOEICの文法問題に特化したアプリを選び、毎日、電車の中で少しずつ勉強する、という選び方が考えられます。

仕事の忙しい社会人には、計画的に勉強する時間を確保することが難しいですが、隙間時間にスマホアプリなどをうまく活用して、合格に向けてあきらめずに頑張って下さい。

 

photo credit: MSVG via photopin cc


カテゴリー: ネットワーク プログラム

IT系エンジニアに求められるコミュニケーション能力とは?

【12-4】IT系エンジニアに求められるコミュニケーション能力とは_画像

技術のプロフェッショナルのエンジニアといえども、やはり仕事ではコミュニケーション能力が求められます。

具体的に言えば、クライアントのシステム開発とそのメンテナンスを請負う場合には、「クライアントの要望や、抱えている問題点を的確に捉え、それに対して、適切なシステム開発や改善をする論理的な対応能力」が必要とされます。また、自らアイデアを出して、クライアントにソリューションを提案する力も必要です。

つまり、エンジニアに必要とされるコミュニケーション能力とは、相手の要望を理解し、適切な対応をする、という社会人に共通して必要とされる能力がベースになっているのです。

そこで、「社会人基礎力」という基礎能力カテゴライズを参考にしながら、エンジニアに求められるコミュニケーション能力を考えてみたいと思います。

「社会人基礎力」とは?

「社会人基礎力」とは、経済産業省が提唱している、「職場や地域社会で多様な人々と仕事をしていくために必要な基礎的な力」のことです。具体的には、「前に踏み出す力」、「考え抜く力」、「チームで働く力」の3つの能力と、各能力を構成する合計12の能力要素から成り立ちます。
【12‐4】社会人基礎力
社会人基礎力とは

IT系エンジニアに求められる基礎力or足りない基礎力とは?

経済産業省が企業の人事部に対して、その職場で求められる「社会人基礎力」についてアンケート調査を行った結果、IT系職種に関して次のような報告があります。

● 3つの能力については、他の職種に比べて「考え抜く力」が高く求められている。一方で不足が見られるのは、「前に踏み出す力」と「チームで働く力」であり、不足の度合いは他職種の平均を上回っている。

● 12の能力要素については、課題発見力、想像力、状況把握力が他の職種よりも高く求められている。また、状況把握力、ストレスコントロール力については、他の職種よりも目立って不足が見られる。

また、社会人基礎力については、現役大学生が17の企業などの人事担当者にインタビューを行った際の様子が、経済産業省の資料「企業の人事のプロに聞く「社会人基礎力」インタビュー」にまとめられています。

このインタビュー中で、エンジニアのコミュニケーション能力に関して、ある大手情報通信企業の人事担当者が次のように述べています。

● システム開発プロジェクトでは、自社以外の様々な企業の人と一緒に、チームでシステムを作り、1年間ほどの時間をかけることも多い。

● プロジェクト開始段階では、クライアントが具体的なビジョンを持っていない場合もある。そのため、コミュニケーションを通して、クライアントが本当に望んでいることを うまく引き出していく能力が必要である。

● あるプロジェクトで、各メンバーが役割を分担し、各自がそのスキルを向上できる仕組みをつくったが、反発があった。しかし、メンバー間で丁寧にコミュニケーションを取るうちに、その仕組みが浸透しプロジェクトがうまくいった。このように、社会人の仕事には「正解」「不正解」はないので、どうやって解決策を見いだしていくか、工夫のしがいがある。

IT系エンジニアに必要な力

このような調査結果やインタビューから、チームで働くことが多く、積極的に解決策を見出していくことが仕事上求められるIT系エンジニアは、不足している「チームで働く力」や「前に踏み出す力」を満たすように、「社会人基礎力」を身に付ける必要があるといえるでしょう。

なお、「企業の人事のプロに聞く「社会人基礎力」インタビュー」は、IT系に限らず、就職活動を控えた方や社会人歴の浅い方には非常に参考になるのではないでしょうか。

 

photo credit: Victor1558 via photopin cc


カテゴリー: ネットワーク プログラム

ブルーライト対策メガネが苦手な方へ!疲れ目を回復するエクササイズ

【12-2】ブルーライト対策メガネが苦手な方へ_疲れ目を回復するエクササイズ_五十川

長時間のパソコン使用による疲れ目…ブルーライト対策メガネ、画面の明るさ調節などで、少しは軽減できるかもしれません。とはいえ、パソコン作業が仕事上避けられないとなると、どうしても疲労は溜まってしまいます。

また、ブルーライト対策専用メガネは、普段メガネを使わない方や、その独特の見え方が気になる方には使いづらいでしょう。

そこで、仕事の合間にできそうな、「目の疲れに効く」簡単エクササイズを試してみてはいかがでしょうか?

なぜ目が疲れるのか?

仕事などでパソコンを使う場合、画面に集中し、目の筋肉が緊張します。そのため、まばたきの回数が減り、それが目の負担となります。また、目の筋肉が緊張した状態が続くと、目の周囲の血行が悪くなり、疲労物質が溜まります。その結果、疲れ目となり、ひどくなると目が乾くドライアイの症状や、頭や首も痛むなどの症状が出ることもあります。

このような長時間のパソコン使用による症状を、コンピューター視覚症候群(CVS)といいます。CVSを予防するために、オフィスでできる簡単なエクササイズを2つご紹介します。

CVS対策に!目の疲れを癒すエクササイズ

1 20‐20‐20‐20エクササイズ

CVSは、デスクワーカーなら誰でも経験があるような症状です。そこで、CVS対策としてアメリカの医師によって考案された、「20-20-20-20」という目の疲れを癒すエクササイズをご紹介します。

20分おきに20フィート(約6メートル)先を20秒間見つめながら、20回連続で瞬きをします。このエクササイズをすれば瞳が潤って、目の疲れが癒されます。

「20-20-20-20」を考案した医師によれば、パソコンの利用時間が3時間以上に及ぶ場合、CVSになる恐れがあるそうです。また、エアコンの効いたオフィスは乾燥しがちで、目によくない環境であるため、仕事前にはドライアイ用の目薬を使用、仕事の合間に「20-20-20-20」を行えば、目の疲労が軽減されるとのことです。

2 眼球ぐるりエクササイズ

パソコン作業では同じところばかりを見て、目の筋肉が硬直してしまうことがよくあります。そこで、意識的に眼球を動かして、目の周りの血行をよくするエクササイズも大切です。

まずは眼球を上下に大きく何度か動かします。次に眼球を左右に大きく何度か動かし、最後は右回りに一周、左回りに一周と交互に回すことを数回繰り返して終了。まるで首の運動のように簡単ですが、やってみると目の周りの血流がよくなったことを感じられるはずです。

適度な休憩&エクササイズでリフレッシュ!

目の疲れが溜まり、CVSの症状がでてくると、仕事の効率は悪くなり、健康面にも悪い影響を及ぼします。忙しいときこそ、集中して効率を上げたいもの、定期的に休憩をとり、目のエクササイズでリフレッシュされることをおススメします。

 

photo credit: MiiiSH via photopin cc


カテゴリー: Office Webデザイン・DTPデザイン ネットワーク プログラム

文系素人でも夢じゃない?アプリで一攫千金!

【11-6】文系素人でも夢じゃない?アプリで一攫千金!

photo credit: PhilipRood.com via photopin cc

iPhoneの発売以降、ヒット・アプリの制作をめざして、個人でもアプリの開発に取り組む人は多く、アプリ開発に関するセミナーも多数開催されています。

とはいえ、個人でのアプリ制作がヒットに結びついた例は希少で、セミナーの受講者もソフト制作担当者がほとんど、というのが実情のようです。やはり素人がアプリを開発、一攫千金を狙うのは不可能に近いことなのでしょうか?

アイデアさえあれば道は開ける

セミナーを開催している会社によると、アプリを自作で開発する技術がない人は、面白そうなアイデアを考えて、技術者と組んでアプリを開発すればよいとのことです。そこで考えました。アイデアのある素人が技術者と組む方法はないだろうか…?と。

モバイル関連の展示会がおススメ

技術者の方と出会える場、モバイル関連の展示会に足を運んでみてはいかがでしょうか。モバイル関連の展示会では、スマホやタブレットなどのデバイス、SNS・クラウド・アプリなどのサービス、スマホケースやデコレーションシールなどのファッション用アクセサリーなど、様々な業種の企業が一同に集まります。

また、それぞれの業種に特化した専門展示会が複数、“モバイル関連”という括りで、同じ会場で同じ期間に開催される場合も多いです。具体的にいくつかご紹介します。

展示会出展企業の目的は、“ビジネス・マッチング”です。つまり、自社の製品・サービス・技術をできるだけ多くの人に紹介して、なんとか商談に繋げる、という目的で出展しています。

また、昨今のスマートフォンの本格的な普及に伴い、モバイル関連業種は大きな注目を集めています。ご紹介した展示会には、今は零細なベンチャーであっても、一気に成功する可能性を秘めている企業も多いのです。

ベンチャー企業にとって、展示会の出展費用はかなりの負担ですから、真剣にビジネスパートナーを探しています。また、ベンチャーであるがゆえ、どんな相手からの提案でも、とりあえず話は受ける、という姿勢です。そのようなベンチャー企業と名刺交換をしておけば、その後の提携に繋がる可能性も十分にあります。

アイデアの参考にもなるモバイル関連の展示会

アイデアはあるものの、自信がない…という方にも、モバイル関連の展示会はおススメです。モバイル関連の展示会では、実際にアプリなどを体感し、その企業の担当者からきちんとした説明を受けられるため、自分のアイデアが商品化にかなう内容なのか判断するヒントがもらえます。また展示に刺激を受けて、新たなアイデアが浮かぶかもしれません。

さまざまな機会や刺激を与えてくれる展示会、アプリ開発に興味のある方は一度足を運んでみてはいかがでしょうか?


カテゴリー: Webデザイン・DTPデザイン プログラム

独学のプログラムから始まった、大人気アプリ「Instagram」誕生ストーリー

【11-5】独学のプログラムから始まった、大人気アプリ「Instagram」誕生ストーリー

月間アクティブユーザー数1億5000万(2013年秋発表)を誇る大人気の写真加工アプリ「Instagram(インスタグラム)」。コダックインスタマチックポラロイドインスタントカメラの双方に敬意を払っているという正方形の画像が特徴的で、Instagramを使ったことがない人でもFacebookやTwitterでその作品は目にしたことがあるのではないでしょうか。そんな人気アプリの始まりが、なんと独学で学んだプログラミングだったことを知っていましたか?

本業の傍らで作られたプロトタイプ

Instagramを興したのは、Kevin SystromとMike Kriegerという二人の若者です。そもそもの発端はSystromが作成した「Burbn」というアプリで、そのプロトタイプの作成当時、Systromの本業はマーケティング業務でした。正式なエンジニアリングのトレーニング経験もなく、昼間の仕事の傍ら、夜間に独学でプログラミングを学んだというSystrom。

そうして作られたBurbnに興味を持った友人や投資家から資金を得た彼は、勤めていた職場を辞め、Burbnの開発に本腰を入れることになります。そしてその頃出会いBurbnに興味を持ったKriegerと共に起業へと踏み出すことになったのです。

ゼロから始める大英断から驚きのスピード公開へ

しかし実際世に出たのは、発端となった「Burbn」ではなく「Instagram」。どこで入れ替わったのでしょう?

「Instagram」といえば、スマートフォンで撮った写真をエフェクトで簡単に洒落た写真へと加工できる手軽さ、その反応をネットで共有できる楽しさが人気のアプリです。一方、当初開発していた「Burbn 」はまったくの別もので、Foursquare(SNSサービス)の要素とMafia Wars(人気のソーシャルゲーム)の要素を組み合わせたものだったといいます。写真をネットにアップロードする機能はあれど、「Instagram」最大の特徴ともいえる写真のエフェクト機能はなかったそうです。

そんなBurbnの開発を続け、iPhoneアプリとして完成させたSystromとKriegerですが、そのまとまりの悪い仕上がりから、「Burbnには余分な機能が多すぎる」と考え直し、一年近くも開発を続けてきたBurbnを諦める決断をします。

「再度ゼロからスタートする決定を下すのは難しいことだった」と後にSystrom自身が語るこの英断により生まれたのがInstagramです。Burbnから、写真を撮ってアップロードする機能、コメントする機能、「いいね!」を付ける機能以外のすべてをそぎ落とし、写真に特化したInstagramの開発に取り組んだのです。Burbn開発のための試行錯誤を経ていたとはいえ、Instagram自体の開発期間は僅か8週間というスピードで公開に漕ぎつけたというのも驚きのエピソードです。

破竹の勢いの快進撃

それからの快進撃は言わずもがな。2010年の10月にAppStoreに公開されたInstagramは、わずか1週間で10万ダウンロードを達成。年内には100万ダウンロードに到達するなどその人気は急速に広まっていきます。2012年4月には、Facebookによる10億ドルとも言われる巨額での買収が発表され、話題を呼びました。

独学で学んだプログラムから始まった、これぞアメリカンドリームなストーリー。普段何気なく使っている身近なアプリの舞台裏は、こんなにもドラマチックだったのです。

 

Photo: Some rights reserved by JD Hancock, flicker
photo credit: JD Hancock via photopin cc


カテゴリー: プログラム