Rails Webook

Web業界で働いています。Railsを中心にプログラミングや事業開発のようなことを書いていきます。

ActiveStorageでS3にダイレクトアップロードする

f:id:nipe880324:20180818220123p:plain:w420

Rails 5.2から入ったファイルアップロード機能のActive Storageを使ってS3にダイレクトアップロードを実装します。 クライアントからS3にファイルを直接アップロードすることにより、ファイルアップロード時の負荷を削減できるメリットがあり、最近ファイルをAWSにアップロードするとなるとダイレクトアップロードで実装することが多いと思います。 ファイルをアップロードするにあたり、S3の設定やユーザ認証、ファイルのバリデーションなど実運用で必要と思われる箇所についても合わせて実装していきます。

続きを読む

リーンスタートアップまとめてみました

f:id:nipe880324:20180819002335p:plain:h420

起業や新規事業開発において有効な方法論のリーンスタートアップについてまとめてみました。
企業の状況(製品、市場、顧客、タイミング、メンバー、法律など様々なこと)により、実際は理論通りにはいかないと思いますが、起業や事業開発の基礎的な流れとして頭にいれとくのは携わった時に大いに参考になると思いまとめました。

続きを読む

serverless frameworkでAWSにサーバレスなAPIサーバーを作る

f:id:nipe880324:20180701190810j:plain:w420

フルマネージドなAPIサーバーを簡易にたてるときの選択肢の一つとして、API Gateway, Lambda (Flask), DynamoDBを使ってAPIサーバーを作成しました。
各サービスの構築には、serverless frameworkを使いました。

ソースコードはこちらにあります。
https://github.com/nipe0324/serverless-flask-sample

続きを読む

限定Tシャツ欲しさにAlexaスキル作りました

f:id:nipe880324:20180614234936j:plain:w420

数ヶ月前にAmazon Echo Dotを買いました。
「うわ、すごい便利!」っというわけではないですが、スマホいじらずに朝の支度しながら今日の天気を聞けるのは楽だなーと思っている今日このごろです。

Alexaが日本で浸透するためかわからないのですが、Alexaスキルを開発した人に「Alexa Tシャツ」か「Amazon Echo Dot」というキャンペーンをやっています。

スキル開発者特典のキャンペーン情報

続きを読む

Railsにgulpを統合させる

f:id:nipe880324:20180819012001p:plain:w420

Railsでgulpを使ってアセットファイルの管理できる環境を構築します。
gulpはアセットを管理するツールで、js、css、imagesなどのアセットファイルをビルドして、それをRailsから参照する流れです。
また、gemにバンドルされているアセットファイルもあるので、Sprockets(Railsのアセット管理のgem)は有効にしておきます。有効にしておきますが極力使いません。

gulpでsass/scssのコンパイル、ES6のコンパイル(babel, webpack)、gulpの便利プラグイン(変更監視、画面リロード、通知)、ミニファイ、ダイジェスト付与をできるようにします。
そして、gulpで作成されたcssやjsのアセットファイルをRailsからロードできるようにします。

参考にソースファイルをGitHubに上げたあります。
https://github.com/nipe0324/rails_with_gulp

続きを読む

RailsでReact.jsをサーバーレンダリングする

f:id:nipe880324:20180819012117p:plain:w420

react-railsというReact.jsをRailsに簡単に統合できるgemを使い、React.jsをサーバーレンダリングする方法を説明します。
サーバーレンダリングすることで、初期値をHTMLの初期レンダー時に渡せるようになるので、ロード中による画面のばたつきや、ロード中といった表示をなくせます。

RailsでReactを使ってメッセージボックスアプリを作成 - Rails Webookをベースに説明しています。

また、この記事のソースコードは
https://github.com/nipe0324/rails_samples/tree/master/react_server_rendering_test
です。

続きを読む

RailsでReactを使ってメッセージボックスアプリを作成

f:id:nipe880324:20180819012117p:plain:w420

react-railsというReact.jsをRailsに簡単に統合できるgemを使い、React.jsについて説明します。

次のような画面をReact.jsで実装し、Reactとサーバ(Rails)間でメッセージ一覧の取得や作成をできるようにします。

続きを読む