睡眠の重要性スマートフォン用の表示で見る睡眠の重要性この広告は、90日以上更新していないブログに表示しています。Nativeは2週間に1度のペースでアップデート(早い時は3日に1度のペース)しているので、利用しているライブラリがアップデートに追いつかず壊れるときがしばしばあります。Nativeのアップデートに伴いエラーが発生しました。今回は現時点(2017年4月25日時点)での解決方法を書きます。0.43.4解決方法は簡単でpackage.jsonのバージョン指定にreact-nativeのコミットIDを指定するだけです。いつ壊れてもおかしくない状態になります。コミットIDを指定して固定しておくのが安全です。はじめるサーバ作業の自動化」を見た友人からAnsible良さそうって聞いたので調べてみた。Puppetなどサーバ->クライアント構成(サーバからクライアントに命令するPush方式)Ansible,Func,Fabric,Capistranoなど導入のしやすさドキュメントが短いため習得が簡単どの言語でもモジュールが書ける用語モジュールソフトウェアのインストール、サービスの起動などのクライアント内での動きを定義Python以外の言語で書くことも可能。導入ここから実際にAnsibleを使います。6.5)構成でやります。?接続先を記述したインベントリファイルを用意しないとダメです。ファイル名はhostsとします。issue鍵周りかなーと思いつつ、`~/.ssh/configのHostをnodeから192.168.33.10に書き換えます。"pong"}これで成功しました。bookを作成します。bookは複数のモジュールを定義したファイルです。今回はApacheを試しに入れてみます。yumやserviceがモジュールにあたる部分です。enabled=yes記述後は構文に問題がないか確認します。ここからは先ほどと変わってansible-playbookコマンドを使っていきます。simple.yml問題があれば何かしらエラーを出力します。ansibleを使ってApacheをインストールします。本来ならインストールする前に--checkオプションを指定してdry-runしておいた方が安全です。failed=0192.168.33.10にアクセスするとApacheのテストページを閲覧することができました。bookを利用してソフトウェアのインストールが出来ました。tipsインベントリファイルの指定を省略する毎回インベントリファイルを指定するのが面倒な場合はansibleの設定ファイルに記述すると省略できます。ansible.cfgを用意して、そこにhostsを指定します。./hostsインストール時にターミナルから入力させる追加するユーザ名を入力させるときは以下のようになる。name={{username}}yamlファイルで繰り返しを利用する例えばphpをインストールする場合、phpだけでなく紐づくソフトウェア(php-mysql)もインストールすることがあります。そんなときは繰り返しを使うことで複数のソフトウェアを入れることが出来ます。php-mysqlwith_itemsで指定したソフトウェアが順次itemに展開され、インストールされていきます。まとめ以前、chefを使っていましたが対象サーバにchefを入れる必要があるため、時間がかなり掛かっておりここがネックだなーと思っていました。Ansibleであればsshで実行しているため、より気軽に開発サーバを作ったり壊したり出来そうです。特定言語の知識が必要ないのも嬉しいところです。(といってもYAMLの構文を覚える必要はありますが。)YAMLの構文はこちらでまとめられていたので大変参考になります。blogなんにせよ簡単に導入できたのでchefから乗り換えてみようと思います。Tumblr広告を非表示にするもっと読むコメントを書く2014-09-19Sinatraでパスによって処理を変更する(ruby勉強6日目)Qiitaだと一覧性に欠けるので、hatenaに戻しました。mofumofu3nと表示するのを考えます。この場合は以下の様に実装できます。endhello/mofumofu3nのmofumofu3nに当たる部分が:nameに格納されます。mofumofu3nにアクセスすることができます。これだと変数へのアクセスが冗長なので、以下のように変更することもできます。endとりあえずここまで。#{name}!の「!」って何を表してるんだろ。Tumblr広告を非表示にするもっと読むコメントを書く2014-09-11Rspecその2(3.0+1.0日目)昨日の続きで今回は実際にfizzbuzzを判定する部分のユニットテストを書いていきます。テスト対象が別のメソッドなのでdescribeを分ける。contextを明確にする。endendこんなふうになりました。ここから検証用のコードを書いていきます。endend@がつくとインスタンス変数として扱われます。あとはそれぞれの状態の時のテストを書いていきます。シンボルのfizzが帰ってきているか懸賞するあとは同じように書いていけばおけ。今日は疲れてるので、これで終わり。sinatraとかを使ってみたい。1.0日目)ruby今日はrubyでユニットテスト書いてみる。目的としてはrubyによる書き方を学ぶこと。実際に品質が担保できているかは今回見ないテストの対象は昨日書いたFizzBuzzで。--initこれでユニットテストに必要なファイルは揃った。ファイル構成は以下の通りfizzbuzz.rbspec/spec_helper.rbfizzbuzz_spec.rb次からテストコードを書いていく。テストコードspecディレクトリにfizzbuzz_spec.rbを作成する。テストコードのファイルには_specって接尾語を入れるらしい。10enddescribeの後ろにはテスト対象のクラスを記述する。実際に行うテストはit以降に記述する。それが実際の値と同じかを検査している。いざ、これを実行すると見事に失敗する。nil単純にインスタンスを生成しただけでは、sizeが入らないのでそもそもテストに失敗する。FizzBuzzクラスを書き換える。endinitializeメソッドでsizeを決定するように修正した。引数に整数が入っていれば、その値を。なければデフォルト値の10が入るようになっている。これでテストを実行すると、成功!ついでに値を指定した時のテストもしてみる。endこれも成功!とりあえず、今日はここまで。endただ、これだとエラーが表示される。(LoadError)ようは見つからないよってことみたい。調べてみたところ、こちらが参考になった。要は実行するときに同じ階層を読み込むがfizzbuzz.rbが同じ階層にないため、エラーしていた。ファイルの階層を変更するのはちょっと違うので、require_relativeを使えば良いとのこと。このrequire_relativeは今の位置から相対パスでrequireしてくれる。requireだとエラーしてしまうので、require_relativeを利用するのが良さそう。他にもありそうだが、今回は本筋と違うので飛ばす。Tumblr広告を非表示にするもっと読むコメントを書く2014-09-09【wip】mailread.rb読んでみる(1.0+2.0日目)ruby前回Rspecやるって書いたけど、ちょっと寄り道。mailread.rbが初心者向けとのことなので読んでみる。endenddefined?メソッドが定義されているか判定するunless条件式が偽の時にelseを指定することはできない。elseを指定する場合はif文にする。コードリーディング最初の部分は以下の通りになる。endinitializeの引数fがgetsメソッドを持っていなかった場合、fをファイル名とみなしファイルオープンする。Tumblr広告を非表示にするもっと読むコメントを書く2014-09-09ruby始めてみた(1.0+1.0日目)ruby日曜くらいからrubyを触り始めました。そもそもなぜ今更rubyを始めたのか。スクリプト言語をちゃんと学びたかった。インフラ周りのツールがrubyで書かれてることが多い。(chefとか)かなり前から流行ってるじゃん?特にやりたいことは決まっていないので、思いついたことをやっていきます。最初はお馴染みのFizzBuzzをやって、rubyの文法に慣れていこうと思います。FizzBuzzとはプレイヤーは円状に座る。最初のプレイヤーは「1」と数字を発言する。次のプレイヤーは直前のプレイヤーの次の数字を発言していく。Buzz」)を数の代わりに発言しなければならない。発言を間違えた者や、ためらった者は脱落となる。fizzbuzz.sizefizzbuzz.doここで学んだことクラス定義やメソッド定義は実行前に記述する必要がある。メソッドの()は省略可能。引数が1つの場合のみみたい。