タグ

ブックマーク / blog.hifumi.info (17)

  • capistrano-withrsyncを使ってVagrantで構築したVMにデプロイする

    Capistranoを使ったシーンで、デプロイ先にgit cloneさせるのを避けるために、rsyncを使ってローカルマシンから番サーバへのデプロイを試みたい。 ペパボ福岡支社のlinyowsさんがcapistrano-withrsyncというGemを作っていたので、それを使ってみた。 ちなみにmoll/capistrano-rsyncというGemもあるが、どうも更新されている気配が無いので今回は見送り。 なお、Capistranoのバージョンは3系とする。 Capistranoの準備 Gemfileに以下の2つのgemを用意する。

  • Puppet 3.7.3 - 3.7.5 はRuby 2.2だと動かない

    ペパボで何人かハマってしまった人がいたので記事にしておく。 PuppetLabsのチケットにも登録されているが、Puppet 3.7.x (x >= 3) はRuby 2.2だとエラーになってしまう。 [PUP-3796] Puppet 3.7.3 is not supported on Ruby 2.2 - Puppet Labs Tickets $ puppet --version /Users/hfm/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/puppet-3.7.5/lib/puppet/defaults.rb:488: warning: duplicated key at line 489 ignored: :queue_type /Users/hfm/.rbenv/versions/2.2.1/lib/ruby/gems/2.

    inouetakuya
    inouetakuya 2016/03/10
    たったいまハマりました。情報ありがとう
  • Puppetモジュールの管理にlibrarian-puppetを使う

    librarian-puppetはbundlerのPuppet版ツールだ。 Puppet関連ツールではおなじみと言ってもいい、Tim Sharpe氏1の作品でもある。 the Puppet Forge2というPuppetモジュールのリポジトリやGitHub, あるいはgitアドレスを持つモジュール等をGemfile風に管理することが出来る。 サードパーティ製のPuppetモジュールを直接リポジトリで管理しようとすると、更新に追い付くことが大変になる。 バージョン情報の確認が面倒だし、あれこれ入れているとリポジトリの肥大化も招く。 bundelrを知っている人にとって、バージョントラッキングとインストール情報の管理の恩恵は最早不要だと思う。 librarian-puppetはPuppetfileとPuppetfile.lockによって、サードパーティ製モジュールの管理を行う。 ここから先は、

    inouetakuya
    inouetakuya 2016/03/09
    まさにいま欲しかった情報だった
  • Puppetで外部リポジトリを管理するときにyumrepo/packageリソースを選ぶ基準

    Puppetには外部リポジトリを管理するためのyumrepoリソース1がある。 しかし、packageリソース2を使っても同様に管理が実現出来る。 では、どちらを選ぶべきか、その選択基準について一考した。 TL;DR rpmに外部リポジトリとの依存関係があるならpackageリソースが良い rpmに外部リポジトリとの依存関係がないならyumrepoリソースでも良い 背景 前回、Puppetのyumrepoリソースについて記事を書いた。 Puppetのyumrepoリソースでよく指定する属性 | blog: takahiro okumura そこで、yumrepoを使った管理方法以外にも、packageリソースを使った管理方法も添え書きした。 ちなみにepelやrpmforgeであれば、packageリソースでインストールすれば良いと思う。 > package { 'epel-release

  • Puppetのyumrepoリソースでよく指定する属性

    Puppetのyumrepoリソースは属性が多くて覚えにくいので、「この属性は必要だ」と思った項目についてまとめた。 その前にyumrepoリソースについて 外部リポジトリをPuppet manifestsで管理したい場合に、yumrepoリソースがある。 Type Reference https://docs.puppetlabs.com/references/latest/type.html#yumrepo ちなみに、各属性の意味については、yum.conf(5)の各項目との対応付けが公式ドキュメントに記載されている。 yumrepoリソースの属性は多すぎる Type Referenceのyumrepoリソースを見ると、yumrepo固有の属性は38個もある。 中にはs3_enabledみたいな普段使わなさそうな属性もあったり、何よりこれだけ属性があると優先順位が分からない。 普段指定

  • 2015年の省察

    年の瀬に1年をふりかえります。 ペパボ新卒エンジニア研修 今年のターニングポイントは、ペパボ新卒エンジニア研修でした。3月か4月ごろに担当を任されることになって、そこから猛勉強が始まりました。 研修の準備(設計)にあたり、学んだこと 研修を受けた身ではあるものの、研修の設計に関わるのは初めての経験でした。CTOやひろやんさんをはじめとした、研修関係者で認識を合わせることは非常に大切でした。研修にあたって、教育学や組織論、キャリアデザインに関する書籍を読みました。以下はその一部です。 これらの書籍は研修関係者で読みました。これらのような書籍を読んだ目的は、研修そのもののブレを無くすことです。いわゆるユビキタス言語といいますか、共通の語彙を関係者間で育み、円滑なコミュニケーションを取れるように勉強していきました。 「私」レベルの教育論を越えて そこで出会った中原淳先生の『企業内人材育成入門』に

  • ペパボ新卒エンジニア研修2015・Webオペレーション研修が始まっています

    Webオペレーション研修イントロダクション さて、7/6 からは新たにWebオペレーション研修が始まりました。 初日はイントロダクションとして、Webオペレーション研修やゴールや進め方についてお話させていただきました。 新卒の@orzupが研修のログを残してくれていますので、当人たちがどのように取り組んでいるのかを知るには以下をご覧ください。 WebオペレーションのVagrant編 ログ · Issue #29 · orzup/rails-tutorial Webオペレーション研修のゴール 「アプリが『動く』インフラを、ステップ・バイ・ステップで成長させる」ことをゴールとして、5つのステップを設けました。 Vagrant編・Nyah編(後述)、合わせて5つのステップ 各ステップの課題は以下のとおりです。 Vagrant編 Web開発研修で作成した Rails アプリを、Vagrant で動

    ペパボ新卒エンジニア研修2015・Webオペレーション研修が始まっています
  • ReviewerとReviewee

    最近レビューする回数が多く、それから派生したまとまりの無いツイートが散見してたのでポエムでつないでみる。 レビューと健康 レビューする側とされる側、コミュニケーション次第では段々剣呑な雰囲気を帯びてくる場合がある。 この雰囲気ってやつは、個々人のパーソナリティよりも、体調面の変動をキッカケに危うくなるイメージがある。 体調悪い時はあんまレビューしない方がいい。 っていうか休んだほうがいい。 Reviewer V.S. Reviewee ? 衝突を避けられない時があると分かっていても、なるべく避けようと努力してみる。 レビューするときは「Reviewer V.S. Reviewee」の構図を作らないように、常に自分に言い聞かせてる。 — okumura takahiro (@hfm) 2015, 4月 3 相手にメンチ切らなくていいので目的を見たほうが良い レビューの場では、2人が向き合うの

    inouetakuya
    inouetakuya 2015/04/07
    めっちゃいい話だった
  • 「Effective Ruby」を読んだ

    「Effective Ruby」を読んだ。 Effective Ruby Rubyを書くときの必携書になった 学ぶことが多いだった。 仕事で社内用のGemを作ってみたり、ちょっとしたbotをcinchで作ってみたり、Rubyを用いたツール開発を最近するようになった。 やっていて楽しいし、業務を楽に出来るのでガリガリ書いているのだけれど、ふとした時に「もっとより良い方法があるのでは?」と思うことが多い。 そうした時にこのが役に立ちそうだ。 プログラムを設計するうえで、より良いメソッド、手法を提示してくれる指南書。 あるいはRubyという言語の特性上、陥りがちなバッドパターンやその回避法についてのFAQ。 そうしたEffectiveなプラクティスの詰まった良いだと思う。 Rubyでコードを書くとき、手元においておきたい一冊になった。 感想 「1章 Rubyに身体を慣らす」「2章 クラス、

  • Serverspec v2用Rakefileとspec_helper.rbの紹介

    少し前の話になるんですが、30days AlbumにServerspec v2を導入しました。 日、Serverspec(もちろんv2です)を導入し、インフラエンジニアが歓喜している 30days Albumでございますが、ソフトウェアエンジニアAndroidアプリエンジニアを募集しております! http://t.co/O8fnhArXVb — 30days Album 写真共有・保存 (@30daysalbum) 2014, 11月 26 せっかくなので、30days Albumで使われているServerspec用のRakefileとspec_helper.rbを簡単に紹介してみようと思います。 ちなみに、半分くらいは@lamanotramaさんが書いていたりします。 (Serverspec v1時代にガガッと黒田さんが書いたのを、僕がv2用に合わせて書き直してます) Rakefil

  • Puppetでラムダとかイテレーションとか

    気づかなかったけど、どうやらPuppetがラムダやイテレーションをサポートするらしい。 https://docs.puppetlabs.com/puppet/latest/reference/experiments_lambdas.html まだ実験段階の機能らしく、Puppet 3系のfuture parserとしてこっそり搭載されている(3系の最初の頃からずっといるが。4系で正式搭載されるのだろうか) puppet applyコマンドでそういった実験的機能を使いたい場合は、--parser futureを付けてやると良い。 each rubyのeachみたいなもので、arrayやhashに対してのiterationを実行出来る。 $array = [1, 2, 3, 5, 8] each($array) |$i, $v| { notice("[${i}] => ${v}") } $ p

  • ペパボ新卒エンジニア研修 前編

    今年の4月に株式会社paperboy&co.へ入社し、気がつけば年の瀬までやってきた。 次世代・4期生の内定式はもう2ヶ月以上も前のことで、既に新卒5期生のための採用ページがオープンしている。 新卒採用2015 | 株式会社paperboy&co. 創立12年目を迎えた私たちペパボは2015年度新卒入社する新たな仲間を募集します! 今後さらなる成長を遂げるために、私たちとともに「もっとおもしろくできる」を気で取り組んでくれる仲間との出会いを楽しみにしています! 2013年を省みる 学び続けることを選んだ 私はペパボ3回目の新卒採用に選んでいただいた。そして2013年、新卒エンジニアとして研修にOJTにと、多くのことを学ばせていただいた。 もちろん、ソフトウェアエンジニアという、果てるまで学び続ける道を選んだのだから、「学び」は終わらない。 羽を休めることはあっても、次に飛ぶ瞬間を考え続け

  • 最近書いた、SMART値からディスクセクタを監視するNagiosとMuninのプラグインの紹介

    仕事でSMART値を利用したnagios, muninのプラグインを作ってました。 https://github.com/hfm/nagios-plugins https://github.com/hfm/munin-plugins 必要なもの: smartmontools (smartctl) -d autoを使えるバージョンが良いです。 Changelogによると、ver 5.40 (2010/10/16) あたりから使えるようです。 http://sourceforge.net/apps/trac/smartmontools/browser/trunk/smartmontools/ChangeLog-5.0-6.0#L1343 CentOS 5以上であればyumから入ったので、RHEL系であればyum update smartmontoolsで良さそうです。 バージョンアップしていく

  • ペパボ新卒エンジニア研修 後編

    前回、ペパボ新卒エンジニア研修のアプリケーションサイドについて、2013年の振り返りに合わせて紹介した。 今回はその後編にあたるオペレーションサイドの研修について紹介しようと思う。 Ops研修 エンジニア研修オペレーションサイドの内容を説明するのはカンタンだ。 Rails Tutorialで作成したTwitter風Webアプリケーションは、これまでHerokuやSqaleで動かしていた。 今度はそれを、minimalなOSの入ったサーバを用意し、環境を構築し、デプロイする。 production環境を自分で作り上げる。 自ら作り上げたサービスを自ら運営してみせるのが、この2ヶ月に渡り実施されたエンジニア研修の大目的だったと思う。 maglica 社内にはmaglicaによって構築されたinternal cloud環境がある。 社内ネットワークにVMを好きなだけ(といってもストレージに限界は

  • ペパボエンジニア研修の近況報告と、zshのプロンプトをイイカンジにしようとした話 | Kitchen Garden Blog @hfm

    私を含めた新卒エンジニアsは、ペパボのエンジニア研修の真っ最中です。 目下の取り組みとして、全11章に及ぶRails Tutorial (Ruby 2.0.0、Rails 4) の踏破を目指し、毎日英語Rubyに触れています。先輩社員の皆さん、いつも社内IRCでガヤガヤしててすみません。 他にも、特定の作業領域に囚われない座学を先輩社員の皆さんに開いていただいています(これは、大学で学んだことの復習としても機能しています)。2ヶ月間かけて行われる座学で、技術にとどまらず、OSSの文化であったり、ウェブの基礎知識や開発・運用等等、たくさんの座学を開いていただく予定です。…果たしてすべてを身につけ制覇することができるのか…いや頑張ります…うーんオツムドライブの容量が…脳クラウド…。 ――ともかく、ソフトウェアに関する技術をあまねく理解し、開発力を身につけるべく、日々邁進しております。 はてさ

  • 異常検知(変化点検出)をPythonで書いてみた | Kitchen Garden Blog

    データマイニングについて勉強する機会があり、Python言語の練習がてら「変化点検出」と呼ばれる手法について、近似的ではありますが、試作してみました。 変化点検出とは 変化点検出とは、入力データの時系列的な振る舞いの変わり目(変化点)を検出する方法です(山西健司著『データマイニングによる異常検知』)。 データマイニングによる異常検知 山西 健司 Rank / Rating: 302282 / - ASIN: 4320018826 Price: ¥ 3,990 A unifying framework for detecting outliers and change points from time series (Google Scholar) DoS攻撃や新種のワームの発生による、急激な値の変わり目(トラフィック量の急増等)を検知するのに有効とされる手法です。 id:yokkun

    inouetakuya
    inouetakuya 2013/04/13
    ほうほう
  • Mac デ Homebrew ノススメ | CaCi - Takahiro's Kitchen

    Homebrewとは HomebrewはMacPorts AlternativeなMac OS X専用のパッケージマネージャです。自家醸造酒 (home brew) を語源としており、Homebrewを通じて導入した各パッケージはCellarと名付けられたフォルダのもと管理されます。(ちょっとオシャレです←ココ大事です) “Homebrew is the bee’s knees, friends. So far it’s a perfect replacement for MacPorts.” Homebrew公式ウェブサイトより bee’s kneesは「飛び抜けて良いもの」という意味だそうです。うーん? それはさておき、Homebrewの簡単な特徴として、 Rubyで記述されているのでインストールもRubyコマンドで行う /usr/localフォルダにインストールされるため、MacP

    inouetakuya
    inouetakuya 2013/01/26
    いいね!
  • 1