大学を2回中退した

この登校は退学 Advent Calendar 2014 - Adventarの14日目の記事です。 なんで2回も中退したの? 記事のタイトルにある通り、私は大学を2回中退しています。 奇遇にも一日目の方も(いろいろな退学)2度退学しているそうで、居るところにはいるんだなーと感…

ruby から tiarra-control unixsocket を叩くやつを作りました

tiarra 経由で irc の発言ができるというのを知って作りました。 gem にするほどまででもなかったので gist に貼っておきます。https://gist.github.com/pullphone/b9394bd3e2e5f666a993参考にした http://sotarok.hatenablog.com/entry/20090507/1241691279

Docker で ufw を使う

Docker で作ったコンテナへ外部から接続する際、普通は「-p」オプションを使ってポートフォワーディングして外部からも特定のポートで接続できるようにするのが普通だと思います。が、「-p」オプションを使ってポートフォワーディングすると、文字通りどこか…

MySQL を docker で動かす Dockerfile & スクリプト作った

ファイル https://github.com/pullphone/my-dockerfiles/tree/master/mysql_master やってること Dockerfile 会社で Debian つかってるのでとりあえず Debian 用に作った apt-get のあたりを適宜 yum とかに変えれば CentOS とかにしても動く(たぶん) レポ…

GitHub の Pull Request で File Changed が∞になる

お役立ち情報ではないですが、会社の GitHub:Enterprise でこんな現象に遭遇しました。 詳細・条件は不明ですが…。これどういうことだよ pic.twitter.com/odcDCNytJ1— ぷるたん (@pullphone) 2014, 7月 16

リモートの mosh が古くて動かない

…ときは普通に apt-get なり yum なりでアップデートするのが普通だと思うのですが、多数のユーザーが共有している環境*1で、グローバルにインストールされているものをアップデートするのがためらわれる場面があると思います*2。そういうときは、おもむろに…

ターミナルでフルスクリーンなやつを開いた後に元のスクリーンが消えちゃう奴

なにやら terminfo とかいうやつが絡んでるらしい*1。で、iTerm2 の設定と .zshrc を見比べてみたら、iTerm は xterm-256color になってるのに .zshrc は TERM=xterm-color になってた。たかが $TERM、されど $TERM ...参考にした http://tech.portalshit.ne…

元岩手県民から見た岩手・宮城・福島の都市の序列

岩手県に18年、福島県に2年弱、宮城には住んだことないけど何回か泊まったことがある程度の人が、この三県にどういう思いを抱いているのかを書いてみる。 岩手 なんだかんだで盛岡はそこそこ都会(少なくとも北東北のなかでは) でも駅前しょぼいよね 他の都…

今一度 MySQL forked なプロダクト群についておさらい

MySQL を使っている企業やディストリビューションが続々と MariaDB に鞍替えすることでにわかに活気だってきた MySQL forked なプロダクト達。 今回はそれらを 3 行でまとめてみる。 MySQL 言うまでもないけど本家 現在は Oracle が開発を主導(および権利を…

mixi がソーシャルプラットフォームのオープン化に踏み切ったのは Mobage & GREE より前

笠原社長退任にみる、ミクシィの苦悩〜相次ぐ身売り話と人材離脱、ライバルの台頭… | ビジネスジャーナル そして11年11月、ミクシィは事業方針を大きく転換した。SNS上にミクシィゲームを新設してソーシャルゲームに進出。ビジネスモデルを広告モデルから課…

別にプログラミング自体を目的にしてもいいけど

出来ればある程度プログラミングできるようになってから目的にしてくんねえかな。。。 経験上、プログラミングが目的になってる人でエンジニアとして優秀な人が多いのは確かだし、プログラミングがバリバリ出来る人でプログラミングが目的になってる人を否定…

三大「なんだこれ!」と思ったWikipediaの項目

日本は侵略国ではありません! ラノベのタイトルかなにか? ではなく、94年春に出された意見広告、及び小冊子の名称とのこと。 日本の若者には右寄りの思想の人達が多いらしいので、本当にこういうラノベ出したらそれなりに受けそうですね。 降り懸かる火の粉…

退職しました

2013年2月15日をもちまして、株式会社ユードーを退職いたしました。 2011年4月に入社し、2年弱勤務させて頂きました。 「そもそもお前はどういう仕事をやってたの?」と思う方もいらっしゃると思いますので、簡単に説明しますと、スマートフォン(iOS、Andro…

「INSERT INTO 〜 SELECT 〜」のSELECT結果を「ON DUPLICATE KEY UPDATE 〜」で使う

「ON DUPLICATE KEY UPDATE」という構文がMySQL独自のものと知ったときは軽くショックを受けました*1。まあ、そんなことはどうでもいいんです。 通常、「INSERT INTO 〜 SELECT 〜」ってGROUP節を使って集計したものをどっかのテーブルに入れるとかっていう…

Nginxで静的ファイルをPOSTで取れない

htmlファイルやtxtファイルといったAPサーバーに送らず、Nginxが自ら処理するアクセスをPOSTで取ろうとすると405エラーを返すという挙動になっているようです。通常のブラウザアクセスではほぼ起こり得ないパターンですが、ネイティブアプリ向けAPIを作って…

UDPサーバー立てたらハマった件

UDPパケットの受信は出来るっぽいが送信が出来ない!何故!? 色々調べてみた結果*1、「ニフティクラウドのサーバー」かつ「CentOS6系のOS」でこの現象が起こることまではわかった*2。 で、それを元にいろいろググってみるとひとつ怪しい情報にぶち当たる。…

Nginx ⇔ php-fpmの接続をTCPからUNIX Socketにしたら(何故か)性能が劣化した件

とあるサービス(と言ってもこのブログで散々言及してきた「あの」アプリのサーバーです)で、普通の「Apache with mod_php」な構成から「Nginx with php-fpm」な構成に変え、しばらく安定して稼働していた*1ので、さらなるパフォーマンスを目指してTCPなPor…

MySQLがダメならPostgreSQLしかないのか

巷ではOracleがMySQLをオープンソースじゃなくする?*1みたいな噂が駆け巡ってますが、なにも本家MySQLじゃなくたって、MySQLからフォークしたRDBMSがいくつかあるんですよ。ブコメの反応とかで疑問に思っていたのは、何故すぐに「PostgreSQLに移行しないと…

rbenv on Cron

Cronでrbenvで動かしてるruby*1を動かすのに手間取ったので備忘録として。 前提条件 rbenvの設定は/etc/profileの中で行っている ユーザーごとにrbenvの設定があるわけではなく、全ユーザー共通のrbenvがあるため 普段はログインシェルとしてzshを使っている…

MySQLでテーブルの全件をちょっとずつ持ってきて処理したいときに注意すること

「全部で100万件とか1000万件とかあるような、でっかいテーブル内のデータを全部持ってきて特定の処理を加えた後にどっかに入れる」というような処理をしたいときに注意すること。通常はLIMITを使ってオフセット/リミットで絞ってちょっとずつやる、みたいな…

「○○」という文字を含むテキストファイルのうち「××」という文字を含まないテキストファイル一覧を出す

grep -lR '○○' /xxx/dir/|xargs grep -L '××'

Redmineを2.0.0にアップデートした

Ruby全然分かんないんですけど割とすんなりいきました。 Redmineをアップデート まあ普通にファイル類を置き換えるだけなんでここはとっても簡単です。 一応DBとかfilesディレクトリはバックアップしておけとのことなんで適当にバックアップする mysqldump -…

「net.ipv4.tcp_tw_recycle」を有効にするのは(場合によっては)やめた方がいい

そもそも「tcp_tw_recycle」ってなに? TIME_WAIT状態のソケット*1を高速に再利用するためのLinuxカーネル特有の仕組みらしい。「/etc/sysctl.conf」でこいつ(net.ipv4.tcp_tw_recycle)を1にしてやって「sysctl -p」するだけで有効になります。「TIME_WAIT…

さくらVPSで一般的な?LAMP環境を構築する

プランが一新され、今借りてるメモリ1.5Gのプランと同じ値段でCPU3コア、メモリ2Gが借りられるということで移行することにした。 その際に、イチから構築したのでその備忘録。 注意 自己流。 とりあえずログイン VPSの作成が終わるとさくらからメールが来る…

続・間違いだらけの負荷対策

事の始まり 3月に入ってから「斉藤さん」のWebサーバーのピークタイムでのアクセス数が秒間180アクセスを境に動かなくなり、しまいには一部アクセスが固まって動かなくなるという現象が発生した。Apacheのエラーログを見ると、データベースサーバーに接続で…

Nginxで2週間ほど『斉藤さん』のサーバーサイドを運用してみて

考察 同時アクセス数が大きくなると(感覚では秒間150〜160前後)後ろが詰まってアクセスを取りこぼすことがある。下のグラフの0時前後(23時ちょうどと0時過ぎくらい)に注目。グラフが途切れている部分はアクセスが集中し、munin-nodeがステータスページへ…

お手軽メッセージキュー「Kestrel」を使ってみる

いきさつ ついに『斉藤さん』が北米・UKなどで公開されたらしいです。 海外ではウケるのかどうか未知数ではありますが、さらにアクセス数が増えると思うとgkbrな日々です。今のところWebサーバーのプロセスが比較的スムーズに処理されているようなので問…

ディスクの中にあるディレクトリをサイズ順に並べるPHPスクリプト

セーフモードが有効だと多分動きません。

Nginx de PHP

昨日書いたのがあまりに技術っぽくない(の割に結構見られてて恥ずかしい)ので、一応フォローのため「NginxでPHPを使う」ということに的を絞って書きます。 注意 基本的に「CentOS(バージョン5.7)環境での動かし方」を書いています ソースからビルドする…

実録・間違いだらけの負荷分散(『斉藤さん』編)

特に記録を残さず、記憶に頼って書いているので一部曖昧だったり誤っている部分もありますがご了承下さい。。。 基本的に細かいこと考えずに試行錯誤しているので、あんまり参考にしないほうがいいと思います。 というかインストール方法とかコマンドライン…