RubygemsへのデプロイをCircleCIで自動化してみた

ActiveResourceでChatWorkのAPIを叩くgemを作ってみました。
これが初めて作ったgemなのですが、手で運用すると色々忘れそうな感じがした。

ライブラリのメンテはただでさえ手がかかるので、パッケージ管理サービスへのデプロイくらい手を抜きたい。
ということで、GithubのmasterブランチにpushされたらCircleCIを使って自動でgemをデプロイする設定をしてみました。

ActiveResourceでChatWorkのAPIクライアントを作る際にハマったところと解決策

れこです。
久々にRubyの記事です。

仕事でよくChatWorkを使用するので、いい加減オレオレAPIクライアントじゃなくてちゃんとしたのを作ろう
ということで、ActiveResourceを利用したAPIクライアントを作ってみました。

ActiveResourceは基本的にRuby on Railsで作られたアプリケーション用のAPIクライアントなのですが、汎用的に作られているのでChatWorkのAPIにも対応できました。
ということで他のAPIにもActiveResourceを利用するために備忘録を残しておきます

携帯からSNSとLINEをアンインストールしたら私は何をするのか

休日にふと思い立ち、 「iPhoneのアプリを整理しよう」 を実行してみました。
普段時間つぶしに使用しているTwitter, FacebookなどのSNSとLINEを削除してみました。

たまには生活系の記事も良いだろうということで、
普段使ってるアプリがなくなったら私は何をするんだろうか、という記録を残してみます。

シングルスレッドな言語の並列化・マルチプロセス化についての暫定的な理解をまとめる

たまにはまとまってない情報を書いてもいいじゃないかということで、表題の通り暫定版です。

まえおき

Nodejsのclusterモジュールのドキュメントを読んでいて、
「ほぉ、並列化って簡単にできるんだなぁ」と感じつつ、関連記事をいろいろ調べてみると、

  • 並列化すればスループットが上がる
  • マルチコアの場合は有用。CPUのコア数と同じにすると良い
  • ワーカーやアプリケーションサーバなどは横に並べとけ

的な記述が色々あり、違和感を感じました。
Goなどのマルチスレッドができる言語でやる"並列化"と私が調べているものは別物なのでは? と。

ということで、身近な頼れる方々へ聞いて調べて考えた結果の暫定的な理解を書き留めておきます。 理解に誤りがあったら指摘もらえると喜びます。

パフォーマンスチューニングやスレッドセーフであるための4条項とかそういう込み入った話ではなく、浅い話です。

シバン(shebang)をやっと理解した

こんにちは。
composerで提供されているコマンドの中身を見ていたら

#!/usr/bin/env php

と書かれており、そのあとの行にはPHPのコードが。

$ ./shebang-php

のように、phpコマンドを使わずに直接PHPのコードが実行出来るようになっていました
この仕組みは シバン(shebang) というらしいです

シバン自体はBashのスクリプトで似たようなものを何度も見たことがあったのですが、おまじない的に捉えており意味を深く考えていませんでした
拡張子や実行コマンドに縛られず、何の言語で書いても良い実行可能なコードを作るのに適しているのでは? ?
と疑問が湧いたので、調べて理解したものを残しておきます

5分で作るPHPフレームワーク(技術調査、設計編)

こんにちは。
突然ですが、PHPのフレームワークを作ろうと思います。

大層なタイトルを掲げてしまいましたが、制作自体は全く5分ではありません。けっこう時間かかりました
じっくり時間を書けて調査した結果、記事に倣って書けば5分くらいで完成する、という意味での5分です

記事は2本立ての構成で、今回は技術選定・設計編です。