タグ

2014年5月20日のブックマーク (24件)

  • ブロックとProcの世界 - ザリガニが見ていた...。

    Rubyの世界はブロックとProcで溢れている。だのになぜ、自分はそれに精通できないのか?Symbol#to_procとか、関数型Rubyとか、そんな発想は自分には到底できそうもない。そればかりか、自分の頭の中はRuby1.8で止まっている。その状態では、Ruby1.9以降に追加された新たな記法が、謎の記号に見えてしまう...。 発想はできないけど、そうゆうコードを読んで感動できる読解力は持ち続けたい。調べてみた。 環境 MacBook Pro Retina15 OSX1 0.9.2 irb(main):001:0> RUBY_VERSION => "2.0.0" $ ruby -v ruby 2.0.0p451 (2014-02-24 revision 45167) [universal.x86_64-darwin13] ブロックとは何か? do ... end、あるいは{ ... }で

    ブロックとProcの世界 - ザリガニが見ていた...。
    oppara
    oppara 2014/05/20
  • 使えるdefaultsを書き込め

    使えるdefaultsを書き込め@新・mac板のまとめサイトです。OS Xのdefaultsコマンドを利用して、Macの色々な隠し機能を堪能しましょう。 設定を有効にするには、通常アプリケーションの再起動が必要です。またFinderやDockなど、再起動を簡単にできないようなアプリケーションに対しては、killallコマンドを使用する必要があります。 defaultsコマンドは、アプリケーションで使用する様々なデフォルト値を変更するためのコマンドです。アプリケーションの各種設定は、アプリケーションのメニューから辿れる環境設定で変更することはできます。しかし、ここで変更できるものはあくまで公式機能です。アプリケーションによっては様々な隠し機能を持っているものがあります。defaultsコマンドを使用する主な目的は、これら隠し機能を利用することです。

    使えるdefaultsを書き込め
    oppara
    oppara 2014/05/20
  • [メモ] Apache+mod_sslでSIGBUSが発生した件

    @hirose31さんと、Apache HTTPDからHTTPSでファイルダウンロード中にサーバプロセスがSIGBUSで死ぬって件にぶちあたり、 「OpenSSLの中でmemcpyがSIGBUSしてます」「な、なんだってー!」 って調べたのですが、理由は以下のとおりだった。 HTTPSの場合、デフォルト設定だとファイル読込にmmap(2)が使われる mmapされたファイルのサイズが変更されてもApacheはそれを検知しようがない そして、ファイル末尾以降のデータを読もうとするとセグメンテーションエラー(SIGBUS)が発生し、Apacheのサーバプロセスは異常終了する HTTPの場合は、ローカルファイルシステムの場合sendfile(2)が使われるので、ファイルサイズが変更になってもApacheは異常終了しない ただし、mod_deflateのような出力フィルタを使っている場合は、HTTP

    oppara
    oppara 2014/05/20
  • チーム開発を円滑にするチャット環境づくり ~IdobataとHubotの連携~ - Tech-Sketch

    前回の記事ではHubotのインストール、基的な使い方やScriptの作成、Herokuへのデプロイの方法を紹介しました。 記事ではIdobataというチャットサービスとHubot、外部サービスを連携し、チーム開発を円滑にする環境を構築していきます。 まずは導入後の開発環境の全体図を示します。最終的にIdobataでGitHub、Travis CI、New Relicなどのサービスからの通知を受け取り、Idobata上でコマンドを実行することでHubotを通じて外部サービスの情報を表示することが出来るようになります。 今回の環境は、Webアプリケーションをチームで開発するシーンを想定して構築してみました。(記事中では1人ですが...) Webアプリケーションは、Sinatraで作成したアプリケーションをHerokuにデプロイしています。また、前回と同様、HubotはHerokuにデプロ

    チーム開発を円滑にするチャット環境づくり ~IdobataとHubotの連携~ - Tech-Sketch
    oppara
    oppara 2014/05/20
  • Mac仕事効率化!Spotlightを完全に超えた神ランチャーアプリ「Alfred 2」の使い方とおすすめWorkflows10選。[Mac] | MacWin Ver.1.0

    Mac仕事効率化!Spotlightを完全に超えた神ランチャーアプリ「Alfred 2」の使い方とおすすめWorkflows10選。[Mac] Macの3大神アプリを挙げるなら何だと思いますか?XtraFinder、BetterTouchTool、Alfredあたりだと思いますが、その中でも個人的にはMacの神アプリ1位に推薦したいくらい使い勝手のよいAlfred(無料)。今回はバージョン2へアップデートされ、さらに使いやすくなったAlfredの機能と使い方を紹介します。 Alfredで出来るコト。機能的には大きく分けて2つ。 option + spaceで現れる検索窓から、Mac内のファイルやアプリケーション、連絡先、ウェブ検索などを行うことができます。Spotlight検索よりも素早く検索でき、高機能。 もう一つの大きな機能としては、ホットキーなどにアクションを割り当てることができるA

    oppara
    oppara 2014/05/20
  • JenkinsでiOSアプリ開発の細々した作業を自動化する(その2 〜 TestFlightで配信 → HipChatで通知) | DevelopersIO

    はじめに 前回はGitから取得、UnitTest、ビルド等の基的な設定をしました。 今回はオプション的な設定でTestFlightでアプリを配信したりHipChatで通知してiOS開発ライフをもっと便利にしたいと思います。 環境 Jenkins Plugins Jenkins HipChat Plugin 0.1.4 Testflight Plugin 1.3.8 TestFlightの設定 ※ TestFlight単体での動作は確認できていることが前提です。 システムの設定 > TestFlight 最初に「Jenkinsの管理 > システムの設定」 からTokenの設定をします。個々のジョブに設定するのではなく、システムの設定になります。 Test FlightのTeam TokenとAPI Tokenの情報が必要です。各Tokenの場所は↓です。 Team Token https:

    oppara
    oppara 2014/05/20
  • JenkinsでiOSアプリ開発の細々した作業を自動化する(その1 〜 Git → GHUnit → ビルド) | DevelopersIO

    はじめに サーバーサイドやWeb画面の開発では使われていましたが、ネイティブアプリ開発でJenkinsの導入が無かったため、今更ながら設定してみました。自動化って楽しいです。iOSのネイティブアプリ開発でJenkinsでGitリポジトリから取得し、GHUnit、ビルド、TestFlightで配信、HipChatに通知する環境を構築します。 今回はGitからソースの取得 〜 GHUnitでのUnitTest 〜 アプリのビルドまでです。 ビルドにはXcodeのコマンドラインツールが動作する環境が必要なのでMacが必要です。 流れ Gitリポジトリからソースファイルを取得(Jenkins GIT client plugin, Jenkins GIT plugin) GHunitUnitTest(Xcode integration) ビルド(Xcode integration) TestFli

    oppara
    oppara 2014/05/20
  • 中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita

    TL;DR MVCもレイヤで捉えて関係性の設計をするといいのでは 普通のRubyオブジェクトを積極的に使いたいですね 「パーフェクト Rails」に期待しましょう 長くなって面倒くさくなり、途中から手抜き感が半端ないですが許してください この記事の位置付けなど 7 Patterns to Refactor Fat ActiveRecord Models - Code Climate Blog [翻訳] エリック・エヴァンスのドメイン駆動設計 エンタープライズ アプリケーションアーキテクチャパターン これらの参考文献を踏まえてRailsアプリケーションのリファクタリングをしていて、だいぶ方向性や考え方がまとまってきたので、これからチームに合流する人を想定読者に、Qiitaがどんな感じで作られているのかを文書化したものです。(参考文献の一覧は記事の最後にあります) 内容的には文献[2,3]を踏

    中規模Web開発のためのMVC分割とレイヤアーキテクチャ - Qiita
    oppara
    oppara 2014/05/20
  • testemで任意のHTMLでテストを動かす方法とJavaScriptデバッガ連携

    Test Runnerのtestemを使ったテストについてメモ testem自体については以下などを見るといい気がします。 JavaScriptのテストツール「testem」が素晴らしいぞ | Mach3.laBlog Testem 0.1.0 Released and Screencasts testem の仕組み的には、テストを実行するためのHTMLページを用意して、 testem のローカルサーバ上でそれを表示してテストを実行しています。 testem自体は特にmatcher等は持ってなくて、adapter を書いて、jasmineやBuster.JS、QUnit等の構文を使ったテストを走らせた結果を得られるようにしてます。 Example Projects で紹介されてますが、この辺が充実してるのがtestemのいいところでもあります。 カスタムHTML testem/views

    testemで任意のHTMLでテストを動かす方法とJavaScriptデバッガ連携
    oppara
    oppara 2014/05/20
    testemで任意のHTMLでテストを動かす方法とJavaScriptデバッガ連携 | Web scratch
  • Rubyist Magazine - スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0062 号 バックナンバー Rubyist Magazine 0062 号 Kaigi on Rails 特集号 RubyKaigi Takeout 2020 特集号 Rubyist Magazine 0061 号 Rubyist Magazine 0060 号 RubyKaigi 2019 直前特集号 Rubyist Magazine 0059 号 Rubyist Magazine 0058 号 RubyKai

    oppara
    oppara 2014/05/20
  • 簡単なプログラミング問題にLet's チャレンジ!今月の西脇.rb&東灘.rb勉強会は「Ruby リファクタリング Dojo」です - give IT a try

    お知らせ 僕とAkiさん(@spring_aki)で毎月主催している西脇.rb&東灘.rbの勉強会のお知らせです。 今月のテーマは「Ruby リファクタリング Dojo」です。 日時 2014/05/31 (土) 13:00 - 18:00 場所 カナディアンアカデミー(神戸六甲アイランド) 参加費 500円 告知ページ http://nishiwaki-higashinadarb.doorkeeper.jp/events/11430 「Ruby リファクタリング Dojo」って何? 「Ruby リファクタリング Dojo」は簡単なプログラミング問題を事前に各自で解いて集まり、みんなでリファクタリングする勉強会です。 共通の問題を全員で解くので、他の人が書いたコードと自分のコードを比較してその人の知識や技術を吸収することができます。 また、自分が書いたコードを他の人にレビューしてもらい、リ

    簡単なプログラミング問題にLet's チャレンジ!今月の西脇.rb&東灘.rb勉強会は「Ruby リファクタリング Dojo」です - give IT a try
    oppara
    oppara 2014/05/20
    簡単なプログラミング問題にLet's チャレンジ!今月の西脇.rb&東灘.rb勉強会は「Ruby リファクタリング Dojo」です - give IT a try
  • Go言語でつくったツールをHomebrewで配布する

    先日、Go言語でつくった高速検索ツール(the_platinum_searcher)をHomebrewで配布できるようにしました。 意外とGo言語製ツールをHomebrew対応させる情報がなかったので、配布までの手順をまとめておきます。 Homebrewに対応させる HomebrewはMacで利用できるパッケージマネージャーです。 Homebrewでツールやパッケージを配布するにはそれらに関する情報やインストール方法を定義したFormula(製法)ファイルが必要です。 また、Formulaを登録するリポジトリも必要です。Homebrewには公式リポジトリがありますが、tapコマンドを使うことで独自リポジトリをFormula取得先として追加することができます。 今回は、独自リポジトリでFormulaを公開します。 Formulaファイルの作成 Formulaファイルを格納するディレクトリは独

    Go言語でつくったツールをHomebrewで配布する
    oppara
    oppara 2014/05/20
  • 継続は力になるのか

    オープンセミナー2014@岡山の懇親会でつかったLT資料です。 http://okayama.open-seminar.org/ 解説はこちら。 http://blog.eiel.info/blog/2014/05/19/open-seminar-2014-at-okayama/

    継続は力になるのか
    oppara
    oppara 2014/05/20
  • bundlerを使ってRSpecを書きつつGemを開発する - Qiita

    bundlerを使ってRSpecを書きつつGemを作るための準備について。 ひな形を作成 まずはひな形を作成。 これで良い感じのディレクトリ構造とGemfile, gemspecが作成されて、なんだかいい具合のREADME.mdまで作成されます。 このままGithubにpushしたらREADME.mdが見えるようになるわけでなんだか流石な感じ。TODO: Write a gem descriptionの部分を編集してアップしましょう。 開発用にRSpecをgemspecに設定 Gem::Specification.newブロックの中でrspecを使うよう設定。

    bundlerを使ってRSpecを書きつつGemを開発する - Qiita
    oppara
    oppara 2014/05/20
  • ASCIIcasts - “Episode 245 - Bundlerでgemを作る”

    245:  Bundlerでgemを作る  (view original Railscast) Other translations: Other formats: Written by Naomi Fujimoto Ruby gemの作成および管理の方法は、ここ数年で進化を続けています。エピソード135 [動画を見る, 読む] ではgemの作成にechoe gemを使用しました。その約1年後のエピソード183 [動画を見る, 読む]ではJewelerを使用しました。どちらのツールもgemのリリース毎にGemspecファイルを生成する手段と、そのGemspecファイルを管理するツールを提供します。今回は、Gemspecファイルの管理を、手作業で全体的にずっと簡単な方法で行うことにします。 今回の方法でも、gemごとに最初にGemspecファイルを作成する必要があります。これを手作業で行う

    oppara
    oppara 2014/05/20
    ASCIIcasts - “Episode 245 - Bundlerでgemを作る”
  • CentOS6.4にSkypeを入れてbotでお話させる - /dev/null

    CUIなCentOSにSkype入れて適当にお話させる。 ちなみにCentOS minimalで動かそうとすると面倒 デプロイシェルとかに仕込めば楽しいねって話 まずはライブラリ sudo yum install -y glibc.i686 nss-softokn-freebl.i686 alsa-lib.i686 libXv.i686 libXScrnSaver.i686 libtiff.i686 glib2.i 686 libSM.i686 libXrender.i686 fontconfig.i686 pulseaudio-libs.i686 alsa-plugins-pulseaudio.i686 でSkype体をDL解凍 cd /tmp/ curl -L -O http://download.skype.com/linux/skype_static-4.0.0.8.tar.bz

    CentOS6.4にSkypeを入れてbotでお話させる - /dev/null
    oppara
    oppara 2014/05/20
  • 君がOpsでもRubyで書いたライブラリはGemで配ろう - Qiita

    Infrastracture as code流行の副産物として、もうOpsはある程度Rubyでライブラリを書けるようになりました。 折角Rubyでライブラリを書いたなら、安全&ラクに配布するためGemパッケージにしましょう、出来る人には今更でしょうが知らない人は真似してみてね。 ちなみに意外と誤解されてる点、gemにする=Rubygems.orgで公開する、ではありません、してもOKというだけで。 目標 gemファイルを置いて、gemコマンドで自分のライブラリをサーバに導入する。 こんなかんじで。 gem install -l my_libs-0.0.1.gem じゃあやってみましょう。 Gemの雛形をつくろう Gemの作り方は色々あるようですが、私はもっぱらbundlerです。 bundle gemで必要なファイル群を作成します、便利ですね。 $ bundle gem my_libs c

    君がOpsでもRubyで書いたライブラリはGemで配ろう - Qiita
    oppara
    oppara 2014/05/20
  • Ubuntu Server 12.04.2 LTSでSkypeのボットを動かすまでの手順 - orangain flavor

    はじめに 開発についてのミーティングをSkypeのチャットで行っていると、このチャットに外部からメッセージ送りたくなります。例えばJenkinsからの通知とか、アラートの受信とか。 技術的にできることは知っているのですが、非GUIのサーバー環境で動かそうとすると、仮想フレームバッファとか難しそうなので今まで敬遠してました。それではいかんということで、試してみたので手順を残します。 この記事では、基的に以下のページを参考にさせて頂きました。感謝です。以降の「参考サイト」という表記はこのページを表します。 Linux上で動くSkype用のbotを作る方法 - muddy brown thang 1. Ubuntu Serverをインストールする まずはサーバーが必要なので、Ubuntu Server 12.04.2 LTS 64bit をインストールします。Debianが好きなのですが、Sk

    Ubuntu Server 12.04.2 LTSでSkypeのボットを動かすまでの手順 - orangain flavor
    oppara
    oppara 2014/05/20
  • Linux上で動くSkype用のbotを作る方法 - muddy brown thang

    はじめに 以前、知人のやっているBeProudという会社を手伝ったのですが、BeProudでは、エンジニアの主要なコミュニケーション手段としてSkypeが使われていました。当時、趣味でたまたまSkypeのAPIについて調べていたので、悪戯っ気を出して、開発環境に即席でSkype APIを使ったbotを設置してみたところ、思いのほか好評を博し、いまやインフラと言っても過言ではない存在 *1 *2と化したようです。 まあそんな状況を眺めつつ、自宅のサーバにSkype botを設置して、お気に入りのSkypeチャットにもbotを加えてみたところ、これも結構好評だったので、興味ありそうな人向けに作成方法をまとめることにします。 Skype Public API Skype Public APIとは、Skypeを外部からコントロールするためのインターフェイスです。 Skype Public API

    Linux上で動くSkype用のbotを作る方法 - muddy brown thang
    oppara
    oppara 2014/05/20
  • SkypeのチャットにJenkinsのビルド結果を通知する - orangain flavor

    はじめに Jenkinsのビルド結果をSkypeのグループチャットに通知したいことがあります。Skype プラグインはあるのですが、ググるとインストールが大変でうまく動かないという声がチラホラありました。 とりあえずプラグインだけをインストールして設定を見てみましたが、通知先にユーザーしか選べず、グループチャットに対して通知できなさそうだったので、試していません。 代わりに以下のサイトを参考にさせてもらい、通知を実現しました。 Sending Jenkins build notifications to a Skype chat | Encoded Knowledge SkypeプラグインはJenkinsのスレーブでSkypeを動かす必要がありますが、この方法ではSkypeを動かしているマシンからHTTPでJenkinsにアクセスできるだけで大丈夫です。 1. Skypeを動かす。 以前の

    SkypeのチャットにJenkinsのビルド結果を通知する - orangain flavor
    oppara
    oppara 2014/05/20
  • CircleCI導入したのでwerckerとの比較も含めてまとめ - 月曜日までに考えておきます

    最近話題のCI as a Serviceを導入すべく調査してみました。JenkinsさんもすごくいいのですがAWS smallインスタンスに乗せているとやっぱり来の力を発揮できない感じがあるので。 CircleCIって以前は、一番安い契約だと1Private Repositoryしか扱えなくて使いづらそうな印象だったのですが、4月末頃にPrivate Repository数は無制限、同時実行ジョブ数で課金というPlanに変更になったようですね。 Simple and Transparent Pricing | The Circle Blog http://blog.circleci.com/simple-and-transparent-pricing/ 自分の関わっているプロジェクトでは、 リポジトリはそれぞれの役割ごとにいくつか分けている 開発者数は少ないのでコミット頻度はそんなに高く

    CircleCI導入したのでwerckerとの比較も含めてまとめ - 月曜日までに考えておきます
    oppara
    oppara 2014/05/20
  • プログラミングの生産性を上げるには - 聞かれてもいないことを喋る

    Yak Shaving の誘惑に打ち克つ ソフトウェアを作っている途中で、「これを作るのを効率化するためには ○○ が必要だ」と思い、来やっていた作業の手を止めて ○○ を作り始めてしまうことは往々にしてある。 しかしその作り上げた ○○ が最終的に当に(長期的にみて)効率化に役立ったケースは、自分の経験からいって 10 個のうち 1 つくらいではないかと思う。 効率化のための努力をするなということではない。大事なのは、アイデアを寝かせることだ。 人はゴミみたいなアイデアでも、気付かずにこれこそが素晴らしいアイデアだと信じこんでしまう。自分の考えたアイデアには愛着が湧くものだ。 そのアイデアが当に優れているかどうか客観的に判断するには時間が必要だ。最低でも 1 晩、できればもう 2, 3 度は同じ必要性を感じてから作るのがいい。 1 回しか必要性を感じたことのないものをその場の勢いで

    プログラミングの生産性を上げるには - 聞かれてもいないことを喋る
    oppara
    oppara 2014/05/20
  • 海外のユーザーに適したホームページの作成

    +1 ボタン 2 AMP 11 API 3 App Indexing 8 CAPTCHA 1 Chrome 2 First Click Free 1 Google アシスタント 1 Google ニュース 1 Google プレイス 2 Javascript 1 Lighthouse 4 Merchant Center 8 NoHacked 4 PageSpeed Insights 1 reCAPTCHA v3 1 Search Console 101 speed 1 イベント 25 ウェブマスターガイドライン 57 ウェブマスタークイズ 2 ウェブマスターツール 83 ウェブマスターフォーラム 10 オートコンプリート 1 お知らせ 69 クロールとインデックス 75 サイトクリニック 4 サイトマップ 15 しごと検索 1 スマートフォン 11 セーフブラウジング 5 セキュリティ 1

    海外のユーザーに適したホームページの作成
    oppara
    oppara 2014/05/20
  • >突然の死<ジェネレーター - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog

    拡張 POSIX シェルスクリプト Advent Calendar 2013、25日目の記事です。 最終日です。ネタが尽きました。 当にネタがないので、 最後は私の集大成…でもないですがそこそこ頑張って作ったシェルスクリプト、 「>突然の死<ジェネレーター」を紹介して締めたいと思います。 Twitter で私をフォローされている方はもうご存知ですね。 既に 2013年5月ごろにツイートした作品です。新ネタでなくすみません。 >突然の死<ジェネレーターとは? あなたの端末に>突然の死<を提供するイカしたスクリプトです。 名前は echo-sd と言います。 「echo」は echo コマンドのそれです。「sd」は「sudden death」です。 そのまんまですね。 …何のことやらさっぱりですか? そうですね。実際にお見せしましょう。 どうです? 便利でしょう? ツイート機能も付いてますよ

    >突然の死<ジェネレーター - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog
    oppara
    oppara 2014/05/20