このスライドに基づくハンズオン研修を開催します!https://www.ntts.co.jp/event/2016/170206_android.html 2017/2/6(月)13:00-17:00@品川で5,400円です。 ご参加をご検討ください! NTTソフトウェア社内のソフト道場研修で実施した、Androidテスティング実践研修テキストの3. ユニットテスト・CI編です。
![Appium を使って iOS / Android の UI テストを共通化](https://cdn-ak-scissors.b.st-hatena.com/image/square/2bfe7ee2892db77859892d3a434c0b702b8ec854/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2F20150921kamiyamarb2-150921060442-lva1-app6892-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
背景 ある程度中規模のアプリケーションを作成する前提で、公式サイトの「Getting Started」とは構成を変える。Viewは別ファイルへ分ける。Modelはクラスを分ける。サーバー実行コードをアプリケーションコードから分ける。ライブラリはbundlerで管理する。Viewはhaml, sass, coffeescriptを使用する。テストにはrspecを使用する。 実装 ディレクトリ作成
こんにちは。リスペクトの木村です。 今日は、「MailCatcher」というRubyで使うGemライブラリの話をお送りします。 MailCatcher とは Samuel Cochran氏が開発した、シンプルなSMTPサーバーです。特に細かい設定は不要で、起動するだけでSMTPサーバーが起動します。(ポートは1025番) これだけであればよくあるSMTPサーバーなのですが、MailCatcherの特徴は「SMTPサーバーを経由したメールをブラウザ上から確認できる」という所にあります。送信しようとしたメールはMailCatcherのSMTPサーバーから先には送信されません。 Webサーバーが同時に起動(ポートは1080番)するので、ブラウザからアクセスすると下記のような画面が表示されるので、そこから確認できます。 届いたメールはほぼリアルタイムで受信トレイに表示されるため、リロードの必要はあ
require "HelloWorld" def main # size define resources = { small: { size: {w: 480, h: 320}, directory: "res/iphone" }, medium: { size: {w: 1024, h: 768}, directory: "res/ipad" }, large: { size: {w: 2048, h: 1536}, directory: "res/ipadhd" } } design_resolution_size = resources[:small][:size] director = CC::Director.get_instance glview = director.get_open_glview if ! glview glview = CC::GLViewImpl.cr
今日は僕が開発しているTrusterd HTTP/2 Webサーバの一つの特徴である、「HTTP/2機能のアプリ組込み」の方法を紹介したいと思います。 Cをちょっと書けるレベルの人でも5分でCアプリにHTTP/2機能を組み込んで、自分のHTTP/2サーバを実装できます。 mrubyをGitHubからcloneしてビルド まずはmrubyをGitHubからダウンロードしましょう。 git clone https://github.com/mruby/mruby.git cd mruby そして、build_config.rbに必要なmrbgemを書きます。 ・ ・ # include the default GEMs conf.gembox 'full-core' conf.gem :github => 'iij/mruby-socket' conf.gem :github => 'iij/
➜ jewelrybox bundler help gem Usage: bundler gem GEM [OPTIONS] Options: -b, [--bin=Generate a binary for your library.] -t, [--test=Generate a test directory for your library: 'rspec' is the default, but 'minitest' is also supported.] -e, [--edit=/path/to/your/editor] # Open generated gemspec in the specified editor (defaults to $EDITOR or $BUNDLER_EDITOR) [--ext=Generate the boilerplate for C ext
9/16日、RubyMotion が Android に対応し public Beta として公開された。 9/18〜20まで開催された RubyKaigi 2014 でも RubyMotion for Android に関するセッション があり、かなり感銘を受けたのでブログにまとめることにする。 RubyMotion とは何か すごく簡単に言うと iOS や OSX, そして Android のネイティブアプリを Ruby で書けるというツール群である。 http://www.rubymotion.com/ Titanium や PhoneGap とは明確に異なり、各ランタイムが直接解釈できるネイティブコードを生成するのが特徴。従ってパフォーマンス的なオーバーヘッドがほとんどなく ※1 、利用できる OS の API にも基本的に制限がない。 何より Ruby で書けるのである。なんて素
================ ruby-qmlという、QML / Qt Quickを使ってUIを記述し、Rubyで書いたロジックと組み合わせてGUIアプリを作ることを可能にするgemを作りました (gem名は'qml') 。 https://github.com/seanchas116/ruby-qml で公開しています。 今のところ、Ruby 2.0以降・OS X/Linuxに対応しています。 [追記] Qtは 5.2 以降に対応しています。 [さらに追記] Ruby 1.9.3に対応しました。 [2014-10-14] QML.application do ~をQML.run do ~に修正しました。 何ができるか? ruby-qmlでできるのは、 クロスプラットフォームのUI記述言語であるQMLを使ってQt QuickのGUIを書く Rubyでアプリのロジック部を書く それらを組
はじめまして。荻原といいます。グリーのプラットフォーム部門で、サーバーサイドのエンジニアをしています。 昨年末ぐらいまで業務の空き時間にテスト周りでごにょごにょと動いていたので、今日はそのことについて書かせて頂きます。 こんな人は読むと役に立つかもしれません。 レガシーなプロダクトになんとかして突破口を開きたい PHPUnit の書き方で参考になりそうなものを探している Ruby でスマートフォンのブラウザ操作を自動化したい 経緯 こちらでも言及されている通り、サービスを運営している以上、時には技術的負債に向き合わなければなりません。GREEも歴史が長いプロダクトなので、日々コードをリリースしていく中でそういった問題に頭を抱える場面もありました。 技術的負債による副作用はたくさんありますが、どういう点に不安を感じていたのか、実際に開発の現場に立って感じたことをいくつか書いてみたいと思います
カンファレンスから見る SRE トレンド 2024 / SRE Trends from Conferences in 2024 #SRE_Findy
はじめに こんにちは。ひさびさにサーバーサイドの記事の投稿になります。何気なく Heroku で軽快な Web サーバーを構築してみたくなったので、そのメモを残してみたいと思います。 開発環境 Mac OS X 10.9 rbenv 0.4.0 Ruby 2.0.0p353 それでは、構築します 初期設定 # フォルダ作成&移動 mkdir sample-app && cd sample-app # Gitリポジトリにする git init # .gitignore の生成 gi ruby,rails # Gemfile の生成 bundle init .gitignore ファイルは gi コマンドは gitignore.io というサービスを使って生成してみました。 各種 Gem のインストール 次に Gemfile を編集します。 vim Gemfile Gemfile source
yonekawaです。 この記事ではJoyboxというライブラリを使用しRubyMotionでゲームを作る方法を紹介します。 JoyboxはiOSでメジャーなゲームエンジンであるCocos2DとBox2Dという物理エンジンを内包し、RubyMotionで扱えるようにAPIをラップしたゲーム開発ライブラリです。 Joyboxのインストール/プロジェクトの作成 JoyboxはRubyGems経由でインストールします。 % motion create --template=joybox-ios amazing-game Create amaizing-game Create amaizing-game/.gitignore Create amaizing-game/app/app_delegate.rb Create amaizing-game/Rakefile Create amaizing-
Chef、Vagrantに興味があるけどRubyをやったことない技術者が最低限知っておいた方がいい知識 まとめ 最近、ChefやVagrantを勉強し始めたのですが、設定がRubyで記述されているため私は「たのしいRuby」を読んで勉強することにしました。 私は元々Rubyに興味があったのでいいのですが、Ruby知らないしそのために勉強するのは大変だから手を出すのをやめとこう、と思う人がいるかもしれないのでこれだけ知っていればある程度読めるのではないか、というポイントをまとめました。 まったくプログラミングをしたことない方には説明するのは無理なのでプログラミング経験があり 条件分岐、ループ、クラス、メソッド、文字列 が何か分かるくらいの方が対象です。if文、for文など他の言語でもあるようなものは省いていきます。 真面目にRubyを勉強したい方は下のアフィリエイトから「たのしいRuby」を
Ruby大好きな私としては、一般配布するGUIアプリケーションとかもRubyで書きたい訳です。しかし、Windowsには標準でRubyは入っていないし、Macもバージョンが古い1.8.7が標準だしで、普段プログラミングなんかしない一般ユーザーさんでも簡単に起動できるアプリケーションを作るのがなかなか難しいという問題があります。 そういった問題から、クロスプラットフォームな言語・ライブラリ、例えばC++のQtなんかに一時期浮気したりもしたのですが、やっぱりRubyで書きたい。だってRubyが好きだから。 そして、色々調べまくった結果、はい、ついに「これだ!」と思えるRubyによるGUIアプリケーション開発環境を揃えることができました。それは… JRuby JavaFX jrubyfx Rawrこの組み合わせです…!それぞれ解説していきましょう。 JRuby … JavaでRuby!JRuby
Ruby中級入門 1. Ruby中級入門 @shokai 2013年8月5日(火) @masuilab 2. 私 •@shokai (しょうかい) •趣味:料理、glitch 3. ある程度大きなアプリケーションを作 っていると、部品に分割したくなると 思います。アプリ内ライブラリやgem の作り方を説明します。Rubyの機能を 活用した使い勝手の良いライブラリの デザインについて考えます。 4. • アプリ内ライブラリの作り方・gemの作り方 • サンプルコードとテスト • ライブラリのデザイン • API • DSL • 泥臭い小手先の技 • 例外・エラーの通知 • ドキュメント コンテンツ 5. ライブラリを作る 例:LeapMotionを自作アプリに組み込むための アプリ内ライブラリを作る 6. • LeapMotionはport 6437にWebSocket 接続するとJSONで
MessagePackって何? MessagePackとはなにかといいますと、JSON互換の異なる言語間でデータ交換するためのシリアライズフォーマットです。JSONのような型を扱え、 JSONよりコンパクトで、速いと言われています。(mrubyではまだ性能評価していないので、今後やってみたいと思います。) ログコレクターで有名なfluentdというミドルウェアで使用されています。 MessagePack for mruby 今回、MessagePack for ruby v 0.5.5からmrubyにGEMとして移植しました。すべて移植したわけではないので、α版というところでしょうか。 MessagePack#pack,MessagePack#unpackメソッドでだいたいの型を使用出来るようになっています。 次の例は配列をシリアライズして、MessagePack#unpackメソッドでデ
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 mrubyも少しずつ知られてきていて、WindowsやLinux、MacOSX等マルチプラットフォームで色々遊んでいる人が多いことでしょう。そうなってくると、しばらく弄ってみた後はやっぱりマルチプラットフォームで同じようにHTTPで通信してみたいと思いませんか? 例えば、 mrubyでHTTPのGETとかPOSTとかしてみたり mrubyを組み込んだデバイスからTwitterに呟いてみたり 各種デバイスからZabbixをつついてみたり エアコンを監視してるRaspberry PiからGrowthForecastにデータを送ってグラフ化してみたり 組み込みデバイスや低レイヤーなソフトウェアからfluentdにデータを送って解析してみたり という
mrubyに任意の型のC言語の関数を登録するためのバインダを作りました。 mrubybind - Binding library for mruby/C++ 使い方は簡単で、mrubybind.hをインクルードしてMrubyBindというクラスのインスタンスを生成する。そして、あるC言語の関数foobarがあったとき、 #include "mrubybind.h" void init(mrb_state* mrb) { mrubybind::MrubyBind b(mrb); b.bind("foobar", foobar); } とすれば、mrubyからその登録した名前で呼び出すことができる。mruby側から渡した引数が自動的にCの関数に渡り、その関数からの戻り値がmruby側に戻る。関数をバインドした後はMrubyBindのオブジェクトは捨ててしまってokです。 以下は実装の説明。 m
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く