2015年7月21日火曜日

Titaniumでlodashを使う

titanium_lodashTitaniumで開発するときは外部ライブラリを使わずネイティブなJavaScriptの書き方をしていたけど、Alloyはunderscore.js使っているし、新規開発はlodashを使おうと設定したときの覚書。

ちなみにAlloyを使わずにレガシーな書き方をしてる。

環境: OS X 10.10.4, Titanium SDK 4.1.0.GA

 

参考

 


1.lodashをダウンロード、インストール

今後のバージョンアップを簡単にするためにlodashコマンドをインストール
$ cd /path/to/project/
$ sudo npm install -g lodash-cli

コマンド確認
$ lodash --help

「modularize」にしようか迷ったけど、とりあえず一つのファイルの方が管理しやすいので「modern」でインストール。
$ lodash modern --production --output Resources/lib/lodash.js

var _ = require('lib/lodash');

 

 


2.PhpStrom用設定

なぜかPhpStormでunresolvedのWarningが出るので、npmとしても追加する。
$ npm install lodash --save-dev

node_modulesを「library home」に設定。

Settings -> Languages & Frameworks -> JavaScript -> Libraiesで「lodash-DefinitelyTyped」を追加しても「unresolved」は消えなかった。

 

複雑な処理はAPI(サーバー)側でやっているので、そんなにlodashの出番がない。。。

 

< Related Posts >

2015年7月13日月曜日

CentOS6にfontcustomをInstallしてWebフォントを作成

icon_font_centosIE8のサポートが2016/01/12に終了するし、受注したホームページ案件にWeb(アイコン)フォントを使用したときの覚書。

WebフォントはIE9以上でないと表示できない。

簡単に流用出来てしまうし、手間と効果を考えるとホームページ程度なら画像で十分な気もする。

環境: CentOS 6.6, fontforge-20090622, fontcustom-1.3.8

 

目次

  • fontcustomをインストール
  • SVGをフォントに変換
  • Twitter Bootstrapと併用する

 


1.fontcustomをインストール

gemを実行するのでRubyが必要。前の記事を参考に。

あとはGitHub上のREADME通りに。

フォント作成プログラムfontforgeをインストール
# cd /opt/software/
# yum install fontforge

woffに変換用プログラムをインストール
# wget http://people.mozilla.com/~jkew/woff/woff-code-latest.zip
# unzip woff-code-latest.zip -d sfnt2woff && cd sfnt2woff && make && sudo mv sfnt2woff /usr/local/bin/

gem経由でfontcustomをインストール
# gem install fontcustom

確認
# fontcustom --version

fontcustom-1.3.8


 


2.SVGをフォントに変換

デザイナーが作成したイラストレーターファイルからSVGとして書き出す。出力時のオプション。

image

変換コマンド実行
# /path/to/project/fonts/
# fontcustom compile svg/ --name=icons --output=icons

CSSも出力してくれるので使いやすい。

 


3.Twitter Bootstrapと併用する

BootstrapのLESSを読み込んでいるので、glyphiconを拡張する書き方にした。

参考

main.less

@font-face {
font-family: "icons";
src: url("../fonts/icons.eot");
src: url("../fonts/icons.eot?#iefix") format("embedded-opentype"),
url("../fonts/icons.woff") format("woff"),
url("../fonts/icons.ttf") format("truetype"),
url("../fonts/icons.svg#icons") format("svg");
font-weight: normal;
font-style: normal;
}
.icons:extend(.glyphicon) {
font-family: 'icons';
}
.icons-balloon:before {
content: "\f100";
}
.icons-corner:before {
content: "\f101";
}
 
test.html
<span class="icons icons-corner" aria-hidden="true"></span>

 

 

< Related Posts >

2015年7月10日金曜日

子育て支援ウェブサービス

teniteoたなごころを開発しているので、気になったサービスの覚書。WBSなどテレビで紹介されてた。

 

参考

 

 

タスカジ(https://taskaji.jp/

image

働いているママと働きたいママを結ぶ「家事シェア」サービス。

1時間1,500円の安さ。

フィリピンの人が多いらしい。

アプリ:なし
※ウェブがスマホ対応


 

おかん(http://okan.jp/

image

毎月真空パックされたおかずを郵送してくれる。

アプリ:なし

個人的に利用しているけど、メニューが変わり映えしないし、味付けも濃いので飽きてきた。


 

 

エニタイムズ(https://anytimes.co.jp/

image

「困った」と「できる」を繋ぐお仕事仲介サービス。

値段は自由に設定可能。

アプリ:あり


 

 

ベアーズ(http://www.happy-bears.com/

image

家事代行サービスの大手。

しっかりと教育された専任スタッフが家事代行してくれる。

アプリ:なし


 

 

cookpadベビー(http://www.happy-mama.com/

image

育児系情報サイト。

2015年5月からクックパッドに移管されて、レシピとの連携が大幅強化。

「はっぴーママ」は育児タウン誌

アプリ:なし


 

 

アズママ(http://asmama.jp/

image

登録した近所の人と子育てを助けあう。

謝金は500円~700円。利用者感で直接やり取り。仲介手数料なし。

アプリ:なし


 

 

 

< Related Posts >

2015年7月9日木曜日

npm install --globalを毎回実行するのが面倒くさい

npm-update-globalnvmでiojsを追っていると頻繁にnpm install --globalを実行するのが面倒くさい。

設定ファイルから簡単にインストール出来ないかと調査したときの覚書。

環境: nvm 0.25.4

下記サイトで議論されている。

 

package.jsonに書くのは推奨されてないみたいなので自分用のシェルスクリプトを書くことにした。

# su - node
$ vi npm-global.sh

#! /bin/sh

# Install Node Packages
npm install -g grunt-cli node-dev pm2 npmlist

# Show Installed List
echo
echo 'Completed!!'
echo
npm -g list --depth=0

$ chmod +x npm-global.sh
$ ./npm-global.sh

必要なものが増えたら書き足していく。

 

issueで「nvm reinstall-packages」を使えばいいという議論があるので、そのうち出来るようになっていると思う。

 

< Related Posts >

2015年7月8日水曜日

WP-CLIをInstallしてWordPressのVersion管理

wordpress_cliWordPressのインストール、アップデートを自動化したくて調査したときの覚書。

環境: CentOS 6.6, PHP 5.4.42, WordPress 4.2.2

WordPressをコマンドラインで管理する方法はいくつかある。

ライブラリ 説明
WP-CLI PHP Archive(PHAR)という形式で配布されている。
YeoPress yeomanというウェブアプリ向けのツール管理ソフトのWordPressジェネレーター。npmっぽく管理できる
Git GitHubにWordPressのリポジトリがあるので、ブランチをチェックアウトして運用する。

プラグインの単体テストもやる予定なので、WP-CLIをインストールしてみた。

参考

 

目次

  1. WP-CLIをインストール
  2. WordPressをインストール、アップデート
  3. プラグインの一覧とアンインストール
  4. テーマの一覧と削除
  5. 初期インストール時のwpコマンドまとめ

 


1.WP-CLIをインストール

公式サイトを参考に。

# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
# chmod +x wp-cli.phar
# mv wp-cli.phar /usr/local/bin/wp

rootでwp --infoを打つとエラーになるので、ユーザーを変更して確認
# su - node
$ cd /path/to/wordpress/
$ wp --info

PHP binary:     /usr/bin/php
PHP version:    5.4.42
php.ini used:   /etc/php.ini
WP-CLI root dir:        phar://wp-cli.phar
WP-CLI global config:
WP-CLI project config:
WP-CLI version: 0.19.2

 


2.WordPressをインストール、アップデート

公式サイトもしくはwp helpでコマンドを確認。wp helpが分かりやすい
$ wp help

試しにWordPress 4.2.1をインストール
$ wp core download --version=4.2.1 --path=wordpress

確認
$ wp core version --path=wordpress

設定
$ wp core config --dbname=wordpress --dbuser=user --dbpass=pass --path=wordpress/

最新にアップデート
$ wp core update --path=wordpress/

 


3.プラグインの一覧とアンインストール

wp pluginコマンドを使う
$ cd wordpress/
$ wp plugin list

+---------+----------+-----------+---------+
| name    | status   | update    | version |
+---------+----------+-----------+---------+
| akismet | inactive | available | 3.1.1   |
| hello   | inactive | none      | 1.6     |
+---------+----------+-----------+---------+

アンインストール
$ wp plugin uninstall akismet hello

 


4.テーマの一覧と削除

wp themeコマンドを使う
$ wp theme list

削除
$ wp theme delete twentythirteen twentyfourteen

 


5.初期インストール時のwpコマンドまとめ

新しくサイトを構築するときのコマンドまとめ
$ cd /path/to/project
$ wp core download --path=wordpress
$ cd wordpress/
$ wp plugin uninstall akismet hello
$ wp theme delete twentythirteen twentyfourteen

あとはサイトに直接アクセスしてインストール実行。

設定ファイル書いてnpm installで終わり。。。という感じにするためにはYeoPressを利用する必要がありそう。

 

< Related Posts >

2015年7月6日月曜日

CoreOS入門。VMware FusionでCoreOSを起動してみる

coreos_on_vmware-fusiondockerを調査するためにCoreOSをインストールしてみたときの覚書。

環境: VMware Fusion 7.1.2

CoreOSはLinux Kernel 4.0なのでVMware Fusionでは対応してないと思ったら、公式にVMwareに対応した仮想マシンを配布しているのでダウンロードするだけで試せる。

 

目次

  1. CoreOSとは
  2. 仮想マシンをダウンロード
  3. 起動してSSH経由でアクセス

 


1.CoreOSとは

CoreOSはLinuxディストリビューションの一つ。

詳しくは下記参照

 

特徴

  • パッケージ管理(yum, apt)の代わりにdockerで全てのユーザーサービス(パッケージ)を管理
  • 複数台でのクラスタ構成をOSがサポート(CoreOS clusterと呼ぶ)。fleetを通して管理
  • CoreOS cluster上のサービスはホストのetcdを通して繋がる。データベースの接続先などetcdに問い合わせるとクラスタ内のどこかにあるアドレスを返す。
  • 自動アップデートが出来る。反映させるために再起動は必要。クラスタ構成しているならサービスの切り替えなどは自動でやってくれる

 


2.仮想マシンをダウンロード

公式ページからダウンロード

Stable → Browse Images → coreos_production_vmware_insecure.zip

 


3.起動してSSH経由でアクセス

解凍して、vmxファイルをダブルクリックするだけで起動する。

起動後のコンソール画面にIPアドレスが表示されているので、SSHでアクセスする。

image

SSHの秘密鍵は同封されている「insecure_ssh_key」を指定する。

今日のところはここまで。

 

いろいろな単語が出てくるけど、それぞれの違いと役割がまだわかっていない。

docker, etcd, fleed, fannel, Kubernetes

参考サイト

 

< 2015/09/14 Modified >
CoreOSはDockerに最適化されているけど、開発環境では慣れているCentOS上でDockerをインストールした方がやりやすい。

その場合はKernelの問題でCentOS7を推奨

 

< Related Posts >

2015年7月2日木曜日

Titanium + Socket.IO(WebSocket)について調査

titanium_socketioTitaniumでWebSocketを活用したリアルタイムアプリを作りたくて調査している時の覚書。

TiWSというTitaniumモジュールは管理する人が変わりながらメンテナンスはされているみたい。

Socket.io 1.0には対応していないみたい。

 

Socket.IOにはiOS, Android用のクライアントライブラリが公開されているので、これらをTitaniumモジュールとしてラッピングしたい

 

TitaniumモジュールでSwiftはまだ使えない?Titanium 4.0からはSwiftでも大丈夫になった感がある。

 

この前Google NextでFirebaseの話を聞いたので、こちらも気になったりしてる。

 

< Related Posts >

2015年7月1日水曜日

git(GitLab)ユーザーのrubyプロセスが100%に近くなる

gitlab_questionある日突然git fetchが失敗するので調べたときの覚書。

環境: CentOS 6.6, GitLab 7.11.4 → 7.12.0

 

Mac上でgitコマンドを打つと下記エラー
$ git fetch origin

remote: Counting objects: 48, done.
remote: fatal: unable to create thread: Resource temporarily unavailable
error: git upload-pack: git-pack-objects died with error.
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: aborting due to possible repository corruption on the remote side.
fatal: protocol error: bad pack header

あれ?と思ってもう一度実行
$ git fetch origin

[FATAL] failed to allocate memory
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

SSH接続で既に失敗する。

サーバー側でSSHデーモンを再起動しようとすると「fork: メモリを確保できません」とエラーになった。

topコマンドを打つとgitユーザーがrubyコマンドを一生懸命実行していてcpu使用率が100%になっている。

試しにGitLabサービスを止めてみるとCPU100%状態が収まったので、GitLabが原因だと判明。
# gitlab-ctl stop

もう一度GtiLabを実行しながらログを確認。
# gitlab-ctl start
# tail -f /var/log/gitlab/unicorn/unicorn_stderr.log

/opt/gitlab/embedded/service/gitlab-rails/config/initializers/gitlab_shell_secret_token.rb:13:in `write': Permission denied @ rb_sysopen - /opt/gitlab/embedded/service/gitlab-rails/.gitlab_shell_secret (Errno::EACCES)

なんかエラーを吐き続けてる。

書き込みに失敗している様子。

プログラムを確認
# more /opt/gitlab/embedded/service/gitlab-rails/config/initializers/gitlab_shell_secret_token.rb

「Gitlab.config.gitlab_shell.secret_file」を設定すれば良さそう。

 

ここでGitLabをYUM経由で7.12.0にアップデートしたけど、reconfigureしてないと気づいてやってみる。
# gitlab-ctl reconfigure
# gitlab-ctl restart

。。。直ったっぽい。

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives