タグ

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

  • 静的サイトジェネレータ・サーバ Harp - Qiita

    ぱっと静的サイトを作ってGitHub Pagesで公開する時にHarpが便利だった。 Harp, the static web server with built-in preprocessing Harpはソース群から静的サイトをまるっと生成して返すサーバだが、コマンドを叩けば生成したファイルを吐いてくれる。 使える道具が以下に制限されているものの、該当の拡張子のファイルを置いておけばそれをよしなにコンパイルしてくれる。 The Rules – Harp, the static web server with built-in preprocessing CSSプリプロセッサとして LESS Sass Stylus テンプレートエンジンとして EJS Jade Markdown が使える。あと、CoffeeScriptが使える。 デフォルトというかイニシャライズするとLESS、Jadeで

    静的サイトジェネレータ・サーバ Harp - Qiita
  • Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita

    はじめに Railsアプリケーションを格的に作り込んでいくと、「エラー」とは無縁ではいられません。 しょうもないバグでエラーが発生することもありますし、ほとんど不可抗力ともいえるような大規模なネットワーク障害でエラーが発生することもあります。 エラーの種類がなんであれ、エラーが起きた場合は「原因を素早く特定し、速やかに復旧させること」と「あるエラーが引き金になって、さらに大きなエラーに引き起こさないようにすること」が重要です。 エラー処理を適切に実装していれば、原因の特定や復旧もすばやくできますし、さらに大きなエラーを引き起こす可能性も少ないです。 また、ソースコードも比較的シンプルに保てます。 逆にエラー処理が不適切だと原因の特定に時間がかかったり、異常なデータがどんどん増えてさらに大きなエラーを引き起こしたりします。 ソースコードにも無駄に複雑な処理フローや条件分岐がたくさん出てきて

    Railsアプリケーションにおけるエラー処理(例外処理)の考え方 - Qiita
    poohtarou
    poohtarou 2015/09/29
    “使えるRSpec入門・その3「ゼロからわかるモック(mock)を使ったテストの書き方」 - Qiita”
  • VPCプライベートネットワークからS3へ接続する - Qiita

    従来はVPC内のインスタンスからS3に接続するためには、インスタンスがパブリックネットワーク内にある必要がありました。しかし、VPCエンドポイントという特別な裏口ができたので、プライベートネットワーク内のインスタンスもこの裏口からS3に接続することが可能になりました。 VPC内のプライベートネットワークからS3への接続方法 1 VPCエンドポイントを作成する 1-1: VPCコンソール > エンドポイント作成 1-2: VPCを選択 *VPC-ID : VPCエンドポイント = 1:1になります 1-3: バケットポリシーを設定 今回はFull Accessの設定としました。特定のバケットへの通信のみ許可する場合は、こちらでポリシーを追加すると良いと思います。 1-4: ひもづけるルーティングテーブルを選択 *インターネットゲートウェイに紐付いていない、ローカルNWのみ通信可能なルーティン

    VPCプライベートネットワークからS3へ接続する - Qiita
  • 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
  • Droongaの分散処理を支える技術:通信プロトコル - Qiita

    こんにちは。Droonga開発チームの結城(Piro)です。 Groonga Advent Calendar 16日目は、13日目に引き続きDroongaの解説です。 Droongaを題材にした過去4回の記事(6日目、7日目、9日目、13日目)では、Droongaの動作の紹介を交えつつ、分散処理の初歩の初歩を解説しました。 今回は、Droongaにおいてそれらの分散処理をつつがなく実行するための基盤となっている、分散データ処理エンジンとしての部分に焦点を当てて、設計や実装の概要を紹介したいと思います。 Droongaクラスタ内での通信の基 これまでの説明の中で何度か、「検索リクエストをランダムに転送する」や「更新リクエストを適切なパーティションに転送する」といったフレーズが出てきたと思います。 これは、実際にはどのような事が起こっているのでしょうか? Droongaの通信プロトコルとメッ

    Droongaの分散処理を支える技術:通信プロトコル - Qiita
  • godのスタートアップをやってみた - Qiita

    注意: ちょっとふざけて書いてます。 気分が悪くなる方はすぐにページを離れてください。 基 概要 Ruby製モニタリングアプリケーション 設定ファイルをRubyで記述できる 名は " G o d " = " ネ 申 " インストール

    godのスタートアップをやってみた - Qiita
  • 誰も教えてくれなかったMySQLの障害解析方法 - Qiita

    それほどDBに詳しくないアプリエンジニアが何かトラブった時にすぐさま行動して問題把握できるようになる情報を列挙しておきます。 開発時、障害時の対処療法やちょっとした定期監視方法などを対象にしています。 抜的な対策などはインフラエンジニアさんにお任せしたほうがいいと思います。 DBはいろんな意味でこわいんでできれば触りたくないです>< 事前確認 MySQLサーバーのシステム設定値を確認しておく 以下のようにサーバーのシステム設定値を確認できます。 mysql> SHOW GLOBAL VARIABLES; # ワイルドカード(%)を用いた絞り込み mysql> SHOW GLOBAL VARIABLES LIKE 'performance_schema%'

    誰も教えてくれなかったMySQLの障害解析方法 - Qiita
  • CentOS6 on GCEにDockerを入れ、コンテナ上でNginx + Unicorn + Redmineを動かす - Qiita

    CentOS6 on Google Compute EngineにDockerを入れ、コンテナ上でNginx + Unicorn + Redmineを動かしてみる 1. CentOS6 on GCEにDockerをインストールします。 sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm sudo yum -y install docker-io sudo service docker start sudo chkconfig docker on

    CentOS6 on GCEにDockerを入れ、コンテナ上でNginx + Unicorn + Redmineを動かす - Qiita
  • 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内

    新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita
  • Ruby block/proc/lambdaの使いどころ - Qiita

    (2015/10/13追記) 今なら、他言語には無名関数やcallback関数というものがありますねとか、イベント駆動の世界を覗いてから戻ってくるとより腑に落ちるかもしれませんとか、もう少し全体観の中で説明する気がしますが、当時は記事の様な理解が役に立ったことは事実なので、引き続き公開を続けます。 (2013/11/29追記) block_given? について Twitter上で「Kernel.#block_given?についての解説があってもよさそう」と 指摘を頂きましたので、文下部に追記しました。 概要 Ruby on Rails Tutorialのエッセンスを自分なりに整理してみる4 Railsを触る際知っていると便利なRubyの基礎 [ブロックとかシンボルとか] http://qiita.com/kidachi_/items/46a6e49b6306655ccd64 の続き。

    Ruby block/proc/lambdaの使いどころ - Qiita
  • Boxen使わなくても許されるのは2012年までだよね - Qiita

    続編を書きました - Boxen使ってて許されるのは2013年だけだった すごいすごいと話題な割に誰も使っていないと話題のBoxenを使ってみた。 3行で分かる結論 Boxenは... Macのセットアップを自動化してくれる 個人用途でも十分便利だが真価を発揮するのは大人数で使うとき Puppet知らなくても案外使える この記事で分かるもの Boxenの個人用途での使い方 Boxenのチーム用途での使い方 Puppetのmanifestの簡単な書き方 この記事を読んでも分からないもの Puppetの詳しい使い方 Boxenを使うと何ができるのか BoxenはGitHub社が開発しているシステムで、Macのセットアップを簡単にできるようにしてくれる。新しくMacを購入したら開発環境や各種アプリケーションをインストールすることから始めるが、これをコマンド一発で全てやってくれるようになる。 Bo

    Boxen使わなくても許されるのは2012年までだよね - Qiita
  • 初心者から一歩抜け出すためのGitの業 〜 git add -p - Qiita

    diff --git a/git-add.md b/git-add.md index 356ee59..dbf3428 100644 --- a/git-add.md +++ b/git-add.md @@ -1 +1,5 @@ # git-add + +- add line-a +- add line-b +- add line-c っていう変更があったとして、通常なら全部コミットするか、vimで開いて編集して別のコンソールでコミットした後、編集をロールバックするとか、そういうアナログな感じのことをやらなきゃいけないし、実際俺も最初の頃はそうしていた。 ところがどっこい、Gitにはちゃんとそれを回避する方法がある。 試しにgit add . -pしてみよう。すると、以下のように表示されるはずだ。 diff --git a/git-add.md b/git-add.md index 356

    初心者から一歩抜け出すためのGitの業 〜 git add -p - Qiita
  • 初心者から一歩抜け出すためのGitの業 〜 git rebase -i - Qiita

    前回とは記事を分けることにした。長くなるから。 今回は、だれでもやったことがあるであろう、「え、ちょ、3つ前のコミットにtypo見つけちゃったよ!!」に対応する。 やりかたはいくつかある。例えば、最初に思いつきそうなことが、 そのコミットまでgit resetを繰り返して、編集して、もう一回git commitしていく である。だけど、前の編集内容を覚えてなきゃいけないし、「Gitを使ってるくせに」的なアナログ感を感じざるをえない……ので、もっと上手い方法は無いのか。 ある。 iはinteractiveのことだ。多分。man git-rebaseをちゃんと読めば書いてあるのかもしれない。英語だけど気になる人は読んでみて欲しい。 で、このコマンド、何ができるのか。試しにやってみよう。 git log --onelineしたら、こんな感じのログがあった。

    初心者から一歩抜け出すためのGitの業 〜 git rebase -i - Qiita
  • 今っぽい Vagrant + Chef Solo チュートリアル - Qiita [キータ]

    Vagrant と Chef Solo ってとてもベンリそうに見えてたのですが、ネット上にあるのは断片的な情報が多かったり、そもそもいろんなやり方があって混乱してたので、サックリ始めるためのチュートリアルを書きました。これをきっかけにベンリな Vagrant ライフを堪能して頂ければ幸いです。 [追記10/10/2013] Window 上の Vagrant でも問題なく動きました。ただ1点注意があって、UAC のポップアップに反応しないと、Vagrant か VirtualBox 側でタイムアウトになってしまうので、ポップアップを見張るか、放置したいなら一時的に無効にしておくとよいです。 [/追記終わり] [追記 10/23/2013] VirtualBox 4.3 だとまだうまく動かないようです(私も host-only adapter の作成で VirtualBox 側のエラーになり

    今っぽい Vagrant + Chef Solo チュートリアル - Qiita [キータ]
  • rspec + sinatra sample - Qiita

    簡単なsinatraアプリを例としたテスト駆動開発の紹介をします。今回作成するsinatraアプリの完成コードは以下です。

    rspec + sinatra sample - Qiita
  • nil? empty? blank? present? の使い分け - Qiita

    まず、nil?とempty?はrubyのメソッドで、blank?とpresent?はrailsで拡張されたメソッド(つまりrubyでは使えない)ってことを覚えておく。 - nilは存在しないという意味。 対して ""は「何も無い」が存在している。空白の存在。

    nil? empty? blank? present? の使い分け - Qiita
  • Rake で自分のマシンのセットアップを省力化する - Qiita

    Rake とは「Ruby で書かれた Make っぽいもの」でだいたい合っている。 単にタスクに必要な処理をまとめておいて呼ぶ、くらいの使い方でも便利ではあるけれど、Make をリスペクトして用意されたファイルタスクなどを絡めるともっとおもしろいことができる、という話。 ファイルタスク リファレンス・マニュアルなどに詳しい説明があるが、簡単に表現すると「あるファイルを作るためのタスク」である。 典型例でいうと実行バイナリの生成など。必要なヘッダにリンクしつつ適切なパラメータとソースファイルをコンパイラに渡す、といったことをファイルタスクが責任をもって定義する。 タスクの事前条件 タスクには、それが必要とする事前条件を定義することができる。 たとえばコンパイルを実行するタスクならば、必要なファイルや準備を定義したタスクを事前条件に指定しておくことで、必要であれば事前にそれらを実行する。 これ

    Rake で自分のマシンのセットアップを省力化する - Qiita
  • Sinatra+ActiveRecord+MySQLで、簡単APIサーバ構築 - Qiita

    サーバを使ったiPhoneアプリを作りたかったので、簡単にサーバ側作れないか調べてみました。結論として結構簡単に出来る事が分かったのでメモメモ。 参考にした記事 Sinatra+ActiveRecord+SQLite3で,軽量なWeb-DB連携例 | tamo's blog 大分参考にさせて頂きました。ありがとうございます! 仕事ではMySQLを使う事が多いので、SQLite3ではなくMySQLを使う事にしました。 手順 Ruby,MySQLをインストール データベースを作成 Gemfileを作成とインストール database.ymlを作成 Rubyファイルを作成 実行 動作確認 1. Ruby,MySQLをインストール 結構な量になったので別記事にまとめました。ここが一番面倒(´Д`) - Ruby,MySQLの環境を構築する(Mac版) #MySQL #Mac #Ruby #home

    Sinatra+ActiveRecord+MySQLで、簡単APIサーバ構築 - Qiita
  • 遺伝的アルゴリズム(GA)によるサーバの自動チューニング - Qiita

    遺伝的アルゴリズム(GA)でサーバの自動チューニングをします。 GAを機械学習を一つと書いてしまいましたが違うようなのでタイトルを変更させて頂きました。 遺伝的アルゴリズムについては↓の動画が分かりやすいです http://www.youtube.com/watch?v=yZJ1V-zv_gU まずは通常の負荷テストができるところまで準備する必要があります。攻撃用のサーバをターゲットと(ネットワーク的に)近い場所に用意してください。負荷を掛ける側(Attacker)にも相応のスペックは必要です。 ストレスツールはコマンドラインから利用出来るものでしたらなんでもかまいません。ab(Apache Bench)などは最初から入っているので手軽ですが、今回は「グリーン破壊」というソフトを利用しました(グリーン破壊のインストール方法は家サイトに譲ります) 自動チューニングを行うにあたり、ターゲット

    遺伝的アルゴリズム(GA)によるサーバの自動チューニング - Qiita
  • 俺史上最強のiptablesをさらす - Qiita

    #!/bin/bash ########################################################### # このスクリプトの特徴 # # 受信・通過については基的に破棄し、ホワイトリストで許可するものを指定する。 # 送信については基的に許可する。ただし、サーバが踏み台になり外部のサーバに迷惑をかける可能性があるので、 # 心配な場合は、送信も受信同様に基破棄・ホワイトリストで許可するように書き換えると良い。 ########################################################### ########################################################### # 用語の統一 # わかりやすさのためルールとコメントの用語を以下に統一する # ACCEPT :

    俺史上最強のiptablesをさらす - Qiita
  • 1