Japan Product Manager Conference (#pmconf) に行ってきたのでその所感などを書いてみました

pmconf.jp 先日、会社のお金で Japan Product Manager Conference (#pmconf) に行ってきました。 学ぶところが多かったので、その内容と所感を簡単にまとめてみました。 (誤植ありましたらご指摘ください、修正いたします) トピックス nekokak さんのスピ…

Ubuntu 15.10 から LINE にアクセスする

Ubuntu から LINE にアクセスしたかったので。 http://altrepo.eu/git/purple-line 今回は、これが良いらしいので、使うことにしました。 libpurple を LINEプロトコルに対応させるプラグインのようです。 pidgin はディストリビューションで標準的なメッセ…

ubuntu 15.10 における resolvconf まわりの初期設定

私の環境だと、 ubuntu 15.10 におけるデフォルトの resolvconf 設定だと、 頻繁に google.com の名前解決ができなくなる現象が発生した。 これを解決するために、以下を実施した。 eth0 に固定アドレスを設定 /etc/avahi/avahi-daemon.conf の domain-name …

ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 102

homebrew 経由で mysql をインストールし利用しているのですが、先日アップグレードを行いました。 その後 mysql サーバに接続しようとしたら、下記エラーが発生し接続ができなくなりました。 ERROR 2013 (HY000): Lost connection to MySQL server at 'read…

mysql2 gem 経由で MySQL サーバ接続時ライブラリの `LoadError` が発生する

mysql2 gem 経由で MySQL サーバに接続しようとすると、ライブラリ /usr/local/lib/libmysqlclient.18.dylibがロードされず、LoadErrorが発生しました。 /Users/username/reposname/vendor/bundle/ruby/2.3.0/gems/mysql2-0.4.3/lib/mysql2.rb:31:in `requir…

エッセンシャル思考を読んだので、まとめてみた

グレッグ・マキューン氏の「エッセンシャル思考」を読んだので、自分用に内容をまとめてみた。 エッセンシャル思考とは エッセンシャル思考は3つのコンセプトでなりたっている。 選択 → 「やらなくては」ではなく「やると決める」 ノイズ → 「どれも大事」…

地方ではなく都心部に住みたい理由

先日飛騨高山に旅行に行ってきました。片道電車で5時間 (新幹線で名古屋までいって、そこから特急に乗って2時間半という立地なので)かかります。 この高山、観光地としては上等で、飛騨牛と古い町並みを武器としており、僕が訪れた時も多くの観光客で賑わ…

Fashion tech meet up #1 で MERY PASS 立ち上げにおける開発プロセスについて LT してきました

かなり遅くなりましたが、先々週 Fashion tech meet up #1 が MERY x iQON のテックミートアップが開催されました。 fashion-tech.connpass.com ここでLTをちょろっと発表しましたので資料へのリンクをこちらにも掲載しておきます。 A way to launch MERYPAS…

Error: "Not a valid object name" on deploying with Capistrano 3

deploy 中に下記のようなエラーが発生した. The deploy has failed with an error: Exception while executing as foo-bar-user@{MY_IP_ADDR}: git exit status: 2 git stdout: fatal: Not a valid object name tar: This does not look like a tar archive …

Active Record create の戻り値

Creates an object (or multiple objects) and saves it to the database, if validations pass. The resulting object is returned whether the object was saved successfully to the database or not. http://api.rubyonrails.org/classes/ActiveRecord/P…

ERROR 2013 (HY000): Lost connection to MySQL server at 'sending authentication information', system error: 32

起きたこと ローカルマシンから mysql につなごうとしたら以下の様なエラーが発生し繋げなくなった。 $ mysql -uroot ERROR 2013 (HY000): Lost connection to MySQL server at 'sending authentication information', system error: 32 原因 1 process あた…

MySQL で作ったテーブルに index を貼るべきかどうかの判断基準

tickets テーブルがあると仮定する。 この tickets テーブルには n レコード格納されている。 2分木ソートの場合、ソートにかかる計算量は O(n log n) で、index を配備するのにかかる計算量は O(log n) となるため、 単位時間あたりのソート回数を x, 単位…

nc を用いた Memcached のオペレーション方法

nc を用いた Memcached のオペレーション方法についてまとめておきます。 特定のキーのデータを参照、削除する memcached に接続するためのツールはいくつかあるが、ここでは nc を用いた方法を採用している。 telnet よりも nc(netcat) を使ったほうがいい…

Webアプリ開発の実装力向上に有効な手段は良い仕様をたくさん学習すればよいのではないか

良い実装ができるようになりたいとする。 良い実装ができるようになるためには良い仕様を策定できることが必要と考える。 良い仕様というのは様々なニーズに対応できるということなので、 どのようなニーズがあるのかを知り、そのニーズに対する良い解決策(=…

なんとなく気持ちの整理をしておく

私は新しいビジネスモデルとか新しい技術とかには興味があって、「なぜ?」というのはすごく気になって調べたりするんだが、 それがある程度わかるとなんとなく興味がなくなってしまう。 それ以上深いところを知りたいというモチベーションが湧かなくなって…

「砂糖をやめればうつにならない」を読んだ

「砂糖をやめればうつにならない」という本を読んだ。 この本で主張していることを整理すると以下のようになる。 砂糖を摂取すると血糖値が急激に上昇する。 これによりインシュリンが過剰に分泌され、必要以上に血糖値を下げてしまう。 結果、低血糖症状と…

unicorn コマンドと unicorn_rails コマンドの違いと使い分け

unicorn コマンドと unicorn_rails コマンドの違いは -E オプションで渡すものが RACK_ENV になるのか、RAILS_ENV になるのかがメインのよう。 でも ActiveAdmin を使うときなどは unicorn_rails じゃなかったりするようだし、Rails アプリケーションの場合…

Unicorn の特徴について初歩的なことを書いておく

アプリサーバー対決 パート1:主なRubyアプリケーションサーバーの機能比較 [和訳] - Engine Yard Blog を読んで、Unicorn がわかった。 高速クライアント用と呼ばれる理由 ホットデプロイをどのように実現しているか Unicorn はmasterプロセスとそれをfork…

SaaS vs. PaaS vs. IaaS vs. VPS vs. オンプレ

SaaS vs. PaaS vs. IaaS vs. VPS vs. オンプレ 私の覚書として乱暴にまとめておく。 (# 特に PaaS vs. IaaS vs. VPS がメインです。) SaaS (Software as a Service), PasS (Platform as a Service), IaaS (Infrastructure as a Service) はクラウドコンピュ…

モチベーションを保ちつつ学習を継続するには

なにかやると自分の不足しているものが見えてきて、 目的が明確になり、学習へのモチベーションが湧く。 なにかやる→しばらくそれについて学習する の繰り返しが望ましいようだ。 僕の場合、とにかく学習しなければ、と思い学習を始めるが、 ボトムアップ方…

「超高速勉強法」を読みました

Amazon.co.jp でkindle版のセールをしていたので、寝る前に読むように買って読んでみました。 やや暗記や速読よりの内容ではありましたが、 当初の目的である「勉強法」的なことも学べましたし、 それに加えて、ワークショップ形式で自分の状況を書き出した…

パーフェクト Ruby on Rails 2章まとめ

パーフェクト Ruby on Rails 2章について、社内勉強会で発表したのでその資料を転載しておきます。 techtea_20141121.md

Amazon RDS な MySQL で 不要 process を kill する

MySQL で Too many connections が発生しました。 processlist を確認したところ、Command が Sleep なプロセスが多く発生しており、 結果最大接続数の上限に達してしまうことで発生していたのでした。 Sleep なプロセスが接続を持ったまま残っていることは…

MySQL int(10) の意味するところ

MySQLにおいてint(10)は整数データタイプの表示幅を10桁に指定するという意味になります。 create文例: CREATE TABLE `test` ( `id` int(10) unsigned NOT NULL DEFAULT '0', `name` varchar(40) NOT NULL DEFAULT '', `type` smallint(6) NOT NULL DEFAULT …

JSON にコメント(っぽいもの)を書く方法

JSONは便利ですが、一点不満なところがあるとすればそれはコメントが書けないことです。 例えば以下の様なJSONがある場合、 JavaScriptのように // などでコメントを表現しようとするとエラーとなります。 { "startAt":0, // 開始位置 "maxResults":18, "tot…

Mac OS X に homebrew で mysql を install する

MySQLのインストール、初期設定まで MySQL のインストール まずは homebrew を使ってmysqlをインストールします。 % brew install mysql ここでインストール後の設定方法が出力されます。 これらの情報は brew info mysql で確認可能。 データベース及びユー…

PerlのArrayとListでは挙動が異なるので注意が必要です

Perlのarraysとlistsは似ていますが全く異なるものです。 どこがどう違うのかはよくまとめられた記事がありましたのでこちらを見ていただくとして、 ここでは自分用にメソッドの戻り値としてarraysとlistsそれぞれを指定したときに、 スカラーコンテキストで…

transactionの途中でトランザクションが切れてしまった時にそのトランザクションを殺す方法

起こったこと transactionモードで作業途中、セッションが切れた。 そのとき特定tableにinsertをしたがcommitしていない状態だった。 後ほど再度そのtableをselectしたが、当然commitしていないのでデータがなかった。 しかしinsertしようとすると、 ERROR 1…

mac os x で 音源ファイルのフォーマットを mp4 へ変換するコマンド

afconvert はmac os x に標準で搭載されているコマンド。 SNDFILE.aiff を aac フォーマット、拡張子 mp4 で変換するコマンド例 (-f mp4f なのがみそ) $ afconvert -f mp4f -d aac -b 256000 SNDFILE.aiff $ afplay SNDFILE.mp4 Ref. LH質問箱:音質にビット…

Herokuの登録とデプロイ

HerokuはWebアプリ用のホスティングプラットフォームです。 初期はRuby on Railsなアプリケーションのみのサポートでしたが, 現在は Java, Node.js, Scala, Cloure, Python, PHP などに対応しているらしいです。(DBはPostgresQL, MySQLなど) ソースコードの…