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

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

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

こんにちは、中村です。
今回はRedmineのインストールまでの手順を書いていこうと思います。
Redmineのバージョンは2012/12/17現時点で最新の、2.1.4を使っていこうと思います。

今回はRedmineをApache上で動かすので、Apache httpdとMySQLをインストールします。
$ sudo yum install httpd httpd-devel mysql-server mysql-devel

MySQLの設定ファイルを編集して、エンコーディングをUTF-8に設定します。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server=utf8  # <- この行を追加

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]                    # <- この行を追加
default-character-set=utf8 # <- この行を追加
MySQLを起動して、デフォルト起動もONに設定します。
$ sudo /etc/init.d/mysqld start
$ sudo chkconfig mysqld on

httpdでRailsを動かすので、passengerもインストールします。
passengerのバージョンは最新の3.0.18を使います。
$ rvm use 1.9.3-p327@redmine
$ sudo yum install curl-devel zlib-devel openssl-devel
$ gem install passenger --no-ri --no-rdoc
$ rvmsudo passenger-install-apache2-module

Redmineで使用するMySQLのDBを作成して、ユーザも追加していきます。
DB名やユーザ名、パスワードは任意です。
  $ mysql -uroot
  mysql> create database redmine_db default character set utf8;
  mysql> grant all on redmine_db.* to redmine_user identified by 'redmine';
  mysql> grant all on redmine_db.* to redmine_user@localhost identified by 'redmine';
  mysql> flush privileges;
  mysql> exit;

作業用のディレクトリ作成し、Redmineをダウンロードして展開します。
$ mkdir $HOME/temp
$ cd $HOME/temp
$ curl -o redmine-2.1.4.tar.gz http://files.rubyforge.vm.bytemark.co.uk/redmine/redmine-2.1.4.tar.gz
$ tar zxvf redmine-2.1.4.tar.gz

展開後のディレクトリを移動して、apacheユーザをオーナーに設定します。
$ sudo mv redmine-2.1.4 /var/lib/redmine
$ sudo chown -R apache:apache /var/lib/redmine

RedmineのDB設定ファイルを作成します。
production:
  adapter: mysql2
  database: redmine_db
  host: localhost
  username: redmine_user
  password: redmine
  encoding: utf8
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: 'example.com'

依存するパッケージのインストール、DBの構築をしていきます。
$ sudo yum install ImageMagick ImageMagick-devel
$ cd /var/lib/redmine
$ rvmsudo bundle install --without development test postgresql
$ rvmsudo rake generate_secret_token
$ rvmsudo rake db:migrate RAILS_ENV=production

passengerの設定ファイルを作成します。
ここでは、httpdをRails以外の用途でも使えるようにしたかったので、VirtualHostでの設定をしています。
ドメイン名は環境に応じて変更してください。
LoadModule passenger_module /home/nakamura/.rvm/gems/ruby-1.9.3-p327@redmine/gems/passenger-3.0.18/ext/apache2/mod_passenger.so
PassengerRoot /home/nakamura/.rvm/gems/ruby-1.9.3-p327@redmine/gems/passenger-3.0.18
PassengerRuby /home/nakamura/.rvm/wrappers/ruby-1.9.3-p327@redmine/ruby

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName redmine.example.com
  DocumentRoot /var/lib/redmine/public
</VirtualHost>

SELinuxを無効に設定します。
この設定がされていないと、httpdの起動時にエラーになってしまいます。
$ setenforce 0
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled # <- enforcing を disabled に修正
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

httpdを起動し、デフォルト起動もONに設定します。
(事前にファイアウォールの80番ポートを開けておいてください)
$ sudo /etc/init.d/httpd start
$ sudo chkconfig httpd on

http://redmine.example.comにアクセスして、RedmineのTOPページが表示できているか確認しましょう。
アクセス後、RedmineのHome画面が表示されていればインストール成功です。

最終回の次回は、Redmineにpluginを入れてSVN/Gitと連携する設定をしていきたいと思います。
Androidアプリ開発環境構築について書きます。


□JDKのインストール
・下記URLにアクセスします。
http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html

・「Accept License Agreement」を選択し、開発環境に合ったJDKをダウンロードします。

・ダウンロードしたファイルを実行します。

・「次へ」を押下します。

・任意のJDKインストール先を指定して「次へ」を押下します。

・任意のJREインストール先を指定して「次へ」を押下します。

・「完了」を押下します。

・デスクトップ左下のWindowsアイコンを押下します。

・「コンピューター」を右クリックし、「プロパティ」を押下します。

・「システムの詳細設定」を押下します。

・「詳細設定」タグの「環境変数」を押下します。

・「システム環境変数」の「新規」を押下します。

・以下の値を入力し、「OK」を押下します。
変数名 : JAVA_HOME
変数値 : [Javaをインストールしたフォルダ]

・「システム環境変数」の「変数」から「Path」を選択し、「編集」を押下します。

・以下の値を追記し、「OK」を押下します。
変数値 : ;%JAVA_HOME%\bin

・「OK」を押下します。

・「OK」を押下します。


□ADTバンドル版Android SDKのインストール
・下記URLにアクセスします。
http://developer.android.com/sdk/index.html

・「DOWNLOAD FOR OTHER PLATFORMS」を押下します。

・「ADT Bundle」から開発環境に合ったPlatformのPackageをダウンロードします。

・「I have read and agree with the above terms and conditions 」の左のチェックボックスにチェックを入れ、
ダウンロードボタンをクリックし、任意の場所に保存します。

・ダウンロードしたファイルを任意の場所に解凍します。


□Eclipseの日本語化
・下記URLにアクセスします。
http://mergedoc.sourceforge.jp/

・「Pleiades プラグイン・ダウンロード」の最新版のリンクをクリックし、任意の場所に保存します。

・ダウンロードしたファイルを任意の場所に解凍します。

・解凍したフォルダ内の「features」と「plugin」フォルダを、2でインストールした「adt-bundle-windows」フォルダ内の
「eclipse」フォルダ内に上書きします。

・「eclipse」フォルダ内の「eclipse.ini」の最終行に下記記述を追記します。
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=default.splash

はじめまして。ワタナベと申します。
ちょっと趣味でゲームを作ってみたいなと思い、

「DirectX11を使って簡易ゲームを作ってみるまでの道」

というタイトルでブログを書かせていただこうかと思います。
以後、よろしくお願いします!

私自身、「DirectX」の知識は皆無で、全くの初心者から始めますので、その点はご了承下さい。



さて、ゲームプログラミングをしてみたいと思い調べてみると、
真っ先に検索されるのが、「DirectX」だと思います。

では、まず、「DirectX」とは何ぞや?というところから勉強していきたいと思います。

●DirectXとは・・・
Windowsの一部で、マルチメディア機能を強化するために提供されているAPI群
のことです。
DirectXを使用すると、ゲーム機などの専用ハードウェアに負けない高度なマルチメディア処理をパソコン上で実現することができます。
Windowsで3Dゲームを実行したり、音楽や動画を再生したりできるのは、DirectXのおかげなのです。

DirectXは、用途に応じたAPI群に別れております。
代表的なものとして、以下のものがあります。
・DirectX Graphics
  画面の描画を担当
・DirectX Audio
  音声の再生を担当
・DirectInput
  ジョイパッドなどの入力機器を担当
・DirectPlay
  対戦ゲーム用のネットワーク通信を担当
・DirectShow
  動画の再生を担当

上記以外にも、用途に応じた様々なAPI群が用意してあります。



●DirectXの開発環境
DirectXの開発環境は、環境やプログラミング言語との組み合わせによって、次の4種類が存在します。
①.C++言語 + DirectX SDK
②.C♯言語 + Managed DirectX
③.Visual Basic言語 + Managed DirectX
④.C♯言語 + XNA

①は、市販ゲームソフトの開発にも使われている一般的なものです。
DirectX SDKは、DirectXアプリケーションの開発に必要な様々なファイルをまとめたもので、
MicroSoftから無料配布されております。
②と③は、.NET Frameworkという環境上で動作するDirectXアプリケーションを作成します。
Managed DirectXは.NET環境からDirectXを利用可能にするソフトウェアのことで、
DirectX SDKの中に含まれています。
④は、C♯言語 + Managed DirectXと近いものですが、この環境を利用して開発したゲームは、
Windows上はもちろんですが、ほぼ同じコードのままで、"Xbox 360"上でも動作させることができます。

このブログでは、一般的なものと言われている
「① C++言語 + DirectX SDK」
の環境で、プログラムを作成していこうと思います。



では、第一歩目は、ここまで。
今回は、「DirectXとは何か」という内容だったので、堅苦しい内容になってしまいましたが、
次回からは実際にプログラムを動かしていきたいと思います。
やっぱり、実際に動かしてみないと楽しくないですからね!
■ ■
■ ■ Windows8について

はじめに
2012年10月26日に、Microsoft社よりWindows8が発売されました。
タブレットPCやスマートフォンの分野では、AppleのiPadやgoogleのAndroidに1歩どころか、
10歩先を行かれていた、Microsoftが満を持して出したのがWindows8ですが、今までのOSとどこが違うのか、
また、開発するにあたって、どのような事が変わったかを説明致します。

 ■Windows8を語る前に。
Windows8/PRO/EnterPrise/RT版※の4エディションがある。
 
  <システム要件>
・32 ビット
  プロセッサー : 1.0 GHz 以上
物理メモリー : 1 GB 以上
グラフィック : WDDM?1.0 以上の対応ドライバが提供されている DirectX 9.0 以上
の GPU
HDD 空き容量 : 16 GB 以上


・64 ビット
  プロセッサー : 1.0 GHz 以上
物理メモリー : 2 GB 以上
グラフィック : WDDM?1.0 以上の対応ドライバが提供されている DirectX 9.0 以上
の GPU
HDD 空き容量 : 20 GB 以上
※タブレット端末のみインストールされる。また、端末にプレインストールされた形での配   布になるため、単体での販売は行われない。

■ ■
■ ■大きく変わったこと
 深化?進化?を遂げた??Widows8ですが、私の主観で注目すべき機能を少し掘り下げて説明致します。

①インターフェース
・モダンUIモード
   地下鉄の案内板や標識をヒントに、分かりやすさを前面に出しカラフルな正方形や長方形の   タイルを並べた画面となり、タッチパネルを前提としたインターフェースとなる。
また、iOSやandroidと同様にアプリ専用ストアにてアプリを購入し操作を行う。
   一般的にはタブレット端末には、WindowsRT版がインストールされており、モダンUIのみ
使用可能となる。
(余談)以前はメトロUIと呼ばれていたが、いつの間にかモダンUIに名称が変更された。

 ・デスクトップモード
 今までと同じ操作が提供されている。ただし、Windows7まで存在していた「スタートボタ
ン(スタートメニュー)」がが存在しない。なお、モダンUIとの表示の切り替えが可能とな
る。
WindowsRT版以外のエディションで使用可

②セキュリティについて
・Windows Defenderの強化
  これまでの Windows Defender は、アドウェアやスパイウェアに特化していましたが、
Windows 8 に搭載された Windows Defender では、アドウェア、スパイウェアだけでは
なく、ウイルスなどのその他のマルウェアへの対策が可能となり、Microsoft Security
Essentials と同等の機能を有したマルウェア対策ソフトとして動作する。

   -自動更新機能
定義ファイルの有効期限が切れている場合やマルウェア対策ソフトウェア自体が無効化さ
れているなどで有効に稼働していない状態が続いた場合、14 日目までは、マルウェア対策
ソフトウェアの設定見直しや Windows Store での購入を促す警告が表示されますが、
それでも対処が行われない場合は、15 日目に
Windows Defender が自動で有効化される。


③Hyper-V
 本機能を使用するにあたり、下記の条件がありますが、クライアントOS(※)上で仮想環境が使用出来るようになった。
※Windows 2008のみ使用可能だった。
 (条件)
・x64版 Windows8 Pro / Enterprise
・ハードウェア仮想化支援機能(Intel VTまたはAMD-V)を搭載した64ビットプロセッサ
・ハードウェア強制データ実行防止
(Hardware-enforced Data Execution Protection)
・SLAT(Second Level Address Translation:第2レベルアドレス変換拡張)対応の
  プロセッサ
・4GB以上の物理メモリ(推奨)
・1つ以上の有線または無線ネットワークアダプター


④ファイル操作
 -コピー貼り付けが一時停止可能
ファイルコピーや移動、削除などを一元して扱うことができるようなった。
Windows7までの仕様では複数のフォルダやファイルを移動させた場合、その数だけポップ
アップウィンドウが開いていたが、Windows 8からは一つのウィンドウに複数のファイル
移動の進捗状況が表示されるようになった。
さらに、コピー中の状態を詳細表示するとこのようになり、毎秒何メガバイトなのか、
  残り何分なのか速度のグラフが表示されるようになった。

-ファイル名競合時にサムネイルでの確認。
ファイル名が重複していた場合には、移動先と移動元のファイルをサムネイル一覧で確認し、
上書きや削除の指示を下せるようになった。
    
 
■ ■
■ ■開発環境におけるWindows8

一般的な新機能は上で述べましたが、我々開発者が注目すべき点は、Windows8上での開発
  であります。
  簡単ではありますが、下記に開発について纏めてみました。

  ・Windows8の2つのインターフェースはAPIが別々。
以下の図の通り、Windowsのアプリケーションを開発するうえで、モダンUI上で実行させ
るのか、デスクトップで実行させるのかによって、開発の手順が異なります。

-モダンUI実行系
モダンUI上で実行するアプリケーションにはWinRT(Windows RunTime)というフレー
ムワークが用意されている。
     このWinRTはWindows8と同時に発表された新しいものである。
     本質的にCOMのAPIであり、様々な言語からインターフェースを結ぶことを可能とし、
Windows8の"ほぼ"すべての機能を提供できる。

-デスクトップ実行系
一方でデスクトップ(モード)上で実行するアプリケーションは従来のWindowsと同様
にWin32APIを使用しアプリケーションを作成する。

>>Windows8 アーキテクチャ<<
ソフトウエア開発(android・iphone・windows・java等)の事なら株式会社パークにお任せください_パク太郎のソフトウエア開発者ブログ-testimage


具体的には、これまでのアプリケーションでは、
・HTMLやJavaScriptでIEのアプリケーション開発。
・C/C++でWinAPIの開発。
・C#やVBで.NetやSilverlightの開発。
と、アプリケーションや用途に合わせて、言語を使い分けなければならなかったが、
WinRTではAPIの機能をオブジェクトとして実現しており、これを各言語環境に合わせて
変換して提供している。

>>詳細<<
$ソフトウエア開発(android・iphone・windows・java等)の事なら株式会社パークにお任せください_パク太郎のソフトウエア開発者ブログ

(参考)
WinRT APIリファレンス
http://msdn.microsoft.com/ja-jp/library/windows/apps/br211377.aspx


  ・開発ライセンスついて
   Modern Style アプリケーションは、原則としてWindows Storeを通じて配布/販売さ
れる。AppleのApp Storeと同様の形式となりますが、アップルが禁止しているアプリ内
課金が許可されている。

   作成したアプリをStoreにリリースするためには、開発者ライセンスが必要となり、
Visual Studio 2012上にて開発者ライセンスを取得する。

  ・ストアへの登録
    なお、作成したアプリをWindows Storeへ登録するにはMicrosoftによる審査を通過す
る必要がある。登録が拒否された場合は、アプリ開発者に対してフィードバックをし、
開発者は問題に素早く対応することができ、修正したアプリを素早く再登録可能となる。
  Windows Storeに開発者アカウントを作成するには、個人の場合49ドル、法人の場合は
99ドルの登録料を支払う。
  アプリが売れれば、開発者は売り上げの70%を受け取ることができる。もし、売り上げが
25,000ドル上回った場合、80%を受け取ることができる


■ ■
■ ■個人的に思うこと。

発売日、早々に購入して、早々にインストールした1ユーザーとしての感想は、
慣れてしまえば、非常に使いやすいOSだと思っています。
電源を入れてからの起動速度やアプリケーションの立ち上がりの軽快さが、Windows7より圧
倒的に早く、ストレスを全く感じる事があまりありません。
また、モダンUIとデスクトップモードの使い分けも慣れてしまえば何ともありません。
  多くの人に、スタートボタンが無い事で、駄作として烙印を押されてしまいがちですが、
個人的には、優秀なOSだと思っています。ただし慣れるまでがちょっとクセ者ですが。。。
触ったことの無い方は、ぜひ一度CP版(無料のConsumer Preview版)を入れてみてはいか
がでしょうか。

こんにちわ、ちかです
今日は JavaScript のライブラリとして不動の地位を築いている jQuery の勉強のために、 jQuery 練習フォームを作ってみました。

下記フォームの「スクリプト」テキストエリアにスクリプトを書いて [実行] ボタンを押下すると、この場でスクリプトを実行できます。
※ jQuery のバージョンは 1.6.2 です。私が決めたわけではないのであしからず。

jQuery 練習フォーム

<form>

練習用の編集要素 (id="practice-area"):

この部分は document.getElementById('practice-area') や $('#practice-area') を使ってアクセスできます。

スクリプト (編集可):

<textarea name="script" rows="10" style="width:100%; box-sizing:border-box; font-family:'Lucida Console',monospace;">$('#practice-area')   .css({'color':'orange', 'cursor':'pointer'})   .click(function (e) { $(this).text('クリックされました。'); })   .text('ここをクリック!')   ; </textarea> <button onclick="try{this.form.logging.value=eval(this.form.script.value)}catch(e){} return false;">実行</button>

スクリプトの戻り値:

<textarea name="logging" rows="3" style="width:100%; box-sizing:border-box; font-family:'Lucida Console',monospace;"></textarea>
</form>

デフォルトスクリプト概説

デフォルトスクリプトが何をやっているか、ちょっとだけ解説します。

$('#practice-area')
  .css({'color':'orange', 'cursor':'pointer'})
  .click(function (e) { $(this).text('クリックされました。'); })
  .text('ここをクリック!')
  ;
$('#practice-area') $([CSSセレクタ文字列])[CSSセレクタ文字列] に該当する jQuery オブジェクトを返します。
ここでは "id" 属性値 "practice-area" の要素を持つ jQuery オブジェクトを取得しています。
.css({ ... }) スタイルを設定 (書き換え) しています。
引数には CSS の属性名と設定値の連想配列を渡します。
.click(function(e){ ... }) クリックイベントハンドラを登録しています。
ハンドラ関数内では this がイベントを受け取った要素を表します。
$(this) によって、イベントを受け取った要素を持つ jQuery オブジェクトを取得して操作できます。
.text('ここをクリック!') 要素の内部文字列 (テキストノード) を設定しています。

jQuery オブジェクトが持つメソッドの多くは jQuery オブジェクト自身を返すので、 $(selector).method1().method2() ... とつなげて呼び出すことができます。
詳細は下記リファレンスを。

jQuery リファレンス