タグ

2015年12月14日のブックマーク (19件)

  • モダンJavaScript開発環境 on Rails - クックパッド開発者ブログ

    投稿推進部の外村(@hokaccha)です。 クックパッドブログの開発でRails上にECMAScript6などのモダンなJavaScript開発環境を導入した経験を元にノウハウを紹介したいと思います。 RailsはSprocketsというgemJavaScriptCSSをコンパイルする仕組みが提供されています。Sprocketsによるasset管理の仕組みは非常によくできており、AltJSのトランスパイルやファイルの結合、minifyなど、assetのコンパイルに必要な機能を一通り備えています。 しかし、JavaScriptにおけるモジュールの依存関係の解決や、ライブラリの管理などについてはモダンなJavaScript開発と乖離してきているのが現状です。そこで、Railsでも以下のようなことを実現できることを目標に環境を作りました。 ECMAScript6のシンタックスを使う モジュ

    モダンJavaScript開発環境 on Rails - クックパッド開発者ブログ
    taka222
    taka222 2015/12/14
  • リモートの最新を取り込む(rebase、merge、push -f について) - kumamidoriの日記

    今の勤務先は、VCS は Github、開発フローは git-flow です。 ※ちなみに、会社のみんなは、クライアントは source-tree で全部やっているのだけれど、私はGithub for Mac(Editボタンやsyncボタンが好き)、git-flow系のコマンドだけコマンドラインで手で打っている。 以前の職場がSubversionだったもので(個人ではGithubを愛用していたとはいえ)、Gitでのチーム開発、初心者・・・。案の定、下記問題で行き詰まって、時間を無駄にしたわ。っていうか、ジタバタする前に、よく考えれば良かったんだなー。 やりたいこと バージョンの上がったdevelopのfeature への取り込み。 この stackoverflow がまさに私の求めていたぴったりの情報だったので、理解を深めるため、以下に勝手に翻訳する。 http://stackoverfl

    リモートの最新を取り込む(rebase、merge、push -f について) - kumamidoriの日記
    taka222
    taka222 2015/12/14
  • 環境変数を設定するには

    $ NEWENV="Hello" ←NEWENVというシェル変数に「Hello」という文字列を設定 $ echo $NEWENV ←NEWENVの内容を表示 Hello ←NEWENVには「Hello」が設定されている $ bash ←子プロセスを起動 $ echo $NEWENV ←NEWENVの内容を表示 ←シェル変数は子プロセスには引き継がれないので、何も設定されていない $ exit ←子プロセスを終了 $ export NEWENV="Hello" ←NEWENVを環境変数として設定 $ echo $NEWENV ←NEWENVの内容を表示 Hello ←NEWENVには「Hello」が設定されている $ bash ←子プロセスを起動 $ echo $NEWENV ←NEWENVの内容を表示 Hello ←環境変数は子プロセスには引き継がれるので、「Hello」が設定されている

    taka222
    taka222 2015/12/14
  • RailsアプリからSlackに通知 - Qiita

    class OpinionsController < ApplicationController def create @opinion = Opinion.new(params[:opinion]) if @opinion.save notify_to_slack ... else ... end end private def notify_to_slack text = <<-EOC ----------------------------- [#{Rails.env}] 新しいご意見が来ました。 ▼メールアドレス #{opinion.email} ▼内容 #{opinion.message} EOC Slack.chat_postMessage text: text, username: "Opinion Notifier", channel: "#opinion" end end

    RailsアプリからSlackに通知 - Qiita
    taka222
    taka222 2015/12/14
  • Rails slack連携をしてみた - Qiita

    はじめに 便利なチャットアプリslackとの連携をRailsで実現したい思います。 ここでは、メッセージの送信とリポジトリの作成をやってみます。 思っていた以上に簡単だったので、お手軽にアプリケーションからslackへ通知を送れます! 方針1. gem slack-apiを使う 方針2. gem httpartyを使う 実装 方針1. gem slack-apiを使う Gemfileに追加

    Rails slack連携をしてみた - Qiita
    taka222
    taka222 2015/12/14
  • 仕事でまったくやる気が出ない時に僕がやる6つのこと。2015年、冬【連載:村上福之】 - エンジニアtype | 転職type

    日々流れてゆく膨大な情報量の中からおいしいネタを敏感に察知し、ネット界隈を賑わせてくれるWeb業界の異端児・村上福之氏。同氏独自の経験と価値観から、「キャラ立ちエンジニア」の思考回路を紐解いていく。 株式会社クレイジーワークス 代表取締役 総裁 村上福之(@fukuyuki) ケータイを中心としたソリューションとシステム開発会社を運営。歯に衣着せぬ物言いで、インターネットというバーチャル空間で注目を集める。時々、マジなのかネタなのかが紙一重な発言でネットの住民たちを驚かせてくれるプログラマーだ 毎度のことながらやる気がない。この原稿も書く書くと言いつつ、5日くらい真っ白のままでした。 思い付きでWebサービスを作るにも、フラッと企画を思い付くにも、初期衝動が高まっている状態だと何も考えずにサクッとできるんですけど、基的にやる気がない時は当然モチベーションも上がりません。コードも書く気が起

    仕事でまったくやる気が出ない時に僕がやる6つのこと。2015年、冬【連載:村上福之】 - エンジニアtype | 転職type
    taka222
    taka222 2015/12/14
  • 今日の予定をまとめて教えてくれるslackの秘書BOT - Qiita

    概要 日の予定を秘書が教えてくれたらうれしいですよね! slackボットで作ってしまいましょう。 秘書の「秘書美」が、毎朝予定を教えてくれます。 GASでGoogleカレンダーの予定から今日の予定をピックアップし、Incoming WebHookで、slackへポストします。 GASを使うのでサーバーも特別に用意する必要がなく簡単です。 秘書美の作り方 slackのWebhook URLを取得 Integrations - Incoming WebHooks で取得。 「Post to Channel」は、適当なチャンネルでOK。スクリプトでポストするチャンネルは指定できます。 「Webhook URL」:これをメモっておきます。 カレンダーIDの取得 Googleカレンダーの設定画面の「カレンダーのアドレス:」ってところに、カレンダーIDがひょうじされています。(xxxxxx@xxxx

    今日の予定をまとめて教えてくれるslackの秘書BOT - Qiita
    taka222
    taka222 2015/12/14
  • コード1行でBotがSlackへ通知してくれるGemを公開しました - Qiita

    (2014/9/10追記) v0.0.2をリリース、カスタマイズ時のInterfaceを変更しました。 概要 kidach1/slack_bot https://github.com/kidach1/slack_bot ※ 投稿は基的にREADMEの和訳です。 何? コード1行でSlackにエラーやらなにやら(任意)を飛ばしてくれます。 シンプルな分他の用途にも使える、かもしれません。 準備 APIトークンの生成 まずは準備として よりAPIトークンの発行を行います。 Slack内にサインインし、かつ何らかのteamに属していれば、以下のようにCreate tokenを押下するだけで発行可能です。 設定ファイルを追加 Railsアプリの場合、 config/initializers/slack_bot.rbを作成、以下を追加します。 SlackBot.setup do |config|

    コード1行でBotがSlackへ通知してくれるGemを公開しました - Qiita
    taka222
    taka222 2015/12/14
  • [ChatOps] サーバサイドで起きた諸々の事象をSlackbotに通知してもらう - Qiita

    (2014/09/09追記) こちらも併せてご覧下さい。 コード1行でBotがSlackへ通知してくれるGemを公開しました - Qiita http://qiita.com/kidachi_/items/debfd0474d0888e5b1f1 概要 Qiita::Teamでも連携対応されたSlack。 http://blog.qiita.com/post/88252533014/qiita-team-slack 最近はHipChatとの比較で、デザインが良い/後発だけに出来ることが多い等、 話題に上がることも多いですね。 基的なAPIは用意されているので、タイトル程度の内容ならhubotを使わずとも実現可能です。 APIトークンの生成 まずは準備として、各種APIを利用するために よりAPIトークンの発行を行います。 Slack内にサインインし、かつ何らかのteamに属していれば、以

    [ChatOps] サーバサイドで起きた諸々の事象をSlackbotに通知してもらう - Qiita
    taka222
    taka222 2015/12/14
  • Rubocop の Metrics AbcSize チェックについて - Qiita

    はじめに rubocop を導入しました。 大抵のアラートは -a, --auto-correct オプションを指定することで、自動でなおしてくれます。 自動でなおらない箇所も、内容をみてサクサク潰せるのですが、Metrics AbcSize チェック は一筋縄ではいかないやっかいなものだったので、なおしていく流れをまとめます。 ABC is strictly a software size metric, although it has often been misconstrued as a complexity metric. Size is computed by counting the number of assignments, branches and conditions for a section of code. The counting rules in the o

    Rubocop の Metrics AbcSize チェックについて - Qiita
    taka222
    taka222 2015/12/14
  • git rebaseのメモ - unpushの日記

    ときどき間違うので。 大雑把に言うと、git rebase は「git reset + git cherry-pick × n回 を自動化したもの」と考えられる(適用するコミット群が少なければ、手動でreset & cherry-pickしても良いが、たくさんあるとそうもいかない) 好きな場所にresetして、好きな位置から好きな位置までのコミットを順次適用できる。 つまりコミットを並べ替えたり除外したり、「積み木を積み直す」ようなことが出来る。 git rebase ポピュラーな使い方。 現在のブランチをにreset から見て現在のブランチにだけ存在していたコミットを順に適用 適用されるコミット群は、から見て現在のブランチにだけ存在していたコミット、つまりgit log ..HEAD で出てくるコミット。 以下の例だとA、B、Cのコミットがreset後に適用される予定 A---B---C

    git rebaseのメモ - unpushの日記
    taka222
    taka222 2015/12/14
  • 【git】pull requestを出す前 or 出した後の取り消し - tweeeetyのぶろぐ的めも

    はじめに githubのpull requestを出す前後で取り消すメモ。 ほとんど手順メモ程度な感じ+他記事で使うスニペット記事。 とはいえ、数あるgit便利コマンドの中で毎回使うものではないけど いざって時に役立つ、もしくは、困るのは取り消し系のコマンドですよね。 補足 他の取り消しもぱっと見たい自分用にまとめたので参考までに。 【git】add、commit、push、merge、pull request、merge pull requestの取り消し アジェンダ pull request出す直前に取り消し pull request出した直後に取り消し ※ mergeはする前までの話しです 初期状態 試す前に、今の状態がこんな感じだったとして進めます ※ 初期コミットのみ $ git log --oneline 1e20006 Initial commit $ ls -l drwxr

    【git】pull requestを出す前 or 出した後の取り消し - tweeeetyのぶろぐ的めも
    taka222
    taka222 2015/12/14
  • 一度送ったプルリクエストを修正する

    プルリクエストを送ってたんだけど、フォーク元のmasterが修正されてしまったために、自分のプルリクエストがコンフリクト状態になってしまった場合の対応手順です。(GitHubを想定しています) 手順フォークした自分のリポジトリに移動します。 $ cd 自分のリポジトリのパス $ git checkout master フォーク元のリポジトリURLに名前を付けます。(オプション) $ git remote add master_orig https://github.com/ユーザ名/リポジトリ名.git フォーク元のリポジトリの最新の内容を取り込みます。名前を付けてなければ、直接URLを指定して取り込めます。 $ git pull master_orig GitHub上に push しておきます。 $ git push プルリクエストに使ったブランチをチェックアウトします。 $ git c

    一度送ったプルリクエストを修正する
    taka222
    taka222 2015/12/14
  • IT業界・エンジニアの転職ならTech Stars Agent

    技術に精通した コンサルタント が併走 経験豊富なアドバイザー 元ITエンジニア、元ゲーム企業人事、 IT会社役員、大手人材エージェント

    IT業界・エンジニアの転職ならTech Stars Agent
    taka222
    taka222 2015/12/14
  • 誰でもできる, 複雑なifをちょっと駆逐する方法 - Qiita

    確かリーダブルコードか, code completeに乗っていた方法な気がします。 まさかり歓迎 忙しいんだけど 楽に理解できるくらいにコードを分割しましょうという話です。 こんなコードがつらい>< 選択項目によってコンテンツが何パターンか変わるみたいなコード、Web制作でもありますよねぇ... if (hoge === "aa" && !(piyo === "bb" || fuga === "aaaa")) { /* * 共通処理 */ if (hige == "cc") { //固有な処理A } } else if(hoge === "bb" && !(piyo === "aa" || fuga === "aa")) { /* * 共通処理 */ if (piyo == "puyo") { //固有な処理B } } else { //なんでもなかった時 } サンプルコードを考えるのもつ

    誰でもできる, 複雑なifをちょっと駆逐する方法 - Qiita
    taka222
    taka222 2015/12/14
  • リーダブルRspec - Qiita

    はじめに リーダブルRspecというタイトルつけましたが、そんな大それたものではないです テスト書くときでも名前付け重要だからちゃんとしよう!っていうだけの内容です RspecがBDDのためのツールであることを意識しつつ、 Rspecの流儀に則って適切に名前付けをして書くと読みやすいテストがかけるはずです describe/context/exampleのメッセージに適切に名前つける これが出来るだけで当然読みやすいテストになる describe->テスト対象 context->テストする状況 example->テスト(itやspecify) なので、 『aaaはbbbの時cccになる』 というテストを書くときは次のようになる 重要なのは describe/context/exampleだけでテストの概要を説明すること 理解しやすい状態になっていないと、負債になってしまう 1つのdescr

    リーダブルRspec - Qiita
    taka222
    taka222 2015/12/14
  • WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita

    WebAPIの仕様を記述する方法はいくつかあると思う。 普通に日語で記述する JSON Hyper-Schema、WADL、RAML、Swaggerなどを使う 仕様書の代わりにプログラムを書く HTTPメッセージそのものを記述しておく でも、文法にばらつきがあったり、読みにくかったり、ツールのセットアップが面倒だったり、どれもイマイチな所があって、手軽な方法が欲しいと思っていた。 何気なくcurlコマンドのオプションを調べていたら、「もうこれでAPIドキュメント扱いにしちゃえばいいんじゃね?」と思えてきたのでメモしておく。 curlコマンドのおさらい curlコマンドはlibcurlの付属コマンドで、最近のUnix系OSなら大抵最初から入っていると思う。コマンドの詳細はmanを読んでいただければ。 cURL - How To Use (マニュアルページ日語訳) curlコマンドのオプシ

    WebAPIリクエスト仕様書としてcurlコマンドのご提案 - Qiita
    taka222
    taka222 2015/12/14
  • 図解Gitコミットの修正まとめ git reset, cherry pick, revert, commit --amend, rebase - Qiita

    HEADの参照を指定されたコミットに変更し、インデックスや作業ディレクトリの状態も変更する事ができる。git resetのオプションに--hard、--soft、--mixed(デフォルトオプション)があり、それぞれ使い方が異なるので覚えておく。個人的にはgit resetは良く使うので重点的に説明する。 とりあえず以下に示す通りGitレポジトリを作成して、このレポジトリを参考に各オプションの説明をして行く。 $ mkdir git-reset-test $ cd git-reset-test/ $ git init $ echo A > A; git add A; git commit -m "add A" A $ echo B > B; git add B; git commit -m "add B" B $ echo C > C; git add C; $ echo D > D; #

    図解Gitコミットの修正まとめ git reset, cherry pick, revert, commit --amend, rebase - Qiita
    taka222
    taka222 2015/12/14
  • サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

    ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。

    サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
    taka222
    taka222 2015/12/14