『Sonny Boy』というアニメが放送されています。学校が異次元に漂流してしまい、超能力に目覚めた生徒たちがサバイバルしながら、さまざまな奇妙な現象の裏にあるルールを解き明かし、元の世界に変える方法を探す、というストーリーです。ルールが分かったあとで何度も見直したくなります。 anime.shochiku.co.jp さて今回、『Sonny Boy』に、プログラムを寄稿しました。プログラムでおもしろいCGを作ったとかではなく、プログラムの実行の様子そのものが『Sonny Boy』の5話の中で放送されました。 こういうプログラムです。 nankai.rb このプログラムがどういうものだったかを解説します。 どんなプログラム? 実行すると、「難解」という文字がほどけてなくなるアニメーションをします。 起動したらまず、プログラム自身が画面に表示されます。 しばらくしたら「難解」が左から右へほど
縁あって、カロリーメイトリキッドのプロモーション用にちょっとした Ruby プログラムを書かせてもらいました。 www.otsuka.co.jp ↑のリンクを開いて、cd .Quine したところにある CML_quine.rb がそれです。 cat CML_quine.rb とすると中身が見えます。ruby CML_quine.rb すると動きます。 CalorieMate-Liquid-Quine 実行してみましたか?サイト上で気楽に実行できるので、ぜひ試してみてください。 これがどういうプログラムなのか、簡単に解説しておきます *1 。 ローカルでの遊び方 サイト上で ruby CML_quine.rb をするだけでも楽しめますが、自分のパソコンに保存するとより楽しめます。 まず、cat CML_quine.rb した中身をまるごとコピーしてください。 n=2;で始まる行の頭から、'
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 先日、全ての開発者が学ぶべき5つの言語という翻訳記事を投稿させて頂いたのですが、「プログラミング力を伸ばす」という観点においては記事主の方のご意見に大きな異論はないものの、これからエンジニアを目指す初学者の方や経験の浅い方が「日本のWeb業界でキャリアを爆速で成長させるための最適な習得順序」としてはまた別の組み合わせが必要だと思いますので、この記事ではそれに関する私の考えを簡単に述べさせて頂きたいと思います。 (注:主にバックエンドエンジニアの方を対象としています) 結論 未経験から日本のWeb業界でキャリアを爆速で成長させるためにはR
LINEBOT API公開記念でただ同じ事を返すだけのボットを作ってみた。 アカウントや設定とかは、 https://developers.line.me から適当にやってください。 まず最初にハマるところは、Callback URLです。どうやらポート番号も必要なので、https://example.com:443/callbackなどのように443を指定してください。 LINE_CHANNEL_ID, LINE_CHANNEL_SECRET, LINE_CHANNEL_MIDは適当な物を指定して下記を実行すると「オウム返しBot」の出来上がり。 APIを呼ぶにはWhitelistにIPを登録する必要があるので、Herokuなどで動かす事はできません。 【追記】 LINE BOT をとりあえずタダで Heroku で動かすを見ると、Fixieっていうアドオンを使えばHerokuでも行ける
こんにちは、バックエンドエンジニアの銀シャリです。 今回は、役立つ最新技術をつまみ食い的に試してみる連載「最新バックエンド技術つまみ食い」の第一回目。 昨年頃からWebエンジニア界隈で大きな盛り上がりを見せている言語、「Elixir(エリクサー)」について紹介します。 Elixirとは? Elixirは、BEAMと呼ばれるErlang(アーラン)仮想環境上で動作する関数型言語で、Ruby on RailsのcoreチームメンバーでもあるJosé Valimによって2012年に開発されました。 小難しく書きましたが、ErlangとElixirについては、JavaとScala、JavaScriptとCoffeeScriptのような関係性だと思ってください。 Elixirが盛り上がる2つの理由 そんなElixirが最近盛り上がっているのには、以下のような理由があります。 Erlang仮想環境上で
お世話になります、フロントエンド担当をしている小原正大です。Webページの表示を監視して差異があった場合、どのページで表示の変化が起きているかを知ることが出来るプログラムを実装したのでそのことについて書こうと思います。 何につかったの? 僕がフロントエンドを担当しているサービス『料理サプリ』で大規模なフロントエンドコードのリファクタリング行う際に表示テストを自動化するために作成しました。『料理サプリ』はPC・スマホ合わせて大体350-400ページの表示パターンが存在する比較的規模の大きいサイトです。全ページに影響を与えるような作業は大規模な回収となり、今回のリファクタリングでは表示テストの計画などの段取りが必要でした。従来の人手によるQAでは細かいバグを見過ごしたり時間がかかり効率が悪いので、可能な限り自動化しようと考え実装しました。 実装の概要 この監視のシステムは以下の2つ実装を組合わ
ここ最近、Elixirという言語がWebプログラマー界隈で話題になっています。 ElixirはErlangのVM上で動くRuby風味の関数型言語で、RailsコミッタのJose Valimさんが作ったプログラミング言語です。 この言語はErlangの並行性とRubyの開発生産性を持っています。 今回はこの言語が出てきた背景と文法の特徴について書こうと思います。 Elixirが注目されている理由 ここ数年、Webアプリケーションは以下の問題を抱えています。 C10K問題 10000以上のクライアントがサーバに同時接続すると、HWの性能は足りていてもOS、ソフトウェアの問題で処理が破綻する ムーアの法則の限界 CPUチップメーカーの製造するチップのクロックレートの成長に陰り。代わりにマルチコアアーキテクチャのCPUが開発されている リアルタイムWeb サーバ、クライアントが常時接続するアプリケ
形態素解析を行なうためのライブラリとして有名なものにMeCabがあります。 これを用いて名詞を抽出する機会があったので、 mecab-noun_parser として公開しました。 インストール方法 Gemfile に以下を書いて bundle します。 gem 'mecab' gem 'mecab-noun_parser' もちろん、別途 MeCab 本体のインストールを行なう必要があります。 使い方 使い方としては、 MeCab::NounParser のインスタンスを生成し、それに解析したい文章を追加します。 parse メソッドでこれを解析し、 nouns メソッドで結果を取得できます。 require 'mecab' require 'mecab-noun_parser' parser = MeCab::NounParser.new parser << 'Rubyは、手軽なオブジェ
そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ
はじめに かつてはJavaやC#を書いていた僕がRailsを始めてから、かれこれ3年ぐらい経ちます。 Railsを始めるとき、最初にトライした学習資料が「Ruby on Railsチュートリアル」でした。 Railsプログラマとしてはかなり経験値を積んだので、初心者レベルはすでに脱したと思っています。 そんな僕が最近ふと「もう一回Railsチュートリアルをやってみよう」と思いました。 さらに、単にRailsチュートリアルをやるだけだと面白くないのでコーディングする様子をスクリーンキャストにして配信することを思いつきました。 そして完成したのが「Railsチュートリアル第3版・コーディング実況動画」です。 今回のエントリでは僕が作ったこの動画(スクリーンキャスト)を紹介します。 「Railsチュートリアル第3版・コーディング実況動画」について 「Railsチュートリアル第3版・コーディング実
同じgemでもアプリによって依存するバージョンが違ったりする場合やちょっと試したい場合に、rbenv-gemsetをつかって、gemsetを分けておくと便利。 例えば、bundlerとかpryとか共通に使うgemは、globalと名付けたgemsetにして、railsとかsinatraとかのgemはアプリごとにgemsetを作るとはかどる。 まず下のようにglobalなgemsetを作る。 当然ながら、gemsetはrubyのバージョンごとに作る決まり。 $ rbenv gemset create 2.0.0-p247 global 作ったgemsetを確認 $ rbenv gemset list 2.0.0-p247: global 現在有効なgemsetを確認する $ rbenv gemset active global globalが印字されれば,上で作ったglobal用のgemse
rbenv のインストール手順は個人のローカル環境に対するものになっています。が、それだと Passenger と組み合わせるときに都合がよろしくない。 ということで rbenv をシステムワイドにインストールする手順を整理しました。 目標は以下の通りです。 /usr/local/rbenv にインストール (RBENV_ROOT=/usr/local/rbenv) Ruby のインストールやシステムへの RubyGem のインストール等は sudo を経由させる では行ってみましょう。 sudoers の設定 まず sudoers を設定します。 デフォルトで PATH が参照しない場所にインストールしますので、sudo がそれを認識しないと困ります。.profile 等で操作ユーザの PATH を変更しても通常は sudo はそれを認識してくれませんので、操作ユーザの PATH を s
状況 rbenvを使ってる いつのまにか古いRails(rails-0.9.5)がインストールされてた $ gem uninstall rails -v 0.9.5で古い方を削除 念のため$ gem install rails && rbenv rehash なのにrailsコマンドでタイトルのエラーが発生 対処方法 railtiesをインストールすれば良い。 (参照)sstephenson / rbenv - rbenv: rails: command not found ちなみに $ which railsすると~/.rbenv/shims/railsを向いていると思う。 これはrbenvがrailsコマンドをラップしたもので、実体がどこにあるかは$ rbenv which railsで調べることがでる。 で、それは~/.rbenv/versions/1.9.2-p290/lib/ru
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く