_ko1 @_ko1 やっぱり spec の書き方がわからない、のは理解が足りていないからだと思うんだが、書籍でも読むといいんだろか 2014-04-17 15:24:18
こんにちは。ブログの最終投稿日時が99日前で「意識が低まっているのでは?」と言われちゃったきたけーです。最近、春の陽気につられて意識も高まってきたので、リハビリします。 最近、会社のその日の業務内容の報告にGithub(ペパボではGH:Eもつかっている)のpullreqとかissueのタイトルとURLを貼っつけています。 終業間際にGithubの画面をブラウザで開いて、いちいちリンクとかタイトルをコピーするのが面倒だったので簡単なスクリプトを書きました。 require 'octokit' client = Octokit::Client.new(login: 'kitak', access_token: 'githubの/settings/applicationsで発行したトークン') events = client.user_events('kitak') url_to_detail
The Art of UNIX Programming 作者: Eric S.Raymond,長尾高弘出版社/メーカー: アスキー発売日: 2007/06/19メディア: 大型本購入: 4人 クリック: 91回この商品を含むブログ (62件) を見る TL;DR Unix Philosophyにおいては、「一つのことをうまくやり、協調する仕組みを持つ」という事が大事 Node.jsのモジュールにおいても同じで、「一つのことをうまくやる、Stream APIで協調する」と良い 「一つのことをうまくやる」にはどうするのが良いのか、ということで substack のモジュール実装例 Simple と Easyの違い ちょっと今回長くて文字が多いので、最初と最後にまとめを用意しました。時間がない方はこれを読むだけでもいいかと。 Unix Philosophy さてさて、Unix Philosoph
背景 oh-my-zshは大変便利で、便利ではあるけど複雑怪奇なzshの設定を簡単に済ませることができるようになりました。 しかし、気の赴くままにpluginを追加していると、起動が重くなったり補完が重くなったり徐々に使いづらくなってしまいます。初回の起動が重いのはscreenやtmuxを活用してつぎつぎzshを起動・終了している人にはじわじわ効いてきますし、補完が重いのはとてもつらいものです。 また、oh-my-zshのpluginには、元のrepositoryからsourceを持ってきたまま放置されているものもあります。例えば、oh-my-zsh/plugins/zは2014-04-11時点では本家のrupa/zより古く、更新されてないことが伺えます。 oh-my-zshはいろいろつらさもあることは分かった、しかしoh-my-zshを捨てて一からzshを設定するのはつらい……。そんな方
Q. awk '{print $9}'とかでUser-Agent丸ごと取り出したい とか思ったことない? Apacheのログ解析で。でもできないじゃない。例えば 192.168.0.1 - - [17/Apr/2014:11:22:33 +0900] "GET /index.html HTTP/1.1" 200 43206 "https://www.google.co.jp/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36"
さくっとマッチャー書いた。 数行なので、プルリクしたもんかどうか迷う...。 failure messageを少し頑張った。 RSpec::Matchers.define :have_mysql_entry do |entry| match do |subject| if subject.class.name == 'Serverspec::Type::File' @content = subject.content if @value !! @content.lines.find {|line| line =~ /^\s*#{entry}\s*=\s*#{@value}\s*$/ } else !! @content.lines.find {|line| line =~ /^\s*#{entry}\s?=/ } end else raise "have_mysql_entry match
課外活動でiBeaconを利用したポイントカードアプリを開発したよ 株式会社KUFUの課外活動の一環として、なにかと話題の『iBeacon』を利用した「JELLY JELLY CHECK-IN」というポイントカードアプリを開発しました。 題材としたのは、渋谷で最初にオープンしたコワーキングスペース「JELLY JELLY CAFE」です。(KUFUのデザイナー白坂がオーナーをしています。) 5回来店いただく度にドリンクチケットがもらえます。チェックインする人が店内にいるどうかの判定や、お店からの距離の判定にiBeaconを利用しています。 ダウンロードはこちらから: JELLY JELLY CHECK-IN 常連さんもそうでない方も、ぜひ一度来店してチェックインしてみてください。 また、iBeaconを利用したiOSアプリ開発のお仕事もお待ちしております! ところで「iBeacon」っ
コードスニペット こんにちは。みなさん、Xcode のコードスニペット機能は活用していますでしょうか。以前ヤフーvsクラスメソッドの勉強会でヤフーの平松さんが発表されていました通り、爆速開発には欠かせない機能の一つです。 このコードスニペットですが、自分で追加するのはちょっと面倒かもしれません。ということで、よく使いそうなコードスニペットを GitHub で公開されている方が居ましたので、これを使って大量のコードスニペットをサクッと追加しましょう。 git clone https://github.com/hlung/Xcode-Snippets.git && cp Xcode-Snippets/*.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets これで Xcode を再起動すると、コードスニペットが追加されていると思
無料で商用利用可能、クレジット表記やリンクも不要、そんな素晴らしい写真素材サイトの中から「これだけブックマークしておけば大丈夫でしょー」という10+1サイトをピックアップしてみました。 1. 足成 写真素材 足成【フリーフォト、無料写真素材サイト】 2. PAKUTASO PAKUTASO/ぱくたそ-すべて高品質の無料(フリー)写真素材 (利用方法によってはクレジット表示が必要) 3. 写真AC 写真素材なら「写真AC」無料(フリー)ダウンロードOK 4. ビジトリーフォト 無料人物写真フリー素材の【ビジトリーフォト】商用利用OK 5. モデル・フォト 女性モデルのフリー画像 無料人物写真素材のモデル・フォト 6. ラブフリーフォト 著作権フリー商用可!無料画像の写真素材♪ラブフリーフォト *ここから下は海外サイトです。 7. picjumbo picjumbo — totally fre
統計処理用のマシンを使って、自然言語処理で遊ぼう! BTOパソコンで有名な「パソコン工房」から「統計処理用のPCを企画しているので、何かできないか」と相談された編集部は、はてなエンジニアと相談して「word2vec」を使って遊んでみることに。はてなブログのデータとかっこいいパソコンを使って、最新の自然言語処理で楽しむ様子をお楽しみください! 記事の終わりには2TBの外付けHDDが当たるプレゼントのお知らせも。 (※この記事は株式会社ユニットコムによるPR記事です) ―― BTOパソコンのショップ/サイトで有名な「パソコン工房」さんから、以下のような依頼が来ました。 データサイエンティスト向けに、統計処理用に使えるパソコンをいろいろと考えています。なので、何か面白い処理に使って、PR記事にしてほしいんです! ▽ 【パソコン工房公式サイト】BTOパソコン(PC)の通販 ―― ということで、はて
「ハイパーバイザの作り方」公開ページ こちらのページはSoftware Design誌の連載記事「ハイパーバイザの作り方」の公開ページです。 「Linuxのしくみを学ぶ - プロセス管理とスケジューリング」も公開中ですので、こちらも是非ご覧ください。 公開中の記事 第1回 x86アーキテクチャにおける仮想化の歴史とIntel VT-x [HTML] [PDF] [ePub] [mobi] [Kindle] 第2回 Intel VT-xの概要とメモリ仮想化 [HTML] [PDF] [ePub] [mobi] [Kindle] 第3回 I/O仮想化「デバイスI/O編」 [HTML] [PDF] [ePub] [mobi] [Kindle] 第4回 I/O仮想化「割り込み編・その1」 [HTML] [PDF] [ePub] [mobi] [Kindle] 付属資料 最近のPCアーキテクチャにお
覚えられなくて使うたびにググってしまうので、以後楽をするためにスニペットを記す。 パッケージ strconvパッケージを使う。 文字列 → 数値変換(パース) func Atoi(s string) (i int, err error) 文字列を10進数のint型にパースする。ParseInt(s, 10, 0)の省略形。 var i int i, _ = strconv.Atoi("255") fmt.Println(i) // => 255 func ParseBool(str string) (value bool, err error) 文字列をbool型にパースする。 var b bool b, _ = strconv.ParseBool("true") fmt.Println(b) // => true 受け付ける値は1, t, T, TRUE, true, True, 0,
はじめに 4/21(月)に開催された第4回elasticsearch勉強会に参加してきました。場所はグラントウキョウサウスタワー。会場提供はリクルートテクノロジーズ様でした。一参加者としてお礼申し上げます、ありがとうございます! なお、参加者にはElasticsearchのステッカーがもらえました(足りなかった人にはLogstashのステッカーだったとか。でもあのロゴも好きです僕) tweetまとめはこちら。 第4回elasticsearch勉強会 #elasticsearchjp - Togetterまとめ レポート ※後日各発表のスライドが公開されましたら順次追加致します。 「アナライズ処理の仕組みとクエリDSL」 by 株式会社シーマーク 大谷純さん(@johtani) スライド(PDF) ・転置インデックスとは ・文章を要素に区切り、その素からドキュメントIDを引けるようにすること
This is a RESTful API for NYC subway data from the MTA (Metropolitan Transportation Authority) The MTA offers subway data in GTFS format, which is not particularly useful for developers. My hope is that this API will make it easier for you to integrate this data into your applications. Documentation Subway station codes The MTA uses a set of codes to refer to subway stations in New York. In order
Herokuを使っているパフォーマンス測定ツールとしてよく使うのは、newrelicというサービスです。 これを使うと核処理にかかる時間やエラー発生率、SQLの処理時間、そしてブラウザの使用状況など様々な情報を見る事ができます。 今回はこれを使うための設定を書きます。 1.Gemfileに追加 gem 'newrelic_rpm' 2.bundle installを実行 $bundle install --path vendor/bundle 3.config/newrelic.ymlを作成 どのような設定でnewrelicを使うかを定義します。 Using versioncake (2.3.1) 1 2 mmon: &default_settings 3 # ============================== LICENSE KEY ======================
Rakefileに記述する Rakefileに記述して指定します。 task default: :about この様に書くと、タスクを指定せずrakeコマンドのみを実行した時にrake aboutと同じ挙動になります。 taskは複数設定することも可能です。 task default: [:about, :routes] aboutが実行された後、routesが実行されます。 デフォルトに設定されているタスクを解除する installしたgemの中で、taskをデフォルトに設定している場合もあります。 そのタスクをデフォルトで実行したくない場合は、一度デフォルトタスクを解除する必要があります。 task(:default).clear task default: :about 一度clearしてあげることで、defaultタスクの中身が空になり、実行されるのはaboutだけとなります。
On iOS, UIActivityViewController provides a unified interface for users to share and perform actions on strings, images, URLs, and other items within an app. You create a UIActivityViewController by passing in the items you want to share and any custom activities you want to support (we’ll show how to do that later on). You then present that view controller as you would any other modal or popover.
ナビゲーションバーとテーブルの間にiAdやAdMobを表示するなら、広告をスクロールできないように固定しないといけない。 特にiAdはインプレッションでお金が入るので、スクロールによって稼げてしまうようなアプリはリジェクト対象になる。 通常、テーブルを使ったアプリでは、UITableViewControllerを使うのだが、上記のようなケースではUITableViewControllerを使ってしまうと、広告が固定できずにハマる。 なぜ固定できないか、の前にUITableViewControllerで、 self.tableView.headerViewを固定できないか? self.tableView.superviewにaddSubviewして、self.tableViewをリサイズしてみたらどうか? と思い、調査&試しにやってみた。 結果、1は固定できるようなメソッドがなく断念(という
なんか細々とハマったことをメモ。 随時更新中。 クラス編 まだまだ理解不足です・・。 superが呼べない スーパークラスの非公開メソッドを上書きしたくて、同じメソッド名で定義を行い、内部で[super anyMethod]を叩こうとしたらsuperにアクセスできなかった。 冷静に考えれば当たり前だけど、メソッドの場合はprivateやpublicみたいなのを明示していないので「あれ?」となったのでメモ。 メモリ管理編 UIViewControllerのtouchesBegan:withEvent:が呼ばれない! こちらの記事を見て解決。 UIViewControllerのtouchesBeganとかtouchesEndedが上手く機能しなかったと思ったら・・・ おそらくオブジェクトが破棄?されてしまって動かないのかな。 ARCオフを知らないと問題だと思ったので、ARCオフでごにょごにょし
7 Patterns to Refactor Fat ActiveRecord Models という記事があり、読もう読もうと思いつつ1年くらい経ってしまった。 ようやく読んだので理解した内容を書いておく。 コード例は元記事のもの。 Rails で thin controller, fat model を心がけていると、model がマジで激太りしてヤバくなる。 実際に自分が仕事で書いている rails アプリも激太りしててヤバい。 この blog の筆者が作っている CodeClimate で C 判定をもらう程度には肥満体型になっている。 Mixinに抜き出さない! Model が太ってきた時に考えるのは ActiveSupport::Concern を使って感心事を抜き出して、Mixin にすることだと思う。 実際に手元のアプリでも models/concerns/ なんていうディレ
HTTP/2, SPDY に対応する負荷テストツール h2load を紹介します. HTTP/1 用の負荷テストツールは ab や weighttp が有名ですが, これらは HTTP/2 や SPDY には対応していません. HTTP/2, SPDY を負荷テストする場合は h2load を使うことができます. h2load は nghttp2 リポジトリに入っています. SPDY プロトコルをサポートするには, spdylay をリンクする必要があります. そのため最初に spdylay をインストールしてから nghttp2 をインストールします. インストール方法はそれぞれの README を見てください. この記事の執筆時点では HTTP/2 はまだ策定途中です. h2load は nghttp2 がサポートする HTTP/2 ドラフトバージョンのみに対応し, 執筆時点のバージョ
Web屋という仕事のこれから 〜Web動向からWeb屋に必要な技術を考えてみる〜 FutureSync Vol.5 で発表したスライドです。 タイトルは釣りです。前半はほぼネタです。 中身はJavaScriptで動作するデバイスは楽しいからみんなやってみたら? という内容です。
今回はJavaScriptで書くファサード(Façade)パターンについて調べてみました。 ファサードはフランス語で「建築物の正面のデザイン」という意味だそうです。 なぜ使うの? ファサードパターン自体はとてもシンプルで、いくつかの機能の「窓口」になるクラスやオブジェクトを作り、利用しやすくするパターンです。 jQueryで一番よく使うであろう $() 関数もファサードパターンの一つです。 例えば要素の見た目を変える機能を実装するとして、個別の要素を制御するオブジェクトと、窓口になるオブジェクトを用意すると以下のようなコードが考えられます。 // 色を制御するオブジェクト function colorObj() { return { changeColor: function() { console.log('色を変えます'); } } }; // フォントを制御するオブジェクト func
先日記事に書いたように、無停止のALTER文実行では Percona-ToolkitのOnline-schema-changeを利用しています。 無停止でALTERできるPercona-Toolkitのonline-schema-change オンラインでのカラム追加 私が担当しているサービスでは、ALTER文実行時にレプリケーションの遅延を出来るだけ発生させたくないので、 以下の様な手順でOnline-schema-changeを実行しています。 (1) スレーブ全台でOnline-schema-changeの実行 (2) マスターでOnline-schema-changeの実行(--set-vars="sql_log_bin=0"のオプション指定) "sql_log_bin=0"オプションをつけて実行すると、binlogを出さずに実行できるので、 マスターで実行してもそのクエリはスレー
大江戸Ruby会議04で「mruby hacking guide」というタイトルで話した。 スライドはこちら。 https://speakerdeck.com/ksss/mruby-hacking-guide mrubyを開発する人、使う人が増えればいいなという狙いだったんだけど、うまくいっただろうか。 2014/02/04からAsakusa.rbに4回連続で行った。 5回は進捗ダメで行けなかったけど、次の日家に帰って大江戸Ruby会議の参加登録をしようと思った矢先に@a_matsudaさんから「大江戸Ruby会議04で話しませんか?」というDMが来ていた。 特になにも話さずもくもくしてただけだったので非常に驚いたけど「行きます」と即答した。 驚いたのはそれだけじゃない。話す内容について一切精査されなかったのも驚きだった。300人規模のイベントをやるのに何を話すのか伝えているのはタイトルだ
非同期処理のテストってどう書いてますか? 標準のXCTest自体がサポートしていれば良いのですがそうではないので、非同期処理のテストを書きたい場合には、その仕組みを自作するか出来合いのライブラリを利用する必要があります。現実的な選択肢としては、 GHUnitやKiwiなど非同期処理をサポートしたテストフレームワークを利用する GHunitの非同期処理のテストの仕組みを真似て抜粋したライブラリを利用する(意外とこれが多いかも?) expectaなどのマッチャーライブラリに付属の非同期処理の仕組みを使う となるかと思います。 ただ、私が調べた時点だとどれもしっくりきませんでした。 まず、GHUnitやKiwiなどを採択している場合には良いのですが、非同期処理のテストを書くという目的だけのためにそれらのフレームワークを使うというのは冗長すぎます。 また、GHUnitの非同期処理の仕組みだけを抜き
MQTTとは MQTT(MQ Telemetry Transport : MQはMessage Queuing?)というプロトコルで、TCP/IP層で動作するWebSocketっぽいもの(ザックリ)。詳しくはそこはかとなく書くよん。を見てもらった方が分かりやすいです。簡単に言えば、M2Mでの使用を考えた軽量なメッセージプロトコルという感じです。Mosquittoはブローカの実装で使用します。 2013年のカンファレンスでは、2011年当時の「Beluga」(現Facebook Messenger)に使われているという発表があったようです Low Latency Mobile Messaging using MQTT from Henrik Sjöstrand MQTTのブローカとクライアントの動作確認の構成 今回下記のような構成でMQTTの動作確認を行いました。 ブローカ(サーバ):Mos
「Working In Progress」な WIP Pull Request という概念を知ったのでメモ。 【元ネタ】 Github を使って雑誌原稿を書く - naoyaのはてなダイアリー git commit --allow-empty を使った WIP PR ワークフロー - Qiita WIP (Work in Progress) な Pull Request を目立たなくする Chrome 拡張をリリース - @kyanny's blog 非開発者もGitHub Flowに巻き込んでみんなハッピーになった話 - Masatomo Nakano Blog github を用いた開発フロー テンプレート pull request を利用した開発ワークフロー // Speaker Deck 「Working In Progress」な WIP Pull Request とは、ソースの
先日弊社からiPhoneアプリをリリースしました。 スポーツ動画アプリ全10種類 | 株式会社CFlat iPhoneで気軽にスポーツ動画を楽しめるアプリケーションをリリースしました。AppStoreにて配信中です。 このアプリではスポーツのハイライトや試合結果、最新ニュースなどの動画を検索することなく閲覧することができます。スポーツが好きな方、スキマ時間を有効に使いたい方に最適な動画アプリです。 このアプリはあるスポーツについての最新の試合結果などを検索せずに見ることができるというものです。アプリはスポーツ毎に分かれているので、サッカーを見たい人はサッカー動画用のアプリ、野球を見たい人は野球用のアプリを使うことになります。 ここまで言うと大体お分かりいただけると思うのですが、アプリの基本部分の作りはどのアプリにも共通したものになっています。つまりソースコードが共有されているわけです。アプ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く