こんにちは。tkotです。今回はrailsのgemについて。 オススメのgemについて紹介する記事は頻繁に取り上げられるのですが、その反対に使うと弊害が出てしまうgemや、gemを多用することのデメリットについて解説されているものはなかなか無いように思います。 …
Chromeアドオンで開発を効率化したい こんにちは、tkotです。私は普段のブラウジングや開発でMacのGoogle Chromeを使っています。最近はSafariのほうが電源の持ちが良いと聞き試していたんですが、いつの間にか戻っていました。 最近はクラッシュしたり妙に…
tkotです。 弊社ではRuby・Railsを覚えたい初心者の方向けに学習用のプログラムを用意しています。基本的にはRailsで動くものを作っていく中で細かい文法やプログラミングのルールを覚えていこうという方針でやっています。 Railsはすぐ動くものができるので…
弊社のリフォームメディア、ミライエはRailsで開発しています。 miraie.me システム的にはCMSを実装しているのですが、データ的にはmarkdownとHTMLを混在させて保存しています。これでも回っているのですが、 引用, リンク などは一定のフォーマットで入れた…
シンプルなデコレータで記事内のページングを実装する ブログのような記事の内容をページングしたいとき、どうやって実装するか?というお話です。 ページングといえば検索結果のページングと、東洋経済のようなサイト(こういうやつ http://toyokeizai.net/a…
ウェブサービスを運用していると設計の変更や記事・ページの削除が頻繁にあります。 例えば今まで:author_name/articles/:idというURLで提供していたページがあったとして、これをシンプルにarticles/:idで提供するとします。 このとき何も考えずにURLを変更…
nasneとは? nasneはSonyから出ているレコーダー兼ストレージです。wifiのネットワークにつなげば、パソコンやスマホから録画予約ができてスマートフォンで再生できます。 ↓これが実物 nasneはmacで再生できなかった 以前からMacで再生したいなと思っていた…
前回の記事でレスポンシブの画像は多少妥協しても大きめのものを使うしかまともな解決方法がないという話をしました。 blog.attracie.com ところで、弊社の運営しているミライエはリフォームの施工を解説しているのですが、写真が多いものだと20~30枚くらい1…
顧客生涯価値とは? 最近顧客生涯価値(Life Time Value = LTV)について考えることがあったので、その内容をまとめてみます。 LTVとは顧客一人を獲得したときにどれだけ企業にとって価値があるかを、長期に渡って考える一つの考え方です。 例えば新聞を購読す…
ミライエは工数の問題やSEOの観点からレスポンシブレイアウトを採用しています。 miraie.me レスポンシブレイアウトがSEO上良いという点はこちらを御覧ください。 www.suzukikenichi.com ところがこの記事で言及されている通り、基本的にPCと同じhtmlやasset…
弊社は2014年4月設立ですが、2014年2月に私が港区赤坂に引っ越し、2ヶ月後に自宅兼事務所という形で自宅住所を使って会社登記しました。 こういうように、起業する場合でも自宅を事務所にしたり、バーチャルオフィスを使うことで、いきなり事務所を借りたり…
Railsではserializeをうまく使えばスキーマレスにシンプルなデータを定義することができます。 これをもう少し通常のカラムライクに使用したかったので、gemを作成しました。 github.com 使い方ですが、まずはRailsのモデルを作成します。このとき適当でいい…
bootstrapでは.containerでセンタリングし.rowでマイナスマージンをセット, .col-sm-3や.col-xs-6等でデバイス幅に応じたレスポンシブレイアウトを可能にする グリッドシステム を提供しています。 この機能は非常に便利です。他にグリッドシステムを提供し…
Rails4.2がリリースされましたね。 目玉機能はActiveJobということですが、これは実態はSidekiqやresqueのアダプタということで、本質的には新機能という感じではないですね。 AdequateRecordはすごそうですね。要するに内部でもろもろをキャッシュしてうま…
default_scope is evil は浸透してきたが... qiita.com 最近では Railsでdefault_scope使うのはやめよう! という意見が強くなりましたね。 default_scopeは default_scope -> { where(removed: false) } こんなふうに論理削除を実装するときに便利です。 し…
基本的にRailsのvalidationは class Blog < AR::Base validates :title, presence: true validate :title_or_content_needed end のようなとき、@blog.errors.full_messagesにはattribute名 + エラー本文に加工されます。 ところで、title_or_content_needed…
例えば必須の入力フォームの左側に小さい※を画像で出したい時、画像を使ったほうが楽なケースがあります。ただ、小さい画像でも画像数が増えてしまうと当然Webサーバのリクエスト頻度が増えるので、このような画像はbase64エンコードした上でcssに埋め込みた…
ビジネスモデル・ジェネレーション ビジネスモデル・ジェネレーション ビジネスモデル設計書posted with amazlet at 14.12.12翔泳社 (2013-10-03)売り上げランキング: 12,693Amazon.co.jpで詳細を見る ビジネスモデルの構造をパートナーや顧客セグメントとい…
t-kot です。社内共有ツールは多くの企業でも使われていると思います。一般に社内の重要な情報が特定の人にしか知られていない場合、その人が退職するとフローが回らなくなるなどのリスクがあるので暗黙知は減らすべきとされています。 弊社ではQiita team …
最近の若い世代はパスワードを打ち込むことに全く慣れていなくて、facebookなんかのパスワードも覚えてないらしい。 というのは、スマホならアプリは常時ログイン状態だし、うまく作りこんであるサービスなら別アプリでログインする際もfacebookアプリが一度…
qiita.com この記事が随分バズりましたが、去年後半にGoogleが画像認識APIを公開しました。 画像認識APIにはいくつか種類があって、安全な画像か(アダルトや暴力が含まれないか)を判定するAPI、画像に何が写っているか判定するAPI、画像中の文字列を解析する…
それgem使わなくてもできるよまとめ gemは便利なのですが闇雲に入れるべきものでもありません。とくに用途が限られていて、わざわざgemを使うまでもないことや使用目的以上にgemが巨大な場合は簡単に自分で代替物を作ったほうがメンテナンスやコントロールが…
carrierwaveはサンプルを読む限りでは保存形式をjpegとかpngとかに決め打って、versionではリサイズしかしないのが一般的な使い方のようです。 しかしこれだと「ネイティブアプリではwebp形式で配信し、ブラウザにはjpeg形式で配信したい」というようなユー…
Railsで非同期処理を行う際にデファクトになりつつあるSidekiqですが、実際の運用ノウハウや少し踏み込んだトラブルシューティングは意外とまだウェブ上にリソースが不足しているという印象があります。そこでいくつか、基本的なことから少し踏み込んだ話ま…
UICollectionView vs UITableView UITableViewのtableHeaderViewのように、UICollectionViewの上端にheaderを入れたい時、collectionView:viewForSupplementaryElementOfKind:atIndexPath:というメソッドでsectionの先頭にヘッダーを追加すると、UITableView…
動作中のRailsアプリケーションのバージョンを確認するためのrack middlewareとしてrack-git-revision というgemを作成しました。 何が嬉しいのか 本番環境にコードをデプロイしたときにそれが正しく反映されているのか、わかりづらいことが意外とあります。…
HTTPSが必要になったので、SSL証明書の購入、その有効化までをやってみました。 SSL証明書の購入 SSL証明書はRapidSSLとかGlobalSignのような大手がその発行元になるのですが、購入自体はそれ以外の代理店からもできて、むしろ代理店経由のほうが一般的に安…
iPhoneアプリで手軽にローカルにデータを保存する際にNSUserDefaultsが重宝します。 ただ、通常の方法だと単純なデータ(文字列、Dictionaryなど)を格納することはできるのですが、NSObjectを継承して作ったような独自クラスの保存はできません。 NSUserDefau…
評判が良かったtumblrを使って技術ブログをしばらく書いてみましたが、あまりにストレスが多かったのではてなブログに移行しました。 以下、tumblrで駄目だった点です。 1. 編集画面が小さい そもそもtwitter, instagramとブログを合わせたようなニュアンス…
大塚家具のお家騒動が話題です。一般に創業時の成功体験に固執する父と、一橋大卒でエリートコースを辿りビジネスモデルの転換を図る長女という構図になっており、世間の評判では長女有利なようです。 どちらかといえば私も長女の久美子さんを支持したい気持…