サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
komiyak.hatenablog.jp
2018年2月8日、9日の日程で開催された DroidKaigi 2018 に参加してきました。 技術的な詳細については、 後日、セッションのスライドや動画が公開されるようなので、 そちらを見ていただいたほうが正確です。 この記事では、私が参加したセッションの感想を書こうと思います。 内容について、 私が誤認していて、間違った捉え方をしたまま書いている部分もあるかもしれません。 気になるセッションがありましたら、 元になるスライドや動画を参照いただけますように、よろしくお願いします。 Day 1: 10:00 ~ ウェルカムトーク 最初におしゃれな動画が流れて、会場を盛り上げる。 このおしゃれな動画を用意するのに、どれくらいお金がかかるんだろうと いらぬ心配をしてしまう。 DroidKaigi には、参加者に向けた専用アプリも作られている。 これにもすごい贅沢なリソースが割かれているのだな
この記事は Ruby on Rails Advent Calendar 2015 の2日目です。 私は Ruby on Rails のアップグレードについて取り上げさせていただきます。 Rails のアップグレードに関しては、 良質なガイド、紹介記事など、すでに多数存在します。 しかしアップグレードは、なかなか気の重い作業なので、 ついつい後回しにしてしまったり、 どうせ他人に引き継ぐのだからと放置されていたりします。 アドベントカレンダーは、ある種のプログラマーのお祭りだと思います。 ここで取り上げることで、少しは皆様の気に留めていただけるかなと思い、 取り上げることにしました。 Rails のアップグレードって必要? Rails のアップグレードには脆弱性対応が含まれています。 そして、古すぎる Rails は次第にメンテナンス対象から外れていきます。 Ruby on Rails のメ
OS X 環境における Java のエンコード設定については、 こちらの記事が参考になりました。 [前編] Javaのシステムプロパティの設定と文字エンコーディングについて改めて見直してみた - PiyoPiyoDucky [後編] OS XにおけるJavaアプリケーションのエンコーディング - PiyoPiyoDucky この記事中に、/etc/launchd.conf を使った launchctl の永続化が紹介されていますが、 OS X Yosemite 10.10 では、/etc/launchd.conf が使えなくなっています。 私の環境は、下記のとおりです。 OS X Yosemite 10.10.5 Java 1.8.0_60 そもそも環境変数を設定する良い方法は? 広く知られている方法としては、 .bash_profile, .bashrc に export で記述すること
rbenv の System Wide Install の方法を調べたのでまとめておきます。 普通に rbenv を使うと、それはユーザに対するインストールとなります。 たとえば komiya というユーザーがあれば、下記の場所に置かれます。 /home/komiya/.rbenvしかし、この場合は、他のユーザーが ruby を使いたいと思っても利用することが出来ません。 特定のユーザーに対して rbenv をインストールするのではなく、 システム(root)に rbenv をインストールし、どのユーザーでも rbenv を使えるようにします。 これを System Wide Install と呼んでいるようです。 環境 Linux: Amazon Linux AMI release 2015.03 rbenv: rbenv 0.4.0-148-g5b9e4f0 ruby: 2.2.2 イ
ERD の記述に MySQL Workbench を愛用しています。 ところが先日 MySQL Workbench のバージョンを 6.3 に上げて、 ERD(mwb ファイル)を開くと、日本語部分が文字化けしていて、悲鳴を上げました。 いくつかネットに情報が上がっていましたが、 文字コードの問題ではなくて、MySQL Workbench に初期設定されているフォントが、 日本語に対応していないため、文字化けしてしまうとのこと。 ラベル(Text Object)部分の文字化けがなおらない 下記のサイトなどを参考に、フォント設定を変更しました。 MySQL Workbenchで日本語が文字化け - エンジニアガールのブログ☆ MySQL Workbench で日本語フォントを使う方法 - Qiita しかしダイアグラムの、ラベル部分(Text Object)の所が、相変わらず文字化けする..
Rails の Asset Pipeline を使っていると、 development 環境では動作していたのに、production 環境で画像が表示されない、 アセット(CSS、JS)が正しく取得できないという問題が起きることがある。 この問題は、いろいろとバリエーションがあるのだが、 今回は CSS 上で使用している画像が表示されないケースについて説明しようと思う。 想定環境は次のとおり。 環境 バージョン Ruby 2.0.0p598 Ruby on Rails 4.1.9 nginx 1.6.2 unicorn 4.8.3 次のような設定で、production 環境を起動しているとする。 config.serve_static_assets = false # アセットの配信は、Nginx が担当する config.assets.digest = true # フィンガープリン
これは CSS Architecture Advent Calendar 2014 の20日目の記事です。 昨日は GeckoTang さんでした。 CSS のメンテナンスがどれだけ難しいか、 変更を加える事がどれだけ大変かという問題にぶつかったのは、 自分で作っている WEB サービスの機能拡張をしている時だった。 CSS 上に、ほとんど同じだが、微妙に値の異なるスタイルが溢れかえり、 日々、増え続けていくスタイルの定義に、歯止めをかけることができなかった。 私は、もうそれをコントロールすることができなくなっていた。 結局、そのときの HTML と CSS は、デザイン更新のタイミングで、すべて捨てることになった。 CSS は難しい。 CSS は、記述を冗長にしないようにするための言語機能、 スタイルの影響範囲をコントロールするための言語機能などが不足している為、 そこに一定のルール、思
これは Unity Advent Calendar 2014 の16日目の記事です。 昨日は sassembla@github さんの AssetBundleを高速に作る でした。 こんにちは。komiyak です。 普段、私は Web 系の業務システム開発を請け負うフリーランスのプログラマをしているのですが、 ここ半年ほど、Unity を使ったゲーム開発に従事しておりました。 私は、フリーランスになる以前は、 家庭用ゲームソフトのデベロッパーでゲームプログラマーをしておりました。 そのためゲーム開発に関しては、多少の知見があります。 しかし初めて Unity を触った時は、いろいろ戸惑いが多かったです。 Unity のお作法的に、どういうふうに実装をすればゲームが組み上がっていくのか、 全然イメージが湧きませんでした...。 ある程度 Unity になれてきた、今思い返すと、 勉強しはじ
追記:続編です → Ruby on Rails アップグレード 4.1 → 4.2【Ruby on Rails Advent Calendar 2015】 これは Ruby on Rails Advent Calendar 2014 の12日目の記事です。 昨日は takeyuweb さんの Active Job meets Amazon SQS でした。 こんにちは。komiyak です。 これは、Ruby on Rails Advent Calendar の参加記事です。 12月といえば Advent Calendar! 残り少ない 2014 年。 年越しに向けてラストスパートをかけて、 大晦日は、ガキ使でも見ながら、ゆっくり天ぷら蕎麦をすすりたいものですね。 さて、皆様がこの時期にやってしまいたいことといえば、 積もりに積もった1年の汚れを落とす、大掃除ではないでしょうか。 実はわた
問題 久しぶりに RVM で ruby のインストールを実行したら、 下記のような内容を出力して、止まってしまった。 [vagrant@vagrant-centos-6 ~]$ \curl -sSL https://get.rvm.io | sudo bash -s stable --ruby=2.0.0 Downloading https://github.com/wayneeseguin/rvm/archive/1.26.0.tar.gz Downloading https://github.com/wayneeseguin/rvm/releases/download/1.26.0/1.26.0.tar.gz.asc gpg: 2014年10月29日 10時52分06秒 BRSTにRSA鍵ID BF04FF17で施された署名 gpg: 署名を検査できません: No public key
=== 追記 2017年6月9日 === この記事は Google OAuth を利用し、 自分のウェブアプリケーションに「OAuth 認証」させようという記事です。 OAuth 2.0 は本来、認証(Authentication)ではなく認可(Authorization)を行うための枠組みです。 そのあたりの知識が曖昧な時期に「OAuth 認証」のための記事を書いたため、 いま見ると古びていて、認識が間違えているところもあるかと思います。 OAuth 2.0 のきちんとした知識については、@TakahikoKawasaki 先生の記事を参考にしてください。 OAuth 2.0 全フローの図解と動画 OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る 【第二弾】OAuth 2.0 + OpenID Connect のフルスクラッチ実装者が知見を語る =
2012年 Trelloは何が違うのか 2012/01/06 2010年 分散バージョン管理で間違いないって、ベイビー 2010/03/17 子犬だ! 2010/03/14 なぜテスターが必要なのか? 2010/01/26 2009年 プログラマのサーチエンジン 2009/12/02 自分の会社が何であるかを理解する 2009/11/01 ダクトテーププログラマ 2009/09/23 Clearの底知れぬ楽天主義 2009/06/26 プラットフォームベンダ 2009/06/10 2008年 「承諾期限付き内定」の季節 2008/11/26 躍進を続けるアーキテクチャ宇宙飛行士たち 2008/03/01 2007年 事例によるスケジューリング 2007/10/26 カリフォルニア 2007/10/05 FogBugz On Demand 2007/07/09 マネジメントの本 2007/0
最近 Dropbox API(特に Dropbox Drop-ins Chooser)を使ったので、それに関して書いてみようと思う。 Dropbox Chooser のデモは下記のページで見ることができる。 https://www.dropbox.com/developers/dropins/chooser/js 「Choose from Dropbox」をクリックすると、ポップアップウィンドウが表示され、そこでは自分が Dropbox に同期しているファイルを見ることができる。 このウィンドウで選択したファイルは、Dropbox によって「強制的に公開状態」となり、そのダウンロードリンク(もしくはプレビューリンク)を JSON で呼び出し元に返す。 Dropbox Chooser を使ってやりたいこと ユーザーが自分が利用している Web サイトに、ファイルをアップロードしたいとする。古
訳あって、Codeigniter で 「Google APIs Client Library for PHP(以下、google-api-php-client)」 を使えるようにする必要がありました。素の PHP だと、もっと導入は簡単だと思うのですが、CodeIgniter に持ち込もうとすると、けっこう骨が折れます。 まず google-api-php-client をダウンロードしましたが、CodeIgniter 力が低いため、どこにどう埋め込み、設定をすればよいのか、検討がつきません。これは、すでに CodeIgniter に埋め込むための実装を作っている人がいるだろうと思い、探し始めました。 いました → https://github.com/joeauty/Google-API-Client-CodeIgniter-Spark ただし、更新が止まっています。 google-ap
gem くらい作れないとなぁと思い gem の作り方を調べてみました。やってみると、けっこう簡単です。 やりたいこと 作った ruby のプログラムを gem にする gem を RubyGems.org で配布してみる 予め必要なこと(1 RubyGems.org で gem を配布するには、RubyGems.org でアカウントを作る必要があります。 まだお持ちでない方は、下記のリンクへアクセス、画面右上の「sign up」をクリックして下さい。 RubyGems.org 画面に従って、登録作業を行って下さい。 次に、RubyGems.org へアップロードするために API Key が必要になります。 RubyGems.org へログインした状態で、自分のアカウントをクリックすると「Edit Profile」が表示されます。 プロフィール画面の下の方に、あなたの API Key が表
インフラ勉強会に参加しました。 第6回 ITインフラ勉強会@福岡 (ISUCON夏期講習のAMIで、もくもくチューニング) http://fukinfra.doorkeeper.jp/events/5367 普段、Web アプリケーションの開発業務に携わらせて頂いてる関係上、フロントエンド、サーバーサイド、インフラとまんべんなく触る機会があります。中・大規模の Web アプリケーション基盤の構築に興味がありますが、お仕事となるとなかなか機会に恵まれません。技術的に未熟なのは承知の上でしたが、実際に現場で闘われているエンジニアの方が、どういう風に考え、手を動かしているのかを勉強できたらいいなぁという気持ちで参加しました。 参加してみて 技術的な側面で、課題を見つけたこと、学んだことも多いですが、それ以上に自分の至らなさを痛感して、もっと頑張らねば!と言う気になったのが、一番の収穫です。すごい
前提 この記事では Ruby on Rails 3.2.x 系について話をする。 はじめに Ruby on Rails ではコントローラーごとにビューヘルパーが作成される。 例えば、次のようなジェネレーターを実行してみる。 $ bundle exec rails g controller hoge > create app/controllers/hoge_controller.rb > invoke erb > create app/views/hoge > invoke test_unit > create test/functional/hoge_controller_test.rb > invoke helper > create app/helpers/hoge_helper.rb > invoke test_unit > create test/unit/helpers/hog
本当に長い間、苦しめられていた問題がようやく解決しました!!きっと、同じ問題で苦しんでいる人がいるに違いないので、問題と解決方法を簡単にまとめさせていただきます。 やりたいこと Ruby on Rails を使い Web アプリケーションの開発を行っています。開発環境は、MacBook Pro(OS X Mountain Lion 10.8.4)でブラウザは Google Chrome を普段利用しています。クロスブラウザ検証としては IE, Safari, Firefox で確認していますが、Mac 使いには、IE の確認をどうしよう?というのが課題かと思われます。 こちら、私の聴いた範囲の話だと、人によってやり方がバラバラな気がします...。 そこで、私は、強く! 次の方法を推奨いたします! ・OS X 上で仮想環境(VMware Fusion, Parallels, VirtualB
追記 2014-12-10 === この記事ですが、Ruby on Rails 3.2.x 系を前提にした内容となっており、 新しい Rails 4.0.x、4.1.x 系では少しやり方が異なります。 取り急ぎで申し訳ございませんが、とりあえず下記に、最新の Minitest の記事を紹介いたします。 A Guide to Testing Rails Applications — Ruby on Rails Guides (※英文) 追記ここまで === Ruby や Ruby on Rails で使用されるテストフレームワークは、何がポピュラーか? The Ruby Toolbox - Unit Test Frameworks RSpec が第1党で、次に Minitest という Test::Unit から置き換えられたフレームワークが人気だ。個人的には RSpec を使う機会が多かっ
Ruby on Rails では、コントローラーのアクションが実行される前に、いくつかの変数等を準備しています。このうち、ユーザーが利用できる代表的なものをいくつか列挙します。 action_name 実行中のアクション名称を保持しています。 例:action_name => "index" cookies リクエストに関連づけられているクッキーを保持しています。 例:cookies => #>> session セッション 例:session => {"session_id"=>"24adeaebd6b8 ... } params リクエストパラメータを保持するオブジェクト。 例:params => {"controller"=>"articles", "action"=>"index"} request (リクエスト情報を保持するオブジェクト) method リクエストされた HTTP
AWS Elastic Load Balancer で HTTPS(SSL)通信を行うための準備、設定についてのメモ。目標とするサーバー環境のイメージは下記の通り。 Web アプリケーションサーバーを Amazon EC2 上に、Apache で構築する 負荷分散として Elastic Load Balancer を使う クライアントとアプリケーションの間は HTTPS(SSL)で通信する Elastic Load Balancer の設定 - Listener Configuration Elastic Load Balancer(以下、ELB)とは? Elastic Load Balancing - Amazon Web Services ELB の一般的な設定方法は、下記の記事が参考になった。 Amaon EC2〜ELB設定編〜 | ナレコムAWSレシピ 今回、クライアントとアプリケ
前置き 最近、扱っている Rails アプリケーションの規模が少し大きくなってきたので、 そろそろちゃんとテストを書かないとなぁと思っていた。 私はテスト (CI) に関して次のような考えを持っている。 テストの実行は第三者がおこなう 人はどうしても怠惰な方に流されやすい生き物だと思う。 私も「ちゃんとしっかりテスト(書いて・実行)しよう!」という意思が薄いタイプの人間に思える。 なので、テストの実行と、失敗時の通知は、自分ではない「第三者」がやってくれないと困る。 サボってたら叱ってくれる人がいてほしい。 テストの成功・失敗の履歴は残しておくべき テストがチェックインごとに正しく実行され、どのチェックインでテストが壊れたのか。 それはきちんと管理されているのが望ましいと思う。 いつの間にか、テストが壊れており、どのチェックインで壊れたのかわからない。 という状況は避けたい。 というわけで
JAWS-UG福岡もくもく会::EC2 Linux編 http://www.zusaar.com/event/878003 今回は EC2 に関する このスライド を教材に進める感じだった。 EC2 について AWS を使う人は、数ある AWS のサービスの中から、まず最初に EC2 を使うことが多いのではないかと思う。 私も EC2 から使い始めた。 1年近く扱ってきて、だいぶん慣れたような気になっていたが...、 今回勉強会に参加して、まだまだぜんぜん知らないことだらけだなと思った。 今後も仲良く付き合いを続けたいので、自分が知らなかったことを中心に、めもめも。 ざっくりとしたメモ Amazon VPC(Amazon Virtual Private Cloud)について 従来の EC2 の扱いに慣れているので、なかなか調べる気になれていない...。 気になるので、時間をみつけて勉強した
仮想マシンをもっと快適に扱うための Tips。 仮想マシンの起動・停止のために、いちいち VMware Fusion を起動し、仮想マシンを選択するという操作を、毎回、毎回、繰り返したくない人向け。 下記の設定を行なっておくと、ターミナルから1コマンドで、任意の仮想マシンを起動・停止が行える。仮想マシン側に SSH 接続の設定を事前に行なっておけば、ターミナルから離れることなく、仮想マシンの起動→接続→切断→停止まで行えるようになって、快適なハッキングライフを楽しめる。 使用する環境について OS X 10.8.x (Mountain Lion) VMware Fusion 5 仮想マシン(ゲストOS)→ CentOS 6.4 VMware Fusion の vmrun について vmrun は私の環境では、下記の場所にあった。 /Applications/VMware Fusion.ap
問題 OS X 10.8.3 (Mountain Lion) 上で仮想環境として CentOS 6.4 をインストールした。 わたしは実験用の環境として仮想環境を構築することが多く、 初期設定を済ませた仮想マシンを1つ用意しておいて、それを複製して使いはじめることが多い。 VMware Fusion5 で仮想マシンを複製すると、複製先の仮想環境でネットワーク接続が失敗するようになる。 原因と対処方法をここにまとめておく。 今回の内容は、ほぼ下記の記事を参照させていただいてます。ありがとうございます。 VMwareで「Device eth0 does not seem to be present, delaying initialization」と表示された時の対処法 その2|リナックスマスター.JP 公式ブログ ネットワークの再設定 複製した仮想マシン(CentOS 6.4)にログインする
症状 ruby で任意のwebサーバーに対してHTTPS接続を行おうとするとエラーが発生した。 エラーの内容は次の通り。 OpenSSL::SSL::SSLError SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed問題となった ruby のコードは以下のような感じになっていた。 # ... https = Net::HTTP.new('example.com', 443) https.open_timeout = SYSTEM_TIMEOUT_SEC https.read_timeout = SYSTEM_TIMEOUT_SEC https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIF
いままで Ruby on Rails を使った Web アプリケーション開発は経験してきたが、Ruby on Rails を使わずに 基幹フレームワークの Rack のみを使って Web アプリケーションを構築したい。Rack に関する基礎知識は、以前私が書いた記事を参照していただければと思う。 この記事では、実践的な Rack アプリケーションが動いていくまでの道筋を、断片的ながら紹介していこうと思う。この記事は備忘録的なところがあるため、分かりにくい表現や、正確でない情報を含んでいるかもしれない。申し訳ないが、そういった範囲に関しては、読者の皆さんで補える範囲は調べて頂けると助かる。 やりたい事 Bundler を使って混乱の少ない gem 管理 ERB の使い方を覚える Ruby による動的なHTML生成には、今回 ERB を利用する クライアントからのリクエストに対して、どのように
私は開発中の Web アプリケーションから、たくさんのメールを不特定多数に送信したい。そのためにはメール送受信用のメールサーバーを構築すればよいのだが、これが思った以上に大変な作業だった。私が今回必要だったこと、最終的な構成。その経緯をここに記しておこうと思う。 最終的に選択した構成 いわゆる、システムの要件というやつは次のようなものだ。 不特定多数のユーザーに対して、システムの URL を通知するためのメールを送信したい メールの送信タイミングは、年間に数えるほどしかしない ただし1度の送信では数百通のメールを同時送信するような使い方をする 送信用のメールアドレス(例:no-reply@example.com)のようなアドレスから送信出来ればよい なるべく導入コスト、運用コストが小さい構成にしたい いろいろ検討した結果、次の構成に落ち着いた メールサーバー1台 Postfix をインスト
このページを最初にブックマークしてみませんか?
『komiyak.hatenablog.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く