サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
www.ownway.info
RMagick は画像ファイルの読み込み、書き込み、画像の加工ができるライブラリです。 インストール RMagick は Pure Ruby のライブラリではなく、環境依存の native ライブラリです。 バックエンドに ImageMagick という環境依存の native ライブラリを使っており、ImageMagick が環境にインストールされていることが利用の前提となっています。 以下のページでは Windows 7 で RMagick をインストールする方法について説明します。 RMagick を Windows 7 にインストールする方法 使い方 RMagick の最も簡単なサンプルを示します。 # coding: UTF-8 require 'rmagick' image = Magick::ImageList.new("from.jpg") image.write("to.
難読化とは? .NET アプリケーションはバイナリから可読なソースコード形式への逆コンパイルが比較的容易にできます。 難読化はアプリの解読・改ざんを防ぐためのあらゆる措置のことです。 難読化の最も単純な事例はクラス名・メソッド名の置換です。名前から役割が類推されることを防ぎます。 難読化の必要性は? オープンソースで開発しているアプリなら特に必要はないと思います。 そうでないのであれば多かれ少なかれやっておいた方が良いのではないかと思います。 ツールの使い方を一度覚えてしまえば簡単ですし、ビルドプロセスに組み込んでしまえばツールを直接使うこともほとんどなくなります。 この記事では自分が使っている難読化ツールの使い方を紹介したいと思います。 難読化ツール Obfuscar 難読化をサポートするツールは数多くあります。今回紹介する難読化ツールはその中の1つです。 Obfuscar, The O
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 目的 Heroku アプリケーションの各種操作は heroku コマンドを介して行うのが標準です。 ここでは Ruby コードで直接 Heroku の API を呼び出して Heroku アプリケーションを管理する方法を紹介します。 この方法を使うと heroku コマンドの実行だけでは簡単にできない情報の参照が可能になります。 この方法を Rake に応用すれば アプリケーションの作成からデプロイまでの運用を簡
前提 2014/5/2 時点の最新の開発環境を使った場合のお話です。また、テストには自前の Android 端末(Android OS 4.1.2)を使っています。 将来的にはサポートライブラリの改修などで問題が解消される可能性があると思うのですが、現時点でどうしたら良いかという1つの解決策です。 ここで紹介する方法はメニューを有効にするという解決策ですが、メニューを無効にするという解決策もあります。 以下のページが参考になります。 ActionBar を持たないテーマを設定した Activity でやっておかないと悲しいクラッシュに遭遇した話 問題 ActionBar が不要(非表示)なアプリケーションを開発するとしましょう。 非表示にするには標準の Theme.AppCompat.Light に android:windowNoTitle = true のスタイルを適用します。 以下、
概要 * ここでは僕が個人的に使っている環境および MOD のセットを一通り紹介します。 自分が再度環境を再構築する際にも使うことを想定しています。内容は遊びながら順次書き換えているので注意してください。 本ページの内容は、MOD 導入初心者には難しい内容になっています。 難しいと感じた方は、以下を先に読むことをオススメします。 はじめての MOD 導入 上級者向け遊び方ガイド コンセプト * MOD を選択するに当たってのコンセプトについてまとめます。 ロリ系種族(Elin、Monli、Derived Elin)を起用し、キャラクターへの愛着を持ちつつ Skyrim の世界を楽しく歩くのがまず第一目標です。 さらに操作性を重視し、リアルタイムでの戦闘を楽しむことを目標にしています。 また、各種表示のユーザインターフェイス改善し、色々なことがひと目でわかるようにすることも重視しています。
ロリポップサーバで使える MySQL アクセス用 の Ruby ライブラリは? Ruby には MySQL にアクセスするためのライブラリが以下の2つあります。 MySQL/Ruby 内部で MySQL のライブラリを利用 gem install mysql でインストールする。 Ruby/MySQL Ruby ネイティブ gem install ruby-mysqlでインストールする。 MySQL/Ruby の後継 MySQL/Ruby は以下のサイトにある通り、開発が終了しているようです。 MySQL/Ruby終了のお知らせ 以上のサイトを見た感じだと、この2つのライブラリの作者は同じ人のようです。 ロリポップサーバで Ruby のプログラムを動かしているのですが、 ロリポップサーバがどちらのライブラリを使っているのか情報を探しましたが良くわかりませんでした。 ちなみに2つは同じファイ
[m2w]AtomPub を使って画像リソースを転送する。 AtomPub を使ってブログで使う画像リソースを転送するサンプルを紹介します。 Ruby で AtomPub を使う場合は atomutil というライブラリが使えます。 atomutil を使って画像リソースを転送する場合のポイントは以下の通りです。 画像リソースを転送すると、画像リソースエントリーの URL が返ってくる。 画像リソースエントリーの URL にアクセスすると画像本体の URL が返ってくる。 画像リソースはファイルの形になっていなければならない。 本記事では livedoor Blog への転送を事例にします。 ブログに画像を貼り付けるには3回アクセスする まずは画像リソース転送時のポイント 1 と 2 についてです。 画像リソースをブログに貼り付けるためには、計3回のアクセスが必要です。 画像リソースの転送
ロリポップ!レンタルサーバで Sinatra を動かす。 ロリポップ!レンタルサーバは Ruby をサポートしており、サーバ上に Ruby のプログラムを CGI として設置できます。 Ruby で本格的な Web アプリケーションを作ろうと思ったとき一番有名なフレームワークは Ruby on Rails でしょう。 しかし、残念ながらロリポップ!レンタルサーバは Ruby on Rails をサポートしていません。 cgi モジュールを使ってがんばって書くのも良いですが、最近は Ruby on Rails 以外にも有名な Web アプリケーションフレームワークが存在するそうです。その一つが Sinatra というフレームワークです。 この Sinatra を動かせないかためそうという試みです。 Ruby on Rails と Sinatra の違い Ruby on Rails と Sin
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 概要 pg は、PostgreSQL リレーショナルデータベースにアクセスするためのライブラリです。 このページでは pg を直接利用する場合の説明をしています。 pg は汎用リレーショナルデータベースアクセス用ライブラリのバックエンドライブラリとして使われることもあります。 pg を直接利用するのではなく汎用リレーショナルデータベースアクセス用ライブラリを使うことも念頭に置く必要があります。 参考 pg Doc
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 基本形 ライブラリ(gem)を読み込む(=require する)際に検索対象となるパスを追加したい場合、require を実行する前に以下の処理を実行します。 $:.unshift('パス文字列') パス文字列は、 絶対パス コマンド実行時ディレクトリからの相対パス どちらでも構いません。 また、以下の書き方は全て同じ意味になります。 # $LOAD_PATH を使った場合 $LOAD_PATH.unshift(
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 概要 ruby-mysql は、MySQL リレーショナルデータベースにアクセスするためのライブラリの一つです。 このページでは ruby-mysql を利用してデータベースにアクセスする方法について説明します。 MySQL にアクセスするためのライブラリは多数存在し、 その他にも汎用リレーショナルデータベースアクセス用ライブラリを使ったアクセスもできるため、それらを念頭に置く必要があります。 ruby-mysq
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す リレーショナルデータベース(汎用) ActiveRecord 各種データベースをサポートする O/R マッパーライブラリである。 各種データベース用にアダプターが用意されており、設定によりアダプターを切り替えることで各種データベースを扱える。 O/R マッパーなので SQL を書かないのが基本的である。 Active Record という用語自体はデザインパターンの1つでもある。 参考 メインサイト - Ruby
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 目的 Sinatra の重要な概念の1つにスコープという考え方があります。 スコープの理解が本ページの目的です。 理解すべきスコープは以下の2種類です。 アプリケーション/クラス リクエスト/インスタンス 処理の実行がどちらのスコープで行われるかによって利用できる機能が変わります。 書いている処理がどちらのスコープに属しているのかを理解するのはとても重要です。 それぞれのスコープで使える機能を以下にまとめています
本サイトの目的 * まず最初に本サイトは凡人用に作られていることをお断りしておきます。非凡人(≒既にマニアの領域まで達した方)の方を満足させることはできませんので予めご了承ください。 Skyrim は海外で作られた非常に自由度の高い一人用のアクションロールプレイングゲーム(オープンワールドアクション RPG)です。 国内産ロールプレイングゲームとは全く異なるコンセプトを持つゲームと言われています。 僕はこのスタイルのゲームを Skyrim で初めて体験しました。 とても面白かったです。いや、まるで遊び終わったかのような書き方をしましたが、 繰り返しスタイルを変えて遊ぶことができるゲームであり、現在進行形で遊んでいるとても面白いゲームです。 自由度が高いと言われるこのゲーム、一体どうやって遊ぶものなのか? 一凡人として遊んでいる僕の遊び方を紹介し、僕と同じく凡人の方に1つの遊び方の紹介をする
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 通常 Rack::Auth を使った場合の認証の範囲は、Web アプリケーション全体です。 Rack::Auth を使ったサンプルは以下を参照してください。 Rack::Auth::Basic を使った認証のサンプル ただし、それは Rack Middleware として使った場合です。 Rack Middleware は、Rack アプリケーションそのものと同じ構造をしているので、部品として利用可能でもあります
目的 Heroku の Web アプリケーションに独自ドメインを設定する方法について説明します。 独自ドメインの設定をすると通常の Web アプリケーションの URL である「アプリケーションID.herokuapp.com」へアクセスしなくても、 自分の独自ドメインから Web アプリケーションにアクセスできるようになります。 Heroku は単なる実行基盤です。他の基盤へ乗り換えたときに URL が変わるのはよくありません。 URL はサイトの「顔」です。 「アプリケーションID.heroku.com」はテスト目的でのみ利用し、実運用では独自ドメインを割り当て、そこへアクセスさせるようにしましょう。 前提 前提は以下の通りです。 独自ドメインを購入済みであること。 利用可能なDNSサーバがあること。 DNSサーバの設定に関する知識があること。 通常は、独自ドメインの購入と同時にDNSサ
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 概要 rake コマンド実行時のコマンドライン引数を入力として受け取る方法についてまとめます。 以下の2つの方法があります。 タスク毎に引数を定義し、受け取る。 環境変数経由で受け取る。 1. タスク毎に引数を定義し、受け取る 以下に Rakefile のサンプルを示します。 task :hello, 'firstname', 'lastname' task :hello do |t, args| puts "H
目的 このページの目的は、Sinatra が提供する機能のコンパクトリファレンスを提供することです。 必要時に調べたことをまとめていくので、使っていない機能に関しての記載がない点はご了承ください。 本リファレンスを理解するために重要となるスコープという概念を理解していない人は、以下のページを事前に参照すると良いでしょう。 Sinatra のスコープについて また、詳細は以下のサイトを参照すると良いでしょう。 参考 メインサイト - Sinatra Sinatra: README(Japanese) Sinatra Book(英語) ハンドラ群 全てのハンドラはアプリケーション/クラススコープで定義します。 下の表の並びは、実行されるハンドラの種類の順番を表しています。例えば before より先に get を定義したとしても、before は get よりも必ず先に実行されます。 各スコー
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 目的 Heroku は標準のデータベースとして Postgres をサポートしますが、その他にもいくつか選択肢があります。 このページではデータベースに MySQL を提供してくれる ClearDB アドオンを利用する方法について説明します。 Heroku で MySQL を利用するための準備から、運用時に必要となるバックアップの扱い方の方法までをまとめます。 前提 以下の記事を理解していることが前提となります。
Heroku Ruby 界で有名な PasS である。 Rack に対応した Web アプリケーションのプラットフォームとして利用できる。 heroku 上では 1 プロセスに相当する単位を特別な用語を使い 1 dyno と呼ぶ。 以下の手順を踏んでサービスにアクセスできるようにする。 「Heroku を始めよう!」の 1 ~ 3 を参考に、サインアップ/ツールインストール/ログインする。 gem install heroku を実行する。 サービスへのアクセスは基本的に heroku コマンドで行う。 Web 管理画面からリソースにアクセスもできる。 基本的な考え方は以下の通り。以下を実現する Heroku の実行基盤をランタイムスタックと呼ぶ。 Git でアプリケーションのソースを管理する。 Bunlder で依存する gem を管理する。 Foreman で実行するアプリケーションの
目的 Warden による 認証を行う際のポイントを押さえることを目的とします。 そのためのサンプルの紹介と解説を行います。 Warden は認証の仕組みを提供してくれるもので、認証の方法自体は自分で実装する必要があります。 Rack::Auth による認証とは異なり、認証したユーザの情報はクッキーに保存されます。 クッキーに保存するユーザの情報の制御が可能です。Rack::Auth がサポートしないログアウトも実現できます*1。 Warden は基盤として使われることが多く、Warden を基盤にユーザの管理を含めた機能を提供してくれるライブラリもありますが、 本ページでは直接 Warden を使って認証を実現する方法を説明します。 本サンプルでは Web アプリケーションフレームワークに Sinatra を使っています。 必要なポイントは各節にある表を見るだけで把握できるようにまとめて
目的 Mechanize を使ってウェブアクセスを自動化する際に障壁となるのが JavaScript です。 Mechanize は JavaScript を認識してくれません。 例えば以下の処理が入っただけで Mechanize は期待通りの動きをしてくれません。 onClick イベントを使った操作 jQuery などの JavaScript ライブラリが発達し、ページを動的に生成するということが自然と行われるようになった昨今、 Mechanize は無力なのでしょうか? そんなことはありません。ほんの一工夫で目的を達成する方法をまとめていきます。 前提 本ページが想定するのは「特定ページに対する操作の自動化」です。 不特定多数のページにアクセスする自動巡回情報収集などの自動化は含みません。 不特定ページを扱おうとした場合、JavaScript 部分に関して足掛かりとなる前提が全くなく
heroku auth と heroku keys の説明は後でします。以下のコマンドでヘルプが見れることを覚えておくと良いです。 heroku help auth heroku help keys ここでは ssh-keygen の説明だけします。 ssh-keygen は通常、そのままコマンドを打ち込んで使います。 ssh-keygen 標準では「~/.ssh/id_rsa」(秘密鍵)と「~/.ssh/id_rsa.pub」(公開鍵)が作られますが、ファイル名を指定したい場合は -f オプションを使います。 ssh-keygen -f taro 「./taro」(秘密鍵)と「./taro.pub」(公開鍵)が作れます。複数アカウントを切り替える場合に使います。 ssh-keygen の詳細な説明は以下を参照してください。 OpenSSH 日本語マニュアルページ(SSH-KEYGEN)
イディオム 説明 以下のように書きます。 if File.pipe?(STDIN) || File.select([STDIN], [], [], 0) != nil then # 標準入力に入力がある else # 標準入力に入力がない(キーボード入力である) end 標準入力経由でのスタンダードな情報入力には以下の3種類があります。 パイプ コマンドラインにて「echo test | ruby example.rb」と実行すると STDIN.gets で 'test' を取得できる。 リダイレクト コマンドラインにて「ruby example.rb < stdin.txt」と実行すると STDIN.gets で stdin.txt ファイルの中身を参照できる。 キーボード入力 STDIN.gets でキーボード入力を待つ。 標準入力の種類を判断する方法は以下の通りです。 パイプ Fil
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 注意:このページの内容は古いです! 料金体系が変わるようです。以下、関連する Heroku の記事です。 2015/5/7 New Dyno Types and Pricing Public Beta 2015/5/7 Heroku’s Free (as in beer) Dynos 少なくとも無料で 24 時間稼働はできなくなります。 目的 本ページの目的は、開発/研究にあたって可能なことを整理することです。
本情報は 2012/10/31 時点での情報だということを明記しておきます。 Sqale とは、 株式会社 paperboy&co. が提供する Ruby on Rails 対応のホスティングサービスです。 Rack 対応なので、Ruby on Rails に限らず Ruby の各種 Web アプリケーションが動きます。 僕は同じ株式会社 paperboy&co. 提供の ロリポップ!レンタルサーバでこのサイトを運用しています。 ロリポップ!レンタルサーバはめちゃくちゃ安いく Ruby も動くのですが、Ruby on Rails はもちろんのこと Rack も非対応で、CGI もしくは cron プロセスとしてしか Ruby のプログラムを動かすことはできません。 昨今、Ruby でプログラムを書くことが多く、ロリポップ!レンタルサーバとは別に Ruby の動作環境として Heroku を
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 僕がつまずいた Ruby 1.8/1.9/2.0 系の環境の差異をまとめていきます。 概要 具体的な内容に言及する前に体感(≒経験則)をまずざっと書きます。 Ruby 1.8 と 1.9 の差異 最も大きいのは「多言語化(M17N)対応」の有無である。 マルチバイト文字列の扱いに互換性がない。 そのため対応を考慮せず書いたプログラムは、片方のバージョンでしか動かない。 Ruby 1.8 から 1.9 への移行、そ
Heroku の基本 Hello Heroku(Web アプリケーション) Hello clockwork on Heroku(定期実行アプリケーション) foreman について 複数のプロセスを管理する Ruby 上のツール/ライブラリ clockwork について cron の代替となる機能を単独で提供してくれる軽量のツール/ライブラリ Git について ローカル環境で試す 目的 Mechanize を使ってウェブアクセスをエミュレートする基礎的な方法について説明します。 本ページが想定するのは基本的に「特定ページに対する操作の自動化」です。 自動巡回情報収集には Mechanize だけではなく、その他多くの応用技術が必要になるため対象としません。 インストール 以下のコマンドを実行して Mechanize gem をインストールします。 gem install mechanize
目的 RMagick を Windows にインストールすることが目的です。筆者のインストール実績は Windows 7 / Windows 10 に対してあります。 RMagick が特別なのは以下の点です。 C 言語で実装されたネイティブコードを含んでいる。 ImageMagick という画像編集用ソフトウェアを使っている。 従って、以下が必要になります。 DEVELOPMENT KIT をセットアップすること。 ImageMagick をインストールすること。 手順 1. DEVELOPMENT KIT をセットアップする わからない人はこちら。 2. ImageMagick をインストールする バージョンの選択に注意すること。 RMagick 2.16.0 の時点では ImageMagick 7 系に未対応であり、ImageMagick 6 系を入れる必要がある。 dll 版を使用
次のページ
このページを最初にブックマークしてみませんか?
『www.ownway.info』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く