タグ

ブックマーク / qiita.com (56)

  • APIドキュメントを書くのが楽になるツールまとめ - Qiita

    さいきんREST APIのドキュメントを書いていて、wiki使うのだるいし他に良い方法ないかな〜と調べてた時に見つけたツール群をまとめてみます。 追記: こちらも便利そうなので参考にどうぞ。 REST APIドキュメント作成ツールはapiary.ioが決定版かもしれない - Qiita swagger Swagger: A simple, open standard for describing REST APIs with JSON | Reverb for Developers デモ: Swagger UI ソースコード中にAPIの概要を書いておくと、それを元にドキュメントを自動生成してくれる。wikiやmarkdownで書くのと決定的な違いは、↓のようにドキュメント上のformからAPIコールを試すことができる点。 様々な言語のWAFに対応したライブラリも開発されてる。 Home ·

    APIドキュメントを書くのが楽になるツールまとめ - Qiita
  • Dockerで作る最強のWeb開発環境2017 - Qiita

    概要 Web アプリケーションを開発しているときに、開発環境に MySQL や Redis を用意しバージョンを揃え、いや Redis はキャッシュにしか使ってないし必須じゃないから開発環境に無い場合のコードも書いて…… というようなことを2017年にもなってやりたくないので、Docker を使って良い感じにやっていきます。 DockerDocker Compose に関する基的な説明は割愛するので、公式ドキュメントをあたってください。 目標 コマンド一発で必要なサービス群が全て立ち上がるようにする Docker Compose を使い、1サービスごとに1コンテナを立ち上げる vendor や node_modules は、ホスト側のものと完全に分離する。OS が違う場合、Native extension があると問題の原因になるので避けたい。 ホスト側ではエディタと git さえ

    Dockerで作る最強のWeb開発環境2017 - Qiita
  • なぜあなたのPull Requestは読まれないのか - Qiita

    Pull Requestを出してレビューしてもらってから反映。 どこにでもあるありふれた開発フローに付きまとう、どこにでもあるありふれた問題。 「Pull Requestがレビューされない」 もちろん開発フローにレビューが含まれている以上、レビューをしないメンバーにも非がないとは言えませんが、多くの場合はレビューされないPRには問題があるものです。 デカい 兎にも角にもデカいPRは読むのがつらいです。 もちろん要件が明記されていないなど、他にもPRが読みにくくなる原因はたくさんありますが、一番はこれです。 極端な話、1行変更のPRは他に何も書かれていなくても実装内容を察することができますが、10ファイル100行の差分と箇条書き20点の要件が書かれたPRは内容を把握するだけで一苦労です。 しかし、このこと自体は数カ月でもコードを書いていれば自然と勘づくもの。 問題はなぜPRが大きくなってしま

    なぜあなたのPull Requestは読まれないのか - Qiita
  • WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita

    2017-01-05 追記 2016年3月にエラーの標準形式RFC7807「Problem Details for HTTP APIs」が提案され、今日現在proposed standard(標準化への提唱)となっています。こちらも是非ご覧ください。 RFC 7807 - Problem Details for HTTP APIs HTTP APIの詳細なエラー情報をレスポンスに持たせるための仕様 最近はREST APIを提供しているサービスが増えてきていますね!また公開されるAPIだけでなく、Microservicesなアーキテクチャを採用して、バックエンドがWeb APIで通信するケースも増えてきているように思います。 APIを使うときはあまり気にしたこともなかったですが、いざAPIを設計してみるとどんなインターフェイスがいいのか、どんな形式がいいのかといった疑問が次々と出てきます。

    WebAPIでエラーをどう表現すべき?15のサービスを調査してみた - Qiita
  • Mac OS X Mavericksで”gem i nokogiri”失敗の解決方法 - Qiita

    Help us understand the problem. What is going on with this article?

    Mac OS X Mavericksで”gem i nokogiri”失敗の解決方法 - Qiita
  • docker コマンド チートシート - Qiita

    Help us understand the problem. What is going on with this article?

    docker コマンド チートシート - Qiita
  • docker-syncでホスト-コンテナ間を爆速で同期する - Qiita

    2020/05/26 追記 Docker for Mac の Mutagen-based caching で Volume のパフォーマンスが劇的に改善した Mutagen単独で試してみたことがあって、すごく速くてよかったんですが、 Docker for macに統合されそうな感じになってるんですね。 これは期待。 2017/3/15 追記 先日この問題のissueに対して、 というコメントがつけられ、それに関する というプルリクが 体にマージされたようです。 まだ詳しく見ていませんが、マウント時に同期方法オプションが指定できるようになり、そのオプションによってキャッシュするレベルを制御して同期を軽くしよう、というような感じになるようでした。 実際にリリース版で使えるのはいつなのかわかりませんが、やはり体が早くなるのが一番いいのでちょっと期待ですね。 ========== 追記ここまで

    docker-syncでホスト-コンテナ間を爆速で同期する - Qiita
  • 効率的に安全な Dockerfile を作るには - Qiita

    結論 以下の手順で作るのが効率的です。 ベースにする Docker イメージを決める docker run -it <docker-image> sh でコンテナ内部で作業 1行ずつ、うまくいったらどこかにメモ 失敗したらいったん exit して再度 docker run ファイルの取り込みやポートの外部公開が必要ならオプション付きで docker run 全部うまくいったら Dockerfile にする ネットで見たことはないですが、もし docker build で試行錯誤しながら Dockerfile を作るとしたら、それはさすがに苦行です。 遅い デバッグしにくい!コンテナ爆発しろ!!って気持ちになります。 これが原因で「Docker 使えない 便利じゃない 」と思っていたのならそれは勘違いです。 手順詳説 試しに ip-api.com にリバースプロキシするだけの Nginx

    効率的に安全な Dockerfile を作るには - Qiita
  • @masuidrive のRailsプロジェクトの始め方 - Qiita

    rbenv, nvm, MySQL, redisが入ったUbuntu Vagrantfile すぐに開発に使えるVagrantfile。依存物を少なくするためにShellでプロビジョニング。 vagrant up時に各種パッケージのインストールとRubyのコンパイルが走るので、30分ぐらいかかります。初回でOSイメージが無い場合はもっとかかるかも。 Vagrant.configure("2") do |config| config.vm.box = "ubuntu/trusty64" config.vm.network :forwarded_port, guest: 3000, host: 3000 config.vm.synced_folder ".", "/vagrant" GUEST_RUBY_VERSION = '2.2.4' GUEST_NVM_VERSION = '0.30.1

    @masuidrive のRailsプロジェクトの始め方 - Qiita
  • Elasticsearch導入前に気を付けておきたいこと! - Qiita

    はじめに Elasticsearchを仕事で使うことになったので導入前に考えるであろうことを調査・検証し、まとめてみました。 記載されている内容はほぼ公式ドキュメントから引っ張ってきています。それぞれの章にリンクを付けてありますので、記載されていること以外に気になる部分があればそちらを参照されるとよいと思います。 インストールについて ここで設定している内容はすべてansibleのスクリプトに落としてあります。 5分あればcurl,javaのインストール、Elasticsearchのインストール・初期設定、プラグインのインストールが終わるはずです。 https://github.com/uzresk/ansible-elasticsearch2 環境 CentOS6.7 Java1.8.0_45 Elasticsearch 2.1.1 HeapSizeの設定 Elasticsearchが使

    Elasticsearch導入前に気を付けておきたいこと! - Qiita
  • npmでnode.jsのpackageを管理する

    このTopicはWeb ApplicationのfrontendのProjectを管理するTopicの2つ目です。 node.jsのversionを管理するためにnodebrewを利用する npmでnode.jsのpackageを管理する grunt.jsを使って、frontendのビルドを行う 前提条件として、僕の環境はMac OSです。 npmとは? npmはnode.jsのpackageを管理するためのツールです。 node.js自体はJavaScriptで出来たWeb Serverですが、frontendを管理するためのtoolもたくさんあります。 npmはnode.jsのpackageを管理すためのツールです。 Javaが分かる方は、mavenのようなものだと想像していただければ、分かりやすいかと思います。 npmでpackageをインストールする npmでpackageをインス

    npmでnode.jsのpackageを管理する
  • Rubyプログラミングが快適になるVim環境を0から構築する - Qiita

    より快適なVim × Ruby環境を目指して構築したvim環境について。 0からでも構築できるように整理した。 やること 最初にRubyVim、その他必要なパッケージをガシガシインストールする。 その後、設定した下記機能について実際の操作例を見ていく。 自動コード補完ができるようにする(Rsense/neocomplete) Vim上で静的解析ができるようにする(Rubocop/syntastic) Vimからリファレンスを閲覧できるようにする(vim-ref/vim-ref-ri) メソッド定義元へのジャンプができるようにする(ctags/vim-tags) 構文終わりのキーワードを自動入力できるようにする(vim-endwise) OSはLinux(CentOS6.5)を想定。検証環境は以下のとおり。 $ uname -a Linux vagrant-centos65.vagrant

    Rubyプログラミングが快適になるVim環境を0から構築する - Qiita
  • CentOS 6.x に MySQL 5.7をyumで簡単にインストールする - Qiita

    実現したいこと CentOS 6.xの標準リポジトリによってインストールされるMySQL 5.1.73ではなく、MySQL 5.7.xをyumコマンドにてインストールをしたい。 実現方法および解決方法 MySQLオフィシャルサイトが、提供しているyumリポジトリを利用してインストールを実施する。 実行コマンド # デジタル署名をインポートする $ sudo rpm --import http://dev.mysql.com/doc/refman/5.7/en/checking-gpg-signature.html # yumリポジトリの設定をインストールする $ sudo rpm -ihv http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm # yumリポジトリをlistする $ yum --disable

    CentOS 6.x に MySQL 5.7をyumで簡単にインストールする - Qiita
  • Markdown記法 チートシート

    Markdown記法のチートシートです。 記法はGitHub Flavored Markdownに準拠し、一部拡張しています。 Qiitaでシンタックスハイライト可能な言語一覧については、 シンタックスハイライト可能な言語 をご覧下さい。 Code - コードの挿入 Code blocks - コードブロック たとえば、「Ruby」で記述したコードをファイル名「qiita.rb」として投稿したいときは、 バッククオート(`) か チルダ(~) を使用して以下のように投稿するとシンタックスハイライトが適用されます。 コードブロック内でコードブロックを書きたい場合は異なる記号を使うことで書けます。

    Markdown記法 チートシート
  • Rails4のCSRF対策で「Can't verify CSRF token authenticity」エラー - Qiita

    Rails4だとCSRF対策が非常に優秀です。 デフォルトで「ApplicationController」には「protect_from_forgery with: :exception」の記述があります。 CSRFの仕組みについては以下の記述が参考になります。 ★RailsのCSRF対策の仕組みについて http://shindolog.hatenablog.com/entry/2014/09/01/013840 また、「protect_from_forgery」については以下の記述が参考になります。 ★Rails 4.0だとCSRFトークンでエラーになる http://qiita.com/naoty_k/items/b40b13735fd7f06f8cb7 そしてこちらですが、安易な「a」タグや外部のサイトからの接続の際に「Can't verify CSRF token authent

    Rails4のCSRF対策で「Can't verify CSRF token authenticity」エラー - Qiita
  • さくら VPS を docker-machine のホストとして使う - Qiita

    概要 さくら VPS の 16 G プランを 2015 年の 9 月に契約したので、検証サーバとして使っている。これを docker-machine のホストにすればいいのではと今更気付いた。上げたり下げたりするわけではなく、ずっと起動しているわけだし、使わない手はない。 ちなみこのサーバは検証で色々使っており、docker-machine のホストとしても使う感じだ。専用というわけではない。 まとめ かなりさくっと環境を作れた。これでローカルサーバの CPU や回線を気にせず docker build できるのは大きい。 さくら VPS はドライバーが用意されているクラウドと比較すると転送量が無料なところ、基上げっぱなしな所を考えると、常時使う docker-machine のホストとしてはかなり魅力的だと思う。 別にさくらに限らないが、転送量が無料なのは正直大きいので、大変オススメし

    さくら VPS を docker-machine のホストとして使う - Qiita
  • ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】 - Qiita

    弊社に5年間在籍していたロシアの天才ハッカーが先日退職しました。 ハッキング世界大会優勝の経歴を持ち、テレビ出演の経験もある彼ですが、正直こんなに長く活躍してくれるとは思っていませんでした。彼のようなタレントが入社した場合、得てして日の大企業にありがちな官僚主義に辟易してすぐに退職するか、もしくはマスコットキャラとして落ち着くかのどちらかのケースがほとんどなのですが、彼は最後まで現場の第一線で活躍してくれました。 そんな彼が最後に残していった退職メールがなかなか印象的だったので、その拙訳をここに掲載します(転載について人同意済み。弊社特有の部分は一部省いています。) ああ、なんという長い旅だったろう。この会社で5年間もセキュリティを担当していたよ(諸々の失敗は許してくれ) 俺は他の退職者のように面白いことは書けないが、私のこの退職メールを読んでくれている人、特に新人エンジニアのために、

    ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】 - Qiita
    suzukaze7
    suzukaze7 2016/05/20
  • Ruby on RailsでAutoIncrementを使わずにシーケンスidをふる - Qiita

    シーケンスのIDを自前でふる Railsの場合、ActiveRecordを使って、AutoIncrementでidを発行しているのが一般的。 でも、自前でふりたい場合がある! 主な理由は、テーブルやデータベースを跨いで連番のidをふりたい場合などかなと思います。例えばシャーディングとか(Railsでシャーディングをサポートしていないけど)。 将来的に大量のレコードが出来て、構成を変える可能性がある場合にはあらかじめ自前でidをふっておくと良い事があるかもしれません。 テーブル構成 シーケンスidを管理するテーブルと、シーケンスidを使うテーブルを作る。例として、userテーブルにuser_idをふるシステムを考える。 テーブル構造 userテーブルには、user_idとemail、暗号化したパスワードを入れる想定。 user_sequenceにidがどこまで進んだかを記録しておく。 シーケ

    Ruby on RailsでAutoIncrementを使わずにシーケンスidをふる - Qiita
  • 大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ - Qiita

    Help us understand the problem. What is going on with this article? 3月24日に発表になったLINEのBOT API Trial Accountが、いよいよ4月7日から実際に試せるようになりました。既に多くのBOTが開発者の手によって作られ始めたようですね。QiitaにもいくつかBOTの作り方が投稿されていますので、"LINE BOT"というキーワードで探してみてください。 実際の作り方の基は他の投稿に任せるとして、BOT API自体は非常にシンプルな作りなので、試すこと自体はすぐにできると思います。しかし、シンプルな反面、仮に近い将来「Trial」が取れて、友だち50人制限が撤廃された時、それでも正しく安定的に動作するBOTとするには、アーキテクチャ上の工夫が必要になります。個人的に、既にLINE BusinessCo

    大量メッセージが来ても安心なLINE BOTサーバのアーキテクチャ - Qiita
  • 春からはじめるモダンJavaScript / ES2015 - Qiita

    春ですね!人の配置がリファクタリングされ、コードもリファクタリングの季節です。 では僕がここでモダンなJavaScriptとES2015の利点を語る役をやるので、みなさんはチームを説得する役をやってください。 JavaScript歴史 まず最初にJavaScript歴史を踏まえることで、今学ぶべきものとその理由を確認しましょう。 なぜ2016年の記事でES2016ではなく、ES2015なのか、と疑問に思った方もいるかもしれません。それは、ES2015がただの年次アップデートではなく、これから始まる毎年のメジャーバージョンアップの起点となるバージョンであり、またES5から飛躍的に仕様が増えたバージョンであるからです。 簡単に(雑な)歴史を紹介します。 ブレンダン・アイクによってNetScapeに実装/搭載された古の時代〜IE6 (1996~2005) ES3: 一時はシェア7割を誇ったレ

    春からはじめるモダンJavaScript / ES2015 - Qiita