今年もおつかれさまでした

今年もお仕事してました確認。来年もがんばるぞい いつなにをやってたのかとかあまりはっきりとは覚えていないのですが、データベースまわりの運用を頑張ってた時期があったのは記憶にあります。お仕事ではScala, PHP, Gaucheなどを書いてました。AWSとはま…

自社アドネットワークサービスのドッグフーディングはじめてみた

(この記事はAdvent Calendar 2015 - VOYAGE GROUP 10日目の記事になります) こんにちは!Zucksアドネットワークでエンジニアしてます@karahiyoです。 Zucksアドネットワークはスマートフォン向けのアドネットワークのサービスをしています。 今回はそのサ…

Gorを試してみたmemo

github.com Gorとはlog replayを自動化するためのツールです。go製。 log replayとは、log(httpのトラフィック)をreplay(再生)することで、よりリアルなデータ(プロダクションのトラフィック)をうまいこと使い、より効果時なテスト・確認をしようという考え…

惑星間レプリケーションとRDSのレプリケーション

RDSのMultiAZでは、データベースの障害時の影響を最小化するために同期レプリケーションを行っています。一方、リードレプリカであるスレーブとのレプリケーションは非同期で行っています。 非同期レプリケーションでは、"パケット通信時間 + スレーブでの更…

Gaucheでベンチマーク

Gaucheでベンチマークするためのマクロを組んでみました。karahiyo/gauche-miscgithub.comベンチマーク取るならgauche.timeかsrfi-19でだいたい事足りるはずなんですが、 ベンチマークのためのcounterについて、実コードを書く上であまり意識したくなかった …

歩きやすい道と歩きにくい道

最近思うのがどんないいプログラムでも時間が経つと旧式化し老朽化しうるということ。 それも意外と早く。それに対してプロダクトの寿命はずっと長いということ。それで困るのが、そのときは最善なコードを書いた、ちょっと先のことも考えて柔軟性も持たせた…

emphコマンド released - コマンドライン出力をカラーリング

すでにカラーリングツールはいくつかあると思いますが、 「〇〇の構文を解析して色付けする」というのではなく、ログなどの時系列なデータ向けに、 一行単位で完結するカラーリングツールがほしいと思ったので作ってみました。 golang製。 インストール $ go…

Haskell練習 ~LifeGame

最近H本読み進めています。今回はその練習で、LifeGameをしてみました。初期状態をランダムに決めたいとSystem.Random使おうとしたらおっ!?となったのでいったんここまででmmhttps://github.com/karahiyo/LifeGame_Haskell

何かしらのサービスを運用するようになって、のポエム。

人は何かしらの仕事をします。 仕事とは 何かを作り出す、または、成し遂げるための行動。 https://kotobank.jp/word/%E4%BB%95%E4%BA%8B-73099 なぜなら何かを成し遂げるためには、仕事をする必要があるからです。 エンジニアという人も何かしらのために仕…

DoはPerfectで、何がBetterか。

“Done is better than perfect.” ~ 完璧であるよりも、終わらせる方がいい ~ Perfectよりも優れているDoとはなにか。 それはおそらくその時の環境におけるBestなDo。『あれ、、、もしかしてトイレットペーパーとか持ってない?』 『ティッシュなら』これがBe…

isucon4予選問題をOpenResty使ってlua実装

isucon4の予選問題をnginx+lua+redisな構成で作ってみました。 モチベーションとしては、lua+nginxのパフォーマンスの可能性見てみたかったのと、 シンプルなアプリケーションなのでlua練習にいいのでは、というところでした。 コーディング @sora_h さんの…

NewRelic REST API クライアント released!!

NewRelic REST APIクライアントを作りました。 rubygems - https://rubygems.org/gems/nrcmd github - https://github.com/karahiyo/nrcmd そもそも、NewRelicとは何かを一言でいうと、"サービス向上のための情報を手軽に得られるツール"です。 というのも、…

YAPC::Asia Tokyo 2014 いってきました

ほんとにいろんな界隈から発表者も参加者も集まっていてYAPCすごいなと思いました。 運営の方々お疲れ様でした。来年も何かしらの形で参加したいと思います

fluent-plugin-histogram released.

fluent-plugin-histogramというfluentdのプラグインを書きました。fluent-plugin-histogram - RubyGems fluent-plugin-histogram 入力データの指定したkeyの値についてカウントして、ヒストグラム的な何かを作ります。使い方は以下です。 <match input.**> type histogram co</match>…

RubyでMake10やってみた

実家に帰ってTVをつけたらこんなCMが、Nexus 7 : 10 Puzzle - YouTube気になったのは、CM中に出てきた「1,1,5,8で10を作る」という問題。このような問題はMake10とか、10Puzzleと呼ばれているらしい。 (テンパズル@wikipedia)小さい頃から車のナンバーとかで…

その研究は健康か

継続的インテグレーション入門作者: ポール・M・デュバル,スティーブ・M・マティアス,アンドリュー・グローバー,大塚庸史,丸山大輔,岡本裕二,亀村圭助出版社/メーカー: 日経BP社発売日: 2009/08/06メディア: 単行本購入: 18人 クリック: 388回この商品を含む…

octokitがかわいかったので使ってみた

http://octokit.github.io octokitがかわいかったので使ってみた。 octokitはGithub APIのシンプルなラッパーです。作ったのがこれ。 https://rubygems.org/gems/growl-github-feedgithubでアクティビティがあったら、それをGrowlに通知したりします。Github…

SRM590 Div2

ゲームプログラミングに弱い...orz 250 問題 http://community.topcoder.com/stat?c=problem_statement&pm=12744&rd=15702 public class FoxAndGomoku { public String win(String[] b) { String ok = "not found"; String bad = "found"; int w = b[0].leng…

ISUCON夏期講習に行って来ました。

ISUCON夏期講習に行って来ました。今年秋開催のISUCON3では学生枠があるということで、ISUCON3に向けて興味ありそうな学生を募ったイベントでした。@tagomorisさん, @kazeburoさんをはじめLINE社の方のアドバイスを受けながらISUCON2の問題に挑戦し、惨敗し…

Hadoopクラスタ構築 AccessControlException: Permission denied

Hadoopクラスタ構築でつまったこととして1. hadoop.tmp.dirの権限がおかしいといわれたケース 2. MapReduceジョブ実行時にAccessControlException: Permission deniedエラーのケースの2件についてのメモ! 1. hadoop.tmp.dirの権限がおかしいといわれたケース…

勉強会資料

某社の内定者勉強会用の資料です。 Hadoop_startup from Kanazawa Univ

SRM158 div2 MEDIUM

The base of a number system is the number of different values each digit can represent. For example, in base-2 (binary), there are 2 values each digit can take: 0 and 1. In base-10, a digit can take values 0 through 9, inclusive. Sometimes…

SRM158 div2

#EASY 1 public class TireRotation { 2 String rot(String before) { 3 String after = ""; 4 after += before.charAt(3); 5 after += before.charAt(2); 6 after += before.charAt(0); 7 after += before.charAt(1); 8 return after; 9 } 10 11 public int…

なんとかInstallbattle(つづき

KVM仮想マシン上に開発用Hadoopクラスタを構築する話の続きです。 http://karahiyo.hatenablog.com/entry/2013/04/16/070121 CDH3 Hadoopディストリビューションを対象とします。 クラスタ構成 OS CentOS 6.4 x86_64 メモリ 2048MB コア 1 HDD 60GB~40GB の…

Padrinoで作成したサイトに外部からアクセスするための起動オプション

Padrinoで作成したサイトに外部からアクセスするための起動オプション [Padrino][webrick][外部公開]`$ bundle exec padrino start -h ..` / Code quality metrics for Padrinoframework:goo.gl/VHKDc @codeclimate— からひよさん (@cosadn) 2013年4月20日

なんとかinstall battle

KVM上の仮想マシンクラスタにHadoop環境を構築する話。 KVM 参考 ! [Flatlabs] "KVMのホストOS(CentOS)のネットワークをブリッジ化する設定"] "CentOS6.2 KVM環境構築" [PC便利帳] ”qemu, kvmでブリッジ接続 (RHEL, CentOS編)” [kenjiskywalker no memo] "■[…

株式会社はてなに入社しました

株式会社はてなに入社しました株式会社はてなに入社しました - hitode909の日記

Python 改訂版読了

仕事の都合から、ヘビ本改訂版を読みました。 http://www.amazon.co.jp/exec/obidos/ASIN/4797353953/hatena-hamazou-22/ 感想は、「python良く出来てる」です。 この本の中でも記述されていましたが、オブジェクト指向の入門にPythonを選ぶのはありだと思い…

python TDD環境構築

Vim上でPython TDDの際の環境を構築する話。まずは、テストの自動実行のために、guardをインストール。 # gem install guard # gem install guard-shellguardはファイルの更新を検知(watch)し、シェルコマンドを実行するrubyのライブラリ。 他にも、guard-rs…

VimでPython開発のための簡易設定

VimでPythonを開発する際の簡易設定。 OSはMacOSX。.vimrcに以下を追加。 filetype plugin on autocmd FileType python setl autoindent autocmd FileType python setl smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class autocmd F…

© karahiyo