投稿

7月, 2015の投稿を表示しています

Titaniumでlodashを使う

イメージ
Titaniumで開発するときは外部ライブラリを使わずネイティブなJavaScriptの書き方をしていたけど、Alloyはunderscore.js使っているし、新規開発はlodashを使おうと設定したときの覚書。ちなみにAlloyを使わずにレガシーな書き方をしてる。環境: OS X 10.10.4, Titanium SDK 4.1.0.GA参考UnderscoreとLodashが統合に向けて議論 | InfoQlodash custom builds1.lodashをダウンロード、インストール今後のバージョンアップを簡単にするためにlodashコマンドをインストール
$ cd /path/to/project/
$ sudo npm install -g lodash-cliコマンド確認
$ lodash --help「modularize」にしようか迷ったけど、とりあえず一つのファイルの方が管理しやすいので「modern」でインストール。
$ lodash modern --production --output Resources/lib/lodash.jsvar _ = require('lib/lodash');2.PhpStrom用設定なぜかPhpStormでunresolvedのWarningが出るので、npmとしても追加する。
$ npm install lodash --save-devnode_modulesを「library home」に設定。Settings -> Languages & Frameworks -> JavaScript -> Libraiesで「lodash-DefinitelyTyped」を追加しても「unresolved」は消えなかった。複雑な処理はAPI(サーバー)側でやっているので、そんなにlodashの出番がない。。。< Related Posts >今年のTitanium向けに書いた記事まとめとアプリ紹介2014版【Titanium】thisとparentとchildrenを使った書き方

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

イメージ
IE8のサポートが2016/01/12に終了するし、受注したホームページ案件にWeb(アイコン)フォントを使用したときの覚書。WebフォントはIE9以上でないと表示できない。簡単に流用出来てしまうし、手間と効果を考えるとホームページ程度なら画像で十分な気もする。環境: CentOS 6.6, fontforge-20090622, fontcustom-1.3.8目次fontcustomをインストールSVGをフォントに変換Twitter Bootstrapと併用する1.fontcustomをインストールgemを実行するのでRubyが必要。前の記事を参考に。SE奮闘記: GitをSourceからBuildしてRubyの最新版をInstallあとはGitHub上のREADME通りに。FontCustom/fontcustom | GitHubフォント作成プログラムfontforgeをインストール
# cd /opt/software/
# yum install fontforgewoffに変換用プログラムをインストール
# 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 --versionfontcustom-1.3.8
2.SVGをフォントに変換デザイナーが作成したイラストレーターファイルからSVGとして書き出す。出力時のオプション。変換コマンド実行
# /path/to/project/fonts/
# fontcustom compile svg/ --name=icons --output=iconsCSSも出力してくれるので使いやすい。3.Twitter Bootstrapと併用するBootstrapのLESSを読み込んでいるので、glyphiconを拡張する書き方にした。参考Language Features | Less…

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

イメージ
teniteoたなごころを開発しているので、気になったサービスの覚書。WBSなどテレビで紹介されてた。参考知らないと損!子育てのヒントになる便利サイト6個 - WooRis(ウーリス)WooRis(ウーリス)タスカジ(https://taskaji.jp/)働いているママと働きたいママを結ぶ「家事シェア」サービス。1時間1,500円の安さ。フィリピンの人が多いらしい。アプリ:なし
※ウェブがスマホ対応
おかん(http://okan.jp/)毎月真空パックされたおかずを郵送してくれる。アプリ:なし個人的に利用しているけど、メニューが変わり映えしないし、味付けも濃いので飽きてきた。
エニタイムズ(https://anytimes.co.jp/)「困った」と「できる」を繋ぐお仕事仲介サービス。値段は自由に設定可能。アプリ:あり
ベアーズ(http://www.happy-bears.com/)家事代行サービスの大手。しっかりと教育された専任スタッフが家事代行してくれる。アプリ:なし
cookpadベビー(http://www.happy-mama.com/)育児系情報サイト。2015年5月からクックパッドに移管されて、レシピとの連携が大幅強化。「はっぴーママ」は育児タウン誌アプリ:なし
アズママ(http://asmama.jp/)登録した近所の人と子育てを助けあう。謝金は500円~700円。利用者感で直接やり取り。仲介手数料なし。アプリ:なし
< Related Posts >子育て情報サイト「teniteo」アプリをアップデート

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

イメージ
nvmでiojsを追っていると頻繁にnpm install --globalを実行するのが面倒くさい。設定ファイルから簡単にインストール出来ないかと調査したときの覚書。環境: nvm 0.25.4下記サイトで議論されている。node.js - Install dependencies globally and locally using package.json - Stack OverflowAdd "globalDependencies" option in package.json for installing global dependencies. · Issue #2949 · npm/npm | GitHubpackage.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」を使えばいいという議論があるので、そのうち出来るようになっていると思う。Npm global modules · Issue #668 · creationix/nvm | GitHub< Related Posts >nvmをUpgradeしてio.jsをInstall

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

イメージ
WordPressのインストール、アップデートを自動化したくて調査したときの覚書。環境: CentOS 6.6, PHP 5.4.42, WordPress 4.2.2WordPressをコマンドラインで管理する方法はいくつかある。ライブラリ説明WP-CLIPHP Archive(PHAR)という形式で配布されている。YeoPressyeomanというウェブアプリ向けのツール管理ソフトのWordPressジェネレーター。npmっぽく管理できるGitGitHubにWordPressのリポジトリがあるので、ブランチをチェックアウトして運用する。プラグインの単体テストもやる予定なので、WP-CLIをインストールしてみた。参考Unit Tests for WordPress Plugins - Setting Up Our Testing Suite - Pippins Plugins目次WP-CLIをインストールWordPressをインストール、アップデートプラグインの一覧とアンインストールテーマの一覧と削除初期インストール時のwpコマンドまとめ1.WP-CLIをインストール公式サイトを参考に。Command line interface for WordPress | 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/wprootでwp --infoを打つとエラーになるので、ユーザーを変更して確認
# su - node
$ cd /path/to/wordpress/
$ wp --infoPHP 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.22.WordPressをインストール、アップデート公式サイトもしくはwp helpでコマ…

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

イメージ
dockerを調査するためにCoreOSをインストールしてみたときの覚書。環境: VMware Fusion 7.1.2CoreOSはLinux Kernel 4.0なのでVMware Fusionでは対応してないと思ったら、公式にVMwareに対応した仮想マシンを配布しているのでダウンロードするだけで試せる。Running CoreOS on VMware | CoreOS目次CoreOSとは 仮想マシンをダウンロード 起動してSSH経由でアクセス1.CoreOSとはCoreOSはLinuxディストリビューションの一つ。詳しくは下記参照CoreOS OverviewCoreOS 入門 - Qiita特徴パッケージ管理(yum, apt)の代わりにdockerで全てのユーザーサービス(パッケージ)を管理 複数台でのクラスタ構成をOSがサポート(CoreOS clusterと呼ぶ)。fleetを通して管理 CoreOS cluster上のサービスはホストのetcdを通して繋がる。データベースの接続先などetcdに問い合わせるとクラスタ内のどこかにあるアドレスを返す。 自動アップデートが出来る。反映させるために再起動は必要。クラスタ構成しているならサービスの切り替えなどは自動でやってくれる2.仮想マシンをダウンロード公式ページからダウンロードCoreOS Release NotesStable → Browse Images → coreos_production_vmware_insecure.zip3.起動してSSH経由でアクセス解凍して、vmxファイルをダブルクリックするだけで起動する。起動後のコンソール画面にIPアドレスが表示されているので、SSHでアクセスする。SSHの秘密鍵は同封されている「insecure_ssh_key」を指定する。今日のところはここまで。いろいろな単語が出てくるけど、それぞれの違いと役割がまだわかっていない。docker, etcd, fleed, fannel, Kubernetes参考サイトOpen Container Projectが発足:DockerとCoreOSの「コンテナ戦争」が終了、勝者はだれなのか - @ITIntroducing flannel: An etcd backed overlay network…

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

イメージ
TitaniumでWebSocketを活用したリアルタイムアプリを作りたくて調査している時の覚書。TiWSというTitaniumモジュールは管理する人が変わりながらメンテナンスはされているみたい。omorandi/tiws | GitHubSocket.io 1.0には対応していないみたい。Compatibility Socket.io 1.0 · Issue #9 · omorandi/tiwsSocket.IOにはiOS, Android用のクライアントライブラリが公開されているので、これらをTitaniumモジュールとしてラッピングしたいsocketio/socket.io-client-swift | GitHubnkzawa/socket.io-client.java | GitHubTitaniumモジュールでSwiftはまだ使えない?Titanium 4.0からはSwiftでも大丈夫になった感がある。[TIMOB-18844] iOS: Swift is not supported for Extensions - Appcelerator JIRAこの前Google NextでFirebaseの話を聞いたので、こちらも気になったりしてる。Firebase - Build Extraordinary Apps準リアルタイムなバックエンド開発を支援するGoogleのFirebaseTitanium - Firebaseを使ってリアルタイムサービス - Qiita< Related Posts >Google Container Engineについて調査TitaniumでWebSocketを使いたくてtiwsをビルドするアプリ向けのサーバーAPIは「REST」 or 「WebSocket」?

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

イメージ
ある日突然git fetchが失敗するので調べたときの覚書。環境: CentOS 6.6, GitLab 7.11.4 → 7.12.0Mac上でgitコマンドを打つと下記エラー
$ git fetch originremote: 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/initializ…