2014.05.30 Friday
【初心者歓迎】進化するWeb開発!!HTML5、最新技術YEOMANで一歩先の開発スタイルを!! html5jエンタープライズ部現役副部長が 業務アプリケーション開発の「いま」をとことん語ります!!
表題の勉強会に参加してきました。
YEOMAN目当てだったのだけれど、全体的に面白かった。
登壇は株式会社ゼノフィの佐川さん。
ゼノフィは以前、senchaの勉強会でもお世話になりました。
みなさん、積極的に勉強会を主催されていて、素晴らしいと思います。
今回もありがとうございました。
佐川さんのブログ
albatrosary's blog
YEOMANについて。
実際に動かすところも見せてもらったのですが、編集をリアルタイムにブラウザに反映してくれるのがすごかった。
htmlを修正して、保存して、ブラウザを更新ということをやらなくていいわけです。
これは快適!
grunt server:distだったかな。
で、yo, grunt, bowerというコマンドを使って開発を進めていきます。
yoはプロジェクトを管理するコマンド。
yoはプロジェクトの枠組みをつくります。
gruntはビルドコマンド。
改行、スペース、タブなどを除去して、モジュールの最適化を実施してくれます。
bowerはパッケージ管理をしてくれるコマンド。
bootstrapが使いたかったら、bootstrap本体と依存するjqueryを一緒にgetしてくれるみたいなことをしてくださる。
日本でも人気のあるフレームワークみたいで、調べると割とまとまった情報が検索できます。
いつか使ってみます。
今日の資料
佐川さんはコレ以外にたくさんのスライドを作っています。
YEOMAN目当てだったのだけれど、全体的に面白かった。
登壇は株式会社ゼノフィの佐川さん。
ゼノフィは以前、senchaの勉強会でもお世話になりました。
みなさん、積極的に勉強会を主催されていて、素晴らしいと思います。
今回もありがとうございました。
佐川さんのブログ
albatrosary's blog
YEOMANについて。
実際に動かすところも見せてもらったのですが、編集をリアルタイムにブラウザに反映してくれるのがすごかった。
htmlを修正して、保存して、ブラウザを更新ということをやらなくていいわけです。
これは快適!
grunt server:distだったかな。
で、yo, grunt, bowerというコマンドを使って開発を進めていきます。
yoはプロジェクトを管理するコマンド。
yoはプロジェクトの枠組みをつくります。
gruntはビルドコマンド。
改行、スペース、タブなどを除去して、モジュールの最適化を実施してくれます。
bowerはパッケージ管理をしてくれるコマンド。
bootstrapが使いたかったら、bootstrap本体と依存するjqueryを一緒にgetしてくれるみたいなことをしてくださる。
日本でも人気のあるフレームワークみたいで、調べると割とまとまった情報が検索できます。
いつか使ってみます。
今日の資料
統合開発Yeoman from Fumio SAGAWA
佐川さんはコレ以外にたくさんのスライドを作っています。
2014.05.28 Wednesday
第六回ゆるぎー いつやるの?Git入門
表題の勉強会に参加してきました。
ゆるぎーという人が教えてくれるシリーズなのかしらんと思っていたら、
ゆるゆるギークを育成する会
の呼称とのこと。
登壇はサイバーエージェントの松下さん。
gitは1年前くらいからたまたま使うようになったそうなんですが、本まで出されているというプロフェッショナル。
1年でここまでなれるので、きちんと理解すれば難しくないということを強調されていました。
・松下さんの本
・松下さんtwitter
@matsukaz
フォローしました。
・今日のスライド
gitの説明をしてからのハンズオン。
話は分かりやすく、資料も素晴らしく、いい勉強会でした。
ステージングエリアのことがより理解できました。
松下さん、ありがとうございます。
ためになったことをメモ
・pullはfetch+merge/rebaseである
fetchとmerge/rebaseを同時にやってくれている。
pullそのままだとmerge、--rebaseオプションでrebaseとなる。
・ステージングの利点
commitの単位を調整できる点が優位。
・mergeとrebaseの違い
mergeは相手ブランチをマージした新しい履歴を作成する。
rebaseは相手ブランチに続いて、ブランチ元の履歴を追加する。
masterからrebaseはしない。
トピックブランチが少し分かった。
・学習サイト
LearnGitBranching
gitブランチの操作をwebブラウザから視覚的に学べるサイト。
githubにソースがある。やはりjsで動いているようだ。
ゆるぎーという人が教えてくれるシリーズなのかしらんと思っていたら、
ゆるゆるギークを育成する会
の呼称とのこと。
登壇はサイバーエージェントの松下さん。
gitは1年前くらいからたまたま使うようになったそうなんですが、本まで出されているというプロフェッショナル。
1年でここまでなれるので、きちんと理解すれば難しくないということを強調されていました。
・松下さんの本
・松下さんtwitter
@matsukaz
フォローしました。
・今日のスライド
gitの説明をしてからのハンズオン。
話は分かりやすく、資料も素晴らしく、いい勉強会でした。
ステージングエリアのことがより理解できました。
松下さん、ありがとうございます。
ためになったことをメモ
・pullはfetch+merge/rebaseである
fetchとmerge/rebaseを同時にやってくれている。
pullそのままだとmerge、--rebaseオプションでrebaseとなる。
・ステージングの利点
commitの単位を調整できる点が優位。
・mergeとrebaseの違い
mergeは相手ブランチをマージした新しい履歴を作成する。
rebaseは相手ブランチに続いて、ブランチ元の履歴を追加する。
masterからrebaseはしない。
トピックブランチが少し分かった。
・学習サイト
LearnGitBranching
gitブランチの操作をwebブラウザから視覚的に学べるサイト。
githubにソースがある。やはりjsで動いているようだ。
2014.05.24 Saturday
Clean Coder
会社の中島さんに借りたクリーンコーダーを読みました。
リーダブルコードのようなプログラムの本かと見せかけて、SEとはこうあるべきというビジネス書みたいな内容。
いきなり、序文にこうあるわけ
本書は、ソフトウェアのプロ意識について書かれたものだ。以下のような質問に対する実践的なアドバイスが含まれている。
・ソフトウェアのプロとは何か?
・プロの行動とはどのようなものか?
・プロは衝突・厳しいスケジュール・理不尽なマネージャにどのように対応すべきか?
・いつ・どのようなときにプロは「ノー」と言うべきか?
・プロはプレッシャーにどのように対応するのか?
そして、目次
1.プロ意識
2.「ノー」と言う
3.「イエス」と言う
4.コーディング
5.テスト駆動開発
6.練習
7.受け入れテスト
8.テスト戦略
9.時間管理
10.見積もり
11.プレッシャー
12.協力
13.チームとプロジェクト
14.指導・徒弟制度・職人気質
範囲が大きい。
著者のロバートは「アジャイルソフトウェア開発宣言」に名を連ねる一人だから、膨大な経験から得たシステム開発の教訓を教えてくれる。
システム開発の形は多様だから、全てに当てはめることはできないが、参考にはなる。
というような本でした。
著者はFitNesseという受け入れテスト用フレームワークツールの作者、コミッターであり、本編にこのツールが頻繁に登場する。
これが、気になるのだ。
リーダブルコードのようなプログラムの本かと見せかけて、SEとはこうあるべきというビジネス書みたいな内容。
いきなり、序文にこうあるわけ
本書は、ソフトウェアのプロ意識について書かれたものだ。以下のような質問に対する実践的なアドバイスが含まれている。
・ソフトウェアのプロとは何か?
・プロの行動とはどのようなものか?
・プロは衝突・厳しいスケジュール・理不尽なマネージャにどのように対応すべきか?
・いつ・どのようなときにプロは「ノー」と言うべきか?
・プロはプレッシャーにどのように対応するのか?
そして、目次
1.プロ意識
2.「ノー」と言う
3.「イエス」と言う
4.コーディング
5.テスト駆動開発
6.練習
7.受け入れテスト
8.テスト戦略
9.時間管理
10.見積もり
11.プレッシャー
12.協力
13.チームとプロジェクト
14.指導・徒弟制度・職人気質
範囲が大きい。
著者のロバートは「アジャイルソフトウェア開発宣言」に名を連ねる一人だから、膨大な経験から得たシステム開発の教訓を教えてくれる。
システム開発の形は多様だから、全てに当てはめることはできないが、参考にはなる。
というような本でした。
著者はFitNesseという受け入れテスト用フレームワークツールの作者、コミッターであり、本編にこのツールが頻繁に登場する。
これが、気になるのだ。
2014.05.16 Friday
apacheのssl設定
仕事でapacheにssl設定をしました。
これでhttpsが使えます。
意外と簡単。
■証明書がすでにある場合
・ssl設定ファイルを編集し、以下を追加
vi /etc/httpd/conf.d/ssl.conf
- SSLサーバ証明書ファイル
SSLCertificateFile .crtファイルへのパス
- 中間証明書ファイル
SSLCACertificateFile .crtファイルへのパス
- 秘密鍵ファイル
SSLCertificateKeyFile .keyファイルへのパス
・apache再起動
service httpd restart
■自己証明書を作成する場合
・秘密鍵の作成
openssl genrsa -aes128 1024 > server.key
・公開鍵の作成
openssl req -new -key server.key > server.csr
以下を入力
Enter pass phrase for server.key:秘密鍵のパスフレーズ
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:国名(JP)
State or Province Name (full name) [Some-State]:都道府県(Tokyo)
Locality Name (eg, city) []:市区町村(Setagaya-ku)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:会社名(griffin inc.)
Organizational Unit Name (eg, section) []:部署名(ATG)
Common Name (eg, YOUR name) []:名前(Taro Yamada)
Email Address []:空白
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:空白
An optional company name []:空白
・デジタル証明書の作成
openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
上述の手順でssl.confファイルに設定を追記し、httpdを再起動。
■パスフレーズを省略する場合
秘密鍵にパスフレーズを設定するとhttpdの起動時にパスフレーズの入力を求められる。
これは、煩わしい。これを省略する手順。
・パスフレーズを記述したシェルを作成
#!/bin/sh
echo "passphrase"
・ssl設定ファイルに以下を追加
vi /etc/httpd/conf.d/ssl.conf
- パスフレーズファイルの指定
SSLPassPhraseDialog exec:パスフレーズ出力ファイルへのパス
以上
参考
Apache + OpenSSL証明書インストール手順
Apache/SSL自己証明書の作成とmod sslの設定
SSLのパスフレーズ(Pass Phrase Dialog)入力を省略してApacheを起動する
これでhttpsが使えます。
意外と簡単。
■証明書がすでにある場合
・ssl設定ファイルを編集し、以下を追加
vi /etc/httpd/conf.d/ssl.conf
- SSLサーバ証明書ファイル
SSLCertificateFile .crtファイルへのパス
- 中間証明書ファイル
SSLCACertificateFile .crtファイルへのパス
- 秘密鍵ファイル
SSLCertificateKeyFile .keyファイルへのパス
・apache再起動
service httpd restart
■自己証明書を作成する場合
・秘密鍵の作成
openssl genrsa -aes128 1024 > server.key
・公開鍵の作成
openssl req -new -key server.key > server.csr
以下を入力
Enter pass phrase for server.key:秘密鍵のパスフレーズ
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:国名(JP)
State or Province Name (full name) [Some-State]:都道府県(Tokyo)
Locality Name (eg, city) []:市区町村(Setagaya-ku)
Organization Name (eg, company) [Internet Widgits Pty Ltd]:会社名(griffin inc.)
Organizational Unit Name (eg, section) []:部署名(ATG)
Common Name (eg, YOUR name) []:名前(Taro Yamada)
Email Address []:空白
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:空白
An optional company name []:空白
・デジタル証明書の作成
openssl x509 -in server.csr -days 365 -req -signkey server.key > server.crt
上述の手順でssl.confファイルに設定を追記し、httpdを再起動。
■パスフレーズを省略する場合
秘密鍵にパスフレーズを設定するとhttpdの起動時にパスフレーズの入力を求められる。
これは、煩わしい。これを省略する手順。
・パスフレーズを記述したシェルを作成
#!/bin/sh
echo "passphrase"
・ssl設定ファイルに以下を追加
vi /etc/httpd/conf.d/ssl.conf
- パスフレーズファイルの指定
SSLPassPhraseDialog exec:パスフレーズ出力ファイルへのパス
以上
参考
Apache + OpenSSL証明書インストール手順
Apache/SSL自己証明書の作成とmod sslの設定
SSLのパスフレーズ(Pass Phrase Dialog)入力を省略してApacheを起動する
2014.05.15 Thursday
centosにmysqlをインストール
centosにmysqlをインストールしたときのメモ。
・rootで実行
su -
・mysqlインストール
yum install mysql-server
・selinux無効化
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
・iptables設定
vi /etc/sysconfig/iptables
以下(3306を許可)を追加
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
・iptables再起動
/etc/init.d/iptables restart
・mysql設定
vi /etc/my.cnf
character-set-server=utf8
・mysql起動
/etc/rc.d/init.d/mysqld start
・mysql自動起動設定
chkconfig mysqld on
・mysqlログイン
mysql -u root -p
・rootパスワード変更
set password for root@localhost=password('password');
・データベース作成
create database xxx;
show databases;
・ユーザ作成
grant all privileges on jmovie.* to username@localhost identified by 'password';
SELECT host,user FROM mysql.user;
※ユーザは接続元を指定(ユーザ名@接続元サーバ)して登録する。
例は、usernameがlocalhostから接続可能。
他サーバから接続する場合、@の後を変更したユーザを作成する必要がある。
・権限付与
grant all privileges on username.* to username@localhost identified by 'password';
・確認
mysql -u username -p
show tables from xxx;
・データのインポート
mysql -u username -p
use xxx
¥. xxx.dmp
show tables from xxx;
・rootで実行
su -
・mysqlインストール
yum install mysql-server
・selinux無効化
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
・iptables設定
vi /etc/sysconfig/iptables
以下(3306を許可)を追加
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
・iptables再起動
/etc/init.d/iptables restart
・mysql設定
vi /etc/my.cnf
character-set-server=utf8
・mysql起動
/etc/rc.d/init.d/mysqld start
・mysql自動起動設定
chkconfig mysqld on
・mysqlログイン
mysql -u root -p
・rootパスワード変更
set password for root@localhost=password('password');
・データベース作成
create database xxx;
show databases;
・ユーザ作成
grant all privileges on jmovie.* to username@localhost identified by 'password';
SELECT host,user FROM mysql.user;
※ユーザは接続元を指定(ユーザ名@接続元サーバ)して登録する。
例は、usernameがlocalhostから接続可能。
他サーバから接続する場合、@の後を変更したユーザを作成する必要がある。
・権限付与
grant all privileges on username.* to username@localhost identified by 'password';
・確認
mysql -u username -p
show tables from xxx;
・データのインポート
mysql -u username -p
use xxx
¥. xxx.dmp
show tables from xxx;
2014.05.11 Sunday
centosの固定IPアドレス設定
centosでdhcpを固定IPに変更したときのメモ。
・設定ファイル編集
sudo su -vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#BOOTPROTO=dhcp
BOOTPROTO=static
ONBOOT=yes
BROADCAST=ブロードキャストアドレス
IPADDR=固定IPアドレス
NETMASK=ネットマスク
NETWORK=ネットワークアドレス
GATEWAY=デフォルトゲートウェイアドレス
・ネットワーク再起動
/etc/init.d/network restart
・ipアドレス確認
ifconfig
うまく設定できなかったのだけれど、GATEWAYがなかったためであった。
デフォルトゲートウェイには、ルータのIPアドレスを指定する必要がある。
・設定ファイル編集
sudo su -vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
#BOOTPROTO=dhcp
BOOTPROTO=static
ONBOOT=yes
BROADCAST=ブロードキャストアドレス
IPADDR=固定IPアドレス
NETMASK=ネットマスク
NETWORK=ネットワークアドレス
GATEWAY=デフォルトゲートウェイアドレス
・ネットワーク再起動
/etc/init.d/network restart
・ipアドレス確認
ifconfig
うまく設定できなかったのだけれど、GATEWAYがなかったためであった。
デフォルトゲートウェイには、ルータのIPアドレスを指定する必要がある。
2014.05.10 Saturday
centos5にphp5.4をインストール
centos5には最初からphp5.1.6が入っている。
cakephp2.xを動かすのにはphp5.2.8以上が必要なので、phpのバージョンアップをする。
・パッケージマネージャを取得
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/5/x86_64/ius-release-1.0-11.ius.centos5.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/5/x86_64/epel-release-5-4.noarch.rpm
・パッケージマネージャをインストール&アップデート
rpm -Uvh epel-release-5-4.noarch.rpm
rpm -Uvh ius-release-1.0-11.ius.centos5.noarch.rpm
・古いphpは削除
yum erase php-cli php-common php php-ldap php-mbstring php-mysql php-pdo
・php5.4をインストール
yum install php54 php54-cli php54-common php54-mbstring php54-mysql
・phpのバージョン確認
php -v
以上
cakephp2.xを動かすのにはphp5.2.8以上が必要なので、phpのバージョンアップをする。
・パッケージマネージャを取得
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/5/x86_64/ius-release-1.0-11.ius.centos5.noarch.rpm
wget http://dl.iuscommunity.org/pub/ius/stable/CentOS/5/x86_64/epel-release-5-4.noarch.rpm
・パッケージマネージャをインストール&アップデート
rpm -Uvh epel-release-5-4.noarch.rpm
rpm -Uvh ius-release-1.0-11.ius.centos5.noarch.rpm
・古いphpは削除
yum erase php-cli php-common php php-ldap php-mbstring php-mysql php-pdo
・php5.4をインストール
yum install php54 php54-cli php54-common php54-mbstring php54-mysql
・phpのバージョン確認
php -v
以上