etc..)を統合して扱うためのアプリです。日本語だとこちらのブログがまとまっててよさそうです。Gmailを現在進行系で使っていたのですが、同僚からのススメで乗り換えてみました。Shiftなど類似のアプリを使っていたことがあります。MacOSStationにたくさんのアプリが統合できるとはいえ、それでもWebブラウザやターミナルなど別アプリからStationを開いて、目的のアプリに移るのは手間がかかります。1日数十回使いそうなので重要。やるかAppleScriptをアプリケーション化して、ホットキーを割り当てます。tellファイル→書き出す→ファイルフォーマット:アプリケーションを選択→保存アプリケーションの名前はquick-switch-Stationなどご自由に設定ください。※スクリプトエディタからAppleScriptを実行するには、OSのシステム環境設定→セキュリティとプライバシー→アクセシシビリティから許可を与える必要があります。※同様に、上記で保存したアプリケーションを起動する場合は、そのアプリケーションにアクセシビリティの許可を与える必要があります。※AppleScriptは書いたことないので、ベターな書き方&実行方法があれば教えてください。ホットキー割り当てお好きな方法でquick-switch-Stationを起動できるように設定すればよいです。私はCLCLを使って、optionキー2回押しで、quick-switch-Stationが起動するように設定しています。ユーザーではないので試してないですが、Alfredなどを使っても便利でしょう。docker-sync)年の瀬など関係なく過ごしております。既存のRailsアプリの開発環境をDocker化する機会がありましたので、やったことを記録しておきます。言っても、先人たちの知恵がかなり参考になりましたので、それを組み合わせて調整した程度の焼き直しです。Docker環境の作り方Railsアプリケーション開発を完全にDocker化するとても参考になりました。ありがとうございます。Macにはファイルシステムのパフォーマンス上の問題があるため、workaroundとして、次の2種類が有力です。"rails-sync:/app"今回は、開発環境のみでしかdocker-compose.ymlを使用していませんが、もしdocker-composeが本番用にもある場合はこちらのテクニックが参考になりますdocker-syncの設定ファイルには多数のオプションがありますので、気になる方は公式ページを確認するとよいでしょう。0.7s)されました。まとめこういう作業をすべてゼロからやっていたと思うと恐ろしいですが、先人の知恵のおかげで1日で快適な開発環境を手に入れることができました。Vueを使ってモダンに爆速開発していくサンプル(1/2)背景Kintoneのカスタマイズを始めたのですが、開発を進めるにあたって「1つのアプリに対して、JSファイルやCSSファイルをどんどんアップロードしていく仕組みだと開発スピードが落ちる」ということを強く感じました。その理由としては、以下の通りです。2017のセッションのスライドがステップバイステップで説明してあり、かなりわかりやすいです。Webpackを導入するぞ!上記の問題を受けて、現代のフロントエンド開発では欠かせないWebpackを導入することにしました。Webpackとは、複数ファイル(Javascript、css、テンプレートなどなど)を1つのファイルにいい感じにまとめて(Bundleと呼びます)くれるツールのことです。(他にわかりやすい記事がたくさんあるので詳しく知りたい方は検索しましょう)例:顧客が一覧になっている画面に、メール送信用のボタンをそれぞれに追加する状況を考えましょう。メール送信用ボタンを押すと宛先がすでに入力された状態でポップアップが立ち上がり、メールのタイトル、本文が編集可能になる、とします。通常であれば、1つのJavascriptファイルに、メール送信ボタンを配置するためのDOMを検索する処理ボタンのHTMLとそれを配置する処理ボタンが押されたときに表示されるポップアップのHTMLテンプレートetc...という風にゴリゴリ処理を書き、それをJavascriptファイルとしてKintoneにアップロードすることでしょう。辛い未来が見えませんか?そこで登場するのがWebpackです。今回はWebpackのメリットをより実感するためにVuejsやKeenUIもついでに入れてみたいと思います。シンプルにボタンを置くKintoneのサンプルによくあるこんな感じでKintoneに読み込ませて、顧客詳細情報を表示します。「メール送信」ボタンが1つページ上部に表示されるはずです。});})();そろそろwebpackでも入れようか、、、ボタンは無事表示できましたが、このまま拡張していくのは早々に諦め、Webpackを使う方向に転換します。}}大事な部分は、webpackとbabel*の部分です。ついでにvue,keen-ui、その他必要そうなloaderを追加しておきます。["es2015"]}webpack.config.babel.jswebpackの設定ファイルもes2015で書きたい!ということで、webpack.config.bable.jsというファイル名にしておきます。entryでwebpackに渡したいファイルを指定、outputでwebpackがバンドルしたファイルの置き場を指定します。loadersセクションで、拡張子ごとにどのように処理していくか(どのloaderに処理させるか)を指定します。},};ちなみにBabelとは開発者:「新しいJavascriptの書き方を使いたい!」「でもまだサポートしてないブラウザもあるしなー」Babel:「わいがトランスパイルしてどのブラウザでも動くようにしといたるやでー」という存在です。webpackずらっとファイル名が出力され、コンパイルされます。dist/bundle.jsコンパイルされて、新しくbundle.jsが出来ていることを確認します。できあがったbundle.jsをKintoneにアップロードして動くことを確認それでもKintoneに毎回アップロードするの面倒じゃない?webpackでバンドルしたとしても、javascirptファイルをアップロードすることには変わりありません。そこで便利なのが、webpack-dev-serverコマンドです。上記package.jsonにもありますが、このように設定しておくと、webpackでバンドルしたファイルをhttps経由(※KintoneにURLでJavascriptを読み込ませるにはSSLが必須のため)で配信してくれます。serveというコマンドを叩くことで、https://localhost:8081/index.jsというアドレスでバンドルされたファイルが取得できます。hotオプションのおかげで、webpackが処理しているファイルを更新すると、すぐに反映されますので、開発中のファイル更新→画面で確認、というサイクルが爆速でで回せるようになります。これはかなり便利ですので、ぜひお試しください。※注意:ssl証明書などを準備していないため、chromeなどのブラウザでは接続を拒否されてしまい、Kintoneからうまく読み込めないことがあります。その際は一度localhodtのURLを直接入力して、警告を無視する設定にしておくと、Kintoneでもうまく動作します。警告を出さずにやりたい方は、--keyオプションや--certオプションを併用されるとよいでしょう。長くなってきたので、Vueの導入は次回後編で。